@covalent/core 8.2.0-beta.1 → 8.2.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.
@@ -38,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
38
38
  type: Inject,
39
39
  args: [LOCALE_ID]
40
40
  }] }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXRzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tbW9uL3NyYy9waXBlcy9kaWdpdHMvZGlnaXRzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBSzlDLE1BQU0sT0FBTyxZQUFZO0lBR2dCO0lBRi9CLFlBQVksQ0FBYztJQUVsQyxZQUF1QyxVQUFrQixJQUFJO1FBQXRCLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFDM0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELHFFQUFxRTtJQUNyRSxTQUFTLENBQUMsTUFBVyxFQUFFLFNBQVMsR0FBRyxDQUFDO1FBQ2xDLElBQUksTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQzthQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLDZDQUE2QztZQUM3QyxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO2FBQU0sSUFBSSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RFLENBQUM7UUFDRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDZixNQUFNLEtBQUssR0FBYSxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdEQsTUFBTSxDQUFDLEdBQVcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RCxNQUFNLElBQUksR0FBVyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsT0FBTyxDQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUN6QixVQUFVLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDekQsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQzdCLENBQUM7SUFDSixDQUFDO3VHQTFCVSxZQUFZLGtCQUdILFNBQVM7cUdBSGxCLFlBQVk7OzJGQUFaLFlBQVk7a0JBSHhCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFFBQVE7aUJBQ2Y7OzBCQUljLE1BQU07MkJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIEluamVjdCwgTE9DQUxFX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZWNpbWFsUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2RpZ2l0cycsXG59KVxuZXhwb3J0IGNsYXNzIFRkRGlnaXRzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwcml2YXRlIF9kZWNpbWFsUGlwZTogRGVjaW1hbFBpcGU7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgX2xvY2FsZTogc3RyaW5nID0gJ2VuJykge1xuICAgIHRoaXMuX2RlY2ltYWxQaXBlID0gbmV3IERlY2ltYWxQaXBlKHRoaXMuX2xvY2FsZSk7XG4gIH1cblxuICAvKiBgZGlnaXRzYCBuZWVkcyB0byBiZSB0eXBlIGBkaWdpdHM6IGFueWAgb3IgVHlwZVNjcmlwdCBjb21wbGFpbnMgKi9cbiAgdHJhbnNmb3JtKGRpZ2l0czogYW55LCBwcmVjaXNpb24gPSAxKTogc3RyaW5nIHtcbiAgICBpZiAoZGlnaXRzID09PSAwKSB7XG4gICAgICByZXR1cm4gJzAnO1xuICAgIH0gZWxzZSBpZiAoaXNOYU4ocGFyc2VJbnQoZGlnaXRzLCAxMCkpKSB7XG4gICAgICAvKiBJZiBub3QgYSB2YWxpZCBudW1iZXIsIHJldHVybiB0aGUgdmFsdWUgKi9cbiAgICAgIHJldHVybiBkaWdpdHM7XG4gICAgfSBlbHNlIGlmIChkaWdpdHMgPCAxKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZGVjaW1hbFBpcGUudHJhbnNmb3JtKGRpZ2l0cy50b0ZpeGVkKHByZWNpc2lvbikpID8/ICcnO1xuICAgIH1cbiAgICBjb25zdCBrID0gMTAwMDtcbiAgICBjb25zdCBzaXplczogc3RyaW5nW10gPSBbJycsICdLJywgJ00nLCAnQicsICdUJywgJ1EnXTtcbiAgICBjb25zdCBpOiBudW1iZXIgPSBNYXRoLmZsb29yKE1hdGgubG9nKGRpZ2l0cykgLyBNYXRoLmxvZyhrKSk7XG4gICAgY29uc3Qgc2l6ZTogc3RyaW5nID0gc2l6ZXNbaV07XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuX2RlY2ltYWxQaXBlLnRyYW5zZm9ybShcbiAgICAgICAgcGFyc2VGbG9hdCgoZGlnaXRzIC8gTWF0aC5wb3coaywgaSkpLnRvRml4ZWQocHJlY2lzaW9uKSlcbiAgICAgICkgKyAoc2l6ZSA/ICcgJyArIHNpemUgOiAnJylcbiAgICApO1xuICB9XG59XG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXRzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tbW9uL3NyYy9waXBlcy9kaWdpdHMvZGlnaXRzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBSzlDLE1BQU0sT0FBTyxZQUFZO0lBR2dCO0lBRi9CLFlBQVksQ0FBYztJQUVsQyxZQUF1QyxVQUFVLElBQUk7UUFBZCxZQUFPLEdBQVAsT0FBTyxDQUFPO1FBQ25ELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxxRUFBcUU7SUFDckUsU0FBUyxDQUFDLE1BQVcsRUFBRSxTQUFTLEdBQUcsQ0FBQztRQUNsQyxJQUFJLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNqQixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2Qyw2Q0FBNkM7WUFDN0MsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQzthQUFNLElBQUksTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0RSxDQUFDO1FBQ0QsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ2YsTUFBTSxLQUFLLEdBQWEsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sQ0FBQyxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0QsTUFBTSxJQUFJLEdBQVcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlCLE9BQU8sQ0FDTCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FDekIsVUFBVSxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQ3pELEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUM3QixDQUFDO0lBQ0osQ0FBQzt1R0ExQlUsWUFBWSxrQkFHSCxTQUFTO3FHQUhsQixZQUFZOzsyRkFBWixZQUFZO2tCQUh4QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxRQUFRO2lCQUNmOzswQkFJYyxNQUFNOzJCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBJbmplY3QsIExPQ0FMRV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVjaW1hbFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdkaWdpdHMnLFxufSlcbmV4cG9ydCBjbGFzcyBUZERpZ2l0c1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHJpdmF0ZSBfZGVjaW1hbFBpcGU6IERlY2ltYWxQaXBlO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTE9DQUxFX0lEKSBwcml2YXRlIF9sb2NhbGUgPSAnZW4nKSB7XG4gICAgdGhpcy5fZGVjaW1hbFBpcGUgPSBuZXcgRGVjaW1hbFBpcGUodGhpcy5fbG9jYWxlKTtcbiAgfVxuXG4gIC8qIGBkaWdpdHNgIG5lZWRzIHRvIGJlIHR5cGUgYGRpZ2l0czogYW55YCBvciBUeXBlU2NyaXB0IGNvbXBsYWlucyAqL1xuICB0cmFuc2Zvcm0oZGlnaXRzOiBhbnksIHByZWNpc2lvbiA9IDEpOiBzdHJpbmcge1xuICAgIGlmIChkaWdpdHMgPT09IDApIHtcbiAgICAgIHJldHVybiAnMCc7XG4gICAgfSBlbHNlIGlmIChpc05hTihwYXJzZUludChkaWdpdHMsIDEwKSkpIHtcbiAgICAgIC8qIElmIG5vdCBhIHZhbGlkIG51bWJlciwgcmV0dXJuIHRoZSB2YWx1ZSAqL1xuICAgICAgcmV0dXJuIGRpZ2l0cztcbiAgICB9IGVsc2UgaWYgKGRpZ2l0cyA8IDEpIHtcbiAgICAgIHJldHVybiB0aGlzLl9kZWNpbWFsUGlwZS50cmFuc2Zvcm0oZGlnaXRzLnRvRml4ZWQocHJlY2lzaW9uKSkgPz8gJyc7XG4gICAgfVxuICAgIGNvbnN0IGsgPSAxMDAwO1xuICAgIGNvbnN0IHNpemVzOiBzdHJpbmdbXSA9IFsnJywgJ0snLCAnTScsICdCJywgJ1QnLCAnUSddO1xuICAgIGNvbnN0IGk6IG51bWJlciA9IE1hdGguZmxvb3IoTWF0aC5sb2coZGlnaXRzKSAvIE1hdGgubG9nKGspKTtcbiAgICBjb25zdCBzaXplOiBzdHJpbmcgPSBzaXplc1tpXTtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5fZGVjaW1hbFBpcGUudHJhbnNmb3JtKFxuICAgICAgICBwYXJzZUZsb2F0KChkaWdpdHMgLyBNYXRoLnBvdyhrLCBpKSkudG9GaXhlZChwcmVjaXNpb24pKVxuICAgICAgKSArIChzaXplID8gJyAnICsgc2l6ZSA6ICcnKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -27,4 +27,4 @@ export function _closeSideSheetVia(ref, interactionType, result) {
27
27
  }
28
28
  return ref.close(result);
