@c8y/ngx-components 1021.38.0 → 1021.38.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/tenants/custom-properties/custom-properties.service.mjs +6 -2
- package/fesm2022/c8y-ngx-components-tenants.mjs +5 -1
- package/fesm2022/c8y-ngx-components-tenants.mjs.map +1 -1
- package/locales/pl.po +2 -2
- package/package.json +1 -1
- package/tenants/custom-properties/custom-properties.service.d.ts.map +1 -1
|
@@ -4,7 +4,11 @@ import { FormControl, FormGroup, Validators } from '@angular/forms';
|
|
|
4
4
|
import { ValidationPattern } from '@c8y/ngx-components';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@c8y/client";
|
|
7
|
-
const defaultFilters = {
|
|
7
|
+
const defaultFilters = {
|
|
8
|
+
query: "(type eq 'c8y_JsonSchema') and (appliesTo.TENANTS eq true)",
|
|
9
|
+
pageSize: 1000,
|
|
10
|
+
withTotalPages: true
|
|
11
|
+
};
|
|
8
12
|
export class CustomPropertiesService {
|
|
9
13
|
constructor(inventoryService) {
|
|
10
14
|
this.inventoryService = inventoryService;
|
|
@@ -73,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
73
77
|
providedIn: 'root'
|
|
74
78
|
}]
|
|
75
79
|
}], ctorParameters: () => [{ type: i1.InventoryService }] });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXByb3BlcnRpZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RlbmFudHMvY3VzdG9tLXByb3BlcnRpZXMvY3VzdG9tLXByb3BlcnRpZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQW1CLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQWF4RCxNQUFNLGNBQWMsR0FBRztJQUNyQixLQUFLLEVBQUUsNERBQTREO0lBQ25FLFFBQVEsRUFBRSxJQUFJO0lBQ2QsY0FBYyxFQUFFLElBQUk7Q0FDckIsQ0FBQztBQUtGLE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBRyxDQUFDO0lBRTFELEtBQUssQ0FBQyxtQkFBbUI7UUFDdkIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUNoRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFTyxLQUFLLENBQUMsbUJBQW1CO1FBQy9CLElBQUksa0JBQWtCLEdBQW1CLEVBQUUsQ0FBQztRQUM1QyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sSUFBSSxDQUFDLGdC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OzhHQWxFVSx1QkFBdUI7a0hBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzsyRkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW52ZW50b3J5U2VydmljZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEpTT05TY2hlbWE3LCBKU09OU2NoZW1hN1R5cGVOYW1lIH0gZnJvbSAnanNvbi1zY2hlbWEnO1xuaW1wb3J0IHsgVmFsaWRhdGlvblBhdHRlcm4gfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcblxudHlwZSBQcm9wZXJ0aWVzVHlwZSA9IHsgW2tleTogc3RyaW5nXTogSlNPTlNjaGVtYTcgfTtcblxuLy8gTW9kZWwgZm9yIGluZGl2aWR1YWwgdGVuYW50IGN1c3RvbSBwcm9wZXJ0eSBmaWVsZFxuZXhwb3J0IGludGVyZmFjZSBUZW5hbnRDdXN0b21Qcm9wZXJ0eUZpZWxkIHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgdHlwZTogSlNPTlNjaGVtYTdUeXBlTmFtZSB8IEpTT05TY2hlbWE3VHlwZU5hbWVbXTtcbiAgZm9ybWF0PzogJ2RhdGV0aW1lJyB8IHN0cmluZztcbiAgZm9ybUNvbnRyb2xSZWZlcmVuY2U6IEFic3RyYWN0Q29udHJvbDtcbn1cblxuY29uc3QgZGVmYXVsdEZpbHRlcnMgPSB7XG4gIHF1ZXJ5OiBcIih0eXBlIGVxICdjOHlfSnNvblNjaGVtYScpIGFuZCAoYXBwbGllc1RvLlRFTkFOVFMgZXEgdHJ1ZSlcIixcbiAgcGFnZVNpemU6IDEwMDAsXG4gIHdpdGhUb3RhbFBhZ2VzOiB0cnVlXG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21Qcm9wZXJ0aWVzU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW52ZW50b3J5U2VydmljZTogSW52ZW50b3J5U2VydmljZSkge31cblxuICBhc3luYyBnZXRGb3JtQW5kRmllbGRMaXN0KCk6IFByb21pc2U8eyBmb3JtOiBGb3JtR3JvdXA7IGZpZWxkczogVGVuYW50Q3VzdG9tUHJvcGVydHlGaWVsZFtdIH0+IHtcbiAgICBjb25zdCBzY2hlbWEgPSBhd2FpdCB0aGlzLmdldEN1c3RvbVByb3BlcnRpZXMoKTtcbiAgICBjb25zdCBmb3JtR3JvdXAgPSB0aGlzLmJ1aWxkRm9ybUdyb3VwKHNjaGVtYSk7XG4gICAgY29uc3QgZmllbGRzID0gdGhpcy5idWlsZEZpZWxkTGlzdChmb3JtR3JvdXAsIHNjaGVtYSk7XG4gICAgcmV0dXJuIHsgZm9ybTogZm9ybUdyb3VwLCBmaWVsZHMgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0Q3VzdG9tUHJvcGVydGllcygpOiBQcm9taXNlPFByb3BlcnRpZXNUeXBlPiB7XG4gICAgbGV0IGN1c3RvbUZpZWxkc1NjaGVtYTogUHJvcGVydGllc1R5cGUgPSB7fTtcbiAgICBjb25zdCBjdXN0b21Qcm9wZXJ0aWVzID0gYXdhaXQgdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmxpc3QoZGVmYXVsdEZpbHRlcnMpO1xuXG4gICAgY3VzdG9tUHJvcGVydGllcy5kYXRhLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBjb25zdCBmaWVsZFNjaGVtYTogUHJvcGVydGllc1R5cGUgPSBpdGVtWydjOHlfSnNvblNjaGVtYSddLnByb3BlcnRpZXM7XG4gICAgICBjdXN0b21GaWVsZHNTY2hlbWEgPSB7IC4uLmN1c3RvbUZpZWxkc1NjaGVtYSwgLi4uKGZpZWxkU2NoZW1hIGFzIG9iamVjdCkgfTtcbiAgICB9KTtcbiAgICByZXR1cm4gY3VzdG9tRmllbGRzU2NoZW1hO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEZvcm1Hcm91cChzY2hlbWE6IFByb3BlcnRpZXNUeXBlKTogRm9ybUdyb3VwIHtcbiAgICBjb25zdCBmZyA9IG5ldyBGb3JtR3JvdXAoe30pO1xuXG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoc2NoZW1hKSkge1xuICAgICAgY29uc3QgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh2YWx1ZS5kZWZhdWx0LCBbXSk7XG4gICAgICB0aGlzLmFwcGx5VmFsaWRhdG9ycyhjb250cm9sLCB2YWx1ZSk7XG4gICAgICBmZy5hZGRDb250cm9sKGtleSwgY29udHJvbCk7XG4gICAgfVxuICAgIHJldHVybiBmZztcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlWYWxpZGF0b3JzKGNvbnRyb2w6IEZvcm1Db250cm9sLCBwcm9wczogSlNPTlNjaGVtYTcpOiB2b2lkIHtcbiAgICBjb25zdCB2YWxpZGF0b3JzTWFwID0ge1xuICAgICAgcmVxdWlyZWQ6IFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICBtaW5pbXVtOiBWYWxpZGF0b3JzLm1pbihwcm9wcy5taW5pbXVtKSxcbiAgICAgIG1heGltdW06IFZhbGlkYXRvcnMubWF4KHByb3BzLm1heGltdW0pLFxuICAgICAgbWluTGVuZ3RoOiBWYWxpZGF0b3JzLm1pbkxlbmd0aChwcm9wcy5taW5MZW5ndGgpLFxuICAgICAgbWF4TGVuZ3RoOiBWYWxpZGF0b3JzLm1heExlbmd0aChwcm9wcy5tYXhMZW5ndGgpLFxuICAgICAgcGF0dGVybjogVmFsaWRhdG9ycy5wYXR0ZXJuKHByb3BzLnBhdHRlcm4pXG4gICAgfTtcblxuICAgIE9iamVjdC5lbnRyaWVzKHZhbGlkYXRvcnNNYXApLmZvckVhY2goKFtrZXksIHZhbGlkYXRvcl0pID0+IHtcbiAgICAgIGlmIChwcm9wc1trZXkgYXMga2V5b2YgSlNPTlNjaGVtYTddICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29udHJvbC5hZGRWYWxpZGF0b3JzKHZhbGlkYXRvcik7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAocHJvcHMudHlwZSA9PT0gJ2ludGVnZXInKSB7XG4gICAgICBjb250cm9sLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5wYXR0ZXJuKFZhbGlkYXRpb25QYXR0ZXJuLnJ1bGVzLmludGVnZXIucGF0dGVybikpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRGaWVsZExpc3QoZm9ybTogRm9ybUdyb3VwLCBzY2hlbWE6IFByb3BlcnRpZXNUeXBlKTogVGVuYW50Q3VzdG9tUHJvcGVydHlGaWVsZFtdIHtcbiAgICBjb25zdCBmaWVsZExpc3Q6IFRlbmFudEN1c3RvbVByb3BlcnR5RmllbGRbXSA9IFtdO1xuICAgIE9iamVjdC5lbnRyaWVzKHNjaGVtYSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBmaWVsZExpc3QucHVzaCh7XG4gICAgICAgIGlkOiBrZXksXG4gICAgICAgIGxhYmVsOiB2YWx1ZS50aXRsZSxcbiAgICAgICAgdHlwZTogdmFsdWUudHlwZSxcbiAgICAgICAgZm9ybWF0OiB2YWx1ZS5mb3JtYXQsXG4gICAgICAgIGZvcm1Db250cm9sUmVmZXJlbmNlOiBmb3JtLmdldChrZXkpIGFzIEZvcm1Db250cm9sXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBmaWVsZExpc3Q7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -443,7 +443,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
443
443
|
args: [{ selector: 'c8y-tenant-list', template: "<c8y-title>\n {{ 'Subtenants' | translate }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n icon=\"c8y-layers\"\n label=\"{{ 'Tenants' | translate }}\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item\n *ngIf=\"!!(appState.state$ | async).newsletter\"\n [placement]=\"'right'\"\n>\n <button\n class=\"btn btn-link\"\n title=\"{{\n 'Downloads the list of emails of users subscribed for newsletter on the current tenant and its subtenants.'\n | translate\n }}\"\n type=\"button\"\n (click)=\"downloadNewsletterEmails()\"\n >\n <i c8yIcon=\"download\"></i>\n {{ 'Email addresses' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Create tenant' | translate }}\"\n type=\"button\"\n (click)=\"createTenant()\"\n [disabled]=\"!isPermittedToCreateTenanant\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Create tenant' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/docs/enterprise-tenant/managing-tenants/#managing-subtenants\"></c8y-help>\n\n<div class=\"content-fullpage border-top border-bottom\">\n <c8y-data-grid\n [title]=\"title\"\n [loadMoreItemsLabel]=\"loadMoreItemsLabel\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [displayOptions]=\"displayOptions\"\n [columns]=\"columns\"\n [rows]=\"tenants$ | async\"\n [pagination]=\"pagination\"\n [showSearch]=\"showSearch\"\n [actionControls]=\"actionControls\"\n (onReload)=\"loadTenants()\"\n >\n <ng-container *ngIf=\"!(tenants$ | async); else empty\">\n <c8y-loading></c8y-loading>\n </ng-container>\n <ng-template #empty>\n <c8y-ui-empty-state\n [icon]=\"stats?.size > 0 ? 'search' : 'c8y-layers'\"\n [title]=\"stats?.size > 0 ? (noResultsMessage | translate) : (noDataMessage | translate)\"\n [subtitle]=\"\n stats?.size > 0 ? (noResultsSubtitle | translate) : (noDataSubtitle | translate)\n \"\n *emptyStateContext=\"let stats\"\n [horizontal]=\"stats?.size > 0\"\n >\n <ng-container *ngIf=\"stats?.size === 0\">\n <div>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Create tenant' | translate }}\"\n (click)=\"createTenant()\"\n [disabled]=\"!isPermittedToCreateTenanant\"\n >\n {{ 'Create tenant' | translate }}\n </button>\n </div>\n <p c8y-guide-docs>\n <small\n translate\n ngNonBindable\n >\n Find out more in the\n <a c8y-guide-href=\"/docs/enterprise-tenant/managing-tenants\">user documentation</a>\n .\n </small>\n </p>\n </ng-container>\n </c8y-ui-empty-state>\n </ng-template>\n\n <c8y-column name=\"company\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value }}\">\n <a [routerLink]=\"['/tenants', context.item.id]\">{{ context.value }}</a>\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"parent\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value || currentTenant.name }}\">\n {{ context.value || currentTenant.name }}\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"creationTime\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value | c8yDate }}\">\n {{ context.value | c8yDate }}\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"status\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span\n title=\"{{ 'Active`tenant`' | translate }}\"\n *ngIf=\"context.item.status === TenantStatus.ACTIVE\"\n >\n <i\n class=\"text-success\"\n c8yIcon=\"check-circle\"\n ></i>\n </span>\n <span\n title=\"{{ 'Suspended`tenant`' | translate }}\"\n *ngIf=\"context.item.status === TenantStatus.SUSPENDED\"\n >\n <i\n class=\"text-danger\"\n c8yIcon=\"ban\"\n ></i>\n </span>\n </ng-container>\n </c8y-column>\n </c8y-data-grid>\n</div>\n" }]
|
|
444
444
|
}], ctorParameters: () => [{ type: i1.AppStateService }, { type: i1.AlertService }, { type: i1.ModalService }, { type: i3.TranslateService }, { type: i1$1.TenantService }, { type: i1.TenantUiService }, { type: i4.Location }, { type: i1.PasswordService }, { type: i1$1.UserService }, { type: i1.Permissions }] });
|
|
445
445
|
|
|
446
|
-
const defaultFilters = {
|
|
446
|
+
const defaultFilters = {
|
|
447
|
+
query: "(type eq 'c8y_JsonSchema') and (appliesTo.TENANTS eq true)",
|
|
448
|
+
pageSize: 1000,
|
|
449
|
+
withTotalPages: true
|
|
450
|
+
};
|
|
447
451
|
class CustomPropertiesService {
|
|
448
452
|
constructor(inventoryService) {
|
|
449
453
|
this.inventoryService = inventoryService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-tenants.mjs","sources":["../../tenants/tenant-list/tenant-list.guard.ts","../../tenants/tenants.model.ts","../../tenants/tenants-navigation.factory.ts","../../tenants/tenant-list/creation-time.filtering-form-renderer.component.ts","../../tenants/tenant-list/creation-time.filtering-form-renderer.component.html","../../tenants/tenant-list/status.filtering-form-renderer.component.ts","../../tenants/tenant-list/status.filtering-form-renderer.component.html","../../tenants/tenant-list/tenant-list.component.ts","../../tenants/tenant-list/tenant-list.component.html","../../tenants/custom-properties/custom-properties.service.ts","../../tenants/custom-properties/custom-property-field/custom-property-field.component.ts","../../tenants/custom-properties/custom-property-field/custom-property-field.component.html","../../tenants/custom-properties/custom-properties.component.ts","../../tenants/custom-properties/custom-properties.component.html","../../tenants/tenant-limits/tenant-limits-definitions.ts","../../tenants/tenant-limits/tenant-limits.component.ts","../../tenants/tenant-limits/tenant-limits.component.html","../../tenants/tenants.module.ts","../../tenants/c8y-ngx-components-tenants.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { TenantUiService } from '@c8y/ngx-components';\n\n@Injectable()\nexport class TenantListGuard {\n private active: boolean;\n\n constructor(private tenantUiService: TenantUiService) {}\n\n /**\n * Checks if tenant list should be active,\n * i.e. whether the current tenant can read other tenants.\n * **Note: the check is executed only once in the runtime.**\n *\n * @returns True, if the feature should be active.\n */\n canActivate(): boolean {\n if (this.active === undefined) {\n this.active = this.tenantUiService.canReadTenants();\n }\n return this.active;\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { NavigatorNode } from '@c8y/ngx-components';\n\nexport const TENANTS_MODULE_CONFIG = new InjectionToken<TenantsModuleConfig>('TenantsModuleConfig');\n\n/**\n * Configuration object for `TenantsModule`.\n */\nexport interface TenantsModuleConfig {\n /**\n * Allows for hiding or customizing \"Subtenants\" navigator node:\n * - `subtenantsNavigatorNode: true` - shows the default navigator node (default),\n * - `subtenantsNavigatorNode: false` - hides the navigator node,\n * - `subtenantsNavigatorNode: { label: 'My subtenants' }` - overrides default navigator node,\n * - `subtenantsNavigatorNode: new NavigatorNode({ label: 'My subtenants' })` - overrides default navigator node.\n */\n subtenantsNavigatorNode?: boolean | Partial<NavigatorNode>;\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { gettext, NavigatorNode, NavigatorNodeFactory } from '@c8y/ngx-components';\nimport { TenantListGuard } from './tenant-list/tenant-list.guard';\nimport { TenantsModuleConfig, TENANTS_MODULE_CONFIG } from './tenants.model';\n\n@Injectable()\nexport class TenantsNavigationFactory implements NavigatorNodeFactory {\n private navs: NavigatorNode[] = [];\n\n constructor(\n private tenantListGuard: TenantListGuard,\n @Optional() @Inject(TENANTS_MODULE_CONFIG) private config: TenantsModuleConfig\n ) {}\n\n async get(): Promise<NavigatorNode[]> {\n const canActivateTenantList = await this.tenantListGuard.canActivate();\n if (!this.navs.length) {\n const subtenantsNavigatorNode = this.config?.subtenantsNavigatorNode ?? true;\n if (subtenantsNavigatorNode !== false) {\n this.navs.push(\n new NavigatorNode({\n parent: {\n label: gettext('Tenants'),\n icon: 'c8y-layers'\n },\n label: gettext('Subtenants'),\n icon: 'c8y-sub-tenants',\n path: 'tenants',\n routerLinkExact: false,\n priority: 4000,\n hidden: !canActivateTenantList,\n ...(subtenantsNavigatorNode === true ? {} : subtenantsNavigatorNode)\n })\n );\n }\n }\n return this.navs;\n }\n}\n","import { Component } from '@angular/core';\nimport { ITenant } from '@c8y/client';\nimport { FilterChip, FilteringFormRendererContext, gettext } from '@c8y/ngx-components';\nimport { DatePipe } from '@angular/common';\nimport { TranslateService } from '@ngx-translate/core';\n\nexport interface Model {\n dateFrom: Date;\n dateTo: Date;\n}\n\n@Component({\n templateUrl: './creation-time.filtering-form-renderer.component.html',\n selector: 'c8y-creation-time-filtering-form-renderer'\n})\nexport class CreationTimeFilteringFormRendererComponent {\n model: Model;\n\n constructor(\n public context: FilteringFormRendererContext,\n private c8yDate: DatePipe,\n private translateService: TranslateService\n ) {\n this.model = (this.context.property.externalFilterQuery || {}).model || {};\n }\n\n applyFilter() {\n this.context.applyFilter({\n externalFilterQuery: {\n model: this.model,\n chips: this.getChipsForModel(this.model)\n },\n filterPredicate: (tenant: ITenant) => {\n const creationTime = new Date(tenant.creationTime);\n let dateFrom;\n let dateTo;\n\n if (this.model.dateFrom) {\n dateFrom = this.model.dateFrom;\n dateFrom.setHours(0, 0, 0, 0);\n }\n\n if (this.model.dateTo) {\n dateTo = this.model.dateTo;\n dateTo.setHours(23, 59, 59, 999);\n }\n\n return Boolean(\n (!dateFrom && !dateTo) ||\n (dateFrom && !dateTo && dateFrom <= creationTime) ||\n (!dateFrom && dateTo && creationTime <= dateTo) ||\n (dateFrom && dateTo && dateFrom <= creationTime && creationTime <= dateTo)\n );\n }\n });\n }\n\n getChipsForModel(model: Model): FilterChip[] {\n const updateChips = externalFilterQuery => {\n externalFilterQuery.chips = this.getChipsForModel(externalFilterQuery.model);\n };\n const createChip = (key: keyof Model, displayValueTpl: string): FilterChip => {\n return {\n columnName: this.context.property.name,\n path: ['model', key],\n displayValue: this.translateService.instant(displayValueTpl, {\n date: this.c8yDate.transform(this.model[key])\n }),\n value: this.model[key],\n remove() {\n delete this.externalFilterQuery.model[key];\n updateChips(this.externalFilterQuery);\n return {\n columnName: this.columnName,\n externalFilterQuery: this.externalFilterQuery\n };\n }\n };\n };\n\n const chips = [];\n if (model.dateFrom) {\n chips.push(createChip('dateFrom', gettext('from: {{ date }}')));\n }\n if (model.dateTo) {\n chips.push(createChip('dateTo', gettext('to: {{ date }}')));\n }\n return chips;\n }\n\n resetFilter() {\n this.context.resetFilter();\n }\n}\n","<form #filterForm=\"ngForm\">\n <div class=\"m-b-8 p-t-8\">\n <label>{{ 'Filter by creation time' | translate }}</label>\n <c8y-form-group\n class=\"datepicker d-block m-b-16\"\n style=\"max-height: 32px\"\n >\n <input\n class=\"form-control fit-w text-left\"\n placeholder=\"{{ 'Created from`date`' | translate }}\"\n name=\"dateFrom\"\n [(ngModel)]=\"model.dateFrom\"\n bsDatepicker\n [bsConfig]=\"{ customTodayClass: 'today', returnFocusToInput: true }\"\n [maxDate]=\"model.dateTo\"\n />\n </c8y-form-group>\n <c8y-form-group\n class=\"datepicker m-l-0 d-block\"\n style=\"max-height: 32px\"\n >\n <input\n class=\"form-control fit-w text-left\"\n placeholder=\"{{ 'Created to`date`' | translate }}\"\n name=\"dateTo\"\n [(ngModel)]=\"model.dateTo\"\n bsDatepicker\n [bsConfig]=\"{ customTodayClass: 'today', returnFocusToInput: true }\"\n [minDate]=\"model.dateFrom\"\n />\n </c8y-form-group>\n </div>\n</form>\n\n<div class=\"data-grid__dropdown__footer d-flex separator-top\">\n <button\n class=\"btn btn-default btn-sm m-r-8 flex-grow\"\n title=\"{{ 'Reset' | translate }}\"\n (click)=\"resetFilter()\"\n >\n {{ 'Reset' | translate }}\n </button>\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n title=\"{{ 'Apply' | translate }}\"\n [disabled]=\"filterForm.invalid || !(model.dateFrom || model.dateTo)\"\n (click)=\"applyFilter()\"\n >\n {{ 'Apply' | translate }}\n </button>\n</div>\n","import { Component } from '@angular/core';\nimport { ITenant, TenantStatus } from '@c8y/client';\nimport { FilteringFormRendererContext } from '@c8y/ngx-components';\n\n@Component({\n templateUrl: './status.filtering-form-renderer.component.html',\n selector: 'c8y-status-filtering-form-renderer'\n})\nexport class StatusFilteringFormRendererComponent {\n model: {\n active: boolean;\n suspended: boolean;\n };\n\n constructor(public context: FilteringFormRendererContext) {\n this.model = (this.context.property.externalFilterQuery || {}).model || {};\n }\n\n applyFilter() {\n this.context.applyFilter({\n externalFilterQuery: {\n model: this.model\n },\n filterPredicate: (tenant: ITenant) =>\n Boolean(\n (!this.model.active && !this.model.suspended) ||\n (this.model.active && tenant.status === TenantStatus.ACTIVE) ||\n (this.model.suspended && tenant.status === TenantStatus.SUSPENDED)\n )\n });\n }\n\n resetFilter() {\n this.context.resetFilter();\n }\n}\n","<form #filterForm=\"ngForm\">\n <div class=\"m-b-8 p-t-8\">\n <label>{{ 'Filter by status' | translate }}</label>\n <c8y-form-group class=\"m-b-0\">\n <label class=\"c8y-checkbox\">\n <input type=\"checkbox\" name=\"active\" [(ngModel)]=\"model.active\" />\n <span></span>\n <span>{{ 'Active`tenant`' | translate }}</span>\n </label>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-0\">\n <label class=\"c8y-checkbox\">\n <input type=\"checkbox\" name=\"suspended\" [(ngModel)]=\"model.suspended\" />\n <span></span>\n <span>{{ 'Suspended`tenant`' | translate }}</span>\n </label>\n </c8y-form-group>\n </div>\n</form>\n\n<div class=\"data-grid__dropdown__footer d-flex separator-top\">\n <button\n class=\"btn btn-default btn-sm m-r-8 flex-grow\"\n (click)=\"resetFilter()\"\n title=\"{{ 'Reset' | translate }}\"\n >\n {{ 'Reset' | translate }}\n </button>\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n [disabled]=\"filterForm.invalid\"\n (click)=\"applyFilter()\"\n title=\"{{ 'Apply' | translate }}\"\n >\n {{ 'Apply' | translate }}\n </button>\n</div>\n","import { Location } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { saveAs } from 'file-saver';\nimport { BehaviorSubject, from } from 'rxjs';\nimport { expand, reduce, shareReplay, takeWhile } from 'rxjs/operators';\n\nimport {\n ICurrentTenant,\n IResultList,\n ITenant,\n TenantService,\n TenantStatus,\n UserService\n} from '@c8y/client';\nimport {\n ActionControl,\n AlertService,\n AppStateService,\n BuiltInActionType,\n Column,\n DisplayOptions,\n gettext,\n ModalService,\n Pagination,\n PasswordService,\n Permissions,\n SortOrder,\n Status,\n TenantUiService\n} from '@c8y/ngx-components';\n\nimport { CreationTimeFilteringFormRendererComponent } from './creation-time.filtering-form-renderer.component';\nimport { StatusFilteringFormRendererComponent } from './status.filtering-form-renderer.component';\n\n@Component({\n selector: 'c8y-tenant-list',\n templateUrl: './tenant-list.component.html'\n})\nexport class TenantListComponent implements OnInit {\n tenants$: BehaviorSubject<ITenant[]> = new BehaviorSubject(undefined);\n isPermittedToCreateTenanant = this.permissionsService.hasAnyRole([\n Permissions.ROLE_TENANT_MANAGEMENT_ADMIN,\n Permissions.ROLE_TENANT_MANAGEMENT_CREATE\n ]);\n currentTenant: ICurrentTenant;\n isManagementTenant: boolean;\n TOP_TENANT_NAME = 'management';\n\n title: string = null;\n loadMoreItemsLabel: string = gettext('Load more tenants');\n loadingItemsLabel: string = gettext('Loading tenants…');\n\n displayOptions: DisplayOptions = {\n bordered: false,\n striped: true,\n filter: true,\n gridHeader: true,\n hover: true\n };\n\n columns: Column[] = this.getColumns();\n pagination: Pagination = this.getPagination();\n showSearch = true;\n actionControls: ActionControl[] = this.getActionControls();\n\n noResultsMessage = gettext('No tenants to display.');\n noDataMessage = gettext('There are no tenants defined.');\n noResultsSubtitle = gettext('Refine your search terms or check your spelling.');\n noDataSubtitle = gettext('Create the first tenant.');\n\n TenantStatus = TenantStatus;\n\n constructor(\n public appState: AppStateService,\n private alertService: AlertService,\n private modalService: ModalService,\n private translateService: TranslateService,\n private tenantService: TenantService,\n private tenantUiService: TenantUiService,\n private location: Location,\n private passwordService: PasswordService,\n private userService: UserService,\n private permissionsService: Permissions\n ) {}\n\n async ngOnInit() {\n this.currentTenant = this.appState.currentTenant.value;\n this.isManagementTenant = await this.tenantUiService.isManagementTenant();\n this.loadTenants();\n }\n\n loadTenants() {\n this.tenants$.next(undefined);\n from(this.tenantService.list({ pageSize: 2000, withTotalPages: true, withApps: false }))\n .pipe(\n expand(resultList => resultList.paging.nextPage !== null && resultList.paging.next()),\n takeWhile(resultList => resultList.paging.nextPage !== null, true),\n reduce(\n (tenants: ITenant[], resultList: IResultList<ITenant>) => [\n ...tenants,\n ...resultList.data\n ],\n []\n ),\n shareReplay(1)\n )\n .subscribe(tenants => this.tenants$.next(tenants));\n }\n\n getColumns(): Column[] {\n return [\n {\n name: 'company',\n header: gettext('Tenant'),\n path: 'company',\n filterable: true,\n sortable: true,\n sortOrder: 'asc' as SortOrder\n },\n {\n name: 'id',\n header: gettext('ID'),\n path: 'id',\n filterable: true,\n sortable: true\n },\n {\n name: 'domain',\n header: gettext('Domain'),\n path: 'domain',\n filterable: true,\n sortable: true\n },\n {\n name: 'parent',\n header: gettext('Parent tenant'),\n path: 'parent',\n filterable: true,\n sortable: true\n },\n {\n name: 'contactName',\n header: gettext('Contact name'),\n path: 'contactName',\n filterable: true,\n sortable: true\n },\n {\n name: 'creationTime',\n header: gettext('Created'),\n path: 'creationTime',\n filterable: true,\n filteringFormRendererComponent: CreationTimeFilteringFormRendererComponent,\n sortable: true\n },\n {\n name: 'externalReference',\n header: gettext('External reference'),\n path: 'customProperties.externalReference',\n filterable: true,\n sortable: true\n },\n {\n name: 'status',\n header: gettext('Status'),\n path: 'status',\n filterable: true,\n filteringFormRendererComponent: StatusFilteringFormRendererComponent,\n sortable: true,\n resizable: false\n }\n ];\n }\n\n getPagination(): Pagination {\n return {\n pageSize: 10,\n currentPage: 1\n };\n }\n\n getActionControls(): ActionControl[] {\n return [\n {\n type: BuiltInActionType.Edit,\n text: gettext('Edit`tenant`'),\n callback: tenant => this.goToDetails(tenant)\n },\n {\n type: 'activateTenantAction',\n icon: 'power-off',\n text: gettext('Activate`tenant`'),\n callback: (tenant: ITenant) => this.activateTenant(tenant),\n showIf: (tenant: ITenant) => this.isSuspended(tenant)\n },\n {\n type: 'suspendTenantAction',\n icon: 'power-off',\n text: gettext('Suspend`tenant`'),\n callback: (tenant: ITenant) => this.suspendTenant(tenant),\n showIf: (tenant: ITenant) => this.isActive(tenant)\n },\n {\n type: BuiltInActionType.Delete,\n text: gettext('Delete`tenant`'),\n callback: tenant => this.delete(tenant),\n showIf: () => this.isManagementTenant\n }\n ];\n }\n\n createTenant() {\n this.location.go('/tenants/new');\n }\n\n goToDetails(tenant: ITenant) {\n this.location.go(`/tenants/${tenant.id}`);\n }\n\n async activateTenant(tenant) {\n try {\n const { data: savedTenant } = await this.tenantService.update({\n id: tenant.id,\n status: TenantStatus.ACTIVE\n });\n Object.assign(tenant, savedTenant);\n this.alertService.success(gettext('Tenant activated.'));\n } catch (ex) {\n if (ex) {\n this.alertService.addServerFailure(ex);\n }\n }\n }\n\n async suspendTenant(tenant) {\n const title = gettext('Suspend tenant');\n const confirmationText = gettext(\n 'You are about to suspend tenant \"{{ company }}\" (ID \"{{ id }}\").'\n );\n const proceed = gettext('Do you want to proceed?');\n const body = [\n this.translateService.instant(confirmationText, {\n company: tenant.company,\n id: tenant.id\n }),\n this.translateService.instant(proceed)\n ].join(' ');\n const labels = {\n ok: gettext('Suspend`tenant`')\n };\n try {\n await this.modalService.confirm(title, body, Status.DANGER, labels);\n const confirmed = await this.passwordService.confirmPassword().toPromise();\n if (confirmed === true) {\n const { data: savedTenant } = await this.tenantService.update({\n id: tenant.id,\n status: TenantStatus.SUSPENDED\n });\n Object.assign(tenant, savedTenant);\n this.alertService.success(gettext('Tenant suspended.'));\n }\n } catch (ex) {\n if (ex) {\n this.alertService.addServerFailure(ex);\n }\n }\n }\n\n async delete(tenant) {\n const title = gettext('Delete tenant');\n const confirmationText = gettext(\n 'You are about to delete tenant \"{{ company }}\" (ID \"{{ id }}\").'\n );\n const hint = gettext('This operation is irreversible.');\n const proceed = gettext('Do you want to proceed?');\n const body = [\n this.translateService.instant(confirmationText, {\n company: tenant.company,\n id: tenant.id\n }),\n this.translateService.instant(hint),\n this.translateService.instant(proceed)\n ].join(' ');\n const labels = {\n ok: gettext('Delete`tenant`')\n };\n try {\n await this.modalService.confirm(title, body, Status.DANGER, labels);\n const confirmed = await this.passwordService.confirmPassword().toPromise();\n if (confirmed === true) {\n await this.tenantService.delete(tenant);\n const tenantsWithoutRemovedOne = this.tenants$.value.filter(t => t !== tenant);\n this.tenants$.next(tenantsWithoutRemovedOne);\n this.alertService.success(\n gettext('Tenant is being deleted in the background. This might take a while…')\n );\n }\n } catch (ex) {\n if (ex) {\n this.alertService.addServerFailure(ex);\n }\n }\n }\n\n isActive(tenant: ITenant) {\n return tenant.status === TenantStatus.ACTIVE;\n }\n\n isSuspended(tenant: ITenant) {\n return tenant.status === TenantStatus.SUSPENDED;\n }\n\n async downloadNewsletterEmails() {\n const { res, data } = await this.userService.getNewsletterEmails();\n const contentType = res.headers.get('content-type');\n const contentDisposition = res.headers.get('content-disposition');\n const filename = /filename=\"(.*)\"/.exec(contentDisposition)[1];\n const blob = new Blob([data], { type: contentType });\n saveAs(blob, filename);\n }\n}\n","<c8y-title>\n {{ 'Subtenants' | translate }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n icon=\"c8y-layers\"\n label=\"{{ 'Tenants' | translate }}\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item\n *ngIf=\"!!(appState.state$ | async).newsletter\"\n [placement]=\"'right'\"\n>\n <button\n class=\"btn btn-link\"\n title=\"{{\n 'Downloads the list of emails of users subscribed for newsletter on the current tenant and its subtenants.'\n | translate\n }}\"\n type=\"button\"\n (click)=\"downloadNewsletterEmails()\"\n >\n <i c8yIcon=\"download\"></i>\n {{ 'Email addresses' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Create tenant' | translate }}\"\n type=\"button\"\n (click)=\"createTenant()\"\n [disabled]=\"!isPermittedToCreateTenanant\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Create tenant' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/docs/enterprise-tenant/managing-tenants/#managing-subtenants\"></c8y-help>\n\n<div class=\"content-fullpage border-top border-bottom\">\n <c8y-data-grid\n [title]=\"title\"\n [loadMoreItemsLabel]=\"loadMoreItemsLabel\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [displayOptions]=\"displayOptions\"\n [columns]=\"columns\"\n [rows]=\"tenants$ | async\"\n [pagination]=\"pagination\"\n [showSearch]=\"showSearch\"\n [actionControls]=\"actionControls\"\n (onReload)=\"loadTenants()\"\n >\n <ng-container *ngIf=\"!(tenants$ | async); else empty\">\n <c8y-loading></c8y-loading>\n </ng-container>\n <ng-template #empty>\n <c8y-ui-empty-state\n [icon]=\"stats?.size > 0 ? 'search' : 'c8y-layers'\"\n [title]=\"stats?.size > 0 ? (noResultsMessage | translate) : (noDataMessage | translate)\"\n [subtitle]=\"\n stats?.size > 0 ? (noResultsSubtitle | translate) : (noDataSubtitle | translate)\n \"\n *emptyStateContext=\"let stats\"\n [horizontal]=\"stats?.size > 0\"\n >\n <ng-container *ngIf=\"stats?.size === 0\">\n <div>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Create tenant' | translate }}\"\n (click)=\"createTenant()\"\n [disabled]=\"!isPermittedToCreateTenanant\"\n >\n {{ 'Create tenant' | translate }}\n </button>\n </div>\n <p c8y-guide-docs>\n <small\n translate\n ngNonBindable\n >\n Find out more in the\n <a c8y-guide-href=\"/docs/enterprise-tenant/managing-tenants\">user documentation</a>\n .\n </small>\n </p>\n </ng-container>\n </c8y-ui-empty-state>\n </ng-template>\n\n <c8y-column name=\"company\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value }}\">\n <a [routerLink]=\"['/tenants', context.item.id]\">{{ context.value }}</a>\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"parent\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value || currentTenant.name }}\">\n {{ context.value || currentTenant.name }}\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"creationTime\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value | c8yDate }}\">\n {{ context.value | c8yDate }}\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"status\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span\n title=\"{{ 'Active`tenant`' | translate }}\"\n *ngIf=\"context.item.status === TenantStatus.ACTIVE\"\n >\n <i\n class=\"text-success\"\n c8yIcon=\"check-circle\"\n ></i>\n </span>\n <span\n title=\"{{ 'Suspended`tenant`' | translate }}\"\n *ngIf=\"context.item.status === TenantStatus.SUSPENDED\"\n >\n <i\n class=\"text-danger\"\n c8yIcon=\"ban\"\n ></i>\n </span>\n </ng-container>\n </c8y-column>\n </c8y-data-grid>\n</div>\n","import { Injectable } from '@angular/core';\nimport { InventoryService } from '@c8y/client';\nimport { AbstractControl, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { JSONSchema7, JSONSchema7TypeName } from 'json-schema';\nimport { ValidationPattern } from '@c8y/ngx-components';\n\ntype PropertiesType = { [key: string]: JSONSchema7 };\n\n// Model for individual tenant custom property field\nexport interface TenantCustomPropertyField {\n id: string;\n label: string;\n type: JSONSchema7TypeName | JSONSchema7TypeName[];\n format?: 'datetime' | string;\n formControlReference: AbstractControl;\n}\n\nconst defaultFilters = { pageSize: 1000, type: 'c8y_JsonSchema', withTotalPages: true };\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CustomPropertiesService {\n constructor(private inventoryService: InventoryService) {}\n\n async getFormAndFieldList(): Promise<{ form: FormGroup; fields: TenantCustomPropertyField[] }> {\n const schema = await this.getCustomProperties();\n const formGroup = this.buildFormGroup(schema);\n const fields = this.buildFieldList(formGroup, schema);\n return { form: formGroup, fields };\n }\n\n private async getCustomProperties(): Promise<PropertiesType> {\n let customFieldsSchema: PropertiesType = {};\n const customProperties = await this.inventoryService.list(defaultFilters);\n\n customProperties.data.forEach(item => {\n const fieldSchema: PropertiesType = item['c8y_JsonSchema'].properties;\n customFieldsSchema = { ...customFieldsSchema, ...(fieldSchema as object) };\n });\n return customFieldsSchema;\n }\n\n private buildFormGroup(schema: PropertiesType): FormGroup {\n const fg = new FormGroup({});\n\n for (const [key, value] of Object.entries(schema)) {\n const control = new FormControl(value.default, []);\n this.applyValidators(control, value);\n fg.addControl(key, control);\n }\n return fg;\n }\n\n private applyValidators(control: FormControl, props: JSONSchema7): void {\n const validatorsMap = {\n required: Validators.required,\n minimum: Validators.min(props.minimum),\n maximum: Validators.max(props.maximum),\n minLength: Validators.minLength(props.minLength),\n maxLength: Validators.maxLength(props.maxLength),\n pattern: Validators.pattern(props.pattern)\n };\n\n Object.entries(validatorsMap).forEach(([key, validator]) => {\n if (props[key as keyof JSONSchema7] !== undefined) {\n control.addValidators(validator);\n }\n });\n\n if (props.type === 'integer') {\n control.addValidators(Validators.pattern(ValidationPattern.rules.integer.pattern));\n }\n }\n\n private buildFieldList(form: FormGroup, schema: PropertiesType): TenantCustomPropertyField[] {\n const fieldList: TenantCustomPropertyField[] = [];\n Object.entries(schema).forEach(([key, value]) => {\n fieldList.push({\n id: key,\n label: value.title,\n type: value.type,\n format: value.format,\n formControlReference: form.get(key) as FormControl\n });\n });\n\n return fieldList;\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { TenantCustomPropertyField } from '../custom-properties.service';\nimport { CommonModule } from '@angular/common';\nimport { C8yTranslatePipe, DateTimePickerModule, FormGroupComponent } from '@c8y/ngx-components';\nimport { FormsModule } from '@c8y/ngx-components';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'c8y-custom-property-field',\n standalone: true,\n imports: [\n CommonModule,\n C8yTranslatePipe,\n FormGroupComponent,\n FormsModule,\n ReactiveFormsModule,\n DateTimePickerModule\n ],\n templateUrl: './custom-property-field.component.html'\n})\nexport class CustomPropertyFieldComponent {\n @Input()\n fieldDefinition: TenantCustomPropertyField;\n\n @Input()\n form: FormGroup;\n}\n","<ng-container *ngIf=\"form && fieldDefinition\">\n <ng-container [ngSwitch]=\"fieldDefinition.type\">\n <ng-container *ngSwitchCase=\"'boolean'\">\n <c8y-form-group [formGroup]=\"form\">\n <label\n class=\"c8y-checkbox\"\n [title]=\"fieldDefinition.label | translate\"\n [for]=\"fieldDefinition.id\"\n >\n <input\n type=\"checkbox\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n <span></span>\n <span>{{ fieldDefinition.label | translate }}</span>\n </label>\n </c8y-form-group>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'number'\">\n <c8y-form-group [formGroup]=\"form\">\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate }}\n </label>\n <input\n class=\"form-control\"\n type=\"number\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'integer'\">\n <c8y-form-group [formGroup]=\"form\">\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate }}\n </label>\n <input\n class=\"form-control\"\n type=\"number\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'string'\">\n <c8y-form-group\n *ngIf=\"!fieldDefinition.format\"\n [formGroup]=\"form\"\n >\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate }}\n </label>\n <input\n class=\"form-control\"\n type=\"text\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n\n <c8y-form-group\n *ngIf=\"fieldDefinition.format === 'datetime'\"\n [formGroup]=\"form\"\n >\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate }}\n </label>\n <c8y-date-time-picker\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n data-cy=\"c8y-custom-property-field--date-time-picker\"\n ></c8y-date-time-picker>\n </c8y-form-group>\n </ng-container>\n </ng-container>\n</ng-container>\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { IResult, ITenant, TenantService } from '@c8y/client';\nimport { ActivatedRoute, RouterLink } from '@angular/router';\nimport { AlertService, CoreModule, FormsModule, gettext } from '@c8y/ngx-components';\nimport {\n CustomPropertiesService,\n TenantCustomPropertyField\n} from '../custom-properties/custom-properties.service';\nimport { CustomPropertyFieldComponent } from '../custom-properties/custom-property-field/custom-property-field.component';\n\n@Component({\n selector: 'c8y-custom-properties',\n standalone: true,\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n CoreModule,\n RouterLink,\n CustomPropertyFieldComponent\n ],\n templateUrl: './custom-properties.component.html'\n})\nexport class CustomPropertiesComponent implements OnInit {\n fieldDefinitions: TenantCustomPropertyField[];\n customPropsForm: FormGroup = new FormGroup({});\n tenant: ITenant | null = null;\n initialized = false;\n\n constructor(\n private tenantService: TenantService,\n private alertService: AlertService,\n private activatedRoute: ActivatedRoute,\n private customPropertiesService: CustomPropertiesService\n ) {}\n\n async ngOnInit() {\n await this.loadTenantDetails();\n const { form, fields } = await this.customPropertiesService.getFormAndFieldList();\n this.customPropsForm = form;\n this.fieldDefinitions = fields;\n this.applyValuesFromTenant();\n this.initialized = true;\n }\n\n async onSubmit(): Promise<void> {\n if (this.customPropsForm.invalid || !this.tenant) {\n return;\n }\n\n const updatedTenant: ITenant = {\n ...this.tenant,\n customProperties: {\n ...this.tenant.customProperties,\n ...this.getDirtyValues()\n }\n };\n\n try {\n await this.tenantService.update(updatedTenant);\n this.alertService.success(gettext('Custom properties values saved.'));\n } catch (error) {\n this.alertService.addServerFailure(error);\n }\n }\n\n private async loadTenantDetails() {\n try {\n const result: IResult<ITenant> = await this.tenantService.detail(\n this.activatedRoute.snapshot.parent.data.contextData.id\n );\n this.tenant = result.data;\n } catch (error) {\n this.alertService.addServerFailure(error);\n }\n }\n\n private applyValuesFromTenant(): void {\n const customProps = this.tenant?.customProperties || {};\n this.customPropsForm.patchValue(customProps);\n }\n\n private getDirtyValues(): { [key: string]: unknown } {\n const dirtyValues: { [key: string]: unknown } = {};\n Object.keys(this.customPropsForm.controls).forEach(key => {\n const control = this.customPropsForm.controls[key];\n if (control && control.dirty && control.value !== null) {\n dirtyValues[key] = control.value;\n }\n });\n\n return dirtyValues;\n }\n}\n","<c8y-title *ngIf=\"tenant\">\n {{ tenant.company }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Tenants' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n [path]=\"'/tenants'\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<ng-container>\n <form\n [formGroup]=\"customPropsForm\"\n (ngSubmit)=\"onSubmit()\"\n >\n <div class=\"card card--fullpage m-b-0\">\n <div class=\"card-header separator\">\n <div\n class=\"card-title\"\n translate\n >\n Custom properties\n </div>\n </div>\n\n <div class=\"inner-scroll\">\n <div\n class=\"card-block\"\n *ngIf=\"!initialized\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <c8y-help src=\"/docs/enterprise-tenant/managing-tenants/#custom-properties\"></c8y-help>\n\n <!-- empty state -->\n <c8y-ui-empty-state\n [icon]=\"'property-script'\"\n [title]=\"'No custom properties to display.' | translate\"\n [subtitle]=\"'Add a new tenant property in Properties library.' | translate\"\n *ngIf=\"fieldDefinitions?.length === 0 && initialized\"\n >\n <p c8y-guide-docs>\n <small translate>\n Find out more in the\n <a c8y-guide-href=\"/docs/enterprise-tenant/managing-tenants/#custom-properties\">\n User guide\n </a>\n .\n </small>\n </p>\n </c8y-ui-empty-state>\n\n <div\n class=\"card-block\"\n *ngIf=\"initialized\"\n >\n <ng-container *ngFor=\"let field of fieldDefinitions\">\n <c8y-custom-property-field\n [fieldDefinition]=\"field\"\n [form]=\"customPropsForm\"\n ></c8y-custom-property-field>\n </ng-container>\n </div>\n </div>\n\n <div\n class=\"card-footer separator\"\n *ngIf=\"initialized\"\n >\n <button\n class=\"btn btn-default\"\n type=\"button\"\n [routerLink]=\"['/tenants']\"\n translate\n data-cy=\"custom-properties--cancel-button\"\n >\n Cancel\n </button>\n <button\n class=\"btn btn-primary\"\n type=\"submit\"\n [disabled]=\"!(!customPropsForm.invalid && customPropsForm.dirty)\"\n translate\n data-cy=\"custom-properties--save-button\"\n >\n Save\n </button>\n </div>\n </div>\n </form>\n</ng-container>\n","import { ValidatorFn, Validators } from '@angular/forms';\nimport { gettext } from '@c8y/ngx-components/gettext';\n\n// Model for individual tenant limit field\nexport interface TenantLimit {\n id: string;\n validators: ValidatorFn[];\n defaultValue: number | string | boolean | null;\n type: 'text' | 'checkbox' | 'number';\n label: string;\n labelArgs?: object;\n placeholder?: string;\n placeholderArgs?: object;\n}\n\n/**\n * Define all hardTyped custom properties, and their configuration in one place.\n *\n * This exported const utilizes typescript inferring,\n * while still benefiting from hard typing, thanks to \"satisfies\" keyword\n */\nconst tenantLimitsCustomPropertiesDefinition = {\n //TODO: External reference - going to be moved to the Properties tab.\n externalReference: {\n id: 'externalReference',\n validators: [],\n defaultValue: null,\n type: 'text',\n label: gettext('External reference'),\n placeholder: gettext('e.g. REF12345`reference number`')\n },\n limitDevicesNumber: {\n id: 'limit.devices.number',\n validators: [Validators.min(0)],\n defaultValue: null,\n type: 'number',\n label: gettext('Limit number of devices'),\n placeholder: gettext('e.g. {{ example }}'),\n placeholderArgs: { example: 1000 }\n },\n limitHttpRequests: {\n id: 'limit.http.requests',\n validators: [Validators.min(-1)],\n defaultValue: null,\n type: 'number',\n label: gettext('Limit HTTP requests'),\n placeholder: gettext('e.g. {{ example }}'),\n placeholderArgs: { example: 10000 }\n },\n limitHttpQueue: {\n id: 'limit.http.queue',\n validators: [Validators.min(-1)],\n defaultValue: null,\n type: 'number',\n label: gettext('Limit HTTP queue'),\n placeholder: gettext('e.g. {{ example }}'),\n placeholderArgs: { example: 100 }\n },\n limitStreamRequests: {\n id: 'limit.stream.requests',\n validators: [Validators.min(-1)],\n defaultValue: null,\n type: 'number',\n label: gettext('Limit stream requests'),\n placeholder: gettext('e.g. {{ example }}'),\n placeholderArgs: { example: 100 }\n },\n limitStreamQueue: {\n id: 'limit.stream.queue',\n validators: [Validators.min(-1)],\n defaultValue: null,\n type: 'number',\n label: gettext('Limit stream queue'),\n placeholder: gettext('e.g. {{ example }}'),\n placeholderArgs: { example: 100 }\n },\n cepServerQueueLimit: {\n id: 'cepServer.queue.limit',\n validators: [Validators.min(-1)],\n defaultValue: null,\n type: 'number',\n label: gettext('Limit CEP server queue'),\n placeholder: gettext('e.g. {{ example }}'),\n placeholderArgs: { example: 100 }\n },\n dataBrokerQueueLimit: {\n id: 'data-broker.queue.limit',\n validators: [Validators.min(0)],\n defaultValue: null,\n type: 'number',\n label: gettext('Limit data broker queue'),\n placeholder: gettext('e.g. {{ example }}'),\n placeholderArgs: { example: 100 }\n },\n // TODO: Gainsight checkbox - going to be moved to the Properties tab.\n gainsightEnabled: {\n id: 'gainsightEnabled',\n validators: [],\n defaultValue: false,\n type: 'checkbox',\n label: gettext('Enable Gainsight product experience tracking')\n }\n} satisfies Record<string, TenantLimit>;\n\ntype Keys = keyof typeof tenantLimitsCustomPropertiesDefinition;\n\nexport const tenantLimitsCustomProperties: { [K in Keys]: TenantLimit } =\n tenantLimitsCustomPropertiesDefinition;\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule, FormControl } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport {\n ApplicationService,\n IResult,\n ITenant,\n TenantOptionsService,\n TenantService\n} from '@c8y/client';\nimport { ActivatedRoute, RouterLink } from '@angular/router';\nimport { AlertService, CoreModule, FormsModule, gettext } from '@c8y/ngx-components';\nimport { tenantLimitsCustomProperties } from './tenant-limits-definitions';\nimport { get } from 'lodash-es';\n\n@Component({\n selector: 'c8y-tenant-limits',\n standalone: true,\n imports: [CommonModule, ReactiveFormsModule, FormsModule, CoreModule, RouterLink],\n templateUrl: './tenant-limits.component.html'\n})\nexport class TenantLimitsComponent implements OnInit {\n fieldDefinitions = { ...tenantLimitsCustomProperties };\n fieldKeys: string[];\n limitsForm: FormGroup = new FormGroup({});\n tenant: ITenant | null = null;\n initialized = false;\n\n constructor(\n private tenantService: TenantService,\n private tenantOptionsService: TenantOptionsService,\n private alertService: AlertService,\n private activatedRoute: ActivatedRoute,\n private applicationService: ApplicationService\n ) {}\n\n async ngOnInit() {\n await this.loadTenantDetails();\n await this.setupConditionalFields();\n this.generateForm();\n this.initialized = true;\n }\n\n async onSubmit() {\n if (this.limitsForm.invalid || !this.tenant) {\n return;\n }\n\n const updatedTenant: ITenant = {\n ...this.tenant,\n customProperties: {\n ...this.tenant.customProperties,\n ...this.getDirtyValues()\n }\n };\n\n try {\n await this.tenantService.update(updatedTenant);\n this.alertService.success(gettext('Limit values saved.'));\n } catch (error) {\n this.alertService.addServerFailure(error);\n }\n }\n\n private async loadTenantDetails() {\n try {\n const result: IResult<ITenant> = await this.tenantService.detail(\n this.activatedRoute.snapshot.parent.data.contextData.id\n );\n this.tenant = result.data;\n } catch (error) {\n this.alertService.addServerFailure(error);\n }\n }\n\n private async setupConditionalFields() {\n try {\n const apps = (\n await this.applicationService.listByUser(undefined, {\n dropOverwrittenApps: true,\n noPaging: true\n })\n ).data;\n\n const cepModuleEnabled = apps.some(app => app.name === 'cep' || app.contextPath === 'cep');\n const dataBrokerModuleEnabled = apps.some(\n app => app.name === 'feature-broker' || app.contextPath === 'feature-broker'\n );\n const gainsightAvailable = await this.isGainsightAvailable();\n\n if (!cepModuleEnabled) {\n delete this.fieldDefinitions.cepServerQueueLimit;\n }\n if (!dataBrokerModuleEnabled) {\n delete this.fieldDefinitions.dataBrokerQueueLimit;\n }\n if (!gainsightAvailable) {\n delete this.fieldDefinitions.gainsightEnabled;\n }\n this.fieldKeys = Object.keys(this.fieldDefinitions);\n } catch (ex) {\n this.alertService.addServerFailure(ex);\n }\n }\n\n private async isGainsightAvailable() {\n if (get(window, 'C8Y_APP.gainsightKey')) {\n return true;\n }\n\n try {\n const res = await this.tenantOptionsService.detail({\n category: 'configuration',\n key: 'system.gainsight.api.key'\n });\n return !!res.data.value;\n } catch (error) {\n return false;\n }\n }\n\n private generateForm() {\n for (const field of Object.values(tenantLimitsCustomProperties)) {\n this.limitsForm.addControl(field.id, new FormControl(field.defaultValue, field.validators));\n }\n const customProps = this.tenant?.customProperties || {};\n this.limitsForm.patchValue(customProps);\n }\n\n private getDirtyValues(): any {\n const dirtyValues: { [key: string]: any } = {};\n Object.keys(this.limitsForm.controls).forEach(key => {\n const control = this.limitsForm.controls[key];\n if (control && control.dirty) {\n dirtyValues[key] = control.value;\n }\n });\n return dirtyValues;\n }\n}\n","<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Tenants' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n [path]=\"'/tenants'\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<form\n [formGroup]=\"limitsForm\"\n (ngSubmit)=\"onSubmit()\"\n>\n <div class=\"card card--fullpage m-b-0\">\n <div class=\"card-header separator\">\n <div\n class=\"card-title\"\n translate\n >\n Limits\n </div>\n </div>\n\n <c8y-help src=\"/docs/enterprise-tenant/managing-tenants/#setting-limits\"></c8y-help>\n\n <div class=\"inner-scroll\">\n <div\n class=\"card-block\"\n *ngIf=\"!initialized\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <div\n class=\"card-block\"\n *ngIf=\"initialized\"\n >\n <ng-container *ngFor=\"let key of fieldKeys\">\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'text'\">\n <ng-container\n *ngTemplateOutlet=\"textField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'number'\">\n <ng-container\n *ngTemplateOutlet=\"numberField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'checkbox'\">\n <ng-container\n *ngTemplateOutlet=\"checkboxField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <div\n class=\"card-footer separator\"\n *ngIf=\"initialized\"\n >\n <button\n class=\"btn btn-default\"\n type=\"button\"\n [routerLink]=\"['/tenants']\"\n translate\n >\n Cancel\n </button>\n <button\n class=\"btn btn-primary\"\n type=\"submit\"\n [disabled]=\"limitsForm.invalid\"\n translate\n >\n Save\n </button>\n </div>\n </div>\n\n <ng-template\n #textField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate: fieldDefinition.labelArgs }}\n </label>\n <input\n class=\"form-control\"\n type=\"text\"\n [id]=\"fieldDefinition.id\"\n [placeholder]=\"fieldDefinition.placeholder | translate: fieldDefinition.placeholderArgs\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-template>\n\n <ng-template\n #numberField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate: fieldDefinition.labelArgs }}\n </label>\n <input\n class=\"form-control\"\n type=\"number\"\n [id]=\"fieldDefinition.id\"\n [placeholder]=\"fieldDefinition.placeholder | translate: fieldDefinition.placeholderArgs\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-template>\n\n <ng-template\n #checkboxField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label\n class=\"c8y-checkbox\"\n [title]=\"fieldDefinition.label | translate\"\n [for]=\"fieldDefinition.id\"\n >\n <input\n type=\"checkbox\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n <span></span>\n <span>{{ fieldDefinition.label | translate }}</span>\n </label>\n </c8y-form-group>\n </ng-template>\n</form>\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\n\nimport { CoreModule, gettext, hookNavigator, hookRoute, ViewContext } from '@c8y/ngx-components';\nimport { TenantsNavigationFactory } from './tenants-navigation.factory';\nimport { TenantListComponent } from './tenant-list/tenant-list.component';\nimport { CreationTimeFilteringFormRendererComponent } from './tenant-list/creation-time.filtering-form-renderer.component';\nimport { StatusFilteringFormRendererComponent } from './tenant-list/status.filtering-form-renderer.component';\nimport { TenantsModuleConfig, TENANTS_MODULE_CONFIG } from './tenants.model';\nimport { TenantListGuard } from './tenant-list/tenant-list.guard';\nimport { CustomPropertiesComponent } from './custom-properties/custom-properties.component';\nimport { TenantLimitsComponent } from './tenant-limits/tenant-limits.component';\n\n@NgModule({\n imports: [RouterModule, BsDatepickerModule, CoreModule],\n exports: [],\n declarations: [\n TenantListComponent,\n CreationTimeFilteringFormRendererComponent,\n StatusFilteringFormRendererComponent\n ],\n providers: [\n TenantListGuard,\n hookNavigator(TenantsNavigationFactory),\n hookRoute({\n path: 'tenants',\n icon: 'c8y-layers',\n component: TenantListComponent,\n canActivate: [TenantListGuard]\n }),\n hookRoute([\n {\n path: 'custom_properties',\n component: CustomPropertiesComponent,\n icon: 'property-script',\n label: gettext('Custom properties'),\n context: ViewContext.Tenant,\n priority: 4\n },\n {\n path: 'limits',\n component: TenantLimitsComponent,\n icon: 'sliders',\n label: gettext('Limits'),\n context: ViewContext.Tenant,\n priority: 3\n }\n ])\n ]\n})\nexport class TenantsModule {\n static config(config: TenantsModuleConfig = {}): ModuleWithProviders<TenantsModule> {\n return {\n ngModule: TenantsModule,\n providers: [\n {\n provide: TENANTS_MODULE_CONFIG,\n useValue: config\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i4","i3","i5","i1","i4.CustomPropertiesService","i6","gettext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-tenants.mjs","sources":["../../tenants/tenant-list/tenant-list.guard.ts","../../tenants/tenants.model.ts","../../tenants/tenants-navigation.factory.ts","../../tenants/tenant-list/creation-time.filtering-form-renderer.component.ts","../../tenants/tenant-list/creation-time.filtering-form-renderer.component.html","../../tenants/tenant-list/status.filtering-form-renderer.component.ts","../../tenants/tenant-list/status.filtering-form-renderer.component.html","../../tenants/tenant-list/tenant-list.component.ts","../../tenants/tenant-list/tenant-list.component.html","../../tenants/custom-properties/custom-properties.service.ts","../../tenants/custom-properties/custom-property-field/custom-property-field.component.ts","../../tenants/custom-properties/custom-property-field/custom-property-field.component.html","../../tenants/custom-properties/custom-properties.component.ts","../../tenants/custom-properties/custom-properties.component.html","../../tenants/tenant-limits/tenant-limits-definitions.ts","../../tenants/tenant-limits/tenant-limits.component.ts","../../tenants/tenant-limits/tenant-limits.component.html","../../tenants/tenants.module.ts","../../tenants/c8y-ngx-components-tenants.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { TenantUiService } from '@c8y/ngx-components';\n\n@Injectable()\nexport class TenantListGuard {\n private active: boolean;\n\n constructor(private tenantUiService: TenantUiService) {}\n\n /**\n * Checks if tenant list should be active,\n * i.e. whether the current tenant can read other tenants.\n * **Note: the check is executed only once in the runtime.**\n *\n * @returns True, if the feature should be active.\n */\n canActivate(): boolean {\n if (this.active === undefined) {\n this.active = this.tenantUiService.canReadTenants();\n }\n return this.active;\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { NavigatorNode } from '@c8y/ngx-components';\n\nexport const TENANTS_MODULE_CONFIG = new InjectionToken<TenantsModuleConfig>('TenantsModuleConfig');\n\n/**\n * Configuration object for `TenantsModule`.\n */\nexport interface TenantsModuleConfig {\n /**\n * Allows for hiding or customizing \"Subtenants\" navigator node:\n * - `subtenantsNavigatorNode: true` - shows the default navigator node (default),\n * - `subtenantsNavigatorNode: false` - hides the navigator node,\n * - `subtenantsNavigatorNode: { label: 'My subtenants' }` - overrides default navigator node,\n * - `subtenantsNavigatorNode: new NavigatorNode({ label: 'My subtenants' })` - overrides default navigator node.\n */\n subtenantsNavigatorNode?: boolean | Partial<NavigatorNode>;\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { gettext, NavigatorNode, NavigatorNodeFactory } from '@c8y/ngx-components';\nimport { TenantListGuard } from './tenant-list/tenant-list.guard';\nimport { TenantsModuleConfig, TENANTS_MODULE_CONFIG } from './tenants.model';\n\n@Injectable()\nexport class TenantsNavigationFactory implements NavigatorNodeFactory {\n private navs: NavigatorNode[] = [];\n\n constructor(\n private tenantListGuard: TenantListGuard,\n @Optional() @Inject(TENANTS_MODULE_CONFIG) private config: TenantsModuleConfig\n ) {}\n\n async get(): Promise<NavigatorNode[]> {\n const canActivateTenantList = await this.tenantListGuard.canActivate();\n if (!this.navs.length) {\n const subtenantsNavigatorNode = this.config?.subtenantsNavigatorNode ?? true;\n if (subtenantsNavigatorNode !== false) {\n this.navs.push(\n new NavigatorNode({\n parent: {\n label: gettext('Tenants'),\n icon: 'c8y-layers'\n },\n label: gettext('Subtenants'),\n icon: 'c8y-sub-tenants',\n path: 'tenants',\n routerLinkExact: false,\n priority: 4000,\n hidden: !canActivateTenantList,\n ...(subtenantsNavigatorNode === true ? {} : subtenantsNavigatorNode)\n })\n );\n }\n }\n return this.navs;\n }\n}\n","import { Component } from '@angular/core';\nimport { ITenant } from '@c8y/client';\nimport { FilterChip, FilteringFormRendererContext, gettext } from '@c8y/ngx-components';\nimport { DatePipe } from '@angular/common';\nimport { TranslateService } from '@ngx-translate/core';\n\nexport interface Model {\n dateFrom: Date;\n dateTo: Date;\n}\n\n@Component({\n templateUrl: './creation-time.filtering-form-renderer.component.html',\n selector: 'c8y-creation-time-filtering-form-renderer'\n})\nexport class CreationTimeFilteringFormRendererComponent {\n model: Model;\n\n constructor(\n public context: FilteringFormRendererContext,\n private c8yDate: DatePipe,\n private translateService: TranslateService\n ) {\n this.model = (this.context.property.externalFilterQuery || {}).model || {};\n }\n\n applyFilter() {\n this.context.applyFilter({\n externalFilterQuery: {\n model: this.model,\n chips: this.getChipsForModel(this.model)\n },\n filterPredicate: (tenant: ITenant) => {\n const creationTime = new Date(tenant.creationTime);\n let dateFrom;\n let dateTo;\n\n if (this.model.dateFrom) {\n dateFrom = this.model.dateFrom;\n dateFrom.setHours(0, 0, 0, 0);\n }\n\n if (this.model.dateTo) {\n dateTo = this.model.dateTo;\n dateTo.setHours(23, 59, 59, 999);\n }\n\n return Boolean(\n (!dateFrom && !dateTo) ||\n (dateFrom && !dateTo && dateFrom <= creationTime) ||\n (!dateFrom && dateTo && creationTime <= dateTo) ||\n (dateFrom && dateTo && dateFrom <= creationTime && creationTime <= dateTo)\n );\n }\n });\n }\n\n getChipsForModel(model: Model): FilterChip[] {\n const updateChips = externalFilterQuery => {\n externalFilterQuery.chips = this.getChipsForModel(externalFilterQuery.model);\n };\n const createChip = (key: keyof Model, displayValueTpl: string): FilterChip => {\n return {\n columnName: this.context.property.name,\n path: ['model', key],\n displayValue: this.translateService.instant(displayValueTpl, {\n date: this.c8yDate.transform(this.model[key])\n }),\n value: this.model[key],\n remove() {\n delete this.externalFilterQuery.model[key];\n updateChips(this.externalFilterQuery);\n return {\n columnName: this.columnName,\n externalFilterQuery: this.externalFilterQuery\n };\n }\n };\n };\n\n const chips = [];\n if (model.dateFrom) {\n chips.push(createChip('dateFrom', gettext('from: {{ date }}')));\n }\n if (model.dateTo) {\n chips.push(createChip('dateTo', gettext('to: {{ date }}')));\n }\n return chips;\n }\n\n resetFilter() {\n this.context.resetFilter();\n }\n}\n","<form #filterForm=\"ngForm\">\n <div class=\"m-b-8 p-t-8\">\n <label>{{ 'Filter by creation time' | translate }}</label>\n <c8y-form-group\n class=\"datepicker d-block m-b-16\"\n style=\"max-height: 32px\"\n >\n <input\n class=\"form-control fit-w text-left\"\n placeholder=\"{{ 'Created from`date`' | translate }}\"\n name=\"dateFrom\"\n [(ngModel)]=\"model.dateFrom\"\n bsDatepicker\n [bsConfig]=\"{ customTodayClass: 'today', returnFocusToInput: true }\"\n [maxDate]=\"model.dateTo\"\n />\n </c8y-form-group>\n <c8y-form-group\n class=\"datepicker m-l-0 d-block\"\n style=\"max-height: 32px\"\n >\n <input\n class=\"form-control fit-w text-left\"\n placeholder=\"{{ 'Created to`date`' | translate }}\"\n name=\"dateTo\"\n [(ngModel)]=\"model.dateTo\"\n bsDatepicker\n [bsConfig]=\"{ customTodayClass: 'today', returnFocusToInput: true }\"\n [minDate]=\"model.dateFrom\"\n />\n </c8y-form-group>\n </div>\n</form>\n\n<div class=\"data-grid__dropdown__footer d-flex separator-top\">\n <button\n class=\"btn btn-default btn-sm m-r-8 flex-grow\"\n title=\"{{ 'Reset' | translate }}\"\n (click)=\"resetFilter()\"\n >\n {{ 'Reset' | translate }}\n </button>\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n title=\"{{ 'Apply' | translate }}\"\n [disabled]=\"filterForm.invalid || !(model.dateFrom || model.dateTo)\"\n (click)=\"applyFilter()\"\n >\n {{ 'Apply' | translate }}\n </button>\n</div>\n","import { Component } from '@angular/core';\nimport { ITenant, TenantStatus } from '@c8y/client';\nimport { FilteringFormRendererContext } from '@c8y/ngx-components';\n\n@Component({\n templateUrl: './status.filtering-form-renderer.component.html',\n selector: 'c8y-status-filtering-form-renderer'\n})\nexport class StatusFilteringFormRendererComponent {\n model: {\n active: boolean;\n suspended: boolean;\n };\n\n constructor(public context: FilteringFormRendererContext) {\n this.model = (this.context.property.externalFilterQuery || {}).model || {};\n }\n\n applyFilter() {\n this.context.applyFilter({\n externalFilterQuery: {\n model: this.model\n },\n filterPredicate: (tenant: ITenant) =>\n Boolean(\n (!this.model.active && !this.model.suspended) ||\n (this.model.active && tenant.status === TenantStatus.ACTIVE) ||\n (this.model.suspended && tenant.status === TenantStatus.SUSPENDED)\n )\n });\n }\n\n resetFilter() {\n this.context.resetFilter();\n }\n}\n","<form #filterForm=\"ngForm\">\n <div class=\"m-b-8 p-t-8\">\n <label>{{ 'Filter by status' | translate }}</label>\n <c8y-form-group class=\"m-b-0\">\n <label class=\"c8y-checkbox\">\n <input type=\"checkbox\" name=\"active\" [(ngModel)]=\"model.active\" />\n <span></span>\n <span>{{ 'Active`tenant`' | translate }}</span>\n </label>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-0\">\n <label class=\"c8y-checkbox\">\n <input type=\"checkbox\" name=\"suspended\" [(ngModel)]=\"model.suspended\" />\n <span></span>\n <span>{{ 'Suspended`tenant`' | translate }}</span>\n </label>\n </c8y-form-group>\n </div>\n</form>\n\n<div class=\"data-grid__dropdown__footer d-flex separator-top\">\n <button\n class=\"btn btn-default btn-sm m-r-8 flex-grow\"\n (click)=\"resetFilter()\"\n title=\"{{ 'Reset' | translate }}\"\n >\n {{ 'Reset' | translate }}\n </button>\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n [disabled]=\"filterForm.invalid\"\n (click)=\"applyFilter()\"\n title=\"{{ 'Apply' | translate }}\"\n >\n {{ 'Apply' | translate }}\n </button>\n</div>\n","import { Location } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { saveAs } from 'file-saver';\nimport { BehaviorSubject, from } from 'rxjs';\nimport { expand, reduce, shareReplay, takeWhile } from 'rxjs/operators';\n\nimport {\n ICurrentTenant,\n IResultList,\n ITenant,\n TenantService,\n TenantStatus,\n UserService\n} from '@c8y/client';\nimport {\n ActionControl,\n AlertService,\n AppStateService,\n BuiltInActionType,\n Column,\n DisplayOptions,\n gettext,\n ModalService,\n Pagination,\n PasswordService,\n Permissions,\n SortOrder,\n Status,\n TenantUiService\n} from '@c8y/ngx-components';\n\nimport { CreationTimeFilteringFormRendererComponent } from './creation-time.filtering-form-renderer.component';\nimport { StatusFilteringFormRendererComponent } from './status.filtering-form-renderer.component';\n\n@Component({\n selector: 'c8y-tenant-list',\n templateUrl: './tenant-list.component.html'\n})\nexport class TenantListComponent implements OnInit {\n tenants$: BehaviorSubject<ITenant[]> = new BehaviorSubject(undefined);\n isPermittedToCreateTenanant = this.permissionsService.hasAnyRole([\n Permissions.ROLE_TENANT_MANAGEMENT_ADMIN,\n Permissions.ROLE_TENANT_MANAGEMENT_CREATE\n ]);\n currentTenant: ICurrentTenant;\n isManagementTenant: boolean;\n TOP_TENANT_NAME = 'management';\n\n title: string = null;\n loadMoreItemsLabel: string = gettext('Load more tenants');\n loadingItemsLabel: string = gettext('Loading tenants…');\n\n displayOptions: DisplayOptions = {\n bordered: false,\n striped: true,\n filter: true,\n gridHeader: true,\n hover: true\n };\n\n columns: Column[] = this.getColumns();\n pagination: Pagination = this.getPagination();\n showSearch = true;\n actionControls: ActionControl[] = this.getActionControls();\n\n noResultsMessage = gettext('No tenants to display.');\n noDataMessage = gettext('There are no tenants defined.');\n noResultsSubtitle = gettext('Refine your search terms or check your spelling.');\n noDataSubtitle = gettext('Create the first tenant.');\n\n TenantStatus = TenantStatus;\n\n constructor(\n public appState: AppStateService,\n private alertService: AlertService,\n private modalService: ModalService,\n private translateService: TranslateService,\n private tenantService: TenantService,\n private tenantUiService: TenantUiService,\n private location: Location,\n private passwordService: PasswordService,\n private userService: UserService,\n private permissionsService: Permissions\n ) {}\n\n async ngOnInit() {\n this.currentTenant = this.appState.currentTenant.value;\n this.isManagementTenant = await this.tenantUiService.isManagementTenant();\n this.loadTenants();\n }\n\n loadTenants() {\n this.tenants$.next(undefined);\n from(this.tenantService.list({ pageSize: 2000, withTotalPages: true, withApps: false }))\n .pipe(\n expand(resultList => resultList.paging.nextPage !== null && resultList.paging.next()),\n takeWhile(resultList => resultList.paging.nextPage !== null, true),\n reduce(\n (tenants: ITenant[], resultList: IResultList<ITenant>) => [\n ...tenants,\n ...resultList.data\n ],\n []\n ),\n shareReplay(1)\n )\n .subscribe(tenants => this.tenants$.next(tenants));\n }\n\n getColumns(): Column[] {\n return [\n {\n name: 'company',\n header: gettext('Tenant'),\n path: 'company',\n filterable: true,\n sortable: true,\n sortOrder: 'asc' as SortOrder\n },\n {\n name: 'id',\n header: gettext('ID'),\n path: 'id',\n filterable: true,\n sortable: true\n },\n {\n name: 'domain',\n header: gettext('Domain'),\n path: 'domain',\n filterable: true,\n sortable: true\n },\n {\n name: 'parent',\n header: gettext('Parent tenant'),\n path: 'parent',\n filterable: true,\n sortable: true\n },\n {\n name: 'contactName',\n header: gettext('Contact name'),\n path: 'contactName',\n filterable: true,\n sortable: true\n },\n {\n name: 'creationTime',\n header: gettext('Created'),\n path: 'creationTime',\n filterable: true,\n filteringFormRendererComponent: CreationTimeFilteringFormRendererComponent,\n sortable: true\n },\n {\n name: 'externalReference',\n header: gettext('External reference'),\n path: 'customProperties.externalReference',\n filterable: true,\n sortable: true\n },\n {\n name: 'status',\n header: gettext('Status'),\n path: 'status',\n filterable: true,\n filteringFormRendererComponent: StatusFilteringFormRendererComponent,\n sortable: true,\n resizable: false\n }\n ];\n }\n\n getPagination(): Pagination {\n return {\n pageSize: 10,\n currentPage: 1\n };\n }\n\n getActionControls(): ActionControl[] {\n return [\n {\n type: BuiltInActionType.Edit,\n text: gettext('Edit`tenant`'),\n callback: tenant => this.goToDetails(tenant)\n },\n {\n type: 'activateTenantAction',\n icon: 'power-off',\n text: gettext('Activate`tenant`'),\n callback: (tenant: ITenant) => this.activateTenant(tenant),\n showIf: (tenant: ITenant) => this.isSuspended(tenant)\n },\n {\n type: 'suspendTenantAction',\n icon: 'power-off',\n text: gettext('Suspend`tenant`'),\n callback: (tenant: ITenant) => this.suspendTenant(tenant),\n showIf: (tenant: ITenant) => this.isActive(tenant)\n },\n {\n type: BuiltInActionType.Delete,\n text: gettext('Delete`tenant`'),\n callback: tenant => this.delete(tenant),\n showIf: () => this.isManagementTenant\n }\n ];\n }\n\n createTenant() {\n this.location.go('/tenants/new');\n }\n\n goToDetails(tenant: ITenant) {\n this.location.go(`/tenants/${tenant.id}`);\n }\n\n async activateTenant(tenant) {\n try {\n const { data: savedTenant } = await this.tenantService.update({\n id: tenant.id,\n status: TenantStatus.ACTIVE\n });\n Object.assign(tenant, savedTenant);\n this.alertService.success(gettext('Tenant activated.'));\n } catch (ex) {\n if (ex) {\n this.alertService.addServerFailure(ex);\n }\n }\n }\n\n async suspendTenant(tenant) {\n const title = gettext('Suspend tenant');\n const confirmationText = gettext(\n 'You are about to suspend tenant \"{{ company }}\" (ID \"{{ id }}\").'\n );\n const proceed = gettext('Do you want to proceed?');\n const body = [\n this.translateService.instant(confirmationText, {\n company: tenant.company,\n id: tenant.id\n }),\n this.translateService.instant(proceed)\n ].join(' ');\n const labels = {\n ok: gettext('Suspend`tenant`')\n };\n try {\n await this.modalService.confirm(title, body, Status.DANGER, labels);\n const confirmed = await this.passwordService.confirmPassword().toPromise();\n if (confirmed === true) {\n const { data: savedTenant } = await this.tenantService.update({\n id: tenant.id,\n status: TenantStatus.SUSPENDED\n });\n Object.assign(tenant, savedTenant);\n this.alertService.success(gettext('Tenant suspended.'));\n }\n } catch (ex) {\n if (ex) {\n this.alertService.addServerFailure(ex);\n }\n }\n }\n\n async delete(tenant) {\n const title = gettext('Delete tenant');\n const confirmationText = gettext(\n 'You are about to delete tenant \"{{ company }}\" (ID \"{{ id }}\").'\n );\n const hint = gettext('This operation is irreversible.');\n const proceed = gettext('Do you want to proceed?');\n const body = [\n this.translateService.instant(confirmationText, {\n company: tenant.company,\n id: tenant.id\n }),\n this.translateService.instant(hint),\n this.translateService.instant(proceed)\n ].join(' ');\n const labels = {\n ok: gettext('Delete`tenant`')\n };\n try {\n await this.modalService.confirm(title, body, Status.DANGER, labels);\n const confirmed = await this.passwordService.confirmPassword().toPromise();\n if (confirmed === true) {\n await this.tenantService.delete(tenant);\n const tenantsWithoutRemovedOne = this.tenants$.value.filter(t => t !== tenant);\n this.tenants$.next(tenantsWithoutRemovedOne);\n this.alertService.success(\n gettext('Tenant is being deleted in the background. This might take a while…')\n );\n }\n } catch (ex) {\n if (ex) {\n this.alertService.addServerFailure(ex);\n }\n }\n }\n\n isActive(tenant: ITenant) {\n return tenant.status === TenantStatus.ACTIVE;\n }\n\n isSuspended(tenant: ITenant) {\n return tenant.status === TenantStatus.SUSPENDED;\n }\n\n async downloadNewsletterEmails() {\n const { res, data } = await this.userService.getNewsletterEmails();\n const contentType = res.headers.get('content-type');\n const contentDisposition = res.headers.get('content-disposition');\n const filename = /filename=\"(.*)\"/.exec(contentDisposition)[1];\n const blob = new Blob([data], { type: contentType });\n saveAs(blob, filename);\n }\n}\n","<c8y-title>\n {{ 'Subtenants' | translate }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n icon=\"c8y-layers\"\n label=\"{{ 'Tenants' | translate }}\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item\n *ngIf=\"!!(appState.state$ | async).newsletter\"\n [placement]=\"'right'\"\n>\n <button\n class=\"btn btn-link\"\n title=\"{{\n 'Downloads the list of emails of users subscribed for newsletter on the current tenant and its subtenants.'\n | translate\n }}\"\n type=\"button\"\n (click)=\"downloadNewsletterEmails()\"\n >\n <i c8yIcon=\"download\"></i>\n {{ 'Email addresses' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Create tenant' | translate }}\"\n type=\"button\"\n (click)=\"createTenant()\"\n [disabled]=\"!isPermittedToCreateTenanant\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Create tenant' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/docs/enterprise-tenant/managing-tenants/#managing-subtenants\"></c8y-help>\n\n<div class=\"content-fullpage border-top border-bottom\">\n <c8y-data-grid\n [title]=\"title\"\n [loadMoreItemsLabel]=\"loadMoreItemsLabel\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [displayOptions]=\"displayOptions\"\n [columns]=\"columns\"\n [rows]=\"tenants$ | async\"\n [pagination]=\"pagination\"\n [showSearch]=\"showSearch\"\n [actionControls]=\"actionControls\"\n (onReload)=\"loadTenants()\"\n >\n <ng-container *ngIf=\"!(tenants$ | async); else empty\">\n <c8y-loading></c8y-loading>\n </ng-container>\n <ng-template #empty>\n <c8y-ui-empty-state\n [icon]=\"stats?.size > 0 ? 'search' : 'c8y-layers'\"\n [title]=\"stats?.size > 0 ? (noResultsMessage | translate) : (noDataMessage | translate)\"\n [subtitle]=\"\n stats?.size > 0 ? (noResultsSubtitle | translate) : (noDataSubtitle | translate)\n \"\n *emptyStateContext=\"let stats\"\n [horizontal]=\"stats?.size > 0\"\n >\n <ng-container *ngIf=\"stats?.size === 0\">\n <div>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Create tenant' | translate }}\"\n (click)=\"createTenant()\"\n [disabled]=\"!isPermittedToCreateTenanant\"\n >\n {{ 'Create tenant' | translate }}\n </button>\n </div>\n <p c8y-guide-docs>\n <small\n translate\n ngNonBindable\n >\n Find out more in the\n <a c8y-guide-href=\"/docs/enterprise-tenant/managing-tenants\">user documentation</a>\n .\n </small>\n </p>\n </ng-container>\n </c8y-ui-empty-state>\n </ng-template>\n\n <c8y-column name=\"company\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value }}\">\n <a [routerLink]=\"['/tenants', context.item.id]\">{{ context.value }}</a>\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"parent\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value || currentTenant.name }}\">\n {{ context.value || currentTenant.name }}\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"creationTime\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value | c8yDate }}\">\n {{ context.value | c8yDate }}\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"status\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span\n title=\"{{ 'Active`tenant`' | translate }}\"\n *ngIf=\"context.item.status === TenantStatus.ACTIVE\"\n >\n <i\n class=\"text-success\"\n c8yIcon=\"check-circle\"\n ></i>\n </span>\n <span\n title=\"{{ 'Suspended`tenant`' | translate }}\"\n *ngIf=\"context.item.status === TenantStatus.SUSPENDED\"\n >\n <i\n class=\"text-danger\"\n c8yIcon=\"ban\"\n ></i>\n </span>\n </ng-container>\n </c8y-column>\n </c8y-data-grid>\n</div>\n","import { Injectable } from '@angular/core';\nimport { InventoryService } from '@c8y/client';\nimport { AbstractControl, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { JSONSchema7, JSONSchema7TypeName } from 'json-schema';\nimport { ValidationPattern } from '@c8y/ngx-components';\n\ntype PropertiesType = { [key: string]: JSONSchema7 };\n\n// Model for individual tenant custom property field\nexport interface TenantCustomPropertyField {\n id: string;\n label: string;\n type: JSONSchema7TypeName | JSONSchema7TypeName[];\n format?: 'datetime' | string;\n formControlReference: AbstractControl;\n}\n\nconst defaultFilters = {\n query: \"(type eq 'c8y_JsonSchema') and (appliesTo.TENANTS eq true)\",\n pageSize: 1000,\n withTotalPages: true\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CustomPropertiesService {\n constructor(private inventoryService: InventoryService) {}\n\n async getFormAndFieldList(): Promise<{ form: FormGroup; fields: TenantCustomPropertyField[] }> {\n const schema = await this.getCustomProperties();\n const formGroup = this.buildFormGroup(schema);\n const fields = this.buildFieldList(formGroup, schema);\n return { form: formGroup, fields };\n }\n\n private async getCustomProperties(): Promise<PropertiesType> {\n let customFieldsSchema: PropertiesType = {};\n const customProperties = await this.inventoryService.list(defaultFilters);\n\n customProperties.data.forEach(item => {\n const fieldSchema: PropertiesType = item['c8y_JsonSchema'].properties;\n customFieldsSchema = { ...customFieldsSchema, ...(fieldSchema as object) };\n });\n return customFieldsSchema;\n }\n\n private buildFormGroup(schema: PropertiesType): FormGroup {\n const fg = new FormGroup({});\n\n for (const [key, value] of Object.entries(schema)) {\n const control = new FormControl(value.default, []);\n this.applyValidators(control, value);\n fg.addControl(key, control);\n }\n return fg;\n }\n\n private applyValidators(control: FormControl, props: JSONSchema7): void {\n const validatorsMap = {\n required: Validators.required,\n minimum: Validators.min(props.minimum),\n maximum: Validators.max(props.maximum),\n minLength: Validators.minLength(props.minLength),\n maxLength: Validators.maxLength(props.maxLength),\n pattern: Validators.pattern(props.pattern)\n };\n\n Object.entries(validatorsMap).forEach(([key, validator]) => {\n if (props[key as keyof JSONSchema7] !== undefined) {\n control.addValidators(validator);\n }\n });\n\n if (props.type === 'integer') {\n control.addValidators(Validators.pattern(ValidationPattern.rules.integer.pattern));\n }\n }\n\n private buildFieldList(form: FormGroup, schema: PropertiesType): TenantCustomPropertyField[] {\n const fieldList: TenantCustomPropertyField[] = [];\n Object.entries(schema).forEach(([key, value]) => {\n fieldList.push({\n id: key,\n label: value.title,\n type: value.type,\n format: value.format,\n formControlReference: form.get(key) as FormControl\n });\n });\n\n return fieldList;\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { TenantCustomPropertyField } from '../custom-properties.service';\nimport { CommonModule } from '@angular/common';\nimport { C8yTranslatePipe, DateTimePickerModule, FormGroupComponent } from '@c8y/ngx-components';\nimport { FormsModule } from '@c8y/ngx-components';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'c8y-custom-property-field',\n standalone: true,\n imports: [\n CommonModule,\n C8yTranslatePipe,\n FormGroupComponent,\n FormsModule,\n ReactiveFormsModule,\n DateTimePickerModule\n ],\n templateUrl: './custom-property-field.component.html'\n})\nexport class CustomPropertyFieldComponent {\n @Input()\n fieldDefinition: TenantCustomPropertyField;\n\n @Input()\n form: FormGroup;\n}\n","<ng-container *ngIf=\"form && fieldDefinition\">\n <ng-container [ngSwitch]=\"fieldDefinition.type\">\n <ng-container *ngSwitchCase=\"'boolean'\">\n <c8y-form-group [formGroup]=\"form\">\n <label\n class=\"c8y-checkbox\"\n [title]=\"fieldDefinition.label | translate\"\n [for]=\"fieldDefinition.id\"\n >\n <input\n type=\"checkbox\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n <span></span>\n <span>{{ fieldDefinition.label | translate }}</span>\n </label>\n </c8y-form-group>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'number'\">\n <c8y-form-group [formGroup]=\"form\">\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate }}\n </label>\n <input\n class=\"form-control\"\n type=\"number\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'integer'\">\n <c8y-form-group [formGroup]=\"form\">\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate }}\n </label>\n <input\n class=\"form-control\"\n type=\"number\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'string'\">\n <c8y-form-group\n *ngIf=\"!fieldDefinition.format\"\n [formGroup]=\"form\"\n >\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate }}\n </label>\n <input\n class=\"form-control\"\n type=\"text\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n\n <c8y-form-group\n *ngIf=\"fieldDefinition.format === 'datetime'\"\n [formGroup]=\"form\"\n >\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate }}\n </label>\n <c8y-date-time-picker\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n data-cy=\"c8y-custom-property-field--date-time-picker\"\n ></c8y-date-time-picker>\n </c8y-form-group>\n </ng-container>\n </ng-container>\n</ng-container>\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { IResult, ITenant, TenantService } from '@c8y/client';\nimport { ActivatedRoute, RouterLink } from '@angular/router';\nimport { AlertService, CoreModule, FormsModule, gettext } from '@c8y/ngx-components';\nimport {\n CustomPropertiesService,\n TenantCustomPropertyField\n} from '../custom-properties/custom-properties.service';\nimport { CustomPropertyFieldComponent } from '../custom-properties/custom-property-field/custom-property-field.component';\n\n@Component({\n selector: 'c8y-custom-properties',\n standalone: true,\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n CoreModule,\n RouterLink,\n CustomPropertyFieldComponent\n ],\n templateUrl: './custom-properties.component.html'\n})\nexport class CustomPropertiesComponent implements OnInit {\n fieldDefinitions: TenantCustomPropertyField[];\n customPropsForm: FormGroup = new FormGroup({});\n tenant: ITenant | null = null;\n initialized = false;\n\n constructor(\n private tenantService: TenantService,\n private alertService: AlertService,\n private activatedRoute: ActivatedRoute,\n private customPropertiesService: CustomPropertiesService\n ) {}\n\n async ngOnInit() {\n await this.loadTenantDetails();\n const { form, fields } = await this.customPropertiesService.getFormAndFieldList();\n this.customPropsForm = form;\n this.fieldDefinitions = fields;\n this.applyValuesFromTenant();\n this.initialized = true;\n }\n\n async onSubmit(): Promise<void> {\n if (this.customPropsForm.invalid || !this.tenant) {\n return;\n }\n\n const updatedTenant: ITenant = {\n ...this.tenant,\n customProperties: {\n ...this.tenant.customProperties,\n ...this.getDirtyValues()\n }\n };\n\n try {\n await this.tenantService.update(updatedTenant);\n this.alertService.success(gettext('Custom properties values saved.'));\n } catch (error) {\n this.alertService.addServerFailure(error);\n }\n }\n\n private async loadTenantDetails() {\n try {\n const result: IResult<ITenant> = await this.tenantService.detail(\n this.activatedRoute.snapshot.parent.data.contextData.id\n );\n this.tenant = result.data;\n } catch (error) {\n this.alertService.addServerFailure(error);\n }\n }\n\n private applyValuesFromTenant(): void {\n const customProps = this.tenant?.customProperties || {};\n this.customPropsForm.patchValue(customProps);\n }\n\n private getDirtyValues(): { [key: string]: unknown } {\n const dirtyValues: { [key: string]: unknown } = {};\n Object.keys(this.customPropsForm.controls).forEach(key => {\n const control = this.customPropsForm.controls[key];\n if (control && control.dirty && control.value !== null) {\n dirtyValues[key] = control.value;\n }\n });\n\n return dirtyValues;\n }\n}\n","<c8y-title *ngIf=\"tenant\">\n {{ tenant.company }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Tenants' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n [path]=\"'/tenants'\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<ng-container>\n <form\n [formGroup]=\"customPropsForm\"\n (ngSubmit)=\"onSubmit()\"\n >\n <div class=\"card card--fullpage m-b-0\">\n <div class=\"card-header separator\">\n <div\n class=\"card-title\"\n translate\n >\n Custom properties\n </div>\n </div>\n\n <div class=\"inner-scroll\">\n <div\n class=\"card-block\"\n *ngIf=\"!initialized\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <c8y-help src=\"/docs/enterprise-tenant/managing-tenants/#custom-properties\"></c8y-help>\n\n <!-- empty state -->\n <c8y-ui-empty-state\n [icon]=\"'property-script'\"\n [title]=\"'No custom properties to display.' | translate\"\n [subtitle]=\"'Add a new tenant property in Properties library.' | translate\"\n *ngIf=\"fieldDefinitions?.length === 0 && initialized\"\n >\n <p c8y-guide-docs>\n <small translate>\n Find out more in the\n <a c8y-guide-href=\"/docs/enterprise-tenant/managing-tenants/#custom-properties\">\n User guide\n </a>\n .\n </small>\n </p>\n </c8y-ui-empty-state>\n\n <div\n class=\"card-block\"\n *ngIf=\"initialized\"\n >\n <ng-container *ngFor=\"let field of fieldDefinitions\">\n <c8y-custom-property-field\n [fieldDefinition]=\"field\"\n [form]=\"customPropsForm\"\n ></c8y-custom-property-field>\n </ng-container>\n </div>\n </div>\n\n <div\n class=\"card-footer separator\"\n *ngIf=\"initialized\"\n >\n <button\n class=\"btn btn-default\"\n type=\"button\"\n [routerLink]=\"['/tenants']\"\n translate\n data-cy=\"custom-properties--cancel-button\"\n >\n Cancel\n </button>\n <button\n class=\"btn btn-primary\"\n type=\"submit\"\n [disabled]=\"!(!customPropsForm.invalid && customPropsForm.dirty)\"\n translate\n data-cy=\"custom-properties--save-button\"\n >\n Save\n </button>\n </div>\n </div>\n </form>\n</ng-container>\n","import { ValidatorFn, Validators } from '@angular/forms';\nimport { gettext } from '@c8y/ngx-components/gettext';\n\n// Model for individual tenant limit field\nexport interface TenantLimit {\n id: string;\n validators: ValidatorFn[];\n defaultValue: number | string | boolean | null;\n type: 'text' | 'checkbox' | 'number';\n label: string;\n labelArgs?: object;\n placeholder?: string;\n placeholderArgs?: object;\n}\n\n/**\n * Define all hardTyped custom properties, and their configuration in one place.\n *\n * This exported const utilizes typescript inferring,\n * while still benefiting from hard typing, thanks to \"satisfies\" keyword\n */\nconst tenantLimitsCustomPropertiesDefinition = {\n //TODO: External reference - going to be moved to the Properties tab.\n externalReference: {\n id: 'externalReference',\n validators: [],\n defaultValue: null,\n type: 'text',\n label: gettext('External reference'),\n placeholder: gettext('e.g. REF12345`reference number`')\n },\n limitDevicesNumber: {\n id: 'limit.devices.number',\n validators: [Validators.min(0)],\n defaultValue: null,\n type: 'number',\n label: gettext('Limit number of devices'),\n placeholder: gettext('e.g. {{ example }}'),\n placeholderArgs: { example: 1000 }\n },\n limitHttpRequests: {\n id: 'limit.http.requests',\n validators: [Validators.min(-1)],\n defaultValue: null,\n type: 'number',\n label: gettext('Limit HTTP requests'),\n placeholder: gettext('e.g. {{ example }}'),\n placeholderArgs: { example: 10000 }\n },\n limitHttpQueue: {\n id: 'limit.http.queue',\n validators: [Validators.min(-1)],\n defaultValue: null,\n type: 'number',\n label: gettext('Limit HTTP queue'),\n placeholder: gettext('e.g. {{ example }}'),\n placeholderArgs: { example: 100 }\n },\n limitStreamRequests: {\n id: 'limit.stream.requests',\n validators: [Validators.min(-1)],\n defaultValue: null,\n type: 'number',\n label: gettext('Limit stream requests'),\n placeholder: gettext('e.g. {{ example }}'),\n placeholderArgs: { example: 100 }\n },\n limitStreamQueue: {\n id: 'limit.stream.queue',\n validators: [Validators.min(-1)],\n defaultValue: null,\n type: 'number',\n label: gettext('Limit stream queue'),\n placeholder: gettext('e.g. {{ example }}'),\n placeholderArgs: { example: 100 }\n },\n cepServerQueueLimit: {\n id: 'cepServer.queue.limit',\n validators: [Validators.min(-1)],\n defaultValue: null,\n type: 'number',\n label: gettext('Limit CEP server queue'),\n placeholder: gettext('e.g. {{ example }}'),\n placeholderArgs: { example: 100 }\n },\n dataBrokerQueueLimit: {\n id: 'data-broker.queue.limit',\n validators: [Validators.min(0)],\n defaultValue: null,\n type: 'number',\n label: gettext('Limit data broker queue'),\n placeholder: gettext('e.g. {{ example }}'),\n placeholderArgs: { example: 100 }\n },\n // TODO: Gainsight checkbox - going to be moved to the Properties tab.\n gainsightEnabled: {\n id: 'gainsightEnabled',\n validators: [],\n defaultValue: false,\n type: 'checkbox',\n label: gettext('Enable Gainsight product experience tracking')\n }\n} satisfies Record<string, TenantLimit>;\n\ntype Keys = keyof typeof tenantLimitsCustomPropertiesDefinition;\n\nexport const tenantLimitsCustomProperties: { [K in Keys]: TenantLimit } =\n tenantLimitsCustomPropertiesDefinition;\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule, FormControl } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport {\n ApplicationService,\n IResult,\n ITenant,\n TenantOptionsService,\n TenantService\n} from '@c8y/client';\nimport { ActivatedRoute, RouterLink } from '@angular/router';\nimport { AlertService, CoreModule, FormsModule, gettext } from '@c8y/ngx-components';\nimport { tenantLimitsCustomProperties } from './tenant-limits-definitions';\nimport { get } from 'lodash-es';\n\n@Component({\n selector: 'c8y-tenant-limits',\n standalone: true,\n imports: [CommonModule, ReactiveFormsModule, FormsModule, CoreModule, RouterLink],\n templateUrl: './tenant-limits.component.html'\n})\nexport class TenantLimitsComponent implements OnInit {\n fieldDefinitions = { ...tenantLimitsCustomProperties };\n fieldKeys: string[];\n limitsForm: FormGroup = new FormGroup({});\n tenant: ITenant | null = null;\n initialized = false;\n\n constructor(\n private tenantService: TenantService,\n private tenantOptionsService: TenantOptionsService,\n private alertService: AlertService,\n private activatedRoute: ActivatedRoute,\n private applicationService: ApplicationService\n ) {}\n\n async ngOnInit() {\n await this.loadTenantDetails();\n await this.setupConditionalFields();\n this.generateForm();\n this.initialized = true;\n }\n\n async onSubmit() {\n if (this.limitsForm.invalid || !this.tenant) {\n return;\n }\n\n const updatedTenant: ITenant = {\n ...this.tenant,\n customProperties: {\n ...this.tenant.customProperties,\n ...this.getDirtyValues()\n }\n };\n\n try {\n await this.tenantService.update(updatedTenant);\n this.alertService.success(gettext('Limit values saved.'));\n } catch (error) {\n this.alertService.addServerFailure(error);\n }\n }\n\n private async loadTenantDetails() {\n try {\n const result: IResult<ITenant> = await this.tenantService.detail(\n this.activatedRoute.snapshot.parent.data.contextData.id\n );\n this.tenant = result.data;\n } catch (error) {\n this.alertService.addServerFailure(error);\n }\n }\n\n private async setupConditionalFields() {\n try {\n const apps = (\n await this.applicationService.listByUser(undefined, {\n dropOverwrittenApps: true,\n noPaging: true\n })\n ).data;\n\n const cepModuleEnabled = apps.some(app => app.name === 'cep' || app.contextPath === 'cep');\n const dataBrokerModuleEnabled = apps.some(\n app => app.name === 'feature-broker' || app.contextPath === 'feature-broker'\n );\n const gainsightAvailable = await this.isGainsightAvailable();\n\n if (!cepModuleEnabled) {\n delete this.fieldDefinitions.cepServerQueueLimit;\n }\n if (!dataBrokerModuleEnabled) {\n delete this.fieldDefinitions.dataBrokerQueueLimit;\n }\n if (!gainsightAvailable) {\n delete this.fieldDefinitions.gainsightEnabled;\n }\n this.fieldKeys = Object.keys(this.fieldDefinitions);\n } catch (ex) {\n this.alertService.addServerFailure(ex);\n }\n }\n\n private async isGainsightAvailable() {\n if (get(window, 'C8Y_APP.gainsightKey')) {\n return true;\n }\n\n try {\n const res = await this.tenantOptionsService.detail({\n category: 'configuration',\n key: 'system.gainsight.api.key'\n });\n return !!res.data.value;\n } catch (error) {\n return false;\n }\n }\n\n private generateForm() {\n for (const field of Object.values(tenantLimitsCustomProperties)) {\n this.limitsForm.addControl(field.id, new FormControl(field.defaultValue, field.validators));\n }\n const customProps = this.tenant?.customProperties || {};\n this.limitsForm.patchValue(customProps);\n }\n\n private getDirtyValues(): any {\n const dirtyValues: { [key: string]: any } = {};\n Object.keys(this.limitsForm.controls).forEach(key => {\n const control = this.limitsForm.controls[key];\n if (control && control.dirty) {\n dirtyValues[key] = control.value;\n }\n });\n return dirtyValues;\n }\n}\n","<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Tenants' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n [path]=\"'/tenants'\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<form\n [formGroup]=\"limitsForm\"\n (ngSubmit)=\"onSubmit()\"\n>\n <div class=\"card card--fullpage m-b-0\">\n <div class=\"card-header separator\">\n <div\n class=\"card-title\"\n translate\n >\n Limits\n </div>\n </div>\n\n <c8y-help src=\"/docs/enterprise-tenant/managing-tenants/#setting-limits\"></c8y-help>\n\n <div class=\"inner-scroll\">\n <div\n class=\"card-block\"\n *ngIf=\"!initialized\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <div\n class=\"card-block\"\n *ngIf=\"initialized\"\n >\n <ng-container *ngFor=\"let key of fieldKeys\">\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'text'\">\n <ng-container\n *ngTemplateOutlet=\"textField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'number'\">\n <ng-container\n *ngTemplateOutlet=\"numberField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'checkbox'\">\n <ng-container\n *ngTemplateOutlet=\"checkboxField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <div\n class=\"card-footer separator\"\n *ngIf=\"initialized\"\n >\n <button\n class=\"btn btn-default\"\n type=\"button\"\n [routerLink]=\"['/tenants']\"\n translate\n >\n Cancel\n </button>\n <button\n class=\"btn btn-primary\"\n type=\"submit\"\n [disabled]=\"limitsForm.invalid\"\n translate\n >\n Save\n </button>\n </div>\n </div>\n\n <ng-template\n #textField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate: fieldDefinition.labelArgs }}\n </label>\n <input\n class=\"form-control\"\n type=\"text\"\n [id]=\"fieldDefinition.id\"\n [placeholder]=\"fieldDefinition.placeholder | translate: fieldDefinition.placeholderArgs\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-template>\n\n <ng-template\n #numberField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate: fieldDefinition.labelArgs }}\n </label>\n <input\n class=\"form-control\"\n type=\"number\"\n [id]=\"fieldDefinition.id\"\n [placeholder]=\"fieldDefinition.placeholder | translate: fieldDefinition.placeholderArgs\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-template>\n\n <ng-template\n #checkboxField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label\n class=\"c8y-checkbox\"\n [title]=\"fieldDefinition.label | translate\"\n [for]=\"fieldDefinition.id\"\n >\n <input\n type=\"checkbox\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n <span></span>\n <span>{{ fieldDefinition.label | translate }}</span>\n </label>\n </c8y-form-group>\n </ng-template>\n</form>\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\n\nimport { CoreModule, gettext, hookNavigator, hookRoute, ViewContext } from '@c8y/ngx-components';\nimport { TenantsNavigationFactory } from './tenants-navigation.factory';\nimport { TenantListComponent } from './tenant-list/tenant-list.component';\nimport { CreationTimeFilteringFormRendererComponent } from './tenant-list/creation-time.filtering-form-renderer.component';\nimport { StatusFilteringFormRendererComponent } from './tenant-list/status.filtering-form-renderer.component';\nimport { TenantsModuleConfig, TENANTS_MODULE_CONFIG } from './tenants.model';\nimport { TenantListGuard } from './tenant-list/tenant-list.guard';\nimport { CustomPropertiesComponent } from './custom-properties/custom-properties.component';\nimport { TenantLimitsComponent } from './tenant-limits/tenant-limits.component';\n\n@NgModule({\n imports: [RouterModule, BsDatepickerModule, CoreModule],\n exports: [],\n declarations: [\n TenantListComponent,\n CreationTimeFilteringFormRendererComponent,\n StatusFilteringFormRendererComponent\n ],\n providers: [\n TenantListGuard,\n hookNavigator(TenantsNavigationFactory),\n hookRoute({\n path: 'tenants',\n icon: 'c8y-layers',\n component: TenantListComponent,\n canActivate: [TenantListGuard]\n }),\n hookRoute([\n {\n path: 'custom_properties',\n component: CustomPropertiesComponent,\n icon: 'property-script',\n label: gettext('Custom properties'),\n context: ViewContext.Tenant,\n priority: 4\n },\n {\n path: 'limits',\n component: TenantLimitsComponent,\n icon: 'sliders',\n label: gettext('Limits'),\n context: ViewContext.Tenant,\n priority: 3\n }\n ])\n ]\n})\nexport class TenantsModule {\n static config(config: TenantsModuleConfig = {}): ModuleWithProviders<TenantsModule> {\n return {\n ngModule: TenantsModule,\n providers: [\n {\n provide: TENANTS_MODULE_CONFIG,\n useValue: config\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i4","i3","i5","i1","i4.CustomPropertiesService","i6","gettext"],"mappings":"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"}
|
package/locales/pl.po
CHANGED
|
@@ -397,7 +397,7 @@ msgid "<p>To export data, you must meet at least one of these criteria:</p>\n"
|
|
|
397
397
|
" </li>\n"
|
|
398
398
|
" </ul>\n"
|
|
399
399
|
" <p>Don't meet these requirements? Contact your system administrator for assistance.</p>"
|
|
400
|
-
msgstr "<p>Aby
|
|
400
|
+
msgstr "<p>Aby wyeksportować dane, musisz spełnić co najmniej jedno z tych kryteriów:</p>\n"
|
|
401
401
|
" <ul>\n"
|
|
402
402
|
" <li>\n"
|
|
403
403
|
" Posiadać\n"
|
|
@@ -407,7 +407,7 @@ msgstr "<p>Aby Eksportuj dane, musisz spełnić co najmniej jedno z tych kryteri
|
|
|
407
407
|
" <li>\n"
|
|
408
408
|
" Być\n"
|
|
409
409
|
" <b>właścicielem źródła</b>\n"
|
|
410
|
-
" z którego chcesz
|
|
410
|
+
" z którego chcesz wyeksportować dane\n"
|
|
411
411
|
" </li>\n"
|
|
412
412
|
" </ul>\n"
|
|
413
413
|
" <p>Nie spełniasz tych wymagań? Skontaktuj się z administracją systemu w celu uzyskania pomocy.</p>"
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@c8y/ngx-components","version":"1021.38.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.38.0","@c8y/client":"1021.38.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-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-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-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-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-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-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"},"./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"},"./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"},"./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"},"./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-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/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/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"},"./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/asset-notes":{"types":"./widgets/definitions/asset-notes/index.d.ts","esm2022":"./esm2022/widgets/definitions/asset-notes/c8y-ngx-components-widgets-definitions-asset-notes.mjs","esm":"./esm2022/widgets/definitions/asset-notes/c8y-ngx-components-widgets-definitions-asset-notes.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-asset-notes.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/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/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/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/asset-notes":{"types":"./widgets/implementations/asset-notes/index.d.ts","esm2022":"./esm2022/widgets/implementations/asset-notes/c8y-ngx-components-widgets-implementations-asset-notes.mjs","esm":"./esm2022/widgets/implementations/asset-notes/c8y-ngx-components-widgets-implementations-asset-notes.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-asset-notes.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/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/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/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.38.1","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.38.1","@c8y/client":"1021.38.1","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"},"./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/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/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"},"./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/asset-notes":{"types":"./widgets/definitions/asset-notes/index.d.ts","esm2022":"./esm2022/widgets/definitions/asset-notes/c8y-ngx-components-widgets-definitions-asset-notes.mjs","esm":"./esm2022/widgets/definitions/asset-notes/c8y-ngx-components-widgets-definitions-asset-notes.mjs","default":"./fesm2022/c8y-ngx-components-widgets-definitions-asset-notes.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/asset-notes":{"types":"./widgets/implementations/asset-notes/index.d.ts","esm2022":"./esm2022/widgets/implementations/asset-notes/c8y-ngx-components-widgets-implementations-asset-notes.mjs","esm":"./esm2022/widgets/implementations/asset-notes/c8y-ngx-components-widgets-implementations-asset-notes.mjs","default":"./fesm2022/c8y-ngx-components-widgets-implementations-asset-notes.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/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/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/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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-properties.service.d.ts","sourceRoot":"","sources":["../../../tenants/custom-properties/custom-properties.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAe,SAAS,EAAc,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAe,mBAAmB,EAAE,MAAM,aAAa,CAAC;;AAM/D,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,mBAAmB,GAAG,mBAAmB,EAAE,CAAC;IAClD,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IAC7B,oBAAoB,EAAE,eAAe,CAAC;CACvC;
|
|
1
|
+
{"version":3,"file":"custom-properties.service.d.ts","sourceRoot":"","sources":["../../../tenants/custom-properties/custom-properties.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAe,SAAS,EAAc,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAe,mBAAmB,EAAE,MAAM,aAAa,CAAC;;AAM/D,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,mBAAmB,GAAG,mBAAmB,EAAE,CAAC;IAClD,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IAC7B,oBAAoB,EAAE,eAAe,CAAC;CACvC;AAQD,qBAGa,uBAAuB;IACtB,OAAO,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,gBAAgB;IAEhD,mBAAmB,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,MAAM,EAAE,yBAAyB,EAAE,CAAA;KAAE,CAAC;YAOhF,mBAAmB;IAWjC,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,cAAc;yCArDX,uBAAuB;6CAAvB,uBAAuB;CAmEnC"}
|