@c8y/ngx-components 1021.30.3 → 1021.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/widgets/implementations/info-gauge/info-gauge-widget-config/info-gauge-widget-config.component.mjs +2 -2
- package/esm2022/widgets/implementations/kpi/kpi-widget-config/kpi-widget-config.component.mjs +2 -2
- package/esm2022/widgets/implementations/linear-gauge/linear-gauge-widget-config/linear-gauge-widget-config.component.mjs +2 -2
- package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs +1 -1
- package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs.map +1 -1
- package/locales/de.po +1 -1
- package/locales/es.po +1 -1
- package/locales/fr.po +1 -1
- package/locales/nl.po +1 -1
- package/locales/pl.po +1 -1
- package/locales/pt_BR.po +1 -1
- package/package.json +1 -1
|
@@ -70,7 +70,7 @@ export class InfoGaugeWidgetConfigComponent {
|
|
|
70
70
|
createForm() {
|
|
71
71
|
return this.formBuilder.group({
|
|
72
72
|
fractionSize: [
|
|
73
|
-
|
|
73
|
+
2,
|
|
74
74
|
[
|
|
75
75
|
Validators.required,
|
|
76
76
|
Validators.min(this.limits.numberOfDecimalPlacesMin),
|
|
@@ -94,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
94
94
|
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i1.NgForm }, { type: i2.WidgetConfigComponent }], propDecorators: { config: [{
|
|
95
95
|
type: Input
|
|
96
96
|
}] } });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1nYXVnZS13aWRnZXQtY29uZmlnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3dpZGdldHMvaW1wbGVtZW50YXRpb25zL2luZm8tZ2F1Z2UvaW5mby1nYXVnZS13aWRnZXQtY29uZmlnL2luZm8tZ2F1Z2Utd2lkZ2V0LWNvbmZpZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi93aWRnZXRzL2ltcGxlbWVudGF0aW9ucy9pbmZvLWdhdWdlL2luZm8tZ2F1Z2Utd2lkZ2V0LWNvbmZpZy9pbmZvLWdhdWdlLXdpZGdldC1jb25maWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUVMLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsTUFBTSxFQUNOLG1CQUFtQixFQUVuQixVQUFVLEVBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wsdUJBQXVCLEVBSXhCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7OztBQUcvRCxTQUFTLDBDQUEwQyxDQUNqRCx1QkFBaUM7SUFFakMsT0FBTyxDQUFDLE9BQXdCLEVBQUUsRUFBRTtRQUNsQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ2hDLEtBQUssTUFBTSxpQkFBaUIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1lBQ3hELE1BQU0sWUFBWSxHQUFpQixTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO2dC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LENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQztvQkFDcEQsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDO2lCQUNyRDthQUNGO1lBQ0QsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLEVBQWMsRUFBRSxFQUFFLENBQUM7WUFDdkUsZUFBZSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxFQUFjLEVBQUUsRUFBRSxDQUFDO1NBQ3ZFLEVBQ0Q7WUFDRSxVQUFVLEVBQUU7Z0JBQ1YsMENBQTBDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO2FBQ3BGO1NBQ0YsQ0FDRixDQUFDO0lBQ0osQ0FBQzs4R0E1RVUsOEJBQThCO2tHQUE5Qiw4QkFBOEIsc0hDOUMzQywwNkRBMERBLDJDRGRZLFVBQVUsZ3dEQUFFLG1CQUFtQiw4QkFBRSx1QkFBdUIsMlNBRm5ELENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDOzsyRkFJeEQsOEJBQThCO2tCQVAxQyxTQUFTOytCQUNFLDhCQUE4QixpQkFFekIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUMsY0FDdkQsSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixDQUFDO3lJQUcxRCxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbENvbnRhaW5lcixcbiAgRm9ybUJ1aWxkZXIsXG4gIE5nRm9ybSxcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgVmFsaWRhdG9yRm4sXG4gIFZhbGlkYXRvcnNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgRGF0YXBvaW50U2VsZWN0b3JNb2R1bGUsXG4gIHR5cGUgRGF0YXBvaW50QXR0cmlidXRlc0Zvcm1Db25maWcsXG4gIHR5cGUgRGF0YXBvaW50U2VsZWN0b3JNb2RhbE9wdGlvbnMsXG4gIHR5cGUgS1BJRGV0YWlsc1xufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2RhdGFwb2ludC1zZWxlY3Rvcic7XG5pbXBvcnQgeyBXaWRnZXRDb25maWdDb21wb25lbnQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2NvbnRleHQtZGFzaGJvYXJkJztcbmltcG9ydCB7IENvcmVNb2R1bGUsIE9uQmVmb3JlU2F2ZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5mdW5jdGlvbiBlbnN1cmVBdExlYXN0T25lRGF0YXBvaW50U2VsZWN0ZWRBbmRBY3RpdmUoXG4gIGRhdGFwb2ludExpc3RBdHRyaWJ1dGVzOiBzdHJpbmdbXVxuKTogVmFsaWRhdG9yRm4ge1xuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgZm9yIChjb25zdCBsaXN0QXR0cmlidXRlTmFtZSBvZiBkYXRhcG9pbnRMaXN0QXR0cmlidXRlcykge1xuICAgICAgY29uc3QgdmFsdWVGb3JMaXN0OiBLUElEZXRhaWxzW10gPSBmb3JtVmFsdWVbbGlzdEF0dHJpYnV0ZU5hbWVdO1xuICAgICAgaWYgKCF2YWx1ZUZvckxpc3QgfHwgIUFycmF5LmlzQXJyYXkodmFsdWVGb3JMaXN0KSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHZhbHVlRm9yTGlzdC5maW5kKGRwID0+IGRwLl9fYWN0aXZlKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgbm9BY3RpdmVEYXRhcG9pbnQ6IHRydWUgfTtcbiAgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWluZm8tZ2F1Z2Utd2lkZ2V0LWNvbmZpZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmZvLWdhdWdlLXdpZGdldC1jb25maWcuY29tcG9uZW50Lmh0bWwnLFxuICB2aWV3UHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDb250cm9sQ29udGFpbmVyLCB1c2VFeGlzdGluZzogTmdGb3JtIH1dLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRGF0YXBvaW50U2VsZWN0b3JNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEluZm9HYXVnZVdpZGdldENvbmZpZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25CZWZvcmVTYXZlIHtcbiAgQElucHV0KCkgY29uZmlnOiB7XG4gICAgZGF0YXBvaW50c0xhYmVscz86IEtQSURldGFpbHNbXTtcbiAgICBkYXRhcG9pbnRzR2F1Z2U6IEtQSURldGFpbHNbXTtcbiAgICBmcmFjdGlvblNpemU6IG51bWJlcjtcbiAgfTtcbiAgZm9ybUdyb3VwOiBSZXR1cm5UeXBlPEluZm9HYXVnZVdpZGdldENvbmZpZ0NvbXBvbmVudFsnY3JlYXRlRm9ybSddPjtcbiAgZGF0YXBvaW50U2VsZWN0aW9uQ29uZmlnOiBQYXJ0aWFsPERhdGFwb2ludFNlbGVjdG9yTW9kYWxPcHRpb25zPiA9IHt9O1xuICBkZWZhdWx0Rm9ybU9wdGlvbnM6IFBhcnRpYWw8RGF0YXBvaW50QXR0cmlidXRlc0Zvcm1Db25maWc+ID0ge1xuICAgIHNob3dSZWRSYW5nZTogdHJ1ZSxcbiAgICBzaG93WWVsbG93UmFuZ2U6IHRydWUsXG4gICAgc2hvd1JhbmdlOiB0cnVlXG4gIH07XG4gIHByaXZhdGUgbGltaXRzID0ge1xuICAgIG51bWJlck9mRGVjaW1hbFBsYWNlc01heDogMTAsXG4gICAgbnVtYmVyT2ZEZWNpbWFsUGxhY2VzTWluOiAwXG4gIH0gYXMgY29uc3Q7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBmb3JtOiBOZ0Zvcm0sXG4gICAgcHJpdmF0ZSB3aWRnZXRDb25maWc6IFdpZGdldENvbmZpZ0NvbXBvbmVudFxuICApIHt9XG5cbiAgb25CZWZvcmVTYXZlKFxuICAgIGNvbmZpZz86IEluZm9HYXVnZVdpZGdldENvbmZpZ0NvbXBvbmVudFsnY29uZmlnJ11cbiAgKTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24oY29uZmlnLCB0aGlzLmZvcm1Hcm91cC52YWx1ZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMud2lkZ2V0Q29uZmlnLmNvbnRleHQ/LmlkKSB7XG4gICAgICB0aGlzLmRhdGFwb2ludFNlbGVjdGlvbkNvbmZpZy5jb250ZXh0QXNzZXQgPSB0aGlzLndpZGdldENvbmZpZz8uY29udGV4dDtcbiAgICB9XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIGlmICh0aGlzLmNvbmZpZz8uZGF0YXBvaW50c0xhYmVscykge1xuICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh7IGRhdGFwb2ludHNMYWJlbHM6IHRoaXMuY29uZmlnLmRhdGFwb2ludHNMYWJlbHMgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbmZpZz8uZGF0YXBvaW50c0dhdWdlKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHsgZGF0YXBvaW50c0dhdWdlOiB0aGlzLmNvbmZpZy5kYXRhcG9pbnRzR2F1Z2UgfSk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWc/LmZyYWN0aW9uU2l6ZSA9PT0gJ251bWJlcicgJiYgIU51bWJlci5pc05hTih0aGlzLmNvbmZpZz8uZnJhY3Rpb25TaXplKSkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh7IGZyYWN0aW9uU2l6ZTogdGhpcy5jb25maWcuZnJhY3Rpb25TaXplIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdEZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgICB0aGlzLmZvcm0uZm9ybS5hZGRDb250cm9sKCdjb25maWcnLCB0aGlzLmZvcm1Hcm91cCk7XG4gICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh0aGlzLmNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZvcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoXG4gICAgICB7XG4gICAgICAgIGZyYWN0aW9uU2l6ZTogW1xuICAgICAgICAgIDEsXG4gICAgICAgICAgW1xuICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgIFZhbGlkYXRvcnMubWluKHRoaXMubGltaXRzLm51bWJlck9mRGVjaW1hbFBsYWNlc01pbiksXG4gICAgICAgICAgICBWYWxpZGF0b3JzLm1heCh0aGlzLmxpbWl0cy5udW1iZXJPZkRlY2ltYWxQbGFjZXNNYXgpXG4gICAgICAgICAgXVxuICAgICAgICBdLFxuICAgICAgICBkYXRhcG9pbnRzTGFiZWxzOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobmV3IEFycmF5PEtQSURldGFpbHM+KCksIFtdKSxcbiAgICAgICAgZGF0YXBvaW50c0dhdWdlOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobmV3IEFycmF5PEtQSURldGFpbHM+KCksIFtdKVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsaWRhdG9yczogW1xuICAgICAgICAgIGVuc3VyZUF0TGVhc3RPbmVEYXRhcG9pbnRTZWxlY3RlZEFuZEFjdGl2ZShbJ2RhdGFwb2ludHNMYWJlbHMnLCAnZGF0YXBvaW50c0dhdWdlJ10pXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicC1sLTI0IHAtci0yNFwiPlxuICA8Zm9ybVxuICAgIGNsYXNzPVwibm8tY2FyZC1jb250ZXh0XCJcbiAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgPGM4eS1mb3JtLWdyb3VwIGNsYXNzPVwicC10LThcIj5cbiAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPkRlY2ltYWwgcGxhY2VzPC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIG5hbWU9XCJmcmFjdGlvblNpemVcIlxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJmcmFjdGlvblNpemVcIlxuICAgICAgICAgICAgc3RlcD1cIjFcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGM4eS1tZXNzYWdlcyBbc2hvd109XCJmb3JtR3JvdXAuY29udHJvbHMuZnJhY3Rpb25TaXplLmVycm9yc1wiPjwvYzh5LW1lc3NhZ2VzPlxuICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgcC10LThcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiXG4gICAgICAgICAgcm9sZT1cImFsZXJ0XCJcbiAgICAgICAgICAqbmdJZj1cImZvcm1Hcm91cC5lcnJvcnM/Lm5vQWN0aXZlRGF0YXBvaW50XCJcbiAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgPlxuICAgICAgICAgIEF0IGxlYXN0IG9uZSBkYXRhIHBvaW50IGZvciB0aGUgbGFiZWxzIG9yIHRoZSBnYXVnZSBuZWVkcyB0byBiZSBzZWxlY3RlZC5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgICA8Yzh5LWRhdGFwb2ludC1zZWxlY3Rpb24tbGlzdFxuICAgICAgICAgIGNsYXNzPVwiYmctaW5oZXJpdCBzZXBhcmF0b3ItdG9wIHAtdC0xNiBkLWJsb2NrXCJcbiAgICAgICAgICBuYW1lPVwiZGF0YXBvaW50c1wiXG4gICAgICAgICAgbGlzdFRpdGxlPVwie3sgJ011bHRpcGxlIGxhYmVsIGFuZCB2YWx1ZSBwYWlycycgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIFtkZWZhdWx0Rm9ybU9wdGlvbnNdPVwiZGVmYXVsdEZvcm1PcHRpb25zXCJcbiAgICAgICAgICBbY29uZmlnXT1cImRhdGFwb2ludFNlbGVjdGlvbkNvbmZpZ1wiXG4gICAgICAgICAgW21pbkFjdGl2ZUNvdW50XT1cIjBcIlxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRhdGFwb2ludHNMYWJlbHNcIlxuICAgICAgICA+PC9jOHktZGF0YXBvaW50LXNlbGVjdGlvbi1saXN0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgPGM4eS1kYXRhcG9pbnQtc2VsZWN0aW9uLWxpc3RcbiAgICAgICAgICBjbGFzcz1cImJnLWluaGVyaXQgc2VwYXJhdG9yLXRvcCBwLXQtMTYgZC1ibG9ja1wiXG4gICAgICAgICAgbmFtZT1cImRhdGFwb2ludHNcIlxuICAgICAgICAgIGxpc3RUaXRsZT1cInt7ICdHYXVnZWBkaXNwbGF5YCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIFtkZWZhdWx0Rm9ybU9wdGlvbnNdPVwiZGVmYXVsdEZvcm1PcHRpb25zXCJcbiAgICAgICAgICBbY29uZmlnXT1cImRhdGFwb2ludFNlbGVjdGlvbkNvbmZpZ1wiXG4gICAgICAgICAgW21pbkFjdGl2ZUNvdW50XT1cIjBcIlxuICAgICAgICAgIFttYXhBY3RpdmVDb3VudF09XCIxXCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkYXRhcG9pbnRzR2F1Z2VcIlxuICAgICAgICA+PC9jOHktZGF0YXBvaW50LXNlbGVjdGlvbi1saXN0PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvZGl2PlxuIl19
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1nYXVnZS13aWRnZXQtY29uZmlnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3dpZGdldHMvaW1wbGVtZW50YXRpb25zL2luZm8tZ2F1Z2UvaW5mby1nYXVnZS13aWRnZXQtY29uZmlnL2luZm8tZ2F1Z2Utd2lkZ2V0LWNvbmZpZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi93aWRnZXRzL2ltcGxlbWVudGF0aW9ucy9pbmZvLWdhdWdlL2luZm8tZ2F1Z2Utd2lkZ2V0LWNvbmZpZy9pbmZvLWdhdWdlLXdpZGdldC1jb25maWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUVMLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsTUFBTSxFQUNOLG1CQUFtQixFQUVuQixVQUFVLEVBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wsdUJBQXVCLEVBSXhCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7OztBQUcvRCxTQUFTLDBDQUEwQyxDQUNqRCx1QkFBaUM7SUFFakMsT0FBTyxDQUFDLE9BQXdCLEVBQUUsRUFBRTtRQUNsQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ2hDLEtBQUssTUFBTSxpQkFBaUIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1lBQ3hELE1BQU0sWUFBWSxHQUFpQixTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO2dC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LENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQztvQkFDcEQsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDO2lCQUNyRDthQUNGO1lBQ0QsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLEVBQWMsRUFBRSxFQUFFLENBQUM7WUFDdkUsZUFBZSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxFQUFjLEVBQUUsRUFBRSxDQUFDO1NBQ3ZFLEVBQ0Q7WUFDRSxVQUFVLEVBQUU7Z0JBQ1YsMENBQTBDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO2FBQ3BGO1NBQ0YsQ0FDRixDQUFDO0lBQ0osQ0FBQzs4R0E1RVUsOEJBQThCO2tHQUE5Qiw4QkFBOEIsc0hDOUMzQywwNkRBMERBLDJDRGRZLFVBQVUsZ3dEQUFFLG1CQUFtQiw4QkFBRSx1QkFBdUIsMlNBRm5ELENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDOzsyRkFJeEQsOEJBQThCO2tCQVAxQyxTQUFTOytCQUNFLDhCQUE4QixpQkFFekIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUMsY0FDdkQsSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixDQUFDO3lJQUcxRCxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbENvbnRhaW5lcixcbiAgRm9ybUJ1aWxkZXIsXG4gIE5nRm9ybSxcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgVmFsaWRhdG9yRm4sXG4gIFZhbGlkYXRvcnNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgRGF0YXBvaW50U2VsZWN0b3JNb2R1bGUsXG4gIHR5cGUgRGF0YXBvaW50QXR0cmlidXRlc0Zvcm1Db25maWcsXG4gIHR5cGUgRGF0YXBvaW50U2VsZWN0b3JNb2RhbE9wdGlvbnMsXG4gIHR5cGUgS1BJRGV0YWlsc1xufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2RhdGFwb2ludC1zZWxlY3Rvcic7XG5pbXBvcnQgeyBXaWRnZXRDb25maWdDb21wb25lbnQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2NvbnRleHQtZGFzaGJvYXJkJztcbmltcG9ydCB7IENvcmVNb2R1bGUsIE9uQmVmb3JlU2F2ZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5mdW5jdGlvbiBlbnN1cmVBdExlYXN0T25lRGF0YXBvaW50U2VsZWN0ZWRBbmRBY3RpdmUoXG4gIGRhdGFwb2ludExpc3RBdHRyaWJ1dGVzOiBzdHJpbmdbXVxuKTogVmFsaWRhdG9yRm4ge1xuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgZm9yIChjb25zdCBsaXN0QXR0cmlidXRlTmFtZSBvZiBkYXRhcG9pbnRMaXN0QXR0cmlidXRlcykge1xuICAgICAgY29uc3QgdmFsdWVGb3JMaXN0OiBLUElEZXRhaWxzW10gPSBmb3JtVmFsdWVbbGlzdEF0dHJpYnV0ZU5hbWVdO1xuICAgICAgaWYgKCF2YWx1ZUZvckxpc3QgfHwgIUFycmF5LmlzQXJyYXkodmFsdWVGb3JMaXN0KSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHZhbHVlRm9yTGlzdC5maW5kKGRwID0+IGRwLl9fYWN0aXZlKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgbm9BY3RpdmVEYXRhcG9pbnQ6IHRydWUgfTtcbiAgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWluZm8tZ2F1Z2Utd2lkZ2V0LWNvbmZpZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmZvLWdhdWdlLXdpZGdldC1jb25maWcuY29tcG9uZW50Lmh0bWwnLFxuICB2aWV3UHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDb250cm9sQ29udGFpbmVyLCB1c2VFeGlzdGluZzogTmdGb3JtIH1dLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRGF0YXBvaW50U2VsZWN0b3JNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEluZm9HYXVnZVdpZGdldENvbmZpZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25CZWZvcmVTYXZlIHtcbiAgQElucHV0KCkgY29uZmlnOiB7XG4gICAgZGF0YXBvaW50c0xhYmVscz86IEtQSURldGFpbHNbXTtcbiAgICBkYXRhcG9pbnRzR2F1Z2U6IEtQSURldGFpbHNbXTtcbiAgICBmcmFjdGlvblNpemU6IG51bWJlcjtcbiAgfTtcbiAgZm9ybUdyb3VwOiBSZXR1cm5UeXBlPEluZm9HYXVnZVdpZGdldENvbmZpZ0NvbXBvbmVudFsnY3JlYXRlRm9ybSddPjtcbiAgZGF0YXBvaW50U2VsZWN0aW9uQ29uZmlnOiBQYXJ0aWFsPERhdGFwb2ludFNlbGVjdG9yTW9kYWxPcHRpb25zPiA9IHt9O1xuICBkZWZhdWx0Rm9ybU9wdGlvbnM6IFBhcnRpYWw8RGF0YXBvaW50QXR0cmlidXRlc0Zvcm1Db25maWc+ID0ge1xuICAgIHNob3dSZWRSYW5nZTogdHJ1ZSxcbiAgICBzaG93WWVsbG93UmFuZ2U6IHRydWUsXG4gICAgc2hvd1JhbmdlOiB0cnVlXG4gIH07XG4gIHByaXZhdGUgbGltaXRzID0ge1xuICAgIG51bWJlck9mRGVjaW1hbFBsYWNlc01heDogMTAsXG4gICAgbnVtYmVyT2ZEZWNpbWFsUGxhY2VzTWluOiAwXG4gIH0gYXMgY29uc3Q7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBmb3JtOiBOZ0Zvcm0sXG4gICAgcHJpdmF0ZSB3aWRnZXRDb25maWc6IFdpZGdldENvbmZpZ0NvbXBvbmVudFxuICApIHt9XG5cbiAgb25CZWZvcmVTYXZlKFxuICAgIGNvbmZpZz86IEluZm9HYXVnZVdpZGdldENvbmZpZ0NvbXBvbmVudFsnY29uZmlnJ11cbiAgKTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24oY29uZmlnLCB0aGlzLmZvcm1Hcm91cC52YWx1ZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMud2lkZ2V0Q29uZmlnLmNvbnRleHQ/LmlkKSB7XG4gICAgICB0aGlzLmRhdGFwb2ludFNlbGVjdGlvbkNvbmZpZy5jb250ZXh0QXNzZXQgPSB0aGlzLndpZGdldENvbmZpZz8uY29udGV4dDtcbiAgICB9XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIGlmICh0aGlzLmNvbmZpZz8uZGF0YXBvaW50c0xhYmVscykge1xuICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh7IGRhdGFwb2ludHNMYWJlbHM6IHRoaXMuY29uZmlnLmRhdGFwb2ludHNMYWJlbHMgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbmZpZz8uZGF0YXBvaW50c0dhdWdlKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHsgZGF0YXBvaW50c0dhdWdlOiB0aGlzLmNvbmZpZy5kYXRhcG9pbnRzR2F1Z2UgfSk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWc/LmZyYWN0aW9uU2l6ZSA9PT0gJ251bWJlcicgJiYgIU51bWJlci5pc05hTih0aGlzLmNvbmZpZz8uZnJhY3Rpb25TaXplKSkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh7IGZyYWN0aW9uU2l6ZTogdGhpcy5jb25maWcuZnJhY3Rpb25TaXplIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdEZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgICB0aGlzLmZvcm0uZm9ybS5hZGRDb250cm9sKCdjb25maWcnLCB0aGlzLmZvcm1Hcm91cCk7XG4gICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh0aGlzLmNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZvcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoXG4gICAgICB7XG4gICAgICAgIGZyYWN0aW9uU2l6ZTogW1xuICAgICAgICAgIDIsXG4gICAgICAgICAgW1xuICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgIFZhbGlkYXRvcnMubWluKHRoaXMubGltaXRzLm51bWJlck9mRGVjaW1hbFBsYWNlc01pbiksXG4gICAgICAgICAgICBWYWxpZGF0b3JzLm1heCh0aGlzLmxpbWl0cy5udW1iZXJPZkRlY2ltYWxQbGFjZXNNYXgpXG4gICAgICAgICAgXVxuICAgICAgICBdLFxuICAgICAgICBkYXRhcG9pbnRzTGFiZWxzOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobmV3IEFycmF5PEtQSURldGFpbHM+KCksIFtdKSxcbiAgICAgICAgZGF0YXBvaW50c0dhdWdlOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobmV3IEFycmF5PEtQSURldGFpbHM+KCksIFtdKVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsaWRhdG9yczogW1xuICAgICAgICAgIGVuc3VyZUF0TGVhc3RPbmVEYXRhcG9pbnRTZWxlY3RlZEFuZEFjdGl2ZShbJ2RhdGFwb2ludHNMYWJlbHMnLCAnZGF0YXBvaW50c0dhdWdlJ10pXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicC1sLTI0IHAtci0yNFwiPlxuICA8Zm9ybVxuICAgIGNsYXNzPVwibm8tY2FyZC1jb250ZXh0XCJcbiAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgPGM4eS1mb3JtLWdyb3VwIGNsYXNzPVwicC10LThcIj5cbiAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPkRlY2ltYWwgcGxhY2VzPC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIG5hbWU9XCJmcmFjdGlvblNpemVcIlxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJmcmFjdGlvblNpemVcIlxuICAgICAgICAgICAgc3RlcD1cIjFcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGM4eS1tZXNzYWdlcyBbc2hvd109XCJmb3JtR3JvdXAuY29udHJvbHMuZnJhY3Rpb25TaXplLmVycm9yc1wiPjwvYzh5LW1lc3NhZ2VzPlxuICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgcC10LThcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiXG4gICAgICAgICAgcm9sZT1cImFsZXJ0XCJcbiAgICAgICAgICAqbmdJZj1cImZvcm1Hcm91cC5lcnJvcnM/Lm5vQWN0aXZlRGF0YXBvaW50XCJcbiAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgPlxuICAgICAgICAgIEF0IGxlYXN0IG9uZSBkYXRhIHBvaW50IGZvciB0aGUgbGFiZWxzIG9yIHRoZSBnYXVnZSBuZWVkcyB0byBiZSBzZWxlY3RlZC5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgICA8Yzh5LWRhdGFwb2ludC1zZWxlY3Rpb24tbGlzdFxuICAgICAgICAgIGNsYXNzPVwiYmctaW5oZXJpdCBzZXBhcmF0b3ItdG9wIHAtdC0xNiBkLWJsb2NrXCJcbiAgICAgICAgICBuYW1lPVwiZGF0YXBvaW50c1wiXG4gICAgICAgICAgbGlzdFRpdGxlPVwie3sgJ011bHRpcGxlIGxhYmVsIGFuZCB2YWx1ZSBwYWlycycgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIFtkZWZhdWx0Rm9ybU9wdGlvbnNdPVwiZGVmYXVsdEZvcm1PcHRpb25zXCJcbiAgICAgICAgICBbY29uZmlnXT1cImRhdGFwb2ludFNlbGVjdGlvbkNvbmZpZ1wiXG4gICAgICAgICAgW21pbkFjdGl2ZUNvdW50XT1cIjBcIlxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRhdGFwb2ludHNMYWJlbHNcIlxuICAgICAgICA+PC9jOHktZGF0YXBvaW50LXNlbGVjdGlvbi1saXN0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgPGM4eS1kYXRhcG9pbnQtc2VsZWN0aW9uLWxpc3RcbiAgICAgICAgICBjbGFzcz1cImJnLWluaGVyaXQgc2VwYXJhdG9yLXRvcCBwLXQtMTYgZC1ibG9ja1wiXG4gICAgICAgICAgbmFtZT1cImRhdGFwb2ludHNcIlxuICAgICAgICAgIGxpc3RUaXRsZT1cInt7ICdHYXVnZWBkaXNwbGF5YCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIFtkZWZhdWx0Rm9ybU9wdGlvbnNdPVwiZGVmYXVsdEZvcm1PcHRpb25zXCJcbiAgICAgICAgICBbY29uZmlnXT1cImRhdGFwb2ludFNlbGVjdGlvbkNvbmZpZ1wiXG4gICAgICAgICAgW21pbkFjdGl2ZUNvdW50XT1cIjBcIlxuICAgICAgICAgIFttYXhBY3RpdmVDb3VudF09XCIxXCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkYXRhcG9pbnRzR2F1Z2VcIlxuICAgICAgICA+PC9jOHktZGF0YXBvaW50LXNlbGVjdGlvbi1saXN0PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvZGl2PlxuIl19
|
package/esm2022/widgets/implementations/kpi/kpi-widget-config/kpi-widget-config.component.mjs
CHANGED
|
@@ -67,7 +67,7 @@ export class KpiWidgetConfigComponent {
|
|
|
67
67
|
createForm() {
|
|
68
68
|
return this.formBuilder.group({
|
|
69
69
|
numberOfDecimalPlaces: [
|
|
70
|
-
|
|
70
|
+
2,
|
|
71
71
|
[
|
|
72
72
|
Validators.required,
|
|
73
73
|
Validators.min(this.limits.numberOfDecimalPlacesMin),
|
|
@@ -102,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
102
102
|
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i1.NgForm }, { type: i2.WidgetConfigComponent }], propDecorators: { config: [{
|
|
103
103
|
type: Input
|
|
104
104
|
}] } });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3BpLXdpZGdldC1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vd2lkZ2V0cy9pbXBsZW1lbnRhdGlvbnMva3BpL2twaS13aWRnZXQtY29uZmlnL2twaS13aWRnZXQtY29uZmlnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3dpZGdldHMvaW1wbGVtZW50YXRpb25zL2twaS9rcGktd2lkZ2V0LWNvbmZpZy9rcGktd2lkZ2V0LWNvbmZpZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxNQUFNLEVBR04sVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBR0wsdUJBQXVCLEVBRXhCLE1BQU0sd0NBQXdDLENBQUM7QUFHaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztBQUV0RCxNQUFNLFVBQVUsNkJBQTZCO0lBQzNDLE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1FBQzNELE1BQU0sVUFBVSxHQUFpQixPQUFPLENBQUMsS0FBSyxDQUFDO1FBRS9DLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENB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QUFFO2dCQUNGO29CQUNFLFVBQVUsQ0FBQyxRQUFRO29CQUNuQixVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO29CQUN2QyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO2lCQUN4QzthQUNGO1lBQ0QsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxFQUFjLEVBQUU7Z0JBQzVELFVBQVUsQ0FBQyxRQUFRO2dCQUNuQixVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDdkIsNkJBQTZCLEVBQUU7YUFDaEMsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7OEdBMUVVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLCtHQ2hEckMsbXJIQWlHQSwyQ0RwRFksVUFBVSw2MERBQUUsdUJBQXVCLHFUQUFFLGtCQUFrQixpTkFBRSxhQUFhLG9WQUNqRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQzs7MkZBRXhELHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FFckIsSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLHVCQUF1QixFQUFFLGtCQUFrQixFQUFFLGFBQWEsQ0FBQyxpQkFDbEUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUM7eUlBRzFELE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sQ29udGFpbmVyLFxuICBGb3JtQnVpbGRlcixcbiAgTmdGb3JtLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3JGbixcbiAgVmFsaWRhdG9yc1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb3JlTW9kdWxlLCBPbkJlZm9yZVNhdmUgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IFdpZGdldENvbmZpZ0NvbXBvbmVudCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvY29udGV4dC1kYXNoYm9hcmQnO1xuaW1wb3J0IHtcbiAgRGF0YXBvaW50QXR0cmlidXRlc0Zvcm1Db25maWcsXG4gIERhdGFwb2ludFNlbGVjdG9yTW9kYWxPcHRpb25zLFxuICBEYXRhcG9pbnRTZWxlY3Rvck1vZHVsZSxcbiAgS1BJRGV0YWlsc1xufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2RhdGFwb2ludC1zZWxlY3Rvcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBLcGlXaWRnZXRDb25maWcgfSBmcm9tICcuLi9rcGktd2lkZ2V0Lm1vZGVsJztcbmltcG9ydCB7IEljb25TZWxlY3Rvck1vZHVsZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvaWNvbi1zZWxlY3Rvcic7XG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9wb3BvdmVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGV4YWN0bHlBU2luZ2xlRGF0YXBvaW50QWN0aXZlKCk6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgY29uc3QgZGF0YXBvaW50czogS1BJRGV0YWlsc1tdID0gY29udHJvbC52YWx1ZTtcblxuICAgIGlmICghZGF0YXBvaW50cyB8fCAhZGF0YXBvaW50cy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGFjdGl2ZURhdGFwb2ludHMgPSBkYXRhcG9pbnRzLmZpbHRlcihkYXRhcG9pbnQgPT4gZGF0YXBvaW50Ll9fYWN0aXZlKTtcblxuICAgIGlmIChhY3RpdmVEYXRhcG9pbnRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgZXhhY3RseU9uZURhdGFwb2ludE5lZWRzVG9CZUFjdGl2ZTogdHJ1ZSB9O1xuICB9O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHkta3BpLXdpZGdldC1jb25maWcnLFxuICB0ZW1wbGF0ZVVybDogJy4va3BpLXdpZGdldC1jb25maWcuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgRGF0YXBvaW50U2VsZWN0b3JNb2R1bGUsIEljb25TZWxlY3Rvck1vZHVsZSwgUG9wb3Zlck1vZHVsZV0sXG4gIHZpZXdQcm92aWRlcnM6IFt7IHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBOZ0Zvcm0gfV1cbn0pXG5leHBvcnQgY2xhc3MgS3BpV2lkZ2V0Q29uZmlnQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkJlZm9yZVNhdmUge1xuICBASW5wdXQoKSBjb25maWc6IEtwaVdpZGdldENvbmZpZztcbiAgZGF0YXBvaW50U2VsZWN0aW9uQ29uZmlnOiBQYXJ0aWFsPERhdGFwb2ludFNlbGVjdG9yTW9kYWxPcHRpb25zPiA9IHt9O1xuICBkZWZhdWx0Rm9ybU9wdGlvbnM6IFBhcnRpYWw8RGF0YXBvaW50QXR0cmlidXRlc0Zvcm1Db25maWc+ID0ge1xuICAgIHNob3dSZWRSYW5nZTogdHJ1ZSxcbiAgICBzaG93WWVsbG93UmFuZ2U6IHRydWVcbiAgfTtcbiAgZm9ybUdyb3VwOiBSZXR1cm5UeXBlPEtwaVdpZGdldENvbmZpZ0NvbXBvbmVudFsnY3JlYXRlRm9ybSddPjtcbiAgYXZhaWxhYmxlSWNvbnM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgbGltaXRzID0ge1xuICAgIGZvbnRTaXplTWF4OiA3MixcbiAgICBmb250U2l6ZU1pbjogMTgsXG4gICAgbnVtYmVyT2ZEZWNpbWFsUGxhY2VzTWF4OiAxMCxcbiAgICBudW1iZXJPZkRlY2ltYWxQbGFjZXNNaW46IDBcbiAgfSBhcyBjb25zdDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGZvcm06IE5nRm9ybSxcbiAgICBwcml2YXRlIHdpZGdldENvbmZpZzogV2lkZ2V0Q29uZmlnQ29tcG9uZW50XG4gICkge31cblxuICBvbkJlZm9yZVNhdmUoY29uZmlnPzogS3BpV2lkZ2V0Q29uZmlnKTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24oY29uZmlnLCB0aGlzLmZvcm1Hcm91cC52YWx1ZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMud2lkZ2V0Q29uZmlnLmNvbnRleHQ/LmlkKSB7XG4gICAgICB0aGlzLmRhdGFwb2ludFNlbGVjdGlvbkNvbmZpZy5jb250ZXh0QXNzZXQgPSB0aGlzLndpZGdldENvbmZpZz8uY29udGV4dDtcbiAgICB9XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIGlmICh0aGlzLmNvbmZpZz8uZGF0YXBvaW50cykge1xuICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh7IGRhdGFwb2ludHM6IHRoaXMuY29uZmlnLmRhdGFwb2ludHMgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuY3JlYXRlRm9ybSgpO1xuICAgIHRoaXMuZm9ybS5mb3JtLmFkZENvbnRyb2woJ2NvbmZpZycsIHRoaXMuZm9ybUdyb3VwKTtcbiAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHRoaXMuY29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBudW1iZXJPZkRlY2ltYWxQbGFjZXM6IFtcbiAgICAgICAgMSxcbiAgICAgICAgW1xuICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgVmFsaWRhdG9ycy5taW4odGhpcy5saW1pdHMubnVtYmVyT2ZEZWNpbWFsUGxhY2VzTWluKSxcbiAgICAgICAgICBWYWxpZGF0b3JzLm1heCh0aGlzLmxpbWl0cy5udW1iZXJPZkRlY2ltYWxQbGFjZXNNYXgpXG4gICAgICAgIF1cbiAgICAgIF0sXG4gICAgICBzaG93VGltZXN0YW1wOiBbdHJ1ZSwgW11dLFxuICAgICAgc2hvd1RyZW5kOiBbdHJ1ZSwgW11dLFxuICAgICAgc2hvd0ljb246IFt0cnVlLCBbXV0sXG4gICAgICBpY29uOiBbJ3dhdGVyJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDEpXV0sXG4gICAgICBmb250U2l6ZTogW1xuICAgICAgICAzNixcbiAgICAgICAgW1xuICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgVmFsaWRhdG9ycy5taW4odGhpcy5saW1pdHMuZm9udFNpemVNaW4pLFxuICAgICAgICAgIFZhbGlkYXRvcnMubWF4KHRoaXMubGltaXRzLmZvbnRTaXplTWF4KVxuICAgICAgICBdXG4gICAgICBdLFxuICAgICAgZGF0YXBvaW50czogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKG5ldyBBcnJheTxLUElEZXRhaWxzPigpLCBbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMubWluTGVuZ3RoKDEpLFxuICAgICAgICBleGFjdGx5QVNpbmdsZURhdGFwb2ludEFjdGl2ZSgpXG4gICAgICBdKVxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicC1sLTI0IHAtci0yNFwiPlxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIGNsYXNzPVwicm93IG5vLWNhcmQtY29udGV4dFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNiBiZy1sZXZlbC0wXCI+XG4gICAgICA8Yzh5LWRhdGFwb2ludC1zZWxlY3Rpb24tbGlzdFxuICAgICAgICBbZGVmYXVsdEZvcm1PcHRpb25zXT1cImRlZmF1bHRGb3JtT3B0aW9uc1wiXG4gICAgICAgIFtjb25maWddPVwiZGF0YXBvaW50U2VsZWN0aW9uQ29uZmlnXCJcbiAgICAgICAgW21pbkFjdGl2ZUNvdW50XT1cIjFcIlxuICAgICAgICBbbWF4QWN0aXZlQ291bnRdPVwiMVwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRhdGFwb2ludHNcIlxuICAgICAgICBuYW1lPVwiZGF0YXBvaW50c1wiXG4gICAgICAgIGNsYXNzPVwiYmctaW5oZXJpdFwiXG4gICAgICA+PC9jOHktZGF0YXBvaW50LXNlbGVjdGlvbi1saXN0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHNlcGFyYXRvclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZSBoNFwiPnt7ICdMYXlvdXQnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxsYWJlbCB0cmFuc2xhdGU+SWNvbjwvbGFiZWw+XG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGEtaS1jZW50ZXJcIj5cbiAgICAgICAgPGM4eS1pY29uLXNlbGVjdG9yLXdyYXBwZXIgbmFtZT1cImljb25cIiBmb3JtQ29udHJvbE5hbWU9XCJpY29uXCI+PC9jOHktaWNvbi1zZWxlY3Rvci13cmFwcGVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8Yzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgIDxsYWJlbCBbdGl0bGVdPVwiJ051bWJlciBvZiBkZWNpbWFsIHBsYWNlcycgfCB0cmFuc2xhdGVcIiB0cmFuc2xhdGU+XG4gICAgICAgICAgTnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzXG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJudW1iZXJPZkRlY2ltYWxQbGFjZXNcIlxuICAgICAgICAgIG5hbWU9XCJudW1iZXJPZkRlY2ltYWxQbGFjZXNcIlxuICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZS5nLiB7eyBleGFtcGxlIH19JyB8IHRyYW5zbGF0ZTogeyBleGFtcGxlOiAxIH1cIlxuICAgICAgICAvPlxuICAgICAgICA8Yzh5LW1lc3NhZ2VzXG4gICAgICAgICAgW3Nob3ddPVwiXG4gICAgICAgICAgICBmb3JtR3JvdXAuY29udHJvbHM/Lm51bWJlck9mRGVjaW1hbFBsYWNlcz8udG91Y2hlZCAmJlxuICAgICAgICAgICAgZm9ybUdyb3VwPy5jb250cm9scz8ubnVtYmVyT2ZEZWNpbWFsUGxhY2VzPy5lcnJvcnNcbiAgICAgICAgICBcIlxuICAgICAgICA+PC9jOHktbWVzc2FnZXM+XG4gICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGxhYmVsPnt7ICdEaXNwbGF5JyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTE2IGZsZXgtd3JhcFwiPlxuICAgICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgIDxsYWJlbCBbdGl0bGVdPVwiJ1Nob3cgdGltZXN0YW1wJyB8IHRyYW5zbGF0ZVwiIGNsYXNzPVwiYzh5LWNoZWNrYm94XCI+XG4gICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBmb3JtQ29udHJvbE5hbWU9XCJzaG93VGltZXN0YW1wXCIgbmFtZT1cInNob3dUaW1lc3RhbXBcIiAvPlxuICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5TaG93IHRpbWVzdGFtcDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cblxuICAgICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgIDxsYWJlbCBbdGl0bGVdPVwiJ1Nob3cgaWNvbicgfCB0cmFuc2xhdGVcIiBjbGFzcz1cImM4eS1jaGVja2JveFwiPlxuICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZm9ybUNvbnRyb2xOYW1lPVwic2hvd0ljb25cIiBuYW1lPVwic2hvd0ljb25cIiAvPlxuICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5TaG93IGljb248L3NwYW4+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG5cbiAgICAgICAgICA8Yzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICA8bGFiZWwgW3RpdGxlXT1cIidTaG93IHRyZW5kIGljb24nIHwgdHJhbnNsYXRlXCIgY2xhc3M9XCJjOHktY2hlY2tib3hcIj5cbiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGZvcm1Db250cm9sTmFtZT1cInNob3dUcmVuZFwiIG5hbWU9XCJzaG93VHJlbmRcIiAvPlxuICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5TaG93IHRyZW5kIGljb248L3NwYW4+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1oZWxwIGJ0bi1oZWxwLS1zbVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInSGVscCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIHBvcG92ZXI9XCJ7e1xuICAgICAgICAgICAgICAgICAgJ0luZGljYXRlcyB0aGUgdHJlbmQgYmV0d2VlbiB0aGUgbGFzdCB0d28gbWVhc3VyZW1lbnQgdmFsdWVzLicgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICAgIHRyaWdnZXJzPVwiZm9jdXNcIlxuICAgICAgICAgICAgICAgIGNvbnRhaW5lcj1cImJvZHlcIlxuICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICA8bGFiZWwgW3RpdGxlXT1cIidGb250IHNpemUgb2YgbWVhc3VyZW1lbnQgdmFsdWUgKHB4KScgfCB0cmFuc2xhdGVcIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBGb250IHNpemUgb2YgbWVhc3VyZW1lbnQgdmFsdWUgKHB4KVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJmb250U2l6ZVwiXG4gICAgICAgICAgICBuYW1lPVwiZm9udFNpemVcIlxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2UuZy4ge3sgZXhhbXBsZSB9fScgfCB0cmFuc2xhdGU6IHsgZXhhbXBsZTogMzYgfVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8Yzh5LW1lc3NhZ2VzXG4gICAgICAgICAgICBbc2hvd109XCJmb3JtR3JvdXAuY29udHJvbHM/LmZvbnRTaXplPy50b3VjaGVkICYmIGZvcm1Hcm91cD8uY29udHJvbHM/LmZvbnRTaXplPy5lcnJvcnNcIlxuICAgICAgICAgID48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG48L2Rpdj5cbiJdfQ==
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3BpLXdpZGdldC1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vd2lkZ2V0cy9pbXBsZW1lbnRhdGlvbnMva3BpL2twaS13aWRnZXQtY29uZmlnL2twaS13aWRnZXQtY29uZmlnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3dpZGdldHMvaW1wbGVtZW50YXRpb25zL2twaS9rcGktd2lkZ2V0LWNvbmZpZy9rcGktd2lkZ2V0LWNvbmZpZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxNQUFNLEVBR04sVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBR0wsdUJBQXVCLEVBRXhCLE1BQU0sd0NBQXdDLENBQUM7QUFHaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztBQUV0RCxNQUFNLFVBQVUsNkJBQTZCO0lBQzNDLE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1FBQzNELE1BQU0sVUFBVSxHQUFpQixPQUFPLENBQUMsS0FBSyxDQUFDO1FBRS9DLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENB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QUFFO2dCQUNGO29CQUNFLFVBQVUsQ0FBQyxRQUFRO29CQUNuQixVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO29CQUN2QyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO2lCQUN4QzthQUNGO1lBQ0QsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxFQUFjLEVBQUU7Z0JBQzVELFVBQVUsQ0FBQyxRQUFRO2dCQUNuQixVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDdkIsNkJBQTZCLEVBQUU7YUFDaEMsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7OEdBMUVVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLCtHQ2hEckMsbXJIQWlHQSwyQ0RwRFksVUFBVSw2MERBQUUsdUJBQXVCLHFUQUFFLGtCQUFrQixpTkFBRSxhQUFhLG9WQUNqRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQzs7MkZBRXhELHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FFckIsSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLHVCQUF1QixFQUFFLGtCQUFrQixFQUFFLGFBQWEsQ0FBQyxpQkFDbEUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUM7eUlBRzFELE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sQ29udGFpbmVyLFxuICBGb3JtQnVpbGRlcixcbiAgTmdGb3JtLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3JGbixcbiAgVmFsaWRhdG9yc1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb3JlTW9kdWxlLCBPbkJlZm9yZVNhdmUgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IFdpZGdldENvbmZpZ0NvbXBvbmVudCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvY29udGV4dC1kYXNoYm9hcmQnO1xuaW1wb3J0IHtcbiAgRGF0YXBvaW50QXR0cmlidXRlc0Zvcm1Db25maWcsXG4gIERhdGFwb2ludFNlbGVjdG9yTW9kYWxPcHRpb25zLFxuICBEYXRhcG9pbnRTZWxlY3Rvck1vZHVsZSxcbiAgS1BJRGV0YWlsc1xufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2RhdGFwb2ludC1zZWxlY3Rvcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBLcGlXaWRnZXRDb25maWcgfSBmcm9tICcuLi9rcGktd2lkZ2V0Lm1vZGVsJztcbmltcG9ydCB7IEljb25TZWxlY3Rvck1vZHVsZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvaWNvbi1zZWxlY3Rvcic7XG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9wb3BvdmVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGV4YWN0bHlBU2luZ2xlRGF0YXBvaW50QWN0aXZlKCk6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgY29uc3QgZGF0YXBvaW50czogS1BJRGV0YWlsc1tdID0gY29udHJvbC52YWx1ZTtcblxuICAgIGlmICghZGF0YXBvaW50cyB8fCAhZGF0YXBvaW50cy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGFjdGl2ZURhdGFwb2ludHMgPSBkYXRhcG9pbnRzLmZpbHRlcihkYXRhcG9pbnQgPT4gZGF0YXBvaW50Ll9fYWN0aXZlKTtcblxuICAgIGlmIChhY3RpdmVEYXRhcG9pbnRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgZXhhY3RseU9uZURhdGFwb2ludE5lZWRzVG9CZUFjdGl2ZTogdHJ1ZSB9O1xuICB9O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHkta3BpLXdpZGdldC1jb25maWcnLFxuICB0ZW1wbGF0ZVVybDogJy4va3BpLXdpZGdldC1jb25maWcuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgRGF0YXBvaW50U2VsZWN0b3JNb2R1bGUsIEljb25TZWxlY3Rvck1vZHVsZSwgUG9wb3Zlck1vZHVsZV0sXG4gIHZpZXdQcm92aWRlcnM6IFt7IHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBOZ0Zvcm0gfV1cbn0pXG5leHBvcnQgY2xhc3MgS3BpV2lkZ2V0Q29uZmlnQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkJlZm9yZVNhdmUge1xuICBASW5wdXQoKSBjb25maWc6IEtwaVdpZGdldENvbmZpZztcbiAgZGF0YXBvaW50U2VsZWN0aW9uQ29uZmlnOiBQYXJ0aWFsPERhdGFwb2ludFNlbGVjdG9yTW9kYWxPcHRpb25zPiA9IHt9O1xuICBkZWZhdWx0Rm9ybU9wdGlvbnM6IFBhcnRpYWw8RGF0YXBvaW50QXR0cmlidXRlc0Zvcm1Db25maWc+ID0ge1xuICAgIHNob3dSZWRSYW5nZTogdHJ1ZSxcbiAgICBzaG93WWVsbG93UmFuZ2U6IHRydWVcbiAgfTtcbiAgZm9ybUdyb3VwOiBSZXR1cm5UeXBlPEtwaVdpZGdldENvbmZpZ0NvbXBvbmVudFsnY3JlYXRlRm9ybSddPjtcbiAgYXZhaWxhYmxlSWNvbnM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgbGltaXRzID0ge1xuICAgIGZvbnRTaXplTWF4OiA3MixcbiAgICBmb250U2l6ZU1pbjogMTgsXG4gICAgbnVtYmVyT2ZEZWNpbWFsUGxhY2VzTWF4OiAxMCxcbiAgICBudW1iZXJPZkRlY2ltYWxQbGFjZXNNaW46IDBcbiAgfSBhcyBjb25zdDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGZvcm06IE5nRm9ybSxcbiAgICBwcml2YXRlIHdpZGdldENvbmZpZzogV2lkZ2V0Q29uZmlnQ29tcG9uZW50XG4gICkge31cblxuICBvbkJlZm9yZVNhdmUoY29uZmlnPzogS3BpV2lkZ2V0Q29uZmlnKTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24oY29uZmlnLCB0aGlzLmZvcm1Hcm91cC52YWx1ZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMud2lkZ2V0Q29uZmlnLmNvbnRleHQ/LmlkKSB7XG4gICAgICB0aGlzLmRhdGFwb2ludFNlbGVjdGlvbkNvbmZpZy5jb250ZXh0QXNzZXQgPSB0aGlzLndpZGdldENvbmZpZz8uY29udGV4dDtcbiAgICB9XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIGlmICh0aGlzLmNvbmZpZz8uZGF0YXBvaW50cykge1xuICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh7IGRhdGFwb2ludHM6IHRoaXMuY29uZmlnLmRhdGFwb2ludHMgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuY3JlYXRlRm9ybSgpO1xuICAgIHRoaXMuZm9ybS5mb3JtLmFkZENvbnRyb2woJ2NvbmZpZycsIHRoaXMuZm9ybUdyb3VwKTtcbiAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHRoaXMuY29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBudW1iZXJPZkRlY2ltYWxQbGFjZXM6IFtcbiAgICAgICAgMixcbiAgICAgICAgW1xuICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgVmFsaWRhdG9ycy5taW4odGhpcy5saW1pdHMubnVtYmVyT2ZEZWNpbWFsUGxhY2VzTWluKSxcbiAgICAgICAgICBWYWxpZGF0b3JzLm1heCh0aGlzLmxpbWl0cy5udW1iZXJPZkRlY2ltYWxQbGFjZXNNYXgpXG4gICAgICAgIF1cbiAgICAgIF0sXG4gICAgICBzaG93VGltZXN0YW1wOiBbdHJ1ZSwgW11dLFxuICAgICAgc2hvd1RyZW5kOiBbdHJ1ZSwgW11dLFxuICAgICAgc2hvd0ljb246IFt0cnVlLCBbXV0sXG4gICAgICBpY29uOiBbJ3dhdGVyJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDEpXV0sXG4gICAgICBmb250U2l6ZTogW1xuICAgICAgICAzNixcbiAgICAgICAgW1xuICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgVmFsaWRhdG9ycy5taW4odGhpcy5saW1pdHMuZm9udFNpemVNaW4pLFxuICAgICAgICAgIFZhbGlkYXRvcnMubWF4KHRoaXMubGltaXRzLmZvbnRTaXplTWF4KVxuICAgICAgICBdXG4gICAgICBdLFxuICAgICAgZGF0YXBvaW50czogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKG5ldyBBcnJheTxLUElEZXRhaWxzPigpLCBbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMubWluTGVuZ3RoKDEpLFxuICAgICAgICBleGFjdGx5QVNpbmdsZURhdGFwb2ludEFjdGl2ZSgpXG4gICAgICBdKVxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicC1sLTI0IHAtci0yNFwiPlxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIGNsYXNzPVwicm93IG5vLWNhcmQtY29udGV4dFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNiBiZy1sZXZlbC0wXCI+XG4gICAgICA8Yzh5LWRhdGFwb2ludC1zZWxlY3Rpb24tbGlzdFxuICAgICAgICBbZGVmYXVsdEZvcm1PcHRpb25zXT1cImRlZmF1bHRGb3JtT3B0aW9uc1wiXG4gICAgICAgIFtjb25maWddPVwiZGF0YXBvaW50U2VsZWN0aW9uQ29uZmlnXCJcbiAgICAgICAgW21pbkFjdGl2ZUNvdW50XT1cIjFcIlxuICAgICAgICBbbWF4QWN0aXZlQ291bnRdPVwiMVwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRhdGFwb2ludHNcIlxuICAgICAgICBuYW1lPVwiZGF0YXBvaW50c1wiXG4gICAgICAgIGNsYXNzPVwiYmctaW5oZXJpdFwiXG4gICAgICA+PC9jOHktZGF0YXBvaW50LXNlbGVjdGlvbi1saXN0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHNlcGFyYXRvclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZSBoNFwiPnt7ICdMYXlvdXQnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxsYWJlbCB0cmFuc2xhdGU+SWNvbjwvbGFiZWw+XG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGEtaS1jZW50ZXJcIj5cbiAgICAgICAgPGM4eS1pY29uLXNlbGVjdG9yLXdyYXBwZXIgbmFtZT1cImljb25cIiBmb3JtQ29udHJvbE5hbWU9XCJpY29uXCI+PC9jOHktaWNvbi1zZWxlY3Rvci13cmFwcGVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8Yzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgIDxsYWJlbCBbdGl0bGVdPVwiJ051bWJlciBvZiBkZWNpbWFsIHBsYWNlcycgfCB0cmFuc2xhdGVcIiB0cmFuc2xhdGU+XG4gICAgICAgICAgTnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzXG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJudW1iZXJPZkRlY2ltYWxQbGFjZXNcIlxuICAgICAgICAgIG5hbWU9XCJudW1iZXJPZkRlY2ltYWxQbGFjZXNcIlxuICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZS5nLiB7eyBleGFtcGxlIH19JyB8IHRyYW5zbGF0ZTogeyBleGFtcGxlOiAxIH1cIlxuICAgICAgICAvPlxuICAgICAgICA8Yzh5LW1lc3NhZ2VzXG4gICAgICAgICAgW3Nob3ddPVwiXG4gICAgICAgICAgICBmb3JtR3JvdXAuY29udHJvbHM/Lm51bWJlck9mRGVjaW1hbFBsYWNlcz8udG91Y2hlZCAmJlxuICAgICAgICAgICAgZm9ybUdyb3VwPy5jb250cm9scz8ubnVtYmVyT2ZEZWNpbWFsUGxhY2VzPy5lcnJvcnNcbiAgICAgICAgICBcIlxuICAgICAgICA+PC9jOHktbWVzc2FnZXM+XG4gICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGxhYmVsPnt7ICdEaXNwbGF5JyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTE2IGZsZXgtd3JhcFwiPlxuICAgICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgIDxsYWJlbCBbdGl0bGVdPVwiJ1Nob3cgdGltZXN0YW1wJyB8IHRyYW5zbGF0ZVwiIGNsYXNzPVwiYzh5LWNoZWNrYm94XCI+XG4gICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBmb3JtQ29udHJvbE5hbWU9XCJzaG93VGltZXN0YW1wXCIgbmFtZT1cInNob3dUaW1lc3RhbXBcIiAvPlxuICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5TaG93IHRpbWVzdGFtcDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cblxuICAgICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgIDxsYWJlbCBbdGl0bGVdPVwiJ1Nob3cgaWNvbicgfCB0cmFuc2xhdGVcIiBjbGFzcz1cImM4eS1jaGVja2JveFwiPlxuICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZm9ybUNvbnRyb2xOYW1lPVwic2hvd0ljb25cIiBuYW1lPVwic2hvd0ljb25cIiAvPlxuICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5TaG93IGljb248L3NwYW4+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG5cbiAgICAgICAgICA8Yzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICA8bGFiZWwgW3RpdGxlXT1cIidTaG93IHRyZW5kIGljb24nIHwgdHJhbnNsYXRlXCIgY2xhc3M9XCJjOHktY2hlY2tib3hcIj5cbiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGZvcm1Db250cm9sTmFtZT1cInNob3dUcmVuZFwiIG5hbWU9XCJzaG93VHJlbmRcIiAvPlxuICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5TaG93IHRyZW5kIGljb248L3NwYW4+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1oZWxwIGJ0bi1oZWxwLS1zbVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInSGVscCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIHBvcG92ZXI9XCJ7e1xuICAgICAgICAgICAgICAgICAgJ0luZGljYXRlcyB0aGUgdHJlbmQgYmV0d2VlbiB0aGUgbGFzdCB0d28gbWVhc3VyZW1lbnQgdmFsdWVzLicgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICAgIHRyaWdnZXJzPVwiZm9jdXNcIlxuICAgICAgICAgICAgICAgIGNvbnRhaW5lcj1cImJvZHlcIlxuICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICA8bGFiZWwgW3RpdGxlXT1cIidGb250IHNpemUgb2YgbWVhc3VyZW1lbnQgdmFsdWUgKHB4KScgfCB0cmFuc2xhdGVcIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBGb250IHNpemUgb2YgbWVhc3VyZW1lbnQgdmFsdWUgKHB4KVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJmb250U2l6ZVwiXG4gICAgICAgICAgICBuYW1lPVwiZm9udFNpemVcIlxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2UuZy4ge3sgZXhhbXBsZSB9fScgfCB0cmFuc2xhdGU6IHsgZXhhbXBsZTogMzYgfVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8Yzh5LW1lc3NhZ2VzXG4gICAgICAgICAgICBbc2hvd109XCJmb3JtR3JvdXAuY29udHJvbHM/LmZvbnRTaXplPy50b3VjaGVkICYmIGZvcm1Hcm91cD8uY29udHJvbHM/LmZvbnRTaXplPy5lcnJvcnNcIlxuICAgICAgICAgID48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -52,7 +52,7 @@ export class LinearGaugeWidgetConfigComponent {
|
|
|
52
52
|
createForm() {
|
|
53
53
|
return this.formBuilder.group({
|
|
54
54
|
fractionSize: [
|
|
55
|
-
|
|
55
|
+
2,
|
|
56
56
|
[
|
|
57
57
|
Validators.required,
|
|
58
58
|
Validators.min(this.limits.numberOfDecimalPlacesMin),
|
|
@@ -71,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
71
71
|
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i1.NgForm }, { type: i2.WidgetConfigComponent }], propDecorators: { config: [{
|
|
72
72
|
type: Input
|
|
73
73
|
}] } });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZWFyLWdhdWdlLXdpZGdldC1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vd2lkZ2V0cy9pbXBsZW1lbnRhdGlvbnMvbGluZWFyLWdhdWdlL2xpbmVhci1nYXVnZS13aWRnZXQtY29uZmlnL2xpbmVhci1nYXVnZS13aWRnZXQtY29uZmlnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3dpZGdldHMvaW1wbGVtZW50YXRpb25zL2xpbmVhci1nYXVnZS9saW5lYXItZ2F1Z2Utd2lkZ2V0LWNvbmZpZy9saW5lYXItZ2F1Z2Utd2lkZ2V0LWNvbmZpZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU10RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsVUFBVSxFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7QUFRakYsTUFBTSxPQUFPLGdDQUFnQztJQWtCM0MsWUFDVSxXQUF3QixFQUN4QixJQUFZLEVBQ1osWUFBbUM7UUFGbkMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGlCQUFZLEdBQVosWUFBWSxDQUF1QjtRQWY3Qyw2QkFBd0IsR0FBMkMsRUFBRSxDQUFDO1FBQ3RFLHVCQUFrQixHQUEyQztZQUMzRCxZQUFZLEVBQUUsSUFBSTtZQUNsQixlQUFlLEVBQUUsSUFBSTtZQUNyQixTQUFTLEVBQUUsSUFBSTtZQUNmLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUM7UUFDTSxXQUFNLEdBQUc7WUFDZix3QkFBd0IsRUFBRSxFQUFFO1lBQzVCLHdCQUF3QixFQUFFLENBQUM7U0FDbkIsQ0FBQztJQU1SLENBQUM7SUFFSixZQUFZLENBQ1YsTUFBbUQ7UUFFbkQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3pCLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQztRQUMxRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUNELElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksS0FBSyxRQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUM5RixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDeEUsQ0FBQztJQUNILENBQUM7SUFFTyxRQUFRO1FBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTyxVQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDNUIsWUFBWSxFQUFFO2dCQUNaLENBQUM7Z0JBQ0Q7b0JBQ0UsVUFBVSxDQUFDLFFBQVE7b0JBQ25CLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQztvQkFDcEQsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDO2lCQUNyRDthQUNGO1lBQ0QsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxFQUFjLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDckYsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FqRVUsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0Msd0hDbEI3QyxvaENBa0NBLDJDRGxCWSx1QkFBdUIscVRBQUUsbUJBQW1CLDhtQ0FBRSxVQUFVOzsyRkFFdkQsZ0NBQWdDO2tCQU41QyxTQUFTOytCQUNFLGdDQUFnQyxjQUU5QixJQUFJLFdBQ1AsQ0FBQyx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLENBQUM7eUlBRzFELE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIE5nRm9ybSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB0eXBlIHtcbiAgRGF0YXBvaW50QXR0cmlidXRlc0Zvcm1Db25maWcsXG4gIERhdGFwb2ludFNlbGVjdG9yTW9kYWxPcHRpb25zLFxuICBLUElEZXRhaWxzXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZGF0YXBvaW50LXNlbGVjdG9yJztcbmltcG9ydCB7IFdpZGdldENvbmZpZ0NvbXBvbmVudCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvY29udGV4dC1kYXNoYm9hcmQnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSwgT25CZWZvcmVTYXZlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBEYXRhcG9pbnRTZWxlY3Rvck1vZHVsZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZGF0YXBvaW50LXNlbGVjdG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWxpbmVhci1nYXVnZS13aWRnZXQtY29uZmlnJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpbmVhci1nYXVnZS13aWRnZXQtY29uZmlnLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0RhdGFwb2ludFNlbGVjdG9yTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBDb3JlTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBMaW5lYXJHYXVnZVdpZGdldENvbmZpZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25CZWZvcmVTYXZlIHtcbiAgQElucHV0KCkgY29uZmlnOiB7XG4gICAgZGF0YXBvaW50czogS1BJRGV0YWlsc1tdO1xuICAgIGZyYWN0aW9uU2l6ZTogbnVtYmVyO1xuICB9O1xuICBmb3JtR3JvdXA6IFJldHVyblR5cGU8TGluZWFyR2F1Z2VXaWRnZXRDb25maWdDb21wb25lbnRbJ2NyZWF0ZUZvcm0nXT47XG4gIGRhdGFwb2ludFNlbGVjdGlvbkNvbmZpZzogUGFydGlhbDxEYXRhcG9pbnRTZWxlY3Rvck1vZGFsT3B0aW9ucz4gPSB7fTtcbiAgZGVmYXVsdEZvcm1PcHRpb25zOiBQYXJ0aWFsPERhdGFwb2ludEF0dHJpYnV0ZXNGb3JtQ29uZmlnPiA9IHtcbiAgICBzaG93UmVkUmFuZ2U6IHRydWUsXG4gICAgc2hvd1llbGxvd1JhbmdlOiB0cnVlLFxuICAgIHNob3dSYW5nZTogdHJ1ZSxcbiAgICBzaG93VGFyZ2V0OiB0cnVlXG4gIH07XG4gIHByaXZhdGUgbGltaXRzID0ge1xuICAgIG51bWJlck9mRGVjaW1hbFBsYWNlc01heDogMTAsXG4gICAgbnVtYmVyT2ZEZWNpbWFsUGxhY2VzTWluOiAwXG4gIH0gYXMgY29uc3Q7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBmb3JtOiBOZ0Zvcm0sXG4gICAgcHJpdmF0ZSB3aWRnZXRDb25maWc6IFdpZGdldENvbmZpZ0NvbXBvbmVudFxuICApIHt9XG5cbiAgb25CZWZvcmVTYXZlKFxuICAgIGNvbmZpZz86IExpbmVhckdhdWdlV2lkZ2V0Q29uZmlnQ29tcG9uZW50Wydjb25maWcnXVxuICApOiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPiB8IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLmZvcm1Hcm91cC52YWxpZCkge1xuICAgICAgT2JqZWN0LmFzc2lnbihjb25maWcsIHRoaXMuZm9ybUdyb3VwLnZhbHVlKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy53aWRnZXRDb25maWcuY29udGV4dD8uaWQpIHtcbiAgICAgIHRoaXMuZGF0YXBvaW50U2VsZWN0aW9uQ29uZmlnLmNvbnRleHRBc3NldCA9IHRoaXMud2lkZ2V0Q29uZmlnPy5jb250ZXh0O1xuICAgIH1cbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgaWYgKHRoaXMuY29uZmlnPy5kYXRhcG9pbnRzKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHsgZGF0YXBvaW50czogdGhpcy5jb25maWcuZGF0YXBvaW50cyB9KTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZz8uZnJhY3Rpb25TaXplID09PSAnbnVtYmVyJyAmJiAhTnVtYmVyLmlzTmFOKHRoaXMuY29uZmlnPy5mcmFjdGlvblNpemUpKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHsgZnJhY3Rpb25TaXplOiB0aGlzLmNvbmZpZy5mcmFjdGlvblNpemUgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuY3JlYXRlRm9ybSgpO1xuICAgIHRoaXMuZm9ybS5mb3JtLmFkZENvbnRyb2woJ2NvbmZpZycsIHRoaXMuZm9ybUdyb3VwKTtcbiAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHRoaXMuY29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBmcmFjdGlvblNpemU6IFtcbiAgICAgICAgMixcbiAgICAgICAgW1xuICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgVmFsaWRhdG9ycy5taW4odGhpcy5saW1pdHMubnVtYmVyT2ZEZWNpbWFsUGxhY2VzTWluKSxcbiAgICAgICAgICBWYWxpZGF0b3JzLm1heCh0aGlzLmxpbWl0cy5udW1iZXJPZkRlY2ltYWxQbGFjZXNNYXgpXG4gICAgICAgIF1cbiAgICAgIF0sXG4gICAgICBkYXRhcG9pbnRzOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobmV3IEFycmF5PEtQSURldGFpbHM+KCksIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSlcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInAtbC0yNCBwLXItMjRcIj5cbiAgPGZvcm1cbiAgICBjbGFzcz1cIm5vLWNhcmQtY29udGV4dFwiXG4gICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG4gICAgICAgIDxjOHktZGF0YXBvaW50LXNlbGVjdGlvbi1saXN0XG4gICAgICAgICAgY2xhc3M9XCJiZy1pbmhlcml0IHAtdC04IGQtYmxvY2tcIlxuICAgICAgICAgIG5hbWU9XCJkYXRhcG9pbnRzXCJcbiAgICAgICAgICBbZGVmYXVsdEZvcm1PcHRpb25zXT1cImRlZmF1bHRGb3JtT3B0aW9uc1wiXG4gICAgICAgICAgW2NvbmZpZ109XCJkYXRhcG9pbnRTZWxlY3Rpb25Db25maWdcIlxuICAgICAgICAgIFttaW5BY3RpdmVDb3VudF09XCIxXCJcbiAgICAgICAgICBbbWF4QWN0aXZlQ291bnRdPVwiMVwiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGF0YXBvaW50c1wiXG4gICAgICAgID48L2M4eS1kYXRhcG9pbnQtc2VsZWN0aW9uLWxpc3Q+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG4gICAgICAgIDxjOHktZm9ybS1ncm91cCBjbGFzcz1cInAtdC04XCI+XG4gICAgICAgICAgPGxhYmVsIHRyYW5zbGF0ZT5EZWNpbWFsIHBsYWNlczwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBuYW1lPVwiZnJhY3Rpb25TaXplXCJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZnJhY3Rpb25TaXplXCJcbiAgICAgICAgICAgIHN0ZXA9XCIxXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxjOHktbWVzc2FnZXMgW3Nob3ddPVwiZm9ybUdyb3VwLmNvbnRyb2xzLmZyYWN0aW9uU2l6ZS5lcnJvcnNcIj48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-widgets-implementations-info-gauge.mjs","sources":["../../widgets/implementations/info-gauge/current-measurement.pipe.ts","../../widgets/implementations/info-gauge/info-gauge-widget-view/info-gauge-widget-view.component.ts","../../widgets/implementations/info-gauge/info-gauge-widget-view/info-gauge-widget-view.component.html","../../widgets/implementations/info-gauge/info-gauge-widget-config/info-gauge-widget-config.component.ts","../../widgets/implementations/info-gauge/info-gauge-widget-config/info-gauge-widget-config.component.html","../../widgets/implementations/info-gauge/info-gauge-widget.module.ts","../../widgets/implementations/info-gauge/c8y-ngx-components-widgets-implementations-info-gauge.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport type { KPIDetails } from '@c8y/ngx-components/datapoint-selector';\nimport { AlertService, MeasurementRealtimeService } from '@c8y/ngx-components';\nimport { IMeasurementValue } from '@c8y/client';\nimport { Observable, of } from 'rxjs';\nimport { map, catchError } from 'rxjs/operators';\n\nconst INFO_GAUGE_COLORS = {\n GREEN: 'var(--c8y-brand-50)',\n YELLOW: 'var(--c8y-palette-status-warning)',\n RED: 'var(--c8y-palette-status-danger)'\n} as const;\n\n@Pipe({\n name: 'infoGaugeCurrentMeasurement',\n pure: true,\n standalone: true\n})\nexport class InfoGaugeCurrentMeasurementPipe implements PipeTransform {\n constructor(\n private measurementRealtime: MeasurementRealtimeService,\n private alert: AlertService\n ) {}\n transform(\n datapoint: KPIDetails,\n calculateGauge?: false\n ): Observable<{ date: string; value: number; unit: string; notFound?: boolean }>;\n transform(\n datapoint: KPIDetails,\n calculateGauge?: true\n ): Observable<{\n date: string;\n value: number;\n unit: string;\n color: (typeof INFO_GAUGE_COLORS)[keyof typeof INFO_GAUGE_COLORS];\n strokeDashOffset: number;\n notFound?: boolean;\n }>;\n transform(\n datapoint: KPIDetails,\n calculateGauge?: boolean\n ): Observable<{\n date: string;\n value: number;\n unit: string;\n color?: (typeof INFO_GAUGE_COLORS)[keyof typeof INFO_GAUGE_COLORS];\n strokeDashOffset?: number;\n notFound?: boolean;\n }> {\n return this.measurementRealtime\n .latestValueOfSpecificMeasurement$(\n datapoint.fragment,\n datapoint.series,\n datapoint.__target,\n 1,\n true\n )\n .pipe(\n map(m => {\n // in case measurement is not stored in DB when initially requested.\n if (!m) {\n return { value: Number.NaN, date: '', unit: datapoint.unit || '', notFound: true };\n }\n const measurementValue: IMeasurementValue = m[datapoint.fragment][datapoint.series];\n const data = {\n value: measurementValue.value,\n unit: measurementValue.unit || datapoint.unit,\n date: m.time\n };\n if (!calculateGauge) {\n return data;\n }\n const gauge = this.calculateGauge(datapoint, measurementValue.value);\n return { ...data, ...gauge };\n }),\n catchError(e => {\n this.alert.addServerFailure(e);\n\n return of({ value: Number.NaN, date: '', unit: '' });\n })\n );\n }\n\n private calculateGauge(datapoint: KPIDetails, value: number) {\n const val = value;\n const min = Number(datapoint.min || 0);\n const max = Number(datapoint.max || 0);\n const yMin = Number(datapoint.yellowRangeMin);\n const yMax = Number(datapoint.yellowRangeMax);\n const rMin = Number(datapoint.redRangeMin);\n const rMax = Number(datapoint.redRangeMax);\n\n // Previously d3 was used for linear scale: d3.scale.linear().domain([min, max]).range([0, 100]);\n // wanted to avoid importing d3 just for this.\n const scale = (value1: number) => (value1 - min) / ((max - min) / 100);\n\n const strokeDashOffset = 125.75 + (377.25 - (scale(val) / 100) * 377.25);\n let color: (typeof INFO_GAUGE_COLORS)[keyof typeof INFO_GAUGE_COLORS] = INFO_GAUGE_COLORS.GREEN;\n\n if (Number.isFinite(yMin) && Number.isFinite(yMax)) {\n if (val >= yMin && val <= yMax) {\n color = INFO_GAUGE_COLORS.YELLOW;\n }\n }\n\n if (Number.isFinite(rMin) && Number.isFinite(rMax)) {\n if (val >= rMin && val <= rMax) {\n color = INFO_GAUGE_COLORS.RED;\n }\n }\n\n return { color, strokeDashOffset };\n }\n}\n","import { Component, OnChanges, Input, Optional } from '@angular/core';\nimport type { KPIDetails } from '@c8y/ngx-components/datapoint-selector';\nimport { DatePipe, MeasurementRealtimeService } from '@c8y/ngx-components';\nimport { AsyncPipe, DecimalPipe, NgFor, NgIf, NgStyle } from '@angular/common';\nimport { InfoGaugeCurrentMeasurementPipe } from '../current-measurement.pipe';\nimport { ContextDashboardComponent } from '@c8y/ngx-components/context-dashboard';\n\n@Component({\n selector: 'c8y-info-gauge-widget-view',\n templateUrl: './info-gauge-widget-view.component.html',\n host: { class: 'd-contents' },\n providers: [MeasurementRealtimeService],\n standalone: true,\n imports: [NgIf, NgFor, NgStyle, InfoGaugeCurrentMeasurementPipe, AsyncPipe, DecimalPipe, DatePipe]\n})\nexport class InfoGaugeWidgetViewComponent implements OnChanges {\n @Input() config: {\n datapointsLabels?: KPIDetails[];\n datapointsGauge: KPIDetails[];\n fractionSize: number;\n };\n activeDatapointLabels = [];\n activeDatapointGauge: KPIDetails;\n fractionSize = '1.1-1';\n\n constructor(@Optional() private dashboard: ContextDashboardComponent) {}\n\n ngOnChanges(): void {\n if (this.config?.datapointsLabels && Array.isArray(this.config?.datapointsLabels)) {\n this.config.datapointsLabels.forEach(dp => this.assignContextFromContextDashboard(dp));\n this.activeDatapointLabels = this.config?.datapointsLabels.filter(dp => dp.__active);\n }\n\n if (this.config?.datapointsGauge && Array.isArray(this.config?.datapointsGauge)) {\n this.config.datapointsGauge.forEach(dp => this.assignContextFromContextDashboard(dp));\n this.activeDatapointGauge = this.config?.datapointsGauge.find(dp => dp.__active);\n }\n\n if (typeof this.config.fractionSize === 'number' && !Number.isNaN(this.config.fractionSize)) {\n this.fractionSize = `1.${this.config.fractionSize}-${this.config.fractionSize}`;\n }\n }\n\n private assignContextFromContextDashboard(datapoint: KPIDetails) {\n if (!this.dashboard?.isDeviceTypeDashboard) {\n return;\n }\n const context = this.dashboard?.context;\n if (context?.id) {\n const { name, id } = context;\n datapoint.__target = { name, id };\n }\n }\n}\n","<div class=\"label-value-unit-gauge\">\n <div\n class=\"gauge-legend\"\n *ngIf=\"activeDatapointLabels?.length\"\n >\n <ng-container *ngFor=\"let dp of activeDatapointLabels\">\n <ng-container *ngIf=\"dp | infoGaugeCurrentMeasurement | async as measurement\">\n <label\n class=\"text-truncate\"\n title=\"{{ dp.label }}\"\n >\n {{ dp.label }}\n </label>\n <h3\n class=\"text-truncate\"\n title=\"{{ measurement.value | number: fractionSize }} {{ dp.unit || measurement.unit }}\"\n *ngIf=\"!measurement.notFound; else notFound\"\n >\n {{ measurement.value | number: fractionSize }} {{ dp.unit || measurement.unit }}\n </h3>\n <ng-template #notFound>\n <h3>--</h3>\n </ng-template>\n <p class=\"text-muted m-b-8\">\n <small>\n <em>{{ measurement.date | c8yDate: 'short' }}</em>\n </small>\n </p>\n </ng-container>\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"activeDatapointGauge\">\n <div\n class=\"gauge-svg\"\n *ngIf=\"activeDatapointGauge | infoGaugeCurrentMeasurement: true | async as measurement\"\n >\n <svg\n height=\"214px\"\n width=\"214px\"\n viewBox=\"0 0 214 214\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n >\n <desc>radial gauge</desc>\n <g\n id=\"scale\"\n stroke=\"none\"\n stroke-width=\"1\"\n fill=\"none\"\n fill-rule=\"evenodd\"\n stroke-dasharray=\"1,5\"\n >\n <circle\n id=\"Oval\"\n stroke=\"#CACECE\"\n stroke-width=\"7\"\n cx=\"107\"\n cy=\"107\"\n r=\"103\"\n ></circle>\n <rect\n id=\"mask\"\n height=\"214\"\n stroke=\"none\"\n fill-rule=\"evenodd\"\n x=\"0\"\n y=\"0\"\n width=\"214\"\n transform=\"rotate(-45 290 182)\"\n ></rect>\n </g>\n <path\n class=\"track\"\n d=\"M 107 27 a 80 80 0 1 0.1 0 Z\"\n transform=\"rotate(-135 107 107)\"\n ></path>\n <path\n class=\"track-value\"\n [ngStyle]=\"{\n stroke: measurement.color,\n 'stroke-dashoffset': -measurement.strokeDashOffset\n }\"\n d=\"M 107 27 a 80 80 0 1 0.1 0 Z\"\n transform=\"rotate(-135 107 107)\"\n ></path>\n <foreignObject\n class=\"d-flex a-i-center j-c-center\"\n height=\"100%\"\n width=\"100%\"\n requiredFeatures=\"http://www.w3.org/TR/SVG11/feature#Extensibility\"\n >\n <div\n class=\"d-flex d-col fit-h a-i-center j-c-center\"\n style=\"padding: 3rem\"\n xmlns=\"http://www.w3.org/1999/xhtml\"\n >\n <p\n class=\"text-truncate text-center\"\n title=\"{{ activeDatapointGauge.label }}\"\n >\n {{ activeDatapointGauge.label }}\n </p>\n <p\n class=\"center-value text-truncate\"\n title=\"{{ measurement.value | number: fractionSize }}\"\n *ngIf=\"!measurement.notFound; else notFoundSVG\"\n >\n {{ measurement.value | number: fractionSize }}\n </p>\n <ng-template #notFoundSVG>\n <p class=\"center-value\">--</p>\n </ng-template>\n <p class=\"center-unit strong\">{{ activeDatapointGauge.unit || measurement.unit }}</p>\n <p class=\"center-date-time\">{{ measurement.date | c8yDate: 'short' }}</p>\n </div>\n </foreignObject>\n </svg>\n </div>\n </ng-container>\n <div class=\"clearfix\"></div>\n</div>\n","import { Component, OnInit, Input } from '@angular/core';\nimport {\n AbstractControl,\n ControlContainer,\n FormBuilder,\n NgForm,\n ReactiveFormsModule,\n ValidatorFn,\n Validators\n} from '@angular/forms';\nimport {\n DatapointSelectorModule,\n type DatapointAttributesFormConfig,\n type DatapointSelectorModalOptions,\n type KPIDetails\n} from '@c8y/ngx-components/datapoint-selector';\nimport { WidgetConfigComponent } from '@c8y/ngx-components/context-dashboard';\nimport { CoreModule, OnBeforeSave } from '@c8y/ngx-components';\nimport { Observable } from 'rxjs';\n\nfunction ensureAtLeastOneDatapointSelectedAndActive(\n datapointListAttributes: string[]\n): ValidatorFn {\n return (control: AbstractControl) => {\n const formValue = control.value;\n for (const listAttributeName of datapointListAttributes) {\n const valueForList: KPIDetails[] = formValue[listAttributeName];\n if (!valueForList || !Array.isArray(valueForList)) {\n continue;\n }\n\n if (valueForList.find(dp => dp.__active)) {\n return null;\n }\n }\n return { noActiveDatapoint: true };\n };\n}\n\n@Component({\n selector: 'c8y-info-gauge-widget-config',\n templateUrl: './info-gauge-widget-config.component.html',\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }],\n standalone: true,\n imports: [CoreModule, ReactiveFormsModule, DatapointSelectorModule]\n})\nexport class InfoGaugeWidgetConfigComponent implements OnInit, OnBeforeSave {\n @Input() config: {\n datapointsLabels?: KPIDetails[];\n datapointsGauge: KPIDetails[];\n fractionSize: number;\n };\n formGroup: ReturnType<InfoGaugeWidgetConfigComponent['createForm']>;\n datapointSelectionConfig: Partial<DatapointSelectorModalOptions> = {};\n defaultFormOptions: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true,\n showRange: true\n };\n private limits = {\n numberOfDecimalPlacesMax: 10,\n numberOfDecimalPlacesMin: 0\n } as const;\n\n constructor(\n private formBuilder: FormBuilder,\n private form: NgForm,\n private widgetConfig: WidgetConfigComponent\n ) {}\n\n onBeforeSave(\n config?: InfoGaugeWidgetConfigComponent['config']\n ): boolean | Promise<boolean> | Observable<boolean> {\n if (this.formGroup.valid) {\n Object.assign(config, this.formGroup.value);\n return true;\n }\n return false;\n }\n\n ngOnInit() {\n if (this.widgetConfig.context?.id) {\n this.datapointSelectionConfig.contextAsset = this.widgetConfig?.context;\n }\n this.initForm();\n if (this.config?.datapointsLabels) {\n this.formGroup.patchValue({ datapointsLabels: this.config.datapointsLabels });\n }\n if (this.config?.datapointsGauge) {\n this.formGroup.patchValue({ datapointsGauge: this.config.datapointsGauge });\n }\n if (typeof this.config?.fractionSize === 'number' && !Number.isNaN(this.config?.fractionSize)) {\n this.formGroup.patchValue({ fractionSize: this.config.fractionSize });\n }\n }\n\n private initForm(): void {\n this.formGroup = this.createForm();\n this.form.form.addControl('config', this.formGroup);\n this.formGroup.patchValue(this.config);\n }\n\n private createForm() {\n return this.formBuilder.group(\n {\n fractionSize: [\n 1,\n [\n Validators.required,\n Validators.min(this.limits.numberOfDecimalPlacesMin),\n Validators.max(this.limits.numberOfDecimalPlacesMax)\n ]\n ],\n datapointsLabels: this.formBuilder.control(new Array<KPIDetails>(), []),\n datapointsGauge: this.formBuilder.control(new Array<KPIDetails>(), [])\n },\n {\n validators: [\n ensureAtLeastOneDatapointSelectedAndActive(['datapointsLabels', 'datapointsGauge'])\n ]\n }\n );\n }\n}\n","<div class=\"p-l-24 p-r-24\">\n <form\n class=\"no-card-context\"\n [formGroup]=\"formGroup\"\n >\n <div class=\"row\">\n <div class=\"col-md-6\">\n <c8y-form-group class=\"p-t-8\">\n <label translate>Decimal places</label>\n <input\n class=\"form-control\"\n name=\"fractionSize\"\n type=\"number\"\n formControlName=\"fractionSize\"\n step=\"1\"\n />\n <c8y-messages [show]=\"formGroup.controls.fractionSize.errors\"></c8y-messages>\n </c8y-form-group>\n </div>\n <div class=\"col-md-6 p-t-8\">\n <div\n class=\"alert alert-info\"\n role=\"alert\"\n *ngIf=\"formGroup.errors?.noActiveDatapoint\"\n translate\n >\n At least one data point for the labels or the gauge needs to be selected.\n </div>\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-md-6\">\n <c8y-datapoint-selection-list\n class=\"bg-inherit separator-top p-t-16 d-block\"\n name=\"datapoints\"\n listTitle=\"{{ 'Multiple label and value pairs' | translate }}\"\n [defaultFormOptions]=\"defaultFormOptions\"\n [config]=\"datapointSelectionConfig\"\n [minActiveCount]=\"0\"\n formControlName=\"datapointsLabels\"\n ></c8y-datapoint-selection-list>\n </div>\n <div class=\"col-md-6\">\n <c8y-datapoint-selection-list\n class=\"bg-inherit separator-top p-t-16 d-block\"\n name=\"datapoints\"\n listTitle=\"{{ 'Gauge`display`' | translate }}\"\n [defaultFormOptions]=\"defaultFormOptions\"\n [config]=\"datapointSelectionConfig\"\n [minActiveCount]=\"0\"\n [maxActiveCount]=\"1\"\n formControlName=\"datapointsGauge\"\n ></c8y-datapoint-selection-list>\n </div>\n </div>\n </form>\n</div>\n","import { NgModule } from '@angular/core';\nimport { InfoGaugeWidgetViewComponent } from './info-gauge-widget-view/info-gauge-widget-view.component';\nimport { InfoGaugeWidgetConfigComponent } from './info-gauge-widget-config/info-gauge-widget-config.component';\nimport { InfoGaugeCurrentMeasurementPipe } from './current-measurement.pipe';\n\n/**\n * @deprecated\n */\n@NgModule({\n imports: [\n InfoGaugeWidgetViewComponent,\n InfoGaugeWidgetConfigComponent,\n InfoGaugeCurrentMeasurementPipe\n ]\n})\nexport class InfoGaugeWidgetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-widgets-implementations-info-gauge.mjs","sources":["../../widgets/implementations/info-gauge/current-measurement.pipe.ts","../../widgets/implementations/info-gauge/info-gauge-widget-view/info-gauge-widget-view.component.ts","../../widgets/implementations/info-gauge/info-gauge-widget-view/info-gauge-widget-view.component.html","../../widgets/implementations/info-gauge/info-gauge-widget-config/info-gauge-widget-config.component.ts","../../widgets/implementations/info-gauge/info-gauge-widget-config/info-gauge-widget-config.component.html","../../widgets/implementations/info-gauge/info-gauge-widget.module.ts","../../widgets/implementations/info-gauge/c8y-ngx-components-widgets-implementations-info-gauge.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport type { KPIDetails } from '@c8y/ngx-components/datapoint-selector';\nimport { AlertService, MeasurementRealtimeService } from '@c8y/ngx-components';\nimport { IMeasurementValue } from '@c8y/client';\nimport { Observable, of } from 'rxjs';\nimport { map, catchError } from 'rxjs/operators';\n\nconst INFO_GAUGE_COLORS = {\n GREEN: 'var(--c8y-brand-50)',\n YELLOW: 'var(--c8y-palette-status-warning)',\n RED: 'var(--c8y-palette-status-danger)'\n} as const;\n\n@Pipe({\n name: 'infoGaugeCurrentMeasurement',\n pure: true,\n standalone: true\n})\nexport class InfoGaugeCurrentMeasurementPipe implements PipeTransform {\n constructor(\n private measurementRealtime: MeasurementRealtimeService,\n private alert: AlertService\n ) {}\n transform(\n datapoint: KPIDetails,\n calculateGauge?: false\n ): Observable<{ date: string; value: number; unit: string; notFound?: boolean }>;\n transform(\n datapoint: KPIDetails,\n calculateGauge?: true\n ): Observable<{\n date: string;\n value: number;\n unit: string;\n color: (typeof INFO_GAUGE_COLORS)[keyof typeof INFO_GAUGE_COLORS];\n strokeDashOffset: number;\n notFound?: boolean;\n }>;\n transform(\n datapoint: KPIDetails,\n calculateGauge?: boolean\n ): Observable<{\n date: string;\n value: number;\n unit: string;\n color?: (typeof INFO_GAUGE_COLORS)[keyof typeof INFO_GAUGE_COLORS];\n strokeDashOffset?: number;\n notFound?: boolean;\n }> {\n return this.measurementRealtime\n .latestValueOfSpecificMeasurement$(\n datapoint.fragment,\n datapoint.series,\n datapoint.__target,\n 1,\n true\n )\n .pipe(\n map(m => {\n // in case measurement is not stored in DB when initially requested.\n if (!m) {\n return { value: Number.NaN, date: '', unit: datapoint.unit || '', notFound: true };\n }\n const measurementValue: IMeasurementValue = m[datapoint.fragment][datapoint.series];\n const data = {\n value: measurementValue.value,\n unit: measurementValue.unit || datapoint.unit,\n date: m.time\n };\n if (!calculateGauge) {\n return data;\n }\n const gauge = this.calculateGauge(datapoint, measurementValue.value);\n return { ...data, ...gauge };\n }),\n catchError(e => {\n this.alert.addServerFailure(e);\n\n return of({ value: Number.NaN, date: '', unit: '' });\n })\n );\n }\n\n private calculateGauge(datapoint: KPIDetails, value: number) {\n const val = value;\n const min = Number(datapoint.min || 0);\n const max = Number(datapoint.max || 0);\n const yMin = Number(datapoint.yellowRangeMin);\n const yMax = Number(datapoint.yellowRangeMax);\n const rMin = Number(datapoint.redRangeMin);\n const rMax = Number(datapoint.redRangeMax);\n\n // Previously d3 was used for linear scale: d3.scale.linear().domain([min, max]).range([0, 100]);\n // wanted to avoid importing d3 just for this.\n const scale = (value1: number) => (value1 - min) / ((max - min) / 100);\n\n const strokeDashOffset = 125.75 + (377.25 - (scale(val) / 100) * 377.25);\n let color: (typeof INFO_GAUGE_COLORS)[keyof typeof INFO_GAUGE_COLORS] = INFO_GAUGE_COLORS.GREEN;\n\n if (Number.isFinite(yMin) && Number.isFinite(yMax)) {\n if (val >= yMin && val <= yMax) {\n color = INFO_GAUGE_COLORS.YELLOW;\n }\n }\n\n if (Number.isFinite(rMin) && Number.isFinite(rMax)) {\n if (val >= rMin && val <= rMax) {\n color = INFO_GAUGE_COLORS.RED;\n }\n }\n\n return { color, strokeDashOffset };\n }\n}\n","import { Component, OnChanges, Input, Optional } from '@angular/core';\nimport type { KPIDetails } from '@c8y/ngx-components/datapoint-selector';\nimport { DatePipe, MeasurementRealtimeService } from '@c8y/ngx-components';\nimport { AsyncPipe, DecimalPipe, NgFor, NgIf, NgStyle } from '@angular/common';\nimport { InfoGaugeCurrentMeasurementPipe } from '../current-measurement.pipe';\nimport { ContextDashboardComponent } from '@c8y/ngx-components/context-dashboard';\n\n@Component({\n selector: 'c8y-info-gauge-widget-view',\n templateUrl: './info-gauge-widget-view.component.html',\n host: { class: 'd-contents' },\n providers: [MeasurementRealtimeService],\n standalone: true,\n imports: [NgIf, NgFor, NgStyle, InfoGaugeCurrentMeasurementPipe, AsyncPipe, DecimalPipe, DatePipe]\n})\nexport class InfoGaugeWidgetViewComponent implements OnChanges {\n @Input() config: {\n datapointsLabels?: KPIDetails[];\n datapointsGauge: KPIDetails[];\n fractionSize: number;\n };\n activeDatapointLabels = [];\n activeDatapointGauge: KPIDetails;\n fractionSize = '1.1-1';\n\n constructor(@Optional() private dashboard: ContextDashboardComponent) {}\n\n ngOnChanges(): void {\n if (this.config?.datapointsLabels && Array.isArray(this.config?.datapointsLabels)) {\n this.config.datapointsLabels.forEach(dp => this.assignContextFromContextDashboard(dp));\n this.activeDatapointLabels = this.config?.datapointsLabels.filter(dp => dp.__active);\n }\n\n if (this.config?.datapointsGauge && Array.isArray(this.config?.datapointsGauge)) {\n this.config.datapointsGauge.forEach(dp => this.assignContextFromContextDashboard(dp));\n this.activeDatapointGauge = this.config?.datapointsGauge.find(dp => dp.__active);\n }\n\n if (typeof this.config.fractionSize === 'number' && !Number.isNaN(this.config.fractionSize)) {\n this.fractionSize = `1.${this.config.fractionSize}-${this.config.fractionSize}`;\n }\n }\n\n private assignContextFromContextDashboard(datapoint: KPIDetails) {\n if (!this.dashboard?.isDeviceTypeDashboard) {\n return;\n }\n const context = this.dashboard?.context;\n if (context?.id) {\n const { name, id } = context;\n datapoint.__target = { name, id };\n }\n }\n}\n","<div class=\"label-value-unit-gauge\">\n <div\n class=\"gauge-legend\"\n *ngIf=\"activeDatapointLabels?.length\"\n >\n <ng-container *ngFor=\"let dp of activeDatapointLabels\">\n <ng-container *ngIf=\"dp | infoGaugeCurrentMeasurement | async as measurement\">\n <label\n class=\"text-truncate\"\n title=\"{{ dp.label }}\"\n >\n {{ dp.label }}\n </label>\n <h3\n class=\"text-truncate\"\n title=\"{{ measurement.value | number: fractionSize }} {{ dp.unit || measurement.unit }}\"\n *ngIf=\"!measurement.notFound; else notFound\"\n >\n {{ measurement.value | number: fractionSize }} {{ dp.unit || measurement.unit }}\n </h3>\n <ng-template #notFound>\n <h3>--</h3>\n </ng-template>\n <p class=\"text-muted m-b-8\">\n <small>\n <em>{{ measurement.date | c8yDate: 'short' }}</em>\n </small>\n </p>\n </ng-container>\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"activeDatapointGauge\">\n <div\n class=\"gauge-svg\"\n *ngIf=\"activeDatapointGauge | infoGaugeCurrentMeasurement: true | async as measurement\"\n >\n <svg\n height=\"214px\"\n width=\"214px\"\n viewBox=\"0 0 214 214\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n >\n <desc>radial gauge</desc>\n <g\n id=\"scale\"\n stroke=\"none\"\n stroke-width=\"1\"\n fill=\"none\"\n fill-rule=\"evenodd\"\n stroke-dasharray=\"1,5\"\n >\n <circle\n id=\"Oval\"\n stroke=\"#CACECE\"\n stroke-width=\"7\"\n cx=\"107\"\n cy=\"107\"\n r=\"103\"\n ></circle>\n <rect\n id=\"mask\"\n height=\"214\"\n stroke=\"none\"\n fill-rule=\"evenodd\"\n x=\"0\"\n y=\"0\"\n width=\"214\"\n transform=\"rotate(-45 290 182)\"\n ></rect>\n </g>\n <path\n class=\"track\"\n d=\"M 107 27 a 80 80 0 1 0.1 0 Z\"\n transform=\"rotate(-135 107 107)\"\n ></path>\n <path\n class=\"track-value\"\n [ngStyle]=\"{\n stroke: measurement.color,\n 'stroke-dashoffset': -measurement.strokeDashOffset\n }\"\n d=\"M 107 27 a 80 80 0 1 0.1 0 Z\"\n transform=\"rotate(-135 107 107)\"\n ></path>\n <foreignObject\n class=\"d-flex a-i-center j-c-center\"\n height=\"100%\"\n width=\"100%\"\n requiredFeatures=\"http://www.w3.org/TR/SVG11/feature#Extensibility\"\n >\n <div\n class=\"d-flex d-col fit-h a-i-center j-c-center\"\n style=\"padding: 3rem\"\n xmlns=\"http://www.w3.org/1999/xhtml\"\n >\n <p\n class=\"text-truncate text-center\"\n title=\"{{ activeDatapointGauge.label }}\"\n >\n {{ activeDatapointGauge.label }}\n </p>\n <p\n class=\"center-value text-truncate\"\n title=\"{{ measurement.value | number: fractionSize }}\"\n *ngIf=\"!measurement.notFound; else notFoundSVG\"\n >\n {{ measurement.value | number: fractionSize }}\n </p>\n <ng-template #notFoundSVG>\n <p class=\"center-value\">--</p>\n </ng-template>\n <p class=\"center-unit strong\">{{ activeDatapointGauge.unit || measurement.unit }}</p>\n <p class=\"center-date-time\">{{ measurement.date | c8yDate: 'short' }}</p>\n </div>\n </foreignObject>\n </svg>\n </div>\n </ng-container>\n <div class=\"clearfix\"></div>\n</div>\n","import { Component, OnInit, Input } from '@angular/core';\nimport {\n AbstractControl,\n ControlContainer,\n FormBuilder,\n NgForm,\n ReactiveFormsModule,\n ValidatorFn,\n Validators\n} from '@angular/forms';\nimport {\n DatapointSelectorModule,\n type DatapointAttributesFormConfig,\n type DatapointSelectorModalOptions,\n type KPIDetails\n} from '@c8y/ngx-components/datapoint-selector';\nimport { WidgetConfigComponent } from '@c8y/ngx-components/context-dashboard';\nimport { CoreModule, OnBeforeSave } from '@c8y/ngx-components';\nimport { Observable } from 'rxjs';\n\nfunction ensureAtLeastOneDatapointSelectedAndActive(\n datapointListAttributes: string[]\n): ValidatorFn {\n return (control: AbstractControl) => {\n const formValue = control.value;\n for (const listAttributeName of datapointListAttributes) {\n const valueForList: KPIDetails[] = formValue[listAttributeName];\n if (!valueForList || !Array.isArray(valueForList)) {\n continue;\n }\n\n if (valueForList.find(dp => dp.__active)) {\n return null;\n }\n }\n return { noActiveDatapoint: true };\n };\n}\n\n@Component({\n selector: 'c8y-info-gauge-widget-config',\n templateUrl: './info-gauge-widget-config.component.html',\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }],\n standalone: true,\n imports: [CoreModule, ReactiveFormsModule, DatapointSelectorModule]\n})\nexport class InfoGaugeWidgetConfigComponent implements OnInit, OnBeforeSave {\n @Input() config: {\n datapointsLabels?: KPIDetails[];\n datapointsGauge: KPIDetails[];\n fractionSize: number;\n };\n formGroup: ReturnType<InfoGaugeWidgetConfigComponent['createForm']>;\n datapointSelectionConfig: Partial<DatapointSelectorModalOptions> = {};\n defaultFormOptions: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true,\n showRange: true\n };\n private limits = {\n numberOfDecimalPlacesMax: 10,\n numberOfDecimalPlacesMin: 0\n } as const;\n\n constructor(\n private formBuilder: FormBuilder,\n private form: NgForm,\n private widgetConfig: WidgetConfigComponent\n ) {}\n\n onBeforeSave(\n config?: InfoGaugeWidgetConfigComponent['config']\n ): boolean | Promise<boolean> | Observable<boolean> {\n if (this.formGroup.valid) {\n Object.assign(config, this.formGroup.value);\n return true;\n }\n return false;\n }\n\n ngOnInit() {\n if (this.widgetConfig.context?.id) {\n this.datapointSelectionConfig.contextAsset = this.widgetConfig?.context;\n }\n this.initForm();\n if (this.config?.datapointsLabels) {\n this.formGroup.patchValue({ datapointsLabels: this.config.datapointsLabels });\n }\n if (this.config?.datapointsGauge) {\n this.formGroup.patchValue({ datapointsGauge: this.config.datapointsGauge });\n }\n if (typeof this.config?.fractionSize === 'number' && !Number.isNaN(this.config?.fractionSize)) {\n this.formGroup.patchValue({ fractionSize: this.config.fractionSize });\n }\n }\n\n private initForm(): void {\n this.formGroup = this.createForm();\n this.form.form.addControl('config', this.formGroup);\n this.formGroup.patchValue(this.config);\n }\n\n private createForm() {\n return this.formBuilder.group(\n {\n fractionSize: [\n 2,\n [\n Validators.required,\n Validators.min(this.limits.numberOfDecimalPlacesMin),\n Validators.max(this.limits.numberOfDecimalPlacesMax)\n ]\n ],\n datapointsLabels: this.formBuilder.control(new Array<KPIDetails>(), []),\n datapointsGauge: this.formBuilder.control(new Array<KPIDetails>(), [])\n },\n {\n validators: [\n ensureAtLeastOneDatapointSelectedAndActive(['datapointsLabels', 'datapointsGauge'])\n ]\n }\n );\n }\n}\n","<div class=\"p-l-24 p-r-24\">\n <form\n class=\"no-card-context\"\n [formGroup]=\"formGroup\"\n >\n <div class=\"row\">\n <div class=\"col-md-6\">\n <c8y-form-group class=\"p-t-8\">\n <label translate>Decimal places</label>\n <input\n class=\"form-control\"\n name=\"fractionSize\"\n type=\"number\"\n formControlName=\"fractionSize\"\n step=\"1\"\n />\n <c8y-messages [show]=\"formGroup.controls.fractionSize.errors\"></c8y-messages>\n </c8y-form-group>\n </div>\n <div class=\"col-md-6 p-t-8\">\n <div\n class=\"alert alert-info\"\n role=\"alert\"\n *ngIf=\"formGroup.errors?.noActiveDatapoint\"\n translate\n >\n At least one data point for the labels or the gauge needs to be selected.\n </div>\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-md-6\">\n <c8y-datapoint-selection-list\n class=\"bg-inherit separator-top p-t-16 d-block\"\n name=\"datapoints\"\n listTitle=\"{{ 'Multiple label and value pairs' | translate }}\"\n [defaultFormOptions]=\"defaultFormOptions\"\n [config]=\"datapointSelectionConfig\"\n [minActiveCount]=\"0\"\n formControlName=\"datapointsLabels\"\n ></c8y-datapoint-selection-list>\n </div>\n <div class=\"col-md-6\">\n <c8y-datapoint-selection-list\n class=\"bg-inherit separator-top p-t-16 d-block\"\n name=\"datapoints\"\n listTitle=\"{{ 'Gauge`display`' | translate }}\"\n [defaultFormOptions]=\"defaultFormOptions\"\n [config]=\"datapointSelectionConfig\"\n [minActiveCount]=\"0\"\n [maxActiveCount]=\"1\"\n formControlName=\"datapointsGauge\"\n ></c8y-datapoint-selection-list>\n </div>\n </div>\n </form>\n</div>\n","import { NgModule } from '@angular/core';\nimport { InfoGaugeWidgetViewComponent } from './info-gauge-widget-view/info-gauge-widget-view.component';\nimport { InfoGaugeWidgetConfigComponent } from './info-gauge-widget-config/info-gauge-widget-config.component';\nimport { InfoGaugeCurrentMeasurementPipe } from './current-measurement.pipe';\n\n/**\n * @deprecated\n */\n@NgModule({\n imports: [\n InfoGaugeWidgetViewComponent,\n InfoGaugeWidgetConfigComponent,\n InfoGaugeCurrentMeasurementPipe\n ]\n})\nexport class InfoGaugeWidgetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-widgets-implementations-kpi.mjs","sources":["../../widgets/implementations/kpi/kpi-widget-config/kpi-widget-config.component.ts","../../widgets/implementations/kpi/kpi-widget-config/kpi-widget-config.component.html","../../widgets/implementations/kpi/kpi-widget-view/kpi-widget-view.component.ts","../../widgets/implementations/kpi/kpi-widget-view/kpi-widget-view.component.html","../../widgets/implementations/kpi/c8y-ngx-components-widgets-implementations-kpi.ts"],"sourcesContent":["import { Component, Input, OnInit } from '@angular/core';\nimport {\n AbstractControl,\n ControlContainer,\n FormBuilder,\n NgForm,\n ValidationErrors,\n ValidatorFn,\n Validators\n} from '@angular/forms';\nimport { CoreModule, OnBeforeSave } from '@c8y/ngx-components';\nimport { WidgetConfigComponent } from '@c8y/ngx-components/context-dashboard';\nimport {\n DatapointAttributesFormConfig,\n DatapointSelectorModalOptions,\n DatapointSelectorModule,\n KPIDetails\n} from '@c8y/ngx-components/datapoint-selector';\nimport { Observable } from 'rxjs';\nimport { KpiWidgetConfig } from '../kpi-widget.model';\nimport { IconSelectorModule } from '@c8y/ngx-components/icon-selector';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\n\nexport function exactlyASingleDatapointActive(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const datapoints: KPIDetails[] = control.value;\n\n if (!datapoints || !datapoints.length) {\n return null;\n }\n\n const activeDatapoints = datapoints.filter(datapoint => datapoint.__active);\n\n if (activeDatapoints.length === 1) {\n return null;\n }\n\n return { exactlyOneDatapointNeedsToBeActive: true };\n };\n}\n\n@Component({\n selector: 'c8y-kpi-widget-config',\n templateUrl: './kpi-widget-config.component.html',\n standalone: true,\n imports: [CoreModule, DatapointSelectorModule, IconSelectorModule, PopoverModule],\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\n})\nexport class KpiWidgetConfigComponent implements OnInit, OnBeforeSave {\n @Input() config: KpiWidgetConfig;\n datapointSelectionConfig: Partial<DatapointSelectorModalOptions> = {};\n defaultFormOptions: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true\n };\n formGroup: ReturnType<KpiWidgetConfigComponent['createForm']>;\n availableIcons: string[] = [];\n private limits = {\n fontSizeMax: 72,\n fontSizeMin: 18,\n numberOfDecimalPlacesMax: 10,\n numberOfDecimalPlacesMin: 0\n } as const;\n\n constructor(\n private formBuilder: FormBuilder,\n private form: NgForm,\n private widgetConfig: WidgetConfigComponent\n ) {}\n\n onBeforeSave(config?: KpiWidgetConfig): boolean | Promise<boolean> | Observable<boolean> {\n if (this.formGroup.valid) {\n Object.assign(config, this.formGroup.value);\n return true;\n }\n return false;\n }\n\n async ngOnInit() {\n if (this.widgetConfig.context?.id) {\n this.datapointSelectionConfig.contextAsset = this.widgetConfig?.context;\n }\n this.initForm();\n if (this.config?.datapoints) {\n this.formGroup.patchValue({ datapoints: this.config.datapoints });\n }\n }\n\n private initForm(): void {\n this.formGroup = this.createForm();\n this.form.form.addControl('config', this.formGroup);\n this.formGroup.patchValue(this.config);\n }\n\n private createForm() {\n return this.formBuilder.group({\n numberOfDecimalPlaces: [\n 1,\n [\n Validators.required,\n Validators.min(this.limits.numberOfDecimalPlacesMin),\n Validators.max(this.limits.numberOfDecimalPlacesMax)\n ]\n ],\n showTimestamp: [true, []],\n showTrend: [true, []],\n showIcon: [true, []],\n icon: ['water', [Validators.required, Validators.minLength(1)]],\n fontSize: [\n 36,\n [\n Validators.required,\n Validators.min(this.limits.fontSizeMin),\n Validators.max(this.limits.fontSizeMax)\n ]\n ],\n datapoints: this.formBuilder.control(new Array<KPIDetails>(), [\n Validators.required,\n Validators.minLength(1),\n exactlyASingleDatapointActive()\n ])\n });\n }\n}\n","<div class=\"p-l-24 p-r-24\">\n <form [formGroup]=\"formGroup\" class=\"row no-card-context\">\n <div class=\"col-sm-6 bg-level-0\">\n <c8y-datapoint-selection-list\n [defaultFormOptions]=\"defaultFormOptions\"\n [config]=\"datapointSelectionConfig\"\n [minActiveCount]=\"1\"\n [maxActiveCount]=\"1\"\n formControlName=\"datapoints\"\n name=\"datapoints\"\n class=\"bg-inherit\"\n ></c8y-datapoint-selection-list>\n </div>\n <div class=\"col-sm-6\">\n <div class=\"card-header separator\">\n <div class=\"card-title h4\">{{ 'Layout' | translate }}</div>\n </div>\n <label translate>Icon</label>\n <div class=\"d-flex a-i-center\">\n <c8y-icon-selector-wrapper name=\"icon\" formControlName=\"icon\"></c8y-icon-selector-wrapper>\n </div>\n <c8y-form-group>\n <label [title]=\"'Number of decimal places' | translate\" translate>\n Number of decimal places\n </label>\n <input\n class=\"form-control\"\n formControlName=\"numberOfDecimalPlaces\"\n name=\"numberOfDecimalPlaces\"\n type=\"number\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 1 }\"\n />\n <c8y-messages\n [show]=\"\n formGroup.controls?.numberOfDecimalPlaces?.touched &&\n formGroup?.controls?.numberOfDecimalPlaces?.errors\n \"\n ></c8y-messages>\n </c8y-form-group>\n <div>\n <label>{{ 'Display' | translate }}</label>\n <div class=\"d-flex gap-16 flex-wrap\">\n <c8y-form-group>\n <label [title]=\"'Show timestamp' | translate\" class=\"c8y-checkbox\">\n <input type=\"checkbox\" formControlName=\"showTimestamp\" name=\"showTimestamp\" />\n <span></span>\n <span translate>Show timestamp</span>\n </label>\n </c8y-form-group>\n\n <c8y-form-group>\n <label [title]=\"'Show icon' | translate\" class=\"c8y-checkbox\">\n <input type=\"checkbox\" formControlName=\"showIcon\" name=\"showIcon\" />\n <span></span>\n <span translate>Show icon</span>\n </label>\n </c8y-form-group>\n\n <c8y-form-group>\n <label [title]=\"'Show trend icon' | translate\" class=\"c8y-checkbox\">\n <input type=\"checkbox\" formControlName=\"showTrend\" name=\"showTrend\" />\n <span></span>\n <span translate>Show trend icon</span>\n <button\n class=\"btn-help btn-help--sm\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{\n 'Indicates the trend between the last two measurement values.' | translate\n }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n ></button>\n </label>\n </c8y-form-group>\n </div>\n\n <c8y-form-group>\n <label [title]=\"'Font size of measurement value (px)' | translate\" translate>\n Font size of measurement value (px)\n </label>\n <input\n class=\"form-control\"\n formControlName=\"fontSize\"\n name=\"fontSize\"\n type=\"number\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 36 }\"\n />\n <c8y-messages\n [show]=\"formGroup.controls?.fontSize?.touched && formGroup?.controls?.fontSize?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n </form>\n</div>\n","import { Component, Input, OnInit, Optional } from '@angular/core';\nimport { CoreModule, MeasurementRealtimeService } from '@c8y/ngx-components';\nimport { KPIDetails } from '@c8y/ngx-components/datapoint-selector';\nimport { combineLatest, NEVER, Observable } from 'rxjs';\nimport { distinctUntilChanged, filter, map, pairwise, startWith, tap } from 'rxjs/operators';\nimport { ContextDashboardComponent } from '@c8y/ngx-components/context-dashboard';\nimport { KpiWidgetConfig } from '../kpi-widget.model';\n\ninterface MeasurementValue {\n unit?: string;\n value: number;\n date: string;\n}\n\nenum ColorClass {\n danger = 'text-danger',\n warning = 'text-warning',\n unknown = ''\n}\n\n@Component({\n selector: 'c8y-kpi-widget-view',\n templateUrl: './kpi-widget-view.component.html',\n standalone: true,\n imports: [CoreModule],\n providers: [MeasurementRealtimeService]\n})\nexport class KpiWidgetViewComponent implements OnInit {\n @Input() config: KpiWidgetConfig = { datapoints: [] };\n state$: Observable<{\n latestMeasurement: MeasurementValue;\n previousValue: MeasurementValue | undefined;\n trend: string;\n unit: string;\n colorClass: ColorClass;\n }> = NEVER;\n\n // used to differentiate between loading state and empty state\n noDataInitiallyInDB = false;\n\n constructor(\n private measurementRealtime: MeasurementRealtimeService,\n @Optional() private dashboard: ContextDashboardComponent\n ) {}\n\n async ngOnInit() {\n const datapoints = this.config.datapoints || [];\n const datapoint: KPIDetails = datapoints.find(tmp => tmp.__active);\n if (!datapoint) {\n return;\n }\n\n this.state$ = this.setupObservable(datapoint);\n }\n\n setupObservable(datapoint: KPIDetails): Observable<{\n latestMeasurement: MeasurementValue;\n previousValue: MeasurementValue | undefined;\n trend: string;\n unit: string;\n colorClass: ColorClass;\n }> {\n this.assignContextFromContextDashboard(datapoint);\n const latestMeasurement$ = this.getLatestMeasurement$(datapoint);\n const lastTwoValues$ = this.getLastTwoValuesOfObservable$(latestMeasurement$);\n\n const previousValue$ = lastTwoValues$.pipe(\n map(([previousVal]) => previousVal),\n startWith(undefined as MeasurementValue | undefined)\n );\n\n const unit$ = latestMeasurement$.pipe(\n map(latestMeasurementValue => datapoint.unit || latestMeasurementValue.unit || ''),\n startWith(''),\n distinctUntilChanged()\n );\n\n return combineLatest([\n latestMeasurement$,\n previousValue$,\n this.getTrendOfLatestMeasurements$(lastTwoValues$),\n unit$,\n this.getColorClass$(latestMeasurement$, datapoint)\n ]).pipe(\n map(([latestMeasurement, previousValue, trend, unit, colorClass]) => {\n return {\n latestMeasurement,\n previousValue,\n trend,\n unit,\n colorClass\n };\n })\n );\n }\n\n private getLatestMeasurement$(datapoint: KPIDetails): Observable<MeasurementValue> {\n return this.measurementRealtime\n .latestValueOfSpecificMeasurement$(\n datapoint.fragment,\n datapoint.series,\n datapoint.__target,\n // we only need the last two values in case we want to show a trend\n this.config.showTrend ? 2 : 1,\n // null will be emitted in case no measurement was found initially\n true\n )\n .pipe(\n tap(measurement => {\n if (!measurement) {\n this.noDataInitiallyInDB = true;\n }\n }),\n filter(measurement => !!measurement),\n map(measurement => {\n return {\n unit: measurement[datapoint.fragment][datapoint.series].unit,\n value: measurement[datapoint.fragment][datapoint.series].value,\n date: measurement.time as string\n };\n })\n );\n }\n\n private getColorClass$(\n measurementAndDatapointCombination$: Observable<MeasurementValue>,\n datapoint: KPIDetails\n ): Observable<ColorClass> {\n return measurementAndDatapointCombination$.pipe(\n map(latestMeasurementValue => {\n if (this.inRangeOf(datapoint, latestMeasurementValue.value, 'redRangeMin', 'redRangeMax')) {\n return ColorClass.danger;\n }\n\n if (\n this.inRangeOf(\n datapoint,\n latestMeasurementValue.value,\n 'yellowRangeMin',\n 'yellowRangeMax'\n )\n ) {\n return ColorClass.warning;\n }\n\n return ColorClass.unknown;\n }),\n startWith(ColorClass.unknown),\n distinctUntilChanged()\n );\n }\n\n private getLastTwoValuesOfObservable$<T>(input$: Observable<T>): Observable<T[]> {\n return input$.pipe(pairwise());\n }\n\n private getTrendOfLatestMeasurements$(latestMeasurement$: Observable<MeasurementValue[]>) {\n return latestMeasurement$.pipe(\n map(res => {\n if (res.length === 2) {\n const oldValue = res[0].value;\n const newValue = res[1].value;\n if (oldValue < newValue) {\n return '45deg';\n }\n if (oldValue > newValue) {\n return '135deg';\n }\n }\n return '90deg';\n }),\n startWith('90deg'),\n distinctUntilChanged()\n );\n }\n\n private inRangeOf(\n datapoint: KPIDetails,\n measurementValue: number,\n minAttribute: string,\n maxAttribute: string\n ): boolean {\n if (\n typeof datapoint[minAttribute] === 'number' &&\n typeof datapoint[maxAttribute] === 'number'\n ) {\n if (\n measurementValue >= datapoint[minAttribute] &&\n measurementValue < datapoint[maxAttribute]\n ) {\n return true;\n }\n }\n return false;\n }\n\n private assignContextFromContextDashboard(datapoint: KPIDetails) {\n if (!this.dashboard?.isDeviceTypeDashboard) {\n return;\n }\n const context = this.dashboard?.context;\n if (context?.id) {\n const { name, id } = context;\n datapoint.__target = { name, id };\n }\n }\n}\n","<div\n class=\"kpi-widget__container d-flex d-col fit-h fit-w a-i-center j-c-center\"\n *ngIf=\"state$ | async as lastState; else noMeasurementFound\"\n>\n <div class=\"d-flex a-i-center j-c-center fit-w\">\n <div\n class=\"m-r-16 flex-no-shrink text-muted\"\n [ngClass]=\"lastState.colorClass\"\n *ngIf=\"config.icon && config.showIcon\"\n >\n <i class=\"icon-32\" [c8yIcon]=\"config.icon\"></i>\n </div>\n <div class=\"text-truncate\">\n <span\n class=\"text-truncate text-medium\"\n [ngClass]=\"lastState.colorClass\"\n [ngStyle]=\"{ 'font-size': (config.fontSize || '36') + 'px' }\"\n title=\"{{\n lastState.colorClass === 'text-danger'\n ? ('Within red range:' | translate)\n : lastState.colorClass === 'text-warning'\n ? ('Within yellow range:' | translate)\n : ''\n }} {{\n lastState.latestMeasurement.value\n | number\n : '1.' +\n (config.numberOfDecimalPlaces || '0') +\n '-' +\n (config.numberOfDecimalPlaces || '0')\n }} {{ lastState.unit || '' }}\"\n >\n {{\n lastState.latestMeasurement.value\n | number\n : '1.' +\n (config.numberOfDecimalPlaces || '0') +\n '-' +\n (config.numberOfDecimalPlaces || '0')\n }}\n <small class=\"text-regular\">{{ lastState.unit || '' }}</small>\n </span>\n </div>\n <div\n class=\"dot dot-info dot-30 m-l-16 flex-no-shrink\"\n *ngIf=\"config?.showTrend && lastState.previousValue as previousValue\"\n >\n <i\n class=\"icon-20\"\n [title]=\"\n ('Previous value' | translate) +\n ': ' +\n (previousValue.value\n | number\n : '1.' +\n (config.numberOfDecimalPlaces || '0') +\n '-' +\n (config.numberOfDecimalPlaces || '0')) +\n ' (' +\n (previousValue.date | date: 'medium') +\n ')'\n \"\n c8yIcon=\"arrow-dotted-up\"\n [ngStyle]=\"{ transform: 'rotate(' + lastState.trend + ')' }\"\n ></i>\n </div>\n </div>\n <div class=\"d-flex j-c-center\">\n <p *ngIf=\"config?.showTimestamp\" class=\"icon-flex text-center text-muted small\">\n <i c8yIcon=\"calendar\"></i>\n {{ lastState.latestMeasurement.date | date: 'medium' }}\n </p>\n </div>\n</div>\n\n<ng-template #noMeasurementFound>\n <div class=\"d-flex fit-h fit-w j-c-center a-i-center\">\n <c8y-ui-empty-state\n *ngIf=\"noDataInitiallyInDB\"\n class=\"fit-w\"\n [icon]=\"'line-chart'\"\n [title]=\"'No measurement to display.' | translate\"\n [subtitle]=\"'Waiting for measurements to be created.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n <c8y-loading *ngIf=\"!noDataInitiallyInDB\"></c8y-loading>\n </div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-widgets-implementations-kpi.mjs","sources":["../../widgets/implementations/kpi/kpi-widget-config/kpi-widget-config.component.ts","../../widgets/implementations/kpi/kpi-widget-config/kpi-widget-config.component.html","../../widgets/implementations/kpi/kpi-widget-view/kpi-widget-view.component.ts","../../widgets/implementations/kpi/kpi-widget-view/kpi-widget-view.component.html","../../widgets/implementations/kpi/c8y-ngx-components-widgets-implementations-kpi.ts"],"sourcesContent":["import { Component, Input, OnInit } from '@angular/core';\nimport {\n AbstractControl,\n ControlContainer,\n FormBuilder,\n NgForm,\n ValidationErrors,\n ValidatorFn,\n Validators\n} from '@angular/forms';\nimport { CoreModule, OnBeforeSave } from '@c8y/ngx-components';\nimport { WidgetConfigComponent } from '@c8y/ngx-components/context-dashboard';\nimport {\n DatapointAttributesFormConfig,\n DatapointSelectorModalOptions,\n DatapointSelectorModule,\n KPIDetails\n} from '@c8y/ngx-components/datapoint-selector';\nimport { Observable } from 'rxjs';\nimport { KpiWidgetConfig } from '../kpi-widget.model';\nimport { IconSelectorModule } from '@c8y/ngx-components/icon-selector';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\n\nexport function exactlyASingleDatapointActive(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const datapoints: KPIDetails[] = control.value;\n\n if (!datapoints || !datapoints.length) {\n return null;\n }\n\n const activeDatapoints = datapoints.filter(datapoint => datapoint.__active);\n\n if (activeDatapoints.length === 1) {\n return null;\n }\n\n return { exactlyOneDatapointNeedsToBeActive: true };\n };\n}\n\n@Component({\n selector: 'c8y-kpi-widget-config',\n templateUrl: './kpi-widget-config.component.html',\n standalone: true,\n imports: [CoreModule, DatapointSelectorModule, IconSelectorModule, PopoverModule],\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\n})\nexport class KpiWidgetConfigComponent implements OnInit, OnBeforeSave {\n @Input() config: KpiWidgetConfig;\n datapointSelectionConfig: Partial<DatapointSelectorModalOptions> = {};\n defaultFormOptions: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true\n };\n formGroup: ReturnType<KpiWidgetConfigComponent['createForm']>;\n availableIcons: string[] = [];\n private limits = {\n fontSizeMax: 72,\n fontSizeMin: 18,\n numberOfDecimalPlacesMax: 10,\n numberOfDecimalPlacesMin: 0\n } as const;\n\n constructor(\n private formBuilder: FormBuilder,\n private form: NgForm,\n private widgetConfig: WidgetConfigComponent\n ) {}\n\n onBeforeSave(config?: KpiWidgetConfig): boolean | Promise<boolean> | Observable<boolean> {\n if (this.formGroup.valid) {\n Object.assign(config, this.formGroup.value);\n return true;\n }\n return false;\n }\n\n async ngOnInit() {\n if (this.widgetConfig.context?.id) {\n this.datapointSelectionConfig.contextAsset = this.widgetConfig?.context;\n }\n this.initForm();\n if (this.config?.datapoints) {\n this.formGroup.patchValue({ datapoints: this.config.datapoints });\n }\n }\n\n private initForm(): void {\n this.formGroup = this.createForm();\n this.form.form.addControl('config', this.formGroup);\n this.formGroup.patchValue(this.config);\n }\n\n private createForm() {\n return this.formBuilder.group({\n numberOfDecimalPlaces: [\n 2,\n [\n Validators.required,\n Validators.min(this.limits.numberOfDecimalPlacesMin),\n Validators.max(this.limits.numberOfDecimalPlacesMax)\n ]\n ],\n showTimestamp: [true, []],\n showTrend: [true, []],\n showIcon: [true, []],\n icon: ['water', [Validators.required, Validators.minLength(1)]],\n fontSize: [\n 36,\n [\n Validators.required,\n Validators.min(this.limits.fontSizeMin),\n Validators.max(this.limits.fontSizeMax)\n ]\n ],\n datapoints: this.formBuilder.control(new Array<KPIDetails>(), [\n Validators.required,\n Validators.minLength(1),\n exactlyASingleDatapointActive()\n ])\n });\n }\n}\n","<div class=\"p-l-24 p-r-24\">\n <form [formGroup]=\"formGroup\" class=\"row no-card-context\">\n <div class=\"col-sm-6 bg-level-0\">\n <c8y-datapoint-selection-list\n [defaultFormOptions]=\"defaultFormOptions\"\n [config]=\"datapointSelectionConfig\"\n [minActiveCount]=\"1\"\n [maxActiveCount]=\"1\"\n formControlName=\"datapoints\"\n name=\"datapoints\"\n class=\"bg-inherit\"\n ></c8y-datapoint-selection-list>\n </div>\n <div class=\"col-sm-6\">\n <div class=\"card-header separator\">\n <div class=\"card-title h4\">{{ 'Layout' | translate }}</div>\n </div>\n <label translate>Icon</label>\n <div class=\"d-flex a-i-center\">\n <c8y-icon-selector-wrapper name=\"icon\" formControlName=\"icon\"></c8y-icon-selector-wrapper>\n </div>\n <c8y-form-group>\n <label [title]=\"'Number of decimal places' | translate\" translate>\n Number of decimal places\n </label>\n <input\n class=\"form-control\"\n formControlName=\"numberOfDecimalPlaces\"\n name=\"numberOfDecimalPlaces\"\n type=\"number\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 1 }\"\n />\n <c8y-messages\n [show]=\"\n formGroup.controls?.numberOfDecimalPlaces?.touched &&\n formGroup?.controls?.numberOfDecimalPlaces?.errors\n \"\n ></c8y-messages>\n </c8y-form-group>\n <div>\n <label>{{ 'Display' | translate }}</label>\n <div class=\"d-flex gap-16 flex-wrap\">\n <c8y-form-group>\n <label [title]=\"'Show timestamp' | translate\" class=\"c8y-checkbox\">\n <input type=\"checkbox\" formControlName=\"showTimestamp\" name=\"showTimestamp\" />\n <span></span>\n <span translate>Show timestamp</span>\n </label>\n </c8y-form-group>\n\n <c8y-form-group>\n <label [title]=\"'Show icon' | translate\" class=\"c8y-checkbox\">\n <input type=\"checkbox\" formControlName=\"showIcon\" name=\"showIcon\" />\n <span></span>\n <span translate>Show icon</span>\n </label>\n </c8y-form-group>\n\n <c8y-form-group>\n <label [title]=\"'Show trend icon' | translate\" class=\"c8y-checkbox\">\n <input type=\"checkbox\" formControlName=\"showTrend\" name=\"showTrend\" />\n <span></span>\n <span translate>Show trend icon</span>\n <button\n class=\"btn-help btn-help--sm\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{\n 'Indicates the trend between the last two measurement values.' | translate\n }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n ></button>\n </label>\n </c8y-form-group>\n </div>\n\n <c8y-form-group>\n <label [title]=\"'Font size of measurement value (px)' | translate\" translate>\n Font size of measurement value (px)\n </label>\n <input\n class=\"form-control\"\n formControlName=\"fontSize\"\n name=\"fontSize\"\n type=\"number\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 36 }\"\n />\n <c8y-messages\n [show]=\"formGroup.controls?.fontSize?.touched && formGroup?.controls?.fontSize?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n </form>\n</div>\n","import { Component, Input, OnInit, Optional } from '@angular/core';\nimport { CoreModule, MeasurementRealtimeService } from '@c8y/ngx-components';\nimport { KPIDetails } from '@c8y/ngx-components/datapoint-selector';\nimport { combineLatest, NEVER, Observable } from 'rxjs';\nimport { distinctUntilChanged, filter, map, pairwise, startWith, tap } from 'rxjs/operators';\nimport { ContextDashboardComponent } from '@c8y/ngx-components/context-dashboard';\nimport { KpiWidgetConfig } from '../kpi-widget.model';\n\ninterface MeasurementValue {\n unit?: string;\n value: number;\n date: string;\n}\n\nenum ColorClass {\n danger = 'text-danger',\n warning = 'text-warning',\n unknown = ''\n}\n\n@Component({\n selector: 'c8y-kpi-widget-view',\n templateUrl: './kpi-widget-view.component.html',\n standalone: true,\n imports: [CoreModule],\n providers: [MeasurementRealtimeService]\n})\nexport class KpiWidgetViewComponent implements OnInit {\n @Input() config: KpiWidgetConfig = { datapoints: [] };\n state$: Observable<{\n latestMeasurement: MeasurementValue;\n previousValue: MeasurementValue | undefined;\n trend: string;\n unit: string;\n colorClass: ColorClass;\n }> = NEVER;\n\n // used to differentiate between loading state and empty state\n noDataInitiallyInDB = false;\n\n constructor(\n private measurementRealtime: MeasurementRealtimeService,\n @Optional() private dashboard: ContextDashboardComponent\n ) {}\n\n async ngOnInit() {\n const datapoints = this.config.datapoints || [];\n const datapoint: KPIDetails = datapoints.find(tmp => tmp.__active);\n if (!datapoint) {\n return;\n }\n\n this.state$ = this.setupObservable(datapoint);\n }\n\n setupObservable(datapoint: KPIDetails): Observable<{\n latestMeasurement: MeasurementValue;\n previousValue: MeasurementValue | undefined;\n trend: string;\n unit: string;\n colorClass: ColorClass;\n }> {\n this.assignContextFromContextDashboard(datapoint);\n const latestMeasurement$ = this.getLatestMeasurement$(datapoint);\n const lastTwoValues$ = this.getLastTwoValuesOfObservable$(latestMeasurement$);\n\n const previousValue$ = lastTwoValues$.pipe(\n map(([previousVal]) => previousVal),\n startWith(undefined as MeasurementValue | undefined)\n );\n\n const unit$ = latestMeasurement$.pipe(\n map(latestMeasurementValue => datapoint.unit || latestMeasurementValue.unit || ''),\n startWith(''),\n distinctUntilChanged()\n );\n\n return combineLatest([\n latestMeasurement$,\n previousValue$,\n this.getTrendOfLatestMeasurements$(lastTwoValues$),\n unit$,\n this.getColorClass$(latestMeasurement$, datapoint)\n ]).pipe(\n map(([latestMeasurement, previousValue, trend, unit, colorClass]) => {\n return {\n latestMeasurement,\n previousValue,\n trend,\n unit,\n colorClass\n };\n })\n );\n }\n\n private getLatestMeasurement$(datapoint: KPIDetails): Observable<MeasurementValue> {\n return this.measurementRealtime\n .latestValueOfSpecificMeasurement$(\n datapoint.fragment,\n datapoint.series,\n datapoint.__target,\n // we only need the last two values in case we want to show a trend\n this.config.showTrend ? 2 : 1,\n // null will be emitted in case no measurement was found initially\n true\n )\n .pipe(\n tap(measurement => {\n if (!measurement) {\n this.noDataInitiallyInDB = true;\n }\n }),\n filter(measurement => !!measurement),\n map(measurement => {\n return {\n unit: measurement[datapoint.fragment][datapoint.series].unit,\n value: measurement[datapoint.fragment][datapoint.series].value,\n date: measurement.time as string\n };\n })\n );\n }\n\n private getColorClass$(\n measurementAndDatapointCombination$: Observable<MeasurementValue>,\n datapoint: KPIDetails\n ): Observable<ColorClass> {\n return measurementAndDatapointCombination$.pipe(\n map(latestMeasurementValue => {\n if (this.inRangeOf(datapoint, latestMeasurementValue.value, 'redRangeMin', 'redRangeMax')) {\n return ColorClass.danger;\n }\n\n if (\n this.inRangeOf(\n datapoint,\n latestMeasurementValue.value,\n 'yellowRangeMin',\n 'yellowRangeMax'\n )\n ) {\n return ColorClass.warning;\n }\n\n return ColorClass.unknown;\n }),\n startWith(ColorClass.unknown),\n distinctUntilChanged()\n );\n }\n\n private getLastTwoValuesOfObservable$<T>(input$: Observable<T>): Observable<T[]> {\n return input$.pipe(pairwise());\n }\n\n private getTrendOfLatestMeasurements$(latestMeasurement$: Observable<MeasurementValue[]>) {\n return latestMeasurement$.pipe(\n map(res => {\n if (res.length === 2) {\n const oldValue = res[0].value;\n const newValue = res[1].value;\n if (oldValue < newValue) {\n return '45deg';\n }\n if (oldValue > newValue) {\n return '135deg';\n }\n }\n return '90deg';\n }),\n startWith('90deg'),\n distinctUntilChanged()\n );\n }\n\n private inRangeOf(\n datapoint: KPIDetails,\n measurementValue: number,\n minAttribute: string,\n maxAttribute: string\n ): boolean {\n if (\n typeof datapoint[minAttribute] === 'number' &&\n typeof datapoint[maxAttribute] === 'number'\n ) {\n if (\n measurementValue >= datapoint[minAttribute] &&\n measurementValue < datapoint[maxAttribute]\n ) {\n return true;\n }\n }\n return false;\n }\n\n private assignContextFromContextDashboard(datapoint: KPIDetails) {\n if (!this.dashboard?.isDeviceTypeDashboard) {\n return;\n }\n const context = this.dashboard?.context;\n if (context?.id) {\n const { name, id } = context;\n datapoint.__target = { name, id };\n }\n }\n}\n","<div\n class=\"kpi-widget__container d-flex d-col fit-h fit-w a-i-center j-c-center\"\n *ngIf=\"state$ | async as lastState; else noMeasurementFound\"\n>\n <div class=\"d-flex a-i-center j-c-center fit-w\">\n <div\n class=\"m-r-16 flex-no-shrink text-muted\"\n [ngClass]=\"lastState.colorClass\"\n *ngIf=\"config.icon && config.showIcon\"\n >\n <i class=\"icon-32\" [c8yIcon]=\"config.icon\"></i>\n </div>\n <div class=\"text-truncate\">\n <span\n class=\"text-truncate text-medium\"\n [ngClass]=\"lastState.colorClass\"\n [ngStyle]=\"{ 'font-size': (config.fontSize || '36') + 'px' }\"\n title=\"{{\n lastState.colorClass === 'text-danger'\n ? ('Within red range:' | translate)\n : lastState.colorClass === 'text-warning'\n ? ('Within yellow range:' | translate)\n : ''\n }} {{\n lastState.latestMeasurement.value\n | number\n : '1.' +\n (config.numberOfDecimalPlaces || '0') +\n '-' +\n (config.numberOfDecimalPlaces || '0')\n }} {{ lastState.unit || '' }}\"\n >\n {{\n lastState.latestMeasurement.value\n | number\n : '1.' +\n (config.numberOfDecimalPlaces || '0') +\n '-' +\n (config.numberOfDecimalPlaces || '0')\n }}\n <small class=\"text-regular\">{{ lastState.unit || '' }}</small>\n </span>\n </div>\n <div\n class=\"dot dot-info dot-30 m-l-16 flex-no-shrink\"\n *ngIf=\"config?.showTrend && lastState.previousValue as previousValue\"\n >\n <i\n class=\"icon-20\"\n [title]=\"\n ('Previous value' | translate) +\n ': ' +\n (previousValue.value\n | number\n : '1.' +\n (config.numberOfDecimalPlaces || '0') +\n '-' +\n (config.numberOfDecimalPlaces || '0')) +\n ' (' +\n (previousValue.date | date: 'medium') +\n ')'\n \"\n c8yIcon=\"arrow-dotted-up\"\n [ngStyle]=\"{ transform: 'rotate(' + lastState.trend + ')' }\"\n ></i>\n </div>\n </div>\n <div class=\"d-flex j-c-center\">\n <p *ngIf=\"config?.showTimestamp\" class=\"icon-flex text-center text-muted small\">\n <i c8yIcon=\"calendar\"></i>\n {{ lastState.latestMeasurement.date | date: 'medium' }}\n </p>\n </div>\n</div>\n\n<ng-template #noMeasurementFound>\n <div class=\"d-flex fit-h fit-w j-c-center a-i-center\">\n <c8y-ui-empty-state\n *ngIf=\"noDataInitiallyInDB\"\n class=\"fit-w\"\n [icon]=\"'line-chart'\"\n [title]=\"'No measurement to display.' | translate\"\n [subtitle]=\"'Waiting for measurements to be created.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n <c8y-loading *ngIf=\"!noDataInitiallyInDB\"></c8y-loading>\n </div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-widgets-implementations-linear-gauge.mjs","sources":["../../widgets/implementations/linear-gauge/linear-gauge-widget-config/linear-gauge-widget-config.component.ts","../../widgets/implementations/linear-gauge/linear-gauge-widget-config/linear-gauge-widget-config.component.html","../../widgets/implementations/linear-gauge/linear-gauge-widget-view/linear-gauge-widget-view.component.ts","../../widgets/implementations/linear-gauge/linear-gauge-widget-view/linear-gauge-widget-view.component.html","../../widgets/implementations/linear-gauge/linear-gauge.module.ts","../../widgets/implementations/linear-gauge/c8y-ngx-components-widgets-implementations-linear-gauge.ts"],"sourcesContent":["import { Component, Input, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { FormBuilder, NgForm, ReactiveFormsModule, Validators } from '@angular/forms';\nimport type {\n DatapointAttributesFormConfig,\n DatapointSelectorModalOptions,\n KPIDetails\n} from '@c8y/ngx-components/datapoint-selector';\nimport { WidgetConfigComponent } from '@c8y/ngx-components/context-dashboard';\nimport { CoreModule, OnBeforeSave } from '@c8y/ngx-components';\nimport { DatapointSelectorModule } from '@c8y/ngx-components/datapoint-selector';\n\n@Component({\n selector: 'c8y-linear-gauge-widget-config',\n templateUrl: './linear-gauge-widget-config.component.html',\n standalone: true,\n imports: [DatapointSelectorModule, ReactiveFormsModule, CoreModule]\n})\nexport class LinearGaugeWidgetConfigComponent implements OnInit, OnBeforeSave {\n @Input() config: {\n datapoints: KPIDetails[];\n fractionSize: number;\n };\n formGroup: ReturnType<LinearGaugeWidgetConfigComponent['createForm']>;\n datapointSelectionConfig: Partial<DatapointSelectorModalOptions> = {};\n defaultFormOptions: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true,\n showRange: true,\n showTarget: true\n };\n private limits = {\n numberOfDecimalPlacesMax: 10,\n numberOfDecimalPlacesMin: 0\n } as const;\n\n constructor(\n private formBuilder: FormBuilder,\n private form: NgForm,\n private widgetConfig: WidgetConfigComponent\n ) {}\n\n onBeforeSave(\n config?: LinearGaugeWidgetConfigComponent['config']\n ): boolean | Promise<boolean> | Observable<boolean> {\n if (this.formGroup.valid) {\n Object.assign(config, this.formGroup.value);\n return true;\n }\n return false;\n }\n\n ngOnInit() {\n if (this.widgetConfig.context?.id) {\n this.datapointSelectionConfig.contextAsset = this.widgetConfig?.context;\n }\n this.initForm();\n if (this.config?.datapoints) {\n this.formGroup.patchValue({ datapoints: this.config.datapoints });\n }\n if (typeof this.config?.fractionSize === 'number' && !Number.isNaN(this.config?.fractionSize)) {\n this.formGroup.patchValue({ fractionSize: this.config.fractionSize });\n }\n }\n\n private initForm(): void {\n this.formGroup = this.createForm();\n this.form.form.addControl('config', this.formGroup);\n this.formGroup.patchValue(this.config);\n }\n\n private createForm() {\n return this.formBuilder.group({\n fractionSize: [\n 1,\n [\n Validators.required,\n Validators.min(this.limits.numberOfDecimalPlacesMin),\n Validators.max(this.limits.numberOfDecimalPlacesMax)\n ]\n ],\n datapoints: this.formBuilder.control(new Array<KPIDetails>(), [Validators.required])\n });\n }\n}\n","<div class=\"p-l-24 p-r-24\">\n <form\n class=\"no-card-context\"\n [formGroup]=\"formGroup\"\n >\n <div class=\"row\">\n <div class=\"col-md-6\">\n <c8y-datapoint-selection-list\n class=\"bg-inherit p-t-8 d-block\"\n name=\"datapoints\"\n [defaultFormOptions]=\"defaultFormOptions\"\n [config]=\"datapointSelectionConfig\"\n [minActiveCount]=\"1\"\n [maxActiveCount]=\"1\"\n formControlName=\"datapoints\"\n ></c8y-datapoint-selection-list>\n </div>\n\n <div class=\"col-md-6\">\n <c8y-form-group class=\"p-t-8\">\n <label translate>Decimal places</label>\n <input\n class=\"form-control\"\n name=\"fractionSize\"\n type=\"number\"\n formControlName=\"fractionSize\"\n step=\"1\"\n />\n <c8y-messages [show]=\"formGroup.controls.fractionSize.errors\"></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n </form>\n</div>\n","import { Component, Input, OnChanges, Optional } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Observable, BehaviorSubject } from 'rxjs';\nimport { distinctUntilChanged, filter, map, shareReplay, switchMap } from 'rxjs/operators';\nimport {\n DynamicComponent,\n DynamicComponentAlert,\n DynamicComponentAlertAggregator,\n DynamicComponentComponent,\n MeasurementRealtimeService,\n RangeDisplay,\n RangeDisplayModule,\n gettext\n} from '@c8y/ngx-components';\nimport type { KPIDetails } from '@c8y/ngx-components/datapoint-selector';\nimport { IMeasurementValue } from '@c8y/client';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { AsyncPipe, NgClass, NgIf } from '@angular/common';\nimport { ContextDashboardComponent } from '@c8y/ngx-components/context-dashboard';\n\n@Component({\n selector: 'c8y-linear-gauge-widget-view',\n templateUrl: './linear-gauge-widget-view.component.html',\n providers: [MeasurementRealtimeService],\n standalone: true,\n imports: [NgIf, NgClass, AsyncPipe, RangeDisplayModule]\n})\nexport class LinearGaugeWidgetViewComponent implements OnChanges, DynamicComponent {\n @Input() config: {\n datapoints: KPIDetails[];\n fractionSize: number;\n orientation?: 'horizontal' | 'vertical';\n };\n\n rangeDisplayConfig$: Observable<RangeDisplay>;\n alerts: DynamicComponentAlertAggregator;\n private activeDatapoint$ = new BehaviorSubject<KPIDetails>(null);\n\n constructor(\n private measurementRealtime: MeasurementRealtimeService,\n @Optional() private dashboard: ContextDashboardComponent,\n @Optional() private dynamicComponent?: DynamicComponentComponent\n ) {\n const activeDatapoint = this.activeDatapoint$.pipe(\n filter(dp => !!dp),\n map(dp => this.assignContextFromContextDashboard(dp)),\n distinctUntilChanged()\n );\n this.rangeDisplayConfig$ = activeDatapoint.pipe(\n switchMap(dp => this.getRangeDisplayConfig$(dp)),\n shareReplay({ refCount: true, bufferSize: 1 })\n );\n this.rangeDisplayConfig$\n .pipe(\n map(data => this.getErrorType(data)),\n distinctUntilChanged<ReturnType<LinearGaugeWidgetViewComponent['getErrorType']>>(),\n takeUntilDestroyed<ReturnType<LinearGaugeWidgetViewComponent['getErrorType']>>()\n )\n .subscribe(inRange => this.updateAlertStatus(inRange));\n }\n\n ngOnChanges(): void {\n const activeDp = this.config.datapoints.find(dp => dp.__active);\n this.activeDatapoint$.next(activeDp);\n }\n\n private getRangeDisplayConfig$(dp: KPIDetails): Observable<RangeDisplay> {\n return this.measurementRealtime\n .latestValueOfSpecificMeasurement$(dp.fragment, dp.series, dp.__target, 1, true)\n .pipe(\n map(m => {\n if (!m) {\n return null;\n }\n const date = m.time;\n const measurement: IMeasurementValue = m[dp.fragment][dp.series];\n return {\n current: measurement.value,\n fractionSize: this.config.fractionSize || 1,\n max: dp.max,\n min: dp.min,\n redRangeMax: dp.redRangeMax,\n redRangeMin: dp.redRangeMin,\n target: dp.target,\n time: date,\n yellowRangeMax: dp.yellowRangeMax,\n yellowRangeMin: dp.yellowRangeMin,\n unit: measurement.unit || dp.unit,\n orientation: this.getOrientation()\n };\n })\n );\n }\n\n private assignContextFromContextDashboard(datapoint: KPIDetails): KPIDetails {\n if (!this.dashboard?.isDeviceTypeDashboard) {\n return datapoint;\n }\n const context = this.dashboard?.context;\n if (context?.id) {\n const { name, id } = context;\n datapoint.__target = { name, id };\n }\n return datapoint;\n }\n\n private getOrientation(): 'horizontal' | 'vertical' {\n return this.dynamicComponent?.componentId === defaultWidgetIds.LINEAR_GAUGE\n ? 'horizontal'\n : 'vertical';\n }\n\n private getErrorType(data: RangeDisplay | null) {\n if (!data) {\n return 'NOT_FOUND';\n }\n\n if (!this.isInRange(data)) {\n return 'OUT_OF_RANGE';\n }\n\n return 'NONE';\n }\n\n private isInRange(data: RangeDisplay): boolean {\n if (!Number.isFinite(data.max) || !Number.isFinite(data.min)) {\n // default range is 0-100\n return data.current <= 100 && data.current >= 0;\n }\n return data.current <= data.max && data.current >= data.min;\n }\n\n private updateAlertStatus(\n errorType: ReturnType<LinearGaugeWidgetViewComponent['getErrorType']>\n ): void {\n if (!this.alerts) {\n return;\n }\n this.alerts.clear();\n let msg: string;\n if (errorType === 'OUT_OF_RANGE') {\n msg = gettext('Current value out of defined range.');\n } else if (errorType === 'NOT_FOUND') {\n msg = gettext('Configured data point not available on the selected device.');\n }\n\n if (!msg) {\n return;\n }\n\n this.alerts.addAlerts(\n new DynamicComponentAlert({\n type: 'warning',\n text: msg\n })\n );\n }\n}\n","<div\n class=\"p-l-16 p-r-16 p-b-16 fit-h d-flex d-col flex-center\"\n *ngIf=\"rangeDisplayConfig$ | async as rangeDisplayConfig\"\n [ngClass]=\"{\n 'p-t-40 j-c-center': rangeDisplayConfig.orientation === 'horizontal',\n }\"\n>\n <c8y-range-display [config]=\"rangeDisplayConfig\" [ngClass]=\"{'flex-grow': rangeDisplayConfig.orientation == 'vertical'}\"></c8y-range-display>\n</div>\n","import { NgModule } from '@angular/core';\nimport { LinearGaugeWidgetConfigComponent } from './linear-gauge-widget-config/linear-gauge-widget-config.component';\nimport { LinearGaugeWidgetViewComponent } from './linear-gauge-widget-view/linear-gauge-widget-view.component';\n\n/**\n * @deprecated\n */\n@NgModule({\n imports: [LinearGaugeWidgetViewComponent, LinearGaugeWidgetConfigComponent]\n})\nexport class LinearGaugeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-widgets-implementations-linear-gauge.mjs","sources":["../../widgets/implementations/linear-gauge/linear-gauge-widget-config/linear-gauge-widget-config.component.ts","../../widgets/implementations/linear-gauge/linear-gauge-widget-config/linear-gauge-widget-config.component.html","../../widgets/implementations/linear-gauge/linear-gauge-widget-view/linear-gauge-widget-view.component.ts","../../widgets/implementations/linear-gauge/linear-gauge-widget-view/linear-gauge-widget-view.component.html","../../widgets/implementations/linear-gauge/linear-gauge.module.ts","../../widgets/implementations/linear-gauge/c8y-ngx-components-widgets-implementations-linear-gauge.ts"],"sourcesContent":["import { Component, Input, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { FormBuilder, NgForm, ReactiveFormsModule, Validators } from '@angular/forms';\nimport type {\n DatapointAttributesFormConfig,\n DatapointSelectorModalOptions,\n KPIDetails\n} from '@c8y/ngx-components/datapoint-selector';\nimport { WidgetConfigComponent } from '@c8y/ngx-components/context-dashboard';\nimport { CoreModule, OnBeforeSave } from '@c8y/ngx-components';\nimport { DatapointSelectorModule } from '@c8y/ngx-components/datapoint-selector';\n\n@Component({\n selector: 'c8y-linear-gauge-widget-config',\n templateUrl: './linear-gauge-widget-config.component.html',\n standalone: true,\n imports: [DatapointSelectorModule, ReactiveFormsModule, CoreModule]\n})\nexport class LinearGaugeWidgetConfigComponent implements OnInit, OnBeforeSave {\n @Input() config: {\n datapoints: KPIDetails[];\n fractionSize: number;\n };\n formGroup: ReturnType<LinearGaugeWidgetConfigComponent['createForm']>;\n datapointSelectionConfig: Partial<DatapointSelectorModalOptions> = {};\n defaultFormOptions: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true,\n showRange: true,\n showTarget: true\n };\n private limits = {\n numberOfDecimalPlacesMax: 10,\n numberOfDecimalPlacesMin: 0\n } as const;\n\n constructor(\n private formBuilder: FormBuilder,\n private form: NgForm,\n private widgetConfig: WidgetConfigComponent\n ) {}\n\n onBeforeSave(\n config?: LinearGaugeWidgetConfigComponent['config']\n ): boolean | Promise<boolean> | Observable<boolean> {\n if (this.formGroup.valid) {\n Object.assign(config, this.formGroup.value);\n return true;\n }\n return false;\n }\n\n ngOnInit() {\n if (this.widgetConfig.context?.id) {\n this.datapointSelectionConfig.contextAsset = this.widgetConfig?.context;\n }\n this.initForm();\n if (this.config?.datapoints) {\n this.formGroup.patchValue({ datapoints: this.config.datapoints });\n }\n if (typeof this.config?.fractionSize === 'number' && !Number.isNaN(this.config?.fractionSize)) {\n this.formGroup.patchValue({ fractionSize: this.config.fractionSize });\n }\n }\n\n private initForm(): void {\n this.formGroup = this.createForm();\n this.form.form.addControl('config', this.formGroup);\n this.formGroup.patchValue(this.config);\n }\n\n private createForm() {\n return this.formBuilder.group({\n fractionSize: [\n 2,\n [\n Validators.required,\n Validators.min(this.limits.numberOfDecimalPlacesMin),\n Validators.max(this.limits.numberOfDecimalPlacesMax)\n ]\n ],\n datapoints: this.formBuilder.control(new Array<KPIDetails>(), [Validators.required])\n });\n }\n}\n","<div class=\"p-l-24 p-r-24\">\n <form\n class=\"no-card-context\"\n [formGroup]=\"formGroup\"\n >\n <div class=\"row\">\n <div class=\"col-md-6\">\n <c8y-datapoint-selection-list\n class=\"bg-inherit p-t-8 d-block\"\n name=\"datapoints\"\n [defaultFormOptions]=\"defaultFormOptions\"\n [config]=\"datapointSelectionConfig\"\n [minActiveCount]=\"1\"\n [maxActiveCount]=\"1\"\n formControlName=\"datapoints\"\n ></c8y-datapoint-selection-list>\n </div>\n\n <div class=\"col-md-6\">\n <c8y-form-group class=\"p-t-8\">\n <label translate>Decimal places</label>\n <input\n class=\"form-control\"\n name=\"fractionSize\"\n type=\"number\"\n formControlName=\"fractionSize\"\n step=\"1\"\n />\n <c8y-messages [show]=\"formGroup.controls.fractionSize.errors\"></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n </form>\n</div>\n","import { Component, Input, OnChanges, Optional } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Observable, BehaviorSubject } from 'rxjs';\nimport { distinctUntilChanged, filter, map, shareReplay, switchMap } from 'rxjs/operators';\nimport {\n DynamicComponent,\n DynamicComponentAlert,\n DynamicComponentAlertAggregator,\n DynamicComponentComponent,\n MeasurementRealtimeService,\n RangeDisplay,\n RangeDisplayModule,\n gettext\n} from '@c8y/ngx-components';\nimport type { KPIDetails } from '@c8y/ngx-components/datapoint-selector';\nimport { IMeasurementValue } from '@c8y/client';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { AsyncPipe, NgClass, NgIf } from '@angular/common';\nimport { ContextDashboardComponent } from '@c8y/ngx-components/context-dashboard';\n\n@Component({\n selector: 'c8y-linear-gauge-widget-view',\n templateUrl: './linear-gauge-widget-view.component.html',\n providers: [MeasurementRealtimeService],\n standalone: true,\n imports: [NgIf, NgClass, AsyncPipe, RangeDisplayModule]\n})\nexport class LinearGaugeWidgetViewComponent implements OnChanges, DynamicComponent {\n @Input() config: {\n datapoints: KPIDetails[];\n fractionSize: number;\n orientation?: 'horizontal' | 'vertical';\n };\n\n rangeDisplayConfig$: Observable<RangeDisplay>;\n alerts: DynamicComponentAlertAggregator;\n private activeDatapoint$ = new BehaviorSubject<KPIDetails>(null);\n\n constructor(\n private measurementRealtime: MeasurementRealtimeService,\n @Optional() private dashboard: ContextDashboardComponent,\n @Optional() private dynamicComponent?: DynamicComponentComponent\n ) {\n const activeDatapoint = this.activeDatapoint$.pipe(\n filter(dp => !!dp),\n map(dp => this.assignContextFromContextDashboard(dp)),\n distinctUntilChanged()\n );\n this.rangeDisplayConfig$ = activeDatapoint.pipe(\n switchMap(dp => this.getRangeDisplayConfig$(dp)),\n shareReplay({ refCount: true, bufferSize: 1 })\n );\n this.rangeDisplayConfig$\n .pipe(\n map(data => this.getErrorType(data)),\n distinctUntilChanged<ReturnType<LinearGaugeWidgetViewComponent['getErrorType']>>(),\n takeUntilDestroyed<ReturnType<LinearGaugeWidgetViewComponent['getErrorType']>>()\n )\n .subscribe(inRange => this.updateAlertStatus(inRange));\n }\n\n ngOnChanges(): void {\n const activeDp = this.config.datapoints.find(dp => dp.__active);\n this.activeDatapoint$.next(activeDp);\n }\n\n private getRangeDisplayConfig$(dp: KPIDetails): Observable<RangeDisplay> {\n return this.measurementRealtime\n .latestValueOfSpecificMeasurement$(dp.fragment, dp.series, dp.__target, 1, true)\n .pipe(\n map(m => {\n if (!m) {\n return null;\n }\n const date = m.time;\n const measurement: IMeasurementValue = m[dp.fragment][dp.series];\n return {\n current: measurement.value,\n fractionSize: this.config.fractionSize || 1,\n max: dp.max,\n min: dp.min,\n redRangeMax: dp.redRangeMax,\n redRangeMin: dp.redRangeMin,\n target: dp.target,\n time: date,\n yellowRangeMax: dp.yellowRangeMax,\n yellowRangeMin: dp.yellowRangeMin,\n unit: measurement.unit || dp.unit,\n orientation: this.getOrientation()\n };\n })\n );\n }\n\n private assignContextFromContextDashboard(datapoint: KPIDetails): KPIDetails {\n if (!this.dashboard?.isDeviceTypeDashboard) {\n return datapoint;\n }\n const context = this.dashboard?.context;\n if (context?.id) {\n const { name, id } = context;\n datapoint.__target = { name, id };\n }\n return datapoint;\n }\n\n private getOrientation(): 'horizontal' | 'vertical' {\n return this.dynamicComponent?.componentId === defaultWidgetIds.LINEAR_GAUGE\n ? 'horizontal'\n : 'vertical';\n }\n\n private getErrorType(data: RangeDisplay | null) {\n if (!data) {\n return 'NOT_FOUND';\n }\n\n if (!this.isInRange(data)) {\n return 'OUT_OF_RANGE';\n }\n\n return 'NONE';\n }\n\n private isInRange(data: RangeDisplay): boolean {\n if (!Number.isFinite(data.max) || !Number.isFinite(data.min)) {\n // default range is 0-100\n return data.current <= 100 && data.current >= 0;\n }\n return data.current <= data.max && data.current >= data.min;\n }\n\n private updateAlertStatus(\n errorType: ReturnType<LinearGaugeWidgetViewComponent['getErrorType']>\n ): void {\n if (!this.alerts) {\n return;\n }\n this.alerts.clear();\n let msg: string;\n if (errorType === 'OUT_OF_RANGE') {\n msg = gettext('Current value out of defined range.');\n } else if (errorType === 'NOT_FOUND') {\n msg = gettext('Configured data point not available on the selected device.');\n }\n\n if (!msg) {\n return;\n }\n\n this.alerts.addAlerts(\n new DynamicComponentAlert({\n type: 'warning',\n text: msg\n })\n );\n }\n}\n","<div\n class=\"p-l-16 p-r-16 p-b-16 fit-h d-flex d-col flex-center\"\n *ngIf=\"rangeDisplayConfig$ | async as rangeDisplayConfig\"\n [ngClass]=\"{\n 'p-t-40 j-c-center': rangeDisplayConfig.orientation === 'horizontal',\n }\"\n>\n <c8y-range-display [config]=\"rangeDisplayConfig\" [ngClass]=\"{'flex-grow': rangeDisplayConfig.orientation == 'vertical'}\"></c8y-range-display>\n</div>\n","import { NgModule } from '@angular/core';\nimport { LinearGaugeWidgetConfigComponent } from './linear-gauge-widget-config/linear-gauge-widget-config.component';\nimport { LinearGaugeWidgetViewComponent } from './linear-gauge-widget-view/linear-gauge-widget-view.component';\n\n/**\n * @deprecated\n */\n@NgModule({\n imports: [LinearGaugeWidgetViewComponent, LinearGaugeWidgetConfigComponent]\n})\nexport class LinearGaugeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4","i1"],"mappings":"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"}
|
package/locales/de.po
CHANGED
package/locales/es.po
CHANGED
package/locales/fr.po
CHANGED
package/locales/nl.po
CHANGED
package/locales/pl.po
CHANGED
package/locales/pt_BR.po
CHANGED
|
@@ -3,7 +3,7 @@ msgstr ""
|
|
|
3
3
|
"Project-Id-Version: c8y-cumulocity-ui\n"
|
|
4
4
|
"Report-Msgid-Bugs-To: \n"
|
|
5
5
|
"POT-Creation-Date: \n"
|
|
6
|
-
"PO-Revision-Date: 2025-01-
|
|
6
|
+
"PO-Revision-Date: 2025-01-10 12:12\n"
|
|
7
7
|
"Last-Translator: \n"
|
|
8
8
|
"Language: pt_BR\n"
|
|
9
9
|
"Language-Team: Portuguese, Brazilian\n"
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@c8y/ngx-components","version":"1021.30.3","license":"Apache-2.0","author":"Cumulocity","description":"Angular modules for Cumulocity IoT applications","keywords":["Cumulocity","IoT","m2m","Angular","Components"],"peerDependencies":{"@angular/cdk":"^18.2.0","@angular/common":"^18.2.0","@angular/core":"^18.2.0","@angular/forms":"^18.2.0","@angular/platform-browser":"^18.2.0","@angular/router":"^18.2.0","@angular/upgrade":"^18.2.0","@c8y/bootstrap":"1021.30.3","@c8y/client":"1021.30.3","leaflet":"^1.7.1","rxjs":"^7.4.0"},"dependencies":{"@ngx-formly/core":"6.1.3","@ngx-translate/core":"15.0.0","@ngx-translate/http-loader":"8.0.0","angularx-qrcode":"18.0.1","@zip.js/zip.js":"2.7.52","chroma-js":"3.1.2","file-saver":"2.0.5","libphonenumber-js":"1.11.9","lodash-es":"^4.0.0","ngx-bootstrap":"18.0.0","marked":"14.1.2","monaco-editor":"^0.52.0","semver":"~7.6.0","three":"0.154.0","tslib":"^2.6.3"},"module":"fesm2022/c8y-ngx-components.mjs","typings":"index.d.ts","exports":{"./locales/de.po":"./locales/de.po","./locales/en.po":"./locales/en.po","./locales/es.po":"./locales/es.po","./locales/fr.po":"./locales/fr.po","./locales/ja_JP.po":"./locales/ja_JP.po","./locales/ko.po":"./locales/ko.po","./locales/nl.po":"./locales/nl.po","./locales/pt_BR.po":"./locales/pt_BR.po","./locales/zh_CN.po":"./locales/zh_CN.po","./locales/zh_TW.po":"./locales/zh_TW.po","./locales/pl.po":"./locales/pl.po","./locales/en_US.po":"./locales/en_US.po","./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2022":"./esm2022/c8y-ngx-components.mjs","esm":"./esm2022/c8y-ngx-components.mjs","default":"./fesm2022/c8y-ngx-components.mjs"},"./actility-device-registration":{"types":"./actility-device-registration/index.d.ts","esm2022":"./esm2022/actility-device-registration/c8y-ngx-components-actility-device-registration.mjs","esm":"./esm2022/actility-device-registration/c8y-ngx-components-actility-device-registration.mjs","default":"./fesm2022/c8y-ngx-components-actility-device-registration.mjs"},"./advanced-software-management":{"types":"./advanced-software-management/index.d.ts","esm2022":"./esm2022/advanced-software-management/c8y-ngx-components-advanced-software-management.mjs","esm":"./esm2022/advanced-software-management/c8y-ngx-components-advanced-software-management.mjs","default":"./fesm2022/c8y-ngx-components-advanced-software-management.mjs"},"./alarm-event-selector":{"types":"./alarm-event-selector/index.d.ts","esm2022":"./esm2022/alarm-event-selector/c8y-ngx-components-alarm-event-selector.mjs","esm":"./esm2022/alarm-event-selector/c8y-ngx-components-alarm-event-selector.mjs","default":"./fesm2022/c8y-ngx-components-alarm-event-selector.mjs"},"./alarms":{"types":"./alarms/index.d.ts","esm2022":"./esm2022/alarms/c8y-ngx-components-alarms.mjs","esm":"./esm2022/alarms/c8y-ngx-components-alarms.mjs","default":"./fesm2022/c8y-ngx-components-alarms.mjs"},"./api":{"types":"./api/index.d.ts","esm2022":"./esm2022/api/c8y-ngx-components-api.mjs","esm":"./esm2022/api/c8y-ngx-components-api.mjs","default":"./fesm2022/c8y-ngx-components-api.mjs"},"./app-logs":{"types":"./app-logs/index.d.ts","esm2022":"./esm2022/app-logs/c8y-ngx-components-app-logs.mjs","esm":"./esm2022/app-logs/c8y-ngx-components-app-logs.mjs","default":"./fesm2022/c8y-ngx-components-app-logs.mjs"},"./assets-navigator":{"types":"./assets-navigator/index.d.ts","esm2022":"./esm2022/assets-navigator/c8y-ngx-components-assets-navigator.mjs","esm":"./esm2022/assets-navigator/c8y-ngx-components-assets-navigator.mjs","default":"./fesm2022/c8y-ngx-components-assets-navigator.mjs"},"./auth-configuration":{"types":"./auth-configuration/index.d.ts","esm2022":"./esm2022/auth-configuration/c8y-ngx-components-auth-configuration.mjs","esm":"./esm2022/auth-configuration/c8y-ngx-components-auth-configuration.mjs","default":"./fesm2022/c8y-ngx-components-auth-configuration.mjs"},"./binary-file-download":{"types":"./binary-file-download/index.d.ts","esm2022":"./esm2022/binary-file-download/c8y-ngx-components-binary-file-download.mjs","esm":"./esm2022/binary-file-download/c8y-ngx-components-binary-file-download.mjs","default":"./fesm2022/c8y-ngx-components-binary-file-download.mjs"},"./bookmarks":{"types":"./bookmarks/index.d.ts","esm2022":"./esm2022/bookmarks/c8y-ngx-components-bookmarks.mjs","esm":"./esm2022/bookmarks/c8y-ngx-components-bookmarks.mjs","default":"./fesm2022/c8y-ngx-components-bookmarks.mjs"},"./child-devices":{"types":"./child-devices/index.d.ts","esm2022":"./esm2022/child-devices/c8y-ngx-components-child-devices.mjs","esm":"./esm2022/child-devices/c8y-ngx-components-child-devices.mjs","default":"./fesm2022/c8y-ngx-components-child-devices.mjs"},"./cockpit-config":{"types":"./cockpit-config/index.d.ts","esm2022":"./esm2022/cockpit-config/c8y-ngx-components-cockpit-config.mjs","esm":"./esm2022/cockpit-config/c8y-ngx-components-cockpit-config.mjs","default":"./fesm2022/c8y-ngx-components-cockpit-config.mjs"},"./connectivity":{"types":"./connectivity/index.d.ts","esm2022":"./esm2022/connectivity/c8y-ngx-components-connectivity.mjs","esm":"./esm2022/connectivity/c8y-ngx-components-connectivity.mjs","default":"./fesm2022/c8y-ngx-components-connectivity.mjs"},"./context-dashboard":{"types":"./context-dashboard/index.d.ts","esm2022":"./esm2022/context-dashboard/c8y-ngx-components-context-dashboard.mjs","esm":"./esm2022/context-dashboard/c8y-ngx-components-context-dashboard.mjs","default":"./fesm2022/c8y-ngx-components-context-dashboard.mjs"},"./data-broker":{"types":"./data-broker/index.d.ts","esm2022":"./esm2022/data-broker/c8y-ngx-components-data-broker.mjs","esm":"./esm2022/data-broker/c8y-ngx-components-data-broker.mjs","default":"./fesm2022/c8y-ngx-components-data-broker.mjs"},"./data-grid-columns":{"types":"./data-grid-columns/index.d.ts","esm2022":"./esm2022/data-grid-columns/c8y-ngx-components-data-grid-columns.mjs","esm":"./esm2022/data-grid-columns/c8y-ngx-components-data-grid-columns.mjs","default":"./fesm2022/c8y-ngx-components-data-grid-columns.mjs"},"./datapoint-library":{"types":"./datapoint-library/index.d.ts","esm2022":"./esm2022/datapoint-library/c8y-ngx-components-datapoint-library.mjs","esm":"./esm2022/datapoint-library/c8y-ngx-components-datapoint-library.mjs","default":"./fesm2022/c8y-ngx-components-datapoint-library.mjs"},"./datapoint-selector":{"types":"./datapoint-selector/index.d.ts","esm2022":"./esm2022/datapoint-selector/c8y-ngx-components-datapoint-selector.mjs","esm":"./esm2022/datapoint-selector/c8y-ngx-components-datapoint-selector.mjs","default":"./fesm2022/c8y-ngx-components-datapoint-selector.mjs"},"./datapoints-export-selector":{"types":"./datapoints-export-selector/index.d.ts","esm2022":"./esm2022/datapoints-export-selector/c8y-ngx-components-datapoints-export-selector.mjs","esm":"./esm2022/datapoints-export-selector/c8y-ngx-components-datapoints-export-selector.mjs","default":"./fesm2022/c8y-ngx-components-datapoints-export-selector.mjs"},"./default-subscriptions":{"types":"./default-subscriptions/index.d.ts","esm2022":"./esm2022/default-subscriptions/c8y-ngx-components-default-subscriptions.mjs","esm":"./esm2022/default-subscriptions/c8y-ngx-components-default-subscriptions.mjs","default":"./fesm2022/c8y-ngx-components-default-subscriptions.mjs"},"./device-grid":{"types":"./device-grid/index.d.ts","esm2022":"./esm2022/device-grid/c8y-ngx-components-device-grid.mjs","esm":"./esm2022/device-grid/c8y-ngx-components-device-grid.mjs","default":"./fesm2022/c8y-ngx-components-device-grid.mjs"},"./device-list":{"types":"./device-list/index.d.ts","esm2022":"./esm2022/device-list/c8y-ngx-components-device-list.mjs","esm":"./esm2022/device-list/c8y-ngx-components-device-list.mjs","default":"./fesm2022/c8y-ngx-components-device-list.mjs"},"./device-map":{"types":"./device-map/index.d.ts","esm2022":"./esm2022/device-map/c8y-ngx-components-device-map.mjs","esm":"./esm2022/device-map/c8y-ngx-components-device-map.mjs","default":"./fesm2022/c8y-ngx-components-device-map.mjs"},"./device-profile":{"types":"./device-profile/index.d.ts","esm2022":"./esm2022/device-profile/c8y-ngx-components-device-profile.mjs","esm":"./esm2022/device-profile/c8y-ngx-components-device-profile.mjs","default":"./fesm2022/c8y-ngx-components-device-profile.mjs"},"./device-protocol-object-mappings":{"types":"./device-protocol-object-mappings/index.d.ts","esm2022":"./esm2022/device-protocol-object-mappings/c8y-ngx-components-device-protocol-object-mappings.mjs","esm":"./esm2022/device-protocol-object-mappings/c8y-ngx-components-device-protocol-object-mappings.mjs","default":"./fesm2022/c8y-ngx-components-device-protocol-object-mappings.mjs"},"./device-protocols":{"types":"./device-protocols/index.d.ts","esm2022":"./esm2022/device-protocols/c8y-ngx-components-device-protocols.mjs","esm":"./esm2022/device-protocols/c8y-ngx-components-device-protocols.mjs","default":"./fesm2022/c8y-ngx-components-device-protocols.mjs"},"./device-shell":{"types":"./device-shell/index.d.ts","esm2022":"./esm2022/device-shell/c8y-ngx-components-device-shell.mjs","esm":"./esm2022/device-shell/c8y-ngx-components-device-shell.mjs","default":"./fesm2022/c8y-ngx-components-device-shell.mjs"},"./diagnostics":{"types":"./diagnostics/index.d.ts","esm2022":"./esm2022/diagnostics/c8y-ngx-components-diagnostics.mjs","esm":"./esm2022/diagnostics/c8y-ngx-components-diagnostics.mjs","default":"./fesm2022/c8y-ngx-components-diagnostics.mjs"},"./ecosystem":{"types":"./ecosystem/index.d.ts","esm2022":"./esm2022/ecosystem/c8y-ngx-components-ecosystem.mjs","esm":"./esm2022/ecosystem/c8y-ngx-components-ecosystem.mjs","default":"./fesm2022/c8y-ngx-components-ecosystem.mjs"},"./editor":{"types":"./editor/index.d.ts","esm2022":"./esm2022/editor/c8y-ngx-components-editor.mjs","esm":"./esm2022/editor/c8y-ngx-components-editor.mjs","default":"./fesm2022/c8y-ngx-components-editor.mjs"},"./file-preview":{"types":"./file-preview/index.d.ts","esm2022":"./esm2022/file-preview/c8y-ngx-components-file-preview.mjs","esm":"./esm2022/file-preview/c8y-ngx-components-file-preview.mjs","default":"./fesm2022/c8y-ngx-components-file-preview.mjs"},"./files-repository":{"types":"./files-repository/index.d.ts","esm2022":"./esm2022/files-repository/c8y-ngx-components-files-repository.mjs","esm":"./esm2022/files-repository/c8y-ngx-components-files-repository.mjs","default":"./fesm2022/c8y-ngx-components-files-repository.mjs"},"./gettext":{"types":"./gettext/index.d.ts","esm2022":"./esm2022/gettext/c8y-ngx-components-gettext.mjs","esm":"./esm2022/gettext/c8y-ngx-components-gettext.mjs","default":"./fesm2022/c8y-ngx-components-gettext.mjs"},"./icon-selector":{"types":"./icon-selector/index.d.ts","esm2022":"./esm2022/icon-selector/c8y-ngx-components-icon-selector.mjs","esm":"./esm2022/icon-selector/c8y-ngx-components-icon-selector.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector.mjs"},"./interval-picker":{"types":"./interval-picker/index.d.ts","esm2022":"./esm2022/interval-picker/c8y-ngx-components-interval-picker.mjs","esm":"./esm2022/interval-picker/c8y-ngx-components-interval-picker.mjs","default":"./fesm2022/c8y-ngx-components-interval-picker.mjs"},"./location":{"types":"./location/index.d.ts","esm2022":"./esm2022/location/c8y-ngx-components-location.mjs","esm":"./esm2022/location/c8y-ngx-components-location.mjs","default":"./fesm2022/c8y-ngx-components-location.mjs"},"./loriot-device-registration":{"types":"./loriot-device-registration/index.d.ts","esm2022":"./esm2022/loriot-device-registration/c8y-ngx-components-loriot-device-registration.mjs","esm":"./esm2022/loriot-device-registration/c8y-ngx-components-loriot-device-registration.mjs","default":"./fesm2022/c8y-ngx-components-loriot-device-registration.mjs"},"./map":{"types":"./map/index.d.ts","esm2022":"./esm2022/map/c8y-ngx-components-map.mjs","esm":"./esm2022/map/c8y-ngx-components-map.mjs","default":"./fesm2022/c8y-ngx-components-map.mjs"},"./operations":{"types":"./operations/index.d.ts","esm2022":"./esm2022/operations/c8y-ngx-components-operations.mjs","esm":"./esm2022/operations/c8y-ngx-components-operations.mjs","default":"./fesm2022/c8y-ngx-components-operations.mjs"},"./pending-mo-request":{"types":"./pending-mo-request/index.d.ts","esm2022":"./esm2022/pending-mo-request/c8y-ngx-components-pending-mo-request.mjs","esm":"./esm2022/pending-mo-request/c8y-ngx-components-pending-mo-request.mjs","default":"./fesm2022/c8y-ngx-components-pending-mo-request.mjs"},"./platform-configuration":{"types":"./platform-configuration/index.d.ts","esm2022":"./esm2022/platform-configuration/c8y-ngx-components-platform-configuration.mjs","esm":"./esm2022/platform-configuration/c8y-ngx-components-platform-configuration.mjs","default":"./fesm2022/c8y-ngx-components-platform-configuration.mjs"},"./polyfills":{"types":"./polyfills/index.d.ts","esm2022":"./esm2022/polyfills/c8y-ngx-components-polyfills.mjs","esm":"./esm2022/polyfills/c8y-ngx-components-polyfills.mjs","default":"./fesm2022/c8y-ngx-components-polyfills.mjs"},"./protocol-lpwan":{"types":"./protocol-lpwan/index.d.ts","esm2022":"./esm2022/protocol-lpwan/c8y-ngx-components-protocol-lpwan.mjs","esm":"./esm2022/protocol-lpwan/c8y-ngx-components-protocol-lpwan.mjs","default":"./fesm2022/c8y-ngx-components-protocol-lpwan.mjs"},"./protocol-lwm2m":{"types":"./protocol-lwm2m/index.d.ts","esm2022":"./esm2022/protocol-lwm2m/c8y-ngx-components-protocol-lwm2m.mjs","esm":"./esm2022/protocol-lwm2m/c8y-ngx-components-protocol-lwm2m.mjs","default":"./fesm2022/c8y-ngx-components-protocol-lwm2m.mjs"},"./protocol-opcua":{"types":"./protocol-opcua/index.d.ts","esm2022":"./esm2022/protocol-opcua/c8y-ngx-components-protocol-opcua.mjs","esm":"./esm2022/protocol-opcua/c8y-ngx-components-protocol-opcua.mjs","default":"./fesm2022/c8y-ngx-components-protocol-opcua.mjs"},"./register-device":{"types":"./register-device/index.d.ts","esm2022":"./esm2022/register-device/c8y-ngx-components-register-device.mjs","esm":"./esm2022/register-device/c8y-ngx-components-register-device.mjs","default":"./fesm2022/c8y-ngx-components-register-device.mjs"},"./replace-device":{"types":"./replace-device/index.d.ts","esm2022":"./esm2022/replace-device/c8y-ngx-components-replace-device.mjs","esm":"./esm2022/replace-device/c8y-ngx-components-replace-device.mjs","default":"./fesm2022/c8y-ngx-components-replace-device.mjs"},"./report-dashboard":{"types":"./report-dashboard/index.d.ts","esm2022":"./esm2022/report-dashboard/c8y-ngx-components-report-dashboard.mjs","esm":"./esm2022/report-dashboard/c8y-ngx-components-report-dashboard.mjs","default":"./fesm2022/c8y-ngx-components-report-dashboard.mjs"},"./reports":{"types":"./reports/index.d.ts","esm2022":"./esm2022/reports/c8y-ngx-components-reports.mjs","esm":"./esm2022/reports/c8y-ngx-components-reports.mjs","default":"./fesm2022/c8y-ngx-components-reports.mjs"},"./repository":{"types":"./repository/index.d.ts","esm2022":"./esm2022/repository/c8y-ngx-components-repository.mjs","esm":"./esm2022/repository/c8y-ngx-components-repository.mjs","default":"./fesm2022/c8y-ngx-components-repository.mjs"},"./search":{"types":"./search/index.d.ts","esm2022":"./esm2022/search/c8y-ngx-components-search.mjs","esm":"./esm2022/search/c8y-ngx-components-search.mjs","default":"./fesm2022/c8y-ngx-components-search.mjs"},"./sensor-phone":{"types":"./sensor-phone/index.d.ts","esm2022":"./esm2022/sensor-phone/c8y-ngx-components-sensor-phone.mjs","esm":"./esm2022/sensor-phone/c8y-ngx-components-sensor-phone.mjs","default":"./fesm2022/c8y-ngx-components-sensor-phone.mjs"},"./services":{"types":"./services/index.d.ts","esm2022":"./esm2022/services/c8y-ngx-components-services.mjs","esm":"./esm2022/services/c8y-ngx-components-services.mjs","default":"./fesm2022/c8y-ngx-components-services.mjs"},"./sigfox-device-registration":{"types":"./sigfox-device-registration/index.d.ts","esm2022":"./esm2022/sigfox-device-registration/c8y-ngx-components-sigfox-device-registration.mjs","esm":"./esm2022/sigfox-device-registration/c8y-ngx-components-sigfox-device-registration.mjs","default":"./fesm2022/c8y-ngx-components-sigfox-device-registration.mjs"},"./sms-gateway":{"types":"./sms-gateway/index.d.ts","esm2022":"./esm2022/sms-gateway/c8y-ngx-components-sms-gateway.mjs","esm":"./esm2022/sms-gateway/c8y-ngx-components-sms-gateway.mjs","default":"./fesm2022/c8y-ngx-components-sms-gateway.mjs"},"./static-assets":{"types":"./static-assets/index.d.ts","esm2022":"./esm2022/static-assets/c8y-ngx-components-static-assets.mjs","esm":"./esm2022/static-assets/c8y-ngx-components-static-assets.mjs","default":"./fesm2022/c8y-ngx-components-static-assets.mjs"},"./sub-assets":{"types":"./sub-assets/index.d.ts","esm2022":"./esm2022/sub-assets/c8y-ngx-components-sub-assets.mjs","esm":"./esm2022/sub-assets/c8y-ngx-components-sub-assets.mjs","default":"./fesm2022/c8y-ngx-components-sub-assets.mjs"},"./tenants":{"types":"./tenants/index.d.ts","esm2022":"./esm2022/tenants/c8y-ngx-components-tenants.mjs","esm":"./esm2022/tenants/c8y-ngx-components-tenants.mjs","default":"./fesm2022/c8y-ngx-components-tenants.mjs"},"./tracking":{"types":"./tracking/index.d.ts","esm2022":"./esm2022/tracking/c8y-ngx-components-tracking.mjs","esm":"./esm2022/tracking/c8y-ngx-components-tracking.mjs","default":"./fesm2022/c8y-ngx-components-tracking.mjs"},"./translation-editor":{"types":"./translation-editor/index.d.ts","esm2022":"./esm2022/translation-editor/c8y-ngx-components-translation-editor.mjs","esm":"./esm2022/translation-editor/c8y-ngx-components-translation-editor.mjs","default":"./fesm2022/c8y-ngx-components-translation-editor.mjs"},"./trusted-certificates":{"types":"./trusted-certificates/index.d.ts","esm2022":"./esm2022/trusted-certificates/c8y-ngx-components-trusted-certificates.mjs","esm":"./esm2022/trusted-certificates/c8y-ngx-components-trusted-certificates.mjs","default":"./fesm2022/c8y-ngx-components-trusted-certificates.mjs"},"./upgrade":{"types":"./upgrade/index.d.ts","esm2022":"./esm2022/upgrade/c8y-ngx-components-upgrade.mjs","esm":"./esm2022/upgrade/c8y-ngx-components-upgrade.mjs","default":"./fesm2022/c8y-ngx-components-upgrade.mjs"},"./user-roles":{"types":"./user-roles/index.d.ts","esm2022":"./esm2022/user-roles/c8y-ngx-components-user-roles.mjs","esm":"./esm2022/user-roles/c8y-ngx-components-user-roles.mjs","default":"./fesm2022/c8y-ngx-components-user-roles.mjs"},"./widgets":{"types":"./widgets/index.d.ts","esm2022":"./esm2022/widgets/c8y-ngx-components-widgets.mjs","esm":"./esm2022/widgets/c8y-ngx-components-widgets.mjs","default":"./fesm2022/c8y-ngx-components-widgets.mjs"},"./alarms/cockpit":{"types":"./alarms/cockpit/index.d.ts","esm2022":"./esm2022/alarms/cockpit/c8y-ngx-components-alarms-cockpit.mjs","esm":"./esm2022/alarms/cockpit/c8y-ngx-components-alarms-cockpit.mjs","default":"./fesm2022/c8y-ngx-components-alarms-cockpit.mjs"},"./alarms/devicemanagement":{"types":"./alarms/devicemanagement/index.d.ts","esm2022":"./esm2022/alarms/devicemanagement/c8y-ngx-components-alarms-devicemanagement.mjs","esm":"./esm2022/alarms/devicemanagement/c8y-ngx-components-alarms-devicemanagement.mjs","default":"./fesm2022/c8y-ngx-components-alarms-devicemanagement.mjs"},"./branding/base-branding":{"types":"./branding/base-branding/index.d.ts","esm2022":"./esm2022/branding/base-branding/c8y-ngx-components-branding-base-branding.mjs","esm":"./esm2022/branding/base-branding/c8y-ngx-components-branding-base-branding.mjs","default":"./fesm2022/c8y-ngx-components-branding-base-branding.mjs"},"./branding/dark-theme":{"types":"./branding/dark-theme/index.d.ts","esm2022":"./esm2022/branding/dark-theme/c8y-ngx-components-branding-dark-theme.mjs","esm":"./esm2022/branding/dark-theme/c8y-ngx-components-branding-dark-theme.mjs","default":"./fesm2022/c8y-ngx-components-branding-dark-theme.mjs"},"./branding/extra-css-branding-editor":{"types":"./branding/extra-css-branding-editor/index.d.ts","esm2022":"./esm2022/branding/extra-css-branding-editor/c8y-ngx-components-branding-extra-css-branding-editor.mjs","esm":"./esm2022/branding/extra-css-branding-editor/c8y-ngx-components-branding-extra-css-branding-editor.mjs","default":"./fesm2022/c8y-ngx-components-branding-extra-css-branding-editor.mjs"},"./branding/plain-branding-editor":{"types":"./branding/plain-branding-editor/index.d.ts","esm2022":"./esm2022/branding/plain-branding-editor/c8y-ngx-components-branding-plain-branding-editor.mjs","esm":"./esm2022/branding/plain-branding-editor/c8y-ngx-components-branding-plain-branding-editor.mjs","default":"./fesm2022/c8y-ngx-components-branding-plain-branding-editor.mjs"},"./branding/shared":{"types":"./branding/shared/index.d.ts","esm2022":"./esm2022/branding/shared/c8y-ngx-components-branding-shared.mjs","esm":"./esm2022/branding/shared/c8y-ngx-components-branding-shared.mjs","default":"./fesm2022/c8y-ngx-components-branding-shared.mjs"},"./data-grid-columns/asset-type":{"types":"./data-grid-columns/asset-type/index.d.ts","esm2022":"./esm2022/data-grid-columns/asset-type/c8y-ngx-components-data-grid-columns-asset-type.mjs","esm":"./esm2022/data-grid-columns/asset-type/c8y-ngx-components-data-grid-columns-asset-type.mjs","default":"./fesm2022/c8y-ngx-components-data-grid-columns-asset-type.mjs"},"./datapoint-library/details":{"types":"./datapoint-library/details/index.d.ts","esm2022":"./esm2022/datapoint-library/details/c8y-ngx-components-datapoint-library-details.mjs","esm":"./esm2022/datapoint-library/details/c8y-ngx-components-datapoint-library-details.mjs","default":"./fesm2022/c8y-ngx-components-datapoint-library-details.mjs"},"./datapoint-library/list":{"types":"./datapoint-library/list/index.d.ts","esm2022":"./esm2022/datapoint-library/list/c8y-ngx-components-datapoint-library-list.mjs","esm":"./esm2022/datapoint-library/list/c8y-ngx-components-datapoint-library-list.mjs","default":"./fesm2022/c8y-ngx-components-datapoint-library-list.mjs"},"./datapoint-library/model":{"types":"./datapoint-library/model/index.d.ts","esm2022":"./esm2022/datapoint-library/model/c8y-ngx-components-datapoint-library-model.mjs","esm":"./esm2022/datapoint-library/model/c8y-ngx-components-datapoint-library-model.mjs","default":"./fesm2022/c8y-ngx-components-datapoint-library-model.mjs"},"./datapoint-library/services":{"types":"./datapoint-library/services/index.d.ts","esm2022":"./esm2022/datapoint-library/services/c8y-ngx-components-datapoint-library-services.mjs","esm":"./esm2022/datapoint-library/services/c8y-ngx-components-datapoint-library-services.mjs","default":"./fesm2022/c8y-ngx-components-datapoint-library-services.mjs"},"./ecosystem/application-plugins":{"types":"./ecosystem/application-plugins/index.d.ts","esm2022":"./esm2022/ecosystem/application-plugins/c8y-ngx-components-ecosystem-application-plugins.mjs","esm":"./esm2022/ecosystem/application-plugins/c8y-ngx-components-ecosystem-application-plugins.mjs","default":"./fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs"},"./ecosystem/license-confirm":{"types":"./ecosystem/license-confirm/index.d.ts","esm2022":"./esm2022/ecosystem/license-confirm/c8y-ngx-components-ecosystem-license-confirm.mjs","esm":"./esm2022/ecosystem/license-confirm/c8y-ngx-components-ecosystem-license-confirm.mjs","default":"./fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs"},"./ecosystem/plugin-setup-stepper":{"types":"./ecosystem/plugin-setup-stepper/index.d.ts","esm2022":"./esm2022/ecosystem/plugin-setup-stepper/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs","esm":"./esm2022/ecosystem/plugin-setup-stepper/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs","default":"./fesm2022/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs"},"./ecosystem/shared":{"types":"./ecosystem/shared/index.d.ts","esm2022":"./esm2022/ecosystem/shared/c8y-ngx-components-ecosystem-shared.mjs","esm":"./esm2022/ecosystem/shared/c8y-ngx-components-ecosystem-shared.mjs","default":"./fesm2022/c8y-ngx-components-ecosystem-shared.mjs"},"./icon-selector/icons":{"types":"./icon-selector/icons/index.d.ts","esm2022":"./esm2022/icon-selector/icons/c8y-ngx-components-icon-selector-icons.mjs","esm":"./esm2022/icon-selector/icons/c8y-ngx-components-icon-selector-icons.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons.mjs"},"./lazy/three":{"types":"./lazy/three/index.d.ts","esm2022":"./esm2022/lazy/three/c8y-ngx-components-lazy-three.mjs","esm":"./esm2022/lazy/three/c8y-ngx-components-lazy-three.mjs","default":"./fesm2022/c8y-ngx-components-lazy-three.mjs"},"./lazy/three-orbit-controls":{"types":"./lazy/three-orbit-controls/index.d.ts","esm2022":"./esm2022/lazy/three-orbit-controls/c8y-ngx-components-lazy-three-orbit-controls.mjs","esm":"./esm2022/lazy/three-orbit-controls/c8y-ngx-components-lazy-three-orbit-controls.mjs","default":"./fesm2022/c8y-ngx-components-lazy-three-orbit-controls.mjs"},"./icon-selector/model":{"types":"./icon-selector/model/index.d.ts","esm2022":"./esm2022/icon-selector/model/c8y-ngx-components-icon-selector-model.mjs","esm":"./esm2022/icon-selector/model/c8y-ngx-components-icon-selector-model.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-model.mjs"},"./operations/bulk-operation-from-single":{"types":"./operations/bulk-operation-from-single/index.d.ts","esm2022":"./esm2022/operations/bulk-operation-from-single/c8y-ngx-components-operations-bulk-operation-from-single.mjs","esm":"./esm2022/operations/bulk-operation-from-single/c8y-ngx-components-operations-bulk-operation-from-single.mjs","default":"./fesm2022/c8y-ngx-components-operations-bulk-operation-from-single.mjs"},"./operations/bulk-operation-list-item":{"types":"./operations/bulk-operation-list-item/index.d.ts","esm2022":"./esm2022/operations/bulk-operation-list-item/c8y-ngx-components-operations-bulk-operation-list-item.mjs","esm":"./esm2022/operations/bulk-operation-list-item/c8y-ngx-components-operations-bulk-operation-list-item.mjs","default":"./fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs"},"./operations/bulk-operation-modal-details":{"types":"./operations/bulk-operation-modal-details/index.d.ts","esm2022":"./esm2022/operations/bulk-operation-modal-details/c8y-ngx-components-operations-bulk-operation-modal-details.mjs","esm":"./esm2022/operations/bulk-operation-modal-details/c8y-ngx-components-operations-bulk-operation-modal-details.mjs","default":"./fesm2022/c8y-ngx-components-operations-bulk-operation-modal-details.mjs"},"./operations/bulk-operation-scheduler":{"types":"./operations/bulk-operation-scheduler/index.d.ts","esm2022":"./esm2022/operations/bulk-operation-scheduler/c8y-ngx-components-operations-bulk-operation-scheduler.mjs","esm":"./esm2022/operations/bulk-operation-scheduler/c8y-ngx-components-operations-bulk-operation-scheduler.mjs","default":"./fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs"},"./operations/bulk-operation-stepper":{"types":"./operations/bulk-operation-stepper/index.d.ts","esm2022":"./esm2022/operations/bulk-operation-stepper/c8y-ngx-components-operations-bulk-operation-stepper.mjs","esm":"./esm2022/operations/bulk-operation-stepper/c8y-ngx-components-operations-bulk-operation-stepper.mjs","default":"./fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs"},"./operations/bulk-operations-list":{"types":"./operations/bulk-operations-list/index.d.ts","esm2022":"./esm2022/operations/bulk-operations-list/c8y-ngx-components-operations-bulk-operations-list.mjs","esm":"./esm2022/operations/bulk-operations-list/c8y-ngx-components-operations-bulk-operations-list.mjs","default":"./fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs"},"./operations/bulk-operations-service":{"types":"./operations/bulk-operations-service/index.d.ts","esm2022":"./esm2022/operations/bulk-operations-service/c8y-ngx-components-operations-bulk-operations-service.mjs","esm":"./esm2022/operations/bulk-operations-service/c8y-ngx-components-operations-bulk-operations-service.mjs","default":"./fesm2022/c8y-ngx-components-operations-bulk-operations-service.mjs"},"./operations/bulk-operations-stepper-container":{"types":"./operations/bulk-operations-stepper-container/index.d.ts","esm2022":"./esm2022/operations/bulk-operations-stepper-container/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs","esm":"./esm2022/operations/bulk-operations-stepper-container/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs","default":"./fesm2022/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs"},"./operations/bulk-single-operations-list":{"types":"./operations/bulk-single-operations-list/index.d.ts","esm2022":"./esm2022/operations/bulk-single-operations-list/c8y-ngx-components-operations-bulk-single-operations-list.mjs","esm":"./esm2022/operations/bulk-single-operations-list/c8y-ngx-components-operations-bulk-single-operations-list.mjs","default":"./fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs"},"./operations/create-bulk-operation-details":{"types":"./operations/create-bulk-operation-details/index.d.ts","esm2022":"./esm2022/operations/create-bulk-operation-details/c8y-ngx-components-operations-create-bulk-operation-details.mjs","esm":"./esm2022/operations/create-bulk-operation-details/c8y-ngx-components-operations-create-bulk-operation-details.mjs","default":"./fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs"},"./operations/device-selector":{"types":"./operations/device-selector/index.d.ts","esm2022":"./esm2022/operations/device-selector/c8y-ngx-components-operations-device-selector.mjs","esm":"./esm2022/operations/device-selector/c8y-ngx-components-operations-device-selector.mjs","default":"./fesm2022/c8y-ngx-components-operations-device-selector.mjs"},"./operations/operation-details":{"types":"./operations/operation-details/index.d.ts","esm2022":"./esm2022/operations/operation-details/c8y-ngx-components-operations-operation-details.mjs","esm":"./esm2022/operations/operation-details/c8y-ngx-components-operations-operation-details.mjs","default":"./fesm2022/c8y-ngx-components-operations-operation-details.mjs"},"./operations/operations-list":{"types":"./operations/operations-list/index.d.ts","esm2022":"./esm2022/operations/operations-list/c8y-ngx-components-operations-operations-list.mjs","esm":"./esm2022/operations/operations-list/c8y-ngx-components-operations-operations-list.mjs","default":"./fesm2022/c8y-ngx-components-operations-operations-list.mjs"},"./operations/operation-summary":{"types":"./operations/operation-summary/index.d.ts","esm2022":"./esm2022/operations/operation-summary/c8y-ngx-components-operations-operation-summary.mjs","esm":"./esm2022/operations/operation-summary/c8y-ngx-components-operations-operation-summary.mjs","default":"./fesm2022/c8y-ngx-components-operations-operation-summary.mjs"},"./operations/operations-list-item-details":{"types":"./operations/operations-list-item-details/index.d.ts","esm2022":"./esm2022/operations/operations-list-item-details/c8y-ngx-components-operations-operations-list-item-details.mjs","esm":"./esm2022/operations/operations-list-item-details/c8y-ngx-components-operations-operations-list-item-details.mjs","default":"./fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs"},"./operations/operations-timeline":{"types":"./operations/operations-timeline/index.d.ts","esm2022":"./esm2022/operations/operations-timeline/c8y-ngx-components-operations-operations-timeline.mjs","esm":"./esm2022/operations/operations-timeline/c8y-ngx-components-operations-operations-timeline.mjs","default":"./fesm2022/c8y-ngx-components-operations-operations-timeline.mjs"},"./operations/product-experience":{"types":"./operations/product-experience/index.d.ts","esm2022":"./esm2022/operations/product-experience/c8y-ngx-components-operations-product-experience.mjs","esm":"./esm2022/operations/product-experience/c8y-ngx-components-operations-product-experience.mjs","default":"./fesm2022/c8y-ngx-components-operations-product-experience.mjs"},"./operations/shared":{"types":"./operations/shared/index.d.ts","esm2022":"./esm2022/operations/shared/c8y-ngx-components-operations-shared.mjs","esm":"./esm2022/operations/shared/c8y-ngx-components-operations-shared.mjs","default":"./fesm2022/c8y-ngx-components-operations-shared.mjs"},"./operations/status-filter":{"types":"./operations/status-filter/index.d.ts","esm2022":"./esm2022/operations/status-filter/c8y-ngx-components-operations-status-filter.mjs","esm":"./esm2022/operations/status-filter/c8y-ngx-components-operations-status-filter.mjs","default":"./fesm2022/c8y-ngx-components-operations-status-filter.mjs"},"./operations/stepper-bulk-type-device-profile":{"types":"./operations/stepper-bulk-type-device-profile/index.d.ts","esm2022":"./esm2022/operations/stepper-bulk-type-device-profile/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","esm":"./esm2022/operations/stepper-bulk-type-device-profile/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","default":"./fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs"},"./operations/stepper-bulk-type-configuration":{"types":"./operations/stepper-bulk-type-configuration/index.d.ts","esm2022":"./esm2022/operations/stepper-bulk-type-configuration/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","esm":"./esm2022/operations/stepper-bulk-type-configuration/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","default":"./fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs"},"./operations/stepper-bulk-type-software":{"types":"./operations/stepper-bulk-type-software/index.d.ts","esm2022":"./esm2022/operations/stepper-bulk-type-software/c8y-ngx-components-operations-stepper-bulk-type-software.mjs","esm":"./esm2022/operations/stepper-bulk-type-software/c8y-ngx-components-operations-stepper-bulk-type-software.mjs","default":"./fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs"},"./operations/stepper-bulk-type-firmware":{"types":"./operations/stepper-bulk-type-firmware/index.d.ts","esm2022":"./esm2022/operations/stepper-bulk-type-firmware/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs","esm":"./esm2022/operations/stepper-bulk-type-firmware/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs","default":"./fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs"},"./operations/stepper-frames":{"types":"./operations/stepper-frames/index.d.ts","esm2022":"./esm2022/operations/stepper-frames/c8y-ngx-components-operations-stepper-frames.mjs","esm":"./esm2022/operations/stepper-frames/c8y-ngx-components-operations-stepper-frames.mjs","default":"./fesm2022/c8y-ngx-components-operations-stepper-frames.mjs"},"./protocol-lwm2m/factories":{"types":"./protocol-lwm2m/factories/index.d.ts","esm2022":"./esm2022/protocol-lwm2m/factories/c8y-ngx-components-protocol-lwm2m-factories.mjs","esm":"./esm2022/protocol-lwm2m/factories/c8y-ngx-components-protocol-lwm2m-factories.mjs","default":"./fesm2022/c8y-ngx-components-protocol-lwm2m-factories.mjs"},"./protocol-lwm2m/formly":{"types":"./protocol-lwm2m/formly/index.d.ts","esm2022":"./esm2022/protocol-lwm2m/formly/c8y-ngx-components-protocol-lwm2m-formly.mjs","esm":"./esm2022/protocol-lwm2m/formly/c8y-ngx-components-protocol-lwm2m-formly.mjs","default":"./fesm2022/c8y-ngx-components-protocol-lwm2m-formly.mjs"},"./protocol-lwm2m/guards":{"types":"./protocol-lwm2m/guards/index.d.ts","esm2022":"./esm2022/protocol-lwm2m/guards/c8y-ngx-components-protocol-lwm2m-guards.mjs","esm":"./esm2022/protocol-lwm2m/guards/c8y-ngx-components-protocol-lwm2m-guards.mjs","default":"./fesm2022/c8y-ngx-components-protocol-lwm2m-guards.mjs"},"./protocol-lwm2m/model":{"types":"./protocol-lwm2m/model/index.d.ts","esm2022":"./esm2022/protocol-lwm2m/model/c8y-ngx-components-protocol-lwm2m-model.mjs","esm":"./esm2022/protocol-lwm2m/model/c8y-ngx-components-protocol-lwm2m-model.mjs","default":"./fesm2022/c8y-ngx-components-protocol-lwm2m-model.mjs"},"./protocol-lwm2m/services":{"types":"./protocol-lwm2m/services/index.d.ts","esm2022":"./esm2022/protocol-lwm2m/services/c8y-ngx-components-protocol-lwm2m-services.mjs","esm":"./esm2022/protocol-lwm2m/services/c8y-ngx-components-protocol-lwm2m-services.mjs","default":"./fesm2022/c8y-ngx-components-protocol-lwm2m-services.mjs"},"./protocol-opcua/mappings":{"types":"./protocol-opcua/mappings/index.d.ts","esm2022":"./esm2022/protocol-opcua/mappings/c8y-ngx-components-protocol-opcua-mappings.mjs","esm":"./esm2022/protocol-opcua/mappings/c8y-ngx-components-protocol-opcua-mappings.mjs","default":"./fesm2022/c8y-ngx-components-protocol-opcua-mappings.mjs"},"./replace-device/replace-device-wizard":{"types":"./replace-device/replace-device-wizard/index.d.ts","esm2022":"./esm2022/replace-device/replace-device-wizard/c8y-ngx-components-replace-device-replace-device-wizard.mjs","esm":"./esm2022/replace-device/replace-device-wizard/c8y-ngx-components-replace-device-replace-device-wizard.mjs","default":"./fesm2022/c8y-ngx-components-replace-device-replace-device-wizard.mjs"},"./repository/configuration":{"types":"./repository/configuration/index.d.ts","esm2022":"./esm2022/repository/configuration/c8y-ngx-components-repository-configuration.mjs","esm":"./esm2022/repository/configuration/c8y-ngx-components-repository-configuration.mjs","default":"./fesm2022/c8y-ngx-components-repository-configuration.mjs"},"./repository/firmware":{"types":"./repository/firmware/index.d.ts","esm2022":"./esm2022/repository/firmware/c8y-ngx-components-repository-firmware.mjs","esm":"./esm2022/repository/firmware/c8y-ngx-components-repository-firmware.mjs","default":"./fesm2022/c8y-ngx-components-repository-firmware.mjs"},"./repository/shared":{"types":"./repository/shared/index.d.ts","esm2022":"./esm2022/repository/shared/c8y-ngx-components-repository-shared.mjs","esm":"./esm2022/repository/shared/c8y-ngx-components-repository-shared.mjs","default":"./fesm2022/c8y-ngx-components-repository-shared.mjs"},"./repository/software":{"types":"./repository/software/index.d.ts","esm2022":"./esm2022/repository/software/c8y-ngx-components-repository-software.mjs","esm":"./esm2022/repository/software/c8y-ngx-components-repository-software.mjs","default":"./fesm2022/c8y-ngx-components-repository-software.mjs"},"./sensor-phone/sensor-phone-modal":{"types":"./sensor-phone/sensor-phone-modal/index.d.ts","esm2022":"./esm2022/sensor-phone/sensor-phone-modal/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs","esm":"./esm2022/sensor-phone/sensor-phone-modal/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs","default":"./fesm2022/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs"},"./static-assets/data":{"types":"./static-assets/data/index.d.ts","esm2022":"./esm2022/static-assets/data/c8y-ngx-components-static-assets-data.mjs","esm":"./esm2022/static-assets/data/c8y-ngx-components-static-assets-data.mjs","default":"./fesm2022/c8y-ngx-components-static-assets-data.mjs"},"./static-assets/modal":{"types":"./static-assets/modal/index.d.ts","esm2022":"./esm2022/static-assets/modal/c8y-ngx-components-static-assets-modal.mjs","esm":"./esm2022/static-assets/modal/c8y-ngx-components-static-assets-modal.mjs","default":"./fesm2022/c8y-ngx-components-static-assets-modal.mjs"},"./translation-editor/data":{"types":"./translation-editor/data/index.d.ts","esm2022":"./esm2022/translation-editor/data/c8y-ngx-components-translation-editor-data.mjs","esm":"./esm2022/translation-editor/data/c8y-ngx-components-translation-editor-data.mjs","default":"./fesm2022/c8y-ngx-components-translation-editor-data.mjs"},"./translation-editor/lazy":{"types":"./translation-editor/lazy/index.d.ts","esm2022":"./esm2022/translation-editor/lazy/c8y-ngx-components-translation-editor-lazy.mjs","esm":"./esm2022/translation-editor/lazy/c8y-ngx-components-translation-editor-lazy.mjs","default":"./fesm2022/c8y-ngx-components-translation-editor-lazy.mjs"},"./upgrade/upgraded-services":{"types":"./upgrade/upgraded-services/index.d.ts","esm2022":"./esm2022/upgrade/upgraded-services/c8y-ngx-components-upgrade-upgraded-services.mjs","esm":"./esm2022/upgrade/upgraded-services/c8y-ngx-components-upgrade-upgraded-services.mjs","default":"./fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs"},"./widgets/cockpit":{"types":"./widgets/cockpit/index.d.ts","esm2022":"./esm2022/widgets/cockpit/c8y-ngx-components-widgets-cockpit.mjs","esm":"./esm2022/widgets/cockpit/c8y-ngx-components-widgets-cockpit.mjs","default":"./fesm2022/c8y-ngx-components-widgets-cockpit.mjs"},"./widgets/cockpit-exports":{"types":"./widgets/cockpit-exports/index.d.ts","esm2022":"./esm2022/widgets/cockpit-exports/c8y-ngx-components-widgets-cockpit-exports.mjs","esm":"./esm2022/widgets/cockpit-exports/c8y-ngx-components-widgets-cockpit-exports.mjs","default":"./fesm2022/c8y-ngx-components-widgets-cockpit-exports.mjs"},"./widgets/device-management":{"types":"./widgets/device-management/index.d.ts","esm2022":"./esm2022/widgets/device-management/c8y-ngx-components-widgets-device-management.mjs","esm":"./esm2022/widgets/device-management/c8y-ngx-components-widgets-device-management.mjs","default":"./fesm2022/c8y-ngx-components-widgets-device-management.mjs"},"./widgets/definitions":{"types":"./widgets/definitions/index.d.ts","esm2022":"./esm2022/widgets/definitions/c8y-ngx-components-widgets-definitions.mjs","esm":"./esm2022/widgets/definitions/c8y-ngx-components-widgets-definitions.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions.mjs"},"./branding/plain-branding-editor/lazy":{"types":"./branding/plain-branding-editor/lazy/index.d.ts","esm2022":"./esm2022/branding/plain-branding-editor/lazy/c8y-ngx-components-branding-plain-branding-editor-lazy.mjs","esm":"./esm2022/branding/plain-branding-editor/lazy/c8y-ngx-components-branding-plain-branding-editor-lazy.mjs","default":"./fesm2022/c8y-ngx-components-branding-plain-branding-editor-lazy.mjs"},"./branding/shared/data":{"types":"./branding/shared/data/index.d.ts","esm2022":"./esm2022/branding/shared/data/c8y-ngx-components-branding-shared-data.mjs","esm":"./esm2022/branding/shared/data/c8y-ngx-components-branding-shared-data.mjs","default":"./fesm2022/c8y-ngx-components-branding-shared-data.mjs"},"./branding/shared/lazy":{"types":"./branding/shared/lazy/index.d.ts","esm2022":"./esm2022/branding/shared/lazy/c8y-ngx-components-branding-shared-lazy.mjs","esm":"./esm2022/branding/shared/lazy/c8y-ngx-components-branding-shared-lazy.mjs","default":"./fesm2022/c8y-ngx-components-branding-shared-lazy.mjs"},"./icon-selector/icons/arrows":{"types":"./icon-selector/icons/arrows/index.d.ts","esm2022":"./esm2022/icon-selector/icons/arrows/c8y-ngx-components-icon-selector-icons-arrows.mjs","esm":"./esm2022/icon-selector/icons/arrows/c8y-ngx-components-icon-selector-icons-arrows.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-arrows.mjs"},"./icon-selector/icons/city":{"types":"./icon-selector/icons/city/index.d.ts","esm2022":"./esm2022/icon-selector/icons/city/c8y-ngx-components-icon-selector-icons-city.mjs","esm":"./esm2022/icon-selector/icons/city/c8y-ngx-components-icon-selector-icons-city.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-city.mjs"},"./icon-selector/icons/data":{"types":"./icon-selector/icons/data/index.d.ts","esm2022":"./esm2022/icon-selector/icons/data/c8y-ngx-components-icon-selector-icons-data.mjs","esm":"./esm2022/icon-selector/icons/data/c8y-ngx-components-icon-selector-icons-data.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-data.mjs"},"./icon-selector/icons/dateAndTime":{"types":"./icon-selector/icons/dateAndTime/index.d.ts","esm2022":"./esm2022/icon-selector/icons/dateAndTime/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs","esm":"./esm2022/icon-selector/icons/dateAndTime/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs"},"./icon-selector/icons/devicesAndSensors":{"types":"./icon-selector/icons/devicesAndSensors/index.d.ts","esm2022":"./esm2022/icon-selector/icons/devicesAndSensors/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs","esm":"./esm2022/icon-selector/icons/devicesAndSensors/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs"},"./icon-selector/icons/ecommerce":{"types":"./icon-selector/icons/ecommerce/index.d.ts","esm2022":"./esm2022/icon-selector/icons/ecommerce/c8y-ngx-components-icon-selector-icons-ecommerce.mjs","esm":"./esm2022/icon-selector/icons/ecommerce/c8y-ngx-components-icon-selector-icons-ecommerce.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-ecommerce.mjs"},"./icon-selector/icons/editing":{"types":"./icon-selector/icons/editing/index.d.ts","esm2022":"./esm2022/icon-selector/icons/editing/c8y-ngx-components-icon-selector-icons-editing.mjs","esm":"./esm2022/icon-selector/icons/editing/c8y-ngx-components-icon-selector-icons-editing.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-editing.mjs"},"./icon-selector/icons/filesAndFolders":{"types":"./icon-selector/icons/filesAndFolders/index.d.ts","esm2022":"./esm2022/icon-selector/icons/filesAndFolders/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs","esm":"./esm2022/icon-selector/icons/filesAndFolders/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs"},"./icon-selector/icons/finance":{"types":"./icon-selector/icons/finance/index.d.ts","esm2022":"./esm2022/icon-selector/icons/finance/c8y-ngx-components-icon-selector-icons-finance.mjs","esm":"./esm2022/icon-selector/icons/finance/c8y-ngx-components-icon-selector-icons-finance.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-finance.mjs"},"./icon-selector/icons/hands":{"types":"./icon-selector/icons/hands/index.d.ts","esm2022":"./esm2022/icon-selector/icons/hands/c8y-ngx-components-icon-selector-icons-hands.mjs","esm":"./esm2022/icon-selector/icons/hands/c8y-ngx-components-icon-selector-icons-hands.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-hands.mjs"},"./icon-selector/icons/location":{"types":"./icon-selector/icons/location/index.d.ts","esm2022":"./esm2022/icon-selector/icons/location/c8y-ngx-components-icon-selector-icons-location.mjs","esm":"./esm2022/icon-selector/icons/location/c8y-ngx-components-icon-selector-icons-location.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-location.mjs"},"./icon-selector/icons/messaging":{"types":"./icon-selector/icons/messaging/index.d.ts","esm2022":"./esm2022/icon-selector/icons/messaging/c8y-ngx-components-icon-selector-icons-messaging.mjs","esm":"./esm2022/icon-selector/icons/messaging/c8y-ngx-components-icon-selector-icons-messaging.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-messaging.mjs"},"./icon-selector/icons/multimedia":{"types":"./icon-selector/icons/multimedia/index.d.ts","esm2022":"./esm2022/icon-selector/icons/multimedia/c8y-ngx-components-icon-selector-icons-multimedia.mjs","esm":"./esm2022/icon-selector/icons/multimedia/c8y-ngx-components-icon-selector-icons-multimedia.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-multimedia.mjs"},"./icon-selector/icons/network":{"types":"./icon-selector/icons/network/index.d.ts","esm2022":"./esm2022/icon-selector/icons/network/c8y-ngx-components-icon-selector-icons-network.mjs","esm":"./esm2022/icon-selector/icons/network/c8y-ngx-components-icon-selector-icons-network.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-network.mjs"},"./icon-selector/icons/office":{"types":"./icon-selector/icons/office/index.d.ts","esm2022":"./esm2022/icon-selector/icons/office/c8y-ngx-components-icon-selector-icons-office.mjs","esm":"./esm2022/icon-selector/icons/office/c8y-ngx-components-icon-selector-icons-office.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-office.mjs"},"./icon-selector/icons/people":{"types":"./icon-selector/icons/people/index.d.ts","esm2022":"./esm2022/icon-selector/icons/people/c8y-ngx-components-icon-selector-icons-people.mjs","esm":"./esm2022/icon-selector/icons/people/c8y-ngx-components-icon-selector-icons-people.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-people.mjs"},"./icon-selector/icons/platform":{"types":"./icon-selector/icons/platform/index.d.ts","esm2022":"./esm2022/icon-selector/icons/platform/c8y-ngx-components-icon-selector-icons-platform.mjs","esm":"./esm2022/icon-selector/icons/platform/c8y-ngx-components-icon-selector-icons-platform.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-platform.mjs"},"./icon-selector/icons/programming":{"types":"./icon-selector/icons/programming/index.d.ts","esm2022":"./esm2022/icon-selector/icons/programming/c8y-ngx-components-icon-selector-icons-programming.mjs","esm":"./esm2022/icon-selector/icons/programming/c8y-ngx-components-icon-selector-icons-programming.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-programming.mjs"},"./icon-selector/icons/security":{"types":"./icon-selector/icons/security/index.d.ts","esm2022":"./esm2022/icon-selector/icons/security/c8y-ngx-components-icon-selector-icons-security.mjs","esm":"./esm2022/icon-selector/icons/security/c8y-ngx-components-icon-selector-icons-security.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-security.mjs"},"./icon-selector/icons/transport":{"types":"./icon-selector/icons/transport/index.d.ts","esm2022":"./esm2022/icon-selector/icons/transport/c8y-ngx-components-icon-selector-icons-transport.mjs","esm":"./esm2022/icon-selector/icons/transport/c8y-ngx-components-icon-selector-icons-transport.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-transport.mjs"},"./icon-selector/icons/userInterface":{"types":"./icon-selector/icons/userInterface/index.d.ts","esm2022":"./esm2022/icon-selector/icons/userInterface/c8y-ngx-components-icon-selector-icons-userInterface.mjs","esm":"./esm2022/icon-selector/icons/userInterface/c8y-ngx-components-icon-selector-icons-userInterface.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-userInterface.mjs"},"./icon-selector/icons/weather":{"types":"./icon-selector/icons/weather/index.d.ts","esm2022":"./esm2022/icon-selector/icons/weather/c8y-ngx-components-icon-selector-icons-weather.mjs","esm":"./esm2022/icon-selector/icons/weather/c8y-ngx-components-icon-selector-icons-weather.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-weather.mjs"},"./protocol-lwm2m/components/bootstrap-parameters":{"types":"./protocol-lwm2m/components/bootstrap-parameters/index.d.ts","esm2022":"./esm2022/protocol-lwm2m/components/bootstrap-parameters/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs","esm":"./esm2022/protocol-lwm2m/components/bootstrap-parameters/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs","default":"./fesm2022/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs"},"./protocol-lwm2m/components/configuration":{"types":"./protocol-lwm2m/components/configuration/index.d.ts","esm2022":"./esm2022/protocol-lwm2m/components/configuration/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs","esm":"./esm2022/protocol-lwm2m/components/configuration/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs","default":"./fesm2022/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs"},"./protocol-lwm2m/components/post-registration-operations":{"types":"./protocol-lwm2m/components/post-registration-operations/index.d.ts","esm2022":"./esm2022/protocol-lwm2m/components/post-registration-operations/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs","esm":"./esm2022/protocol-lwm2m/components/post-registration-operations/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs","default":"./fesm2022/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs"},"./widgets/definitions/applications":{"types":"./widgets/definitions/applications/index.d.ts","esm2022":"./esm2022/widgets/definitions/applications/c8y-ngx-components-widgets-definitions-applications.mjs","esm":"./esm2022/widgets/definitions/applications/c8y-ngx-components-widgets-definitions-applications.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-applications.mjs"},"./widgets/definitions/cockpit-legacy-welcome":{"types":"./widgets/definitions/cockpit-legacy-welcome/index.d.ts","esm2022":"./esm2022/widgets/definitions/cockpit-legacy-welcome/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs","esm":"./esm2022/widgets/definitions/cockpit-legacy-welcome/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs"},"./widgets/definitions/cockpit-welcome":{"types":"./widgets/definitions/cockpit-welcome/index.d.ts","esm2022":"./esm2022/widgets/definitions/cockpit-welcome/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs","esm":"./esm2022/widgets/definitions/cockpit-welcome/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs"},"./widgets/definitions/datapoints-table":{"types":"./widgets/definitions/datapoints-table/index.d.ts","esm2022":"./esm2022/widgets/definitions/datapoints-table/c8y-ngx-components-widgets-definitions-datapoints-table.mjs","esm":"./esm2022/widgets/definitions/datapoints-table/c8y-ngx-components-widgets-definitions-datapoints-table.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs"},"./widgets/definitions/device-control-message":{"types":"./widgets/definitions/device-control-message/index.d.ts","esm2022":"./esm2022/widgets/definitions/device-control-message/c8y-ngx-components-widgets-definitions-device-control-message.mjs","esm":"./esm2022/widgets/definitions/device-control-message/c8y-ngx-components-widgets-definitions-device-control-message.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-device-control-message.mjs"},"./widgets/definitions/device-management-welcome":{"types":"./widgets/definitions/device-management-welcome/index.d.ts","esm2022":"./esm2022/widgets/definitions/device-management-welcome/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs","esm":"./esm2022/widgets/definitions/device-management-welcome/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs"},"./widgets/definitions/help-and-service":{"types":"./widgets/definitions/help-and-service/index.d.ts","esm2022":"./esm2022/widgets/definitions/help-and-service/c8y-ngx-components-widgets-definitions-help-and-service.mjs","esm":"./esm2022/widgets/definitions/help-and-service/c8y-ngx-components-widgets-definitions-help-and-service.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-help-and-service.mjs"},"./widgets/definitions/image":{"types":"./widgets/definitions/image/index.d.ts","esm2022":"./esm2022/widgets/definitions/image/c8y-ngx-components-widgets-definitions-image.mjs","esm":"./esm2022/widgets/definitions/image/c8y-ngx-components-widgets-definitions-image.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-image.mjs"},"./widgets/definitions/info-gauge":{"types":"./widgets/definitions/info-gauge/index.d.ts","esm2022":"./esm2022/widgets/definitions/info-gauge/c8y-ngx-components-widgets-definitions-info-gauge.mjs","esm":"./esm2022/widgets/definitions/info-gauge/c8y-ngx-components-widgets-definitions-info-gauge.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-info-gauge.mjs"},"./widgets/definitions/kpi":{"types":"./widgets/definitions/kpi/index.d.ts","esm2022":"./esm2022/widgets/definitions/kpi/c8y-ngx-components-widgets-definitions-kpi.mjs","esm":"./esm2022/widgets/definitions/kpi/c8y-ngx-components-widgets-definitions-kpi.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-kpi.mjs"},"./widgets/definitions/linear-gauge":{"types":"./widgets/definitions/linear-gauge/index.d.ts","esm2022":"./esm2022/widgets/definitions/linear-gauge/c8y-ngx-components-widgets-definitions-linear-gauge.mjs","esm":"./esm2022/widgets/definitions/linear-gauge/c8y-ngx-components-widgets-definitions-linear-gauge.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-linear-gauge.mjs"},"./widgets/definitions/map":{"types":"./widgets/definitions/map/index.d.ts","esm2022":"./esm2022/widgets/definitions/map/c8y-ngx-components-widgets-definitions-map.mjs","esm":"./esm2022/widgets/definitions/map/c8y-ngx-components-widgets-definitions-map.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-map.mjs"},"./widgets/definitions/markdown":{"types":"./widgets/definitions/markdown/index.d.ts","esm2022":"./esm2022/widgets/definitions/markdown/c8y-ngx-components-widgets-definitions-markdown.mjs","esm":"./esm2022/widgets/definitions/markdown/c8y-ngx-components-widgets-definitions-markdown.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs"},"./widgets/definitions/silo":{"types":"./widgets/definitions/silo/index.d.ts","esm2022":"./esm2022/widgets/definitions/silo/c8y-ngx-components-widgets-definitions-silo.mjs","esm":"./esm2022/widgets/definitions/silo/c8y-ngx-components-widgets-definitions-silo.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-silo.mjs"},"./widgets/definitions/three-d-rotation":{"types":"./widgets/definitions/three-d-rotation/index.d.ts","esm2022":"./esm2022/widgets/definitions/three-d-rotation/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs","esm":"./esm2022/widgets/definitions/three-d-rotation/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs"},"./widgets/implementations/alarms":{"types":"./widgets/implementations/alarms/index.d.ts","esm2022":"./esm2022/widgets/implementations/alarms/c8y-ngx-components-widgets-implementations-alarms.mjs","esm":"./esm2022/widgets/implementations/alarms/c8y-ngx-components-widgets-implementations-alarms.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs"},"./widgets/implementations/cockpit-legacy-welcome":{"types":"./widgets/implementations/cockpit-legacy-welcome/index.d.ts","esm2022":"./esm2022/widgets/implementations/cockpit-legacy-welcome/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs","esm":"./esm2022/widgets/implementations/cockpit-legacy-welcome/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs"},"./widgets/implementations/cockpit-welcome":{"types":"./widgets/implementations/cockpit-welcome/index.d.ts","esm2022":"./esm2022/widgets/implementations/cockpit-welcome/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs","esm":"./esm2022/widgets/implementations/cockpit-welcome/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs"},"./widgets/implementations/datapoints-table":{"types":"./widgets/implementations/datapoints-table/index.d.ts","esm2022":"./esm2022/widgets/implementations/datapoints-table/c8y-ngx-components-widgets-implementations-datapoints-table.mjs","esm":"./esm2022/widgets/implementations/datapoints-table/c8y-ngx-components-widgets-implementations-datapoints-table.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs"},"./widgets/implementations/device-control-message":{"types":"./widgets/implementations/device-control-message/index.d.ts","esm2022":"./esm2022/widgets/implementations/device-control-message/c8y-ngx-components-widgets-implementations-device-control-message.mjs","esm":"./esm2022/widgets/implementations/device-control-message/c8y-ngx-components-widgets-implementations-device-control-message.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-device-control-message.mjs"},"./widgets/implementations/device-management-welcome":{"types":"./widgets/implementations/device-management-welcome/index.d.ts","esm2022":"./esm2022/widgets/implementations/device-management-welcome/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs","esm":"./esm2022/widgets/implementations/device-management-welcome/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs"},"./widgets/implementations/help-and-service-widget":{"types":"./widgets/implementations/help-and-service-widget/index.d.ts","esm2022":"./esm2022/widgets/implementations/help-and-service-widget/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs","esm":"./esm2022/widgets/implementations/help-and-service-widget/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs"},"./widgets/implementations/image":{"types":"./widgets/implementations/image/index.d.ts","esm2022":"./esm2022/widgets/implementations/image/c8y-ngx-components-widgets-implementations-image.mjs","esm":"./esm2022/widgets/implementations/image/c8y-ngx-components-widgets-implementations-image.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-image.mjs"},"./widgets/implementations/info-gauge":{"types":"./widgets/implementations/info-gauge/index.d.ts","esm2022":"./esm2022/widgets/implementations/info-gauge/c8y-ngx-components-widgets-implementations-info-gauge.mjs","esm":"./esm2022/widgets/implementations/info-gauge/c8y-ngx-components-widgets-implementations-info-gauge.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs"},"./widgets/implementations/kpi":{"types":"./widgets/implementations/kpi/index.d.ts","esm2022":"./esm2022/widgets/implementations/kpi/c8y-ngx-components-widgets-implementations-kpi.mjs","esm":"./esm2022/widgets/implementations/kpi/c8y-ngx-components-widgets-implementations-kpi.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs"},"./widgets/implementations/linear-gauge":{"types":"./widgets/implementations/linear-gauge/index.d.ts","esm2022":"./esm2022/widgets/implementations/linear-gauge/c8y-ngx-components-widgets-implementations-linear-gauge.mjs","esm":"./esm2022/widgets/implementations/linear-gauge/c8y-ngx-components-widgets-implementations-linear-gauge.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs"},"./widgets/implementations/map":{"types":"./widgets/implementations/map/index.d.ts","esm2022":"./esm2022/widgets/implementations/map/c8y-ngx-components-widgets-implementations-map.mjs","esm":"./esm2022/widgets/implementations/map/c8y-ngx-components-widgets-implementations-map.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-map.mjs"},"./widgets/implementations/markdown":{"types":"./widgets/implementations/markdown/index.d.ts","esm2022":"./esm2022/widgets/implementations/markdown/c8y-ngx-components-widgets-implementations-markdown.mjs","esm":"./esm2022/widgets/implementations/markdown/c8y-ngx-components-widgets-implementations-markdown.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-markdown.mjs"},"./widgets/implementations/three-d-rotation":{"types":"./widgets/implementations/three-d-rotation/index.d.ts","esm2022":"./esm2022/widgets/implementations/three-d-rotation/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs","esm":"./esm2022/widgets/implementations/three-d-rotation/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs"},"./branding/shared/lazy/add-branding-modal":{"types":"./branding/shared/lazy/add-branding-modal/index.d.ts","esm2022":"./esm2022/branding/shared/lazy/add-branding-modal/c8y-ngx-components-branding-shared-lazy-add-branding-modal.mjs","esm":"./esm2022/branding/shared/lazy/add-branding-modal/c8y-ngx-components-branding-shared-lazy-add-branding-modal.mjs","default":"./fesm2022/c8y-ngx-components-branding-shared-lazy-add-branding-modal.mjs"},"./widgets/definitions/alarms/alarm-list":{"types":"./widgets/definitions/alarms/alarm-list/index.d.ts","esm2022":"./esm2022/widgets/definitions/alarms/alarm-list/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs","esm":"./esm2022/widgets/definitions/alarms/alarm-list/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs"},"./widgets/definitions/alarms/all-critical-alarms":{"types":"./widgets/definitions/alarms/all-critical-alarms/index.d.ts","esm2022":"./esm2022/widgets/definitions/alarms/all-critical-alarms/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs","esm":"./esm2022/widgets/definitions/alarms/all-critical-alarms/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs"},"./widgets/definitions/alarms/recent-alarms":{"types":"./widgets/definitions/alarms/recent-alarms/index.d.ts","esm2022":"./esm2022/widgets/definitions/alarms/recent-alarms/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs","esm":"./esm2022/widgets/definitions/alarms/recent-alarms/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs"},"./widgets/implementations/three-d-rotation/lazy-box-model":{"types":"./widgets/implementations/three-d-rotation/lazy-box-model/index.d.ts","esm2022":"./esm2022/widgets/implementations/three-d-rotation/lazy-box-model/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs","esm":"./esm2022/widgets/implementations/three-d-rotation/lazy-box-model/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs"},"./widgets/implementations/three-d-rotation/lazy-phone-model":{"types":"./widgets/implementations/three-d-rotation/lazy-phone-model/index.d.ts","esm2022":"./esm2022/widgets/implementations/three-d-rotation/lazy-phone-model/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs","esm":"./esm2022/widgets/implementations/three-d-rotation/lazy-phone-model/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs"}},"sideEffects":false}
|
|
1
|
+
{"name":"@c8y/ngx-components","version":"1021.31.0","license":"Apache-2.0","author":"Cumulocity","description":"Angular modules for Cumulocity IoT applications","keywords":["Cumulocity","IoT","m2m","Angular","Components"],"peerDependencies":{"@angular/cdk":"^18.2.0","@angular/common":"^18.2.0","@angular/core":"^18.2.0","@angular/forms":"^18.2.0","@angular/platform-browser":"^18.2.0","@angular/router":"^18.2.0","@angular/upgrade":"^18.2.0","@c8y/bootstrap":"1021.31.0","@c8y/client":"1021.31.0","leaflet":"^1.7.1","rxjs":"^7.4.0"},"dependencies":{"@ngx-formly/core":"6.1.3","@ngx-translate/core":"15.0.0","@ngx-translate/http-loader":"8.0.0","angularx-qrcode":"18.0.1","@zip.js/zip.js":"2.7.52","chroma-js":"3.1.2","file-saver":"2.0.5","libphonenumber-js":"1.11.9","lodash-es":"^4.0.0","ngx-bootstrap":"18.0.0","marked":"14.1.2","monaco-editor":"^0.52.0","semver":"~7.6.0","three":"0.154.0","tslib":"^2.6.3"},"module":"fesm2022/c8y-ngx-components.mjs","typings":"index.d.ts","exports":{"./locales/de.po":"./locales/de.po","./locales/en.po":"./locales/en.po","./locales/es.po":"./locales/es.po","./locales/fr.po":"./locales/fr.po","./locales/ja_JP.po":"./locales/ja_JP.po","./locales/ko.po":"./locales/ko.po","./locales/nl.po":"./locales/nl.po","./locales/pt_BR.po":"./locales/pt_BR.po","./locales/zh_CN.po":"./locales/zh_CN.po","./locales/zh_TW.po":"./locales/zh_TW.po","./locales/pl.po":"./locales/pl.po","./locales/en_US.po":"./locales/en_US.po","./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2022":"./esm2022/c8y-ngx-components.mjs","esm":"./esm2022/c8y-ngx-components.mjs","default":"./fesm2022/c8y-ngx-components.mjs"},"./actility-device-registration":{"types":"./actility-device-registration/index.d.ts","esm2022":"./esm2022/actility-device-registration/c8y-ngx-components-actility-device-registration.mjs","esm":"./esm2022/actility-device-registration/c8y-ngx-components-actility-device-registration.mjs","default":"./fesm2022/c8y-ngx-components-actility-device-registration.mjs"},"./advanced-software-management":{"types":"./advanced-software-management/index.d.ts","esm2022":"./esm2022/advanced-software-management/c8y-ngx-components-advanced-software-management.mjs","esm":"./esm2022/advanced-software-management/c8y-ngx-components-advanced-software-management.mjs","default":"./fesm2022/c8y-ngx-components-advanced-software-management.mjs"},"./alarm-event-selector":{"types":"./alarm-event-selector/index.d.ts","esm2022":"./esm2022/alarm-event-selector/c8y-ngx-components-alarm-event-selector.mjs","esm":"./esm2022/alarm-event-selector/c8y-ngx-components-alarm-event-selector.mjs","default":"./fesm2022/c8y-ngx-components-alarm-event-selector.mjs"},"./alarms":{"types":"./alarms/index.d.ts","esm2022":"./esm2022/alarms/c8y-ngx-components-alarms.mjs","esm":"./esm2022/alarms/c8y-ngx-components-alarms.mjs","default":"./fesm2022/c8y-ngx-components-alarms.mjs"},"./api":{"types":"./api/index.d.ts","esm2022":"./esm2022/api/c8y-ngx-components-api.mjs","esm":"./esm2022/api/c8y-ngx-components-api.mjs","default":"./fesm2022/c8y-ngx-components-api.mjs"},"./app-logs":{"types":"./app-logs/index.d.ts","esm2022":"./esm2022/app-logs/c8y-ngx-components-app-logs.mjs","esm":"./esm2022/app-logs/c8y-ngx-components-app-logs.mjs","default":"./fesm2022/c8y-ngx-components-app-logs.mjs"},"./assets-navigator":{"types":"./assets-navigator/index.d.ts","esm2022":"./esm2022/assets-navigator/c8y-ngx-components-assets-navigator.mjs","esm":"./esm2022/assets-navigator/c8y-ngx-components-assets-navigator.mjs","default":"./fesm2022/c8y-ngx-components-assets-navigator.mjs"},"./auth-configuration":{"types":"./auth-configuration/index.d.ts","esm2022":"./esm2022/auth-configuration/c8y-ngx-components-auth-configuration.mjs","esm":"./esm2022/auth-configuration/c8y-ngx-components-auth-configuration.mjs","default":"./fesm2022/c8y-ngx-components-auth-configuration.mjs"},"./binary-file-download":{"types":"./binary-file-download/index.d.ts","esm2022":"./esm2022/binary-file-download/c8y-ngx-components-binary-file-download.mjs","esm":"./esm2022/binary-file-download/c8y-ngx-components-binary-file-download.mjs","default":"./fesm2022/c8y-ngx-components-binary-file-download.mjs"},"./bookmarks":{"types":"./bookmarks/index.d.ts","esm2022":"./esm2022/bookmarks/c8y-ngx-components-bookmarks.mjs","esm":"./esm2022/bookmarks/c8y-ngx-components-bookmarks.mjs","default":"./fesm2022/c8y-ngx-components-bookmarks.mjs"},"./child-devices":{"types":"./child-devices/index.d.ts","esm2022":"./esm2022/child-devices/c8y-ngx-components-child-devices.mjs","esm":"./esm2022/child-devices/c8y-ngx-components-child-devices.mjs","default":"./fesm2022/c8y-ngx-components-child-devices.mjs"},"./cockpit-config":{"types":"./cockpit-config/index.d.ts","esm2022":"./esm2022/cockpit-config/c8y-ngx-components-cockpit-config.mjs","esm":"./esm2022/cockpit-config/c8y-ngx-components-cockpit-config.mjs","default":"./fesm2022/c8y-ngx-components-cockpit-config.mjs"},"./connectivity":{"types":"./connectivity/index.d.ts","esm2022":"./esm2022/connectivity/c8y-ngx-components-connectivity.mjs","esm":"./esm2022/connectivity/c8y-ngx-components-connectivity.mjs","default":"./fesm2022/c8y-ngx-components-connectivity.mjs"},"./context-dashboard":{"types":"./context-dashboard/index.d.ts","esm2022":"./esm2022/context-dashboard/c8y-ngx-components-context-dashboard.mjs","esm":"./esm2022/context-dashboard/c8y-ngx-components-context-dashboard.mjs","default":"./fesm2022/c8y-ngx-components-context-dashboard.mjs"},"./data-broker":{"types":"./data-broker/index.d.ts","esm2022":"./esm2022/data-broker/c8y-ngx-components-data-broker.mjs","esm":"./esm2022/data-broker/c8y-ngx-components-data-broker.mjs","default":"./fesm2022/c8y-ngx-components-data-broker.mjs"},"./data-grid-columns":{"types":"./data-grid-columns/index.d.ts","esm2022":"./esm2022/data-grid-columns/c8y-ngx-components-data-grid-columns.mjs","esm":"./esm2022/data-grid-columns/c8y-ngx-components-data-grid-columns.mjs","default":"./fesm2022/c8y-ngx-components-data-grid-columns.mjs"},"./datapoint-library":{"types":"./datapoint-library/index.d.ts","esm2022":"./esm2022/datapoint-library/c8y-ngx-components-datapoint-library.mjs","esm":"./esm2022/datapoint-library/c8y-ngx-components-datapoint-library.mjs","default":"./fesm2022/c8y-ngx-components-datapoint-library.mjs"},"./datapoint-selector":{"types":"./datapoint-selector/index.d.ts","esm2022":"./esm2022/datapoint-selector/c8y-ngx-components-datapoint-selector.mjs","esm":"./esm2022/datapoint-selector/c8y-ngx-components-datapoint-selector.mjs","default":"./fesm2022/c8y-ngx-components-datapoint-selector.mjs"},"./datapoints-export-selector":{"types":"./datapoints-export-selector/index.d.ts","esm2022":"./esm2022/datapoints-export-selector/c8y-ngx-components-datapoints-export-selector.mjs","esm":"./esm2022/datapoints-export-selector/c8y-ngx-components-datapoints-export-selector.mjs","default":"./fesm2022/c8y-ngx-components-datapoints-export-selector.mjs"},"./default-subscriptions":{"types":"./default-subscriptions/index.d.ts","esm2022":"./esm2022/default-subscriptions/c8y-ngx-components-default-subscriptions.mjs","esm":"./esm2022/default-subscriptions/c8y-ngx-components-default-subscriptions.mjs","default":"./fesm2022/c8y-ngx-components-default-subscriptions.mjs"},"./device-grid":{"types":"./device-grid/index.d.ts","esm2022":"./esm2022/device-grid/c8y-ngx-components-device-grid.mjs","esm":"./esm2022/device-grid/c8y-ngx-components-device-grid.mjs","default":"./fesm2022/c8y-ngx-components-device-grid.mjs"},"./device-list":{"types":"./device-list/index.d.ts","esm2022":"./esm2022/device-list/c8y-ngx-components-device-list.mjs","esm":"./esm2022/device-list/c8y-ngx-components-device-list.mjs","default":"./fesm2022/c8y-ngx-components-device-list.mjs"},"./device-map":{"types":"./device-map/index.d.ts","esm2022":"./esm2022/device-map/c8y-ngx-components-device-map.mjs","esm":"./esm2022/device-map/c8y-ngx-components-device-map.mjs","default":"./fesm2022/c8y-ngx-components-device-map.mjs"},"./device-profile":{"types":"./device-profile/index.d.ts","esm2022":"./esm2022/device-profile/c8y-ngx-components-device-profile.mjs","esm":"./esm2022/device-profile/c8y-ngx-components-device-profile.mjs","default":"./fesm2022/c8y-ngx-components-device-profile.mjs"},"./device-protocol-object-mappings":{"types":"./device-protocol-object-mappings/index.d.ts","esm2022":"./esm2022/device-protocol-object-mappings/c8y-ngx-components-device-protocol-object-mappings.mjs","esm":"./esm2022/device-protocol-object-mappings/c8y-ngx-components-device-protocol-object-mappings.mjs","default":"./fesm2022/c8y-ngx-components-device-protocol-object-mappings.mjs"},"./device-protocols":{"types":"./device-protocols/index.d.ts","esm2022":"./esm2022/device-protocols/c8y-ngx-components-device-protocols.mjs","esm":"./esm2022/device-protocols/c8y-ngx-components-device-protocols.mjs","default":"./fesm2022/c8y-ngx-components-device-protocols.mjs"},"./device-shell":{"types":"./device-shell/index.d.ts","esm2022":"./esm2022/device-shell/c8y-ngx-components-device-shell.mjs","esm":"./esm2022/device-shell/c8y-ngx-components-device-shell.mjs","default":"./fesm2022/c8y-ngx-components-device-shell.mjs"},"./diagnostics":{"types":"./diagnostics/index.d.ts","esm2022":"./esm2022/diagnostics/c8y-ngx-components-diagnostics.mjs","esm":"./esm2022/diagnostics/c8y-ngx-components-diagnostics.mjs","default":"./fesm2022/c8y-ngx-components-diagnostics.mjs"},"./ecosystem":{"types":"./ecosystem/index.d.ts","esm2022":"./esm2022/ecosystem/c8y-ngx-components-ecosystem.mjs","esm":"./esm2022/ecosystem/c8y-ngx-components-ecosystem.mjs","default":"./fesm2022/c8y-ngx-components-ecosystem.mjs"},"./editor":{"types":"./editor/index.d.ts","esm2022":"./esm2022/editor/c8y-ngx-components-editor.mjs","esm":"./esm2022/editor/c8y-ngx-components-editor.mjs","default":"./fesm2022/c8y-ngx-components-editor.mjs"},"./file-preview":{"types":"./file-preview/index.d.ts","esm2022":"./esm2022/file-preview/c8y-ngx-components-file-preview.mjs","esm":"./esm2022/file-preview/c8y-ngx-components-file-preview.mjs","default":"./fesm2022/c8y-ngx-components-file-preview.mjs"},"./files-repository":{"types":"./files-repository/index.d.ts","esm2022":"./esm2022/files-repository/c8y-ngx-components-files-repository.mjs","esm":"./esm2022/files-repository/c8y-ngx-components-files-repository.mjs","default":"./fesm2022/c8y-ngx-components-files-repository.mjs"},"./gettext":{"types":"./gettext/index.d.ts","esm2022":"./esm2022/gettext/c8y-ngx-components-gettext.mjs","esm":"./esm2022/gettext/c8y-ngx-components-gettext.mjs","default":"./fesm2022/c8y-ngx-components-gettext.mjs"},"./icon-selector":{"types":"./icon-selector/index.d.ts","esm2022":"./esm2022/icon-selector/c8y-ngx-components-icon-selector.mjs","esm":"./esm2022/icon-selector/c8y-ngx-components-icon-selector.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector.mjs"},"./interval-picker":{"types":"./interval-picker/index.d.ts","esm2022":"./esm2022/interval-picker/c8y-ngx-components-interval-picker.mjs","esm":"./esm2022/interval-picker/c8y-ngx-components-interval-picker.mjs","default":"./fesm2022/c8y-ngx-components-interval-picker.mjs"},"./location":{"types":"./location/index.d.ts","esm2022":"./esm2022/location/c8y-ngx-components-location.mjs","esm":"./esm2022/location/c8y-ngx-components-location.mjs","default":"./fesm2022/c8y-ngx-components-location.mjs"},"./loriot-device-registration":{"types":"./loriot-device-registration/index.d.ts","esm2022":"./esm2022/loriot-device-registration/c8y-ngx-components-loriot-device-registration.mjs","esm":"./esm2022/loriot-device-registration/c8y-ngx-components-loriot-device-registration.mjs","default":"./fesm2022/c8y-ngx-components-loriot-device-registration.mjs"},"./map":{"types":"./map/index.d.ts","esm2022":"./esm2022/map/c8y-ngx-components-map.mjs","esm":"./esm2022/map/c8y-ngx-components-map.mjs","default":"./fesm2022/c8y-ngx-components-map.mjs"},"./operations":{"types":"./operations/index.d.ts","esm2022":"./esm2022/operations/c8y-ngx-components-operations.mjs","esm":"./esm2022/operations/c8y-ngx-components-operations.mjs","default":"./fesm2022/c8y-ngx-components-operations.mjs"},"./pending-mo-request":{"types":"./pending-mo-request/index.d.ts","esm2022":"./esm2022/pending-mo-request/c8y-ngx-components-pending-mo-request.mjs","esm":"./esm2022/pending-mo-request/c8y-ngx-components-pending-mo-request.mjs","default":"./fesm2022/c8y-ngx-components-pending-mo-request.mjs"},"./platform-configuration":{"types":"./platform-configuration/index.d.ts","esm2022":"./esm2022/platform-configuration/c8y-ngx-components-platform-configuration.mjs","esm":"./esm2022/platform-configuration/c8y-ngx-components-platform-configuration.mjs","default":"./fesm2022/c8y-ngx-components-platform-configuration.mjs"},"./polyfills":{"types":"./polyfills/index.d.ts","esm2022":"./esm2022/polyfills/c8y-ngx-components-polyfills.mjs","esm":"./esm2022/polyfills/c8y-ngx-components-polyfills.mjs","default":"./fesm2022/c8y-ngx-components-polyfills.mjs"},"./protocol-lpwan":{"types":"./protocol-lpwan/index.d.ts","esm2022":"./esm2022/protocol-lpwan/c8y-ngx-components-protocol-lpwan.mjs","esm":"./esm2022/protocol-lpwan/c8y-ngx-components-protocol-lpwan.mjs","default":"./fesm2022/c8y-ngx-components-protocol-lpwan.mjs"},"./protocol-lwm2m":{"types":"./protocol-lwm2m/index.d.ts","esm2022":"./esm2022/protocol-lwm2m/c8y-ngx-components-protocol-lwm2m.mjs","esm":"./esm2022/protocol-lwm2m/c8y-ngx-components-protocol-lwm2m.mjs","default":"./fesm2022/c8y-ngx-components-protocol-lwm2m.mjs"},"./register-device":{"types":"./register-device/index.d.ts","esm2022":"./esm2022/register-device/c8y-ngx-components-register-device.mjs","esm":"./esm2022/register-device/c8y-ngx-components-register-device.mjs","default":"./fesm2022/c8y-ngx-components-register-device.mjs"},"./protocol-opcua":{"types":"./protocol-opcua/index.d.ts","esm2022":"./esm2022/protocol-opcua/c8y-ngx-components-protocol-opcua.mjs","esm":"./esm2022/protocol-opcua/c8y-ngx-components-protocol-opcua.mjs","default":"./fesm2022/c8y-ngx-components-protocol-opcua.mjs"},"./replace-device":{"types":"./replace-device/index.d.ts","esm2022":"./esm2022/replace-device/c8y-ngx-components-replace-device.mjs","esm":"./esm2022/replace-device/c8y-ngx-components-replace-device.mjs","default":"./fesm2022/c8y-ngx-components-replace-device.mjs"},"./report-dashboard":{"types":"./report-dashboard/index.d.ts","esm2022":"./esm2022/report-dashboard/c8y-ngx-components-report-dashboard.mjs","esm":"./esm2022/report-dashboard/c8y-ngx-components-report-dashboard.mjs","default":"./fesm2022/c8y-ngx-components-report-dashboard.mjs"},"./reports":{"types":"./reports/index.d.ts","esm2022":"./esm2022/reports/c8y-ngx-components-reports.mjs","esm":"./esm2022/reports/c8y-ngx-components-reports.mjs","default":"./fesm2022/c8y-ngx-components-reports.mjs"},"./repository":{"types":"./repository/index.d.ts","esm2022":"./esm2022/repository/c8y-ngx-components-repository.mjs","esm":"./esm2022/repository/c8y-ngx-components-repository.mjs","default":"./fesm2022/c8y-ngx-components-repository.mjs"},"./search":{"types":"./search/index.d.ts","esm2022":"./esm2022/search/c8y-ngx-components-search.mjs","esm":"./esm2022/search/c8y-ngx-components-search.mjs","default":"./fesm2022/c8y-ngx-components-search.mjs"},"./sensor-phone":{"types":"./sensor-phone/index.d.ts","esm2022":"./esm2022/sensor-phone/c8y-ngx-components-sensor-phone.mjs","esm":"./esm2022/sensor-phone/c8y-ngx-components-sensor-phone.mjs","default":"./fesm2022/c8y-ngx-components-sensor-phone.mjs"},"./services":{"types":"./services/index.d.ts","esm2022":"./esm2022/services/c8y-ngx-components-services.mjs","esm":"./esm2022/services/c8y-ngx-components-services.mjs","default":"./fesm2022/c8y-ngx-components-services.mjs"},"./sigfox-device-registration":{"types":"./sigfox-device-registration/index.d.ts","esm2022":"./esm2022/sigfox-device-registration/c8y-ngx-components-sigfox-device-registration.mjs","esm":"./esm2022/sigfox-device-registration/c8y-ngx-components-sigfox-device-registration.mjs","default":"./fesm2022/c8y-ngx-components-sigfox-device-registration.mjs"},"./sms-gateway":{"types":"./sms-gateway/index.d.ts","esm2022":"./esm2022/sms-gateway/c8y-ngx-components-sms-gateway.mjs","esm":"./esm2022/sms-gateway/c8y-ngx-components-sms-gateway.mjs","default":"./fesm2022/c8y-ngx-components-sms-gateway.mjs"},"./static-assets":{"types":"./static-assets/index.d.ts","esm2022":"./esm2022/static-assets/c8y-ngx-components-static-assets.mjs","esm":"./esm2022/static-assets/c8y-ngx-components-static-assets.mjs","default":"./fesm2022/c8y-ngx-components-static-assets.mjs"},"./sub-assets":{"types":"./sub-assets/index.d.ts","esm2022":"./esm2022/sub-assets/c8y-ngx-components-sub-assets.mjs","esm":"./esm2022/sub-assets/c8y-ngx-components-sub-assets.mjs","default":"./fesm2022/c8y-ngx-components-sub-assets.mjs"},"./tenants":{"types":"./tenants/index.d.ts","esm2022":"./esm2022/tenants/c8y-ngx-components-tenants.mjs","esm":"./esm2022/tenants/c8y-ngx-components-tenants.mjs","default":"./fesm2022/c8y-ngx-components-tenants.mjs"},"./tracking":{"types":"./tracking/index.d.ts","esm2022":"./esm2022/tracking/c8y-ngx-components-tracking.mjs","esm":"./esm2022/tracking/c8y-ngx-components-tracking.mjs","default":"./fesm2022/c8y-ngx-components-tracking.mjs"},"./translation-editor":{"types":"./translation-editor/index.d.ts","esm2022":"./esm2022/translation-editor/c8y-ngx-components-translation-editor.mjs","esm":"./esm2022/translation-editor/c8y-ngx-components-translation-editor.mjs","default":"./fesm2022/c8y-ngx-components-translation-editor.mjs"},"./trusted-certificates":{"types":"./trusted-certificates/index.d.ts","esm2022":"./esm2022/trusted-certificates/c8y-ngx-components-trusted-certificates.mjs","esm":"./esm2022/trusted-certificates/c8y-ngx-components-trusted-certificates.mjs","default":"./fesm2022/c8y-ngx-components-trusted-certificates.mjs"},"./upgrade":{"types":"./upgrade/index.d.ts","esm2022":"./esm2022/upgrade/c8y-ngx-components-upgrade.mjs","esm":"./esm2022/upgrade/c8y-ngx-components-upgrade.mjs","default":"./fesm2022/c8y-ngx-components-upgrade.mjs"},"./user-roles":{"types":"./user-roles/index.d.ts","esm2022":"./esm2022/user-roles/c8y-ngx-components-user-roles.mjs","esm":"./esm2022/user-roles/c8y-ngx-components-user-roles.mjs","default":"./fesm2022/c8y-ngx-components-user-roles.mjs"},"./widgets":{"types":"./widgets/index.d.ts","esm2022":"./esm2022/widgets/c8y-ngx-components-widgets.mjs","esm":"./esm2022/widgets/c8y-ngx-components-widgets.mjs","default":"./fesm2022/c8y-ngx-components-widgets.mjs"},"./alarms/cockpit":{"types":"./alarms/cockpit/index.d.ts","esm2022":"./esm2022/alarms/cockpit/c8y-ngx-components-alarms-cockpit.mjs","esm":"./esm2022/alarms/cockpit/c8y-ngx-components-alarms-cockpit.mjs","default":"./fesm2022/c8y-ngx-components-alarms-cockpit.mjs"},"./alarms/devicemanagement":{"types":"./alarms/devicemanagement/index.d.ts","esm2022":"./esm2022/alarms/devicemanagement/c8y-ngx-components-alarms-devicemanagement.mjs","esm":"./esm2022/alarms/devicemanagement/c8y-ngx-components-alarms-devicemanagement.mjs","default":"./fesm2022/c8y-ngx-components-alarms-devicemanagement.mjs"},"./branding/base-branding":{"types":"./branding/base-branding/index.d.ts","esm2022":"./esm2022/branding/base-branding/c8y-ngx-components-branding-base-branding.mjs","esm":"./esm2022/branding/base-branding/c8y-ngx-components-branding-base-branding.mjs","default":"./fesm2022/c8y-ngx-components-branding-base-branding.mjs"},"./branding/dark-theme":{"types":"./branding/dark-theme/index.d.ts","esm2022":"./esm2022/branding/dark-theme/c8y-ngx-components-branding-dark-theme.mjs","esm":"./esm2022/branding/dark-theme/c8y-ngx-components-branding-dark-theme.mjs","default":"./fesm2022/c8y-ngx-components-branding-dark-theme.mjs"},"./branding/extra-css-branding-editor":{"types":"./branding/extra-css-branding-editor/index.d.ts","esm2022":"./esm2022/branding/extra-css-branding-editor/c8y-ngx-components-branding-extra-css-branding-editor.mjs","esm":"./esm2022/branding/extra-css-branding-editor/c8y-ngx-components-branding-extra-css-branding-editor.mjs","default":"./fesm2022/c8y-ngx-components-branding-extra-css-branding-editor.mjs"},"./branding/plain-branding-editor":{"types":"./branding/plain-branding-editor/index.d.ts","esm2022":"./esm2022/branding/plain-branding-editor/c8y-ngx-components-branding-plain-branding-editor.mjs","esm":"./esm2022/branding/plain-branding-editor/c8y-ngx-components-branding-plain-branding-editor.mjs","default":"./fesm2022/c8y-ngx-components-branding-plain-branding-editor.mjs"},"./branding/shared":{"types":"./branding/shared/index.d.ts","esm2022":"./esm2022/branding/shared/c8y-ngx-components-branding-shared.mjs","esm":"./esm2022/branding/shared/c8y-ngx-components-branding-shared.mjs","default":"./fesm2022/c8y-ngx-components-branding-shared.mjs"},"./datapoint-library/details":{"types":"./datapoint-library/details/index.d.ts","esm2022":"./esm2022/datapoint-library/details/c8y-ngx-components-datapoint-library-details.mjs","esm":"./esm2022/datapoint-library/details/c8y-ngx-components-datapoint-library-details.mjs","default":"./fesm2022/c8y-ngx-components-datapoint-library-details.mjs"},"./data-grid-columns/asset-type":{"types":"./data-grid-columns/asset-type/index.d.ts","esm2022":"./esm2022/data-grid-columns/asset-type/c8y-ngx-components-data-grid-columns-asset-type.mjs","esm":"./esm2022/data-grid-columns/asset-type/c8y-ngx-components-data-grid-columns-asset-type.mjs","default":"./fesm2022/c8y-ngx-components-data-grid-columns-asset-type.mjs"},"./datapoint-library/list":{"types":"./datapoint-library/list/index.d.ts","esm2022":"./esm2022/datapoint-library/list/c8y-ngx-components-datapoint-library-list.mjs","esm":"./esm2022/datapoint-library/list/c8y-ngx-components-datapoint-library-list.mjs","default":"./fesm2022/c8y-ngx-components-datapoint-library-list.mjs"},"./datapoint-library/model":{"types":"./datapoint-library/model/index.d.ts","esm2022":"./esm2022/datapoint-library/model/c8y-ngx-components-datapoint-library-model.mjs","esm":"./esm2022/datapoint-library/model/c8y-ngx-components-datapoint-library-model.mjs","default":"./fesm2022/c8y-ngx-components-datapoint-library-model.mjs"},"./datapoint-library/services":{"types":"./datapoint-library/services/index.d.ts","esm2022":"./esm2022/datapoint-library/services/c8y-ngx-components-datapoint-library-services.mjs","esm":"./esm2022/datapoint-library/services/c8y-ngx-components-datapoint-library-services.mjs","default":"./fesm2022/c8y-ngx-components-datapoint-library-services.mjs"},"./ecosystem/application-plugins":{"types":"./ecosystem/application-plugins/index.d.ts","esm2022":"./esm2022/ecosystem/application-plugins/c8y-ngx-components-ecosystem-application-plugins.mjs","esm":"./esm2022/ecosystem/application-plugins/c8y-ngx-components-ecosystem-application-plugins.mjs","default":"./fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs"},"./ecosystem/license-confirm":{"types":"./ecosystem/license-confirm/index.d.ts","esm2022":"./esm2022/ecosystem/license-confirm/c8y-ngx-components-ecosystem-license-confirm.mjs","esm":"./esm2022/ecosystem/license-confirm/c8y-ngx-components-ecosystem-license-confirm.mjs","default":"./fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs"},"./ecosystem/plugin-setup-stepper":{"types":"./ecosystem/plugin-setup-stepper/index.d.ts","esm2022":"./esm2022/ecosystem/plugin-setup-stepper/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs","esm":"./esm2022/ecosystem/plugin-setup-stepper/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs","default":"./fesm2022/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs"},"./ecosystem/shared":{"types":"./ecosystem/shared/index.d.ts","esm2022":"./esm2022/ecosystem/shared/c8y-ngx-components-ecosystem-shared.mjs","esm":"./esm2022/ecosystem/shared/c8y-ngx-components-ecosystem-shared.mjs","default":"./fesm2022/c8y-ngx-components-ecosystem-shared.mjs"},"./icon-selector/icons":{"types":"./icon-selector/icons/index.d.ts","esm2022":"./esm2022/icon-selector/icons/c8y-ngx-components-icon-selector-icons.mjs","esm":"./esm2022/icon-selector/icons/c8y-ngx-components-icon-selector-icons.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons.mjs"},"./icon-selector/model":{"types":"./icon-selector/model/index.d.ts","esm2022":"./esm2022/icon-selector/model/c8y-ngx-components-icon-selector-model.mjs","esm":"./esm2022/icon-selector/model/c8y-ngx-components-icon-selector-model.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-model.mjs"},"./lazy/three":{"types":"./lazy/three/index.d.ts","esm2022":"./esm2022/lazy/three/c8y-ngx-components-lazy-three.mjs","esm":"./esm2022/lazy/three/c8y-ngx-components-lazy-three.mjs","default":"./fesm2022/c8y-ngx-components-lazy-three.mjs"},"./lazy/three-orbit-controls":{"types":"./lazy/three-orbit-controls/index.d.ts","esm2022":"./esm2022/lazy/three-orbit-controls/c8y-ngx-components-lazy-three-orbit-controls.mjs","esm":"./esm2022/lazy/three-orbit-controls/c8y-ngx-components-lazy-three-orbit-controls.mjs","default":"./fesm2022/c8y-ngx-components-lazy-three-orbit-controls.mjs"},"./operations/bulk-operation-from-single":{"types":"./operations/bulk-operation-from-single/index.d.ts","esm2022":"./esm2022/operations/bulk-operation-from-single/c8y-ngx-components-operations-bulk-operation-from-single.mjs","esm":"./esm2022/operations/bulk-operation-from-single/c8y-ngx-components-operations-bulk-operation-from-single.mjs","default":"./fesm2022/c8y-ngx-components-operations-bulk-operation-from-single.mjs"},"./operations/bulk-operation-list-item":{"types":"./operations/bulk-operation-list-item/index.d.ts","esm2022":"./esm2022/operations/bulk-operation-list-item/c8y-ngx-components-operations-bulk-operation-list-item.mjs","esm":"./esm2022/operations/bulk-operation-list-item/c8y-ngx-components-operations-bulk-operation-list-item.mjs","default":"./fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs"},"./operations/bulk-operation-modal-details":{"types":"./operations/bulk-operation-modal-details/index.d.ts","esm2022":"./esm2022/operations/bulk-operation-modal-details/c8y-ngx-components-operations-bulk-operation-modal-details.mjs","esm":"./esm2022/operations/bulk-operation-modal-details/c8y-ngx-components-operations-bulk-operation-modal-details.mjs","default":"./fesm2022/c8y-ngx-components-operations-bulk-operation-modal-details.mjs"},"./operations/bulk-operation-scheduler":{"types":"./operations/bulk-operation-scheduler/index.d.ts","esm2022":"./esm2022/operations/bulk-operation-scheduler/c8y-ngx-components-operations-bulk-operation-scheduler.mjs","esm":"./esm2022/operations/bulk-operation-scheduler/c8y-ngx-components-operations-bulk-operation-scheduler.mjs","default":"./fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs"},"./operations/bulk-operation-stepper":{"types":"./operations/bulk-operation-stepper/index.d.ts","esm2022":"./esm2022/operations/bulk-operation-stepper/c8y-ngx-components-operations-bulk-operation-stepper.mjs","esm":"./esm2022/operations/bulk-operation-stepper/c8y-ngx-components-operations-bulk-operation-stepper.mjs","default":"./fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs"},"./operations/bulk-operations-list":{"types":"./operations/bulk-operations-list/index.d.ts","esm2022":"./esm2022/operations/bulk-operations-list/c8y-ngx-components-operations-bulk-operations-list.mjs","esm":"./esm2022/operations/bulk-operations-list/c8y-ngx-components-operations-bulk-operations-list.mjs","default":"./fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs"},"./operations/bulk-operations-service":{"types":"./operations/bulk-operations-service/index.d.ts","esm2022":"./esm2022/operations/bulk-operations-service/c8y-ngx-components-operations-bulk-operations-service.mjs","esm":"./esm2022/operations/bulk-operations-service/c8y-ngx-components-operations-bulk-operations-service.mjs","default":"./fesm2022/c8y-ngx-components-operations-bulk-operations-service.mjs"},"./operations/bulk-operations-stepper-container":{"types":"./operations/bulk-operations-stepper-container/index.d.ts","esm2022":"./esm2022/operations/bulk-operations-stepper-container/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs","esm":"./esm2022/operations/bulk-operations-stepper-container/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs","default":"./fesm2022/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs"},"./operations/bulk-single-operations-list":{"types":"./operations/bulk-single-operations-list/index.d.ts","esm2022":"./esm2022/operations/bulk-single-operations-list/c8y-ngx-components-operations-bulk-single-operations-list.mjs","esm":"./esm2022/operations/bulk-single-operations-list/c8y-ngx-components-operations-bulk-single-operations-list.mjs","default":"./fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs"},"./operations/create-bulk-operation-details":{"types":"./operations/create-bulk-operation-details/index.d.ts","esm2022":"./esm2022/operations/create-bulk-operation-details/c8y-ngx-components-operations-create-bulk-operation-details.mjs","esm":"./esm2022/operations/create-bulk-operation-details/c8y-ngx-components-operations-create-bulk-operation-details.mjs","default":"./fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs"},"./operations/device-selector":{"types":"./operations/device-selector/index.d.ts","esm2022":"./esm2022/operations/device-selector/c8y-ngx-components-operations-device-selector.mjs","esm":"./esm2022/operations/device-selector/c8y-ngx-components-operations-device-selector.mjs","default":"./fesm2022/c8y-ngx-components-operations-device-selector.mjs"},"./operations/operation-details":{"types":"./operations/operation-details/index.d.ts","esm2022":"./esm2022/operations/operation-details/c8y-ngx-components-operations-operation-details.mjs","esm":"./esm2022/operations/operation-details/c8y-ngx-components-operations-operation-details.mjs","default":"./fesm2022/c8y-ngx-components-operations-operation-details.mjs"},"./operations/operation-summary":{"types":"./operations/operation-summary/index.d.ts","esm2022":"./esm2022/operations/operation-summary/c8y-ngx-components-operations-operation-summary.mjs","esm":"./esm2022/operations/operation-summary/c8y-ngx-components-operations-operation-summary.mjs","default":"./fesm2022/c8y-ngx-components-operations-operation-summary.mjs"},"./operations/operations-list":{"types":"./operations/operations-list/index.d.ts","esm2022":"./esm2022/operations/operations-list/c8y-ngx-components-operations-operations-list.mjs","esm":"./esm2022/operations/operations-list/c8y-ngx-components-operations-operations-list.mjs","default":"./fesm2022/c8y-ngx-components-operations-operations-list.mjs"},"./operations/operations-list-item-details":{"types":"./operations/operations-list-item-details/index.d.ts","esm2022":"./esm2022/operations/operations-list-item-details/c8y-ngx-components-operations-operations-list-item-details.mjs","esm":"./esm2022/operations/operations-list-item-details/c8y-ngx-components-operations-operations-list-item-details.mjs","default":"./fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs"},"./operations/operations-timeline":{"types":"./operations/operations-timeline/index.d.ts","esm2022":"./esm2022/operations/operations-timeline/c8y-ngx-components-operations-operations-timeline.mjs","esm":"./esm2022/operations/operations-timeline/c8y-ngx-components-operations-operations-timeline.mjs","default":"./fesm2022/c8y-ngx-components-operations-operations-timeline.mjs"},"./operations/product-experience":{"types":"./operations/product-experience/index.d.ts","esm2022":"./esm2022/operations/product-experience/c8y-ngx-components-operations-product-experience.mjs","esm":"./esm2022/operations/product-experience/c8y-ngx-components-operations-product-experience.mjs","default":"./fesm2022/c8y-ngx-components-operations-product-experience.mjs"},"./operations/shared":{"types":"./operations/shared/index.d.ts","esm2022":"./esm2022/operations/shared/c8y-ngx-components-operations-shared.mjs","esm":"./esm2022/operations/shared/c8y-ngx-components-operations-shared.mjs","default":"./fesm2022/c8y-ngx-components-operations-shared.mjs"},"./operations/status-filter":{"types":"./operations/status-filter/index.d.ts","esm2022":"./esm2022/operations/status-filter/c8y-ngx-components-operations-status-filter.mjs","esm":"./esm2022/operations/status-filter/c8y-ngx-components-operations-status-filter.mjs","default":"./fesm2022/c8y-ngx-components-operations-status-filter.mjs"},"./operations/stepper-bulk-type-configuration":{"types":"./operations/stepper-bulk-type-configuration/index.d.ts","esm2022":"./esm2022/operations/stepper-bulk-type-configuration/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","esm":"./esm2022/operations/stepper-bulk-type-configuration/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","default":"./fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs"},"./operations/stepper-bulk-type-device-profile":{"types":"./operations/stepper-bulk-type-device-profile/index.d.ts","esm2022":"./esm2022/operations/stepper-bulk-type-device-profile/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","esm":"./esm2022/operations/stepper-bulk-type-device-profile/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","default":"./fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs"},"./operations/stepper-bulk-type-firmware":{"types":"./operations/stepper-bulk-type-firmware/index.d.ts","esm2022":"./esm2022/operations/stepper-bulk-type-firmware/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs","esm":"./esm2022/operations/stepper-bulk-type-firmware/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs","default":"./fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs"},"./operations/stepper-bulk-type-software":{"types":"./operations/stepper-bulk-type-software/index.d.ts","esm2022":"./esm2022/operations/stepper-bulk-type-software/c8y-ngx-components-operations-stepper-bulk-type-software.mjs","esm":"./esm2022/operations/stepper-bulk-type-software/c8y-ngx-components-operations-stepper-bulk-type-software.mjs","default":"./fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs"},"./operations/stepper-frames":{"types":"./operations/stepper-frames/index.d.ts","esm2022":"./esm2022/operations/stepper-frames/c8y-ngx-components-operations-stepper-frames.mjs","esm":"./esm2022/operations/stepper-frames/c8y-ngx-components-operations-stepper-frames.mjs","default":"./fesm2022/c8y-ngx-components-operations-stepper-frames.mjs"},"./protocol-lwm2m/factories":{"types":"./protocol-lwm2m/factories/index.d.ts","esm2022":"./esm2022/protocol-lwm2m/factories/c8y-ngx-components-protocol-lwm2m-factories.mjs","esm":"./esm2022/protocol-lwm2m/factories/c8y-ngx-components-protocol-lwm2m-factories.mjs","default":"./fesm2022/c8y-ngx-components-protocol-lwm2m-factories.mjs"},"./protocol-lwm2m/formly":{"types":"./protocol-lwm2m/formly/index.d.ts","esm2022":"./esm2022/protocol-lwm2m/formly/c8y-ngx-components-protocol-lwm2m-formly.mjs","esm":"./esm2022/protocol-lwm2m/formly/c8y-ngx-components-protocol-lwm2m-formly.mjs","default":"./fesm2022/c8y-ngx-components-protocol-lwm2m-formly.mjs"},"./protocol-lwm2m/guards":{"types":"./protocol-lwm2m/guards/index.d.ts","esm2022":"./esm2022/protocol-lwm2m/guards/c8y-ngx-components-protocol-lwm2m-guards.mjs","esm":"./esm2022/protocol-lwm2m/guards/c8y-ngx-components-protocol-lwm2m-guards.mjs","default":"./fesm2022/c8y-ngx-components-protocol-lwm2m-guards.mjs"},"./protocol-lwm2m/model":{"types":"./protocol-lwm2m/model/index.d.ts","esm2022":"./esm2022/protocol-lwm2m/model/c8y-ngx-components-protocol-lwm2m-model.mjs","esm":"./esm2022/protocol-lwm2m/model/c8y-ngx-components-protocol-lwm2m-model.mjs","default":"./fesm2022/c8y-ngx-components-protocol-lwm2m-model.mjs"},"./protocol-lwm2m/services":{"types":"./protocol-lwm2m/services/index.d.ts","esm2022":"./esm2022/protocol-lwm2m/services/c8y-ngx-components-protocol-lwm2m-services.mjs","esm":"./esm2022/protocol-lwm2m/services/c8y-ngx-components-protocol-lwm2m-services.mjs","default":"./fesm2022/c8y-ngx-components-protocol-lwm2m-services.mjs"},"./protocol-opcua/mappings":{"types":"./protocol-opcua/mappings/index.d.ts","esm2022":"./esm2022/protocol-opcua/mappings/c8y-ngx-components-protocol-opcua-mappings.mjs","esm":"./esm2022/protocol-opcua/mappings/c8y-ngx-components-protocol-opcua-mappings.mjs","default":"./fesm2022/c8y-ngx-components-protocol-opcua-mappings.mjs"},"./replace-device/replace-device-wizard":{"types":"./replace-device/replace-device-wizard/index.d.ts","esm2022":"./esm2022/replace-device/replace-device-wizard/c8y-ngx-components-replace-device-replace-device-wizard.mjs","esm":"./esm2022/replace-device/replace-device-wizard/c8y-ngx-components-replace-device-replace-device-wizard.mjs","default":"./fesm2022/c8y-ngx-components-replace-device-replace-device-wizard.mjs"},"./repository/configuration":{"types":"./repository/configuration/index.d.ts","esm2022":"./esm2022/repository/configuration/c8y-ngx-components-repository-configuration.mjs","esm":"./esm2022/repository/configuration/c8y-ngx-components-repository-configuration.mjs","default":"./fesm2022/c8y-ngx-components-repository-configuration.mjs"},"./repository/firmware":{"types":"./repository/firmware/index.d.ts","esm2022":"./esm2022/repository/firmware/c8y-ngx-components-repository-firmware.mjs","esm":"./esm2022/repository/firmware/c8y-ngx-components-repository-firmware.mjs","default":"./fesm2022/c8y-ngx-components-repository-firmware.mjs"},"./repository/shared":{"types":"./repository/shared/index.d.ts","esm2022":"./esm2022/repository/shared/c8y-ngx-components-repository-shared.mjs","esm":"./esm2022/repository/shared/c8y-ngx-components-repository-shared.mjs","default":"./fesm2022/c8y-ngx-components-repository-shared.mjs"},"./repository/software":{"types":"./repository/software/index.d.ts","esm2022":"./esm2022/repository/software/c8y-ngx-components-repository-software.mjs","esm":"./esm2022/repository/software/c8y-ngx-components-repository-software.mjs","default":"./fesm2022/c8y-ngx-components-repository-software.mjs"},"./sensor-phone/sensor-phone-modal":{"types":"./sensor-phone/sensor-phone-modal/index.d.ts","esm2022":"./esm2022/sensor-phone/sensor-phone-modal/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs","esm":"./esm2022/sensor-phone/sensor-phone-modal/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs","default":"./fesm2022/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs"},"./static-assets/data":{"types":"./static-assets/data/index.d.ts","esm2022":"./esm2022/static-assets/data/c8y-ngx-components-static-assets-data.mjs","esm":"./esm2022/static-assets/data/c8y-ngx-components-static-assets-data.mjs","default":"./fesm2022/c8y-ngx-components-static-assets-data.mjs"},"./static-assets/modal":{"types":"./static-assets/modal/index.d.ts","esm2022":"./esm2022/static-assets/modal/c8y-ngx-components-static-assets-modal.mjs","esm":"./esm2022/static-assets/modal/c8y-ngx-components-static-assets-modal.mjs","default":"./fesm2022/c8y-ngx-components-static-assets-modal.mjs"},"./translation-editor/data":{"types":"./translation-editor/data/index.d.ts","esm2022":"./esm2022/translation-editor/data/c8y-ngx-components-translation-editor-data.mjs","esm":"./esm2022/translation-editor/data/c8y-ngx-components-translation-editor-data.mjs","default":"./fesm2022/c8y-ngx-components-translation-editor-data.mjs"},"./translation-editor/lazy":{"types":"./translation-editor/lazy/index.d.ts","esm2022":"./esm2022/translation-editor/lazy/c8y-ngx-components-translation-editor-lazy.mjs","esm":"./esm2022/translation-editor/lazy/c8y-ngx-components-translation-editor-lazy.mjs","default":"./fesm2022/c8y-ngx-components-translation-editor-lazy.mjs"},"./upgrade/upgraded-services":{"types":"./upgrade/upgraded-services/index.d.ts","esm2022":"./esm2022/upgrade/upgraded-services/c8y-ngx-components-upgrade-upgraded-services.mjs","esm":"./esm2022/upgrade/upgraded-services/c8y-ngx-components-upgrade-upgraded-services.mjs","default":"./fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs"},"./widgets/cockpit":{"types":"./widgets/cockpit/index.d.ts","esm2022":"./esm2022/widgets/cockpit/c8y-ngx-components-widgets-cockpit.mjs","esm":"./esm2022/widgets/cockpit/c8y-ngx-components-widgets-cockpit.mjs","default":"./fesm2022/c8y-ngx-components-widgets-cockpit.mjs"},"./widgets/definitions":{"types":"./widgets/definitions/index.d.ts","esm2022":"./esm2022/widgets/definitions/c8y-ngx-components-widgets-definitions.mjs","esm":"./esm2022/widgets/definitions/c8y-ngx-components-widgets-definitions.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions.mjs"},"./widgets/device-management":{"types":"./widgets/device-management/index.d.ts","esm2022":"./esm2022/widgets/device-management/c8y-ngx-components-widgets-device-management.mjs","esm":"./esm2022/widgets/device-management/c8y-ngx-components-widgets-device-management.mjs","default":"./fesm2022/c8y-ngx-components-widgets-device-management.mjs"},"./widgets/cockpit-exports":{"types":"./widgets/cockpit-exports/index.d.ts","esm2022":"./esm2022/widgets/cockpit-exports/c8y-ngx-components-widgets-cockpit-exports.mjs","esm":"./esm2022/widgets/cockpit-exports/c8y-ngx-components-widgets-cockpit-exports.mjs","default":"./fesm2022/c8y-ngx-components-widgets-cockpit-exports.mjs"},"./branding/plain-branding-editor/lazy":{"types":"./branding/plain-branding-editor/lazy/index.d.ts","esm2022":"./esm2022/branding/plain-branding-editor/lazy/c8y-ngx-components-branding-plain-branding-editor-lazy.mjs","esm":"./esm2022/branding/plain-branding-editor/lazy/c8y-ngx-components-branding-plain-branding-editor-lazy.mjs","default":"./fesm2022/c8y-ngx-components-branding-plain-branding-editor-lazy.mjs"},"./branding/shared/data":{"types":"./branding/shared/data/index.d.ts","esm2022":"./esm2022/branding/shared/data/c8y-ngx-components-branding-shared-data.mjs","esm":"./esm2022/branding/shared/data/c8y-ngx-components-branding-shared-data.mjs","default":"./fesm2022/c8y-ngx-components-branding-shared-data.mjs"},"./branding/shared/lazy":{"types":"./branding/shared/lazy/index.d.ts","esm2022":"./esm2022/branding/shared/lazy/c8y-ngx-components-branding-shared-lazy.mjs","esm":"./esm2022/branding/shared/lazy/c8y-ngx-components-branding-shared-lazy.mjs","default":"./fesm2022/c8y-ngx-components-branding-shared-lazy.mjs"},"./icon-selector/icons/arrows":{"types":"./icon-selector/icons/arrows/index.d.ts","esm2022":"./esm2022/icon-selector/icons/arrows/c8y-ngx-components-icon-selector-icons-arrows.mjs","esm":"./esm2022/icon-selector/icons/arrows/c8y-ngx-components-icon-selector-icons-arrows.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-arrows.mjs"},"./icon-selector/icons/city":{"types":"./icon-selector/icons/city/index.d.ts","esm2022":"./esm2022/icon-selector/icons/city/c8y-ngx-components-icon-selector-icons-city.mjs","esm":"./esm2022/icon-selector/icons/city/c8y-ngx-components-icon-selector-icons-city.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-city.mjs"},"./icon-selector/icons/dateAndTime":{"types":"./icon-selector/icons/dateAndTime/index.d.ts","esm2022":"./esm2022/icon-selector/icons/dateAndTime/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs","esm":"./esm2022/icon-selector/icons/dateAndTime/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs"},"./icon-selector/icons/data":{"types":"./icon-selector/icons/data/index.d.ts","esm2022":"./esm2022/icon-selector/icons/data/c8y-ngx-components-icon-selector-icons-data.mjs","esm":"./esm2022/icon-selector/icons/data/c8y-ngx-components-icon-selector-icons-data.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-data.mjs"},"./icon-selector/icons/devicesAndSensors":{"types":"./icon-selector/icons/devicesAndSensors/index.d.ts","esm2022":"./esm2022/icon-selector/icons/devicesAndSensors/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs","esm":"./esm2022/icon-selector/icons/devicesAndSensors/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs"},"./icon-selector/icons/ecommerce":{"types":"./icon-selector/icons/ecommerce/index.d.ts","esm2022":"./esm2022/icon-selector/icons/ecommerce/c8y-ngx-components-icon-selector-icons-ecommerce.mjs","esm":"./esm2022/icon-selector/icons/ecommerce/c8y-ngx-components-icon-selector-icons-ecommerce.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-ecommerce.mjs"},"./icon-selector/icons/editing":{"types":"./icon-selector/icons/editing/index.d.ts","esm2022":"./esm2022/icon-selector/icons/editing/c8y-ngx-components-icon-selector-icons-editing.mjs","esm":"./esm2022/icon-selector/icons/editing/c8y-ngx-components-icon-selector-icons-editing.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-editing.mjs"},"./icon-selector/icons/filesAndFolders":{"types":"./icon-selector/icons/filesAndFolders/index.d.ts","esm2022":"./esm2022/icon-selector/icons/filesAndFolders/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs","esm":"./esm2022/icon-selector/icons/filesAndFolders/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs"},"./icon-selector/icons/finance":{"types":"./icon-selector/icons/finance/index.d.ts","esm2022":"./esm2022/icon-selector/icons/finance/c8y-ngx-components-icon-selector-icons-finance.mjs","esm":"./esm2022/icon-selector/icons/finance/c8y-ngx-components-icon-selector-icons-finance.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-finance.mjs"},"./icon-selector/icons/hands":{"types":"./icon-selector/icons/hands/index.d.ts","esm2022":"./esm2022/icon-selector/icons/hands/c8y-ngx-components-icon-selector-icons-hands.mjs","esm":"./esm2022/icon-selector/icons/hands/c8y-ngx-components-icon-selector-icons-hands.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-hands.mjs"},"./icon-selector/icons/location":{"types":"./icon-selector/icons/location/index.d.ts","esm2022":"./esm2022/icon-selector/icons/location/c8y-ngx-components-icon-selector-icons-location.mjs","esm":"./esm2022/icon-selector/icons/location/c8y-ngx-components-icon-selector-icons-location.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-location.mjs"},"./icon-selector/icons/messaging":{"types":"./icon-selector/icons/messaging/index.d.ts","esm2022":"./esm2022/icon-selector/icons/messaging/c8y-ngx-components-icon-selector-icons-messaging.mjs","esm":"./esm2022/icon-selector/icons/messaging/c8y-ngx-components-icon-selector-icons-messaging.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-messaging.mjs"},"./icon-selector/icons/multimedia":{"types":"./icon-selector/icons/multimedia/index.d.ts","esm2022":"./esm2022/icon-selector/icons/multimedia/c8y-ngx-components-icon-selector-icons-multimedia.mjs","esm":"./esm2022/icon-selector/icons/multimedia/c8y-ngx-components-icon-selector-icons-multimedia.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-multimedia.mjs"},"./icon-selector/icons/network":{"types":"./icon-selector/icons/network/index.d.ts","esm2022":"./esm2022/icon-selector/icons/network/c8y-ngx-components-icon-selector-icons-network.mjs","esm":"./esm2022/icon-selector/icons/network/c8y-ngx-components-icon-selector-icons-network.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-network.mjs"},"./icon-selector/icons/office":{"types":"./icon-selector/icons/office/index.d.ts","esm2022":"./esm2022/icon-selector/icons/office/c8y-ngx-components-icon-selector-icons-office.mjs","esm":"./esm2022/icon-selector/icons/office/c8y-ngx-components-icon-selector-icons-office.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-office.mjs"},"./icon-selector/icons/people":{"types":"./icon-selector/icons/people/index.d.ts","esm2022":"./esm2022/icon-selector/icons/people/c8y-ngx-components-icon-selector-icons-people.mjs","esm":"./esm2022/icon-selector/icons/people/c8y-ngx-components-icon-selector-icons-people.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-people.mjs"},"./icon-selector/icons/platform":{"types":"./icon-selector/icons/platform/index.d.ts","esm2022":"./esm2022/icon-selector/icons/platform/c8y-ngx-components-icon-selector-icons-platform.mjs","esm":"./esm2022/icon-selector/icons/platform/c8y-ngx-components-icon-selector-icons-platform.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-platform.mjs"},"./icon-selector/icons/programming":{"types":"./icon-selector/icons/programming/index.d.ts","esm2022":"./esm2022/icon-selector/icons/programming/c8y-ngx-components-icon-selector-icons-programming.mjs","esm":"./esm2022/icon-selector/icons/programming/c8y-ngx-components-icon-selector-icons-programming.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-programming.mjs"},"./icon-selector/icons/security":{"types":"./icon-selector/icons/security/index.d.ts","esm2022":"./esm2022/icon-selector/icons/security/c8y-ngx-components-icon-selector-icons-security.mjs","esm":"./esm2022/icon-selector/icons/security/c8y-ngx-components-icon-selector-icons-security.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-security.mjs"},"./icon-selector/icons/transport":{"types":"./icon-selector/icons/transport/index.d.ts","esm2022":"./esm2022/icon-selector/icons/transport/c8y-ngx-components-icon-selector-icons-transport.mjs","esm":"./esm2022/icon-selector/icons/transport/c8y-ngx-components-icon-selector-icons-transport.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-transport.mjs"},"./icon-selector/icons/userInterface":{"types":"./icon-selector/icons/userInterface/index.d.ts","esm2022":"./esm2022/icon-selector/icons/userInterface/c8y-ngx-components-icon-selector-icons-userInterface.mjs","esm":"./esm2022/icon-selector/icons/userInterface/c8y-ngx-components-icon-selector-icons-userInterface.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-userInterface.mjs"},"./icon-selector/icons/weather":{"types":"./icon-selector/icons/weather/index.d.ts","esm2022":"./esm2022/icon-selector/icons/weather/c8y-ngx-components-icon-selector-icons-weather.mjs","esm":"./esm2022/icon-selector/icons/weather/c8y-ngx-components-icon-selector-icons-weather.mjs","default":"./fesm2022/c8y-ngx-components-icon-selector-icons-weather.mjs"},"./protocol-lwm2m/components/bootstrap-parameters":{"types":"./protocol-lwm2m/components/bootstrap-parameters/index.d.ts","esm2022":"./esm2022/protocol-lwm2m/components/bootstrap-parameters/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs","esm":"./esm2022/protocol-lwm2m/components/bootstrap-parameters/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs","default":"./fesm2022/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs"},"./protocol-lwm2m/components/configuration":{"types":"./protocol-lwm2m/components/configuration/index.d.ts","esm2022":"./esm2022/protocol-lwm2m/components/configuration/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs","esm":"./esm2022/protocol-lwm2m/components/configuration/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs","default":"./fesm2022/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs"},"./protocol-lwm2m/components/post-registration-operations":{"types":"./protocol-lwm2m/components/post-registration-operations/index.d.ts","esm2022":"./esm2022/protocol-lwm2m/components/post-registration-operations/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs","esm":"./esm2022/protocol-lwm2m/components/post-registration-operations/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs","default":"./fesm2022/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs"},"./widgets/definitions/applications":{"types":"./widgets/definitions/applications/index.d.ts","esm2022":"./esm2022/widgets/definitions/applications/c8y-ngx-components-widgets-definitions-applications.mjs","esm":"./esm2022/widgets/definitions/applications/c8y-ngx-components-widgets-definitions-applications.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-applications.mjs"},"./widgets/definitions/cockpit-legacy-welcome":{"types":"./widgets/definitions/cockpit-legacy-welcome/index.d.ts","esm2022":"./esm2022/widgets/definitions/cockpit-legacy-welcome/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs","esm":"./esm2022/widgets/definitions/cockpit-legacy-welcome/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs"},"./widgets/definitions/cockpit-welcome":{"types":"./widgets/definitions/cockpit-welcome/index.d.ts","esm2022":"./esm2022/widgets/definitions/cockpit-welcome/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs","esm":"./esm2022/widgets/definitions/cockpit-welcome/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs"},"./widgets/definitions/datapoints-table":{"types":"./widgets/definitions/datapoints-table/index.d.ts","esm2022":"./esm2022/widgets/definitions/datapoints-table/c8y-ngx-components-widgets-definitions-datapoints-table.mjs","esm":"./esm2022/widgets/definitions/datapoints-table/c8y-ngx-components-widgets-definitions-datapoints-table.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs"},"./widgets/definitions/device-control-message":{"types":"./widgets/definitions/device-control-message/index.d.ts","esm2022":"./esm2022/widgets/definitions/device-control-message/c8y-ngx-components-widgets-definitions-device-control-message.mjs","esm":"./esm2022/widgets/definitions/device-control-message/c8y-ngx-components-widgets-definitions-device-control-message.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-device-control-message.mjs"},"./widgets/definitions/device-management-welcome":{"types":"./widgets/definitions/device-management-welcome/index.d.ts","esm2022":"./esm2022/widgets/definitions/device-management-welcome/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs","esm":"./esm2022/widgets/definitions/device-management-welcome/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs"},"./widgets/definitions/help-and-service":{"types":"./widgets/definitions/help-and-service/index.d.ts","esm2022":"./esm2022/widgets/definitions/help-and-service/c8y-ngx-components-widgets-definitions-help-and-service.mjs","esm":"./esm2022/widgets/definitions/help-and-service/c8y-ngx-components-widgets-definitions-help-and-service.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-help-and-service.mjs"},"./widgets/definitions/image":{"types":"./widgets/definitions/image/index.d.ts","esm2022":"./esm2022/widgets/definitions/image/c8y-ngx-components-widgets-definitions-image.mjs","esm":"./esm2022/widgets/definitions/image/c8y-ngx-components-widgets-definitions-image.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-image.mjs"},"./widgets/definitions/info-gauge":{"types":"./widgets/definitions/info-gauge/index.d.ts","esm2022":"./esm2022/widgets/definitions/info-gauge/c8y-ngx-components-widgets-definitions-info-gauge.mjs","esm":"./esm2022/widgets/definitions/info-gauge/c8y-ngx-components-widgets-definitions-info-gauge.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-info-gauge.mjs"},"./widgets/definitions/kpi":{"types":"./widgets/definitions/kpi/index.d.ts","esm2022":"./esm2022/widgets/definitions/kpi/c8y-ngx-components-widgets-definitions-kpi.mjs","esm":"./esm2022/widgets/definitions/kpi/c8y-ngx-components-widgets-definitions-kpi.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-kpi.mjs"},"./widgets/definitions/linear-gauge":{"types":"./widgets/definitions/linear-gauge/index.d.ts","esm2022":"./esm2022/widgets/definitions/linear-gauge/c8y-ngx-components-widgets-definitions-linear-gauge.mjs","esm":"./esm2022/widgets/definitions/linear-gauge/c8y-ngx-components-widgets-definitions-linear-gauge.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-linear-gauge.mjs"},"./widgets/definitions/map":{"types":"./widgets/definitions/map/index.d.ts","esm2022":"./esm2022/widgets/definitions/map/c8y-ngx-components-widgets-definitions-map.mjs","esm":"./esm2022/widgets/definitions/map/c8y-ngx-components-widgets-definitions-map.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-map.mjs"},"./widgets/definitions/markdown":{"types":"./widgets/definitions/markdown/index.d.ts","esm2022":"./esm2022/widgets/definitions/markdown/c8y-ngx-components-widgets-definitions-markdown.mjs","esm":"./esm2022/widgets/definitions/markdown/c8y-ngx-components-widgets-definitions-markdown.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs"},"./widgets/definitions/silo":{"types":"./widgets/definitions/silo/index.d.ts","esm2022":"./esm2022/widgets/definitions/silo/c8y-ngx-components-widgets-definitions-silo.mjs","esm":"./esm2022/widgets/definitions/silo/c8y-ngx-components-widgets-definitions-silo.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-silo.mjs"},"./widgets/definitions/three-d-rotation":{"types":"./widgets/definitions/three-d-rotation/index.d.ts","esm2022":"./esm2022/widgets/definitions/three-d-rotation/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs","esm":"./esm2022/widgets/definitions/three-d-rotation/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs"},"./widgets/implementations/alarms":{"types":"./widgets/implementations/alarms/index.d.ts","esm2022":"./esm2022/widgets/implementations/alarms/c8y-ngx-components-widgets-implementations-alarms.mjs","esm":"./esm2022/widgets/implementations/alarms/c8y-ngx-components-widgets-implementations-alarms.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs"},"./widgets/implementations/cockpit-legacy-welcome":{"types":"./widgets/implementations/cockpit-legacy-welcome/index.d.ts","esm2022":"./esm2022/widgets/implementations/cockpit-legacy-welcome/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs","esm":"./esm2022/widgets/implementations/cockpit-legacy-welcome/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs"},"./widgets/implementations/cockpit-welcome":{"types":"./widgets/implementations/cockpit-welcome/index.d.ts","esm2022":"./esm2022/widgets/implementations/cockpit-welcome/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs","esm":"./esm2022/widgets/implementations/cockpit-welcome/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs"},"./widgets/implementations/datapoints-table":{"types":"./widgets/implementations/datapoints-table/index.d.ts","esm2022":"./esm2022/widgets/implementations/datapoints-table/c8y-ngx-components-widgets-implementations-datapoints-table.mjs","esm":"./esm2022/widgets/implementations/datapoints-table/c8y-ngx-components-widgets-implementations-datapoints-table.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs"},"./widgets/implementations/device-control-message":{"types":"./widgets/implementations/device-control-message/index.d.ts","esm2022":"./esm2022/widgets/implementations/device-control-message/c8y-ngx-components-widgets-implementations-device-control-message.mjs","esm":"./esm2022/widgets/implementations/device-control-message/c8y-ngx-components-widgets-implementations-device-control-message.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-device-control-message.mjs"},"./widgets/implementations/device-management-welcome":{"types":"./widgets/implementations/device-management-welcome/index.d.ts","esm2022":"./esm2022/widgets/implementations/device-management-welcome/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs","esm":"./esm2022/widgets/implementations/device-management-welcome/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs"},"./widgets/implementations/help-and-service-widget":{"types":"./widgets/implementations/help-and-service-widget/index.d.ts","esm2022":"./esm2022/widgets/implementations/help-and-service-widget/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs","esm":"./esm2022/widgets/implementations/help-and-service-widget/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs"},"./widgets/implementations/image":{"types":"./widgets/implementations/image/index.d.ts","esm2022":"./esm2022/widgets/implementations/image/c8y-ngx-components-widgets-implementations-image.mjs","esm":"./esm2022/widgets/implementations/image/c8y-ngx-components-widgets-implementations-image.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-image.mjs"},"./widgets/implementations/info-gauge":{"types":"./widgets/implementations/info-gauge/index.d.ts","esm2022":"./esm2022/widgets/implementations/info-gauge/c8y-ngx-components-widgets-implementations-info-gauge.mjs","esm":"./esm2022/widgets/implementations/info-gauge/c8y-ngx-components-widgets-implementations-info-gauge.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs"},"./widgets/implementations/kpi":{"types":"./widgets/implementations/kpi/index.d.ts","esm2022":"./esm2022/widgets/implementations/kpi/c8y-ngx-components-widgets-implementations-kpi.mjs","esm":"./esm2022/widgets/implementations/kpi/c8y-ngx-components-widgets-implementations-kpi.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs"},"./widgets/implementations/linear-gauge":{"types":"./widgets/implementations/linear-gauge/index.d.ts","esm2022":"./esm2022/widgets/implementations/linear-gauge/c8y-ngx-components-widgets-implementations-linear-gauge.mjs","esm":"./esm2022/widgets/implementations/linear-gauge/c8y-ngx-components-widgets-implementations-linear-gauge.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs"},"./widgets/implementations/map":{"types":"./widgets/implementations/map/index.d.ts","esm2022":"./esm2022/widgets/implementations/map/c8y-ngx-components-widgets-implementations-map.mjs","esm":"./esm2022/widgets/implementations/map/c8y-ngx-components-widgets-implementations-map.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-map.mjs"},"./widgets/implementations/markdown":{"types":"./widgets/implementations/markdown/index.d.ts","esm2022":"./esm2022/widgets/implementations/markdown/c8y-ngx-components-widgets-implementations-markdown.mjs","esm":"./esm2022/widgets/implementations/markdown/c8y-ngx-components-widgets-implementations-markdown.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-markdown.mjs"},"./widgets/implementations/three-d-rotation":{"types":"./widgets/implementations/three-d-rotation/index.d.ts","esm2022":"./esm2022/widgets/implementations/three-d-rotation/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs","esm":"./esm2022/widgets/implementations/three-d-rotation/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs"},"./branding/shared/lazy/add-branding-modal":{"types":"./branding/shared/lazy/add-branding-modal/index.d.ts","esm2022":"./esm2022/branding/shared/lazy/add-branding-modal/c8y-ngx-components-branding-shared-lazy-add-branding-modal.mjs","esm":"./esm2022/branding/shared/lazy/add-branding-modal/c8y-ngx-components-branding-shared-lazy-add-branding-modal.mjs","default":"./fesm2022/c8y-ngx-components-branding-shared-lazy-add-branding-modal.mjs"},"./widgets/definitions/alarms/alarm-list":{"types":"./widgets/definitions/alarms/alarm-list/index.d.ts","esm2022":"./esm2022/widgets/definitions/alarms/alarm-list/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs","esm":"./esm2022/widgets/definitions/alarms/alarm-list/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs"},"./widgets/definitions/alarms/all-critical-alarms":{"types":"./widgets/definitions/alarms/all-critical-alarms/index.d.ts","esm2022":"./esm2022/widgets/definitions/alarms/all-critical-alarms/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs","esm":"./esm2022/widgets/definitions/alarms/all-critical-alarms/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs"},"./widgets/definitions/alarms/recent-alarms":{"types":"./widgets/definitions/alarms/recent-alarms/index.d.ts","esm2022":"./esm2022/widgets/definitions/alarms/recent-alarms/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs","esm":"./esm2022/widgets/definitions/alarms/recent-alarms/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs"},"./widgets/implementations/three-d-rotation/lazy-box-model":{"types":"./widgets/implementations/three-d-rotation/lazy-box-model/index.d.ts","esm2022":"./esm2022/widgets/implementations/three-d-rotation/lazy-box-model/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs","esm":"./esm2022/widgets/implementations/three-d-rotation/lazy-box-model/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs"},"./widgets/implementations/three-d-rotation/lazy-phone-model":{"types":"./widgets/implementations/three-d-rotation/lazy-phone-model/index.d.ts","esm2022":"./esm2022/widgets/implementations/three-d-rotation/lazy-phone-model/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs","esm":"./esm2022/widgets/implementations/three-d-rotation/lazy-phone-model/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs"}},"sideEffects":false}
|