29
29
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1zaGVldC1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc2lkZS1zaGVldC9zcmMvc2lkZS1zaGVldC1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR2hELE9BQU8sRUFBRSxZQUFZLEVBQXNCLE1BQU0sMEJBQTBCLENBQUM7QUFHNUUsaUNBQWlDO0FBQ2pDLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztBQUVqQiwwREFBMEQ7QUFDMUQsTUFBTSxPQUFPLG9CQUFpQyxTQUFRLFlBQWtCO0lBRTdEO0lBQ0E7SUFDUztJQUNFO0lBSnBCLFlBQ1MsVUFBc0IsRUFDdEIsTUFBK0IsRUFDdEIsa0JBQXNDLEVBQ3BDLEtBQWEsaUJBQWlCLFFBQVEsRUFBRSxFQUFFO1FBRTVELE1BQU0sR0FBRyxHQUFHLElBQUksU0FBUyxDQUFPLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBTmhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBeUI7UUFDdEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUNwQyxPQUFFLEdBQUYsRUFBRSxDQUF3QztRQUkzRCxHQUErQyxDQUFDLGlCQUFpQjtZQUNoRSxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDNUIsQ0FBQztDQUNGO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxHQUE0QixFQUM1QixlQUE0QixFQUM1QixNQUFVO0lBRVYseUZBQXlGO0lBQ3pGLG1GQUFtRjtJQUNuRixJQUFJLEdBQUcsQ0FBQyxrQkFBa0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN6QyxHQUFHLENBQUMsa0JBQWtCLENBQUMscUJBQXFCLEdBQUcsZUFBZSxDQUFDO0lBQ2pFLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG5pbXBvcnQgeyBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kaWFsb2cnO1xuaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IEJhc2VQb3J0YWxPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTWF0RGlhbG9nQ29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IENvdmFsZW50U2lkZVNoZWV0Q29uZmlnIH0gZnJvbSAnLi9zaWRlLXNoZWV0LmNvbmZpZyc7XG5cbi8vIENvdW50ZXIgZm9yIHVuaXF1ZSBkaWFsb2cgaWRzLlxubGV0IHVuaXF1ZUlkID0gMDtcblxuLy8gQ3JlYXRlIGEgbmV3IHNpZGUgc2hlZXQgcmVmIHRvIGNoYW5nZSB0aGUgaWQgb2YgdGhlIHJlZlxuZXhwb3J0IGNsYXNzIENvdmFsZW50U2lkZVNoZWV0UmVmPFQsIFIgPSBhbnk+IGV4dGVuZHMgTWF0RGlhbG9nUmVmPFQsIFI+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsXG4gICAgcHVibGljIGNvbmZpZzogQ292YWxlbnRTaWRlU2hlZXRDb25maWcsXG4gICAgcHVibGljIG92ZXJyaWRlIF9jb250YWluZXJJbnN0YW5jZTogTWF0RGlhbG9nQ29udGFpbmVyLFxuICAgIG92ZXJyaWRlIHJlYWRvbmx5IGlkOiBzdHJpbmcgPSBgdGQtc2lkZS1zaGVldC0ke3VuaXF1ZUlkKyt9YFxuICApIHtcbiAgICBjb25zdCByZWYgPSBuZXcgRGlhbG9nUmVmPFIsIFQ+KG92ZXJsYXlSZWYsIGNvbmZpZyk7XG4gICAgc3VwZXIocmVmLCBjb25maWcsIF9jb250YWluZXJJbnN0YW5jZSk7XG4gICAgKHJlZiBhcyB7IGNvbnRhaW5lckluc3RhbmNlOiBCYXNlUG9ydGFsT3V0bGV0IH0pLmNvbnRhaW5lckluc3RhbmNlID1cbiAgICAgIHRoaXMuX2NvbnRhaW5lckluc3RhbmNlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfY2xvc2VTaWRlU2hlZXRWaWE8Uj4oXG4gIHJlZjogQ292YWxlbnRTaWRlU2hlZXRSZWY8Uj4sXG4gIGludGVyYWN0aW9uVHlwZTogRm9jdXNPcmlnaW4sXG4gIHJlc3VsdD86IFJcbikge1xuICAvLyBTb21lIG1vY2sgZGlhbG9nIHJlZiBpbnN0YW5jZXMgaW4gdGVzdHMgZG8gbm90IGhhdmUgdGhlIGBfY29udGFpbmVySW5zdGFuY2VgIHByb3BlcnR5LlxuICAvLyBGb3IgdGhvc2UsIHdlIGtlZXAgdGhlIGJlaGF2aW9yIGFzIGlzIGFuZCBkbyBub3QgZGVhbCB3aXRoIHRoZSBpbnRlcmFjdGlvbiB0eXBlLlxuICBpZiAocmVmLl9jb250YWluZXJJbnN0YW5jZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmVmLl9jb250YWluZXJJbnN0YW5jZS5fY2xvc2VJbnRlcmFjdGlvblR5cGUgPSBpbnRlcmFjdGlvblR5cGU7XG4gIH1cbiAgcmV0dXJuIHJlZi5jbG9zZShyZXN1bHQpO1xufVxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1zaGVldC1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc2lkZS1zaGVldC9zcmMvc2lkZS1zaGVldC1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR2hELE9BQU8sRUFBRSxZQUFZLEVBQXNCLE1BQU0sMEJBQTBCLENBQUM7QUFHNUUsaUNBQWlDO0FBQ2pDLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztBQUVqQiwwREFBMEQ7QUFDMUQsTUFBTSxPQUFPLG9CQUFpQyxTQUFRLFlBQWtCO0lBRTdEO0lBQ0E7SUFDUztJQUNFO0lBSnBCLFlBQ1MsVUFBc0IsRUFDdEIsTUFBK0IsRUFDdEIsa0JBQXNDLEVBQ3BDLEtBQUssaUJBQWlCLFFBQVEsRUFBRSxFQUFFO1FBRXBELE1BQU0sR0FBRyxHQUFHLElBQUksU0FBUyxDQUFPLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBTmhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBeUI7UUFDdEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUNwQyxPQUFFLEdBQUYsRUFBRSxDQUFnQztRQUluRCxHQUErQyxDQUFDLGlCQUFpQjtZQUNoRSxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDNUIsQ0FBQztDQUNGO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxHQUE0QixFQUM1QixlQUE0QixFQUM1QixNQUFVO0lBRVYseUZBQXlGO0lBQ3pGLG1GQUFtRjtJQUNuRixJQUFJLEdBQUcsQ0FBQyxrQkFBa0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN6QyxHQUFHLENBQUMsa0JBQWtCLENBQUMscUJBQXFCLEdBQUcsZUFBZSxDQUFDO0lBQ2pFLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG5pbXBvcnQgeyBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kaWFsb2cnO1xuaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IEJhc2VQb3J0YWxPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTWF0RGlhbG9nQ29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IENvdmFsZW50U2lkZVNoZWV0Q29uZmlnIH0gZnJvbSAnLi9zaWRlLXNoZWV0LmNvbmZpZyc7XG5cbi8vIENvdW50ZXIgZm9yIHVuaXF1ZSBkaWFsb2cgaWRzLlxubGV0IHVuaXF1ZUlkID0gMDtcblxuLy8gQ3JlYXRlIGEgbmV3IHNpZGUgc2hlZXQgcmVmIHRvIGNoYW5nZSB0aGUgaWQgb2YgdGhlIHJlZlxuZXhwb3J0IGNsYXNzIENvdmFsZW50U2lkZVNoZWV0UmVmPFQsIFIgPSBhbnk+IGV4dGVuZHMgTWF0RGlhbG9nUmVmPFQsIFI+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsXG4gICAgcHVibGljIGNvbmZpZzogQ292YWxlbnRTaWRlU2hlZXRDb25maWcsXG4gICAgcHVibGljIG92ZXJyaWRlIF9jb250YWluZXJJbnN0YW5jZTogTWF0RGlhbG9nQ29udGFpbmVyLFxuICAgIG92ZXJyaWRlIHJlYWRvbmx5IGlkID0gYHRkLXNpZGUtc2hlZXQtJHt1bmlxdWVJZCsrfWBcbiAgKSB7XG4gICAgY29uc3QgcmVmID0gbmV3IERpYWxvZ1JlZjxSLCBUPihvdmVybGF5UmVmLCBjb25maWcpO1xuICAgIHN1cGVyKHJlZiwgY29uZmlnLCBfY29udGFpbmVySW5zdGFuY2UpO1xuICAgIChyZWYgYXMgeyBjb250YWluZXJJbnN0YW5jZTogQmFzZVBvcnRhbE91dGxldCB9KS5jb250YWluZXJJbnN0YW5jZSA9XG4gICAgICB0aGlzLl9jb250YWluZXJJbnN0YW5jZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gX2Nsb3NlU2lkZVNoZWV0VmlhPFI+KFxuICByZWY6IENvdmFsZW50U2lkZVNoZWV0UmVmPFI+LFxuICBpbnRlcmFjdGlvblR5cGU6IEZvY3VzT3JpZ2luLFxuICByZXN1bHQ/OiBSXG4pIHtcbiAgLy8gU29tZSBtb2NrIGRpYWxvZyByZWYgaW5zdGFuY2VzIGluIHRlc3RzIGRvIG5vdCBoYXZlIHRoZSBgX2NvbnRhaW5lckluc3RhbmNlYCBwcm9wZXJ0eS5cbiAgLy8gRm9yIHRob3NlLCB3ZSBrZWVwIHRoZSBiZWhhdmlvciBhcyBpcyBhbmQgZG8gbm90IGRlYWwgd2l0aCB0aGUgaW50ZXJhY3Rpb24gdHlwZS5cbiAgaWYgKHJlZi5fY29udGFpbmVySW5zdGFuY2UgIT09IHVuZGVmaW5lZCkge1xuICAgIHJlZi5fY29udGFpbmVySW5zdGFuY2UuX2Nsb3NlSW50ZXJhY3Rpb25UeXBlID0gaW50ZXJhY3Rpb25UeXBlO1xuICB9XG4gIHJldHVybiByZWYuY2xvc2UocmVzdWx0KTtcbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"covalent-core-common.mjs","sources":["../../../../libs/angular/common/src/forms/auto-trim/auto-trim.directive.ts","../../../../libs/angular/common/src/directives/fullscreen/fullscreen.directive.ts","../../../../libs/angular/common/src/pipes/time-ago/time-ago.pipe.ts","../../../../libs/angular/common/src/pipes/time-difference/time-difference.pipe.ts","../../../../libs/angular/common/src/pipes/time-until/time-until.pipe.ts","../../../../libs/angular/common/src/pipes/bytes/bytes.pipe.ts","../../../../libs/angular/common/src/pipes/decimal-bytes/decimal-bytes.pipe.ts","../../../../libs/angular/common/src/pipes/digits/digits.pipe.ts","../../../../libs/angular/common/src/pipes/truncate/truncate.pipe.ts","../../../../libs/angular/common/src/services/router-path.service.ts","../../../../libs/angular/common/src/services/icon.service.ts","../../../../libs/angular/common/src/common.module.ts","../../../../libs/angular/common/src/animations/rotate/rotate.animation.ts","../../../../libs/angular/common/src/animations/collapse/collapse.animation.ts","../../../../libs/angular/common/src/animations/fade/fadeInOut.animation.ts","../../../../libs/angular/common/src/animations/bounce/bounce.animation.ts","../../../../libs/angular/common/src/animations/flash/flash.animation.ts","../../../../libs/angular/common/src/animations/headshake/headshake.animation.ts","../../../../libs/angular/common/src/animations/jello/jello.animation.ts","../../../../libs/angular/common/src/animations/pulse/pulse.animation.ts","../../../../libs/angular/common/src/behaviors/control-value-accesor.mixin.ts","../../../../libs/angular/common/src/behaviors/disabled.mixin.ts","../../../../libs/angular/common/src/behaviors/disable-ripple.mixin.ts","../../../../libs/angular/common/src/forms/validators/validators.ts","../../../../libs/angular/common/src/functions/clipboard.ts","../../../../libs/angular/common/src/functions/convert.ts","../../../../libs/angular/common/src/functions/download.ts","../../../../libs/angular/common/src/functions/file.ts","../../../../libs/angular/common/src/covalent-core-common.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { HostListener, Host, Optional } from '@angular/core';\nimport { NgModel } from '@angular/forms';\n\n@Directive({\n selector: '[tdAutoTrim]',\n})\nexport class TdAutoTrimDirective {\n constructor(@Optional() @Host() private _model: NgModel) {}\n\n /**\n * Listens to host's (blur) event and trims value.\n */\n @HostListener('blur', ['$event'])\n onBlur(event: Event): void {\n if (\n this._model &&\n this._model.value &&\n typeof this._model.value === 'string'\n ) {\n this._model.update.emit(this._model.value.trim());\n }\n }\n}\n","import { Directive, HostListener, ElementRef, Inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\ninterface IFsDocument extends HTMLDocument {\n fullscreenElement: Element;\n webkitFullscreenElement: Element;\n mozFullscreenElement: Element;\n msFullscreenElement: Element;\n webkitExitFullscreen: () => void;\n mozCancelFullScreen: () => void;\n msExitFullscreen: () => void;\n}\n\n@Directive({\n selector: '[tdFullScreen]',\n exportAs: 'tdFullScreen',\n})\nexport class TdFullscreenDirective {\n fullScreenIsActive = false;\n constructor(\n @Inject(DOCUMENT) private _document: IFsDocument,\n private _el: ElementRef\n ) {}\n\n @HostListener('document:fullscreenchange', ['$event'])\n @HostListener('document:webkitfullscreenchange', ['$event'])\n @HostListener('document:mozfullscreenchange', ['$event'])\n @HostListener('document:msfullscreenchange', ['$event'])\n public fsChangeHandler(event: Event): void {\n this.fullScreenIsActive = event.srcElement === this._getFullScreenElement();\n }\n\n public toggleFullScreen(): void {\n this._getFullScreenElement() === this._el.nativeElement\n ? this.exitFullScreen()\n : this.enterFullScreen();\n }\n\n public enterFullScreen(): void {\n const {\n _el: { nativeElement },\n }: TdFullscreenDirective = this;\n const enterFullScreenMap: { [key: string]: () => void } = {\n requestFullscreen: () => nativeElement.requestFullscreen(), // Chrome\n webkitRequestFullscreen: () => nativeElement.webkitRequestFullscreen(), // Safari\n mozRequestFullScreen: () => nativeElement.mozRequestFullScreen(), // Firefox\n msRequestFullscreen: () => nativeElement.msRequestFullscreen(), // IE\n };\n\n for (const handler of Object.keys(enterFullScreenMap)) {\n if (nativeElement[handler]) {\n enterFullScreenMap[handler]();\n }\n }\n }\n\n public exitFullScreen(): void {\n const exitFullScreenMap: { [key: string]: () => void } = {\n exitFullscreen: () => this._document.exitFullscreen(), // Chrome\n webkitExitFullscreen: () => this._document.webkitExitFullscreen(), // Safari\n mozCancelFullScreen: () => this._document.mozCancelFullScreen(), // Firefox\n msExitFullscreen: () => this._document.msExitFullscreen(), // IE\n };\n\n for (const handler of Object.keys(exitFullScreenMap)) {\n if (\n exitFullScreenMap[handler] &&\n this._getFullScreenElement() === this._el.nativeElement\n ) {\n exitFullScreenMap[handler]();\n }\n }\n }\n\n private _getFullScreenElement(): Element | undefined {\n const tdFullScreenElementMap: { [key: string]: () => Element } = {\n fullscreenElement: () => this._document.fullscreenElement, // Chrome, Opera\n webkitFullscreenElement: () => this._document.webkitFullscreenElement, // Safari\n mozFullscreenElement: () => this._document.mozFullscreenElement, // Firefox\n msFullscreenElement: () => this._document.msFullscreenElement, // IE, Edge\n };\n for (const props of Object.keys(tdFullScreenElementMap)) {\n if (tdFullScreenElementMap[props]) {\n return tdFullScreenElementMap[props]();\n }\n }\n return undefined;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'timeAgo',\n})\nexport class TdTimeAgoPipe implements PipeTransform {\n transform(time: any, reference?: any): string {\n // Convert time to date object if not already\n time = new Date(time);\n const ref: Date = new Date(reference);\n\n // If not a valid timestamp, return 'Invalid Date'\n if (!time.getTime()) {\n return 'Invalid Date';\n }\n\n // For unit testing, we need to be able to declare a static start time\n // for calculations, or else speed of tests can bork.\n const startTime: number = isNaN(ref.getTime()) ? Date.now() : ref.getTime();\n let diff: number = Math.floor((startTime - time.getTime()) / 1000);\n\n if (diff < 2) {\n return '1 second ago';\n }\n if (diff < 60) {\n return Math.floor(diff) + ' seconds ago';\n }\n // Minutes\n diff = diff / 60;\n if (diff < 2) {\n return '1 minute ago';\n }\n if (diff < 60) {\n return Math.floor(diff) + ' minutes ago';\n }\n // Hours\n diff = diff / 60;\n if (diff < 2) {\n return '1 hour ago';\n }\n if (diff < 24) {\n return Math.floor(diff) + ' hours ago';\n }\n // Days\n diff = diff / 24;\n if (diff < 2) {\n return '1 day ago';\n }\n if (diff < 30) {\n return Math.floor(diff) + ' days ago';\n }\n // Months\n diff = diff / 30;\n if (diff < 2) {\n return '1 month ago';\n }\n if (diff < 12) {\n return Math.floor(diff) + ' months ago';\n }\n // Years\n diff = diff / 12;\n if (diff < 2) {\n return '1 year ago';\n } else {\n return Math.floor(diff) + ' years ago';\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'timeDifference',\n})\nexport class TdTimeDifferencePipe implements PipeTransform {\n transform(start: any, end?: any): string {\n const startTime: Date = new Date(start);\n let endTime: Date;\n\n if (end !== undefined) {\n endTime = new Date(end);\n } else {\n endTime = new Date();\n }\n\n if (!startTime.getTime() || !endTime.getTime()) {\n return 'Invalid Date';\n }\n\n let diff: number = Math.floor(\n (endTime.getTime() - startTime.getTime()) / 1000\n );\n\n const days: number = Math.floor(diff / (60 * 60 * 24));\n diff = diff - days * (60 * 60 * 24);\n\n const hours: number = Math.floor(diff / (60 * 60));\n diff = diff - hours * (60 * 60);\n\n const minutes: number = Math.floor(diff / 60);\n diff -= minutes * 60;\n\n const seconds: number = diff;\n\n const pad = '00';\n\n let daysFormatted = '';\n\n if (days > 0 && days < 2) {\n daysFormatted = ' day - ';\n } else if (days > 1) {\n daysFormatted = ' days - ';\n }\n\n return (\n (days > 0 ? days + daysFormatted : daysFormatted) +\n pad.substring(0, pad.length - (hours + '').length) +\n hours +\n ':' +\n pad.substring(0, pad.length - (minutes + '').length) +\n minutes +\n ':' +\n pad.substring(0, pad.length - (seconds + '').length) +\n seconds\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'timeUntil',\n})\nexport class TdTimeUntilPipe implements PipeTransform {\n transform(time: any, reference?: any): string {\n // Convert time to date object if not already\n time = new Date(time);\n const ref: Date = new Date(reference);\n\n // If not a valid timestamp, return 'Invalid Date'\n if (!time.getTime()) {\n return 'Invalid Date';\n }\n\n // For unit testing, we need to be able to declare a static start time\n // for calculations, or else speed of tests can bork.\n const startTime: number = isNaN(ref.getTime()) ? Date.now() : ref.getTime();\n let diff: number = Math.floor((time.getTime() - startTime) / 1000);\n\n if (diff < 2) {\n return 'in 1 second';\n }\n if (diff < 60) {\n return 'in ' + Math.floor(diff) + ' seconds';\n }\n // Minutes\n diff = diff / 60;\n if (diff < 2) {\n return 'in 1 minute';\n }\n if (diff < 60) {\n return 'in ' + Math.floor(diff) + ' minutes';\n }\n // Hours\n diff = diff / 60;\n if (diff < 2) {\n return 'in 1 hour';\n }\n if (diff < 24) {\n return 'in ' + Math.floor(diff) + ' hours';\n }\n // Days\n diff = diff / 24;\n if (diff < 2) {\n return 'in 1 day';\n }\n if (diff < 30) {\n return 'in ' + Math.floor(diff) + ' days';\n }\n // Months\n diff = diff / 30;\n if (diff < 2) {\n return 'in 1 month';\n }\n if (diff < 12) {\n return 'in ' + Math.floor(diff) + ' months';\n }\n // Years\n diff = diff / 12;\n if (diff < 2) {\n return 'in 1 year';\n } else {\n return 'in ' + Math.floor(diff) + ' years';\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'bytes',\n})\nexport class TdBytesPipe implements PipeTransform {\n /* `bytes` needs to be `any` or TypeScript complains\n Tried both `number` and `number | string` */\n transform(bytes: any, precision = 2): string {\n if (bytes === 0) {\n return '0 B';\n } else if (isNaN(parseInt(bytes, 10))) {\n /* If not a valid number, return 'Invalid Number' */\n return 'Invalid Number';\n }\n const k = 1024;\n const sizes: string[] = [\n 'B',\n 'KiB',\n 'MiB',\n 'GiB',\n 'TiB',\n 'PiB',\n 'EiB',\n 'ZiB',\n 'YiB',\n ];\n const i: number = Math.floor(Math.log(bytes) / Math.log(k));\n // if less than 1\n if (i < 0) {\n return 'Invalid Number';\n }\n return (\n parseFloat((bytes / Math.pow(k, i)).toFixed(precision)) + ' ' + sizes[i]\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'decimalBytes',\n})\nexport class TdDecimalBytesPipe implements PipeTransform {\n /* `bytes` needs to be `any` or TypeScript complains\n Tried both `number` and `number | string` */\n transform(bytes: any, precision = 2): string {\n if (bytes === 0) {\n return '0 B';\n } else if (isNaN(parseInt(bytes, 10))) {\n /* If not a valid number, return 'Invalid Number' */\n return 'Invalid Number';\n }\n const k = 1000;\n const sizes: string[] = [\n 'B',\n 'KB',\n 'MB',\n 'GB',\n 'TB',\n 'PB',\n 'EB',\n 'ZB',\n 'YB',\n ];\n const i: number = Math.floor(Math.log(bytes) / Math.log(k));\n // if less than 1\n if (i < 0) {\n return 'Invalid Number';\n }\n return (\n parseFloat((bytes / Math.pow(k, i)).toFixed(precision)) + ' ' + sizes[i]\n );\n }\n}\n","import { Pipe, PipeTransform, Inject, LOCALE_ID } from '@angular/core';\nimport { DecimalPipe } from '@angular/common';\n\n@Pipe({\n name: 'digits',\n})\nexport class TdDigitsPipe implements PipeTransform {\n private _decimalPipe: DecimalPipe;\n\n constructor(@Inject(LOCALE_ID) private _locale: string = 'en') {\n this._decimalPipe = new DecimalPipe(this._locale);\n }\n\n /* `digits` needs to be type `digits: any` or TypeScript complains */\n transform(digits: any, precision = 1): string {\n if (digits === 0) {\n return '0';\n } else if (isNaN(parseInt(digits, 10))) {\n /* If not a valid number, return the value */\n return digits;\n } else if (digits < 1) {\n return this._decimalPipe.transform(digits.toFixed(precision)) ?? '';\n }\n const k = 1000;\n const sizes: string[] = ['', 'K', 'M', 'B', 'T', 'Q'];\n const i: number = Math.floor(Math.log(digits) / Math.log(k));\n const size: string = sizes[i];\n return (\n this._decimalPipe.transform(\n parseFloat((digits / Math.pow(k, i)).toFixed(precision))\n ) + (size ? ' ' + size : '')\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'truncate',\n})\nexport class TdTruncatePipe implements PipeTransform {\n transform(text: any, length = 54): string {\n if (typeof text !== 'string') {\n return '';\n }\n\n // Truncate\n let truncated: string = text.substring(0, length);\n\n if (text.length > length) {\n if (truncated.lastIndexOf(' ') > 0) {\n truncated = truncated.trim();\n }\n\n truncated += '…';\n }\n\n return truncated;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router, RoutesRecognized } from '@angular/router';\n\nimport { filter, pairwise } from 'rxjs/operators';\n\n@Injectable()\nexport class RouterPathService {\n private static _previousRoute = '/';\n constructor(private _router: Router) {\n this._router.events\n .pipe(\n filter((e: any) => e instanceof RoutesRecognized),\n pairwise()\n )\n .subscribe((e: any[]) => {\n RouterPathService._previousRoute = e[0].urlAfterRedirects;\n });\n }\n\n /*\n * Utility function to get the route the user previously went to\n * good for use in a \"back button\"\n */\n getPreviousRoute(): string {\n return RouterPathService._previousRoute;\n }\n}\n","/*\n * Copyright (C) 2016-2017 by Teradata Corporation. All rights reserved.\n * TERADATA CORPORATION CONFIDENTIAL AND TRADE SECRET\n */\n\nimport { Injectable } from '@angular/core';\n@Injectable()\nexport class IconService {\n // To update, run this little script on https://material.io/resources/icons/?style=baseline\n // JSON.stringify(\n // Array.from(document.querySelectorAll('icons-library .material-icons.icon-image-preview')).map(\n // ({textContent}) => textContent\n // )\n // );\n private _icons: string[] = [\n '3d_rotation',\n 'accessibility',\n 'accessibility_new',\n 'accessible',\n 'accessible_forward',\n 'account_balance',\n 'account_balance_wallet',\n 'account_box',\n 'account_circle',\n 'add_shopping_cart',\n 'alarm',\n 'alarm_add',\n 'alarm_off',\n 'alarm_on',\n 'all_inbox',\n 'all_out',\n 'android',\n 'announcement',\n 'arrow_right_alt',\n 'aspect_ratio',\n 'assessment',\n 'assignment',\n 'assignment_ind',\n 'assignment_late',\n 'assignment_return',\n 'assignment_returned',\n 'assignment_turned_in',\n 'autorenew',\n 'backup',\n 'book',\n 'bookmark',\n 'bookmark_border',\n 'bookmarks',\n 'bug_report',\n 'build',\n 'cached',\n 'calendar_today',\n 'calendar_view_day',\n 'camera_enhance',\n 'cancel_schedule_send',\n 'card_giftcard',\n 'card_membership',\n 'card_travel',\n 'change_history',\n 'check_circle',\n 'check_circle_outline',\n 'chrome_reader_mode',\n 'class',\n 'code',\n 'commute',\n 'compare_arrows',\n 'contact_support',\n 'contactless',\n 'copyright',\n 'credit_card',\n 'dashboard',\n 'date_range',\n 'delete',\n 'delete_forever',\n 'delete_outline',\n 'description',\n 'dns',\n 'done',\n 'done_all',\n 'done_outline',\n 'donut_large',\n 'donut_small',\n 'drag_indicator',\n 'eco',\n 'eject',\n 'euro_symbol',\n 'event',\n 'event_seat',\n 'exit_to_app',\n 'explore',\n 'explore_off',\n 'extension',\n 'face',\n 'favorite',\n 'favorite_border',\n 'feedback',\n 'find_in_page',\n 'find_replace',\n 'fingerprint',\n 'flight_land',\n 'flight_takeoff',\n 'flip_to_back',\n 'flip_to_front',\n 'g_translate',\n 'gavel',\n 'get_app',\n 'gif',\n 'grade',\n 'group_work',\n 'help',\n 'help_outline',\n 'highlight_off',\n 'history',\n 'home',\n 'horizontal_split',\n 'hourglass_empty',\n 'hourglass_full',\n 'http',\n 'https',\n 'important_devices',\n 'info',\n 'input',\n 'invert_colors',\n 'label',\n 'label_important',\n 'label_off',\n 'language',\n 'launch',\n 'line_style',\n 'line_weight',\n 'list',\n 'lock',\n 'lock_open',\n 'loyalty',\n 'markunread_mailbox',\n 'maximize',\n 'minimize',\n 'motorcycle',\n 'note_add',\n 'offline_bolt',\n 'offline_pin',\n 'opacity',\n 'open_in_browser',\n 'open_in_new',\n 'open_with',\n 'pageview',\n 'pan_tool',\n 'payment',\n 'perm_camera_mic',\n 'perm_contact_calendar',\n 'perm_data_setting',\n 'perm_device_information',\n 'perm_identity',\n 'perm_media',\n 'perm_phone_msg',\n 'perm_scan_wifi',\n 'pets',\n 'picture_in_picture',\n 'picture_in_picture_alt',\n 'play_for_work',\n 'polymer',\n 'power_settings_new',\n 'pregnant_woman',\n 'print',\n 'query_builder',\n 'question_answer',\n 'receipt',\n 'record_voice_over',\n 'redeem',\n 'remove_shopping_cart',\n 'reorder',\n 'report_problem',\n 'restore',\n 'restore_from_trash',\n 'restore_page',\n 'room',\n 'rounded_corner',\n 'rowing',\n 'schedule',\n 'search',\n 'settings_applications',\n 'settings_backup_restore',\n 'settings_bluetooth',\n 'settings_brightness',\n 'settings_cell',\n 'settings_ethernet',\n 'settings_input_antenna',\n 'settings_input_component',\n 'settings_input_composite',\n 'settings_input_hdmi',\n 'settings_input_svideo',\n 'settings_overscan',\n 'settings_phone',\n 'settings_power',\n 'settings_remote',\n 'settings_voice',\n 'shop',\n 'shop_two',\n 'shopping_basket',\n 'shopping_cart',\n 'speaker_notes',\n 'speaker_notes_off',\n 'spellcheck',\n 'stars',\n 'store',\n 'subject',\n 'supervised_user_circle',\n 'supervisor_account',\n 'swap_horiz',\n 'swap_horizontal_circle',\n 'swap_vert',\n 'swap_vertical_circle',\n 'sync_alt',\n 'system_update_alt',\n 'tab',\n 'tab_unselected',\n 'text_rotate_up',\n 'text_rotate_vertical',\n 'text_rotation_angledown',\n 'text_rotation_angleup',\n 'text_rotation_down',\n 'text_rotation_none',\n 'theaters',\n 'thumb_down',\n 'thumb_up',\n 'thumbs_up_down',\n 'timeline',\n 'toc',\n 'today',\n 'toll',\n 'touch_app',\n 'track_changes',\n 'translate',\n 'trending_down',\n 'trending_flat',\n 'trending_up',\n 'turned_in',\n 'turned_in_not',\n 'update',\n 'verified_user',\n 'vertical_split',\n 'view_agenda',\n 'view_array',\n 'view_carousel',\n 'view_column',\n 'view_day',\n 'view_headline',\n 'view_list',\n 'view_module',\n 'view_quilt',\n 'view_stream',\n 'view_week',\n 'visibility',\n 'visibility_off',\n 'voice_over_off',\n 'watch_later',\n 'work',\n 'work_off',\n 'work_outline',\n 'youtube_searched_for',\n 'zoom_in',\n 'zoom_out',\n 'add_alert',\n 'error',\n 'error_outline',\n 'notification_important',\n 'warning',\n '4k',\n 'add_to_queue',\n 'airplay',\n 'album',\n 'art_track',\n 'av_timer',\n 'branding_watermark',\n 'call_to_action',\n 'closed_caption',\n 'control_camera',\n 'equalizer',\n 'explicit',\n 'fast_forward',\n 'fast_rewind',\n 'featured_play_list',\n 'featured_video',\n 'fiber_dvr',\n 'fiber_manual_record',\n 'fiber_new',\n 'fiber_pin',\n 'fiber_smart_record',\n 'forward_10',\n 'forward_30',\n 'forward_5',\n 'games',\n 'hd',\n 'hearing',\n 'high_quality',\n 'library_add',\n 'library_books',\n 'library_music',\n 'loop',\n 'mic',\n 'mic_none',\n 'mic_off',\n 'missed_video_call',\n 'movie',\n 'music_video',\n 'new_releases',\n 'not_interested',\n 'note',\n 'pause',\n 'pause_circle_filled',\n 'pause_circle_outline',\n 'play_arrow',\n 'play_circle_filled',\n 'play_circle_outline',\n 'playlist_add',\n 'playlist_add_check',\n 'playlist_play',\n 'queue',\n 'queue_music',\n 'queue_play_next',\n 'radio',\n 'recent_actors',\n 'remove_from_queue',\n 'repeat',\n 'repeat_one',\n 'replay',\n 'replay_10',\n 'replay_30',\n 'replay_5',\n 'shuffle',\n 'skip_next',\n 'skip_previous',\n 'slow_motion_video',\n 'snooze',\n 'sort_by_alpha',\n 'speed',\n 'stop',\n 'subscriptions',\n 'subtitles',\n 'surround_sound',\n 'video_call',\n 'video_label',\n 'video_library',\n 'videocam',\n 'videocam_off',\n 'volume_down',\n 'volume_mute',\n 'volume_off',\n 'volume_up',\n 'web',\n 'web_asset',\n 'business',\n 'call',\n 'call_end',\n 'call_made',\n 'call_merge',\n 'call_missed',\n 'call_missed_outgoing',\n 'call_received',\n 'call_split',\n 'cancel_presentation',\n 'chat',\n 'chat_bubble',\n 'chat_bubble_outline',\n 'clear_all',\n 'comment',\n 'contact_mail',\n 'contact_phone',\n 'contacts',\n 'desktop_access_disabled',\n 'dialer_sip',\n 'dialpad',\n 'domain_disabled',\n 'duo',\n 'email',\n 'forum',\n 'import_contacts',\n 'import_export',\n 'invert_colors_off',\n 'list_alt',\n 'live_help',\n 'mail_outline',\n 'message',\n 'mobile_screen_share',\n 'no_sim',\n 'pause_presentation',\n 'person_add_disabled',\n 'phone',\n 'phone_disabled',\n 'phone_enabled',\n 'phonelink_erase',\n 'phonelink_lock',\n 'phonelink_ring',\n 'phonelink_setup',\n 'portable_wifi_off',\n 'present_to_all',\n 'print_disabled',\n 'ring_volume',\n 'rss_feed',\n 'screen_share',\n 'sentiment_satisfied_alt',\n 'speaker_phone',\n 'stay_current_landscape',\n 'stay_current_portrait',\n 'stay_primary_landscape',\n 'stay_primary_portrait',\n 'stop_screen_share',\n 'swap_calls',\n 'textsms',\n 'unsubscribe',\n 'voicemail',\n 'vpn_key',\n 'add',\n 'add_box',\n 'add_circle',\n 'add_circle_outline',\n 'amp_stories',\n 'archive',\n 'backspace',\n 'ballot',\n 'block',\n 'clear',\n 'create',\n 'delete_sweep',\n 'drafts',\n 'dynamic_feed',\n 'file_copy',\n 'filter_list',\n 'flag',\n 'font_download',\n 'forward',\n 'gesture',\n 'how_to_reg',\n 'how_to_vote',\n 'inbox',\n 'link',\n 'link_off',\n 'low_priority',\n 'mail',\n 'markunread',\n 'move_to_inbox',\n 'next_week',\n 'outlined_flag',\n 'policy',\n 'redo',\n 'remove',\n 'remove_circle',\n 'remove_circle_outline',\n 'reply',\n 'reply_all',\n 'report',\n 'report_off',\n 'save',\n 'save_alt',\n 'select_all',\n 'send',\n 'sort',\n 'square_foot',\n 'text_format',\n 'unarchive',\n 'undo',\n 'waves',\n 'where_to_vote',\n 'access_alarm',\n 'access_alarms',\n 'access_time',\n 'add_alarm',\n 'add_to_home_screen',\n 'airplanemode_active',\n 'airplanemode_inactive',\n 'battery_alert',\n 'battery_charging_full',\n 'battery_full',\n 'battery_std',\n 'battery_unknown',\n 'bluetooth',\n 'bluetooth_connected',\n 'bluetooth_disabled',\n 'bluetooth_searching',\n 'brightness_auto',\n 'brightness_high',\n 'brightness_low',\n 'brightness_medium',\n 'data_usage',\n 'developer_mode',\n 'devices',\n 'dvr',\n 'gps_fixed',\n 'gps_not_fixed',\n 'gps_off',\n 'graphic_eq',\n 'location_disabled',\n 'location_searching',\n 'mobile_friendly',\n 'mobile_off',\n 'nfc',\n 'screen_lock_landscape',\n 'screen_lock_portrait',\n 'screen_lock_rotation',\n 'screen_rotation',\n 'sd_storage',\n 'settings_system_daydream',\n 'signal_cellular_4_bar',\n 'signal_cellular_alt',\n 'signal_cellular_connected_no_internet_4_bar',\n 'signal_cellular_no_sim',\n 'signal_cellular_null',\n 'signal_cellular_off',\n 'signal_wifi_4_bar',\n 'signal_wifi_4_bar_lock',\n 'signal_wifi_off',\n 'storage',\n 'usb',\n 'wallpaper',\n 'widgets',\n 'wifi_lock',\n 'wifi_tethering',\n 'add_comment',\n 'attach_file',\n 'attach_money',\n 'bar_chart',\n 'border_all',\n 'border_bottom',\n 'border_clear',\n 'border_horizontal',\n 'border_inner',\n 'border_left',\n 'border_outer',\n 'border_right',\n 'border_style',\n 'border_top',\n 'border_vertical',\n 'bubble_chart',\n 'drag_handle',\n 'format_align_center',\n 'format_align_justify',\n 'format_align_left',\n 'format_align_right',\n 'format_bold',\n 'format_clear',\n 'format_color_reset',\n 'format_indent_decrease',\n 'format_indent_increase',\n 'format_italic',\n 'format_line_spacing',\n 'format_list_bulleted',\n 'format_list_numbered',\n 'format_list_numbered_rtl',\n 'format_paint',\n 'format_quote',\n 'format_shapes',\n 'format_size',\n 'format_strikethrough',\n 'format_textdirection_l_to_r',\n 'format_textdirection_r_to_l',\n 'format_underlined',\n 'functions',\n 'height',\n 'highlight',\n 'insert_chart',\n 'insert_chart_outlined',\n 'insert_comment',\n 'insert_drive_file',\n 'insert_emoticon',\n 'insert_invitation',\n 'insert_link',\n 'insert_photo',\n 'linear_scale',\n 'merge_type',\n 'mode_comment',\n 'monetization_on',\n 'money_off',\n 'multiline_chart',\n 'notes',\n 'pie_chart',\n 'post_add',\n 'publish',\n 'scatter_plot',\n 'score',\n 'short_text',\n 'show_chart',\n 'space_bar',\n 'strikethrough_s',\n 'table_chart',\n 'text_fields',\n 'title',\n 'vertical_align_bottom',\n 'vertical_align_center',\n 'vertical_align_top',\n 'wrap_text',\n 'attachment',\n 'cloud',\n 'cloud_circle',\n 'cloud_done',\n 'cloud_download',\n 'cloud_off',\n 'cloud_queue',\n 'cloud_upload',\n 'create_new_folder',\n 'folder',\n 'folder_open',\n 'folder_shared',\n 'cast',\n 'cast_connected',\n 'computer',\n 'desktop_mac',\n 'desktop_windows',\n 'developer_board',\n 'device_hub',\n 'device_unknown',\n 'devices_other',\n 'dock',\n 'gamepad',\n 'headset',\n 'headset_mic',\n 'keyboard',\n 'keyboard_arrow_down',\n 'keyboard_arrow_left',\n 'keyboard_arrow_right',\n 'keyboard_arrow_up',\n 'keyboard_backspace',\n 'keyboard_capslock',\n 'keyboard_hide',\n 'keyboard_return',\n 'keyboard_tab',\n 'keyboard_voice',\n 'laptop',\n 'laptop_chromebook',\n 'laptop_mac',\n 'laptop_windows',\n 'memory',\n 'mouse',\n 'phone_android',\n 'phone_iphone',\n 'phonelink',\n 'phonelink_off',\n 'power_input',\n 'router',\n 'scanner',\n 'security',\n 'sim_card',\n 'smartphone',\n 'speaker',\n 'speaker_group',\n 'tablet',\n 'tablet_android',\n 'tablet_mac',\n 'toys',\n 'tv',\n 'videogame_asset',\n 'watch',\n 'add_a_photo',\n 'add_photo_alternate',\n 'add_to_photos',\n 'adjust',\n 'assistant',\n 'assistant_photo',\n 'audiotrack',\n 'blur_circular',\n 'blur_linear',\n 'blur_off',\n 'blur_on',\n 'brightness_1',\n 'brightness_2',\n 'brightness_3',\n 'brightness_4',\n 'brightness_5',\n 'brightness_6',\n 'brightness_7',\n 'broken_image',\n 'brush',\n 'burst_mode',\n 'camera',\n 'camera_alt',\n 'camera_front',\n 'camera_rear',\n 'camera_roll',\n 'center_focus_strong',\n 'center_focus_weak',\n 'collections',\n 'collections_bookmark',\n 'color_lens',\n 'colorize',\n 'compare',\n 'control_point',\n 'control_point_duplicate',\n 'crop',\n 'crop_16_9',\n 'crop_3_2',\n 'crop_5_4',\n 'crop_7_5',\n 'crop_din',\n 'crop_free',\n 'crop_landscape',\n 'crop_original',\n 'crop_portrait',\n 'crop_rotate',\n 'crop_square',\n 'dehaze',\n 'details',\n 'edit',\n 'euro',\n 'exposure',\n 'exposure_neg_1',\n 'exposure_neg_2',\n 'exposure_plus_1',\n 'exposure_plus_2',\n 'exposure_zero',\n 'filter',\n 'filter_1',\n 'filter_2',\n 'filter_3',\n 'filter_4',\n 'filter_5',\n 'filter_6',\n 'filter_7',\n 'filter_8',\n 'filter_9',\n 'filter_9_plus',\n 'filter_b_and_w',\n 'filter_center_focus',\n 'filter_drama',\n 'filter_frames',\n 'filter_hdr',\n 'filter_none',\n 'filter_tilt_shift',\n 'filter_vintage',\n 'flare',\n 'flash_auto',\n 'flash_off',\n 'flash_on',\n 'flip',\n 'flip_camera_android',\n 'flip_camera_ios',\n 'gradient',\n 'grain',\n 'grid_off',\n 'grid_on',\n 'hdr_off',\n 'hdr_on',\n 'hdr_strong',\n 'hdr_weak',\n 'healing',\n 'image',\n 'image_aspect_ratio',\n 'image_search',\n 'iso',\n 'landscape',\n 'leak_add',\n 'leak_remove',\n 'lens',\n 'linked_camera',\n 'looks',\n 'looks_3',\n 'looks_4',\n 'looks_5',\n 'looks_6',\n 'looks_one',\n 'looks_two',\n 'loupe',\n 'monochrome_photos',\n 'movie_creation',\n 'movie_filter',\n 'music_note',\n 'music_off',\n 'nature',\n 'nature_people',\n 'navigate_before',\n 'navigate_next',\n 'palette',\n 'panorama',\n 'panorama_fish_eye',\n 'panorama_horizontal',\n 'panorama_vertical',\n 'panorama_wide_angle',\n 'photo',\n 'photo_album',\n 'photo_camera',\n 'photo_filter',\n 'photo_library',\n 'photo_size_select_actual',\n 'photo_size_select_large',\n 'photo_size_select_small',\n 'picture_as_pdf',\n 'portrait',\n 'remove_red_eye',\n 'rotate_90_degrees_ccw',\n 'rotate_left',\n 'rotate_right',\n 'shutter_speed',\n 'slideshow',\n 'straighten',\n 'style',\n 'switch_camera',\n 'switch_video',\n 'tag_faces',\n 'texture',\n 'timelapse',\n 'timer',\n 'timer_10',\n 'timer_3',\n 'timer_off',\n 'tonality',\n 'transform',\n 'tune',\n 'view_comfy',\n 'view_compact',\n 'vignette',\n 'wb_auto',\n 'wb_cloudy',\n 'wb_incandescent',\n 'wb_iridescent',\n 'wb_sunny',\n '360',\n 'atm',\n 'beenhere',\n 'category',\n 'compass_calibration',\n 'departure_board',\n 'directions',\n 'directions_bike',\n 'directions_boat',\n 'directions_bus',\n 'directions_car',\n 'directions_railway',\n 'directions_run',\n 'directions_subway',\n 'directions_transit',\n 'directions_walk',\n 'edit_attributes',\n 'ev_station',\n 'fastfood',\n 'flight',\n 'hotel',\n 'layers',\n 'layers_clear',\n 'local_activity',\n 'local_airport',\n 'local_atm',\n 'local_bar',\n 'local_cafe',\n 'local_car_wash',\n 'local_convenience_store',\n 'local_dining',\n 'local_drink',\n 'local_florist',\n 'local_gas_station',\n 'local_grocery_store',\n 'local_hospital',\n 'local_hotel',\n 'local_laundry_service',\n 'local_library',\n 'local_mall',\n 'local_movies',\n 'local_offer',\n 'local_parking',\n 'local_pharmacy',\n 'local_phone',\n 'local_pizza',\n 'local_play',\n 'local_post_office',\n 'local_printshop',\n 'local_see',\n 'local_shipping',\n 'local_taxi',\n 'map',\n 'menu_book',\n 'money',\n 'museum',\n 'my_location',\n 'navigation',\n 'near_me',\n 'person_pin',\n 'rate_review',\n 'restaurant',\n 'restaurant_menu',\n 'satellite',\n 'store_mall_directory',\n 'streetview',\n 'subway',\n 'terrain',\n 'traffic',\n 'train',\n 'tram',\n 'transfer_within_a_station',\n 'transit_enterexit',\n 'trip_origin',\n 'zoom_out_map',\n 'apps',\n 'arrow_back',\n 'arrow_back_ios',\n 'arrow_downward',\n 'arrow_drop_down',\n 'arrow_drop_down_circle',\n 'arrow_drop_up',\n 'arrow_forward',\n 'arrow_forward_ios',\n 'arrow_left',\n 'arrow_right',\n 'arrow_upward',\n 'cancel',\n 'check',\n 'chevron_left',\n 'chevron_right',\n 'close',\n 'double_arrow',\n 'expand_less',\n 'expand_more',\n 'first_page',\n 'fullscreen',\n 'fullscreen_exit',\n 'home_work',\n 'last_page',\n 'menu',\n 'menu_open',\n 'more_horiz',\n 'more_vert',\n 'refresh',\n 'subdirectory_arrow_left',\n 'subdirectory_arrow_right',\n 'unfold_less',\n 'unfold_more',\n 'account_tree',\n 'adb',\n 'airline_seat_flat',\n 'airline_seat_flat_angled',\n 'airline_seat_individual_suite',\n 'airline_seat_legroom_extra',\n 'airline_seat_legroom_normal',\n 'airline_seat_legroom_reduced',\n 'airline_seat_recline_extra',\n 'airline_seat_recline_normal',\n 'bluetooth_audio',\n 'confirmation_number',\n 'disc_full',\n 'drive_eta',\n 'enhanced_encryption',\n 'event_available',\n 'event_busy',\n 'event_note',\n 'folder_special',\n 'live_tv',\n 'mms',\n 'more',\n 'network_check',\n 'network_locked',\n 'no_encryption',\n 'ondemand_video',\n 'personal_video',\n 'phone_bluetooth_speaker',\n 'phone_callback',\n 'phone_forwarded',\n 'phone_in_talk',\n 'phone_locked',\n 'phone_missed',\n 'phone_paused',\n 'power',\n 'power_off',\n 'priority_high',\n 'sd_card',\n 'sms',\n 'sms_failed',\n 'sync',\n 'sync_disabled',\n 'sync_problem',\n 'system_update',\n 'tap_and_play',\n 'time_to_leave',\n 'tv_off',\n 'vibration',\n 'voice_chat',\n 'vpn_lock',\n 'wc',\n 'wifi',\n 'wifi_off',\n 'ac_unit',\n 'airport_shuttle',\n 'all_inclusive',\n 'apartment',\n 'bathtub',\n 'beach_access',\n 'business_center',\n 'casino',\n 'child_care',\n 'child_friendly',\n 'fitness_center',\n 'free_breakfast',\n 'golf_course',\n 'hot_tub',\n 'house',\n 'kitchen',\n 'meeting_room',\n 'no_meeting_room',\n 'pool',\n 'room_service',\n 'rv_hookup',\n 'smoke_free',\n 'smoking_rooms',\n 'spa',\n 'storefront',\n 'cake',\n 'deck',\n 'emoji_emotions',\n 'emoji_events',\n 'emoji_flags',\n 'emoji_food_beverage',\n 'emoji_nature',\n 'emoji_objects',\n 'emoji_people',\n 'emoji_symbols',\n 'emoji_transportation',\n 'fireplace',\n 'group',\n 'group_add',\n 'king_bed',\n 'location_city',\n 'mood',\n 'mood_bad',\n 'nights_stay',\n 'notifications',\n 'notifications_active',\n 'notifications_none',\n 'notifications_off',\n 'notifications_paused',\n 'outdoor_grill',\n 'pages',\n 'party_mode',\n 'people',\n 'people_alt',\n 'people_outline',\n 'person',\n 'person_add',\n 'person_outline',\n 'plus_one',\n 'poll',\n 'public',\n 'school',\n 'sentiment_dissatisfied',\n 'sentiment_satisfied',\n 'sentiment_very_dissatisfied',\n 'sentiment_very_satisfied',\n 'share',\n 'single_bed',\n 'sports',\n 'sports_baseball',\n 'sports_basketball',\n 'sports_cricket',\n 'sports_esports',\n 'sports_football',\n 'sports_golf',\n 'sports_handball',\n 'sports_hockey',\n 'sports_kabaddi',\n 'sports_mma',\n 'sports_motorsports',\n 'sports_rugby',\n 'sports_soccer',\n 'sports_tennis',\n 'sports_volleyball',\n 'thumb_down_alt',\n 'thumb_up_alt',\n 'whatshot',\n 'check_box',\n 'check_box_outline_blank',\n 'indeterminate_check_box',\n 'radio_button_checked',\n 'radio_button_unchecked',\n 'star',\n 'star_border',\n 'star_half',\n 'toggle_off',\n 'toggle_on',\n ];\n\n get icons(): string[] {\n return this._icons;\n }\n\n filter(query: string): string[] {\n return this.icons.filter((el: string) => {\n return el.toLowerCase().indexOf(query ? query.toLowerCase() : '') > -1;\n });\n }\n}\n","import { Type } from '@angular/core';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MAT_ICON_DEFAULT_OPTIONS } from '@angular/material/icon';\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\n\n/**\n * Directives\n */\nimport { TdAutoTrimDirective } from './forms/auto-trim/auto-trim.directive';\nimport { TdFullscreenDirective } from './directives/fullscreen/fullscreen.directive';\n\nconst TD_DIRECTIVES: Type<any>[] = [TdAutoTrimDirective, TdFullscreenDirective];\n\n// Validators\nconst TD_VALIDATORS: Type<any>[] = [];\n\n/**\n * PIPES\n */\nimport { TdTimeAgoPipe } from './pipes/time-ago/time-ago.pipe';\nimport { TdTimeDifferencePipe } from './pipes/time-difference/time-difference.pipe';\nimport { TdTimeUntilPipe } from './pipes/time-until/time-until.pipe';\nimport { TdBytesPipe } from './pipes/bytes/bytes.pipe';\nimport { TdDecimalBytesPipe } from './pipes/decimal-bytes/decimal-bytes.pipe';\nimport { TdDigitsPipe } from './pipes/digits/digits.pipe';\nimport { TdTruncatePipe } from './pipes/truncate/truncate.pipe';\n\nconst TD_PIPES: Type<any>[] = [\n TdTimeAgoPipe,\n TdTimeDifferencePipe,\n TdTimeUntilPipe,\n TdBytesPipe,\n TdDecimalBytesPipe,\n TdDigitsPipe,\n TdTruncatePipe,\n];\n\nconst TD_DEFAULT_ICON_OPTIONS = {\n provide: MAT_ICON_DEFAULT_OPTIONS,\n useValue: { fontSet: 'material-symbols-outlined' },\n};\n\nconst TD_DEFAULT_FORM_FIELD_OPTIONS = {\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\n useValue: { appearance: 'outline' },\n};\n\n/**\n * Services\n */\n\nimport { RouterPathService } from './services/router-path.service';\nimport { IconService } from './services/icon.service';\n\n@NgModule({\n imports: [FormsModule, CommonModule],\n declarations: [TD_DIRECTIVES, TD_PIPES, TD_VALIDATORS],\n exports: [FormsModule, CommonModule, TD_DIRECTIVES, TD_PIPES, TD_VALIDATORS],\n providers: [\n RouterPathService,\n IconService,\n TD_DEFAULT_ICON_OPTIONS,\n TD_DEFAULT_FORM_FIELD_OPTIONS,\n ],\n})\nexport class CovalentCommonModule {}\n","import {\n trigger,\n state,\n style,\n transition,\n animate,\n AnimationTriggerMetadata,\n query,\n animateChild,\n group,\n} from '@angular/animations';\n\nimport { IAnimationOptions } from '../common/interfaces';\n\nexport interface IRotateAnimation extends IAnimationOptions {\n degrees?: number;\n ease?: string;\n}\n\n/**\n * const tdRotateAnimation\n *\n * Parameter Options:\n * * degressStart: Degrees of rotation that the dom object will end up in during the \"false\" state\n * * degreesEnd: Degrees of rotation that the dom object will end up in during the \"true\" state\n * * duration: Duration the animation will run in milliseconds. Defaults to 150 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerates and decelerates. Defaults to ease-in.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a rotation animation.\n *\n * usage: [@tdRotate]=\"{ value: true | false, params: { degreesEnd: 90 }}\"\n */\n\nexport const tdRotateAnimation: AnimationTriggerMetadata = trigger('tdRotate', [\n state(\n '0',\n style({\n transform: 'rotate({{ degressStart }}deg)',\n }),\n { params: { degressStart: 0 } }\n ),\n state(\n '1',\n style({\n transform: 'rotate({{ degreesEnd }}deg)',\n }),\n { params: { degreesEnd: 180 } }\n ),\n transition(\n '0 <=> 1',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate('{{ duration }}ms {{ delay }}ms {{ ease }}'),\n ]),\n ],\n { params: { duration: 250, delay: '0', ease: 'ease-in' } }\n ),\n]);\n","import {\n trigger,\n state,\n style,\n transition,\n animate,\n AnimationTriggerMetadata,\n AUTO_STYLE,\n query,\n animateChild,\n group,\n} from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\nexport interface ICollapseAnimation extends IAnimationOptions {\n easeOnClose?: string;\n easeOnOpen?: string;\n}\n\n/**\n * const tdCollapseAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 150 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * easeOnClose: Animation accelerates and decelerates when closing. Defaults to ease-in.\n * * easeOnOpen: Animation accelerates and decelerates when opening. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a collapse/expand animation.\n *\n * usage: [@tdCollapse]=\"{ value: true | false, params: { duration: 500 }}\"\n */\nexport const tdCollapseAnimation: AnimationTriggerMetadata = trigger(\n 'tdCollapse',\n [\n state(\n '1',\n style({\n height: '0',\n overflow: 'hidden',\n })\n ),\n state(\n '0',\n style({\n height: AUTO_STYLE,\n overflow: AUTO_STYLE,\n })\n ),\n transition(\n '0 => 1',\n [\n style({\n overflow: 'hidden',\n height: AUTO_STYLE,\n }),\n group([\n query('@*', animateChild(), { optional: true }),\n animate(\n '{{ duration }}ms {{ delay }}ms {{ ease }}',\n style({\n height: '0',\n overflow: 'hidden',\n })\n ),\n ]),\n ],\n { params: { duration: 150, delay: '0', ease: 'ease-in' } }\n ),\n transition(\n '1 => 0',\n [\n style({\n height: '0',\n overflow: 'hidden',\n }),\n group([\n query('@*', animateChild(), { optional: true }),\n animate(\n '{{ duration }}ms {{ delay }}ms {{ ease }}',\n style({\n overflow: 'hidden',\n height: AUTO_STYLE,\n })\n ),\n ]),\n ],\n { params: { duration: 150, delay: '0', ease: 'ease-out' } }\n ),\n ]\n);\n","import {\n trigger,\n state,\n style,\n transition,\n animate,\n AnimationTriggerMetadata,\n AUTO_STYLE,\n query,\n animateChild,\n group,\n} from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\nexport interface IFadeInOutAnimation extends IAnimationOptions {\n easeOnIn?: string;\n easeOnOut?: string;\n}\n\n/**\n * const tdFadeInOutAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 150 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * easeOnIn: Animation accelerates and decelerates when fading in. Defaults to ease-in.\n * * easeOnOut: Animation accelerates and decelerates when fading out. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a fade animation.\n *\n * usage: [@tdFadeInOut]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdFadeInOutAnimation: AnimationTriggerMetadata = trigger(\n 'tdFadeInOut',\n [\n state(\n '0',\n style({\n opacity: '0',\n visibility: 'hidden',\n })\n ),\n state(\n '1',\n style({\n opacity: AUTO_STYLE,\n visibility: AUTO_STYLE,\n })\n ),\n transition(\n '0 => 1',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate('{{ duration }}ms {{ delay }}ms {{ easeOnIn }}'),\n ]),\n ],\n { params: { duration: 150, delay: '0', easeOnIn: 'ease-in' } }\n ),\n transition(\n '1 => 0',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate('{{ duration }}ms {{ delay }}ms {{ easeOnOut }}'),\n ]),\n ],\n { params: { duration: 150, delay: '0', easeOnOut: 'ease-out' } }\n ),\n ]\n);\n","import {\n trigger,\n state,\n style,\n keyframes,\n transition,\n animate,\n AnimationTriggerMetadata,\n query,\n animateChild,\n group,\n} from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\n/**\n * const tdBounceAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerate and decelerate style. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a bounce animation.\n *\n * usage: [@tdBounce]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdBounceAnimation: AnimationTriggerMetadata = trigger('tdBounce', [\n state(\n '0',\n style({\n transform: 'translate3d(0, 0, 0)',\n })\n ),\n state(\n '1',\n style({\n transform: 'translate3d(0, 0, 0)',\n })\n ),\n transition(\n '0 <=> 1',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate(\n '{{ duration }}ms {{ delay }}ms {{ ease }}',\n keyframes([\n style({\n animationTimingFunction:\n 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n transform: 'translate3d(0, 0, 0)',\n offset: 0,\n }),\n style({\n animationTimingFunction:\n 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n transform: 'translate3d(0, 0, 0)',\n offset: 0.2,\n }),\n style({\n animationTimingFunction:\n 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n transform: 'translate3d(0, -30px, 0)',\n offset: 0.4,\n }),\n style({\n animationTimingFunction:\n 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n transform: 'translate3d(0, -30px, 0)',\n offset: 0.43,\n }),\n style({\n animationTimingFunction:\n 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n transform: 'translate3d(0, 0, 0)',\n offset: 0.53,\n }),\n style({\n animationTimingFunction:\n 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n transform: 'translate3d(0, -15px, 0)',\n offset: 0.7,\n }),\n style({\n animationTimingFunction:\n 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n transform: 'translate3d(0, 0, 0)',\n offset: 0.8,\n }),\n style({ transform: 'translate3d(0, -4px, 0)', offset: 0.9 }),\n style({\n animationTimingFunction:\n 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n transform: 'translate3d(0, 0, 0)',\n offset: 1.0,\n }),\n ])\n ),\n ]),\n ],\n { params: { duration: 500, delay: '0', ease: 'ease-out' } }\n ),\n]);\n","import {\n trigger,\n state,\n style,\n keyframes,\n transition,\n animate,\n AnimationTriggerMetadata,\n AUTO_STYLE,\n query,\n animateChild,\n group,\n} from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\n/**\n * const tdFlashAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerate and decelerate style. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a flash animation.\n *\n * usage: [@tdFlash]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdFlashAnimation: AnimationTriggerMetadata = trigger('tdFlash', [\n state(\n '0',\n style({\n opacity: 1,\n })\n ),\n state(\n '1',\n style({\n opacity: 1,\n })\n ),\n transition(\n '0 <=> 1',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate(\n '{{ duration }}ms {{ delay }}ms {{ ease }}',\n keyframes([\n style({ opacity: 1, offset: 0 }),\n style({ opacity: 0, offset: 0.25 }),\n style({ opacity: 1, offset: 0.5 }),\n style({ opacity: 0, offset: 0.75 }),\n style({ opacity: 1, offset: 1.0 }),\n ])\n ),\n ]),\n ],\n { params: { duration: 500, delay: '0', ease: 'ease-out' } }\n ),\n]);\n","import {\n trigger,\n state,\n style,\n keyframes,\n transition,\n animate,\n AnimationTriggerMetadata,\n AUTO_STYLE,\n query,\n animateChild,\n group,\n} from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\n/**\n * const tdHeadshakeAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerate and decelerate style. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a headshake animation.\n *\n * usage: [@tdHeadshake]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdHeadshakeAnimation: AnimationTriggerMetadata = trigger(\n 'tdHeadshake',\n [\n state(\n '0',\n style({\n transform: 'translateX(0)',\n })\n ),\n state(\n '1',\n style({\n transform: 'translateX(0)',\n })\n ),\n transition(\n '0 <=> 1',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate(\n '{{ duration }}ms {{ delay }}ms {{ ease }}',\n keyframes([\n style({ transform: 'translateX(0)', offset: 0 }),\n style({\n transform: 'translateX(-6px) rotateY(-9deg)',\n offset: 0.065,\n }),\n style({\n transform: 'translateX(5px) rotateY(7deg)',\n offset: 0.185,\n }),\n style({\n transform: 'translateX(-3px) rotateY(-5deg)',\n offset: 0.315,\n }),\n style({\n transform: 'translateX(2px) rotateY(3deg)',\n offset: 0.435,\n }),\n style({ transform: 'translateX(0)', offset: 0.5 }),\n ])\n ),\n ]),\n ],\n { params: { duration: 500, delay: '0', ease: 'ease-out' } }\n ),\n ]\n);\n","import {\n trigger,\n state,\n style,\n keyframes,\n transition,\n animate,\n AnimationTriggerMetadata,\n AUTO_STYLE,\n query,\n animateChild,\n group,\n} from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\n/**\n * const tdJelloAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerate and decelerate style. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a jello animation.\n *\n * usage: [@tdJello]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdJelloAnimation: AnimationTriggerMetadata = trigger('tdJello', [\n state(\n '0',\n style({\n transform: 'none',\n })\n ),\n state(\n '1',\n style({\n transform: 'none',\n })\n ),\n transition(\n '0 <=> 1',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate(\n '{{ duration }}ms {{ delay }}ms {{ ease }}',\n keyframes([\n style({ transform: 'none', offset: 0 }),\n style({ transform: 'none', offset: 0.011 }),\n style({\n transform: 'skewX(-12.5deg) skewY(-12.5deg)',\n offset: 0.222,\n }),\n style({\n transform: 'skewX(6.25deg) skewY(6.25deg)',\n offset: 0.333,\n }),\n style({\n transform: 'skewX(-3.125deg) skewY(-3.125deg)',\n offset: 0.444,\n }),\n style({\n transform: 'skewX(1.5625deg) skewY(1.5625deg)',\n offset: 0.555,\n }),\n style({\n transform: 'skewX(-0.78125deg) skewY(-0.78125deg)',\n offset: 0.666,\n }),\n style({\n transform: 'skewX(0.390625deg) skewY(0.390625deg)',\n offset: 0.777,\n }),\n style({\n transform: 'skewX(-0.1953125deg) skewY(-0.1953125deg)',\n offset: 0.888,\n }),\n ])\n ),\n ]),\n ],\n { params: { duration: 500, delay: '0', ease: 'ease-out' } }\n ),\n]);\n","import {\n trigger,\n state,\n style,\n keyframes,\n transition,\n animate,\n AnimationTriggerMetadata,\n AUTO_STYLE,\n query,\n animateChild,\n group,\n} from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\n/**\n * const tdPulseAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerate and decelerate style. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a pulse animation.\n *\n * usage: [@tdPulse]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdPulseAnimation: AnimationTriggerMetadata = trigger('tdPulse', [\n state(\n '0',\n style({\n transform: 'scale3d(1, 1, 1)',\n })\n ),\n state(\n '1',\n style({\n transform: 'scale3d(1, 1, 1)',\n })\n ),\n transition(\n '0 <=> 1',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate(\n '{{ duration }}ms {{ delay }}ms {{ ease }}',\n keyframes([\n style({ transform: 'scale3d(1, 1, 1)', offset: 0 }),\n style({ transform: 'scale3d(1.05, 1.05, 1.05)', offset: 0.5 }),\n style({ transform: 'scale3d(1, 1, 1)', offset: 1.0 }),\n ])\n ),\n ]),\n ],\n { params: { duration: 500, delay: '0', ease: 'ease-out' } }\n ),\n]);\n","import { ChangeDetectorRef } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\n\nimport { Observable, Subject } from 'rxjs';\n\ntype Constructor<T> = new (...args: any[]) => T;\n\nconst noop: any = () => {\n // empty method\n};\n\nexport interface IControlValueAccessor extends ControlValueAccessor {\n value: any;\n valueChanges: Observable<any>;\n onChange: (_: any) => any;\n onTouched: () => any;\n}\n\nexport interface IHasChangeDetectorRef {\n _changeDetectorRef: ChangeDetectorRef;\n}\n\n/** Mixin to augment a component with ngModel support. */\nexport function mixinControlValueAccessor<\n T extends Constructor<IHasChangeDetectorRef>\n>(base: T, initialValue?: any): Constructor<IControlValueAccessor> & T {\n return class extends base {\n private _value: any =\n initialValue instanceof Array\n ? Object.assign([], initialValue)\n : initialValue;\n private _subjectValueChanges: Subject<any>;\n valueChanges: Observable<any>;\n\n constructor(...args: any[]) {\n super(...args);\n this._subjectValueChanges = new Subject<any>();\n this.valueChanges = this._subjectValueChanges.asObservable();\n }\n\n set value(v: any) {\n if (v !== this._value) {\n this._value = v;\n this.onChange(v);\n this._changeDetectorRef.markForCheck();\n this._subjectValueChanges.next(v);\n }\n }\n get value(): any {\n return this._value;\n }\n\n writeValue(value: any): void {\n this.value = value;\n this._changeDetectorRef.markForCheck();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onChange = (_: any) => noop;\n onTouched = () => noop;\n };\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\n\ntype Constructor<T> = new (...args: any[]) => T;\n\n/** Interface to implement when applying the disabled mixin */\nexport interface ICanDisable {\n disabled: boolean;\n onDisabledChange(v: boolean): void;\n}\n\n/** Mixin to augment a component or directive with a `disabled` property. */\nexport function mixinDisabled<T extends Constructor<any>>(\n base: T\n): Constructor<ICanDisable> & T {\n return class extends base {\n private _disabled = false;\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n const newValue: boolean = coerceBooleanProperty(value);\n if (this._disabled !== newValue) {\n this._disabled = newValue;\n this.onDisabledChange(this._disabled);\n }\n }\n\n onDisabledChange(v: boolean): void {\n /** NOT IMPLEMENTED, this needs to be overriden by subclasses if needed */\n }\n };\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\n\ntype Constructor<T> = new (...args: any[]) => T;\n\n/** Interface to implement when applying the disabled mixin */\nexport interface ICanDisableRipple {\n disableRipple: boolean;\n onDisableRippleChange(v: boolean): void;\n}\n\n/** Mixin to augment a component or directive with a `disabled` property. */\nexport function mixinDisableRipple<\n T extends Constructor<Record<string, unknown>>\n>(base: T): Constructor<ICanDisableRipple> & T {\n return class extends base {\n private _disableRipple = false;\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n get disableRipple(): boolean {\n return this._disableRipple;\n }\n set disableRipple(value: boolean) {\n const newValue: boolean = coerceBooleanProperty(value);\n if (this._disableRipple !== newValue) {\n this._disableRipple = newValue;\n this.onDisableRippleChange(this._disableRipple);\n }\n }\n\n onDisableRippleChange(v: boolean): void {\n /** NOT IMPLEMENTED, this needs to be overriden by subclasses if needed */\n }\n };\n}\n","import { Validators, AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport class CovalentValidators {\n static min(minValue: any): ValidatorFn {\n // tslint:disable-next-line:prefer-immediate-return\n const func: ValidatorFn = (c: AbstractControl): { [key: string]: any } => {\n if (!!Validators.required(c) || (!minValue && minValue !== 0)) {\n return {};\n }\n const v: number = c.value;\n return v < minValue ? { min: { minValue, actualValue: v } } : {};\n };\n return func;\n }\n\n static max(maxValue: any): ValidatorFn {\n // tslint:disable-next-line:prefer-immediate-return\n const func: ValidatorFn = (c: AbstractControl): { [key: string]: any } => {\n if (!!Validators.required(c) || (!maxValue && maxValue !== 0)) {\n return {};\n }\n const v: number = c.value;\n return v > maxValue ? { max: { maxValue, actualValue: v } } : {};\n };\n return func;\n }\n\n static numberRequired(c: AbstractControl): { [key: string]: any } {\n return Number.isNaN(c.value) ? { required: true } : {};\n }\n}\n","/**\n * Assign a text value to the system clipboard. Note: Due to browser\n * security restrictions, the copy will only succeed if this method\n * is invoked as a result of a user action (eg. user button click).\n *\n * @param value text value to be assigned to clipboard.\n * @returns boolean indicating success/failure of copy operation.\n */\nexport function copyToClipboard(value: string): boolean {\n // Create a temporary textarea element and append to DOM\n const fakeTextArea: HTMLTextAreaElement = document.createElement('textarea');\n document.body.appendChild(fakeTextArea);\n\n // Assign value to be copied to clipboard\n fakeTextArea.value = value;\n fakeTextArea.select();\n\n // Copy to clipboard\n const success: boolean = document.execCommand('copy');\n\n // Remove temporary textarea\n document.body.removeChild(fakeTextArea);\n\n // Return boolean indicating if exec command succeeded\n return success;\n}\n","/**\n * Conversion function that takes an array of objects and converts\n * them to CSV format. Custom key and line separators can be specified.\n *\n * @param objects list of strings in JSON format or actual objects\n * @param keySeparator optional parameter to specify custom value separator\n * @param lineSeparator optional parameter to specify custom end of line separator\n * @returns CSV formatted string\n */\nexport function convertObjectsToCSV(\n objects: any[],\n keySeparator = ',',\n lineSeparator = '\\r\\n'\n): string {\n if (!objects) {\n return '';\n }\n\n let outputString = '';\n\n // Iterate through array, creating one output line per object\n objects.forEach((value: object, key: number) => {\n let line = '';\n for (const index of Object.keys(objects[key])) {\n if (line !== '') {\n line += keySeparator;\n }\n if (objects[key][index] === null || objects[key][index] === undefined) {\n objects[key][index] = '';\n }\n line += objects[key][index];\n }\n outputString += `${line}${lineSeparator}`;\n });\n\n // Append header row identifying keys into output\n if (objects[0]) {\n const headers: string = Object.keys(objects[0]).join(keySeparator);\n outputString = `${headers}${lineSeparator}${outputString}`;\n }\n\n return outputString;\n}\n\n/**\n * Conversion function that takes a CSV representation\n * of objects and converts them to JSON.\n * The first row in the input must be the object keys.\n * Custom key separator and line separator can be specified.\n * Indentation size for output JSON can be specified.\n *\n * @param csv list of strings in JSON format or actual objects\n * @param keySeparator optional parameter to specify custom value separator\n * @param lineSeparator optional parameter to specify custom end of line separator\n * @param indent optional parameter indicating space indentation for pretty output. Default is 2.\n * @returns JSON formatted string\n */\nexport function convertCSVToJSON(\n csv: string,\n keySeparator = ',',\n lineSeparator = '\\r\\n',\n indent = 2\n): string {\n if (!csv) {\n return '';\n }\n\n const csvArray: string[] = csv.split(lineSeparator);\n // Input CSV must have a minimum of two rows\n if (csvArray.length < 2) {\n return '';\n }\n\n const newObjects: any[] = [];\n\n // Extract object keys from header row\n const keys: string[] = csvArray[0].split(keySeparator);\n // Iterate through array, creating one output line per object\n for (let i = 1; i < csvArray.length; i++) {\n const newObject: any = {};\n\n const values: string[] = csvArray[i].split(keySeparator);\n if (values.length !== keys.length) {\n continue;\n }\n for (let j = 0; j < keys.length; j++) {\n newObject[keys[j]] = values[j];\n }\n newObjects.push(newObject);\n }\n\n return formatJSON(newObjects, indent);\n}\n\n/**\n * Convert object to JSON using stringify. Indentation size for output JSON can be specified.\n *\n * @param json object to be converted\n * @param indent optional parameter indicating space indentation for pretty output. Default is 2.\n */\nexport function formatJSON(json: object, indent = 2): string {\n return JSON.stringify(json, undefined, indent);\n}\n","import { convertObjectsToCSV, formatJSON } from './convert';\n\n/**\n * Download CSV content to the specified file with .csv extension\n * appended to the provided base file name.\n *\n * @param fileBaseName base name of destination file\n * @param csv CSV contents\n */\nexport function downloadCSV(fileBaseName: string, csv: string): void {\n downloadFile(`${fileBaseName}.csv`, csv, 'text/csv');\n}\n\n/**\n * Download JSON content to the specified file with .json extension\n * appended to the provided base file name.\n *\n * @param fileBaseName base name of destination file\n * @param json JSON contents\n * @param format indicates if JSON should be prettied\n * @param indent optional parameter indicating space indentation for pretty output. Default is 2\n */\nexport function downloadJSON(\n fileBaseName: string,\n json: string,\n format = false,\n indent = 2\n): void {\n downloadFile(\n `${fileBaseName}.json`,\n format ? formatJSON(JSON.parse(json), indent) : json,\n 'application/json'\n );\n}\n\n/**\n * Convert objects to CSV format and download to file with .csv\n * extension appended to the provided base file name. Custom key\n * separator and line separator can be specified.\n *\n * @param fileBaseName base name of destination file\n * @param objects object array to be converted to CSV format\n * prior to writing to download destination\n * @param keySeparator optional parameter to specify custom value separator\n * @param lineSeparator optional parameter to specify custom end of line separator\n */\nexport function downloadObjectsToCSV(\n fileBaseName: string,\n objects: any[],\n keySeparator = ',',\n lineSeparator = '\\r\\n'\n): void {\n downloadFile(\n `${fileBaseName}.csv`,\n convertObjectsToCSV(objects, keySeparator, lineSeparator),\n 'text/csv'\n );\n}\n\n/**\n * Convert objects to JSON format and download to file with .json\n * extension appended to the provided base file name.\n *\n * @param fileBaseName base name of destination file\n * @param objects object array to be converted to JSON format\n * prior to writing to download destination\n * @param indent optional parameter indicating space indentation for pretty output. Default is 2\n */\nexport function downloadObjectsToJSON(\n fileBaseName: string,\n objects: any[],\n indent = 2\n): void {\n downloadFile(\n `${fileBaseName}.json`,\n formatJSON(objects, indent),\n 'application/json'\n );\n}\n\n/**\n * Download string content to the specified file with desired mime type.\n *\n * @param fileName full filename (including appropriate extension) of destination file\n * @param contents string contents to be written to download destination\n * @param mimeType mime type appropriate to file content to support consumption of destination file\n */\nexport function downloadFile(\n fileName: string,\n contents: string,\n mimeType = 'text/plain'\n): void {\n if (!fileName || !contents) {\n return;\n }\n\n // Create blob object and assign URL\n const blob: Blob = new Blob([contents], { type: mimeType });\n const url: string = window.URL.createObjectURL(blob);\n\n // Construct anchor for URL, append to DOM, click and cleanup.\n const a: HTMLAnchorElement = document.createElement('a');\n a.setAttribute('style', 'display: none');\n a.setAttribute('download', fileName);\n a.href = url;\n document.body.appendChild(a);\n a.click();\n window.URL.revokeObjectURL(url);\n document.body.removeChild(a);\n window.URL.revokeObjectURL(url);\n}\n","/**\n * Read file as UTF-8 text. Return string contents on read completion.\n *\n * @param file filename or File object\n * @returns promise that resolves to file content string\n */\nexport function readFile(file: File): Promise<string> {\n return new Promise<string>((resolve: (value: string) => void) => {\n const reader: FileReader = new FileReader();\n reader.readAsText(file, 'UTF-8');\n reader.onload = () => {\n resolve(<string>reader.result);\n };\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"covalent-core-common.mjs","sources":["../../../../libs/angular/common/src/forms/auto-trim/auto-trim.directive.ts","../../../../libs/angular/common/src/directives/fullscreen/fullscreen.directive.ts","../../../../libs/angular/common/src/pipes/time-ago/time-ago.pipe.ts","../../../../libs/angular/common/src/pipes/time-difference/time-difference.pipe.ts","../../../../libs/angular/common/src/pipes/time-until/time-until.pipe.ts","../../../../libs/angular/common/src/pipes/bytes/bytes.pipe.ts","../../../../libs/angular/common/src/pipes/decimal-bytes/decimal-bytes.pipe.ts","../../../../libs/angular/common/src/pipes/digits/digits.pipe.ts","../../../../libs/angular/common/src/pipes/truncate/truncate.pipe.ts","../../../../libs/angular/common/src/services/router-path.service.ts","../../../../libs/angular/common/src/services/icon.service.ts","../../../../libs/angular/common/src/common.module.ts","../../../../libs/angular/common/src/animations/rotate/rotate.animation.ts","../../../../libs/angular/common/src/animations/collapse/collapse.animation.ts","../../../../libs/angular/common/src/animations/fade/fadeInOut.animation.ts","../../../../libs/angular/common/src/animations/bounce/bounce.animation.ts","../../../../libs/angular/common/src/animations/flash/flash.animation.ts","../../../../libs/angular/common/src/animations/headshake/headshake.animation.ts","../../../../libs/angular/common/src/animations/jello/jello.animation.ts","../../../../libs/angular/common/src/animations/pulse/pulse.animation.ts","../../../../libs/angular/common/src/behaviors/control-value-accesor.mixin.ts","../../../../libs/angular/common/src/behaviors/disabled.mixin.ts","../../../../libs/angular/common/src/behaviors/disable-ripple.mixin.ts","../../../../libs/angular/common/src/forms/validators/validators.ts","../../../../libs/angular/common/src/functions/clipboard.ts","../../../../libs/angular/common/src/functions/convert.ts","../../../../libs/angular/common/src/functions/download.ts","../../../../libs/angular/common/src/functions/file.ts","../../../../libs/angular/common/src/covalent-core-common.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { HostListener, Host, Optional } from '@angular/core';\nimport { NgModel } from '@angular/forms';\n\n@Directive({\n selector: '[tdAutoTrim]',\n})\nexport class TdAutoTrimDirective {\n constructor(@Optional() @Host() private _model: NgModel) {}\n\n /**\n * Listens to host's (blur) event and trims value.\n */\n @HostListener('blur', ['$event'])\n onBlur(event: Event): void {\n if (\n this._model &&\n this._model.value &&\n typeof this._model.value === 'string'\n ) {\n this._model.update.emit(this._model.value.trim());\n }\n }\n}\n","import { Directive, HostListener, ElementRef, Inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\ninterface IFsDocument extends HTMLDocument {\n fullscreenElement: Element;\n webkitFullscreenElement: Element;\n mozFullscreenElement: Element;\n msFullscreenElement: Element;\n webkitExitFullscreen: () => void;\n mozCancelFullScreen: () => void;\n msExitFullscreen: () => void;\n}\n\n@Directive({\n selector: '[tdFullScreen]',\n exportAs: 'tdFullScreen',\n})\nexport class TdFullscreenDirective {\n fullScreenIsActive = false;\n constructor(\n @Inject(DOCUMENT) private _document: IFsDocument,\n private _el: ElementRef\n ) {}\n\n @HostListener('document:fullscreenchange', ['$event'])\n @HostListener('document:webkitfullscreenchange', ['$event'])\n @HostListener('document:mozfullscreenchange', ['$event'])\n @HostListener('document:msfullscreenchange', ['$event'])\n public fsChangeHandler(event: Event): void {\n this.fullScreenIsActive = event.srcElement === this._getFullScreenElement();\n }\n\n public toggleFullScreen(): void {\n this._getFullScreenElement() === this._el.nativeElement\n ? this.exitFullScreen()\n : this.enterFullScreen();\n }\n\n public enterFullScreen(): void {\n const {\n _el: { nativeElement },\n }: TdFullscreenDirective = this;\n const enterFullScreenMap: { [key: string]: () => void } = {\n requestFullscreen: () => nativeElement.requestFullscreen(), // Chrome\n webkitRequestFullscreen: () => nativeElement.webkitRequestFullscreen(), // Safari\n mozRequestFullScreen: () => nativeElement.mozRequestFullScreen(), // Firefox\n msRequestFullscreen: () => nativeElement.msRequestFullscreen(), // IE\n };\n\n for (const handler of Object.keys(enterFullScreenMap)) {\n if (nativeElement[handler]) {\n enterFullScreenMap[handler]();\n }\n }\n }\n\n public exitFullScreen(): void {\n const exitFullScreenMap: { [key: string]: () => void } = {\n exitFullscreen: () => this._document.exitFullscreen(), // Chrome\n webkitExitFullscreen: () => this._document.webkitExitFullscreen(), // Safari\n mozCancelFullScreen: () => this._document.mozCancelFullScreen(), // Firefox\n msExitFullscreen: () => this._document.msExitFullscreen(), // IE\n };\n\n for (const handler of Object.keys(exitFullScreenMap)) {\n if (\n exitFullScreenMap[handler] &&\n this._getFullScreenElement() === this._el.nativeElement\n ) {\n exitFullScreenMap[handler]();\n }\n }\n }\n\n private _getFullScreenElement(): Element | undefined {\n const tdFullScreenElementMap: { [key: string]: () => Element } = {\n fullscreenElement: () => this._document.fullscreenElement, // Chrome, Opera\n webkitFullscreenElement: () => this._document.webkitFullscreenElement, // Safari\n mozFullscreenElement: () => this._document.mozFullscreenElement, // Firefox\n msFullscreenElement: () => this._document.msFullscreenElement, // IE, Edge\n };\n for (const props of Object.keys(tdFullScreenElementMap)) {\n if (tdFullScreenElementMap[props]) {\n return tdFullScreenElementMap[props]();\n }\n }\n return undefined;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'timeAgo',\n})\nexport class TdTimeAgoPipe implements PipeTransform {\n transform(time: any, reference?: any): string {\n // Convert time to date object if not already\n time = new Date(time);\n const ref: Date = new Date(reference);\n\n // If not a valid timestamp, return 'Invalid Date'\n if (!time.getTime()) {\n return 'Invalid Date';\n }\n\n // For unit testing, we need to be able to declare a static start time\n // for calculations, or else speed of tests can bork.\n const startTime: number = isNaN(ref.getTime()) ? Date.now() : ref.getTime();\n let diff: number = Math.floor((startTime - time.getTime()) / 1000);\n\n if (diff < 2) {\n return '1 second ago';\n }\n if (diff < 60) {\n return Math.floor(diff) + ' seconds ago';\n }\n // Minutes\n diff = diff / 60;\n if (diff < 2) {\n return '1 minute ago';\n }\n if (diff < 60) {\n return Math.floor(diff) + ' minutes ago';\n }\n // Hours\n diff = diff / 60;\n if (diff < 2) {\n return '1 hour ago';\n }\n if (diff < 24) {\n return Math.floor(diff) + ' hours ago';\n }\n // Days\n diff = diff / 24;\n if (diff < 2) {\n return '1 day ago';\n }\n if (diff < 30) {\n return Math.floor(diff) + ' days ago';\n }\n // Months\n diff = diff / 30;\n if (diff < 2) {\n return '1 month ago';\n }\n if (diff < 12) {\n return Math.floor(diff) + ' months ago';\n }\n // Years\n diff = diff / 12;\n if (diff < 2) {\n return '1 year ago';\n } else {\n return Math.floor(diff) + ' years ago';\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'timeDifference',\n})\nexport class TdTimeDifferencePipe implements PipeTransform {\n transform(start: any, end?: any): string {\n const startTime: Date = new Date(start);\n let endTime: Date;\n\n if (end !== undefined) {\n endTime = new Date(end);\n } else {\n endTime = new Date();\n }\n\n if (!startTime.getTime() || !endTime.getTime()) {\n return 'Invalid Date';\n }\n\n let diff: number = Math.floor(\n (endTime.getTime() - startTime.getTime()) / 1000\n );\n\n const days: number = Math.floor(diff / (60 * 60 * 24));\n diff = diff - days * (60 * 60 * 24);\n\n const hours: number = Math.floor(diff / (60 * 60));\n diff = diff - hours * (60 * 60);\n\n const minutes: number = Math.floor(diff / 60);\n diff -= minutes * 60;\n\n const seconds: number = diff;\n\n const pad = '00';\n\n let daysFormatted = '';\n\n if (days > 0 && days < 2) {\n daysFormatted = ' day - ';\n } else if (days > 1) {\n daysFormatted = ' days - ';\n }\n\n return (\n (days > 0 ? days + daysFormatted : daysFormatted) +\n pad.substring(0, pad.length - (hours + '').length) +\n hours +\n ':' +\n pad.substring(0, pad.length - (minutes + '').length) +\n minutes +\n ':' +\n pad.substring(0, pad.length - (seconds + '').length) +\n seconds\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'timeUntil',\n})\nexport class TdTimeUntilPipe implements PipeTransform {\n transform(time: any, reference?: any): string {\n // Convert time to date object if not already\n time = new Date(time);\n const ref: Date = new Date(reference);\n\n // If not a valid timestamp, return 'Invalid Date'\n if (!time.getTime()) {\n return 'Invalid Date';\n }\n\n // For unit testing, we need to be able to declare a static start time\n // for calculations, or else speed of tests can bork.\n const startTime: number = isNaN(ref.getTime()) ? Date.now() : ref.getTime();\n let diff: number = Math.floor((time.getTime() - startTime) / 1000);\n\n if (diff < 2) {\n return 'in 1 second';\n }\n if (diff < 60) {\n return 'in ' + Math.floor(diff) + ' seconds';\n }\n // Minutes\n diff = diff / 60;\n if (diff < 2) {\n return 'in 1 minute';\n }\n if (diff < 60) {\n return 'in ' + Math.floor(diff) + ' minutes';\n }\n // Hours\n diff = diff / 60;\n if (diff < 2) {\n return 'in 1 hour';\n }\n if (diff < 24) {\n return 'in ' + Math.floor(diff) + ' hours';\n }\n // Days\n diff = diff / 24;\n if (diff < 2) {\n return 'in 1 day';\n }\n if (diff < 30) {\n return 'in ' + Math.floor(diff) + ' days';\n }\n // Months\n diff = diff / 30;\n if (diff < 2) {\n return 'in 1 month';\n }\n if (diff < 12) {\n return 'in ' + Math.floor(diff) + ' months';\n }\n // Years\n diff = diff / 12;\n if (diff < 2) {\n return 'in 1 year';\n } else {\n return 'in ' + Math.floor(diff) + ' years';\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'bytes',\n})\nexport class TdBytesPipe implements PipeTransform {\n /* `bytes` needs to be `any` or TypeScript complains\n Tried both `number` and `number | string` */\n transform(bytes: any, precision = 2): string {\n if (bytes === 0) {\n return '0 B';\n } else if (isNaN(parseInt(bytes, 10))) {\n /* If not a valid number, return 'Invalid Number' */\n return 'Invalid Number';\n }\n const k = 1024;\n const sizes: string[] = [\n 'B',\n 'KiB',\n 'MiB',\n 'GiB',\n 'TiB',\n 'PiB',\n 'EiB',\n 'ZiB',\n 'YiB',\n ];\n const i: number = Math.floor(Math.log(bytes) / Math.log(k));\n // if less than 1\n if (i < 0) {\n return 'Invalid Number';\n }\n return (\n parseFloat((bytes / Math.pow(k, i)).toFixed(precision)) + ' ' + sizes[i]\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'decimalBytes',\n})\nexport class TdDecimalBytesPipe implements PipeTransform {\n /* `bytes` needs to be `any` or TypeScript complains\n Tried both `number` and `number | string` */\n transform(bytes: any, precision = 2): string {\n if (bytes === 0) {\n return '0 B';\n } else if (isNaN(parseInt(bytes, 10))) {\n /* If not a valid number, return 'Invalid Number' */\n return 'Invalid Number';\n }\n const k = 1000;\n const sizes: string[] = [\n 'B',\n 'KB',\n 'MB',\n 'GB',\n 'TB',\n 'PB',\n 'EB',\n 'ZB',\n 'YB',\n ];\n const i: number = Math.floor(Math.log(bytes) / Math.log(k));\n // if less than 1\n if (i < 0) {\n return 'Invalid Number';\n }\n return (\n parseFloat((bytes / Math.pow(k, i)).toFixed(precision)) + ' ' + sizes[i]\n );\n }\n}\n","import { Pipe, PipeTransform, Inject, LOCALE_ID } from '@angular/core';\nimport { DecimalPipe } from '@angular/common';\n\n@Pipe({\n name: 'digits',\n})\nexport class TdDigitsPipe implements PipeTransform {\n private _decimalPipe: DecimalPipe;\n\n constructor(@Inject(LOCALE_ID) private _locale = 'en') {\n this._decimalPipe = new DecimalPipe(this._locale);\n }\n\n /* `digits` needs to be type `digits: any` or TypeScript complains */\n transform(digits: any, precision = 1): string {\n if (digits === 0) {\n return '0';\n } else if (isNaN(parseInt(digits, 10))) {\n /* If not a valid number, return the value */\n return digits;\n } else if (digits < 1) {\n return this._decimalPipe.transform(digits.toFixed(precision)) ?? '';\n }\n const k = 1000;\n const sizes: string[] = ['', 'K', 'M', 'B', 'T', 'Q'];\n const i: number = Math.floor(Math.log(digits) / Math.log(k));\n const size: string = sizes[i];\n return (\n this._decimalPipe.transform(\n parseFloat((digits / Math.pow(k, i)).toFixed(precision))\n ) + (size ? ' ' + size : '')\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'truncate',\n})\nexport class TdTruncatePipe implements PipeTransform {\n transform(text: any, length = 54): string {\n if (typeof text !== 'string') {\n return '';\n }\n\n // Truncate\n let truncated: string = text.substring(0, length);\n\n if (text.length > length) {\n if (truncated.lastIndexOf(' ') > 0) {\n truncated = truncated.trim();\n }\n\n truncated += '…';\n }\n\n return truncated;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router, RoutesRecognized } from '@angular/router';\n\nimport { filter, pairwise } from 'rxjs/operators';\n\n@Injectable()\nexport class RouterPathService {\n private static _previousRoute = '/';\n constructor(private _router: Router) {\n this._router.events\n .pipe(\n filter((e: any) => e instanceof RoutesRecognized),\n pairwise()\n )\n .subscribe((e: any[]) => {\n RouterPathService._previousRoute = e[0].urlAfterRedirects;\n });\n }\n\n /*\n * Utility function to get the route the user previously went to\n * good for use in a \"back button\"\n */\n getPreviousRoute(): string {\n return RouterPathService._previousRoute;\n }\n}\n","/*\n * Copyright (C) 2016-2017 by Teradata Corporation. All rights reserved.\n * TERADATA CORPORATION CONFIDENTIAL AND TRADE SECRET\n */\n\nimport { Injectable } from '@angular/core';\n@Injectable()\nexport class IconService {\n // To update, run this little script on https://material.io/resources/icons/?style=baseline\n // JSON.stringify(\n // Array.from(document.querySelectorAll('icons-library .material-icons.icon-image-preview')).map(\n // ({textContent}) => textContent\n // )\n // );\n private _icons: string[] = [\n '3d_rotation',\n 'accessibility',\n 'accessibility_new',\n 'accessible',\n 'accessible_forward',\n 'account_balance',\n 'account_balance_wallet',\n 'account_box',\n 'account_circle',\n 'add_shopping_cart',\n 'alarm',\n 'alarm_add',\n 'alarm_off',\n 'alarm_on',\n 'all_inbox',\n 'all_out',\n 'android',\n 'announcement',\n 'arrow_right_alt',\n 'aspect_ratio',\n 'assessment',\n 'assignment',\n 'assignment_ind',\n 'assignment_late',\n 'assignment_return',\n 'assignment_returned',\n 'assignment_turned_in',\n 'autorenew',\n 'backup',\n 'book',\n 'bookmark',\n 'bookmark_border',\n 'bookmarks',\n 'bug_report',\n 'build',\n 'cached',\n 'calendar_today',\n 'calendar_view_day',\n 'camera_enhance',\n 'cancel_schedule_send',\n 'card_giftcard',\n 'card_membership',\n 'card_travel',\n 'change_history',\n 'check_circle',\n 'check_circle_outline',\n 'chrome_reader_mode',\n 'class',\n 'code',\n 'commute',\n 'compare_arrows',\n 'contact_support',\n 'contactless',\n 'copyright',\n 'credit_card',\n 'dashboard',\n 'date_range',\n 'delete',\n 'delete_forever',\n 'delete_outline',\n 'description',\n 'dns',\n 'done',\n 'done_all',\n 'done_outline',\n 'donut_large',\n 'donut_small',\n 'drag_indicator',\n 'eco',\n 'eject',\n 'euro_symbol',\n 'event',\n 'event_seat',\n 'exit_to_app',\n 'explore',\n 'explore_off',\n 'extension',\n 'face',\n 'favorite',\n 'favorite_border',\n 'feedback',\n 'find_in_page',\n 'find_replace',\n 'fingerprint',\n 'flight_land',\n 'flight_takeoff',\n 'flip_to_back',\n 'flip_to_front',\n 'g_translate',\n 'gavel',\n 'get_app',\n 'gif',\n 'grade',\n 'group_work',\n 'help',\n 'help_outline',\n 'highlight_off',\n 'history',\n 'home',\n 'horizontal_split',\n 'hourglass_empty',\n 'hourglass_full',\n 'http',\n 'https',\n 'important_devices',\n 'info',\n 'input',\n 'invert_colors',\n 'label',\n 'label_important',\n 'label_off',\n 'language',\n 'launch',\n 'line_style',\n 'line_weight',\n 'list',\n 'lock',\n 'lock_open',\n 'loyalty',\n 'markunread_mailbox',\n 'maximize',\n 'minimize',\n 'motorcycle',\n 'note_add',\n 'offline_bolt',\n 'offline_pin',\n 'opacity',\n 'open_in_browser',\n 'open_in_new',\n 'open_with',\n 'pageview',\n 'pan_tool',\n 'payment',\n 'perm_camera_mic',\n 'perm_contact_calendar',\n 'perm_data_setting',\n 'perm_device_information',\n 'perm_identity',\n 'perm_media',\n 'perm_phone_msg',\n 'perm_scan_wifi',\n 'pets',\n 'picture_in_picture',\n 'picture_in_picture_alt',\n 'play_for_work',\n 'polymer',\n 'power_settings_new',\n 'pregnant_woman',\n 'print',\n 'query_builder',\n 'question_answer',\n 'receipt',\n 'record_voice_over',\n 'redeem',\n 'remove_shopping_cart',\n 'reorder',\n 'report_problem',\n 'restore',\n 'restore_from_trash',\n 'restore_page',\n 'room',\n 'rounded_corner',\n 'rowing',\n 'schedule',\n 'search',\n 'settings_applications',\n 'settings_backup_restore',\n 'settings_bluetooth',\n 'settings_brightness',\n 'settings_cell',\n 'settings_ethernet',\n 'settings_input_antenna',\n 'settings_input_component',\n 'settings_input_composite',\n 'settings_input_hdmi',\n 'settings_input_svideo',\n 'settings_overscan',\n 'settings_phone',\n 'settings_power',\n 'settings_remote',\n 'settings_voice',\n 'shop',\n 'shop_two',\n 'shopping_basket',\n 'shopping_cart',\n 'speaker_notes',\n 'speaker_notes_off',\n 'spellcheck',\n 'stars',\n 'store',\n 'subject',\n 'supervised_user_circle',\n 'supervisor_account',\n 'swap_horiz',\n 'swap_horizontal_circle',\n 'swap_vert',\n 'swap_vertical_circle',\n 'sync_alt',\n 'system_update_alt',\n 'tab',\n 'tab_unselected',\n 'text_rotate_up',\n 'text_rotate_vertical',\n 'text_rotation_angledown',\n 'text_rotation_angleup',\n 'text_rotation_down',\n 'text_rotation_none',\n 'theaters',\n 'thumb_down',\n 'thumb_up',\n 'thumbs_up_down',\n 'timeline',\n 'toc',\n 'today',\n 'toll',\n 'touch_app',\n 'track_changes',\n 'translate',\n 'trending_down',\n 'trending_flat',\n 'trending_up',\n 'turned_in',\n 'turned_in_not',\n 'update',\n 'verified_user',\n 'vertical_split',\n 'view_agenda',\n 'view_array',\n 'view_carousel',\n 'view_column',\n 'view_day',\n 'view_headline',\n 'view_list',\n 'view_module',\n 'view_quilt',\n 'view_stream',\n 'view_week',\n 'visibility',\n 'visibility_off',\n 'voice_over_off',\n 'watch_later',\n 'work',\n 'work_off',\n 'work_outline',\n 'youtube_searched_for',\n 'zoom_in',\n 'zoom_out',\n 'add_alert',\n 'error',\n 'error_outline',\n 'notification_important',\n 'warning',\n '4k',\n 'add_to_queue',\n 'airplay',\n 'album',\n 'art_track',\n 'av_timer',\n 'branding_watermark',\n 'call_to_action',\n 'closed_caption',\n 'control_camera',\n 'equalizer',\n 'explicit',\n 'fast_forward',\n 'fast_rewind',\n 'featured_play_list',\n 'featured_video',\n 'fiber_dvr',\n 'fiber_manual_record',\n 'fiber_new',\n 'fiber_pin',\n 'fiber_smart_record',\n 'forward_10',\n 'forward_30',\n 'forward_5',\n 'games',\n 'hd',\n 'hearing',\n 'high_quality',\n 'library_add',\n 'library_books',\n 'library_music',\n 'loop',\n 'mic',\n 'mic_none',\n 'mic_off',\n 'missed_video_call',\n 'movie',\n 'music_video',\n 'new_releases',\n 'not_interested',\n 'note',\n 'pause',\n 'pause_circle_filled',\n 'pause_circle_outline',\n 'play_arrow',\n 'play_circle_filled',\n 'play_circle_outline',\n 'playlist_add',\n 'playlist_add_check',\n 'playlist_play',\n 'queue',\n 'queue_music',\n 'queue_play_next',\n 'radio',\n 'recent_actors',\n 'remove_from_queue',\n 'repeat',\n 'repeat_one',\n 'replay',\n 'replay_10',\n 'replay_30',\n 'replay_5',\n 'shuffle',\n 'skip_next',\n 'skip_previous',\n 'slow_motion_video',\n 'snooze',\n 'sort_by_alpha',\n 'speed',\n 'stop',\n 'subscriptions',\n 'subtitles',\n 'surround_sound',\n 'video_call',\n 'video_label',\n 'video_library',\n 'videocam',\n 'videocam_off',\n 'volume_down',\n 'volume_mute',\n 'volume_off',\n 'volume_up',\n 'web',\n 'web_asset',\n 'business',\n 'call',\n 'call_end',\n 'call_made',\n 'call_merge',\n 'call_missed',\n 'call_missed_outgoing',\n 'call_received',\n 'call_split',\n 'cancel_presentation',\n 'chat',\n 'chat_bubble',\n 'chat_bubble_outline',\n 'clear_all',\n 'comment',\n 'contact_mail',\n 'contact_phone',\n 'contacts',\n 'desktop_access_disabled',\n 'dialer_sip',\n 'dialpad',\n 'domain_disabled',\n 'duo',\n 'email',\n 'forum',\n 'import_contacts',\n 'import_export',\n 'invert_colors_off',\n 'list_alt',\n 'live_help',\n 'mail_outline',\n 'message',\n 'mobile_screen_share',\n 'no_sim',\n 'pause_presentation',\n 'person_add_disabled',\n 'phone',\n 'phone_disabled',\n 'phone_enabled',\n 'phonelink_erase',\n 'phonelink_lock',\n 'phonelink_ring',\n 'phonelink_setup',\n 'portable_wifi_off',\n 'present_to_all',\n 'print_disabled',\n 'ring_volume',\n 'rss_feed',\n 'screen_share',\n 'sentiment_satisfied_alt',\n 'speaker_phone',\n 'stay_current_landscape',\n 'stay_current_portrait',\n 'stay_primary_landscape',\n 'stay_primary_portrait',\n 'stop_screen_share',\n 'swap_calls',\n 'textsms',\n 'unsubscribe',\n 'voicemail',\n 'vpn_key',\n 'add',\n 'add_box',\n 'add_circle',\n 'add_circle_outline',\n 'amp_stories',\n 'archive',\n 'backspace',\n 'ballot',\n 'block',\n 'clear',\n 'create',\n 'delete_sweep',\n 'drafts',\n 'dynamic_feed',\n 'file_copy',\n 'filter_list',\n 'flag',\n 'font_download',\n 'forward',\n 'gesture',\n 'how_to_reg',\n 'how_to_vote',\n 'inbox',\n 'link',\n 'link_off',\n 'low_priority',\n 'mail',\n 'markunread',\n 'move_to_inbox',\n 'next_week',\n 'outlined_flag',\n 'policy',\n 'redo',\n 'remove',\n 'remove_circle',\n 'remove_circle_outline',\n 'reply',\n 'reply_all',\n 'report',\n 'report_off',\n 'save',\n 'save_alt',\n 'select_all',\n 'send',\n 'sort',\n 'square_foot',\n 'text_format',\n 'unarchive',\n 'undo',\n 'waves',\n 'where_to_vote',\n 'access_alarm',\n 'access_alarms',\n 'access_time',\n 'add_alarm',\n 'add_to_home_screen',\n 'airplanemode_active',\n 'airplanemode_inactive',\n 'battery_alert',\n 'battery_charging_full',\n 'battery_full',\n 'battery_std',\n 'battery_unknown',\n 'bluetooth',\n 'bluetooth_connected',\n 'bluetooth_disabled',\n 'bluetooth_searching',\n 'brightness_auto',\n 'brightness_high',\n 'brightness_low',\n 'brightness_medium',\n 'data_usage',\n 'developer_mode',\n 'devices',\n 'dvr',\n 'gps_fixed',\n 'gps_not_fixed',\n 'gps_off',\n 'graphic_eq',\n 'location_disabled',\n 'location_searching',\n 'mobile_friendly',\n 'mobile_off',\n 'nfc',\n 'screen_lock_landscape',\n 'screen_lock_portrait',\n 'screen_lock_rotation',\n 'screen_rotation',\n 'sd_storage',\n 'settings_system_daydream',\n 'signal_cellular_4_bar',\n 'signal_cellular_alt',\n 'signal_cellular_connected_no_internet_4_bar',\n 'signal_cellular_no_sim',\n 'signal_cellular_null',\n 'signal_cellular_off',\n 'signal_wifi_4_bar',\n 'signal_wifi_4_bar_lock',\n 'signal_wifi_off',\n 'storage',\n 'usb',\n 'wallpaper',\n 'widgets',\n 'wifi_lock',\n 'wifi_tethering',\n 'add_comment',\n 'attach_file',\n 'attach_money',\n 'bar_chart',\n 'border_all',\n 'border_bottom',\n 'border_clear',\n 'border_horizontal',\n 'border_inner',\n 'border_left',\n 'border_outer',\n 'border_right',\n 'border_style',\n 'border_top',\n 'border_vertical',\n 'bubble_chart',\n 'drag_handle',\n 'format_align_center',\n 'format_align_justify',\n 'format_align_left',\n 'format_align_right',\n 'format_bold',\n 'format_clear',\n 'format_color_reset',\n 'format_indent_decrease',\n 'format_indent_increase',\n 'format_italic',\n 'format_line_spacing',\n 'format_list_bulleted',\n 'format_list_numbered',\n 'format_list_numbered_rtl',\n 'format_paint',\n 'format_quote',\n 'format_shapes',\n 'format_size',\n 'format_strikethrough',\n 'format_textdirection_l_to_r',\n 'format_textdirection_r_to_l',\n 'format_underlined',\n 'functions',\n 'height',\n 'highlight',\n 'insert_chart',\n 'insert_chart_outlined',\n 'insert_comment',\n 'insert_drive_file',\n 'insert_emoticon',\n 'insert_invitation',\n 'insert_link',\n 'insert_photo',\n 'linear_scale',\n 'merge_type',\n 'mode_comment',\n 'monetization_on',\n 'money_off',\n 'multiline_chart',\n 'notes',\n 'pie_chart',\n 'post_add',\n 'publish',\n 'scatter_plot',\n 'score',\n 'short_text',\n 'show_chart',\n 'space_bar',\n 'strikethrough_s',\n 'table_chart',\n 'text_fields',\n 'title',\n 'vertical_align_bottom',\n 'vertical_align_center',\n 'vertical_align_top',\n 'wrap_text',\n 'attachment',\n 'cloud',\n 'cloud_circle',\n 'cloud_done',\n 'cloud_download',\n 'cloud_off',\n 'cloud_queue',\n 'cloud_upload',\n 'create_new_folder',\n 'folder',\n 'folder_open',\n 'folder_shared',\n 'cast',\n 'cast_connected',\n 'computer',\n 'desktop_mac',\n 'desktop_windows',\n 'developer_board',\n 'device_hub',\n 'device_unknown',\n 'devices_other',\n 'dock',\n 'gamepad',\n 'headset',\n 'headset_mic',\n 'keyboard',\n 'keyboard_arrow_down',\n 'keyboard_arrow_left',\n 'keyboard_arrow_right',\n 'keyboard_arrow_up',\n 'keyboard_backspace',\n 'keyboard_capslock',\n 'keyboard_hide',\n 'keyboard_return',\n 'keyboard_tab',\n 'keyboard_voice',\n 'laptop',\n 'laptop_chromebook',\n 'laptop_mac',\n 'laptop_windows',\n 'memory',\n 'mouse',\n 'phone_android',\n 'phone_iphone',\n 'phonelink',\n 'phonelink_off',\n 'power_input',\n 'router',\n 'scanner',\n 'security',\n 'sim_card',\n 'smartphone',\n 'speaker',\n 'speaker_group',\n 'tablet',\n 'tablet_android',\n 'tablet_mac',\n 'toys',\n 'tv',\n 'videogame_asset',\n 'watch',\n 'add_a_photo',\n 'add_photo_alternate',\n 'add_to_photos',\n 'adjust',\n 'assistant',\n 'assistant_photo',\n 'audiotrack',\n 'blur_circular',\n 'blur_linear',\n 'blur_off',\n 'blur_on',\n 'brightness_1',\n 'brightness_2',\n 'brightness_3',\n 'brightness_4',\n 'brightness_5',\n 'brightness_6',\n 'brightness_7',\n 'broken_image',\n 'brush',\n 'burst_mode',\n 'camera',\n 'camera_alt',\n 'camera_front',\n 'camera_rear',\n 'camera_roll',\n 'center_focus_strong',\n 'center_focus_weak',\n 'collections',\n 'collections_bookmark',\n 'color_lens',\n 'colorize',\n 'compare',\n 'control_point',\n 'control_point_duplicate',\n 'crop',\n 'crop_16_9',\n 'crop_3_2',\n 'crop_5_4',\n 'crop_7_5',\n 'crop_din',\n 'crop_free',\n 'crop_landscape',\n 'crop_original',\n 'crop_portrait',\n 'crop_rotate',\n 'crop_square',\n 'dehaze',\n 'details',\n 'edit',\n 'euro',\n 'exposure',\n 'exposure_neg_1',\n 'exposure_neg_2',\n 'exposure_plus_1',\n 'exposure_plus_2',\n 'exposure_zero',\n 'filter',\n 'filter_1',\n 'filter_2',\n 'filter_3',\n 'filter_4',\n 'filter_5',\n 'filter_6',\n 'filter_7',\n 'filter_8',\n 'filter_9',\n 'filter_9_plus',\n 'filter_b_and_w',\n 'filter_center_focus',\n 'filter_drama',\n 'filter_frames',\n 'filter_hdr',\n 'filter_none',\n 'filter_tilt_shift',\n 'filter_vintage',\n 'flare',\n 'flash_auto',\n 'flash_off',\n 'flash_on',\n 'flip',\n 'flip_camera_android',\n 'flip_camera_ios',\n 'gradient',\n 'grain',\n 'grid_off',\n 'grid_on',\n 'hdr_off',\n 'hdr_on',\n 'hdr_strong',\n 'hdr_weak',\n 'healing',\n 'image',\n 'image_aspect_ratio',\n 'image_search',\n 'iso',\n 'landscape',\n 'leak_add',\n 'leak_remove',\n 'lens',\n 'linked_camera',\n 'looks',\n 'looks_3',\n 'looks_4',\n 'looks_5',\n 'looks_6',\n 'looks_one',\n 'looks_two',\n 'loupe',\n 'monochrome_photos',\n 'movie_creation',\n 'movie_filter',\n 'music_note',\n 'music_off',\n 'nature',\n 'nature_people',\n 'navigate_before',\n 'navigate_next',\n 'palette',\n 'panorama',\n 'panorama_fish_eye',\n 'panorama_horizontal',\n 'panorama_vertical',\n 'panorama_wide_angle',\n 'photo',\n 'photo_album',\n 'photo_camera',\n 'photo_filter',\n 'photo_library',\n 'photo_size_select_actual',\n 'photo_size_select_large',\n 'photo_size_select_small',\n 'picture_as_pdf',\n 'portrait',\n 'remove_red_eye',\n 'rotate_90_degrees_ccw',\n 'rotate_left',\n 'rotate_right',\n 'shutter_speed',\n 'slideshow',\n 'straighten',\n 'style',\n 'switch_camera',\n 'switch_video',\n 'tag_faces',\n 'texture',\n 'timelapse',\n 'timer',\n 'timer_10',\n 'timer_3',\n 'timer_off',\n 'tonality',\n 'transform',\n 'tune',\n 'view_comfy',\n 'view_compact',\n 'vignette',\n 'wb_auto',\n 'wb_cloudy',\n 'wb_incandescent',\n 'wb_iridescent',\n 'wb_sunny',\n '360',\n 'atm',\n 'beenhere',\n 'category',\n 'compass_calibration',\n 'departure_board',\n 'directions',\n 'directions_bike',\n 'directions_boat',\n 'directions_bus',\n 'directions_car',\n 'directions_railway',\n 'directions_run',\n 'directions_subway',\n 'directions_transit',\n 'directions_walk',\n 'edit_attributes',\n 'ev_station',\n 'fastfood',\n 'flight',\n 'hotel',\n 'layers',\n 'layers_clear',\n 'local_activity',\n 'local_airport',\n 'local_atm',\n 'local_bar',\n 'local_cafe',\n 'local_car_wash',\n 'local_convenience_store',\n 'local_dining',\n 'local_drink',\n 'local_florist',\n 'local_gas_station',\n 'local_grocery_store',\n 'local_hospital',\n 'local_hotel',\n 'local_laundry_service',\n 'local_library',\n 'local_mall',\n 'local_movies',\n 'local_offer',\n 'local_parking',\n 'local_pharmacy',\n 'local_phone',\n 'local_pizza',\n 'local_play',\n 'local_post_office',\n 'local_printshop',\n 'local_see',\n 'local_shipping',\n 'local_taxi',\n 'map',\n 'menu_book',\n 'money',\n 'museum',\n 'my_location',\n 'navigation',\n 'near_me',\n 'person_pin',\n 'rate_review',\n 'restaurant',\n 'restaurant_menu',\n 'satellite',\n 'store_mall_directory',\n 'streetview',\n 'subway',\n 'terrain',\n 'traffic',\n 'train',\n 'tram',\n 'transfer_within_a_station',\n 'transit_enterexit',\n 'trip_origin',\n 'zoom_out_map',\n 'apps',\n 'arrow_back',\n 'arrow_back_ios',\n 'arrow_downward',\n 'arrow_drop_down',\n 'arrow_drop_down_circle',\n 'arrow_drop_up',\n 'arrow_forward',\n 'arrow_forward_ios',\n 'arrow_left',\n 'arrow_right',\n 'arrow_upward',\n 'cancel',\n 'check',\n 'chevron_left',\n 'chevron_right',\n 'close',\n 'double_arrow',\n 'expand_less',\n 'expand_more',\n 'first_page',\n 'fullscreen',\n 'fullscreen_exit',\n 'home_work',\n 'last_page',\n 'menu',\n 'menu_open',\n 'more_horiz',\n 'more_vert',\n 'refresh',\n 'subdirectory_arrow_left',\n 'subdirectory_arrow_right',\n 'unfold_less',\n 'unfold_more',\n 'account_tree',\n 'adb',\n 'airline_seat_flat',\n 'airline_seat_flat_angled',\n 'airline_seat_individual_suite',\n 'airline_seat_legroom_extra',\n 'airline_seat_legroom_normal',\n 'airline_seat_legroom_reduced',\n 'airline_seat_recline_extra',\n 'airline_seat_recline_normal',\n 'bluetooth_audio',\n 'confirmation_number',\n 'disc_full',\n 'drive_eta',\n 'enhanced_encryption',\n 'event_available',\n 'event_busy',\n 'event_note',\n 'folder_special',\n 'live_tv',\n 'mms',\n 'more',\n 'network_check',\n 'network_locked',\n 'no_encryption',\n 'ondemand_video',\n 'personal_video',\n 'phone_bluetooth_speaker',\n 'phone_callback',\n 'phone_forwarded',\n 'phone_in_talk',\n 'phone_locked',\n 'phone_missed',\n 'phone_paused',\n 'power',\n 'power_off',\n 'priority_high',\n 'sd_card',\n 'sms',\n 'sms_failed',\n 'sync',\n 'sync_disabled',\n 'sync_problem',\n 'system_update',\n 'tap_and_play',\n 'time_to_leave',\n 'tv_off',\n 'vibration',\n 'voice_chat',\n 'vpn_lock',\n 'wc',\n 'wifi',\n 'wifi_off',\n 'ac_unit',\n 'airport_shuttle',\n 'all_inclusive',\n 'apartment',\n 'bathtub',\n 'beach_access',\n 'business_center',\n 'casino',\n 'child_care',\n 'child_friendly',\n 'fitness_center',\n 'free_breakfast',\n 'golf_course',\n 'hot_tub',\n 'house',\n 'kitchen',\n 'meeting_room',\n 'no_meeting_room',\n 'pool',\n 'room_service',\n 'rv_hookup',\n 'smoke_free',\n 'smoking_rooms',\n 'spa',\n 'storefront',\n 'cake',\n 'deck',\n 'emoji_emotions',\n 'emoji_events',\n 'emoji_flags',\n 'emoji_food_beverage',\n 'emoji_nature',\n 'emoji_objects',\n 'emoji_people',\n 'emoji_symbols',\n 'emoji_transportation',\n 'fireplace',\n 'group',\n 'group_add',\n 'king_bed',\n 'location_city',\n 'mood',\n 'mood_bad',\n 'nights_stay',\n 'notifications',\n 'notifications_active',\n 'notifications_none',\n 'notifications_off',\n 'notifications_paused',\n 'outdoor_grill',\n 'pages',\n 'party_mode',\n 'people',\n 'people_alt',\n 'people_outline',\n 'person',\n 'person_add',\n 'person_outline',\n 'plus_one',\n 'poll',\n 'public',\n 'school',\n 'sentiment_dissatisfied',\n 'sentiment_satisfied',\n 'sentiment_very_dissatisfied',\n 'sentiment_very_satisfied',\n 'share',\n 'single_bed',\n 'sports',\n 'sports_baseball',\n 'sports_basketball',\n 'sports_cricket',\n 'sports_esports',\n 'sports_football',\n 'sports_golf',\n 'sports_handball',\n 'sports_hockey',\n 'sports_kabaddi',\n 'sports_mma',\n 'sports_motorsports',\n 'sports_rugby',\n 'sports_soccer',\n 'sports_tennis',\n 'sports_volleyball',\n 'thumb_down_alt',\n 'thumb_up_alt',\n 'whatshot',\n 'check_box',\n 'check_box_outline_blank',\n 'indeterminate_check_box',\n 'radio_button_checked',\n 'radio_button_unchecked',\n 'star',\n 'star_border',\n 'star_half',\n 'toggle_off',\n 'toggle_on',\n ];\n\n get icons(): string[] {\n return this._icons;\n }\n\n filter(query: string): string[] {\n return this.icons.filter((el: string) => {\n return el.toLowerCase().indexOf(query ? query.toLowerCase() : '') > -1;\n });\n }\n}\n","import { Type } from '@angular/core';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MAT_ICON_DEFAULT_OPTIONS } from '@angular/material/icon';\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\n\n/**\n * Directives\n */\nimport { TdAutoTrimDirective } from './forms/auto-trim/auto-trim.directive';\nimport { TdFullscreenDirective } from './directives/fullscreen/fullscreen.directive';\n\nconst TD_DIRECTIVES: Type<any>[] = [TdAutoTrimDirective, TdFullscreenDirective];\n\n// Validators\nconst TD_VALIDATORS: Type<any>[] = [];\n\n/**\n * PIPES\n */\nimport { TdTimeAgoPipe } from './pipes/time-ago/time-ago.pipe';\nimport { TdTimeDifferencePipe } from './pipes/time-difference/time-difference.pipe';\nimport { TdTimeUntilPipe } from './pipes/time-until/time-until.pipe';\nimport { TdBytesPipe } from './pipes/bytes/bytes.pipe';\nimport { TdDecimalBytesPipe } from './pipes/decimal-bytes/decimal-bytes.pipe';\nimport { TdDigitsPipe } from './pipes/digits/digits.pipe';\nimport { TdTruncatePipe } from './pipes/truncate/truncate.pipe';\n\nconst TD_PIPES: Type<any>[] = [\n TdTimeAgoPipe,\n TdTimeDifferencePipe,\n TdTimeUntilPipe,\n TdBytesPipe,\n TdDecimalBytesPipe,\n TdDigitsPipe,\n TdTruncatePipe,\n];\n\nconst TD_DEFAULT_ICON_OPTIONS = {\n provide: MAT_ICON_DEFAULT_OPTIONS,\n useValue: { fontSet: 'material-symbols-outlined' },\n};\n\nconst TD_DEFAULT_FORM_FIELD_OPTIONS = {\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\n useValue: { appearance: 'outline' },\n};\n\n/**\n * Services\n */\n\nimport { RouterPathService } from './services/router-path.service';\nimport { IconService } from './services/icon.service';\n\n@NgModule({\n imports: [FormsModule, CommonModule],\n declarations: [TD_DIRECTIVES, TD_PIPES, TD_VALIDATORS],\n exports: [FormsModule, CommonModule, TD_DIRECTIVES, TD_PIPES, TD_VALIDATORS],\n providers: [\n RouterPathService,\n IconService,\n TD_DEFAULT_ICON_OPTIONS,\n TD_DEFAULT_FORM_FIELD_OPTIONS,\n ],\n})\nexport class CovalentCommonModule {}\n","import {\n trigger,\n state,\n style,\n transition,\n animate,\n AnimationTriggerMetadata,\n query,\n animateChild,\n group,\n} from '@angular/animations';\n\nimport { IAnimationOptions } from '../common/interfaces';\n\nexport interface IRotateAnimation extends IAnimationOptions {\n degrees?: number;\n ease?: string;\n}\n\n/**\n * const tdRotateAnimation\n *\n * Parameter Options:\n * * degressStart: Degrees of rotation that the dom object will end up in during the \"false\" state\n * * degreesEnd: Degrees of rotation that the dom object will end up in during the \"true\" state\n * * duration: Duration the animation will run in milliseconds. Defaults to 150 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerates and decelerates. Defaults to ease-in.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a rotation animation.\n *\n * usage: [@tdRotate]=\"{ value: true | false, params: { degreesEnd: 90 }}\"\n */\n\nexport const tdRotateAnimation: AnimationTriggerMetadata = trigger('tdRotate', [\n state(\n '0',\n style({\n transform: 'rotate({{ degressStart }}deg)',\n }),\n { params: { degressStart: 0 } }\n ),\n state(\n '1',\n style({\n transform: 'rotate({{ degreesEnd }}deg)',\n }),\n { params: { degreesEnd: 180 } }\n ),\n transition(\n '0 <=> 1',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate('{{ duration }}ms {{ delay }}ms {{ ease }}'),\n ]),\n ],\n { params: { duration: 250, delay: '0', ease: 'ease-in' } }\n ),\n]);\n","import {\n trigger,\n state,\n style,\n transition,\n animate,\n AnimationTriggerMetadata,\n AUTO_STYLE,\n query,\n animateChild,\n group,\n} from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\nexport interface ICollapseAnimation extends IAnimationOptions {\n easeOnClose?: string;\n easeOnOpen?: string;\n}\n\n/**\n * const tdCollapseAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 150 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * easeOnClose: Animation accelerates and decelerates when closing. Defaults to ease-in.\n * * easeOnOpen: Animation accelerates and decelerates when opening. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a collapse/expand animation.\n *\n * usage: [@tdCollapse]=\"{ value: true | false, params: { duration: 500 }}\"\n */\nexport const tdCollapseAnimation: AnimationTriggerMetadata = trigger(\n 'tdCollapse',\n [\n state(\n '1',\n style({\n height: '0',\n overflow: 'hidden',\n })\n ),\n state(\n '0',\n style({\n height: AUTO_STYLE,\n overflow: AUTO_STYLE,\n })\n ),\n transition(\n '0 => 1',\n [\n style({\n overflow: 'hidden',\n height: AUTO_STYLE,\n }),\n group([\n query('@*', animateChild(), { optional: true }),\n animate(\n '{{ duration }}ms {{ delay }}ms {{ ease }}',\n style({\n height: '0',\n overflow: 'hidden',\n })\n ),\n ]),\n ],\n { params: { duration: 150, delay: '0', ease: 'ease-in' } }\n ),\n transition(\n '1 => 0',\n [\n style({\n height: '0',\n overflow: 'hidden',\n }),\n group([\n query('@*', animateChild(), { optional: true }),\n animate(\n '{{ duration }}ms {{ delay }}ms {{ ease }}',\n style({\n overflow: 'hidden',\n height: AUTO_STYLE,\n })\n ),\n ]),\n ],\n { params: { duration: 150, delay: '0', ease: 'ease-out' } }\n ),\n ]\n);\n","import {\n trigger,\n state,\n style,\n transition,\n animate,\n AnimationTriggerMetadata,\n AUTO_STYLE,\n query,\n animateChild,\n group,\n} from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\nexport interface IFadeInOutAnimation extends IAnimationOptions {\n easeOnIn?: string;\n easeOnOut?: string;\n}\n\n/**\n * const tdFadeInOutAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 150 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * easeOnIn: Animation accelerates and decelerates when fading in. Defaults to ease-in.\n * * easeOnOut: Animation accelerates and decelerates when fading out. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a fade animation.\n *\n * usage: [@tdFadeInOut]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdFadeInOutAnimation: AnimationTriggerMetadata = trigger(\n 'tdFadeInOut',\n [\n state(\n '0',\n style({\n opacity: '0',\n visibility: 'hidden',\n })\n ),\n state(\n '1',\n style({\n opacity: AUTO_STYLE,\n visibility: AUTO_STYLE,\n })\n ),\n transition(\n '0 => 1',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate('{{ duration }}ms {{ delay }}ms {{ easeOnIn }}'),\n ]),\n ],\n { params: { duration: 150, delay: '0', easeOnIn: 'ease-in' } }\n ),\n transition(\n '1 => 0',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate('{{ duration }}ms {{ delay }}ms {{ easeOnOut }}'),\n ]),\n ],\n { params: { duration: 150, delay: '0', easeOnOut: 'ease-out' } }\n ),\n ]\n);\n","import {\n trigger,\n state,\n style,\n keyframes,\n transition,\n animate,\n AnimationTriggerMetadata,\n query,\n animateChild,\n group,\n} from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\n/**\n * const tdBounceAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerate and decelerate style. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a bounce animation.\n *\n * usage: [@tdBounce]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdBounceAnimation: AnimationTriggerMetadata = trigger('tdBounce', [\n state(\n '0',\n style({\n transform: 'translate3d(0, 0, 0)',\n })\n ),\n state(\n '1',\n style({\n transform: 'translate3d(0, 0, 0)',\n })\n ),\n transition(\n '0 <=> 1',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate(\n '{{ duration }}ms {{ delay }}ms {{ ease }}',\n keyframes([\n style({\n animationTimingFunction:\n 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n transform: 'translate3d(0, 0, 0)',\n offset: 0,\n }),\n style({\n animationTimingFunction:\n 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n transform: 'translate3d(0, 0, 0)',\n offset: 0.2,\n }),\n style({\n animationTimingFunction:\n 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n transform: 'translate3d(0, -30px, 0)',\n offset: 0.4,\n }),\n style({\n animationTimingFunction:\n 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n transform: 'translate3d(0, -30px, 0)',\n offset: 0.43,\n }),\n style({\n animationTimingFunction:\n 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n transform: 'translate3d(0, 0, 0)',\n offset: 0.53,\n }),\n style({\n animationTimingFunction:\n 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n transform: 'translate3d(0, -15px, 0)',\n offset: 0.7,\n }),\n style({\n animationTimingFunction:\n 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n transform: 'translate3d(0, 0, 0)',\n offset: 0.8,\n }),\n style({ transform: 'translate3d(0, -4px, 0)', offset: 0.9 }),\n style({\n animationTimingFunction:\n 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n transform: 'translate3d(0, 0, 0)',\n offset: 1.0,\n }),\n ])\n ),\n ]),\n ],\n { params: { duration: 500, delay: '0', ease: 'ease-out' } }\n ),\n]);\n","import {\n trigger,\n state,\n style,\n keyframes,\n transition,\n animate,\n AnimationTriggerMetadata,\n AUTO_STYLE,\n query,\n animateChild,\n group,\n} from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\n/**\n * const tdFlashAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerate and decelerate style. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a flash animation.\n *\n * usage: [@tdFlash]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdFlashAnimation: AnimationTriggerMetadata = trigger('tdFlash', [\n state(\n '0',\n style({\n opacity: 1,\n })\n ),\n state(\n '1',\n style({\n opacity: 1,\n })\n ),\n transition(\n '0 <=> 1',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate(\n '{{ duration }}ms {{ delay }}ms {{ ease }}',\n keyframes([\n style({ opacity: 1, offset: 0 }),\n style({ opacity: 0, offset: 0.25 }),\n style({ opacity: 1, offset: 0.5 }),\n style({ opacity: 0, offset: 0.75 }),\n style({ opacity: 1, offset: 1.0 }),\n ])\n ),\n ]),\n ],\n { params: { duration: 500, delay: '0', ease: 'ease-out' } }\n ),\n]);\n","import {\n trigger,\n state,\n style,\n keyframes,\n transition,\n animate,\n AnimationTriggerMetadata,\n AUTO_STYLE,\n query,\n animateChild,\n group,\n} from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\n/**\n * const tdHeadshakeAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerate and decelerate style. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a headshake animation.\n *\n * usage: [@tdHeadshake]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdHeadshakeAnimation: AnimationTriggerMetadata = trigger(\n 'tdHeadshake',\n [\n state(\n '0',\n style({\n transform: 'translateX(0)',\n })\n ),\n state(\n '1',\n style({\n transform: 'translateX(0)',\n })\n ),\n transition(\n '0 <=> 1',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate(\n '{{ duration }}ms {{ delay }}ms {{ ease }}',\n keyframes([\n style({ transform: 'translateX(0)', offset: 0 }),\n style({\n transform: 'translateX(-6px) rotateY(-9deg)',\n offset: 0.065,\n }),\n style({\n transform: 'translateX(5px) rotateY(7deg)',\n offset: 0.185,\n }),\n style({\n transform: 'translateX(-3px) rotateY(-5deg)',\n offset: 0.315,\n }),\n style({\n transform: 'translateX(2px) rotateY(3deg)',\n offset: 0.435,\n }),\n style({ transform: 'translateX(0)', offset: 0.5 }),\n ])\n ),\n ]),\n ],\n { params: { duration: 500, delay: '0', ease: 'ease-out' } }\n ),\n ]\n);\n","import {\n trigger,\n state,\n style,\n keyframes,\n transition,\n animate,\n AnimationTriggerMetadata,\n AUTO_STYLE,\n query,\n animateChild,\n group,\n} from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\n/**\n * const tdJelloAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerate and decelerate style. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a jello animation.\n *\n * usage: [@tdJello]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdJelloAnimation: AnimationTriggerMetadata = trigger('tdJello', [\n state(\n '0',\n style({\n transform: 'none',\n })\n ),\n state(\n '1',\n style({\n transform: 'none',\n })\n ),\n transition(\n '0 <=> 1',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate(\n '{{ duration }}ms {{ delay }}ms {{ ease }}',\n keyframes([\n style({ transform: 'none', offset: 0 }),\n style({ transform: 'none', offset: 0.011 }),\n style({\n transform: 'skewX(-12.5deg) skewY(-12.5deg)',\n offset: 0.222,\n }),\n style({\n transform: 'skewX(6.25deg) skewY(6.25deg)',\n offset: 0.333,\n }),\n style({\n transform: 'skewX(-3.125deg) skewY(-3.125deg)',\n offset: 0.444,\n }),\n style({\n transform: 'skewX(1.5625deg) skewY(1.5625deg)',\n offset: 0.555,\n }),\n style({\n transform: 'skewX(-0.78125deg) skewY(-0.78125deg)',\n offset: 0.666,\n }),\n style({\n transform: 'skewX(0.390625deg) skewY(0.390625deg)',\n offset: 0.777,\n }),\n style({\n transform: 'skewX(-0.1953125deg) skewY(-0.1953125deg)',\n offset: 0.888,\n }),\n ])\n ),\n ]),\n ],\n { params: { duration: 500, delay: '0', ease: 'ease-out' } }\n ),\n]);\n","import {\n trigger,\n state,\n style,\n keyframes,\n transition,\n animate,\n AnimationTriggerMetadata,\n AUTO_STYLE,\n query,\n animateChild,\n group,\n} from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\n/**\n * const tdPulseAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerate and decelerate style. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a pulse animation.\n *\n * usage: [@tdPulse]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdPulseAnimation: AnimationTriggerMetadata = trigger('tdPulse', [\n state(\n '0',\n style({\n transform: 'scale3d(1, 1, 1)',\n })\n ),\n state(\n '1',\n style({\n transform: 'scale3d(1, 1, 1)',\n })\n ),\n transition(\n '0 <=> 1',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate(\n '{{ duration }}ms {{ delay }}ms {{ ease }}',\n keyframes([\n style({ transform: 'scale3d(1, 1, 1)', offset: 0 }),\n style({ transform: 'scale3d(1.05, 1.05, 1.05)', offset: 0.5 }),\n style({ transform: 'scale3d(1, 1, 1)', offset: 1.0 }),\n ])\n ),\n ]),\n ],\n { params: { duration: 500, delay: '0', ease: 'ease-out' } }\n ),\n]);\n","import { ChangeDetectorRef } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\n\nimport { Observable, Subject } from 'rxjs';\n\ntype Constructor<T> = new (...args: any[]) => T;\n\nconst noop: any = () => {\n // empty method\n};\n\nexport interface IControlValueAccessor extends ControlValueAccessor {\n value: any;\n valueChanges: Observable<any>;\n onChange: (_: any) => any;\n onTouched: () => any;\n}\n\nexport interface IHasChangeDetectorRef {\n _changeDetectorRef: ChangeDetectorRef;\n}\n\n/** Mixin to augment a component with ngModel support. */\nexport function mixinControlValueAccessor<\n T extends Constructor<IHasChangeDetectorRef>\n>(base: T, initialValue?: any): Constructor<IControlValueAccessor> & T {\n return class extends base {\n private _value: any =\n initialValue instanceof Array\n ? Object.assign([], initialValue)\n : initialValue;\n private _subjectValueChanges: Subject<any>;\n valueChanges: Observable<any>;\n\n constructor(...args: any[]) {\n super(...args);\n this._subjectValueChanges = new Subject<any>();\n this.valueChanges = this._subjectValueChanges.asObservable();\n }\n\n set value(v: any) {\n if (v !== this._value) {\n this._value = v;\n this.onChange(v);\n this._changeDetectorRef.markForCheck();\n this._subjectValueChanges.next(v);\n }\n }\n get value(): any {\n return this._value;\n }\n\n writeValue(value: any): void {\n this.value = value;\n this._changeDetectorRef.markForCheck();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onChange = (_: any) => noop;\n onTouched = () => noop;\n };\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\n\ntype Constructor<T> = new (...args: any[]) => T;\n\n/** Interface to implement when applying the disabled mixin */\nexport interface ICanDisable {\n disabled: boolean;\n onDisabledChange(v: boolean): void;\n}\n\n/** Mixin to augment a component or directive with a `disabled` property. */\nexport function mixinDisabled<T extends Constructor<any>>(\n base: T\n): Constructor<ICanDisable> & T {\n return class extends base {\n private _disabled = false;\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n const newValue: boolean = coerceBooleanProperty(value);\n if (this._disabled !== newValue) {\n this._disabled = newValue;\n this.onDisabledChange(this._disabled);\n }\n }\n\n onDisabledChange(v: boolean): void {\n /** NOT IMPLEMENTED, this needs to be overriden by subclasses if needed */\n }\n };\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\n\ntype Constructor<T> = new (...args: any[]) => T;\n\n/** Interface to implement when applying the disabled mixin */\nexport interface ICanDisableRipple {\n disableRipple: boolean;\n onDisableRippleChange(v: boolean): void;\n}\n\n/** Mixin to augment a component or directive with a `disabled` property. */\nexport function mixinDisableRipple<\n T extends Constructor<Record<string, unknown>>\n>(base: T): Constructor<ICanDisableRipple> & T {\n return class extends base {\n private _disableRipple = false;\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n get disableRipple(): boolean {\n return this._disableRipple;\n }\n set disableRipple(value: boolean) {\n const newValue: boolean = coerceBooleanProperty(value);\n if (this._disableRipple !== newValue) {\n this._disableRipple = newValue;\n this.onDisableRippleChange(this._disableRipple);\n }\n }\n\n onDisableRippleChange(v: boolean): void {\n /** NOT IMPLEMENTED, this needs to be overriden by subclasses if needed */\n }\n };\n}\n","import { Validators, AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport class CovalentValidators {\n static min(minValue: any): ValidatorFn {\n // tslint:disable-next-line:prefer-immediate-return\n const func: ValidatorFn = (c: AbstractControl): { [key: string]: any } => {\n if (!!Validators.required(c) || (!minValue && minValue !== 0)) {\n return {};\n }\n const v: number = c.value;\n return v < minValue ? { min: { minValue, actualValue: v } } : {};\n };\n return func;\n }\n\n static max(maxValue: any): ValidatorFn {\n // tslint:disable-next-line:prefer-immediate-return\n const func: ValidatorFn = (c: AbstractControl): { [key: string]: any } => {\n if (!!Validators.required(c) || (!maxValue && maxValue !== 0)) {\n return {};\n }\n const v: number = c.value;\n return v > maxValue ? { max: { maxValue, actualValue: v } } : {};\n };\n return func;\n }\n\n static numberRequired(c: AbstractControl): { [key: string]: any } {\n return Number.isNaN(c.value) ? { required: true } : {};\n }\n}\n","/**\n * Assign a text value to the system clipboard. Note: Due to browser\n * security restrictions, the copy will only succeed if this method\n * is invoked as a result of a user action (eg. user button click).\n *\n * @param value text value to be assigned to clipboard.\n * @returns boolean indicating success/failure of copy operation.\n */\nexport function copyToClipboard(value: string): boolean {\n // Create a temporary textarea element and append to DOM\n const fakeTextArea: HTMLTextAreaElement = document.createElement('textarea');\n document.body.appendChild(fakeTextArea);\n\n // Assign value to be copied to clipboard\n fakeTextArea.value = value;\n fakeTextArea.select();\n\n // Copy to clipboard\n const success: boolean = document.execCommand('copy');\n\n // Remove temporary textarea\n document.body.removeChild(fakeTextArea);\n\n // Return boolean indicating if exec command succeeded\n return success;\n}\n","/**\n * Conversion function that takes an array of objects and converts\n * them to CSV format. Custom key and line separators can be specified.\n *\n * @param objects list of strings in JSON format or actual objects\n * @param keySeparator optional parameter to specify custom value separator\n * @param lineSeparator optional parameter to specify custom end of line separator\n * @returns CSV formatted string\n */\nexport function convertObjectsToCSV(\n objects: any[],\n keySeparator = ',',\n lineSeparator = '\\r\\n'\n): string {\n if (!objects) {\n return '';\n }\n\n let outputString = '';\n\n // Iterate through array, creating one output line per object\n objects.forEach((value: object, key: number) => {\n let line = '';\n for (const index of Object.keys(objects[key])) {\n if (line !== '') {\n line += keySeparator;\n }\n if (objects[key][index] === null || objects[key][index] === undefined) {\n objects[key][index] = '';\n }\n line += objects[key][index];\n }\n outputString += `${line}${lineSeparator}`;\n });\n\n // Append header row identifying keys into output\n if (objects[0]) {\n const headers: string = Object.keys(objects[0]).join(keySeparator);\n outputString = `${headers}${lineSeparator}${outputString}`;\n }\n\n return outputString;\n}\n\n/**\n * Conversion function that takes a CSV representation\n * of objects and converts them to JSON.\n * The first row in the input must be the object keys.\n * Custom key separator and line separator can be specified.\n * Indentation size for output JSON can be specified.\n *\n * @param csv list of strings in JSON format or actual objects\n * @param keySeparator optional parameter to specify custom value separator\n * @param lineSeparator optional parameter to specify custom end of line separator\n * @param indent optional parameter indicating space indentation for pretty output. Default is 2.\n * @returns JSON formatted string\n */\nexport function convertCSVToJSON(\n csv: string,\n keySeparator = ',',\n lineSeparator = '\\r\\n',\n indent = 2\n): string {\n if (!csv) {\n return '';\n }\n\n const csvArray: string[] = csv.split(lineSeparator);\n // Input CSV must have a minimum of two rows\n if (csvArray.length < 2) {\n return '';\n }\n\n const newObjects: any[] = [];\n\n // Extract object keys from header row\n const keys: string[] = csvArray[0].split(keySeparator);\n // Iterate through array, creating one output line per object\n for (let i = 1; i < csvArray.length; i++) {\n const newObject: any = {};\n\n const values: string[] = csvArray[i].split(keySeparator);\n if (values.length !== keys.length) {\n continue;\n }\n for (let j = 0; j < keys.length; j++) {\n newObject[keys[j]] = values[j];\n }\n newObjects.push(newObject);\n }\n\n return formatJSON(newObjects, indent);\n}\n\n/**\n * Convert object to JSON using stringify. Indentation size for output JSON can be specified.\n *\n * @param json object to be converted\n * @param indent optional parameter indicating space indentation for pretty output. Default is 2.\n */\nexport function formatJSON(json: object, indent = 2): string {\n return JSON.stringify(json, undefined, indent);\n}\n","import { convertObjectsToCSV, formatJSON } from './convert';\n\n/**\n * Download CSV content to the specified file with .csv extension\n * appended to the provided base file name.\n *\n * @param fileBaseName base name of destination file\n * @param csv CSV contents\n */\nexport function downloadCSV(fileBaseName: string, csv: string): void {\n downloadFile(`${fileBaseName}.csv`, csv, 'text/csv');\n}\n\n/**\n * Download JSON content to the specified file with .json extension\n * appended to the provided base file name.\n *\n * @param fileBaseName base name of destination file\n * @param json JSON contents\n * @param format indicates if JSON should be prettied\n * @param indent optional parameter indicating space indentation for pretty output. Default is 2\n */\nexport function downloadJSON(\n fileBaseName: string,\n json: string,\n format = false,\n indent = 2\n): void {\n downloadFile(\n `${fileBaseName}.json`,\n format ? formatJSON(JSON.parse(json), indent) : json,\n 'application/json'\n );\n}\n\n/**\n * Convert objects to CSV format and download to file with .csv\n * extension appended to the provided base file name. Custom key\n * separator and line separator can be specified.\n *\n * @param fileBaseName base name of destination file\n * @param objects object array to be converted to CSV format\n * prior to writing to download destination\n * @param keySeparator optional parameter to specify custom value separator\n * @param lineSeparator optional parameter to specify custom end of line separator\n */\nexport function downloadObjectsToCSV(\n fileBaseName: string,\n objects: any[],\n keySeparator = ',',\n lineSeparator = '\\r\\n'\n): void {\n downloadFile(\n `${fileBaseName}.csv`,\n convertObjectsToCSV(objects, keySeparator, lineSeparator),\n 'text/csv'\n );\n}\n\n/**\n * Convert objects to JSON format and download to file with .json\n * extension appended to the provided base file name.\n *\n * @param fileBaseName base name of destination file\n * @param objects object array to be converted to JSON format\n * prior to writing to download destination\n * @param indent optional parameter indicating space indentation for pretty output. Default is 2\n */\nexport function downloadObjectsToJSON(\n fileBaseName: string,\n objects: any[],\n indent = 2\n): void {\n downloadFile(\n `${fileBaseName}.json`,\n formatJSON(objects, indent),\n 'application/json'\n );\n}\n\n/**\n * Download string content to the specified file with desired mime type.\n *\n * @param fileName full filename (including appropriate extension) of destination file\n * @param contents string contents to be written to download destination\n * @param mimeType mime type appropriate to file content to support consumption of destination file\n */\nexport function downloadFile(\n fileName: string,\n contents: string,\n mimeType = 'text/plain'\n): void {\n if (!fileName || !contents) {\n return;\n }\n\n // Create blob object and assign URL\n const blob: Blob = new Blob([contents], { type: mimeType });\n const url: string = window.URL.createObjectURL(blob);\n\n // Construct anchor for URL, append to DOM, click and cleanup.\n const a: HTMLAnchorElement = document.createElement('a');\n a.setAttribute('style', 'display: none');\n a.setAttribute('download', fileName);\n a.href = url;\n document.body.appendChild(a);\n a.click();\n window.URL.revokeObjectURL(url);\n document.body.removeChild(a);\n window.URL.revokeObjectURL(url);\n}\n","/**\n * Read file as UTF-8 text. Return string contents on read completion.\n *\n * @param file filename or File object\n * @returns promise that resolves to file content string\n */\nexport function readFile(file: File): Promise<string> {\n return new Promise<string>((resolve: (value: string) => void) => {\n const reader: FileReader = new FileReader();\n reader.readAsText(file, 'UTF-8');\n reader.onload = () => {\n resolve(<string>reader.result);\n };\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;MAOa,mBAAmB,CAAA;AACU,IAAA,MAAA,CAAA;AAAxC,IAAA,WAAA,CAAwC,MAAe,EAAA;QAAf,IAAM,CAAA,MAAA,GAAN,MAAM,CAAS;KAAI;AAE3D;;AAEG;AAEH,IAAA,MAAM,CAAC,KAAY,EAAA;QACjB,IACE,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,MAAM,CAAC,KAAK;YACjB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,EACrC;AACA,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;SACnD;KACF;uGAfU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACzB,iBAAA,CAAA;;0BAEc,QAAQ;;0BAAI,IAAI;yCAM7B,MAAM,EAAA,CAAA;sBADL,YAAY;uBAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MCIrB,qBAAqB,CAAA;AAGJ,IAAA,SAAA,CAAA;AAClB,IAAA,GAAA,CAAA;IAHV,kBAAkB,GAAG,KAAK,CAAC;IAC3B,WAC4B,CAAA,SAAsB,EACxC,GAAe,EAAA;QADG,IAAS,CAAA,SAAA,GAAT,SAAS,CAAa;QACxC,IAAG,CAAA,GAAA,GAAH,GAAG,CAAY;KACrB;AAMG,IAAA,eAAe,CAAC,KAAY,EAAA;QACjC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC7E;IAEM,gBAAgB,GAAA;QACrB,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,aAAa;AACrD,cAAE,IAAI,CAAC,cAAc,EAAE;AACvB,cAAE,IAAI,CAAC,eAAe,EAAE,CAAC;KAC5B;IAEM,eAAe,GAAA;QACpB,MAAM,EACJ,GAAG,EAAE,EAAE,aAAa,EAAE,GACvB,GAA0B,IAAI,CAAC;AAChC,QAAA,MAAM,kBAAkB,GAAkC;YACxD,iBAAiB,EAAE,MAAM,aAAa,CAAC,iBAAiB,EAAE;YAC1D,uBAAuB,EAAE,MAAM,aAAa,CAAC,uBAAuB,EAAE;YACtE,oBAAoB,EAAE,MAAM,aAAa,CAAC,oBAAoB,EAAE;YAChE,mBAAmB,EAAE,MAAM,aAAa,CAAC,mBAAmB,EAAE;SAC/D,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;AACrD,YAAA,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;AAC1B,gBAAA,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;aAC/B;SACF;KACF;IAEM,cAAc,GAAA;AACnB,QAAA,MAAM,iBAAiB,GAAkC;YACvD,cAAc,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;YACrD,oBAAoB,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE;YACjE,mBAAmB,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE;YAC/D,gBAAgB,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE;SAC1D,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACpD,IACE,iBAAiB,CAAC,OAAO,CAAC;gBAC1B,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,aAAa,EACvD;AACA,gBAAA,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;aAC9B;SACF;KACF;IAEO,qBAAqB,GAAA;AAC3B,QAAA,MAAM,sBAAsB,GAAqC;YAC/D,iBAAiB,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB;YACzD,uBAAuB,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,uBAAuB;YACrE,oBAAoB,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,oBAAoB;YAC/D,mBAAmB,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB;SAC9D,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE;AACvD,YAAA,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE;AACjC,gBAAA,OAAO,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;aACxC;SACF;AACD,QAAA,OAAO,SAAS,CAAC;KAClB;AAtEU,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBAGtB,QAAQ,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAHP,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,2BAAA,EAAA,yBAAA,EAAA,iCAAA,EAAA,yBAAA,EAAA,8BAAA,EAAA,yBAAA,EAAA,6BAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE,cAAc;AACzB,iBAAA,CAAA;;0BAII,MAAM;2BAAC,QAAQ,CAAA;kEAQX,eAAe,EAAA,CAAA;sBAJrB,YAAY;uBAAC,2BAA2B,EAAE,CAAC,QAAQ,CAAC,CAAA;;sBACpD,YAAY;uBAAC,iCAAiC,EAAE,CAAC,QAAQ,CAAC,CAAA;;sBAC1D,YAAY;uBAAC,8BAA8B,EAAE,CAAC,QAAQ,CAAC,CAAA;;sBACvD,YAAY;uBAAC,6BAA6B,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MCtB5C,aAAa,CAAA;IACxB,SAAS,CAAC,IAAS,EAAE,SAAe,EAAA;;AAElC,QAAA,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;AACtB,QAAA,MAAM,GAAG,GAAS,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;;AAGtC,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;AACnB,YAAA,OAAO,cAAc,CAAC;SACvB;;;QAID,MAAM,SAAS,GAAW,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;AAC5E,QAAA,IAAI,IAAI,GAAW,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC;AAEnE,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;AACZ,YAAA,OAAO,cAAc,CAAC;SACvB;AACD,QAAA,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;SAC1C;;AAED,QAAA,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;AACZ,YAAA,OAAO,cAAc,CAAC;SACvB;AACD,QAAA,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;SAC1C;;AAED,QAAA,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;AACZ,YAAA,OAAO,YAAY,CAAC;SACrB;AACD,QAAA,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;SACxC;;AAED,QAAA,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;AACZ,YAAA,OAAO,WAAW,CAAC;SACpB;AACD,QAAA,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;SACvC;;AAED,QAAA,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;AACZ,YAAA,OAAO,aAAa,CAAC;SACtB;AACD,QAAA,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC;SACzC;;AAED,QAAA,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;AACZ,YAAA,OAAO,YAAY,CAAC;SACrB;aAAM;YACL,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;SACxC;KACF;uGA7DU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;qGAAb,aAAa,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,SAAS;AAChB,iBAAA,CAAA;;;MCCY,oBAAoB,CAAA;IAC/B,SAAS,CAAC,KAAU,EAAE,GAAS,EAAA;AAC7B,QAAA,MAAM,SAAS,GAAS,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AACxC,QAAA,IAAI,OAAa,CAAC;AAElB,QAAA,IAAI,GAAG,KAAK,SAAS,EAAE;AACrB,YAAA,OAAO,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;SACzB;aAAM;AACL,YAAA,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;SACtB;AAED,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE;AAC9C,YAAA,OAAO,cAAc,CAAC;SACvB;QAED,IAAI,IAAI,GAAW,IAAI,CAAC,KAAK,CAC3B,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,IAAI,CACjD,CAAC;AAEF,QAAA,MAAM,IAAI,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACvD,QAAA,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AAEpC,QAAA,MAAM,KAAK,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACnD,IAAI,GAAG,IAAI,GAAG,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAEhC,MAAM,OAAO,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;AAC9C,QAAA,IAAI,IAAI,OAAO,GAAG,EAAE,CAAC;QAErB,MAAM,OAAO,GAAW,IAAI,CAAC;QAE7B,MAAM,GAAG,GAAG,IAAI,CAAC;QAEjB,IAAI,aAAa,GAAG,EAAE,CAAC;QAEvB,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE;YACxB,aAAa,GAAG,SAAS,CAAC;SAC3B;AAAM,aAAA,IAAI,IAAI,GAAG,CAAC,EAAE;YACnB,aAAa,GAAG,UAAU,CAAC;SAC5B;AAED,QAAA,QACE,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,aAAa,GAAG,aAAa;AAChD,YAAA,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,EAAE,EAAE,MAAM,CAAC;YAClD,KAAK;YACL,GAAG;AACH,YAAA,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,GAAG,EAAE,EAAE,MAAM,CAAC;YACpD,OAAO;YACP,GAAG;AACH,YAAA,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,GAAG,EAAE,EAAE,MAAM,CAAC;AACpD,YAAA,OAAO,EACP;KACH;uGAnDU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;qGAApB,oBAAoB,EAAA,IAAA,EAAA,gBAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,gBAAgB;AACvB,iBAAA,CAAA;;;MCCY,eAAe,CAAA;IAC1B,SAAS,CAAC,IAAS,EAAE,SAAe,EAAA;;AAElC,QAAA,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;AACtB,QAAA,MAAM,GAAG,GAAS,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;;AAGtC,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;AACnB,YAAA,OAAO,cAAc,CAAC;SACvB;;;QAID,MAAM,SAAS,GAAW,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;AAC5E,QAAA,IAAI,IAAI,GAAW,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC;AAEnE,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;AACZ,YAAA,OAAO,aAAa,CAAC;SACtB;AACD,QAAA,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;SAC9C;;AAED,QAAA,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;AACZ,YAAA,OAAO,aAAa,CAAC;SACtB;AACD,QAAA,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;SAC9C;;AAED,QAAA,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;AACZ,YAAA,OAAO,WAAW,CAAC;SACpB;AACD,QAAA,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;SAC5C;;AAED,QAAA,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;AACZ,YAAA,OAAO,UAAU,CAAC;SACnB;AACD,QAAA,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;SAC3C;;AAED,QAAA,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;AACZ,YAAA,OAAO,YAAY,CAAC;SACrB;AACD,QAAA,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;SAC7C;;AAED,QAAA,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,IAAI,GAAG,CAAC,EAAE;AACZ,YAAA,OAAO,WAAW,CAAC;SACpB;aAAM;YACL,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;SAC5C;KACF;uGA7DU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;qGAAf,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,WAAW;AAClB,iBAAA,CAAA;;;MCCY,WAAW,CAAA;AACtB;AAC4C;AAC5C,IAAA,SAAS,CAAC,KAAU,EAAE,SAAS,GAAG,CAAC,EAAA;AACjC,QAAA,IAAI,KAAK,KAAK,CAAC,EAAE;AACf,YAAA,OAAO,KAAK,CAAC;SACd;aAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE;;AAErC,YAAA,OAAO,gBAAgB,CAAC;SACzB;QACD,MAAM,CAAC,GAAG,IAAI,CAAC;AACf,QAAA,MAAM,KAAK,GAAa;YACtB,GAAG;YACH,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;SACN,CAAC;QACF,MAAM,CAAC,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;;AAE5D,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE;AACT,YAAA,OAAO,gBAAgB,CAAC;SACzB;AACD,QAAA,QACE,UAAU,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EACxE;KACH;uGA9BU,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;qGAAX,WAAW,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,OAAO;AACd,iBAAA,CAAA;;;MCCY,kBAAkB,CAAA;AAC7B;AAC4C;AAC5C,IAAA,SAAS,CAAC,KAAU,EAAE,SAAS,GAAG,CAAC,EAAA;AACjC,QAAA,IAAI,KAAK,KAAK,CAAC,EAAE;AACf,YAAA,OAAO,KAAK,CAAC;SACd;aAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE;;AAErC,YAAA,OAAO,gBAAgB,CAAC;SACzB;QACD,MAAM,CAAC,GAAG,IAAI,CAAC;AACf,QAAA,MAAM,KAAK,GAAa;YACtB,GAAG;YACH,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;SACL,CAAC;QACF,MAAM,CAAC,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;;AAE5D,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE;AACT,YAAA,OAAO,gBAAgB,CAAC;SACzB;AACD,QAAA,QACE,UAAU,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EACxE;KACH;uGA9BU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;qGAAlB,kBAAkB,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,cAAc;AACrB,iBAAA,CAAA;;;MCEY,YAAY,CAAA;AAGgB,IAAA,OAAA,CAAA;AAF/B,IAAA,YAAY,CAAc;AAElC,IAAA,WAAA,CAAuC,UAAU,IAAI,EAAA;QAAd,IAAO,CAAA,OAAA,GAAP,OAAO,CAAO;QACnD,IAAI,CAAC,YAAY,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACnD;;AAGD,IAAA,SAAS,CAAC,MAAW,EAAE,SAAS,GAAG,CAAC,EAAA;AAClC,QAAA,IAAI,MAAM,KAAK,CAAC,EAAE;AAChB,YAAA,OAAO,GAAG,CAAC;SACZ;aAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE;;AAEtC,YAAA,OAAO,MAAM,CAAC;SACf;AAAM,aAAA,IAAI,MAAM,GAAG,CAAC,EAAE;AACrB,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;SACrE;QACD,MAAM,CAAC,GAAG,IAAI,CAAC;AACf,QAAA,MAAM,KAAK,GAAa,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACtD,MAAM,CAAC,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,QAAA,MAAM,IAAI,GAAW,KAAK,CAAC,CAAC,CAAC,CAAC;AAC9B,QAAA,QACE,IAAI,CAAC,YAAY,CAAC,SAAS,CACzB,UAAU,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CACzD,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,EAC5B;KACH;AA1BU,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,kBAGH,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;qGAHlB,YAAY,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,CAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA,CAAA;;0BAIc,MAAM;2BAAC,SAAS,CAAA;;;MCJlB,cAAc,CAAA;AACzB,IAAA,SAAS,CAAC,IAAS,EAAE,MAAM,GAAG,EAAE,EAAA;AAC9B,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC5B,YAAA,OAAO,EAAE,CAAC;SACX;;QAGD,IAAI,SAAS,GAAW,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAElD,QAAA,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE;YACxB,IAAI,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AAClC,gBAAA,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;aAC9B;YAED,SAAS,IAAI,GAAG,CAAC;SAClB;AAED,QAAA,OAAO,SAAS,CAAC;KAClB;uGAlBU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;qGAAd,cAAc,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,UAAU;AACjB,iBAAA,CAAA;;;MCEY,iBAAiB,CAAA;AAER,IAAA,OAAA,CAAA;AADZ,IAAA,OAAO,cAAc,GAAG,GAAG,CAAC;AACpC,IAAA,WAAA,CAAoB,OAAe,EAAA;QAAf,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;QACjC,IAAI,CAAC,OAAO,CAAC,MAAM;AAChB,aAAA,IAAI,CACH,MAAM,CAAC,CAAC,CAAM,KAAK,CAAC,YAAY,gBAAgB,CAAC,EACjD,QAAQ,EAAE,CACX;AACA,aAAA,SAAS,CAAC,CAAC,CAAQ,KAAI;YACtB,iBAAiB,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;AAC5D,SAAC,CAAC,CAAC;KACN;AAED;;;AAGG;IACH,gBAAgB,GAAA;QACd,OAAO,iBAAiB,CAAC,cAAc,CAAC;KACzC;uGAnBU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;2GAAjB,iBAAiB,EAAA,CAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;;;ACLX;;;AAGG;MAIU,WAAW,CAAA;;;;;;;AAOd,IAAA,MAAM,GAAa;QACzB,aAAa;QACb,eAAe;QACf,mBAAmB;QACnB,YAAY;QACZ,oBAAoB;QACpB,iBAAiB;QACjB,wBAAwB;QACxB,aAAa;QACb,gBAAgB;QAChB,mBAAmB;QACnB,OAAO;QACP,WAAW;QACX,WAAW;QACX,UAAU;QACV,WAAW;QACX,SAAS;QACT,SAAS;QACT,cAAc;QACd,iBAAiB;QACjB,cAAc;QACd,YAAY;QACZ,YAAY;QACZ,gBAAgB;QAChB,iBAAiB;QACjB,mBAAmB;QACnB,qBAAqB;QACrB,sBAAsB;QACtB,WAAW;QACX,QAAQ;QACR,MAAM;QACN,UAAU;QACV,iBAAiB;QACjB,WAAW;QACX,YAAY;QACZ,OAAO;QACP,QAAQ;QACR,gBAAgB;QAChB,mBAAmB;QACnB,gBAAgB;QAChB,sBAAsB;QACtB,eAAe;QACf,iBAAiB;QACjB,aAAa;QACb,gBAAgB;QAChB,cAAc;QACd,sBAAsB;QACtB,oBAAoB;QACpB,OAAO;QACP,MAAM;QACN,SAAS;QACT,gBAAgB;QAChB,iBAAiB;QACjB,aAAa;QACb,WAAW;QACX,aAAa;QACb,WAAW;QACX,YAAY;QACZ,QAAQ;QACR,gBAAgB;QAChB,gBAAgB;QAChB,aAAa;QACb,KAAK;QACL,MAAM;QACN,UAAU;QACV,cAAc;QACd,aAAa;QACb,aAAa;QACb,gBAAgB;QAChB,KAAK;QACL,OAAO;QACP,aAAa;QACb,OAAO;QACP,YAAY;QACZ,aAAa;QACb,SAAS;QACT,aAAa;QACb,WAAW;QACX,MAAM;QACN,UAAU;QACV,iBAAiB;QACjB,UAAU;QACV,cAAc;QACd,cAAc;QACd,aAAa;QACb,aAAa;QACb,gBAAgB;QAChB,cAAc;QACd,eAAe;QACf,aAAa;QACb,OAAO;QACP,SAAS;QACT,KAAK;QACL,OAAO;QACP,YAAY;QACZ,MAAM;QACN,cAAc;QACd,eAAe;QACf,SAAS;QACT,MAAM;QACN,kBAAkB;QAClB,iBAAiB;QACjB,gBAAgB;QAChB,MAAM;QACN,OAAO;QACP,mBAAmB;QACnB,MAAM;QACN,OAAO;QACP,eAAe;QACf,OAAO;QACP,iBAAiB;QACjB,WAAW;QACX,UAAU;QACV,QAAQ;QACR,YAAY;QACZ,aAAa;QACb,MAAM;QACN,MAAM;QACN,WAAW;QACX,SAAS;QACT,oBAAoB;QACpB,UAAU;QACV,UAAU;QACV,YAAY;QACZ,UAAU;QACV,cAAc;QACd,aAAa;QACb,SAAS;QACT,iBAAiB;QACjB,aAAa;QACb,WAAW;QACX,UAAU;QACV,UAAU;QACV,SAAS;QACT,iBAAiB;QACjB,uBAAuB;QACvB,mBAAmB;QACnB,yBAAyB;QACzB,eAAe;QACf,YAAY;QACZ,gBAAgB;QAChB,gBAAgB;QAChB,MAAM;QACN,oBAAoB;QACpB,wBAAwB;QACxB,eAAe;QACf,SAAS;QACT,oBAAoB;QACpB,gBAAgB;QAChB,OAAO;QACP,eAAe;QACf,iBAAiB;QACjB,SAAS;QACT,mBAAmB;QACnB,QAAQ;QACR,sBAAsB;QACtB,SAAS;QACT,gBAAgB;QAChB,SAAS;QACT,oBAAoB;QACpB,cAAc;QACd,MAAM;QACN,gBAAgB;QAChB,QAAQ;QACR,UAAU;QACV,QAAQ;QACR,uBAAuB;QACvB,yBAAyB;QACzB,oBAAoB;QACpB,qBAAqB;QACrB,eAAe;QACf,mBAAmB;QACnB,wBAAwB;QACxB,0BAA0B;QAC1B,0BAA0B;QAC1B,qBAAqB;QACrB,uBAAuB;QACvB,mBAAmB;QACnB,gBAAgB;QAChB,gBAAgB;QAChB,iBAAiB;QACjB,gBAAgB;QAChB,MAAM;QACN,UAAU;QACV,iBAAiB;QACjB,eAAe;QACf,eAAe;QACf,mBAAmB;QACnB,YAAY;QACZ,OAAO;QACP,OAAO;QACP,SAAS;QACT,wBAAwB;QACxB,oBAAoB;QACpB,YAAY;QACZ,wBAAwB;QACxB,WAAW;QACX,sBAAsB;QACtB,UAAU;QACV,mBAAmB;QACnB,KAAK;QACL,gBAAgB;QAChB,gBAAgB;QAChB,sBAAsB;QACtB,yBAAyB;QACzB,uBAAuB;QACvB,oBAAoB;QACpB,oBAAoB;QACpB,UAAU;QACV,YAAY;QACZ,UAAU;QACV,gBAAgB;QAChB,UAAU;QACV,KAAK;QACL,OAAO;QACP,MAAM;QACN,WAAW;QACX,eAAe;QACf,WAAW;QACX,eAAe;QACf,eAAe;QACf,aAAa;QACb,WAAW;QACX,eAAe;QACf,QAAQ;QACR,eAAe;QACf,gBAAgB;QAChB,aAAa;QACb,YAAY;QACZ,eAAe;QACf,aAAa;QACb,UAAU;QACV,eAAe;QACf,WAAW;QACX,aAAa;QACb,YAAY;QACZ,aAAa;QACb,WAAW;QACX,YAAY;QACZ,gBAAgB;QAChB,gBAAgB;QAChB,aAAa;QACb,MAAM;QACN,UAAU;QACV,cAAc;QACd,sBAAsB;QACtB,SAAS;QACT,UAAU;QACV,WAAW;QACX,OAAO;QACP,eAAe;QACf,wBAAwB;QACxB,SAAS;QACT,IAAI;QACJ,cAAc;QACd,SAAS;QACT,OAAO;QACP,WAAW;QACX,UAAU;QACV,oBAAoB;QACpB,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,WAAW;QACX,UAAU;QACV,cAAc;QACd,aAAa;QACb,oBAAoB;QACpB,gBAAgB;QAChB,WAAW;QACX,qBAAqB;QACrB,WAAW;QACX,WAAW;QACX,oBAAoB;QACpB,YAAY;QACZ,YAAY;QACZ,WAAW;QACX,OAAO;QACP,IAAI;QACJ,SAAS;QACT,cAAc;QACd,aAAa;QACb,eAAe;QACf,eAAe;QACf,MAAM;QACN,KAAK;QACL,UAAU;QACV,SAAS;QACT,mBAAmB;QACnB,OAAO;QACP,aAAa;QACb,cAAc;QACd,gBAAgB;QAChB,MAAM;QACN,OAAO;QACP,qBAAqB;QACrB,sBAAsB;QACtB,YAAY;QACZ,oBAAoB;QACpB,qBAAqB;QACrB,cAAc;QACd,oBAAoB;QACpB,eAAe;QACf,OAAO;QACP,aAAa;QACb,iBAAiB;QACjB,OAAO;QACP,eAAe;QACf,mBAAmB;QACnB,QAAQ;QACR,YAAY;QACZ,QAAQ;QACR,WAAW;QACX,WAAW;QACX,UAAU;QACV,SAAS;QACT,WAAW;QACX,eAAe;QACf,mBAAmB;QACnB,QAAQ;QACR,eAAe;QACf,OAAO;QACP,MAAM;QACN,eAAe;QACf,WAAW;QACX,gBAAgB;QAChB,YAAY;QACZ,aAAa;QACb,eAAe;QACf,UAAU;QACV,cAAc;QACd,aAAa;QACb,aAAa;QACb,YAAY;QACZ,WAAW;QACX,KAAK;QACL,WAAW;QACX,UAAU;QACV,MAAM;QACN,UAAU;QACV,WAAW;QACX,YAAY;QACZ,aAAa;QACb,sBAAsB;QACtB,eAAe;QACf,YAAY;QACZ,qBAAqB;QACrB,MAAM;QACN,aAAa;QACb,qBAAqB;QACrB,WAAW;QACX,SAAS;QACT,cAAc;QACd,eAAe;QACf,UAAU;QACV,yBAAyB;QACzB,YAAY;QACZ,SAAS;QACT,iBAAiB;QACjB,KAAK;QACL,OAAO;QACP,OAAO;QACP,iBAAiB;QACjB,eAAe;QACf,mBAAmB;QACnB,UAAU;QACV,WAAW;QACX,cAAc;QACd,SAAS;QACT,qBAAqB;QACrB,QAAQ;QACR,oBAAoB;QACpB,qBAAqB;QACrB,OAAO;QACP,gBAAgB;QAChB,eAAe;QACf,iBAAiB;QACjB,gBAAgB;QAChB,gBAAgB;QAChB,iBAAiB;QACjB,mBAAmB;QACnB,gBAAgB;QAChB,gBAAgB;QAChB,aAAa;QACb,UAAU;QACV,cAAc;QACd,yBAAyB;QACzB,eAAe;QACf,wBAAwB;QACxB,uBAAuB;QACvB,wBAAwB;QACxB,uBAAuB;QACvB,mBAAmB;QACnB,YAAY;QACZ,SAAS;QACT,aAAa;QACb,WAAW;QACX,SAAS;QACT,KAAK;QACL,SAAS;QACT,YAAY;QACZ,oBAAoB;QACpB,aAAa;QACb,SAAS;QACT,WAAW;QACX,QAAQ;QACR,OAAO;QACP,OAAO;QACP,QAAQ;QACR,cAAc;QACd,QAAQ;QACR,cAAc;QACd,WAAW;QACX,aAAa;QACb,MAAM;QACN,eAAe;QACf,SAAS;QACT,SAAS;QACT,YAAY;QACZ,aAAa;QACb,OAAO;QACP,MAAM;QACN,UAAU;QACV,cAAc;QACd,MAAM;QACN,YAAY;QACZ,eAAe;QACf,WAAW;QACX,eAAe;QACf,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,eAAe;QACf,uBAAuB;QACvB,OAAO;QACP,WAAW;QACX,QAAQ;QACR,YAAY;QACZ,MAAM;QACN,UAAU;QACV,YAAY;QACZ,MAAM;QACN,MAAM;QACN,aAAa;QACb,aAAa;QACb,WAAW;QACX,MAAM;QACN,OAAO;QACP,eAAe;QACf,cAAc;QACd,eAAe;QACf,aAAa;QACb,WAAW;QACX,oBAAoB;QACpB,qBAAqB;QACrB,uBAAuB;QACvB,eAAe;QACf,uBAAuB;QACvB,cAAc;QACd,aAAa;QACb,iBAAiB;QACjB,WAAW;QACX,qBAAqB;QACrB,oBAAoB;QACpB,qBAAqB;QACrB,iBAAiB;QACjB,iBAAiB;QACjB,gBAAgB;QAChB,mBAAmB;QACnB,YAAY;QACZ,gBAAgB;QAChB,SAAS;QACT,KAAK;QACL,WAAW;QACX,eAAe;QACf,SAAS;QACT,YAAY;QACZ,mBAAmB;QACnB,oBAAoB;QACpB,iBAAiB;QACjB,YAAY;QACZ,KAAK;QACL,uBAAuB;QACvB,sBAAsB;QACtB,sBAAsB;QACtB,iBAAiB;QACjB,YAAY;QACZ,0BAA0B;QAC1B,uBAAuB;QACvB,qBAAqB;QACrB,6CAA6C;QAC7C,wBAAwB;QACxB,sBAAsB;QACtB,qBAAqB;QACrB,mBAAmB;QACnB,wBAAwB;QACxB,iBAAiB;QACjB,SAAS;QACT,KAAK;QACL,WAAW;QACX,SAAS;QACT,WAAW;QACX,gBAAgB;QAChB,aAAa;QACb,aAAa;QACb,cAAc;QACd,WAAW;QACX,YAAY;QACZ,eAAe;QACf,cAAc;QACd,mBAAmB;QACnB,cAAc;QACd,aAAa;QACb,cAAc;QACd,cAAc;QACd,cAAc;QACd,YAAY;QACZ,iBAAiB;QACjB,cAAc;QACd,aAAa;QACb,qBAAqB;QACrB,sBAAsB;QACtB,mBAAmB;QACnB,oBAAoB;QACpB,aAAa;QACb,cAAc;QACd,oBAAoB;QACpB,wBAAwB;QACxB,wBAAwB;QACxB,eAAe;QACf,qBAAqB;QACrB,sBAAsB;QACtB,sBAAsB;QACtB,0BAA0B;QAC1B,cAAc;QACd,cAAc;QACd,eAAe;QACf,aAAa;QACb,sBAAsB;QACtB,6BAA6B;QAC7B,6BAA6B;QAC7B,mBAAmB;QACnB,WAAW;QACX,QAAQ;QACR,WAAW;QACX,cAAc;QACd,uBAAuB;QACvB,gBAAgB;QAChB,mBAAmB;QACnB,iBAAiB;QACjB,mBAAmB;QACnB,aAAa;QACb,cAAc;QACd,cAAc;QACd,YAAY;QACZ,cAAc;QACd,iBAAiB;QACjB,WAAW;QACX,iBAAiB;QACjB,OAAO;QACP,WAAW;QACX,UAAU;QACV,SAAS;QACT,cAAc;QACd,OAAO;QACP,YAAY;QACZ,YAAY;QACZ,WAAW;QACX,iBAAiB;QACjB,aAAa;QACb,aAAa;QACb,OAAO;QACP,uBAAuB;QACvB,uBAAuB;QACvB,oBAAoB;QACpB,WAAW;QACX,YAAY;QACZ,OAAO;QACP,cAAc;QACd,YAAY;QACZ,gBAAgB;QAChB,WAAW;QACX,aAAa;QACb,cAAc;QACd,mBAAmB;QACnB,QAAQ;QACR,aAAa;QACb,eAAe;QACf,MAAM;QACN,gBAAgB;QAChB,UAAU;QACV,aAAa;QACb,iBAAiB;QACjB,iBAAiB;QACjB,YAAY;QACZ,gBAAgB;QAChB,eAAe;QACf,MAAM;QACN,SAAS;QACT,SAAS;QACT,aAAa;QACb,UAAU;QACV,qBAAqB;QACrB,qBAAqB;QACrB,sBAAsB;QACtB,mBAAmB;QACnB,oBAAoB;QACpB,mBAAmB;QACnB,eAAe;QACf,iBAAiB;QACjB,cAAc;QACd,gBAAgB;QAChB,QAAQ;QACR,mBAAmB;QACnB,YAAY;QACZ,gBAAgB;QAChB,QAAQ;QACR,OAAO;QACP,eAAe;QACf,cAAc;QACd,WAAW;QACX,eAAe;QACf,aAAa;QACb,QAAQ;QACR,SAAS;QACT,UAAU;QACV,UAAU;QACV,YAAY;QACZ,SAAS;QACT,eAAe;QACf,QAAQ;QACR,gBAAgB;QAChB,YAAY;QACZ,MAAM;QACN,IAAI;QACJ,iBAAiB;QACjB,OAAO;QACP,aAAa;QACb,qBAAqB;QACrB,eAAe;QACf,QAAQ;QACR,WAAW;QACX,iBAAiB;QACjB,YAAY;QACZ,eAAe;QACf,aAAa;QACb,UAAU;QACV,SAAS;QACT,cAAc;QACd,cAAc;QACd,cAAc;QACd,cAAc;QACd,cAAc;QACd,cAAc;QACd,cAAc;QACd,cAAc;QACd,OAAO;QACP,YAAY;QACZ,QAAQ;QACR,YAAY;QACZ,cAAc;QACd,aAAa;QACb,aAAa;QACb,qBAAqB;QACrB,mBAAmB;QACnB,aAAa;QACb,sBAAsB;QACtB,YAAY;QACZ,UAAU;QACV,SAAS;QACT,eAAe;QACf,yBAAyB;QACzB,MAAM;QACN,WAAW;QACX,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,WAAW;QACX,gBAAgB;QAChB,eAAe;QACf,eAAe;QACf,aAAa;QACb,aAAa;QACb,QAAQ;QACR,SAAS;QACT,MAAM;QACN,MAAM;QACN,UAAU;QACV,gBAAgB;QAChB,gBAAgB;QAChB,iBAAiB;QACjB,iBAAiB;QACjB,eAAe;QACf,QAAQ;QACR,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,eAAe;QACf,gBAAgB;QAChB,qBAAqB;QACrB,cAAc;QACd,eAAe;QACf,YAAY;QACZ,aAAa;QACb,mBAAmB;QACnB,gBAAgB;QAChB,OAAO;QACP,YAAY;QACZ,WAAW;QACX,UAAU;QACV,MAAM;QACN,qBAAqB;QACrB,iBAAiB;QACjB,UAAU;QACV,OAAO;QACP,UAAU;QACV,SAAS;QACT,SAAS;QACT,QAAQ;QACR,YAAY;QACZ,UAAU;QACV,SAAS;QACT,OAAO;QACP,oBAAoB;QACpB,cAAc;QACd,KAAK;QACL,WAAW;QACX,UAAU;QACV,aAAa;QACb,MAAM;QACN,eAAe;QACf,OAAO;QACP,SAAS;QACT,SAAS;QACT,SAAS;QACT,SAAS;QACT,WAAW;QACX,WAAW;QACX,OAAO;QACP,mBAAmB;QACnB,gBAAgB;QAChB,cAAc;QACd,YAAY;QACZ,WAAW;QACX,QAAQ;QACR,eAAe;QACf,iBAAiB;QACjB,eAAe;QACf,SAAS;QACT,UAAU;QACV,mBAAmB;QACnB,qBAAqB;QACrB,mBAAmB;QACnB,qBAAqB;QACrB,OAAO;QACP,aAAa;QACb,cAAc;QACd,cAAc;QACd,eAAe;QACf,0BAA0B;QAC1B,yBAAyB;QACzB,yBAAyB;QACzB,gBAAgB;QAChB,UAAU;QACV,gBAAgB;QAChB,uBAAuB;QACvB,aAAa;QACb,cAAc;QACd,eAAe;QACf,WAAW;QACX,YAAY;QACZ,OAAO;QACP,eAAe;QACf,cAAc;QACd,WAAW;QACX,SAAS;QACT,WAAW;QACX,OAAO;QACP,UAAU;QACV,SAAS;QACT,WAAW;QACX,UAAU;QACV,WAAW;QACX,MAAM;QACN,YAAY;QACZ,cAAc;QACd,UAAU;QACV,SAAS;QACT,WAAW;QACX,iBAAiB;QACjB,eAAe;QACf,UAAU;QACV,KAAK;QACL,KAAK;QACL,UAAU;QACV,UAAU;QACV,qBAAqB;QACrB,iBAAiB;QACjB,YAAY;QACZ,iBAAiB;QACjB,iBAAiB;QACjB,gBAAgB;QAChB,gBAAgB;QAChB,oBAAoB;QACpB,gBAAgB;QAChB,mBAAmB;QACnB,oBAAoB;QACpB,iBAAiB;QACjB,iBAAiB;QACjB,YAAY;QACZ,UAAU;QACV,QAAQ;QACR,OAAO;QACP,QAAQ;QACR,cAAc;QACd,gBAAgB;QAChB,eAAe;QACf,WAAW;QACX,WAAW;QACX,YAAY;QACZ,gBAAgB;QAChB,yBAAyB;QACzB,cAAc;QACd,aAAa;QACb,eAAe;QACf,mBAAmB;QACnB,qBAAqB;QACrB,gBAAgB;QAChB,aAAa;QACb,uBAAuB;QACvB,eAAe;QACf,YAAY;QACZ,cAAc;QACd,aAAa;QACb,eAAe;QACf,gBAAgB;QAChB,aAAa;QACb,aAAa;QACb,YAAY;QACZ,mBAAmB;QACnB,iBAAiB;QACjB,WAAW;QACX,gBAAgB;QAChB,YAAY;QACZ,KAAK;QACL,WAAW;QACX,OAAO;QACP,QAAQ;QACR,aAAa;QACb,YAAY;QACZ,SAAS;QACT,YAAY;QACZ,aAAa;QACb,YAAY;QACZ,iBAAiB;QACjB,WAAW;QACX,sBAAsB;QACtB,YAAY;QACZ,QAAQ;QACR,SAAS;QACT,SAAS;QACT,OAAO;QACP,MAAM;QACN,2BAA2B;QAC3B,mBAAmB;QACnB,aAAa;QACb,cAAc;QACd,MAAM;QACN,YAAY;QACZ,gBAAgB;QAChB,gBAAgB;QAChB,iBAAiB;QACjB,wBAAwB;QACxB,eAAe;QACf,eAAe;QACf,mBAAmB;QACnB,YAAY;QACZ,aAAa;QACb,cAAc;QACd,QAAQ;QACR,OAAO;QACP,cAAc;QACd,eAAe;QACf,OAAO;QACP,cAAc;QACd,aAAa;QACb,aAAa;QACb,YAAY;QACZ,YAAY;QACZ,iBAAiB;QACjB,WAAW;QACX,WAAW;QACX,MAAM;QACN,WAAW;QACX,YAAY;QACZ,WAAW;QACX,SAAS;QACT,yBAAyB;QACzB,0BAA0B;QAC1B,aAAa;QACb,aAAa;QACb,cAAc;QACd,KAAK;QACL,mBAAmB;QACnB,0BAA0B;QAC1B,+BAA+B;QAC/B,4BAA4B;QAC5B,6BAA6B;QAC7B,8BAA8B;QAC9B,4BAA4B;QAC5B,6BAA6B;QAC7B,iBAAiB;QACjB,qBAAqB;QACrB,WAAW;QACX,WAAW;QACX,qBAAqB;QACrB,iBAAiB;QACjB,YAAY;QACZ,YAAY;QACZ,gBAAgB;QAChB,SAAS;QACT,KAAK;QACL,MAAM;QACN,eAAe;QACf,gBAAgB;QAChB,eAAe;QACf,gBAAgB;QAChB,gBAAgB;QAChB,yBAAyB;QACzB,gBAAgB;QAChB,iBAAiB;QACjB,eAAe;QACf,cAAc;QACd,cAAc;QACd,cAAc;QACd,OAAO;QACP,WAAW;QACX,eAAe;QACf,SAAS;QACT,KAAK;QACL,YAAY;QACZ,MAAM;QACN,eAAe;QACf,cAAc;QACd,eAAe;QACf,cAAc;QACd,eAAe;QACf,QAAQ;QACR,WAAW;QACX,YAAY;QACZ,UAAU;QACV,IAAI;QACJ,MAAM;QACN,UAAU;QACV,SAAS;QACT,iBAAiB;QACjB,eAAe;QACf,WAAW;QACX,SAAS;QACT,cAAc;QACd,iBAAiB;QACjB,QAAQ;QACR,YAAY;QACZ,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,aAAa;QACb,SAAS;QACT,OAAO;QACP,SAAS;QACT,cAAc;QACd,iBAAiB;QACjB,MAAM;QACN,cAAc;QACd,WAAW;QACX,YAAY;QACZ,eAAe;QACf,KAAK;QACL,YAAY;QACZ,MAAM;QACN,MAAM;QACN,gBAAgB;QAChB,cAAc;QACd,aAAa;QACb,qBAAqB;QACrB,cAAc;QACd,eAAe;QACf,cAAc;QACd,eAAe;QACf,sBAAsB;QACtB,WAAW;QACX,OAAO;QACP,WAAW;QACX,UAAU;QACV,eAAe;QACf,MAAM;QACN,UAAU;QACV,aAAa;QACb,eAAe;QACf,sBAAsB;QACtB,oBAAoB;QACpB,mBAAmB;QACnB,sBAAsB;QACtB,eAAe;QACf,OAAO;QACP,YAAY;QACZ,QAAQ;QACR,YAAY;QACZ,gBAAgB;QAChB,QAAQ;QACR,YAAY;QACZ,gBAAgB;QAChB,UAAU;QACV,MAAM;QACN,QAAQ;QACR,QAAQ;QACR,wBAAwB;QACxB,qBAAqB;QACrB,6BAA6B;QAC7B,0BAA0B;QAC1B,OAAO;QACP,YAAY;QACZ,QAAQ;QACR,iBAAiB;QACjB,mBAAmB;QACnB,gBAAgB;QAChB,gBAAgB;QAChB,iBAAiB;QACjB,aAAa;QACb,iBAAiB;QACjB,eAAe;QACf,gBAAgB;QAChB,YAAY;QACZ,oBAAoB;QACpB,cAAc;QACd,eAAe;QACf,eAAe;QACf,mBAAmB;QACnB,gBAAgB;QAChB,cAAc;QACd,UAAU;QACV,WAAW;QACX,yBAAyB;QACzB,yBAAyB;QACzB,sBAAsB;QACtB,wBAAwB;QACxB,MAAM;QACN,aAAa;QACb,WAAW;QACX,YAAY;QACZ,WAAW;KACZ,CAAC;AAEF,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;AAED,IAAA,MAAM,CAAC,KAAa,EAAA;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAU,KAAI;YACtC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACzE,SAAC,CAAC,CAAC;KACJ;uGAnjCU,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;2GAAX,WAAW,EAAA,CAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB,UAAU;;;ACOX,MAAM,aAAa,GAAgB,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;AAEhF;AACA,MAAM,aAAa,GAAgB,EAAE,CAAC;AAatC,MAAM,QAAQ,GAAgB;IAC5B,aAAa;IACb,oBAAoB;IACpB,eAAe;IACf,WAAW;IACX,kBAAkB;IAClB,YAAY;IACZ,cAAc;CACf,CAAC;AAEF,MAAM,uBAAuB,GAAG;AAC9B,IAAA,OAAO,EAAE,wBAAwB;AACjC,IAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE;CACnD,CAAC;AAEF,MAAM,6BAA6B,GAAG;AACpC,IAAA,OAAO,EAAE,8BAA8B;AACvC,IAAA,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;CACpC,CAAC;MAoBW,oBAAoB,CAAA;uGAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAtDG,YAAA,EAAA,CAAA,mBAAmB,EAAE,qBAAqB,EAiB5E,aAAa;YACb,oBAAoB;YACpB,eAAe;YACf,WAAW;YACX,kBAAkB;YAClB,YAAY;AACZ,YAAA,cAAc,CAqBJ,EAAA,OAAA,EAAA,CAAA,WAAW,EAAE,YAAY,CAEzB,EAAA,OAAA,EAAA,CAAA,WAAW,EAAE,YAAY,EA9CD,mBAAmB,EAAE,qBAAqB,EAiB5E,aAAa;YACb,oBAAoB;YACpB,eAAe;YACf,WAAW;YACX,kBAAkB;YAClB,YAAY;YACZ,cAAc,CAAA,EAAA,CAAA,CAAA;AA+BH,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAPpB,SAAA,EAAA;YACT,iBAAiB;YACjB,WAAW;YACX,uBAAuB;YACvB,6BAA6B;AAC9B,SAAA,EAAA,OAAA,EAAA,CARS,WAAW,EAAE,YAAY,EAEzB,WAAW,EAAE,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAQxB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAXhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;AACpC,oBAAA,YAAY,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,aAAa,CAAC;oBACtD,OAAO,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,CAAC;AAC5E,oBAAA,SAAS,EAAE;wBACT,iBAAiB;wBACjB,WAAW;wBACX,uBAAuB;wBACvB,6BAA6B;AAC9B,qBAAA;AACF,iBAAA,CAAA;;;AC/CD;;;;;;;;;;;;;AAaG;AAEU,MAAA,iBAAiB,GAA6B,OAAO,CAAC,UAAU,EAAE;AAC7E,IAAA,KAAK,CACH,GAAG,EACH,KAAK,CAAC;AACJ,QAAA,SAAS,EAAE,+BAA+B;KAC3C,CAAC,EACF,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,CAChC;AACD,IAAA,KAAK,CACH,GAAG,EACH,KAAK,CAAC;AACJ,QAAA,SAAS,EAAE,6BAA6B;KACzC,CAAC,EACF,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,CAChC;IACD,UAAU,CACR,SAAS,EACT;AACE,QAAA,KAAK,CAAC;YACJ,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC/C,OAAO,CAAC,2CAA2C,CAAC;SACrD,CAAC;AACH,KAAA,EACD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAC3D;AACF,CAAA;;ACxCD;;;;;;;;;;;;AAYG;AACU,MAAA,mBAAmB,GAA6B,OAAO,CAClE,YAAY,EACZ;AACE,IAAA,KAAK,CACH,GAAG,EACH,KAAK,CAAC;AACJ,QAAA,MAAM,EAAE,GAAG;AACX,QAAA,QAAQ,EAAE,QAAQ;AACnB,KAAA,CAAC,CACH;AACD,IAAA,KAAK,CACH,GAAG,EACH,KAAK,CAAC;AACJ,QAAA,MAAM,EAAE,UAAU;AAClB,QAAA,QAAQ,EAAE,UAAU;AACrB,KAAA,CAAC,CACH;IACD,UAAU,CACR,QAAQ,EACR;AACE,QAAA,KAAK,CAAC;AACJ,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,MAAM,EAAE,UAAU;SACnB,CAAC;AACF,QAAA,KAAK,CAAC;YACJ,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC/C,YAAA,OAAO,CACL,2CAA2C,EAC3C,KAAK,CAAC;AACJ,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,QAAQ,EAAE,QAAQ;AACnB,aAAA,CAAC,CACH;SACF,CAAC;AACH,KAAA,EACD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAC3D;IACD,UAAU,CACR,QAAQ,EACR;AACE,QAAA,KAAK,CAAC;AACJ,YAAA,MAAM,EAAE,GAAG;AACX,YAAA,QAAQ,EAAE,QAAQ;SACnB,CAAC;AACF,QAAA,KAAK,CAAC;YACJ,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC/C,YAAA,OAAO,CACL,2CAA2C,EAC3C,KAAK,CAAC;AACJ,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,MAAM,EAAE,UAAU;AACnB,aAAA,CAAC,CACH;SACF,CAAC;AACH,KAAA,EACD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAC5D;AACF,CAAA;;ACtEH;;;;;;;;;;;;AAYG;AACU,MAAA,oBAAoB,GAA6B,OAAO,CACnE,aAAa,EACb;AACE,IAAA,KAAK,CACH,GAAG,EACH,KAAK,CAAC;AACJ,QAAA,OAAO,EAAE,GAAG;AACZ,QAAA,UAAU,EAAE,QAAQ;AACrB,KAAA,CAAC,CACH;AACD,IAAA,KAAK,CACH,GAAG,EACH,KAAK,CAAC;AACJ,QAAA,OAAO,EAAE,UAAU;AACnB,QAAA,UAAU,EAAE,UAAU;AACvB,KAAA,CAAC,CACH;IACD,UAAU,CACR,QAAQ,EACR;AACE,QAAA,KAAK,CAAC;YACJ,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC/C,OAAO,CAAC,+CAA+C,CAAC;SACzD,CAAC;AACH,KAAA,EACD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAC/D;IACD,UAAU,CACR,QAAQ,EACR;AACE,QAAA,KAAK,CAAC;YACJ,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC/C,OAAO,CAAC,gDAAgD,CAAC;SAC1D,CAAC;AACH,KAAA,EACD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CACjE;AACF,CAAA;;ACvDH;;;;;;;;;;;AAWG;AACU,MAAA,iBAAiB,GAA6B,OAAO,CAAC,UAAU,EAAE;AAC7E,IAAA,KAAK,CACH,GAAG,EACH,KAAK,CAAC;AACJ,QAAA,SAAS,EAAE,sBAAsB;AAClC,KAAA,CAAC,CACH;AACD,IAAA,KAAK,CACH,GAAG,EACH,KAAK,CAAC;AACJ,QAAA,SAAS,EAAE,sBAAsB;AAClC,KAAA,CAAC,CACH;IACD,UAAU,CACR,SAAS,EACT;AACE,QAAA,KAAK,CAAC;YACJ,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC/C,YAAA,OAAO,CACL,2CAA2C,EAC3C,SAAS,CAAC;AACR,gBAAA,KAAK,CAAC;AACJ,oBAAA,uBAAuB,EACrB,0CAA0C;AAC5C,oBAAA,SAAS,EAAE,sBAAsB;AACjC,oBAAA,MAAM,EAAE,CAAC;iBACV,CAAC;AACF,gBAAA,KAAK,CAAC;AACJ,oBAAA,uBAAuB,EACrB,0CAA0C;AAC5C,oBAAA,SAAS,EAAE,sBAAsB;AACjC,oBAAA,MAAM,EAAE,GAAG;iBACZ,CAAC;AACF,gBAAA,KAAK,CAAC;AACJ,oBAAA,uBAAuB,EACrB,0CAA0C;AAC5C,oBAAA,SAAS,EAAE,0BAA0B;AACrC,oBAAA,MAAM,EAAE,GAAG;iBACZ,CAAC;AACF,gBAAA,KAAK,CAAC;AACJ,oBAAA,uBAAuB,EACrB,0CAA0C;AAC5C,oBAAA,SAAS,EAAE,0BAA0B;AACrC,oBAAA,MAAM,EAAE,IAAI;iBACb,CAAC;AACF,gBAAA,KAAK,CAAC;AACJ,oBAAA,uBAAuB,EACrB,0CAA0C;AAC5C,oBAAA,SAAS,EAAE,sBAAsB;AACjC,oBAAA,MAAM,EAAE,IAAI;iBACb,CAAC;AACF,gBAAA,KAAK,CAAC;AACJ,oBAAA,uBAAuB,EACrB,0CAA0C;AAC5C,oBAAA,SAAS,EAAE,0BAA0B;AACrC,oBAAA,MAAM,EAAE,GAAG;iBACZ,CAAC;AACF,gBAAA,KAAK,CAAC;AACJ,oBAAA,uBAAuB,EACrB,0CAA0C;AAC5C,oBAAA,SAAS,EAAE,sBAAsB;AACjC,oBAAA,MAAM,EAAE,GAAG;iBACZ,CAAC;gBACF,KAAK,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC5D,gBAAA,KAAK,CAAC;AACJ,oBAAA,uBAAuB,EACrB,0CAA0C;AAC5C,oBAAA,SAAS,EAAE,sBAAsB;AACjC,oBAAA,MAAM,EAAE,GAAG;iBACZ,CAAC;AACH,aAAA,CAAC,CACH;SACF,CAAC;AACH,KAAA,EACD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAC5D;AACF,CAAA;;ACvFD;;;;;;;;;;;AAWG;AACU,MAAA,gBAAgB,GAA6B,OAAO,CAAC,SAAS,EAAE;AAC3E,IAAA,KAAK,CACH,GAAG,EACH,KAAK,CAAC;AACJ,QAAA,OAAO,EAAE,CAAC;AACX,KAAA,CAAC,CACH;AACD,IAAA,KAAK,CACH,GAAG,EACH,KAAK,CAAC;AACJ,QAAA,OAAO,EAAE,CAAC;AACX,KAAA,CAAC,CACH;IACD,UAAU,CACR,SAAS,EACT;AACE,QAAA,KAAK,CAAC;YACJ,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC/C,YAAA,OAAO,CACL,2CAA2C,EAC3C,SAAS,CAAC;gBACR,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;gBAChC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBACnC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;gBAClC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBACnC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACnC,aAAA,CAAC,CACH;SACF,CAAC;AACH,KAAA,EACD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAC5D;AACF,CAAA;;AC5CD;;;;;;;;;;;AAWG;AACU,MAAA,oBAAoB,GAA6B,OAAO,CACnE,aAAa,EACb;AACE,IAAA,KAAK,CACH,GAAG,EACH,KAAK,CAAC;AACJ,QAAA,SAAS,EAAE,eAAe;AAC3B,KAAA,CAAC,CACH;AACD,IAAA,KAAK,CACH,GAAG,EACH,KAAK,CAAC;AACJ,QAAA,SAAS,EAAE,eAAe;AAC3B,KAAA,CAAC,CACH;IACD,UAAU,CACR,SAAS,EACT;AACE,QAAA,KAAK,CAAC;YACJ,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC/C,YAAA,OAAO,CACL,2CAA2C,EAC3C,SAAS,CAAC;gBACR,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAChD,gBAAA,KAAK,CAAC;AACJ,oBAAA,SAAS,EAAE,iCAAiC;AAC5C,oBAAA,MAAM,EAAE,KAAK;iBACd,CAAC;AACF,gBAAA,KAAK,CAAC;AACJ,oBAAA,SAAS,EAAE,+BAA+B;AAC1C,oBAAA,MAAM,EAAE,KAAK;iBACd,CAAC;AACF,gBAAA,KAAK,CAAC;AACJ,oBAAA,SAAS,EAAE,iCAAiC;AAC5C,oBAAA,MAAM,EAAE,KAAK;iBACd,CAAC;AACF,gBAAA,KAAK,CAAC;AACJ,oBAAA,SAAS,EAAE,+BAA+B;AAC1C,oBAAA,MAAM,EAAE,KAAK;iBACd,CAAC;gBACF,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACnD,aAAA,CAAC,CACH;SACF,CAAC;AACH,KAAA,EACD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAC5D;AACF,CAAA;;AC3DH;;;;;;;;;;;AAWG;AACU,MAAA,gBAAgB,GAA6B,OAAO,CAAC,SAAS,EAAE;AAC3E,IAAA,KAAK,CACH,GAAG,EACH,KAAK,CAAC;AACJ,QAAA,SAAS,EAAE,MAAM;AAClB,KAAA,CAAC,CACH;AACD,IAAA,KAAK,CACH,GAAG,EACH,KAAK,CAAC;AACJ,QAAA,SAAS,EAAE,MAAM;AAClB,KAAA,CAAC,CACH;IACD,UAAU,CACR,SAAS,EACT;AACE,QAAA,KAAK,CAAC;YACJ,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC/C,YAAA,OAAO,CACL,2CAA2C,EAC3C,SAAS,CAAC;gBACR,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;gBACvC,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC3C,gBAAA,KAAK,CAAC;AACJ,oBAAA,SAAS,EAAE,iCAAiC;AAC5C,oBAAA,MAAM,EAAE,KAAK;iBACd,CAAC;AACF,gBAAA,KAAK,CAAC;AACJ,oBAAA,SAAS,EAAE,+BAA+B;AAC1C,oBAAA,MAAM,EAAE,KAAK;iBACd,CAAC;AACF,gBAAA,KAAK,CAAC;AACJ,oBAAA,SAAS,EAAE,mCAAmC;AAC9C,oBAAA,MAAM,EAAE,KAAK;iBACd,CAAC;AACF,gBAAA,KAAK,CAAC;AACJ,oBAAA,SAAS,EAAE,mCAAmC;AAC9C,oBAAA,MAAM,EAAE,KAAK;iBACd,CAAC;AACF,gBAAA,KAAK,CAAC;AACJ,oBAAA,SAAS,EAAE,uCAAuC;AAClD,oBAAA,MAAM,EAAE,KAAK;iBACd,CAAC;AACF,gBAAA,KAAK,CAAC;AACJ,oBAAA,SAAS,EAAE,uCAAuC;AAClD,oBAAA,MAAM,EAAE,KAAK;iBACd,CAAC;AACF,gBAAA,KAAK,CAAC;AACJ,oBAAA,SAAS,EAAE,2CAA2C;AACtD,oBAAA,MAAM,EAAE,KAAK;iBACd,CAAC;AACH,aAAA,CAAC,CACH;SACF,CAAC;AACH,KAAA,EACD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAC5D;AACF,CAAA;;ACrED;;;;;;;;;;;AAWG;AACU,MAAA,gBAAgB,GAA6B,OAAO,CAAC,SAAS,EAAE;AAC3E,IAAA,KAAK,CACH,GAAG,EACH,KAAK,CAAC;AACJ,QAAA,SAAS,EAAE,kBAAkB;AAC9B,KAAA,CAAC,CACH;AACD,IAAA,KAAK,CACH,GAAG,EACH,KAAK,CAAC;AACJ,QAAA,SAAS,EAAE,kBAAkB;AAC9B,KAAA,CAAC,CACH;IACD,UAAU,CACR,SAAS,EACT;AACE,QAAA,KAAK,CAAC;YACJ,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC/C,YAAA,OAAO,CACL,2CAA2C,EAC3C,SAAS,CAAC;gBACR,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;gBACnD,KAAK,CAAC,EAAE,SAAS,EAAE,2BAA2B,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;gBAC9D,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACtD,aAAA,CAAC,CACH;SACF,CAAC;AACH,KAAA,EACD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAC5D;AACF,CAAA;;AClDD,MAAM,IAAI,GAAQ,MAAK;;AAEvB,CAAC,CAAC;AAaF;AACgB,SAAA,yBAAyB,CAEvC,IAAO,EAAE,YAAkB,EAAA;IAC3B,OAAO,cAAc,IAAI,CAAA;QACf,MAAM,GACZ,YAAY,YAAY,KAAK;cACzB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC;cAC/B,YAAY,CAAC;AACX,QAAA,oBAAoB,CAAe;AAC3C,QAAA,YAAY,CAAkB;AAE9B,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACxB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AACf,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,OAAO,EAAO,CAAC;YAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC;SAC9D;QAED,IAAI,KAAK,CAAC,CAAM,EAAA;AACd,YAAA,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;AACrB,gBAAA,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAChB,gBAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACjB,gBAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;AACvC,gBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACnC;SACF;AACD,QAAA,IAAI,KAAK,GAAA;YACP,OAAO,IAAI,CAAC,MAAM,CAAC;SACpB;AAED,QAAA,UAAU,CAAC,KAAU,EAAA;AACnB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;SACxC;AAED,QAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,YAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACpB;AAED,QAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACrB;AAED,QAAA,QAAQ,GAAG,CAAC,CAAM,KAAK,IAAI,CAAC;AAC5B,QAAA,SAAS,GAAG,MAAM,IAAI,CAAC;KACxB,CAAC;AACJ;;AC1DA;AACM,SAAU,aAAa,CAC3B,IAAO,EAAA;IAEP,OAAO,cAAc,IAAI,CAAA;QACf,SAAS,GAAG,KAAK,CAAC;AAE1B,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACxB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;SAChB;AAED,QAAA,IAAI,QAAQ,GAAA;YACV,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;QACD,IAAI,QAAQ,CAAC,KAAc,EAAA;AACzB,YAAA,MAAM,QAAQ,GAAY,qBAAqB,CAAC,KAAK,CAAC,CAAC;AACvD,YAAA,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;AAC/B,gBAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC1B,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACvC;SACF;AAED,QAAA,gBAAgB,CAAC,CAAU,EAAA;;SAE1B;KACF,CAAC;AACJ;;AC1BA;AACM,SAAU,kBAAkB,CAEhC,IAAO,EAAA;IACP,OAAO,cAAc,IAAI,CAAA;QACf,cAAc,GAAG,KAAK,CAAC;AAE/B,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACxB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;SAChB;AAED,QAAA,IAAI,aAAa,GAAA;YACf,OAAO,IAAI,CAAC,cAAc,CAAC;SAC5B;QACD,IAAI,aAAa,CAAC,KAAc,EAAA;AAC9B,YAAA,MAAM,QAAQ,GAAY,qBAAqB,CAAC,KAAK,CAAC,CAAC;AACvD,YAAA,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE;AACpC,gBAAA,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;AAC/B,gBAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aACjD;SACF;AAED,QAAA,qBAAqB,CAAC,CAAU,EAAA;;SAE/B;KACF,CAAC;AACJ;;MClCa,kBAAkB,CAAA;IAC7B,OAAO,GAAG,CAAC,QAAa,EAAA;;AAEtB,QAAA,MAAM,IAAI,GAAgB,CAAC,CAAkB,KAA4B;AACvE,YAAA,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE;AAC7D,gBAAA,OAAO,EAAE,CAAC;aACX;AACD,YAAA,MAAM,CAAC,GAAW,CAAC,CAAC,KAAK,CAAC;YAC1B,OAAO,CAAC,GAAG,QAAQ,GAAG,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC;AACnE,SAAC,CAAC;AACF,QAAA,OAAO,IAAI,CAAC;KACb;IAED,OAAO,GAAG,CAAC,QAAa,EAAA;;AAEtB,QAAA,MAAM,IAAI,GAAgB,CAAC,CAAkB,KAA4B;AACvE,YAAA,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE;AAC7D,gBAAA,OAAO,EAAE,CAAC;aACX;AACD,YAAA,MAAM,CAAC,GAAW,CAAC,CAAC,KAAK,CAAC;YAC1B,OAAO,CAAC,GAAG,QAAQ,GAAG,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC;AACnE,SAAC,CAAC;AACF,QAAA,OAAO,IAAI,CAAC;KACb;IAED,OAAO,cAAc,CAAC,CAAkB,EAAA;QACtC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;KACxD;AACF;;AC9BD;;;;;;;AAOG;AACG,SAAU,eAAe,CAAC,KAAa,EAAA;;IAE3C,MAAM,YAAY,GAAwB,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AAC7E,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;;AAGxC,IAAA,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3B,YAAY,CAAC,MAAM,EAAE,CAAC;;IAGtB,MAAM,OAAO,GAAY,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;;AAGtD,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;;AAGxC,IAAA,OAAO,OAAO,CAAC;AACjB;;ACzBA;;;;;;;;AAQG;AACG,SAAU,mBAAmB,CACjC,OAAc,EACd,YAAY,GAAG,GAAG,EAClB,aAAa,GAAG,MAAM,EAAA;IAEtB,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,OAAO,EAAE,CAAC;KACX;IAED,IAAI,YAAY,GAAG,EAAE,CAAC;;IAGtB,OAAO,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,GAAW,KAAI;QAC7C,IAAI,IAAI,GAAG,EAAE,CAAC;AACd,QAAA,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;AAC7C,YAAA,IAAI,IAAI,KAAK,EAAE,EAAE;gBACf,IAAI,IAAI,YAAY,CAAC;aACtB;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE;gBACrE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;aAC1B;YACD,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;SAC7B;AACD,QAAA,YAAY,IAAI,CAAG,EAAA,IAAI,CAAG,EAAA,aAAa,EAAE,CAAC;AAC5C,KAAC,CAAC,CAAC;;AAGH,IAAA,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;AACd,QAAA,MAAM,OAAO,GAAW,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnE,YAAY,GAAG,GAAG,OAAO,CAAA,EAAG,aAAa,CAAG,EAAA,YAAY,EAAE,CAAC;KAC5D;AAED,IAAA,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;AAYG;AACa,SAAA,gBAAgB,CAC9B,GAAW,EACX,YAAY,GAAG,GAAG,EAClB,aAAa,GAAG,MAAM,EACtB,MAAM,GAAG,CAAC,EAAA;IAEV,IAAI,CAAC,GAAG,EAAE;AACR,QAAA,OAAO,EAAE,CAAC;KACX;IAED,MAAM,QAAQ,GAAa,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;;AAEpD,IAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,QAAA,OAAO,EAAE,CAAC;KACX;IAED,MAAM,UAAU,GAAU,EAAE,CAAC;;IAG7B,MAAM,IAAI,GAAa,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;;AAEvD,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,SAAS,GAAQ,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAa,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;YACjC,SAAS;SACV;AACD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;SAChC;AACD,QAAA,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC5B;AAED,IAAA,OAAO,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC;AAED;;;;;AAKG;SACa,UAAU,CAAC,IAAY,EAAE,MAAM,GAAG,CAAC,EAAA;IACjD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACjD;;ACpGA;;;;;;AAMG;AACa,SAAA,WAAW,CAAC,YAAoB,EAAE,GAAW,EAAA;IAC3D,YAAY,CAAC,GAAG,YAAY,CAAA,IAAA,CAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;;AAQG;AACa,SAAA,YAAY,CAC1B,YAAoB,EACpB,IAAY,EACZ,MAAM,GAAG,KAAK,EACd,MAAM,GAAG,CAAC,EAAA;IAEV,YAAY,CACV,CAAG,EAAA,YAAY,CAAO,KAAA,CAAA,EACtB,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,EACpD,kBAAkB,CACnB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;AAUG;AACa,SAAA,oBAAoB,CAClC,YAAoB,EACpB,OAAc,EACd,YAAY,GAAG,GAAG,EAClB,aAAa,GAAG,MAAM,EAAA;AAEtB,IAAA,YAAY,CACV,CAAG,EAAA,YAAY,CAAM,IAAA,CAAA,EACrB,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,EACzD,UAAU,CACX,CAAC;AACJ,CAAC;AAED;;;;;;;;AAQG;AACG,SAAU,qBAAqB,CACnC,YAAoB,EACpB,OAAc,EACd,MAAM,GAAG,CAAC,EAAA;AAEV,IAAA,YAAY,CACV,CAAA,EAAG,YAAY,CAAA,KAAA,CAAO,EACtB,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,EAC3B,kBAAkB,CACnB,CAAC;AACJ,CAAC;AAED;;;;;;AAMG;AACG,SAAU,YAAY,CAC1B,QAAgB,EAChB,QAAgB,EAChB,QAAQ,GAAG,YAAY,EAAA;AAEvB,IAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE;QAC1B,OAAO;KACR;;AAGD,IAAA,MAAM,IAAI,GAAS,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAW,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;;IAGrD,MAAM,CAAC,GAAsB,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACzD,IAAA,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AACzC,IAAA,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACrC,IAAA,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;AACb,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,KAAK,EAAE,CAAC;AACV,IAAA,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;AAChC,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAC7B,IAAA,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;AAClC;;AC9GA;;;;;AAKG;AACG,SAAU,QAAQ,CAAC,IAAU,EAAA;AACjC,IAAA,OAAO,IAAI,OAAO,CAAS,CAAC,OAAgC,KAAI;AAC9D,QAAA,MAAM,MAAM,GAAe,IAAI,UAAU,EAAE,CAAC;AAC5C,QAAA,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACjC,QAAA,MAAM,CAAC,MAAM,GAAG,MAAK;AACnB,YAAA,OAAO,CAAS,MAAM,CAAC,MAAM,CAAC,CAAC;AACjC,SAAC,CAAC;AACJ,KAAC,CAAC,CAAC;AACL;;ACdA;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"covalent-core-side-sheet.mjs","sources":["../../../../libs/angular/side-sheet/src/side-sheet.animation.ts","../../../../libs/angular/side-sheet/src/side-sheet.config.ts","../../../../libs/angular/side-sheet/src/side-sheet-container.ts","../../../../libs/angular/side-sheet/src/side-sheet-ref.ts","../../../../libs/angular/side-sheet/src/side-sheet.ts","../../../../libs/angular/side-sheet/src/side-sheet.content-directives.ts","../../../../libs/angular/side-sheet/src/side-sheet.module.ts","../../../../libs/angular/side-sheet/src/covalent-core-side-sheet.ts"],"sourcesContent":["import {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\nimport { AnimationCurves, AnimationDurations } from '@angular/material/core';\n\nexport const tdSideSheetAnimations: {\n readonly sideSheetContainer: AnimationTriggerMetadata;\n} = {\n /** Animation that is applied on the side-sheet container by default. */\n sideSheetContainer: trigger('sideSheetContainer', [\n state('void, exit', style({ transform: 'translateX(100%)' })),\n state('enter', style({ transform: 'translateX(0%)', opacity: 1 })),\n transition(\n '* => enter',\n animate(\n `${AnimationDurations.ENTERING} ${AnimationCurves.ACCELERATION_CURVE}`,\n style({ transform: 'translateX(0)', opacity: 1 })\n )\n ),\n transition(\n '* => void, * => exit',\n animate(\n `${AnimationDurations.EXITING} ${AnimationCurves.ACCELERATION_CURVE}`,\n style({ transform: 'translateX(100%)' })\n )\n ),\n ]),\n};\n","import { MatDialogConfig } from '@angular/material/dialog';\n\nexport enum SubPageMode {\n pushed = 'pushed',\n shifted = 'shifted',\n none = 'none',\n}\n\nexport class CovalentSideSheetConfig<D = any> extends MatDialogConfig<D> {\n subPageMode?: string = SubPageMode.pushed;\n}\n","/* tslint:disable */\nimport { AnimationEvent } from '@angular/animations';\nimport {\n ConfigurableFocusTrap,\n ConfigurableFocusTrapFactory,\n FocusMonitor,\n FocusOrigin,\n} from '@angular/cdk/a11y';\nimport {\n BasePortalOutlet,\n CdkPortalOutlet,\n ComponentPortal,\n DomPortal,\n TemplatePortal,\n} from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Optional,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { tdSideSheetAnimations } from './side-sheet.animation';\nimport { CovalentSideSheetConfig } from './side-sheet.config';\n\nexport function _getFocusedElementPierceShadowDom(): HTMLElement | null {\n let activeElement =\n typeof document !== 'undefined' && document\n ? (document.activeElement as HTMLElement | null)\n : null;\n\n while (activeElement && activeElement.shadowRoot) {\n const newActiveElement = activeElement.shadowRoot\n .activeElement as HTMLElement | null;\n if (newActiveElement === activeElement) {\n break;\n } else {\n activeElement = newActiveElement;\n }\n }\n\n return activeElement;\n}\n\n/**\n * Base class for the `CovalentSideSheetContainer`. The base class does not implement\n * animations as these are left to implementers of the side-sheet container.\n */\n@Directive()\nexport abstract class _CovalentSideSheetContainerBase extends BasePortalOutlet {\n protected _document: Document;\n\n /** The portal outlet inside of this container into which the side-sheet content will be loaded. */\n @ViewChild(CdkPortalOutlet, { static: true }) _portalOutlet!: CdkPortalOutlet;\n\n /** The class that traps and manages focus within the side-sheet. */\n private _focusTrap!: ConfigurableFocusTrap;\n\n /** Emits when an animation state changes. */\n _animationStateChanged = new EventEmitter<{\n state: 'opened' | 'opening' | 'closing' | 'closed';\n totalTime: number;\n }>();\n\n /** Element that was focused before the side-sheet was opened. Save this to restore upon close. */\n private _elementFocusedBeforeSideSheetWasOpened: HTMLElement | null = null;\n\n /**\n * Type of interaction that led to the side-sheet being closed. This is used to determine\n * whether the focus style will be applied when returning focus to its original location\n * after the side-sheet is closed.\n */\n _closeInteractionType: FocusOrigin | null = null;\n\n /** ID of the element that should be considered as the side-sheet's label. */\n _ariaLabelledBy: string | null;\n\n /** ID for the container DOM element. */\n _id!: string;\n\n constructor(\n protected _elementRef: ElementRef,\n protected _focusTrapFactory: ConfigurableFocusTrapFactory,\n protected _changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(DOCUMENT) _document: any,\n /** The side-sheet configuration. */\n public _config: CovalentSideSheetConfig,\n private _focusMonitor?: FocusMonitor\n ) {\n super();\n this._ariaLabelledBy = _config.ariaLabelledBy || null;\n this._document = _document;\n }\n\n /** Starts the side-sheet exit animation. */\n abstract _startExitAnimation(): void;\n\n /** Initializes the side-sheet container with the attached content. */\n _initializeWithAttachedContent() {\n this._setupFocusTrap();\n // Save the previously focused element. This element will be re-focused\n // when the side-sheet closes.\n this._capturePreviouslyFocusedElement();\n }\n\n /**\n * Attach a ComponentPortal as content to this side-sheet container.\n * @param portal Portal to be attached as the side-sheet content.\n */\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n return this._portalOutlet.attachComponentPortal(portal);\n }\n\n /**\n * Attach a TemplatePortal as content to this side-sheet container.\n * @param portal Portal to be attached as the side-sheet content.\n */\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n return this._portalOutlet.attachTemplatePortal(portal);\n }\n\n /**\n * Attaches a DOM portal to the side-sheet container.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n */\n override attachDomPortal = (portal: DomPortal) => {\n return this._portalOutlet.attachDomPortal(portal);\n };\n\n /** Moves focus back into the side-sheet if it was moved out. */\n _recaptureFocus() {\n if (!this._containsFocus()) {\n this._trapFocus();\n }\n }\n\n /**\n * Moves the focus inside the focus trap. When autoFocus is not set to 'side-sheet', if focus\n * cannot be moved then focus will go to the side-sheet container.\n */\n protected _trapFocus() {\n const element = this._elementRef.nativeElement;\n if (!this._config.autoFocus) {\n if (!this._containsFocus()) {\n element.focus();\n }\n } else {\n this._focusTrap\n .focusInitialElementWhenReady()\n .then((focusedSuccessfully) => {\n // If we weren't able to find a focusable element in the side-sheet, then focus the side-sheet\n // container instead.\n if (!focusedSuccessfully) {\n this._focusSideSheetContainer();\n }\n });\n }\n }\n\n /** Restores focus to the element that was focused before the side-sheet opened. */\n protected _restoreFocus() {\n const previousElement = this._elementFocusedBeforeSideSheetWasOpened;\n\n // We need the extra check, because IE can set the `activeElement` to null in some cases.\n if (\n this._config.restoreFocus &&\n previousElement &&\n typeof previousElement.focus === 'function'\n ) {\n const activeElement = _getFocusedElementPierceShadowDom();\n const element = this._elementRef.nativeElement;\n\n // Make sure that focus is still inside the side-sheet or is on the body (usually because a\n // non-focusable element like the backdrop was clicked) before moving it. It's possible that\n // the consumer moved it themselves before the animation was done, in which case we shouldn't\n // do anything.\n if (\n !activeElement ||\n activeElement === this._document.body ||\n activeElement === element ||\n element.contains(activeElement)\n ) {\n if (this._focusMonitor) {\n this._focusMonitor.focusVia(\n previousElement,\n this._closeInteractionType\n );\n this._closeInteractionType = null;\n } else {\n previousElement.focus();\n }\n }\n }\n\n if (this._focusTrap) {\n this._focusTrap.destroy();\n }\n }\n\n /** Sets up the focus trap. */\n private _setupFocusTrap() {\n this._focusTrap = this._focusTrapFactory.create(\n this._elementRef.nativeElement\n );\n }\n\n /** Captures the element that was focused before the side-sheet was opened. */\n private _capturePreviouslyFocusedElement() {\n if (this._document) {\n this._elementFocusedBeforeSideSheetWasOpened =\n _getFocusedElementPierceShadowDom();\n }\n }\n\n /** Focuses the side-sheet container. */\n private _focusSideSheetContainer() {\n // Note that there is no focus method when rendering on the server.\n if (this._elementRef.nativeElement.focus) {\n this._elementRef.nativeElement.focus();\n }\n }\n\n /** Returns whether focus is inside the side-sheet. */\n private _containsFocus() {\n const element = this._elementRef.nativeElement;\n const activeElement = _getFocusedElementPierceShadowDom();\n return element === activeElement || element.contains(activeElement);\n }\n}\n\n/**\n * Internal component that wraps the generated side-sheet content.\n * This animation below is the only reason for duplicating most of the Material dialog code\n */\n@Component({\n selector: 'td-side-sheet-container',\n template: ` <ng-template cdkPortalOutlet></ng-template> `,\n styleUrls: ['side-sheet.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Default,\n animations: [tdSideSheetAnimations.sideSheetContainer],\n})\nexport class CovalentSideSheetContainerComponent extends _CovalentSideSheetContainerBase {\n /** State of the side-sheet animation. */\n _state: 'void' | 'enter' | 'exit' = 'enter';\n\n @HostBinding('class.td-side-sheet-container') tdSideSheetContainerClass =\n true;\n @HostBinding('tabindex') tabIndex = -1;\n @HostBinding('aria-modal') arialModal = true;\n @HostBinding('id') idAttr = this._id;\n @HostBinding('attr.role') roleAttr = this._config.role;\n @HostBinding('attr.aria-labelledby') arialLabelByAttr = this._config.ariaLabel\n ? null\n : this._ariaLabelledBy;\n @HostBinding('attr.aria-describedby') arialDescribeByAttr =\n this._config.ariaDescribedBy || null;\n @HostBinding('attr.aria-label') arialLabelAttr = this._config.ariaLabel;\n @HostBinding('@sideSheetContainer') get sideSheetAnimationState() {\n return this._state;\n }\n @HostListener('@sideSheetContainer.start', ['$event']) onAnimateStart(\n $event: AnimationEvent\n ) {\n this._onAnimationStart($event);\n }\n\n @HostListener('@sideSheetContainer.done', ['$event']) onAnimateDone(\n $event: AnimationEvent\n ) {\n this._onAnimationDone($event);\n }\n\n /** Callback, invoked whenever an animation on the host completes. */\n _onAnimationDone({ toState, totalTime }: AnimationEvent) {\n if (toState === 'enter') {\n this._trapFocus();\n this._animationStateChanged.next({ state: 'opened', totalTime });\n } else if (toState === 'exit') {\n this._restoreFocus();\n this._animationStateChanged.next({ state: 'closed', totalTime });\n }\n }\n\n /** Callback, invoked when an animation on the host starts. */\n _onAnimationStart({ toState, totalTime }: AnimationEvent) {\n if (toState === 'enter') {\n this._animationStateChanged.next({ state: 'opening', totalTime });\n } else if (toState === 'exit' || toState === 'void') {\n this._animationStateChanged.next({ state: 'closing', totalTime });\n }\n }\n\n /** Starts the side-sheet exit animation. */\n _startExitAnimation(): void {\n this._state = 'exit';\n this._changeDetectorRef.markForCheck();\n }\n}\n","/* tslint:disable */\nimport { FocusOrigin } from '@angular/cdk/a11y';\nimport { DialogRef } from '@angular/cdk/dialog';\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { BasePortalOutlet } from '@angular/cdk/portal';\nimport { MatDialogRef, MatDialogContainer } from '@angular/material/dialog';\nimport { CovalentSideSheetConfig } from './side-sheet.config';\n\n// Counter for unique dialog ids.\nlet uniqueId = 0;\n\n// Create a new side sheet ref to change the id of the ref\nexport class CovalentSideSheetRef<T, R = any> extends MatDialogRef<T, R> {\n constructor(\n public overlayRef: OverlayRef,\n public config: CovalentSideSheetConfig,\n public override _containerInstance: MatDialogContainer,\n override readonly id: string = `td-side-sheet-${uniqueId++}`\n ) {\n const ref = new DialogRef<R, T>(overlayRef, config);\n super(ref, config, _containerInstance);\n (ref as { containerInstance: BasePortalOutlet }).containerInstance =\n this._containerInstance;\n }\n}\n\nexport function _closeSideSheetVia<R>(\n ref: CovalentSideSheetRef<R>,\n interactionType: FocusOrigin,\n result?: R\n) {\n // Some mock dialog ref instances in tests do not have the `_containerInstance` property.\n // For those, we keep the behavior as is and do not deal with the interaction type.\n if (ref._containerInstance !== undefined) {\n ref._containerInstance._closeInteractionType = interactionType;\n }\n return ref.close(result);\n}\n","/* tslint:disable */\nimport {\n Directive,\n Inject,\n Injectable,\n InjectFlags,\n InjectionToken,\n Injector,\n OnDestroy,\n Optional,\n SkipSelf,\n StaticProvider,\n TemplateRef,\n Type,\n} from '@angular/core';\nimport {\n Overlay,\n OverlayConfig,\n OverlayRef,\n GlobalPositionStrategy,\n} from '@angular/cdk/overlay';\nimport {\n ComponentPortal,\n ComponentType,\n TemplatePortal,\n} from '@angular/cdk/portal';\nimport {\n MAT_DIALOG_DATA,\n MAT_DIALOG_DEFAULT_OPTIONS,\n} from '@angular/material/dialog';\nimport { AnimationCurves, AnimationDurations } from '@angular/material/core';\nimport {\n CovalentSideSheetContainerComponent,\n _CovalentSideSheetContainerBase,\n} from './side-sheet-container';\nimport { Subject, Subscription, of } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\nimport { Directionality } from '@angular/cdk/bidi';\n\nimport { CovalentSideSheetRef } from './side-sheet-ref';\nimport { SubPageMode, CovalentSideSheetConfig } from './side-sheet.config';\n\n@Directive()\nexport class _CovalentSideSheetBase<C extends _CovalentSideSheetContainerBase>\n implements OnDestroy\n{\n private _openSideSheetsAtThisLevel: CovalentSideSheetRef<unknown>[] = [];\n private readonly _afterAllClosedAtThisLevel = new Subject<void>();\n private readonly _afterOpenedAtThisLevel = new Subject<\n CovalentSideSheetRef<unknown>\n >();\n private _animationStateSubscriptions!: Subscription;\n\n private defaultSidebarConfig = {\n minWidth: '400px',\n maxWidth: '100vw',\n };\n\n constructor(\n private _overlay: Overlay,\n private _injector: Injector,\n private _defaultOptions: CovalentSideSheetConfig | undefined,\n private _parentSideSheet: _CovalentSideSheetBase<C> | undefined,\n private _sideSheetRefConstructor: Type<CovalentSideSheetRef<any>>,\n private _sideSheetContainerType: Type<C>,\n private _sideSheetDataToken: InjectionToken<unknown>\n ) {}\n\n /** Keeps track of the currently-open side-sheets. */\n get openSideSheets(): CovalentSideSheetRef<unknown>[] {\n return this._parentSideSheet\n ? this._parentSideSheet.openSideSheets\n : this._openSideSheetsAtThisLevel;\n }\n\n open<T, D = unknown, R = unknown>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n config?: CovalentSideSheetConfig<D>\n ): CovalentSideSheetRef<T, R> {\n config = {\n ...(this._defaultOptions || new CovalentSideSheetConfig()),\n ...this.defaultSidebarConfig,\n ...config,\n };\n\n const overlayRef = this._createOverlay(config);\n const sideSheetContainer = this._attachSideSheetContainer(\n overlayRef,\n config\n );\n const sideSheetRef = this._attachSideSheetContent<T, R>(\n componentOrTemplateRef,\n sideSheetContainer,\n overlayRef,\n config\n );\n const prevSideSheetRef: CovalentSideSheetRef<unknown> =\n this.openSideSheets.slice(-1)[0];\n const prevOverlayRef = prevSideSheetRef?.overlayRef;\n\n if (\n prevOverlayRef?.overlayElement &&\n config.subPageMode !== SubPageMode.none\n ) {\n prevOverlayRef.overlayElement.style.transition = `${AnimationDurations.COMPLEX} ${AnimationCurves.DECELERATION_CURVE}`;\n if (config.subPageMode === SubPageMode.pushed) {\n // Animate previous side sheet to full width\n prevOverlayRef.overlayElement.style.minWidth = `${\n (window as any).innerWidth\n }px`;\n } else if (config.subPageMode === SubPageMode.shifted) {\n // Animate previous side sheet to current sidesheet width + 200px\n prevOverlayRef.overlayElement.style.minWidth = `${\n sideSheetRef.overlayRef.overlayElement.offsetWidth + 200\n }px`;\n }\n }\n\n // Revert the previous side sheet config & size\n sideSheetRef._containerInstance._animationStateChanged\n .pipe(\n filter(\n (event) =>\n event.state === 'closing' && !!(prevSideSheetRef && prevOverlayRef)\n ),\n take(1)\n )\n .subscribe(() => {\n prevOverlayRef.overlayElement.style.transition = `${AnimationDurations.EXITING} ${AnimationCurves.DECELERATION_CURVE}`;\n prevSideSheetRef.updateSize();\n });\n\n // Add new side sheet to open list\n this.openSideSheets.push(sideSheetRef);\n\n // Remove side sheet ref after closed\n sideSheetRef\n .afterClosed()\n .pipe(take(1))\n .subscribe(() => this._removeOpenSideSheet(sideSheetRef));\n\n // Notify the side-sheet container that the content has been attached.\n sideSheetContainer._initializeWithAttachedContent();\n\n return sideSheetRef;\n }\n\n ngOnDestroy() {\n // Only close the side-sheets at this level on destroy\n // since the parent service may still be active.\n this._closeSideSheets(this._openSideSheetsAtThisLevel);\n this._afterAllClosedAtThisLevel.complete();\n this._afterOpenedAtThisLevel.complete();\n // Clean up any subscriptions to side-sheet that never finished opening.\n if (this._animationStateSubscriptions) {\n this._animationStateSubscriptions.unsubscribe();\n }\n }\n\n /**\n * Closes all of the currently-open side-sheets.\n */\n closeAll(): void {\n this._closeSideSheets(this.openSideSheets);\n }\n\n private _createOverlay<T>(config: CovalentSideSheetConfig): OverlayRef {\n const overlayConfig = new OverlayConfig({\n positionStrategy: this._overlay.position().global(),\n scrollStrategy: this._overlay.scrollStrategies.block(),\n panelClass: config.panelClass,\n hasBackdrop: config.hasBackdrop,\n direction: config.direction,\n minWidth: config.minWidth,\n minHeight: config.minHeight,\n maxWidth: config.maxWidth,\n });\n const overlayRef = this._overlay.create(overlayConfig);\n const positionStrategy = overlayRef.getConfig()\n .positionStrategy as GlobalPositionStrategy;\n positionStrategy.right('0px');\n\n return overlayRef;\n }\n\n /**\n * Attaches a container to a side-sheets's already-created overlay.\n * @param overlay Reference to the side-sheet's underlying overlay.\n * @param config The side-sheet configuration.\n * @returns A promise resolving to a ComponentRef for the attached container.\n */\n private _attachSideSheetContainer(\n overlay: OverlayRef,\n config: CovalentSideSheetConfig\n ): C {\n const userInjector =\n config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this._injector,\n providers: [{ provide: CovalentSideSheetConfig, useValue: config }],\n });\n\n const containerPortal = new ComponentPortal(\n this._sideSheetContainerType,\n config.viewContainerRef,\n injector,\n config.componentFactoryResolver\n );\n const containerRef = overlay.attach<C>(containerPortal);\n\n return containerRef.instance;\n }\n\n /**\n * Attaches the user-provided component to the already-created side sheet container.\n * @param componentOrTemplateRef The type of component being loaded into the side-sheet,\n * or a TemplateRef to instantiate as the content.\n * @param dialogContainer Reference to the wrapping side-sheet container.\n * @param overlayRef Reference to the overlay in which the side-sheet resides.\n * @param config The side-sheet configuration.\n * @returns A promise resolving to the CovalentSideSheetRef that should be returned to the user.\n */\n private _attachSideSheetContent<T, R>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n sideSheetContainer: C,\n overlayRef: OverlayRef,\n config: CovalentSideSheetConfig\n ): CovalentSideSheetRef<T, R> {\n // Create a reference to the side-sheet we're creating in order to give the user a handle\n // to modify and close it.\n const sideSheetRef = new this._sideSheetRefConstructor(\n overlayRef,\n config,\n sideSheetContainer,\n config.id\n );\n\n if (componentOrTemplateRef instanceof TemplateRef) {\n sideSheetContainer.attachTemplatePortal(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n new TemplatePortal<T>(componentOrTemplateRef, null!, <any>{\n $implicit: config.data,\n sideSheetRef,\n })\n );\n } else {\n const injector = this._createInjector<T>(\n config,\n sideSheetRef,\n sideSheetContainer\n );\n const contentRef = sideSheetContainer.attach<T>(\n new ComponentPortal(\n componentOrTemplateRef,\n config.viewContainerRef,\n injector\n )\n );\n sideSheetRef.componentInstance = contentRef.instance;\n }\n\n sideSheetRef.updateSize(config.width, config.height);\n\n return sideSheetRef;\n }\n\n private _createInjector<T>(\n config: CovalentSideSheetConfig,\n sideSheetRef: CovalentSideSheetRef<T>,\n sideSheetContainer: C\n ): Injector {\n const userInjector =\n config && config.viewContainerRef && config.viewContainerRef.injector;\n\n // The side-sheet container should be provided as the side-sheet container and the side-sheet's\n // content are created out of the same `ViewContainerRef` and as such, are siblings\n // for injector purposes. To allow the hierarchy that is expected, the side-sheet\n // container is explicitly provided in the injector.\n const providers: StaticProvider[] = [\n { provide: this._sideSheetContainerType, useValue: sideSheetContainer },\n { provide: this._sideSheetDataToken, useValue: config.data },\n { provide: this._sideSheetRefConstructor, useValue: sideSheetRef },\n ];\n\n if (\n config.direction &&\n (!userInjector ||\n !userInjector.get<Directionality | null>(\n Directionality,\n null,\n InjectFlags.Optional\n ))\n ) {\n providers.push({\n provide: Directionality,\n useValue: { value: config.direction, change: of() },\n });\n }\n\n return Injector.create({\n parent: userInjector || this._injector,\n providers,\n });\n }\n\n /**\n * Removes a side sheet from the array of open side sheets.\n * @param sideSheetRef Side Sheet to be removed.\n */\n private _removeOpenSideSheet(sideSheetRef: CovalentSideSheetRef<unknown>) {\n const index = this.openSideSheets.indexOf(sideSheetRef);\n\n if (index > -1) {\n this.openSideSheets.splice(index, 1);\n }\n }\n\n /** Closes all of the side-sheet in an array. */\n private _closeSideSheets(sideSheets: CovalentSideSheetRef<any>[]) {\n let i = sideSheets.length;\n\n while (i--) {\n sideSheets[i].close();\n }\n }\n}\n\n/**\n * Service to open Covalent Design side-sheet.\n */\n@Injectable()\nexport class CovalentSideSheet extends _CovalentSideSheetBase<CovalentSideSheetContainerComponent> {\n constructor(\n overlay: Overlay,\n injector: Injector,\n @Optional()\n @Inject(MAT_DIALOG_DEFAULT_OPTIONS)\n defaultOptions: CovalentSideSheetConfig,\n @Optional() @SkipSelf() parentSideSheet: CovalentSideSheet\n ) {\n super(\n overlay,\n injector,\n defaultOptions,\n parentSideSheet,\n CovalentSideSheetRef,\n CovalentSideSheetContainerComponent,\n MAT_DIALOG_DATA\n );\n }\n}\n","/* tslint:disable */\nimport {\n Directive,\n Input,\n OnChanges,\n OnInit,\n Optional,\n SimpleChanges,\n ElementRef,\n HostBinding,\n HostListener,\n} from '@angular/core';\nimport { CovalentSideSheet } from './side-sheet';\nimport { _closeSideSheetVia, CovalentSideSheetRef } from './side-sheet-ref';\n\n/** Counter used to generate unique IDs for dialog elements. */\nlet dialogElementUid = 0;\n\n/**\n * Button that will close the current dialog.\n */\n@Directive({\n selector: '[td-side-sheet-close], [CovalentSideSheetClose]',\n exportAs: 'CovalentSideSheetClose',\n})\nexport class CovalentSideSheetCloseDirective implements OnInit, OnChanges {\n /** Screenreader label for the button. */\n @HostBinding('attr.arial-label')\n @Input('aria-label')\n ariaLabel?: string;\n\n /** Default to \"button\" to prevents accidental form submits. */\n @HostBinding('attr.type')\n @Input()\n type: 'submit' | 'button' | 'reset' = 'button';\n\n /** Dialog close input. */\n @Input('td-side-sheet-close') dialogResult: any;\n\n @Input('CovalentSideSheetClose') _CovalentSideSheetClose: any;\n\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n this._onButtonClick($event);\n }\n\n constructor(\n @Optional() public dialogRef: CovalentSideSheetRef<any>,\n private _elementRef: ElementRef<HTMLElement>,\n private _dialog: CovalentSideSheet\n ) {}\n\n ngOnInit(): void {\n if (!this.dialogRef) {\n // When this directive is included in a dialog via TemplateRef (rather than being\n // in a Component), the DialogRef isn't available via injection because embedded\n // views cannot be given a custom injector. Instead, we look up the DialogRef by\n // ID. This must occur in `onInit`, as the ID binding for the dialog container won't\n // be resolved at constructor time.\n this.dialogRef = getClosestDialog(\n this._elementRef,\n this._dialog.openSideSheets\n );\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const proxiedChange =\n changes['_CovalentSideSheetClose'] ||\n changes['_CovalentSideSheetCloseResult'];\n\n if (proxiedChange) {\n this.dialogResult = proxiedChange.currentValue;\n }\n }\n\n _onButtonClick(event: MouseEvent) {\n // Determinate the focus origin using the click event, because using the FocusMonitor will\n // result in incorrect origins. Most of the time, close buttons will be auto focused in the\n // dialog, and therefore clicking the button won't result in a focus change. This means that\n // the FocusMonitor won't detect any origin change, and will always output `program`.\n _closeSideSheetVia(\n this.dialogRef,\n event.screenX === 0 && event.screenY === 0 ? 'keyboard' : 'mouse',\n this.dialogResult\n );\n }\n}\n\n/**\n * Title of a side sheet element. Stays fixed to the top of the side sheet when scrolling.\n */\n@Directive({\n selector: '[td-side-sheet-title], [CovalentSideSheetTitle]',\n exportAs: 'CovalentSideSheetTitle',\n})\nexport class CovalentSideSheetTitleDirective implements OnInit {\n /** Unique id for the dialog title. If none is supplied, it will be auto-generated. */\n @Input() id = `td-side-sheet-title-${dialogElementUid++}`;\n\n @HostBinding('class.td-side-sheet-title') tdSideSheetTitle = true;\n\n @HostBinding('attr.id') idAttr = this.id;\n\n constructor(\n // The dialog title directive is always used in combination with a `CovalentSideSheetRef`.\n // tslint:disable-next-line: lightweight-tokens\n @Optional() private _dialogRef: CovalentSideSheetRef<any>,\n private _elementRef: ElementRef<HTMLElement>,\n private _dialog: CovalentSideSheet\n ) {}\n\n ngOnInit(): void {\n if (this._dialogRef) {\n Promise.resolve().then(() => {\n const container = this._dialogRef._containerInstance;\n\n if (container && !container._ariaLabelledByQueue.includes(this.id)) {\n container._ariaLabelledByQueue.push(this.id);\n }\n });\n } else {\n this._dialogRef = getClosestDialog(\n this._elementRef,\n this._dialog.openSideSheets\n );\n }\n }\n}\n\n/**\n * Scrollable content container of a dialog.\n */\n@Directive({\n selector: `[td-side-sheet-content], td-side-sheet-content, [CovalentSideSheetContent]`,\n})\nexport class CovalentSideSheetContentDirective {\n @HostBinding('class.td-side-sheet-content') tdSideSheetContent = true;\n}\n\n/**\n * Container for the bottom action buttons in a dialog.\n * Stays fixed to the bottom when scrolling.\n */\n@Directive({\n selector: `[td-side-sheet-actions], td-side-sheet-actions, [CovalentSideSheetActions]`,\n})\nexport class CovalentSideSheetActionsDirective {\n @HostBinding('class.td-side-sheet-actions') tdSideSheetActions = true;\n}\n\n/**\n * Container for the wrapper part of the dialog\n */\n@Directive({\n selector: `[td-side-sheet-wrapper], td-side-sheet-wrapper, [CovalentSideSheetWrapper]`,\n})\nexport class CovalentSideSheetWrapperDirective {\n @HostBinding('class.td-side-sheet-wrapper') tdSideSheetWrapper = true;\n}\n\n/**\n * Finds the closest CovalentSideSheetRef to an element by looking at the DOM.\n * @param element Element relative to which to look for a dialog.\n * @param openDialogs References to the currently-open dialogs.\n */\nfunction getClosestDialog(\n element: ElementRef<HTMLElement>,\n openDialogs: CovalentSideSheetRef<any>[]\n): CovalentSideSheetRef<any> {\n let parent: HTMLElement | null = element.nativeElement.parentElement;\n\n while (parent && !parent.classList.contains('td-side-sheet-container')) {\n parent = parent.parentElement;\n }\n\n return parent\n ? openDialogs.find((dialog) => dialog.id === parent?.id) ?? openDialogs[0]\n : openDialogs[0];\n}\n","import { NgModule } from '@angular/core';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { CovalentSideSheet } from './side-sheet';\nimport { CovalentSideSheetContainerComponent } from './side-sheet-container';\nimport {\n CovalentSideSheetActionsDirective,\n CovalentSideSheetCloseDirective,\n CovalentSideSheetContentDirective,\n CovalentSideSheetTitleDirective,\n CovalentSideSheetWrapperDirective,\n} from './side-sheet.content-directives';\n\n@NgModule({\n declarations: [\n CovalentSideSheetContainerComponent,\n CovalentSideSheetActionsDirective,\n CovalentSideSheetCloseDirective,\n CovalentSideSheetContentDirective,\n CovalentSideSheetTitleDirective,\n CovalentSideSheetWrapperDirective,\n ],\n exports: [\n CovalentSideSheetActionsDirective,\n CovalentSideSheetCloseDirective,\n CovalentSideSheetContentDirective,\n CovalentSideSheetTitleDirective,\n CovalentSideSheetWrapperDirective,\n ],\n imports: [PortalModule, MatDialogModule, MatCommonModule],\n providers: [CovalentSideSheet],\n})\nexport class CovalentSideSheetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2.CovalentSideSheetConfig","i1.CovalentSideSheetRef","i2.CovalentSideSheet"],"mappings":"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"}
1
+ {"version":3,"file":"covalent-core-side-sheet.mjs","sources":["../../../../libs/angular/side-sheet/src/side-sheet.animation.ts","../../../../libs/angular/side-sheet/src/side-sheet.config.ts","../../../../libs/angular/side-sheet/src/side-sheet-container.ts","../../../../libs/angular/side-sheet/src/side-sheet-ref.ts","../../../../libs/angular/side-sheet/src/side-sheet.ts","../../../../libs/angular/side-sheet/src/side-sheet.content-directives.ts","../../../../libs/angular/side-sheet/src/side-sheet.module.ts","../../../../libs/angular/side-sheet/src/covalent-core-side-sheet.ts"],"sourcesContent":["import {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\nimport { AnimationCurves, AnimationDurations } from '@angular/material/core';\n\nexport const tdSideSheetAnimations: {\n readonly sideSheetContainer: AnimationTriggerMetadata;\n} = {\n /** Animation that is applied on the side-sheet container by default. */\n sideSheetContainer: trigger('sideSheetContainer', [\n state('void, exit', style({ transform: 'translateX(100%)' })),\n state('enter', style({ transform: 'translateX(0%)', opacity: 1 })),\n transition(\n '* => enter',\n animate(\n `${AnimationDurations.ENTERING} ${AnimationCurves.ACCELERATION_CURVE}`,\n style({ transform: 'translateX(0)', opacity: 1 })\n )\n ),\n transition(\n '* => void, * => exit',\n animate(\n `${AnimationDurations.EXITING} ${AnimationCurves.ACCELERATION_CURVE}`,\n style({ transform: 'translateX(100%)' })\n )\n ),\n ]),\n};\n","import { MatDialogConfig } from '@angular/material/dialog';\n\nexport enum SubPageMode {\n pushed = 'pushed',\n shifted = 'shifted',\n none = 'none',\n}\n\nexport class CovalentSideSheetConfig<D = any> extends MatDialogConfig<D> {\n subPageMode?: string = SubPageMode.pushed;\n}\n","/* tslint:disable */\nimport { AnimationEvent } from '@angular/animations';\nimport {\n ConfigurableFocusTrap,\n ConfigurableFocusTrapFactory,\n FocusMonitor,\n FocusOrigin,\n} from '@angular/cdk/a11y';\nimport {\n BasePortalOutlet,\n CdkPortalOutlet,\n ComponentPortal,\n DomPortal,\n TemplatePortal,\n} from '@angular/cdk/portal';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Optional,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { tdSideSheetAnimations } from './side-sheet.animation';\nimport { CovalentSideSheetConfig } from './side-sheet.config';\n\nexport function _getFocusedElementPierceShadowDom(): HTMLElement | null {\n let activeElement =\n typeof document !== 'undefined' && document\n ? (document.activeElement as HTMLElement | null)\n : null;\n\n while (activeElement && activeElement.shadowRoot) {\n const newActiveElement = activeElement.shadowRoot\n .activeElement as HTMLElement | null;\n if (newActiveElement === activeElement) {\n break;\n } else {\n activeElement = newActiveElement;\n }\n }\n\n return activeElement;\n}\n\n/**\n * Base class for the `CovalentSideSheetContainer`. The base class does not implement\n * animations as these are left to implementers of the side-sheet container.\n */\n@Directive()\nexport abstract class _CovalentSideSheetContainerBase extends BasePortalOutlet {\n protected _document: Document;\n\n /** The portal outlet inside of this container into which the side-sheet content will be loaded. */\n @ViewChild(CdkPortalOutlet, { static: true }) _portalOutlet!: CdkPortalOutlet;\n\n /** The class that traps and manages focus within the side-sheet. */\n private _focusTrap!: ConfigurableFocusTrap;\n\n /** Emits when an animation state changes. */\n _animationStateChanged = new EventEmitter<{\n state: 'opened' | 'opening' | 'closing' | 'closed';\n totalTime: number;\n }>();\n\n /** Element that was focused before the side-sheet was opened. Save this to restore upon close. */\n private _elementFocusedBeforeSideSheetWasOpened: HTMLElement | null = null;\n\n /**\n * Type of interaction that led to the side-sheet being closed. This is used to determine\n * whether the focus style will be applied when returning focus to its original location\n * after the side-sheet is closed.\n */\n _closeInteractionType: FocusOrigin | null = null;\n\n /** ID of the element that should be considered as the side-sheet's label. */\n _ariaLabelledBy: string | null;\n\n /** ID for the container DOM element. */\n _id!: string;\n\n constructor(\n protected _elementRef: ElementRef,\n protected _focusTrapFactory: ConfigurableFocusTrapFactory,\n protected _changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(DOCUMENT) _document: any,\n /** The side-sheet configuration. */\n public _config: CovalentSideSheetConfig,\n private _focusMonitor?: FocusMonitor\n ) {\n super();\n this._ariaLabelledBy = _config.ariaLabelledBy || null;\n this._document = _document;\n }\n\n /** Starts the side-sheet exit animation. */\n abstract _startExitAnimation(): void;\n\n /** Initializes the side-sheet container with the attached content. */\n _initializeWithAttachedContent() {\n this._setupFocusTrap();\n // Save the previously focused element. This element will be re-focused\n // when the side-sheet closes.\n this._capturePreviouslyFocusedElement();\n }\n\n /**\n * Attach a ComponentPortal as content to this side-sheet container.\n * @param portal Portal to be attached as the side-sheet content.\n */\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n return this._portalOutlet.attachComponentPortal(portal);\n }\n\n /**\n * Attach a TemplatePortal as content to this side-sheet container.\n * @param portal Portal to be attached as the side-sheet content.\n */\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n return this._portalOutlet.attachTemplatePortal(portal);\n }\n\n /**\n * Attaches a DOM portal to the side-sheet container.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n */\n override attachDomPortal = (portal: DomPortal) => {\n return this._portalOutlet.attachDomPortal(portal);\n };\n\n /** Moves focus back into the side-sheet if it was moved out. */\n _recaptureFocus() {\n if (!this._containsFocus()) {\n this._trapFocus();\n }\n }\n\n /**\n * Moves the focus inside the focus trap. When autoFocus is not set to 'side-sheet', if focus\n * cannot be moved then focus will go to the side-sheet container.\n */\n protected _trapFocus() {\n const element = this._elementRef.nativeElement;\n if (!this._config.autoFocus) {\n if (!this._containsFocus()) {\n element.focus();\n }\n } else {\n this._focusTrap\n .focusInitialElementWhenReady()\n .then((focusedSuccessfully) => {\n // If we weren't able to find a focusable element in the side-sheet, then focus the side-sheet\n // container instead.\n if (!focusedSuccessfully) {\n this._focusSideSheetContainer();\n }\n });\n }\n }\n\n /** Restores focus to the element that was focused before the side-sheet opened. */\n protected _restoreFocus() {\n const previousElement = this._elementFocusedBeforeSideSheetWasOpened;\n\n // We need the extra check, because IE can set the `activeElement` to null in some cases.\n if (\n this._config.restoreFocus &&\n previousElement &&\n typeof previousElement.focus === 'function'\n ) {\n const activeElement = _getFocusedElementPierceShadowDom();\n const element = this._elementRef.nativeElement;\n\n // Make sure that focus is still inside the side-sheet or is on the body (usually because a\n // non-focusable element like the backdrop was clicked) before moving it. It's possible that\n // the consumer moved it themselves before the animation was done, in which case we shouldn't\n // do anything.\n if (\n !activeElement ||\n activeElement === this._document.body ||\n activeElement === element ||\n element.contains(activeElement)\n ) {\n if (this._focusMonitor) {\n this._focusMonitor.focusVia(\n previousElement,\n this._closeInteractionType\n );\n this._closeInteractionType = null;\n } else {\n previousElement.focus();\n }\n }\n }\n\n if (this._focusTrap) {\n this._focusTrap.destroy();\n }\n }\n\n /** Sets up the focus trap. */\n private _setupFocusTrap() {\n this._focusTrap = this._focusTrapFactory.create(\n this._elementRef.nativeElement\n );\n }\n\n /** Captures the element that was focused before the side-sheet was opened. */\n private _capturePreviouslyFocusedElement() {\n if (this._document) {\n this._elementFocusedBeforeSideSheetWasOpened =\n _getFocusedElementPierceShadowDom();\n }\n }\n\n /** Focuses the side-sheet container. */\n private _focusSideSheetContainer() {\n // Note that there is no focus method when rendering on the server.\n if (this._elementRef.nativeElement.focus) {\n this._elementRef.nativeElement.focus();\n }\n }\n\n /** Returns whether focus is inside the side-sheet. */\n private _containsFocus() {\n const element = this._elementRef.nativeElement;\n const activeElement = _getFocusedElementPierceShadowDom();\n return element === activeElement || element.contains(activeElement);\n }\n}\n\n/**\n * Internal component that wraps the generated side-sheet content.\n * This animation below is the only reason for duplicating most of the Material dialog code\n */\n@Component({\n selector: 'td-side-sheet-container',\n template: ` <ng-template cdkPortalOutlet></ng-template> `,\n styleUrls: ['side-sheet.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Default,\n animations: [tdSideSheetAnimations.sideSheetContainer],\n})\nexport class CovalentSideSheetContainerComponent extends _CovalentSideSheetContainerBase {\n /** State of the side-sheet animation. */\n _state: 'void' | 'enter' | 'exit' = 'enter';\n\n @HostBinding('class.td-side-sheet-container') tdSideSheetContainerClass =\n true;\n @HostBinding('tabindex') tabIndex = -1;\n @HostBinding('aria-modal') arialModal = true;\n @HostBinding('id') idAttr = this._id;\n @HostBinding('attr.role') roleAttr = this._config.role;\n @HostBinding('attr.aria-labelledby') arialLabelByAttr = this._config.ariaLabel\n ? null\n : this._ariaLabelledBy;\n @HostBinding('attr.aria-describedby') arialDescribeByAttr =\n this._config.ariaDescribedBy || null;\n @HostBinding('attr.aria-label') arialLabelAttr = this._config.ariaLabel;\n @HostBinding('@sideSheetContainer') get sideSheetAnimationState() {\n return this._state;\n }\n @HostListener('@sideSheetContainer.start', ['$event']) onAnimateStart(\n $event: AnimationEvent\n ) {\n this._onAnimationStart($event);\n }\n\n @HostListener('@sideSheetContainer.done', ['$event']) onAnimateDone(\n $event: AnimationEvent\n ) {\n this._onAnimationDone($event);\n }\n\n /** Callback, invoked whenever an animation on the host completes. */\n _onAnimationDone({ toState, totalTime }: AnimationEvent) {\n if (toState === 'enter') {\n this._trapFocus();\n this._animationStateChanged.next({ state: 'opened', totalTime });\n } else if (toState === 'exit') {\n this._restoreFocus();\n this._animationStateChanged.next({ state: 'closed', totalTime });\n }\n }\n\n /** Callback, invoked when an animation on the host starts. */\n _onAnimationStart({ toState, totalTime }: AnimationEvent) {\n if (toState === 'enter') {\n this._animationStateChanged.next({ state: 'opening', totalTime });\n } else if (toState === 'exit' || toState === 'void') {\n this._animationStateChanged.next({ state: 'closing', totalTime });\n }\n }\n\n /** Starts the side-sheet exit animation. */\n _startExitAnimation(): void {\n this._state = 'exit';\n this._changeDetectorRef.markForCheck();\n }\n}\n","/* tslint:disable */\nimport { FocusOrigin } from '@angular/cdk/a11y';\nimport { DialogRef } from '@angular/cdk/dialog';\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { BasePortalOutlet } from '@angular/cdk/portal';\nimport { MatDialogRef, MatDialogContainer } from '@angular/material/dialog';\nimport { CovalentSideSheetConfig } from './side-sheet.config';\n\n// Counter for unique dialog ids.\nlet uniqueId = 0;\n\n// Create a new side sheet ref to change the id of the ref\nexport class CovalentSideSheetRef<T, R = any> extends MatDialogRef<T, R> {\n constructor(\n public overlayRef: OverlayRef,\n public config: CovalentSideSheetConfig,\n public override _containerInstance: MatDialogContainer,\n override readonly id = `td-side-sheet-${uniqueId++}`\n ) {\n const ref = new DialogRef<R, T>(overlayRef, config);\n super(ref, config, _containerInstance);\n (ref as { containerInstance: BasePortalOutlet }).containerInstance =\n this._containerInstance;\n }\n}\n\nexport function _closeSideSheetVia<R>(\n ref: CovalentSideSheetRef<R>,\n interactionType: FocusOrigin,\n result?: R\n) {\n // Some mock dialog ref instances in tests do not have the `_containerInstance` property.\n // For those, we keep the behavior as is and do not deal with the interaction type.\n if (ref._containerInstance !== undefined) {\n ref._containerInstance._closeInteractionType = interactionType;\n }\n return ref.close(result);\n}\n","/* tslint:disable */\nimport {\n Directive,\n Inject,\n Injectable,\n InjectFlags,\n InjectionToken,\n Injector,\n OnDestroy,\n Optional,\n SkipSelf,\n StaticProvider,\n TemplateRef,\n Type,\n} from '@angular/core';\nimport {\n Overlay,\n OverlayConfig,\n OverlayRef,\n GlobalPositionStrategy,\n} from '@angular/cdk/overlay';\nimport {\n ComponentPortal,\n ComponentType,\n TemplatePortal,\n} from '@angular/cdk/portal';\nimport {\n MAT_DIALOG_DATA,\n MAT_DIALOG_DEFAULT_OPTIONS,\n} from '@angular/material/dialog';\nimport { AnimationCurves, AnimationDurations } from '@angular/material/core';\nimport {\n CovalentSideSheetContainerComponent,\n _CovalentSideSheetContainerBase,\n} from './side-sheet-container';\nimport { Subject, Subscription, of } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\nimport { Directionality } from '@angular/cdk/bidi';\n\nimport { CovalentSideSheetRef } from './side-sheet-ref';\nimport { SubPageMode, CovalentSideSheetConfig } from './side-sheet.config';\n\n@Directive()\nexport class _CovalentSideSheetBase<C extends _CovalentSideSheetContainerBase>\n implements OnDestroy\n{\n private _openSideSheetsAtThisLevel: CovalentSideSheetRef<unknown>[] = [];\n private readonly _afterAllClosedAtThisLevel = new Subject<void>();\n private readonly _afterOpenedAtThisLevel = new Subject<\n CovalentSideSheetRef<unknown>\n >();\n private _animationStateSubscriptions!: Subscription;\n\n private defaultSidebarConfig = {\n minWidth: '400px',\n maxWidth: '100vw',\n };\n\n constructor(\n private _overlay: Overlay,\n private _injector: Injector,\n private _defaultOptions: CovalentSideSheetConfig | undefined,\n private _parentSideSheet: _CovalentSideSheetBase<C> | undefined,\n private _sideSheetRefConstructor: Type<CovalentSideSheetRef<any>>,\n private _sideSheetContainerType: Type<C>,\n private _sideSheetDataToken: InjectionToken<unknown>\n ) {}\n\n /** Keeps track of the currently-open side-sheets. */\n get openSideSheets(): CovalentSideSheetRef<unknown>[] {\n return this._parentSideSheet\n ? this._parentSideSheet.openSideSheets\n : this._openSideSheetsAtThisLevel;\n }\n\n open<T, D = unknown, R = unknown>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n config?: CovalentSideSheetConfig<D>\n ): CovalentSideSheetRef<T, R> {\n config = {\n ...(this._defaultOptions || new CovalentSideSheetConfig()),\n ...this.defaultSidebarConfig,\n ...config,\n };\n\n const overlayRef = this._createOverlay(config);\n const sideSheetContainer = this._attachSideSheetContainer(\n overlayRef,\n config\n );\n const sideSheetRef = this._attachSideSheetContent<T, R>(\n componentOrTemplateRef,\n sideSheetContainer,\n overlayRef,\n config\n );\n const prevSideSheetRef: CovalentSideSheetRef<unknown> =\n this.openSideSheets.slice(-1)[0];\n const prevOverlayRef = prevSideSheetRef?.overlayRef;\n\n if (\n prevOverlayRef?.overlayElement &&\n config.subPageMode !== SubPageMode.none\n ) {\n prevOverlayRef.overlayElement.style.transition = `${AnimationDurations.COMPLEX} ${AnimationCurves.DECELERATION_CURVE}`;\n if (config.subPageMode === SubPageMode.pushed) {\n // Animate previous side sheet to full width\n prevOverlayRef.overlayElement.style.minWidth = `${\n (window as any).innerWidth\n }px`;\n } else if (config.subPageMode === SubPageMode.shifted) {\n // Animate previous side sheet to current sidesheet width + 200px\n prevOverlayRef.overlayElement.style.minWidth = `${\n sideSheetRef.overlayRef.overlayElement.offsetWidth + 200\n }px`;\n }\n }\n\n // Revert the previous side sheet config & size\n sideSheetRef._containerInstance._animationStateChanged\n .pipe(\n filter(\n (event) =>\n event.state === 'closing' && !!(prevSideSheetRef && prevOverlayRef)\n ),\n take(1)\n )\n .subscribe(() => {\n prevOverlayRef.overlayElement.style.transition = `${AnimationDurations.EXITING} ${AnimationCurves.DECELERATION_CURVE}`;\n prevSideSheetRef.updateSize();\n });\n\n // Add new side sheet to open list\n this.openSideSheets.push(sideSheetRef);\n\n // Remove side sheet ref after closed\n sideSheetRef\n .afterClosed()\n .pipe(take(1))\n .subscribe(() => this._removeOpenSideSheet(sideSheetRef));\n\n // Notify the side-sheet container that the content has been attached.\n sideSheetContainer._initializeWithAttachedContent();\n\n return sideSheetRef;\n }\n\n ngOnDestroy() {\n // Only close the side-sheets at this level on destroy\n // since the parent service may still be active.\n this._closeSideSheets(this._openSideSheetsAtThisLevel);\n this._afterAllClosedAtThisLevel.complete();\n this._afterOpenedAtThisLevel.complete();\n // Clean up any subscriptions to side-sheet that never finished opening.\n if (this._animationStateSubscriptions) {\n this._animationStateSubscriptions.unsubscribe();\n }\n }\n\n /**\n * Closes all of the currently-open side-sheets.\n */\n closeAll(): void {\n this._closeSideSheets(this.openSideSheets);\n }\n\n private _createOverlay<T>(config: CovalentSideSheetConfig): OverlayRef {\n const overlayConfig = new OverlayConfig({\n positionStrategy: this._overlay.position().global(),\n scrollStrategy: this._overlay.scrollStrategies.block(),\n panelClass: config.panelClass,\n hasBackdrop: config.hasBackdrop,\n direction: config.direction,\n minWidth: config.minWidth,\n minHeight: config.minHeight,\n maxWidth: config.maxWidth,\n });\n const overlayRef = this._overlay.create(overlayConfig);\n const positionStrategy = overlayRef.getConfig()\n .positionStrategy as GlobalPositionStrategy;\n positionStrategy.right('0px');\n\n return overlayRef;\n }\n\n /**\n * Attaches a container to a side-sheets's already-created overlay.\n * @param overlay Reference to the side-sheet's underlying overlay.\n * @param config The side-sheet configuration.\n * @returns A promise resolving to a ComponentRef for the attached container.\n */\n private _attachSideSheetContainer(\n overlay: OverlayRef,\n config: CovalentSideSheetConfig\n ): C {\n const userInjector =\n config && config.viewContainerRef && config.viewContainerRef.injector;\n const injector = Injector.create({\n parent: userInjector || this._injector,\n providers: [{ provide: CovalentSideSheetConfig, useValue: config }],\n });\n\n const containerPortal = new ComponentPortal(\n this._sideSheetContainerType,\n config.viewContainerRef,\n injector,\n config.componentFactoryResolver\n );\n const containerRef = overlay.attach<C>(containerPortal);\n\n return containerRef.instance;\n }\n\n /**\n * Attaches the user-provided component to the already-created side sheet container.\n * @param componentOrTemplateRef The type of component being loaded into the side-sheet,\n * or a TemplateRef to instantiate as the content.\n * @param dialogContainer Reference to the wrapping side-sheet container.\n * @param overlayRef Reference to the overlay in which the side-sheet resides.\n * @param config The side-sheet configuration.\n * @returns A promise resolving to the CovalentSideSheetRef that should be returned to the user.\n */\n private _attachSideSheetContent<T, R>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n sideSheetContainer: C,\n overlayRef: OverlayRef,\n config: CovalentSideSheetConfig\n ): CovalentSideSheetRef<T, R> {\n // Create a reference to the side-sheet we're creating in order to give the user a handle\n // to modify and close it.\n const sideSheetRef = new this._sideSheetRefConstructor(\n overlayRef,\n config,\n sideSheetContainer,\n config.id\n );\n\n if (componentOrTemplateRef instanceof TemplateRef) {\n sideSheetContainer.attachTemplatePortal(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n new TemplatePortal<T>(componentOrTemplateRef, null!, <any>{\n $implicit: config.data,\n sideSheetRef,\n })\n );\n } else {\n const injector = this._createInjector<T>(\n config,\n sideSheetRef,\n sideSheetContainer\n );\n const contentRef = sideSheetContainer.attach<T>(\n new ComponentPortal(\n componentOrTemplateRef,\n config.viewContainerRef,\n injector\n )\n );\n sideSheetRef.componentInstance = contentRef.instance;\n }\n\n sideSheetRef.updateSize(config.width, config.height);\n\n return sideSheetRef;\n }\n\n private _createInjector<T>(\n config: CovalentSideSheetConfig,\n sideSheetRef: CovalentSideSheetRef<T>,\n sideSheetContainer: C\n ): Injector {\n const userInjector =\n config && config.viewContainerRef && config.viewContainerRef.injector;\n\n // The side-sheet container should be provided as the side-sheet container and the side-sheet's\n // content are created out of the same `ViewContainerRef` and as such, are siblings\n // for injector purposes. To allow the hierarchy that is expected, the side-sheet\n // container is explicitly provided in the injector.\n const providers: StaticProvider[] = [\n { provide: this._sideSheetContainerType, useValue: sideSheetContainer },\n { provide: this._sideSheetDataToken, useValue: config.data },\n { provide: this._sideSheetRefConstructor, useValue: sideSheetRef },\n ];\n\n if (\n config.direction &&\n (!userInjector ||\n !userInjector.get<Directionality | null>(\n Directionality,\n null,\n InjectFlags.Optional\n ))\n ) {\n providers.push({\n provide: Directionality,\n useValue: { value: config.direction, change: of() },\n });\n }\n\n return Injector.create({\n parent: userInjector || this._injector,\n providers,\n });\n }\n\n /**\n * Removes a side sheet from the array of open side sheets.\n * @param sideSheetRef Side Sheet to be removed.\n */\n private _removeOpenSideSheet(sideSheetRef: CovalentSideSheetRef<unknown>) {\n const index = this.openSideSheets.indexOf(sideSheetRef);\n\n if (index > -1) {\n this.openSideSheets.splice(index, 1);\n }\n }\n\n /** Closes all of the side-sheet in an array. */\n private _closeSideSheets(sideSheets: CovalentSideSheetRef<any>[]) {\n let i = sideSheets.length;\n\n while (i--) {\n sideSheets[i].close();\n }\n }\n}\n\n/**\n * Service to open Covalent Design side-sheet.\n */\n@Injectable()\nexport class CovalentSideSheet extends _CovalentSideSheetBase<CovalentSideSheetContainerComponent> {\n constructor(\n overlay: Overlay,\n injector: Injector,\n @Optional()\n @Inject(MAT_DIALOG_DEFAULT_OPTIONS)\n defaultOptions: CovalentSideSheetConfig,\n @Optional() @SkipSelf() parentSideSheet: CovalentSideSheet\n ) {\n super(\n overlay,\n injector,\n defaultOptions,\n parentSideSheet,\n CovalentSideSheetRef,\n CovalentSideSheetContainerComponent,\n MAT_DIALOG_DATA\n );\n }\n}\n","/* tslint:disable */\nimport {\n Directive,\n Input,\n OnChanges,\n OnInit,\n Optional,\n SimpleChanges,\n ElementRef,\n HostBinding,\n HostListener,\n} from '@angular/core';\nimport { CovalentSideSheet } from './side-sheet';\nimport { _closeSideSheetVia, CovalentSideSheetRef } from './side-sheet-ref';\n\n/** Counter used to generate unique IDs for dialog elements. */\nlet dialogElementUid = 0;\n\n/**\n * Button that will close the current dialog.\n */\n@Directive({\n selector: '[td-side-sheet-close], [CovalentSideSheetClose]',\n exportAs: 'CovalentSideSheetClose',\n})\nexport class CovalentSideSheetCloseDirective implements OnInit, OnChanges {\n /** Screenreader label for the button. */\n @HostBinding('attr.arial-label')\n @Input('aria-label')\n ariaLabel?: string;\n\n /** Default to \"button\" to prevents accidental form submits. */\n @HostBinding('attr.type')\n @Input()\n type: 'submit' | 'button' | 'reset' = 'button';\n\n /** Dialog close input. */\n @Input('td-side-sheet-close') dialogResult: any;\n\n @Input('CovalentSideSheetClose') _CovalentSideSheetClose: any;\n\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n this._onButtonClick($event);\n }\n\n constructor(\n @Optional() public dialogRef: CovalentSideSheetRef<any>,\n private _elementRef: ElementRef<HTMLElement>,\n private _dialog: CovalentSideSheet\n ) {}\n\n ngOnInit(): void {\n if (!this.dialogRef) {\n // When this directive is included in a dialog via TemplateRef (rather than being\n // in a Component), the DialogRef isn't available via injection because embedded\n // views cannot be given a custom injector. Instead, we look up the DialogRef by\n // ID. This must occur in `onInit`, as the ID binding for the dialog container won't\n // be resolved at constructor time.\n this.dialogRef = getClosestDialog(\n this._elementRef,\n this._dialog.openSideSheets\n );\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const proxiedChange =\n changes['_CovalentSideSheetClose'] ||\n changes['_CovalentSideSheetCloseResult'];\n\n if (proxiedChange) {\n this.dialogResult = proxiedChange.currentValue;\n }\n }\n\n _onButtonClick(event: MouseEvent) {\n // Determinate the focus origin using the click event, because using the FocusMonitor will\n // result in incorrect origins. Most of the time, close buttons will be auto focused in the\n // dialog, and therefore clicking the button won't result in a focus change. This means that\n // the FocusMonitor won't detect any origin change, and will always output `program`.\n _closeSideSheetVia(\n this.dialogRef,\n event.screenX === 0 && event.screenY === 0 ? 'keyboard' : 'mouse',\n this.dialogResult\n );\n }\n}\n\n/**\n * Title of a side sheet element. Stays fixed to the top of the side sheet when scrolling.\n */\n@Directive({\n selector: '[td-side-sheet-title], [CovalentSideSheetTitle]',\n exportAs: 'CovalentSideSheetTitle',\n})\nexport class CovalentSideSheetTitleDirective implements OnInit {\n /** Unique id for the dialog title. If none is supplied, it will be auto-generated. */\n @Input() id = `td-side-sheet-title-${dialogElementUid++}`;\n\n @HostBinding('class.td-side-sheet-title') tdSideSheetTitle = true;\n\n @HostBinding('attr.id') idAttr = this.id;\n\n constructor(\n // The dialog title directive is always used in combination with a `CovalentSideSheetRef`.\n // tslint:disable-next-line: lightweight-tokens\n @Optional() private _dialogRef: CovalentSideSheetRef<any>,\n private _elementRef: ElementRef<HTMLElement>,\n private _dialog: CovalentSideSheet\n ) {}\n\n ngOnInit(): void {\n if (this._dialogRef) {\n Promise.resolve().then(() => {\n const container = this._dialogRef._containerInstance;\n\n if (container && !container._ariaLabelledByQueue.includes(this.id)) {\n container._ariaLabelledByQueue.push(this.id);\n }\n });\n } else {\n this._dialogRef = getClosestDialog(\n this._elementRef,\n this._dialog.openSideSheets\n );\n }\n }\n}\n\n/**\n * Scrollable content container of a dialog.\n */\n@Directive({\n selector: `[td-side-sheet-content], td-side-sheet-content, [CovalentSideSheetContent]`,\n})\nexport class CovalentSideSheetContentDirective {\n @HostBinding('class.td-side-sheet-content') tdSideSheetContent = true;\n}\n\n/**\n * Container for the bottom action buttons in a dialog.\n * Stays fixed to the bottom when scrolling.\n */\n@Directive({\n selector: `[td-side-sheet-actions], td-side-sheet-actions, [CovalentSideSheetActions]`,\n})\nexport class CovalentSideSheetActionsDirective {\n @HostBinding('class.td-side-sheet-actions') tdSideSheetActions = true;\n}\n\n/**\n * Container for the wrapper part of the dialog\n */\n@Directive({\n selector: `[td-side-sheet-wrapper], td-side-sheet-wrapper, [CovalentSideSheetWrapper]`,\n})\nexport class CovalentSideSheetWrapperDirective {\n @HostBinding('class.td-side-sheet-wrapper') tdSideSheetWrapper = true;\n}\n\n/**\n * Finds the closest CovalentSideSheetRef to an element by looking at the DOM.\n * @param element Element relative to which to look for a dialog.\n * @param openDialogs References to the currently-open dialogs.\n */\nfunction getClosestDialog(\n element: ElementRef<HTMLElement>,\n openDialogs: CovalentSideSheetRef<any>[]\n): CovalentSideSheetRef<any> {\n let parent: HTMLElement | null = element.nativeElement.parentElement;\n\n while (parent && !parent.classList.contains('td-side-sheet-container')) {\n parent = parent.parentElement;\n }\n\n return parent\n ? openDialogs.find((dialog) => dialog.id === parent?.id) ?? openDialogs[0]\n : openDialogs[0];\n}\n","import { NgModule } from '@angular/core';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { MatCommonModule } from '@angular/material/core';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { CovalentSideSheet } from './side-sheet';\nimport { CovalentSideSheetContainerComponent } from './side-sheet-container';\nimport {\n CovalentSideSheetActionsDirective,\n CovalentSideSheetCloseDirective,\n CovalentSideSheetContentDirective,\n CovalentSideSheetTitleDirective,\n CovalentSideSheetWrapperDirective,\n} from './side-sheet.content-directives';\n\n@NgModule({\n declarations: [\n CovalentSideSheetContainerComponent,\n CovalentSideSheetActionsDirective,\n CovalentSideSheetCloseDirective,\n CovalentSideSheetContentDirective,\n CovalentSideSheetTitleDirective,\n CovalentSideSheetWrapperDirective,\n ],\n exports: [\n CovalentSideSheetActionsDirective,\n CovalentSideSheetCloseDirective,\n CovalentSideSheetContentDirective,\n CovalentSideSheetTitleDirective,\n CovalentSideSheetWrapperDirective,\n ],\n imports: [PortalModule, MatDialogModule, MatCommonModule],\n providers: [CovalentSideSheet],\n})\nexport class CovalentSideSheetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2.CovalentSideSheetConfig","i1.CovalentSideSheetRef","i2.CovalentSideSheet"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@covalent/core",
3
- "version": "8.2.0-beta.1",
3
+ "version": "8.2.1",
4
4
  "exports": {
5
5
  ".": {
6
6
  "sass": "./theming/_all-theme.scss",
@@ -107,7 +107,7 @@
107
107
  "@angular/router": "17.x.x",
108
108
  "@angular/cdk": "17.x.x",
109
109
  "@angular/material": "17.x.x",
110
- "@covalent/core": "8.2.0-beta.1"
110
+ "@covalent/core": "8.2.1"
111
111
  },
112
112
  "dependencies": {
113
113
  "tslib": "^2.0.0"
@@ -505,6 +505,7 @@ $td-dark-theme: mat.private-deep-merge-all(
505
505
  &.active::before {
506
506
  background-color: mat-color($accent);
507
507
  }
508
+
508
509
  &:hover {
509
510
  &::before {
510
511
  background-color: mat-color($accent);