@covalent/core 8.1.0-beta.9 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/common/styles/core/_structure.scss +2 -0
  2. package/common/styles/font/MaterialIcons-Regular-v48.woff2 +0 -0
  3. package/common/styles/font/_font.scss +35 -1
  4. package/esm2022/breadcrumbs/breadcrumb/breadcrumb.component.mjs +4 -4
  5. package/esm2022/breadcrumbs/breadcrumbs.component.mjs +4 -4
  6. package/esm2022/breadcrumbs/breadcrumbs.module.mjs +4 -4
  7. package/esm2022/common/behaviors/control-value-accesor.mixin.mjs +1 -1
  8. package/esm2022/common/behaviors/disable-ripple.mixin.mjs +1 -1
  9. package/esm2022/common/behaviors/disabled.mixin.mjs +1 -1
  10. package/esm2022/common/common.module.mjs +6 -26
  11. package/esm2022/common/directives/fullscreen/fullscreen.directive.mjs +13 -13
  12. package/esm2022/common/forms/auto-trim/auto-trim.directive.mjs +4 -4
  13. package/esm2022/common/forms/validators/validators.mjs +1 -1
  14. package/esm2022/common/functions/convert.mjs +1 -1
  15. package/esm2022/common/functions/download.mjs +1 -1
  16. package/esm2022/common/pipes/bytes/bytes.pipe.mjs +4 -4
  17. package/esm2022/common/pipes/decimal-bytes/decimal-bytes.pipe.mjs +4 -4
  18. package/esm2022/common/pipes/digits/digits.pipe.mjs +4 -4
  19. package/esm2022/common/pipes/time-ago/time-ago.pipe.mjs +4 -4
  20. package/esm2022/common/pipes/time-difference/time-difference.pipe.mjs +4 -4
  21. package/esm2022/common/pipes/time-until/time-until.pipe.mjs +4 -4
  22. package/esm2022/common/pipes/truncate/truncate.pipe.mjs +4 -4
  23. package/esm2022/common/services/icon.service.mjs +3 -3
  24. package/esm2022/common/services/router-path.service.mjs +3 -3
  25. package/esm2022/dialogs/alert-dialog/alert-dialog.component.mjs +3 -3
  26. package/esm2022/dialogs/confirm-dialog/confirm-dialog.component.mjs +3 -3
  27. package/esm2022/dialogs/dialog.component.mjs +13 -13
  28. package/esm2022/dialogs/dialogs.module.mjs +4 -4
  29. package/esm2022/dialogs/prompt-dialog/prompt-dialog.component.mjs +4 -4
  30. package/esm2022/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.mjs +2 -4
  31. package/esm2022/dialogs/services/dialog.service.mjs +4 -4
  32. package/esm2022/dialogs/window-dialog/window-dialog.component.mjs +5 -5
  33. package/esm2022/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.mjs +5 -5
  34. package/esm2022/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.mjs +3 -3
  35. package/esm2022/dynamic-menu/dynamic-menu.component.mjs +3 -3
  36. package/esm2022/dynamic-menu/dynamic-menu.module.mjs +4 -4
  37. package/esm2022/file/directives/file-drop.directive.mjs +4 -4
  38. package/esm2022/file/directives/file-select.directive.mjs +4 -4
  39. package/esm2022/file/file-input/file-input.component.mjs +9 -9
  40. package/esm2022/file/file-upload/file-upload.component.mjs +4 -4
  41. package/esm2022/file/file.module.mjs +4 -4
  42. package/esm2022/file/services/file.service.mjs +4 -4
  43. package/esm2022/json-formatter/json-formatter.component.mjs +4 -4
  44. package/esm2022/json-formatter/json-formatter.module.mjs +4 -4
  45. package/esm2022/layout/layout-card-over/layout-card-over.component.mjs +5 -5
  46. package/esm2022/layout/layout-footer/layout-footer.component.mjs +4 -4
  47. package/esm2022/layout/layout-manage-list/layout-manage-list.component.mjs +3 -3
  48. package/esm2022/layout/layout-manage-list/layout-manage-list.directives.mjs +9 -9
  49. package/esm2022/layout/layout-nav/layout-nav.component.mjs +6 -6
  50. package/esm2022/layout/layout-nav-list/layout-nav-list.component.mjs +5 -5
  51. package/esm2022/layout/layout-nav-list/layout-nav-list.directives.mjs +9 -9
  52. package/esm2022/layout/layout-toggle.class.mjs +4 -4
  53. package/esm2022/layout/layout.component.mjs +3 -3
  54. package/esm2022/layout/layout.directives.mjs +9 -9
  55. package/esm2022/layout/layout.module.mjs +4 -4
  56. package/esm2022/layout/navigation-drawer/navigation-drawer.component.mjs +11 -11
  57. package/esm2022/loading/directives/loading.directive.mjs +4 -4
  58. package/esm2022/loading/loading.component.mjs +4 -4
  59. package/esm2022/loading/loading.module.mjs +4 -4
  60. package/esm2022/loading/services/loading.factory.mjs +4 -4
  61. package/esm2022/loading/services/loading.service.mjs +4 -4
  62. package/esm2022/menu/menu.component.mjs +3 -3
  63. package/esm2022/menu/menu.module.mjs +4 -4
  64. package/esm2022/message/message.component.mjs +7 -7
  65. package/esm2022/message/message.module.mjs +4 -4
  66. package/esm2022/search/search-box/search-box.component.mjs +4 -4
  67. package/esm2022/search/search-input/search-input.component.mjs +4 -4
  68. package/esm2022/search/search.module.mjs +4 -4
  69. package/esm2022/side-sheet/side-sheet-container.mjs +7 -7
  70. package/esm2022/side-sheet/side-sheet-ref.mjs +1 -1
  71. package/esm2022/side-sheet/side-sheet.content-directives.mjs +16 -16
  72. package/esm2022/side-sheet/side-sheet.mjs +7 -7
  73. package/esm2022/side-sheet/side-sheet.module.mjs +4 -4
  74. package/esm2022/user-profile/user-profile-menu/user-profile-menu.component.mjs +3 -3
  75. package/esm2022/user-profile/user-profile.component.mjs +3 -3
  76. package/esm2022/user-profile/user-profile.module.mjs +4 -4
  77. package/fesm2022/covalent-core-breadcrumbs.mjs +11 -11
  78. package/fesm2022/covalent-core-breadcrumbs.mjs.map +1 -1
  79. package/fesm2022/covalent-core-common.mjs +48 -68
  80. package/fesm2022/covalent-core-common.mjs.map +1 -1
  81. package/fesm2022/covalent-core-dialogs.mjs +34 -36
  82. package/fesm2022/covalent-core-dialogs.mjs.map +1 -1
  83. package/fesm2022/covalent-core-dynamic-menu.mjs +14 -14
  84. package/fesm2022/covalent-core-dynamic-menu.mjs.map +1 -1
  85. package/fesm2022/covalent-core-file.mjs +28 -28
  86. package/fesm2022/covalent-core-file.mjs.map +1 -1
  87. package/fesm2022/covalent-core-json-formatter.mjs +8 -8
  88. package/fesm2022/covalent-core-json-formatter.mjs.map +1 -1
  89. package/fesm2022/covalent-core-layout.mjs +66 -66
  90. package/fesm2022/covalent-core-layout.mjs.map +1 -1
  91. package/fesm2022/covalent-core-loading.mjs +16 -16
  92. package/fesm2022/covalent-core-loading.mjs.map +1 -1
  93. package/fesm2022/covalent-core-menu.mjs +7 -7
  94. package/fesm2022/covalent-core-message.mjs +11 -11
  95. package/fesm2022/covalent-core-message.mjs.map +1 -1
  96. package/fesm2022/covalent-core-search.mjs +11 -11
  97. package/fesm2022/covalent-core-search.mjs.map +1 -1
  98. package/fesm2022/covalent-core-side-sheet.mjs +32 -32
  99. package/fesm2022/covalent-core-side-sheet.mjs.map +1 -1
  100. package/fesm2022/covalent-core-user-profile.mjs +10 -10
  101. package/layout/_layout-theme.scss +6 -7
  102. package/layout/layout-card-over/layout-card-over.component.d.ts +1 -1
  103. package/layout/navigation-drawer/navigation-drawer.component.d.ts +1 -1
  104. package/package.json +2 -2
  105. package/theming/_teradata-theme.scss +0 -524
@@ -18,10 +18,10 @@ class TdDynamicMenuLinkComponent {
18
18
  emitClicked() {
19
19
  this.itemClicked.emit({ text: this.item.text, action: this.item.action });
20
20
  }
21
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdDynamicMenuLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: TdDynamicMenuLinkComponent, selector: "td-dynamic-menu-link", inputs: { item: "item" }, outputs: { itemClicked: "itemClicked" }, ngImport: i0, template: "<a\n *ngIf=\"item.link\"\n class=\"new-tab\"\n mat-menu-item\n [id]=\"item.id\"\n [href]=\"item.link\"\n [target]=\"item.newTab ? '_blank' : '_self'\"\n (click)=\"emitClicked()\"\n>\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span>{{ item.text }}</span>\n <mat-icon *ngIf=\"item.newTab\" class=\"new-tab-icon\">launch</mat-icon>\n</a>\n<button\n *ngIf=\"item.action\"\n mat-menu-item\n [id]=\"item.id\"\n (click)=\"emitClicked()\"\n>\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span>{{ item.text }}</span>\n</button>\n", styles: [".new-tab{display:flex;justify-content:flex-start;align-items:center}.new-tab span{flex:1}.new-tab .new-tab-icon{margin:0 0 0 16px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }] });
21
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TdDynamicMenuLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: TdDynamicMenuLinkComponent, selector: "td-dynamic-menu-link", inputs: { item: "item" }, outputs: { itemClicked: "itemClicked" }, ngImport: i0, template: "<a\n *ngIf=\"item.link\"\n class=\"new-tab\"\n mat-menu-item\n [id]=\"item.id\"\n [href]=\"item.link\"\n [target]=\"item.newTab ? '_blank' : '_self'\"\n (click)=\"emitClicked()\"\n>\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span>{{ item.text }}</span>\n <mat-icon *ngIf=\"item.newTab\" class=\"new-tab-icon\">launch</mat-icon>\n</a>\n<button\n *ngIf=\"item.action\"\n mat-menu-item\n [id]=\"item.id\"\n (click)=\"emitClicked()\"\n>\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span>{{ item.text }}</span>\n</button>\n", styles: [".new-tab{display:flex;justify-content:flex-start;align-items:center}.new-tab span{flex:1}.new-tab .new-tab-icon{margin:0 0 0 16px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }] });
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdDynamicMenuLinkComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TdDynamicMenuLinkComponent, decorators: [{
25
25
  type: Component,
26
26
  args: [{ selector: 'td-dynamic-menu-link', template: "<a\n *ngIf=\"item.link\"\n class=\"new-tab\"\n mat-menu-item\n [id]=\"item.id\"\n [href]=\"item.link\"\n [target]=\"item.newTab ? '_blank' : '_self'\"\n (click)=\"emitClicked()\"\n>\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span>{{ item.text }}</span>\n <mat-icon *ngIf=\"item.newTab\" class=\"new-tab-icon\">launch</mat-icon>\n</a>\n<button\n *ngIf=\"item.action\"\n mat-menu-item\n [id]=\"item.id\"\n (click)=\"emitClicked()\"\n>\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span>{{ item.text }}</span>\n</button>\n", styles: [".new-tab{display:flex;justify-content:flex-start;align-items:center}.new-tab span{flex:1}.new-tab .new-tab-icon{margin:0 0 0 16px}\n"] }]
27
27
  }], propDecorators: { item: [{
@@ -37,12 +37,12 @@ class TdDynamicMenuItemComponent {
37
37
  emitClicked(event) {
38
38
  this.itemClicked.emit(event);
39
39
  }
40
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdDynamicMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: TdDynamicMenuItemComponent, selector: "td-dynamic-menu-item", inputs: { items: "items" }, outputs: { itemClicked: "itemClicked" }, viewQueries: [{ propertyName: "childMenu", first: true, predicate: ["childMenu"], descendants: true, static: true }], ngImport: i0, template: "<mat-menu #childMenu=\"matMenu\" [overlapTrigger]=\"false\">\n <ng-template let-item let-index=\"index\" ngFor [ngForOf]=\"items\">\n <ng-container *ngIf=\"item.children && item.children.length > 0\">\n <button mat-menu-item [id]=\"item.id\" [matMenuTriggerFor]=\"menu.childMenu\">\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span *ngIf=\"item.text\">\n {{ item.text }}\n </span>\n </button>\n <td-dynamic-menu-item\n #menu\n [items]=\"item.children\"\n ></td-dynamic-menu-item>\n </ng-container>\n <ng-container *ngIf=\"!item.children || item.children.length === 0\">\n <ng-container *ngIf=\"!item.link && !item.action\">\n <mat-divider class=\"group-divider\" *ngIf=\"index > 0\"></mat-divider>\n <div class=\"group-label tc-td-secondary text-sm\">{{ item.text }}</div>\n </ng-container>\n <ng-container *ngIf=\"item.link || item.action\">\n <div mat-menu-item class=\"pad-none\">\n <td-dynamic-menu-link\n [item]=\"item\"\n (itemClicked)=\"emitClicked($event)\"\n ></td-dynamic-menu-link>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n</mat-menu>\n", styles: [".group-divider{margin:8px}.group-label{padding:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: TdDynamicMenuItemComponent, selector: "td-dynamic-menu-item", inputs: ["items"], outputs: ["itemClicked"] }, { kind: "component", type: TdDynamicMenuLinkComponent, selector: "td-dynamic-menu-link", inputs: ["item"], outputs: ["itemClicked"] }] });
40
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TdDynamicMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: TdDynamicMenuItemComponent, selector: "td-dynamic-menu-item", inputs: { items: "items" }, outputs: { itemClicked: "itemClicked" }, viewQueries: [{ propertyName: "childMenu", first: true, predicate: ["childMenu"], descendants: true, static: true }], ngImport: i0, template: "<mat-menu #childMenu=\"matMenu\" [overlapTrigger]=\"false\">\n <ng-template let-item let-index=\"index\" ngFor [ngForOf]=\"items\">\n <ng-container *ngIf=\"item.children && item.children.length > 0\">\n <button mat-menu-item [id]=\"item.id\" [matMenuTriggerFor]=\"menu.childMenu\">\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span *ngIf=\"item.text\">\n {{ item.text }}\n </span>\n </button>\n <td-dynamic-menu-item\n #menu\n [items]=\"item.children\"\n ></td-dynamic-menu-item>\n </ng-container>\n <ng-container *ngIf=\"!item.children || item.children.length === 0\">\n <ng-container *ngIf=\"!item.link && !item.action\">\n <mat-divider class=\"group-divider\" *ngIf=\"index > 0\"></mat-divider>\n <div class=\"group-label text-sm\">{{ item.text }}</div>\n </ng-container>\n <ng-container *ngIf=\"item.link || item.action\">\n <div mat-menu-item class=\"pad-none\">\n <td-dynamic-menu-link\n [item]=\"item\"\n (itemClicked)=\"emitClicked($event)\"\n ></td-dynamic-menu-link>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n</mat-menu>\n", styles: [".group-divider{margin:8px}.group-label{padding:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: TdDynamicMenuItemComponent, selector: "td-dynamic-menu-item", inputs: ["items"], outputs: ["itemClicked"] }, { kind: "component", type: TdDynamicMenuLinkComponent, selector: "td-dynamic-menu-link", inputs: ["item"], outputs: ["itemClicked"] }] });
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdDynamicMenuItemComponent, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TdDynamicMenuItemComponent, decorators: [{
44
44
  type: Component,
45
- args: [{ selector: 'td-dynamic-menu-item', template: "<mat-menu #childMenu=\"matMenu\" [overlapTrigger]=\"false\">\n <ng-template let-item let-index=\"index\" ngFor [ngForOf]=\"items\">\n <ng-container *ngIf=\"item.children && item.children.length > 0\">\n <button mat-menu-item [id]=\"item.id\" [matMenuTriggerFor]=\"menu.childMenu\">\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span *ngIf=\"item.text\">\n {{ item.text }}\n </span>\n </button>\n <td-dynamic-menu-item\n #menu\n [items]=\"item.children\"\n ></td-dynamic-menu-item>\n </ng-container>\n <ng-container *ngIf=\"!item.children || item.children.length === 0\">\n <ng-container *ngIf=\"!item.link && !item.action\">\n <mat-divider class=\"group-divider\" *ngIf=\"index > 0\"></mat-divider>\n <div class=\"group-label tc-td-secondary text-sm\">{{ item.text }}</div>\n </ng-container>\n <ng-container *ngIf=\"item.link || item.action\">\n <div mat-menu-item class=\"pad-none\">\n <td-dynamic-menu-link\n [item]=\"item\"\n (itemClicked)=\"emitClicked($event)\"\n ></td-dynamic-menu-link>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n</mat-menu>\n", styles: [".group-divider{margin:8px}.group-label{padding:16px}\n"] }]
45
+ args: [{ selector: 'td-dynamic-menu-item', template: "<mat-menu #childMenu=\"matMenu\" [overlapTrigger]=\"false\">\n <ng-template let-item let-index=\"index\" ngFor [ngForOf]=\"items\">\n <ng-container *ngIf=\"item.children && item.children.length > 0\">\n <button mat-menu-item [id]=\"item.id\" [matMenuTriggerFor]=\"menu.childMenu\">\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span *ngIf=\"item.text\">\n {{ item.text }}\n </span>\n </button>\n <td-dynamic-menu-item\n #menu\n [items]=\"item.children\"\n ></td-dynamic-menu-item>\n </ng-container>\n <ng-container *ngIf=\"!item.children || item.children.length === 0\">\n <ng-container *ngIf=\"!item.link && !item.action\">\n <mat-divider class=\"group-divider\" *ngIf=\"index > 0\"></mat-divider>\n <div class=\"group-label text-sm\">{{ item.text }}</div>\n </ng-container>\n <ng-container *ngIf=\"item.link || item.action\">\n <div mat-menu-item class=\"pad-none\">\n <td-dynamic-menu-link\n [item]=\"item\"\n (itemClicked)=\"emitClicked($event)\"\n ></td-dynamic-menu-link>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n</mat-menu>\n", styles: [".group-divider{margin:8px}.group-label{padding:16px}\n"] }]
46
46
  }], propDecorators: { items: [{
47
47
  type: Input
48
48
  }], itemClicked: [{
@@ -59,10 +59,10 @@ class TdDynamicMenuComponent {
59
59
  emitClicked(event) {
60
60
  this.itemClicked.emit(event);
61
61
  }
62
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdDynamicMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: TdDynamicMenuComponent, selector: "td-dynamic-menu", inputs: { trigger: "trigger", items: "items" }, outputs: { itemClicked: "itemClicked" }, ngImport: i0, template: "<button\n *ngIf=\"!trigger.text\"\n mat-icon-button\n id=\"{{ trigger.id }}\"\n [matMenuTriggerFor]=\"menu.childMenu\"\n>\n <mat-icon\n *ngIf=\"trigger.svgIcon\"\n [class]=\"trigger.iconClasses\"\n [svgIcon]=\"trigger.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"trigger.icon\" [class]=\"trigger.iconClasses\">{{\n trigger.icon\n }}</mat-icon>\n</button>\n<button\n *ngIf=\"trigger.text\"\n mat-button\n id=\"{{ trigger.id }}\"\n [matMenuTriggerFor]=\"menu.childMenu\"\n>\n <mat-icon\n *ngIf=\"trigger.svgIcon\"\n [class]=\"trigger.iconClasses\"\n [svgIcon]=\"trigger.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"trigger.icon\" [class]=\"trigger.iconClasses\">{{\n trigger.icon\n }}</mat-icon>\n <span *ngIf=\"trigger.text\">\n {{ trigger.text }}\n </span>\n</button>\n\n<td-dynamic-menu-item\n #menu\n [items]=\"items\"\n (itemClicked)=\"emitClicked($event)\"\n></td-dynamic-menu-item>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: TdDynamicMenuItemComponent, selector: "td-dynamic-menu-item", inputs: ["items"], outputs: ["itemClicked"] }] });
62
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TdDynamicMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: TdDynamicMenuComponent, selector: "td-dynamic-menu", inputs: { trigger: "trigger", items: "items" }, outputs: { itemClicked: "itemClicked" }, ngImport: i0, template: "<button\n *ngIf=\"!trigger.text\"\n mat-icon-button\n id=\"{{ trigger.id }}\"\n [matMenuTriggerFor]=\"menu.childMenu\"\n>\n <mat-icon\n *ngIf=\"trigger.svgIcon\"\n [class]=\"trigger.iconClasses\"\n [svgIcon]=\"trigger.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"trigger.icon\" [class]=\"trigger.iconClasses\">{{\n trigger.icon\n }}</mat-icon>\n</button>\n<button\n *ngIf=\"trigger.text\"\n mat-button\n id=\"{{ trigger.id }}\"\n [matMenuTriggerFor]=\"menu.childMenu\"\n>\n <mat-icon\n *ngIf=\"trigger.svgIcon\"\n [class]=\"trigger.iconClasses\"\n [svgIcon]=\"trigger.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"trigger.icon\" [class]=\"trigger.iconClasses\">{{\n trigger.icon\n }}</mat-icon>\n <span *ngIf=\"trigger.text\">\n {{ trigger.text }}\n </span>\n</button>\n\n<td-dynamic-menu-item\n #menu\n [items]=\"items\"\n (itemClicked)=\"emitClicked($event)\"\n></td-dynamic-menu-item>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: TdDynamicMenuItemComponent, selector: "td-dynamic-menu-item", inputs: ["items"], outputs: ["itemClicked"] }] });
64
64
  }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdDynamicMenuComponent, decorators: [{
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TdDynamicMenuComponent, decorators: [{
66
66
  type: Component,
67
67
  args: [{ selector: 'td-dynamic-menu', template: "<button\n *ngIf=\"!trigger.text\"\n mat-icon-button\n id=\"{{ trigger.id }}\"\n [matMenuTriggerFor]=\"menu.childMenu\"\n>\n <mat-icon\n *ngIf=\"trigger.svgIcon\"\n [class]=\"trigger.iconClasses\"\n [svgIcon]=\"trigger.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"trigger.icon\" [class]=\"trigger.iconClasses\">{{\n trigger.icon\n }}</mat-icon>\n</button>\n<button\n *ngIf=\"trigger.text\"\n mat-button\n id=\"{{ trigger.id }}\"\n [matMenuTriggerFor]=\"menu.childMenu\"\n>\n <mat-icon\n *ngIf=\"trigger.svgIcon\"\n [class]=\"trigger.iconClasses\"\n [svgIcon]=\"trigger.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"trigger.icon\" [class]=\"trigger.iconClasses\">{{\n trigger.icon\n }}</mat-icon>\n <span *ngIf=\"trigger.text\">\n {{ trigger.text }}\n </span>\n</button>\n\n<td-dynamic-menu-item\n #menu\n [items]=\"items\"\n (itemClicked)=\"emitClicked($event)\"\n></td-dynamic-menu-item>\n" }]
68
68
  }], propDecorators: { trigger: [{
@@ -74,8 +74,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
74
74
  }] } });
75
75
 
76
76
  class CovalentDynamicMenuModule {
77
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CovalentDynamicMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
78
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: CovalentDynamicMenuModule, declarations: [TdDynamicMenuComponent,
77
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CovalentDynamicMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
78
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: CovalentDynamicMenuModule, declarations: [TdDynamicMenuComponent,
79
79
  TdDynamicMenuItemComponent,
80
80
  TdDynamicMenuLinkComponent], imports: [CommonModule,
81
81
  MatButtonModule,
@@ -85,14 +85,14 @@ class CovalentDynamicMenuModule {
85
85
  MatTooltipModule], exports: [TdDynamicMenuComponent,
86
86
  TdDynamicMenuItemComponent,
87
87
  TdDynamicMenuLinkComponent] });
88
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CovalentDynamicMenuModule, imports: [CommonModule,
88
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CovalentDynamicMenuModule, imports: [CommonModule,
89
89
  MatButtonModule,
90
90
  MatIconModule,
91
91
  MatListModule,
92
92
  MatMenuModule,
93
93
  MatTooltipModule] });
94
94
  }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CovalentDynamicMenuModule, decorators: [{
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CovalentDynamicMenuModule, decorators: [{
96
96
  type: NgModule,
97
97
  args: [{
98
98
  declarations: [
@@ -1 +1 @@
1
- {"version":3,"file":"covalent-core-dynamic-menu.mjs","sources":["../../../../libs/angular/dynamic-menu/src/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.ts","../../../../libs/angular/dynamic-menu/src/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.html","../../../../libs/angular/dynamic-menu/src/dynamic-menu-item/dynamic-menu-item.component.ts","../../../../libs/angular/dynamic-menu/src/dynamic-menu-item/dynamic-menu-item.component.html","../../../../libs/angular/dynamic-menu/src/dynamic-menu.component.ts","../../../../libs/angular/dynamic-menu/src/dynamic-menu.component.html","../../../../libs/angular/dynamic-menu/src/dynamic-menu.module.ts","../../../../libs/angular/dynamic-menu/src/covalent-core-dynamic-menu.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n IMenuItem,\n ITdDynamicMenuLinkClickEvent,\n} from '../../dynamic-menu.menu';\n\n@Component({\n selector: 'td-dynamic-menu-link',\n templateUrl: './dynamic-menu-link.component.html',\n styleUrls: ['./dynamic-menu-link.component.scss'],\n})\nexport class TdDynamicMenuLinkComponent {\n @Input() item!: IMenuItem;\n\n @Output() itemClicked: EventEmitter<ITdDynamicMenuLinkClickEvent> =\n new EventEmitter<ITdDynamicMenuLinkClickEvent>();\n\n emitClicked(): void {\n this.itemClicked.emit({ text: this.item.text, action: this.item.action });\n }\n}\n","<a\n *ngIf=\"item.link\"\n class=\"new-tab\"\n mat-menu-item\n [id]=\"item.id\"\n [href]=\"item.link\"\n [target]=\"item.newTab ? '_blank' : '_self'\"\n (click)=\"emitClicked()\"\n>\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span>{{ item.text }}</span>\n <mat-icon *ngIf=\"item.newTab\" class=\"new-tab-icon\">launch</mat-icon>\n</a>\n<button\n *ngIf=\"item.action\"\n mat-menu-item\n [id]=\"item.id\"\n (click)=\"emitClicked()\"\n>\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span>{{ item.text }}</span>\n</button>\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { MatMenu } from '@angular/material/menu';\nimport { IMenuItem, ITdDynamicMenuLinkClickEvent } from '../dynamic-menu.menu';\n\n@Component({\n selector: 'td-dynamic-menu-item',\n templateUrl: './dynamic-menu-item.component.html',\n styleUrls: ['./dynamic-menu-item.component.scss'],\n})\nexport class TdDynamicMenuItemComponent {\n @Input() items!: IMenuItem[];\n\n @Output() itemClicked: EventEmitter<ITdDynamicMenuLinkClickEvent> =\n new EventEmitter<ITdDynamicMenuLinkClickEvent>();\n\n @ViewChild('childMenu', { static: true }) public childMenu!: MatMenu;\n\n emitClicked(event: ITdDynamicMenuLinkClickEvent): void {\n this.itemClicked.emit(event);\n }\n}\n","<mat-menu #childMenu=\"matMenu\" [overlapTrigger]=\"false\">\n <ng-template let-item let-index=\"index\" ngFor [ngForOf]=\"items\">\n <ng-container *ngIf=\"item.children && item.children.length > 0\">\n <button mat-menu-item [id]=\"item.id\" [matMenuTriggerFor]=\"menu.childMenu\">\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span *ngIf=\"item.text\">\n {{ item.text }}\n </span>\n </button>\n <td-dynamic-menu-item\n #menu\n [items]=\"item.children\"\n ></td-dynamic-menu-item>\n </ng-container>\n <ng-container *ngIf=\"!item.children || item.children.length === 0\">\n <ng-container *ngIf=\"!item.link && !item.action\">\n <mat-divider class=\"group-divider\" *ngIf=\"index > 0\"></mat-divider>\n <div class=\"group-label tc-td-secondary text-sm\">{{ item.text }}</div>\n </ng-container>\n <ng-container *ngIf=\"item.link || item.action\">\n <div mat-menu-item class=\"pad-none\">\n <td-dynamic-menu-link\n [item]=\"item\"\n (itemClicked)=\"emitClicked($event)\"\n ></td-dynamic-menu-link>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n</mat-menu>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n IMenuItem,\n IMenuTrigger,\n ITdDynamicMenuLinkClickEvent,\n} from './dynamic-menu.menu';\n\n@Component({\n selector: 'td-dynamic-menu',\n styleUrls: ['dynamic-menu.component.scss'],\n templateUrl: './dynamic-menu.component.html',\n})\nexport class TdDynamicMenuComponent {\n @Input() trigger!: IMenuTrigger;\n @Input() items!: IMenuItem[];\n\n @Output() itemClicked: EventEmitter<ITdDynamicMenuLinkClickEvent> =\n new EventEmitter<ITdDynamicMenuLinkClickEvent>();\n\n emitClicked(event: ITdDynamicMenuLinkClickEvent): void {\n this.itemClicked.emit(event);\n }\n}\n","<button\n *ngIf=\"!trigger.text\"\n mat-icon-button\n id=\"{{ trigger.id }}\"\n [matMenuTriggerFor]=\"menu.childMenu\"\n>\n <mat-icon\n *ngIf=\"trigger.svgIcon\"\n [class]=\"trigger.iconClasses\"\n [svgIcon]=\"trigger.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"trigger.icon\" [class]=\"trigger.iconClasses\">{{\n trigger.icon\n }}</mat-icon>\n</button>\n<button\n *ngIf=\"trigger.text\"\n mat-button\n id=\"{{ trigger.id }}\"\n [matMenuTriggerFor]=\"menu.childMenu\"\n>\n <mat-icon\n *ngIf=\"trigger.svgIcon\"\n [class]=\"trigger.iconClasses\"\n [svgIcon]=\"trigger.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"trigger.icon\" [class]=\"trigger.iconClasses\">{{\n trigger.icon\n }}</mat-icon>\n <span *ngIf=\"trigger.text\">\n {{ trigger.text }}\n </span>\n</button>\n\n<td-dynamic-menu-item\n #menu\n [items]=\"items\"\n (itemClicked)=\"emitClicked($event)\"\n></td-dynamic-menu-item>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { TdDynamicMenuComponent } from './dynamic-menu.component';\nimport { TdDynamicMenuItemComponent } from './dynamic-menu-item/dynamic-menu-item.component';\nimport { TdDynamicMenuLinkComponent } from './dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component';\n\n@NgModule({\n declarations: [\n TdDynamicMenuComponent,\n TdDynamicMenuItemComponent,\n TdDynamicMenuLinkComponent,\n ],\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n MatListModule,\n MatMenuModule,\n MatTooltipModule,\n ],\n providers: [],\n exports: [\n TdDynamicMenuComponent,\n TdDynamicMenuItemComponent,\n TdDynamicMenuLinkComponent,\n ],\n})\nexport class CovalentDynamicMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i3","i5.TdDynamicMenuLinkComponent","i2","i5.TdDynamicMenuItemComponent"],"mappings":"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"}
1
+ {"version":3,"file":"covalent-core-dynamic-menu.mjs","sources":["../../../../libs/angular/dynamic-menu/src/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.ts","../../../../libs/angular/dynamic-menu/src/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.html","../../../../libs/angular/dynamic-menu/src/dynamic-menu-item/dynamic-menu-item.component.ts","../../../../libs/angular/dynamic-menu/src/dynamic-menu-item/dynamic-menu-item.component.html","../../../../libs/angular/dynamic-menu/src/dynamic-menu.component.ts","../../../../libs/angular/dynamic-menu/src/dynamic-menu.component.html","../../../../libs/angular/dynamic-menu/src/dynamic-menu.module.ts","../../../../libs/angular/dynamic-menu/src/covalent-core-dynamic-menu.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n IMenuItem,\n ITdDynamicMenuLinkClickEvent,\n} from '../../dynamic-menu.menu';\n\n@Component({\n selector: 'td-dynamic-menu-link',\n templateUrl: './dynamic-menu-link.component.html',\n styleUrls: ['./dynamic-menu-link.component.scss'],\n})\nexport class TdDynamicMenuLinkComponent {\n @Input() item!: IMenuItem;\n\n @Output() itemClicked: EventEmitter<ITdDynamicMenuLinkClickEvent> =\n new EventEmitter<ITdDynamicMenuLinkClickEvent>();\n\n emitClicked(): void {\n this.itemClicked.emit({ text: this.item.text, action: this.item.action });\n }\n}\n","<a\n *ngIf=\"item.link\"\n class=\"new-tab\"\n mat-menu-item\n [id]=\"item.id\"\n [href]=\"item.link\"\n [target]=\"item.newTab ? '_blank' : '_self'\"\n (click)=\"emitClicked()\"\n>\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span>{{ item.text }}</span>\n <mat-icon *ngIf=\"item.newTab\" class=\"new-tab-icon\">launch</mat-icon>\n</a>\n<button\n *ngIf=\"item.action\"\n mat-menu-item\n [id]=\"item.id\"\n (click)=\"emitClicked()\"\n>\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span>{{ item.text }}</span>\n</button>\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { MatMenu } from '@angular/material/menu';\nimport { IMenuItem, ITdDynamicMenuLinkClickEvent } from '../dynamic-menu.menu';\n\n@Component({\n selector: 'td-dynamic-menu-item',\n templateUrl: './dynamic-menu-item.component.html',\n styleUrls: ['./dynamic-menu-item.component.scss'],\n})\nexport class TdDynamicMenuItemComponent {\n @Input() items!: IMenuItem[];\n\n @Output() itemClicked: EventEmitter<ITdDynamicMenuLinkClickEvent> =\n new EventEmitter<ITdDynamicMenuLinkClickEvent>();\n\n @ViewChild('childMenu', { static: true }) public childMenu!: MatMenu;\n\n emitClicked(event: ITdDynamicMenuLinkClickEvent): void {\n this.itemClicked.emit(event);\n }\n}\n","<mat-menu #childMenu=\"matMenu\" [overlapTrigger]=\"false\">\n <ng-template let-item let-index=\"index\" ngFor [ngForOf]=\"items\">\n <ng-container *ngIf=\"item.children && item.children.length > 0\">\n <button mat-menu-item [id]=\"item.id\" [matMenuTriggerFor]=\"menu.childMenu\">\n <mat-icon\n *ngIf=\"item.svgIcon\"\n [class]=\"item.iconClasses\"\n [svgIcon]=\"item.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"item.icon\" [class]=\"item.iconClasses\">{{\n item.icon\n }}</mat-icon>\n <span *ngIf=\"item.text\">\n {{ item.text }}\n </span>\n </button>\n <td-dynamic-menu-item\n #menu\n [items]=\"item.children\"\n ></td-dynamic-menu-item>\n </ng-container>\n <ng-container *ngIf=\"!item.children || item.children.length === 0\">\n <ng-container *ngIf=\"!item.link && !item.action\">\n <mat-divider class=\"group-divider\" *ngIf=\"index > 0\"></mat-divider>\n <div class=\"group-label text-sm\">{{ item.text }}</div>\n </ng-container>\n <ng-container *ngIf=\"item.link || item.action\">\n <div mat-menu-item class=\"pad-none\">\n <td-dynamic-menu-link\n [item]=\"item\"\n (itemClicked)=\"emitClicked($event)\"\n ></td-dynamic-menu-link>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n</mat-menu>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n IMenuItem,\n IMenuTrigger,\n ITdDynamicMenuLinkClickEvent,\n} from './dynamic-menu.menu';\n\n@Component({\n selector: 'td-dynamic-menu',\n styleUrls: ['dynamic-menu.component.scss'],\n templateUrl: './dynamic-menu.component.html',\n})\nexport class TdDynamicMenuComponent {\n @Input() trigger!: IMenuTrigger;\n @Input() items!: IMenuItem[];\n\n @Output() itemClicked: EventEmitter<ITdDynamicMenuLinkClickEvent> =\n new EventEmitter<ITdDynamicMenuLinkClickEvent>();\n\n emitClicked(event: ITdDynamicMenuLinkClickEvent): void {\n this.itemClicked.emit(event);\n }\n}\n","<button\n *ngIf=\"!trigger.text\"\n mat-icon-button\n id=\"{{ trigger.id }}\"\n [matMenuTriggerFor]=\"menu.childMenu\"\n>\n <mat-icon\n *ngIf=\"trigger.svgIcon\"\n [class]=\"trigger.iconClasses\"\n [svgIcon]=\"trigger.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"trigger.icon\" [class]=\"trigger.iconClasses\">{{\n trigger.icon\n }}</mat-icon>\n</button>\n<button\n *ngIf=\"trigger.text\"\n mat-button\n id=\"{{ trigger.id }}\"\n [matMenuTriggerFor]=\"menu.childMenu\"\n>\n <mat-icon\n *ngIf=\"trigger.svgIcon\"\n [class]=\"trigger.iconClasses\"\n [svgIcon]=\"trigger.svgIcon\"\n ></mat-icon>\n <mat-icon *ngIf=\"trigger.icon\" [class]=\"trigger.iconClasses\">{{\n trigger.icon\n }}</mat-icon>\n <span *ngIf=\"trigger.text\">\n {{ trigger.text }}\n </span>\n</button>\n\n<td-dynamic-menu-item\n #menu\n [items]=\"items\"\n (itemClicked)=\"emitClicked($event)\"\n></td-dynamic-menu-item>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { TdDynamicMenuComponent } from './dynamic-menu.component';\nimport { TdDynamicMenuItemComponent } from './dynamic-menu-item/dynamic-menu-item.component';\nimport { TdDynamicMenuLinkComponent } from './dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component';\n\n@NgModule({\n declarations: [\n TdDynamicMenuComponent,\n TdDynamicMenuItemComponent,\n TdDynamicMenuLinkComponent,\n ],\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n MatListModule,\n MatMenuModule,\n MatTooltipModule,\n ],\n providers: [],\n exports: [\n TdDynamicMenuComponent,\n TdDynamicMenuItemComponent,\n TdDynamicMenuLinkComponent,\n ],\n})\nexport class CovalentDynamicMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i3","i5.TdDynamicMenuLinkComponent","i2","i5.TdDynamicMenuItemComponent"],"mappings":"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"}
@@ -12,11 +12,11 @@ import * as i4 from '@angular/material/button';
12
12
  import { MatButtonModule } from '@angular/material/button';
13
13
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
14
14
  import { ENTER } from '@angular/cdk/keycodes';
15
- import { Subject, merge, fromEvent } from 'rxjs';
16
- import { filter, takeUntil, tap } from 'rxjs/operators';
17
- import { mixinControlValueAccessor, mixinDisabled } from '@covalent/core/common';
15
+ import { Subject, fromEvent, merge } from 'rxjs';
16
+ import { takeUntil, filter, tap } from 'rxjs/operators';
17
+ import { mixinDisabled, mixinControlValueAccessor } from '@covalent/core/common';
18
18
  import * as i1$1 from '@angular/common/http';
19
- import { HttpRequest, HttpHeaders, HttpParams, HttpEventType } from '@angular/common/http';
19
+ import { HttpHeaders, HttpParams, HttpRequest, HttpEventType } from '@angular/common/http';
20
20
 
21
21
  class TdFileSelectDirective {
22
22
  model;
@@ -66,10 +66,10 @@ class TdFileSelectDirective {
66
66
  }
67
67
  }
68
68
  }
69
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdFileSelectDirective, deps: [{ token: i1.NgModel, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
70
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: TdFileSelectDirective, selector: "[tdFileSelect]", inputs: { multiple: "multiple" }, outputs: { fileSelect: "fileSelect" }, host: { listeners: { "change": "onChange($event)" }, properties: { "attr.multiple": "this.multipleBinding" } }, ngImport: i0 });
69
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TdFileSelectDirective, deps: [{ token: i1.NgModel, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
70
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: TdFileSelectDirective, selector: "[tdFileSelect]", inputs: { multiple: "multiple" }, outputs: { fileSelect: "fileSelect" }, host: { listeners: { "change": "onChange($event)" }, properties: { "attr.multiple": "this.multipleBinding" } }, ngImport: i0 });
71
71
  }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdFileSelectDirective, decorators: [{
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TdFileSelectDirective, decorators: [{
73
73
  type: Directive,
74
74
  args: [{
75
75
  selector: '[tdFileSelect]',
@@ -209,10 +209,10 @@ class TdFileDropDirective {
209
209
  event.preventDefault();
210
210
  event.stopPropagation();
211
211
  }
212
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdFileDropDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
213
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: TdFileDropDirective, selector: "[tdFileDrop]", inputs: { multiple: "multiple", disabled: "disabled" }, outputs: { fileDrop: "fileDrop" }, host: { listeners: { "drop": "onDrop($event)" }, properties: { "attr.multiple": "this.multipleBinding", "attr.disabled": "this.disabledBinding" } }, ngImport: i0 });
212
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TdFileDropDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
213
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: TdFileDropDirective, selector: "[tdFileDrop]", inputs: { multiple: "multiple", disabled: "disabled" }, outputs: { fileDrop: "fileDrop" }, host: { listeners: { "drop": "onDrop($event)" }, properties: { "attr.multiple": "this.multipleBinding", "attr.disabled": "this.disabledBinding" } }, ngImport: i0 });
214
214
  }
215
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdFileDropDirective, decorators: [{
215
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TdFileDropDirective, decorators: [{
216
216
  type: Directive,
217
217
  args: [{ selector: '[tdFileDrop]' }]
218
218
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { multiple: [{
@@ -236,10 +236,10 @@ class TdFileInputLabelDirective extends TemplatePortalDirective {
236
236
  constructor(templateRef, viewContainerRef) {
237
237
  super(templateRef, viewContainerRef);
238
238
  }
239
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdFileInputLabelDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
240
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: TdFileInputLabelDirective, selector: "[tdFileInputLabel]ng-template", usesInheritance: true, ngImport: i0 });
239
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TdFileInputLabelDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
240
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: TdFileInputLabelDirective, selector: "[tdFileInputLabel]ng-template", usesInheritance: true, ngImport: i0 });
241
241
  }
242
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdFileInputLabelDirective, decorators: [{
242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TdFileInputLabelDirective, decorators: [{
243
243
  type: Directive,
244
244
  args: [{
245
245
  selector: '[tdFileInputLabel]ng-template',
@@ -332,16 +332,16 @@ class TdFileInputComponent extends _TdFileInputMixinBase {
332
332
  setDisabledState(isDisabled) {
333
333
  this.disabled = isDisabled;
334
334
  }
335
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdFileInputComponent, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
336
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: TdFileInputComponent, selector: "td-file-input", inputs: { disabled: "disabled", value: "value", color: "color", multiple: "multiple", accept: "accept" }, outputs: { selectFile: "selectFile" }, providers: [
335
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TdFileInputComponent, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
336
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: TdFileInputComponent, selector: "td-file-input", inputs: { disabled: "disabled", value: "value", color: "color", multiple: "multiple", accept: "accept" }, outputs: { selectFile: "selectFile" }, providers: [
337
337
  {
338
338
  provide: NG_VALUE_ACCESSOR,
339
339
  useExisting: forwardRef(() => TdFileInputComponent),
340
340
  multi: true,
341
341
  },
342
- ], viewQueries: [{ propertyName: "_inputButton", first: true, predicate: ["fileInputButton"], descendants: true, read: ElementRef, static: true }, { propertyName: "_inputElement", first: true, predicate: ["fileInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<button\n #fileInputButton\n mat-stroked-button\n class=\"td-file-input\"\n type=\"button\"\n [color]=\"color\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n (fileDrop)=\"handleSelect($event)\"\n tdFileDrop\n>\n <ng-content></ng-content>\n</button>\n<input\n #fileInput\n class=\"td-file-input-hidden\"\n type=\"file\"\n [attr.accept]=\"accept\"\n (fileSelect)=\"handleSelect($event)\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n tdFileSelect\n/>\n", styles: [":host .td-file-input{padding-left:8px;padding-right:8px}:host input.td-file-input-hidden{display:none}:host ::ng-deep .mdc-button__label{display:flex;align-items:center}:host .drop-zone{border-radius:3px}:host .drop-zone *{pointer-events:none}\n"], dependencies: [{ kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: TdFileSelectDirective, selector: "[tdFileSelect]", inputs: ["multiple"], outputs: ["fileSelect"] }, { kind: "directive", type: TdFileDropDirective, selector: "[tdFileDrop]", inputs: ["multiple", "disabled"], outputs: ["fileDrop"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
342
+ ], viewQueries: [{ propertyName: "_inputButton", first: true, predicate: ["fileInputButton"], descendants: true, read: ElementRef, static: true }, { propertyName: "_inputElement", first: true, predicate: ["fileInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<button\n #fileInputButton\n mat-raised-button\n class=\"td-file-input\"\n type=\"button\"\n [color]=\"color\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n (fileDrop)=\"handleSelect($event)\"\n tdFileDrop\n>\n <ng-content></ng-content>\n</button>\n<input\n #fileInput\n class=\"td-file-input-hidden\"\n type=\"file\"\n [attr.accept]=\"accept\"\n (fileSelect)=\"handleSelect($event)\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n tdFileSelect\n/>\n", styles: [":host .td-file-input{padding-left:8px;padding-right:8px}:host input.td-file-input-hidden{display:none}:host ::ng-deep .mdc-button__label{display:flex;align-items:center}:host .drop-zone{border-radius:3px}:host .drop-zone *{pointer-events:none}\n"], dependencies: [{ kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: TdFileSelectDirective, selector: "[tdFileSelect]", inputs: ["multiple"], outputs: ["fileSelect"] }, { kind: "directive", type: TdFileDropDirective, selector: "[tdFileDrop]", inputs: ["multiple", "disabled"], outputs: ["fileDrop"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
343
343
  }
344
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdFileInputComponent, decorators: [{
344
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TdFileInputComponent, decorators: [{
345
345
  type: Component,
346
346
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, providers: [
347
347
  {
@@ -349,7 +349,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
349
349
  useExisting: forwardRef(() => TdFileInputComponent),
350
350
  multi: true,
351
351
  },
352
- ], selector: 'td-file-input', inputs: ['disabled', 'value'], template: "<button\n #fileInputButton\n mat-stroked-button\n class=\"td-file-input\"\n type=\"button\"\n [color]=\"color\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n (fileDrop)=\"handleSelect($event)\"\n tdFileDrop\n>\n <ng-content></ng-content>\n</button>\n<input\n #fileInput\n class=\"td-file-input-hidden\"\n type=\"file\"\n [attr.accept]=\"accept\"\n (fileSelect)=\"handleSelect($event)\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n tdFileSelect\n/>\n", styles: [":host .td-file-input{padding-left:8px;padding-right:8px}:host input.td-file-input-hidden{display:none}:host ::ng-deep .mdc-button__label{display:flex;align-items:center}:host .drop-zone{border-radius:3px}:host .drop-zone *{pointer-events:none}\n"] }]
352
+ ], selector: 'td-file-input', inputs: ['disabled', 'value'], template: "<button\n #fileInputButton\n mat-raised-button\n class=\"td-file-input\"\n type=\"button\"\n [color]=\"color\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n (fileDrop)=\"handleSelect($event)\"\n tdFileDrop\n>\n <ng-content></ng-content>\n</button>\n<input\n #fileInput\n class=\"td-file-input-hidden\"\n type=\"file\"\n [attr.accept]=\"accept\"\n (fileSelect)=\"handleSelect($event)\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n tdFileSelect\n/>\n", styles: [":host .td-file-input{padding-left:8px;padding-right:8px}:host input.td-file-input-hidden{display:none}:host ::ng-deep .mdc-button__label{display:flex;align-items:center}:host .drop-zone{border-radius:3px}:host .drop-zone *{pointer-events:none}\n"] }]
353
353
  }], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }], propDecorators: { _inputButton: [{
354
354
  type: ViewChild,
355
355
  args: ['fileInputButton', { static: true, read: ElementRef }]
@@ -492,8 +492,8 @@ class TdFileUploadComponent {
492
492
  this._cancel();
493
493
  }
494
494
  }
495
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdFileUploadComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
496
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: TdFileUploadComponent, selector: "td-file-upload", inputs: { defaultColor: "defaultColor", activeColor: "activeColor", cancelColor: "cancelColor", multiple: "multiple", required: "required", accept: "accept", disabled: "disabled", value: "value" }, outputs: { selectFile: "selectFile", upload: "upload", cancel: "cancel" }, providers: [
495
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TdFileUploadComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
496
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: TdFileUploadComponent, selector: "td-file-upload", inputs: { defaultColor: "defaultColor", activeColor: "activeColor", cancelColor: "cancelColor", multiple: "multiple", required: "required", accept: "accept", disabled: "disabled", value: "value" }, outputs: { selectFile: "selectFile", upload: "upload", cancel: "cancel" }, providers: [
497
497
  {
498
498
  provide: NG_VALUE_ACCESSOR,
499
499
  useExisting: forwardRef(() => TdFileUploadComponent),
@@ -501,7 +501,7 @@ class TdFileUploadComponent {
501
501
  },
502
502
  ], queries: [{ propertyName: "inputLabel", first: true, predicate: TdFileInputLabelDirective, descendants: true }], viewQueries: [{ propertyName: "fileInput", first: true, predicate: TdFileInputComponent, descendants: true }], ngImport: i0, template: "<td-file-input\n *ngIf=\"!value\"\n [(ngModel)]=\"value\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [accept]=\"accept\"\n [color]=\"defaultColor\"\n (selectFile)=\"(handleSelect)\"\n>\n <ng-template [cdkPortalOutlet]=\"inputLabel\" [ngIf]=\"true\"></ng-template>\n</td-file-input>\n<div *ngIf=\"value\">\n <button\n #fileUpload\n class=\"td-file-upload\"\n mat-raised-button\n type=\"button\"\n [color]=\"activeColor\"\n (keyup.delete)=\"_cancel()\"\n (keyup.backspace)=\"_cancel()\"\n (keyup.escape)=\"_cancel()\"\n (click)=\"uploadPressed()\"\n >\n <ng-content></ng-content>\n </button>\n <button\n mat-icon-button\n type=\"button\"\n class=\"td-file-upload-cancel\"\n [color]=\"cancelColor\"\n (click)=\"_cancel()\"\n >\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n", styles: [".td-file-upload{padding-left:8px;padding-right:8px}.td-file-upload-cancel{height:24px;width:24px;position:relative;top:24px;left:-12px}::ng-deep [dir=rtl] .td-file-upload-cancel{right:-12px;left:0}.td-file-upload-cancel mat-icon{border-radius:12px;vertical-align:baseline}.drop-zone{border-radius:3px}.drop-zone *{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: TdFileInputComponent, selector: "td-file-input", inputs: ["disabled", "value", "color", "multiple", "accept"], outputs: ["selectFile"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
503
503
  }
504
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdFileUploadComponent, decorators: [{
504
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TdFileUploadComponent, decorators: [{
505
505
  type: Component,
506
506
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, providers: [
507
507
  {
@@ -591,10 +591,10 @@ class TdFileService {
591
591
  break;
592
592
  }
593
593
  }
594
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdFileService, deps: [{ token: i1$1.HttpClient, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
595
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdFileService });
594
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TdFileService, deps: [{ token: i1$1.HttpClient, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
595
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TdFileService });
596
596
  }
597
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TdFileService, decorators: [{
597
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TdFileService, decorators: [{
598
598
  type: Injectable
599
599
  }], ctorParameters: () => [{ type: i1$1.HttpClient, decorators: [{
600
600
  type: Optional
@@ -608,8 +608,8 @@ const TD_FILE = [
608
608
  TdFileInputLabelDirective,
609
609
  ];
610
610
  class CovalentFileModule {
611
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CovalentFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
612
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: CovalentFileModule, declarations: [TdFileSelectDirective,
611
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CovalentFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
612
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: CovalentFileModule, declarations: [TdFileSelectDirective,
613
613
  TdFileDropDirective,
614
614
  TdFileUploadComponent,
615
615
  TdFileInputComponent,
@@ -622,13 +622,13 @@ class CovalentFileModule {
622
622
  TdFileUploadComponent,
623
623
  TdFileInputComponent,
624
624
  TdFileInputLabelDirective] });
625
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CovalentFileModule, providers: [TdFileService], imports: [FormsModule,
625
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CovalentFileModule, providers: [TdFileService], imports: [FormsModule,
626
626
  CommonModule,
627
627
  MatIconModule,
628
628
  MatButtonModule,
629
629
  PortalModule] });
630
630
  }
631
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CovalentFileModule, decorators: [{
631
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CovalentFileModule, decorators: [{
632
632
  type: NgModule,
633
633
  args: [{
634
634
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"covalent-core-file.mjs","sources":["../../../../libs/angular/file/src/directives/file-select.directive.ts","../../../../libs/angular/file/src/directives/file-drop.directive.ts","../../../../libs/angular/file/src/file-input/file-input.component.ts","../../../../libs/angular/file/src/file-input/file-input.component.html","../../../../libs/angular/file/src/file-upload/file-upload.component.ts","../../../../libs/angular/file/src/file-upload/file-upload.component.html","../../../../libs/angular/file/src/services/file.service.ts","../../../../libs/angular/file/src/file.module.ts","../../../../libs/angular/file/src/covalent-core-file.ts"],"sourcesContent":["import { Directive, Input, Output, EventEmitter } from '@angular/core';\nimport { HostListener, HostBinding, Host, Optional } from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { NgModel } from '@angular/forms';\n\n@Directive({\n selector: '[tdFileSelect]',\n})\nexport class TdFileSelectDirective {\n private _multiple = false;\n\n /**\n * multiple?: boolean\n * Sets whether multiple files can be selected at once in host element, or just a single file.\n * Can also be 'multiple' native attribute.\n */\n @Input()\n set multiple(multiple: boolean | string) {\n this._multiple = coerceBooleanProperty(multiple);\n }\n\n /**\n * fileSelect?: function\n * Event emitted when a file or files are selected in host [HTMLInputElement].\n * Emits a [FileList | File] object.\n * Alternative to not use [(ngModel)].\n */\n @Output() fileSelect: EventEmitter<FileList | File> = new EventEmitter<\n FileList | File\n >();\n\n /**\n * Binds native 'multiple' attribute if [multiple] property is 'true'.\n */\n @HostBinding('attr.multiple')\n get multipleBinding(): string | undefined {\n return this._multiple ? '' : undefined;\n }\n\n constructor(@Optional() @Host() private model: NgModel) {}\n\n /**\n * Listens to 'change' host event to get [HTMLInputElement] files.\n * Emits the 'fileSelect' event with a [FileList] or [File] depending if 'multiple' attr exists in host.\n * Uses [(ngModel)] if declared, instead of emitting 'fileSelect' event.\n */\n @HostListener('change', ['$event'])\n onChange(event: Event): void {\n if (event.target instanceof HTMLInputElement) {\n const fileInputEl: HTMLInputElement = event.target;\n const files: FileList = fileInputEl.files || new FileList();\n if (files.length) {\n const value: FileList | File = this._multiple\n ? files.length > 1\n ? files\n : files[0]\n : files[0];\n this.model\n ? this.model.update.emit(value)\n : this.fileSelect.emit(value);\n }\n }\n }\n}\n","import {\n Directive,\n Input,\n Output,\n EventEmitter,\n HostListener,\n HostBinding,\n ElementRef,\n Renderer2,\n OnInit,\n OnDestroy,\n NgZone,\n} from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nexport class TdFileDropBase {}\n\n@Directive({ selector: '[tdFileDrop]' })\nexport class TdFileDropDirective implements OnInit, OnDestroy {\n private _multiple = false;\n private _dragenterListener?: VoidFunction;\n private _dragleaveListener?: VoidFunction;\n private _dragoverListener?: VoidFunction;\n\n /**\n * multiple?: boolean\n * Sets whether multiple files can be dropped at once in host element, or just a single file.\n * Can also be 'multiple' native attribute.\n */\n @Input()\n set multiple(multiple: boolean | string) {\n this._multiple = coerceBooleanProperty(multiple);\n }\n\n @Input() disabled? = false;\n\n /**\n * fileDrop?: function\n * Event emitted when a file or files are dropped in host element after being validated.\n * Emits a [FileList | File] object.\n */\n @Output() fileDrop: EventEmitter<FileList | File> = new EventEmitter<\n FileList | File\n >();\n\n /**\n * Binds native 'multiple' attribute if [multiple] property is 'true'.\n */\n @HostBinding('attr.multiple')\n get multipleBinding(): string | undefined {\n return this._multiple ? '' : undefined;\n }\n\n /**\n * Binds native 'disabled' attribute if [disabled] property is 'true'.\n */\n @HostBinding('attr.disabled')\n get disabledBinding(): string | undefined {\n return this.disabled ? '' : undefined;\n }\n\n constructor(\n private _renderer: Renderer2,\n private _element: ElementRef<HTMLElement>,\n private _ngZone: NgZone\n ) {}\n\n ngOnInit(): void {\n this._ngZone.runOutsideAngular(() => {\n // Listens to 'dragenter' host event to add animation class 'drop-zone' which can be overriden in host.\n // Stops event propagation and default action from browser for 'dragenter' event.\n this._dragenterListener = this._renderer.listen(\n this._element.nativeElement,\n 'dragenter',\n (event: Event) => {\n if (!this.disabled) {\n this._renderer.addClass(this._element.nativeElement, 'drop-zone');\n }\n this._stopEvent(event);\n }\n );\n\n // Listens to 'dragleave' host event to remove animation class 'drop-zone'.\n // Stops event propagation and default action from browser for 'dragleave' event.\n this._dragleaveListener = this._renderer.listen(\n this._element.nativeElement,\n 'dragleave',\n (event: Event) => {\n this._renderer.removeClass(this._element.nativeElement, 'drop-zone');\n this._stopEvent(event);\n }\n );\n\n // Listens to 'dragover' host event to validate transfer items.\n // Checks if 'multiple' attr exists in host to allow multiple file drops.\n // Stops event propagation and default action from browser for 'dragover' event.\n this._dragoverListener = this._renderer.listen(\n this._element.nativeElement,\n 'dragover',\n (event: DragEvent) => {\n const transfer: DataTransfer =\n event.dataTransfer || new DataTransfer();\n transfer.dropEffect = this._typeCheck(transfer.types);\n if (\n this.disabled ||\n (!this._multiple &&\n ((transfer.items && transfer.items.length > 1) ||\n (<any>transfer).mozItemCount > 1))\n ) {\n transfer.dropEffect = 'none';\n } else {\n transfer.dropEffect = 'copy';\n }\n this._stopEvent(event);\n }\n );\n });\n }\n\n ngOnDestroy(): void {\n this._dragenterListener?.();\n this._dragleaveListener?.();\n this._dragoverListener?.();\n }\n\n /**\n * Listens to 'drop' host event to get validated transfer items.\n * Emits the 'fileDrop' event with a [FileList] or [File] depending if 'multiple' attr exists in host.\n * Stops event propagation and default action from browser for 'drop' event.\n */\n @HostListener('drop', ['$event'])\n onDrop(event: Event): void {\n if (!this.disabled) {\n const transfer: DataTransfer =\n (<DragEvent>event).dataTransfer ?? new DataTransfer();\n const files: FileList = transfer.files;\n if (files.length) {\n const value: FileList | File = this._multiple\n ? files.length > 1\n ? files\n : files[0]\n : files[0];\n this.fileDrop.emit(value);\n }\n }\n this._renderer.removeClass(this._element.nativeElement, 'drop-zone');\n this._stopEvent(event);\n }\n\n /**\n * Validates if the transfer item types are 'Files'.\n */\n private _typeCheck(\n types: ReadonlyArray<string> | DOMStringList\n ): 'none' | 'copy' | 'link' | 'move' {\n let dropEffect: 'none' | 'copy' | 'link' | 'move' = 'none';\n if (\n types &&\n (((<any>types).contains && (<any>types).contains('Files')) ||\n ((<any>types).indexOf && (<any>types).indexOf('Files') !== -1))\n ) {\n dropEffect = 'copy';\n }\n\n return dropEffect;\n }\n\n private _stopEvent(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n }\n}\n","import {\n Component,\n Directive,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ViewChild,\n ElementRef,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n ChangeDetectorRef,\n forwardRef,\n OnInit,\n OnDestroy,\n NgZone,\n} from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { TemplatePortalDirective } from '@angular/cdk/portal';\nimport { ENTER } from '@angular/cdk/keycodes';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { fromEvent, merge, Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport {\n ICanDisable,\n IControlValueAccessor,\n mixinControlValueAccessor,\n mixinDisabled,\n} from '@covalent/core/common';\n\n@Directive({\n selector: '[tdFileInputLabel]ng-template',\n})\nexport class TdFileInputLabelDirective extends TemplatePortalDirective {\n constructor(\n templateRef: TemplateRef<unknown>,\n viewContainerRef: ViewContainerRef\n ) {\n super(templateRef, viewContainerRef);\n }\n}\n\nexport class TdFileInputBase {\n constructor(public _changeDetectorRef: ChangeDetectorRef) {}\n}\n\nexport const _TdFileInputMixinBase = mixinControlValueAccessor(\n mixinDisabled(TdFileInputBase)\n);\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TdFileInputComponent),\n multi: true,\n },\n ],\n selector: 'td-file-input',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['disabled', 'value'],\n styleUrls: ['./file-input.component.scss'],\n templateUrl: './file-input.component.html',\n})\nexport class TdFileInputComponent\n extends _TdFileInputMixinBase\n implements OnInit, OnDestroy, IControlValueAccessor, ICanDisable\n{\n private _multiple = false;\n\n /** The native `<button class=\"td-file-input\"></button>` element */\n @ViewChild('fileInputButton', { static: true, read: ElementRef })\n _inputButton!: ElementRef<HTMLElement>;\n\n /** The native `<input type=\"file\"> element */\n @ViewChild('fileInput', { static: true })\n _inputElement!: ElementRef<HTMLInputElement>;\n get inputElement(): HTMLInputElement {\n return this._inputElement.nativeElement;\n }\n\n /**\n * color?: 'accent' | 'primary' | 'warn'\n * Sets button color. Uses same color palette accepted as [MatButton].\n */\n @Input() color?: 'accent' | 'primary' | 'warn';\n\n /**\n * multiple?: boolean\n * Sets if multiple files can be dropped/selected at once in [TdFileInputComponent].\n */\n @Input()\n set multiple(multiple: boolean | string) {\n this._multiple = coerceBooleanProperty(multiple);\n }\n get multiple(): boolean {\n return this._multiple;\n }\n\n /**\n * accept?: string\n * Sets files accepted when opening the file browser dialog.\n * Same as 'accept' attribute in <input/> element.\n */\n @Input() accept?: string;\n\n /**\n * select?: function\n * Event emitted a file is selected\n * Emits a [File | FileList] object.\n */\n @Output() selectFile: EventEmitter<File | FileList> = new EventEmitter<\n File | FileList\n >();\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n private _ngZone: NgZone,\n private _renderer: Renderer2,\n _changeDetectorRef: ChangeDetectorRef\n ) {\n super(_changeDetectorRef);\n }\n\n ngOnInit(): void {\n this._ngZone.runOutsideAngular(() => {\n merge(\n fromEvent(this._inputButton.nativeElement, 'click'),\n fromEvent<KeyboardEvent>(this._inputButton.nativeElement, 'keyup').pipe(\n filter((event) => event.keyCode === ENTER)\n )\n )\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => this._inputElement.nativeElement.click());\n });\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n }\n\n /**\n * Method executed when a file is selected.\n */\n handleSelect(files: File | FileList): void {\n this.writeValue(files);\n this.selectFile.emit(files);\n }\n\n /**\n * Used to clear the selected files from the [TdFileInputComponent].\n */\n clear(): void {\n this.writeValue(undefined);\n this._renderer.setProperty(this.inputElement, 'value', '');\n }\n\n /** Method executed when the disabled value changes */\n override onDisabledChange(v: boolean): void {\n if (v) {\n this.clear();\n }\n }\n /**\n * Sets disable to the component. Implemented as part of ControlValueAccessor.\n */\n override setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<button\n #fileInputButton\n mat-stroked-button\n class=\"td-file-input\"\n type=\"button\"\n [color]=\"color\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n (fileDrop)=\"handleSelect($event)\"\n tdFileDrop\n>\n <ng-content></ng-content>\n</button>\n<input\n #fileInput\n class=\"td-file-input-hidden\"\n type=\"file\"\n [attr.accept]=\"accept\"\n (fileSelect)=\"handleSelect($event)\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n tdFileSelect\n/>\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ViewChild,\n ContentChild,\n ChangeDetectorRef,\n forwardRef,\n} from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n TdFileInputComponent,\n TdFileInputLabelDirective,\n} from '../file-input/file-input.component';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { noop } from 'rxjs';\n\nexport class TdFileUploadBase {\n constructor(public _changeDetectorRef: ChangeDetectorRef) {}\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TdFileUploadComponent),\n multi: true,\n },\n ],\n selector: 'td-file-upload',\n styleUrls: ['./file-upload.component.scss'],\n templateUrl: './file-upload.component.html',\n})\nexport class TdFileUploadComponent implements ControlValueAccessor {\n private _multiple = false;\n private _required = false;\n private _disabled = false;\n\n @ViewChild(TdFileInputComponent) fileInput?: TdFileInputComponent;\n\n @ContentChild(TdFileInputLabelDirective)\n inputLabel?: TdFileInputLabelDirective;\n\n /**\n * defaultColor?: 'accent' | 'primary' | 'warn'\n * Sets browse button color. Uses same color palette accepted as [MatButton] and defaults to 'primary'.\n */\n @Input() defaultColor: 'accent' | 'primary' | 'warn' = 'primary';\n\n /**\n * activeColor?: 'accent' | 'primary' | 'warn'\n * Sets upload button color. Uses same color palette accepted as [MatButton] and defaults to 'accent'.\n */\n @Input() activeColor: 'accent' | 'primary' | 'warn' = 'accent';\n\n /**\n * cancelColor?: 'accent' | 'primary' | 'warn'\n * Sets cancel button color. Uses same color palette accepted as [MatButton] and defaults to 'warn'.\n */\n @Input() cancelColor: 'accent' | 'primary' | 'warn' = 'warn';\n\n /**\n * multiple?: boolean\n * Sets if multiple files can be dropped/selected at once in [TdFileUploadComponent].\n */\n @Input()\n set multiple(multiple: boolean) {\n this._multiple = coerceBooleanProperty(multiple);\n }\n get multiple(): boolean {\n return this._multiple;\n }\n\n /**\n * required?: boolean\n * Forces at least one file upload.\n * Defaults to 'false'\n */\n @Input()\n set required(required: boolean) {\n this._required = coerceBooleanProperty(required);\n }\n get required(): boolean {\n return this._required;\n }\n\n /**\n * accept?: string\n * Sets files accepted when opening the file browser dialog.\n * Same as 'accept' attribute in <input/> element.\n */\n @Input() accept?: string;\n\n @Input()\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n this.onDisabledChange(disabled);\n }\n get disabled(): boolean {\n return this._disabled;\n }\n\n @Input() value?: unknown | undefined;\n\n /**\n * select?: function\n * Event emitted when a file is selected.\n * Emits a [File | FileList] object.\n */\n @Output() selectFile: EventEmitter<File | FileList> = new EventEmitter<\n File | FileList\n >();\n\n /**\n * upload?: function\n * Event emitted when upload button is clicked.\n * Emits a [File | FileList] object.\n */\n @Output() upload: EventEmitter<File | FileList | unknown> = new EventEmitter<\n File | FileList | unknown\n >();\n\n /**\n * cancel?: function\n * Event emitted when cancel button is clicked.\n */\n @Output() cancel: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(private _changeDetectorRef: ChangeDetectorRef) {}\n\n writeValue(value: unknown): void {\n this.value = value;\n this._changeDetectorRef.markForCheck();\n }\n\n registerOnChange(): void {\n //\n }\n\n registerOnTouched(): void {\n //\n }\n\n /**\n * Method executed when upload button is clicked.\n */\n uploadPressed(): void {\n if (this.value) {\n this.upload.emit(this.value);\n }\n }\n\n /**\n * Method executed when a file is selected.\n */\n handleSelect(value: File | FileList): void {\n this.value = value;\n this.selectFile.emit(value);\n }\n\n /**\n * Methods executed when cancel button is clicked.\n * Clears files.\n */\n _cancel(): void {\n this.value = undefined;\n this.cancel.emit();\n // check if the file input is rendered before clearing it\n if (this.fileInput) {\n this.fileInput.clear();\n }\n }\n\n /** Method executed when the disabled value changes */\n onDisabledChange(v: boolean): void {\n if (v) {\n this._cancel();\n }\n }\n}\n","<td-file-input\n *ngIf=\"!value\"\n [(ngModel)]=\"value\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [accept]=\"accept\"\n [color]=\"defaultColor\"\n (selectFile)=\"(handleSelect)\"\n>\n <ng-template [cdkPortalOutlet]=\"inputLabel\" [ngIf]=\"true\"></ng-template>\n</td-file-input>\n<div *ngIf=\"value\">\n <button\n #fileUpload\n class=\"td-file-upload\"\n mat-raised-button\n type=\"button\"\n [color]=\"activeColor\"\n (keyup.delete)=\"_cancel()\"\n (keyup.backspace)=\"_cancel()\"\n (keyup.escape)=\"_cancel()\"\n (click)=\"uploadPressed()\"\n >\n <ng-content></ng-content>\n </button>\n <button\n mat-icon-button\n type=\"button\"\n class=\"td-file-upload-cancel\"\n [color]=\"cancelColor\"\n (click)=\"_cancel()\"\n >\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n","import { Injectable, Optional } from '@angular/core';\nimport {\n HttpClient,\n HttpRequest,\n HttpEvent,\n HttpEventType,\n HttpHeaders,\n HttpParams,\n} from '@angular/common/http';\nimport { Observable, Subject } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\nexport interface IUploadExtras {\n headers?: { [name: string]: string | string[] };\n params?: { [param: string]: string | string[] };\n}\n\n@Injectable()\nexport class TdFileService {\n private _progressSubject: Subject<number> = new Subject<number>();\n private _progressObservable: Observable<number>;\n\n /**\n * Gets progress observable to keep track of the files being uploaded.\n * Needs to be supported by backend.\n */\n get progress(): Observable<number> {\n return this._progressObservable;\n }\n\n /**\n * Creates a new instance\n * @param _http the http client instance\n * @breaking-change 3.0.0 remove 'Optional' decorator once the legay upload method is removed\n */\n constructor(@Optional() private readonly _http: HttpClient) {\n this._progressObservable = this._progressSubject.asObservable();\n }\n\n /**\n * Uploads a file to a URL.\n */\n send(\n url: string,\n method: string,\n body: File | FormData,\n { headers, params }: IUploadExtras = {}\n ): Observable<HttpEvent<any>> {\n if (!this._http) {\n throw new Error(\n 'The HttpClient module needs to be imported at root module level'\n );\n }\n const req: HttpRequest<File | FormData> = new HttpRequest(\n method.toUpperCase(),\n url,\n body,\n {\n reportProgress: true,\n headers: new HttpHeaders(headers || {}),\n params: new HttpParams({ fromObject: params || {} }),\n }\n );\n return this._http\n .request(req)\n .pipe(tap((event: HttpEvent<any>) => this.handleEvent(event)));\n }\n\n private handleEvent<T = any>(event: HttpEvent<T>): void {\n switch (event.type) {\n case HttpEventType.Sent:\n this._progressSubject.next(0);\n break;\n case HttpEventType.UploadProgress:\n this._progressSubject.next(\n Math.round((100 * event.loaded) / (event.total ?? 0))\n );\n break;\n case HttpEventType.Response:\n this._progressSubject.next(100);\n break;\n default:\n break;\n }\n }\n}\n","import { Type } from '@angular/core';\nimport { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { PortalModule } from '@angular/cdk/portal';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { TdFileSelectDirective } from './directives/file-select.directive';\nimport { TdFileDropDirective } from './directives/file-drop.directive';\nimport { TdFileUploadComponent } from './file-upload/file-upload.component';\nimport {\n TdFileInputComponent,\n TdFileInputLabelDirective,\n} from './file-input/file-input.component';\nimport { TdFileService } from './services/file.service';\n\nconst TD_FILE: Type<any>[] = [\n TdFileSelectDirective,\n TdFileDropDirective,\n TdFileUploadComponent,\n TdFileInputComponent,\n TdFileInputLabelDirective,\n];\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n MatIconModule,\n MatButtonModule,\n PortalModule,\n ],\n declarations: [TD_FILE],\n exports: [TD_FILE],\n providers: [TdFileService],\n})\nexport class CovalentFileModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2.TdFileSelectDirective","i3.TdFileDropDirective","i6.TdFileInputComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;MAQa,qBAAqB,CAAA;AA+BQ,IAAA,KAAA,CAAA;IA9BhC,SAAS,GAAG,KAAK,CAAC;AAE1B;;;;AAIG;IACH,IACI,QAAQ,CAAC,QAA0B,EAAA;AACrC,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;KAClD;AAED;;;;;AAKG;AACO,IAAA,UAAU,GAAkC,IAAI,YAAY,EAEnE,CAAC;AAEJ;;AAEG;AACH,IAAA,IACI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,SAAS,CAAC;KACxC;AAED,IAAA,WAAA,CAAwC,KAAc,EAAA;QAAd,IAAK,CAAA,KAAA,GAAL,KAAK,CAAS;KAAI;AAE1D;;;;AAIG;AAEH,IAAA,QAAQ,CAAC,KAAY,EAAA;AACnB,QAAA,IAAI,KAAK,CAAC,MAAM,YAAY,gBAAgB,EAAE;AAC5C,YAAA,MAAM,WAAW,GAAqB,KAAK,CAAC,MAAM,CAAC;YACnD,MAAM,KAAK,GAAa,WAAW,CAAC,KAAK,IAAI,IAAI,QAAQ,EAAE,CAAC;AAC5D,YAAA,IAAI,KAAK,CAAC,MAAM,EAAE;AAChB,gBAAA,MAAM,KAAK,GAAoB,IAAI,CAAC,SAAS;AAC3C,sBAAE,KAAK,CAAC,MAAM,GAAG,CAAC;AAChB,0BAAE,KAAK;AACP,0BAAE,KAAK,CAAC,CAAC,CAAC;AACZ,sBAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACb,gBAAA,IAAI,CAAC,KAAK;sBACN,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;sBAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC;SACF;KACF;uGAtDU,qBAAqB,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;2FAArB,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC3B,iBAAA,CAAA;;0BAgCc,QAAQ;;0BAAI,IAAI;yCAtBzB,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAWI,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBAQH,eAAe,EAAA,CAAA;sBADlB,WAAW;uBAAC,eAAe,CAAA;gBAa5B,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MC/BvB,cAAc,CAAA;AAAG,CAAA;MAGjB,mBAAmB,CAAA;AA4CpB,IAAA,SAAA,CAAA;AACA,IAAA,QAAA,CAAA;AACA,IAAA,OAAA,CAAA;IA7CF,SAAS,GAAG,KAAK,CAAC;AAClB,IAAA,kBAAkB,CAAgB;AAClC,IAAA,kBAAkB,CAAgB;AAClC,IAAA,iBAAiB,CAAgB;AAEzC;;;;AAIG;IACH,IACI,QAAQ,CAAC,QAA0B,EAAA;AACrC,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;KAClD;IAEQ,QAAQ,GAAI,KAAK,CAAC;AAE3B;;;;AAIG;AACO,IAAA,QAAQ,GAAkC,IAAI,YAAY,EAEjE,CAAC;AAEJ;;AAEG;AACH,IAAA,IACI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,SAAS,CAAC;KACxC;AAED;;AAEG;AACH,IAAA,IACI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,SAAS,CAAC;KACvC;AAED,IAAA,WAAA,CACU,SAAoB,EACpB,QAAiC,EACjC,OAAe,EAAA;QAFf,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QACpB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAyB;QACjC,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;KACrB;IAEJ,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAK;;;YAGlC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAC7C,IAAI,CAAC,QAAQ,CAAC,aAAa,EAC3B,WAAW,EACX,CAAC,KAAY,KAAI;AACf,gBAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,oBAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;iBACnE;AACD,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACzB,aAAC,CACF,CAAC;;;YAIF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAC7C,IAAI,CAAC,QAAQ,CAAC,aAAa,EAC3B,WAAW,EACX,CAAC,KAAY,KAAI;AACf,gBAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACrE,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACzB,aAAC,CACF,CAAC;;;;YAKF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAC5C,IAAI,CAAC,QAAQ,CAAC,aAAa,EAC3B,UAAU,EACV,CAAC,KAAgB,KAAI;gBACnB,MAAM,QAAQ,GACZ,KAAK,CAAC,YAAY,IAAI,IAAI,YAAY,EAAE,CAAC;gBAC3C,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACtD,IACE,IAAI,CAAC,QAAQ;qBACZ,CAAC,IAAI,CAAC,SAAS;AACd,yBAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;AACrC,4BAAA,QAAS,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EACtC;AACA,oBAAA,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC;iBAC9B;qBAAM;AACL,oBAAA,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC;iBAC9B;AACD,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACzB,aAAC,CACF,CAAC;AACJ,SAAC,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,kBAAkB,IAAI,CAAC;AAC5B,QAAA,IAAI,CAAC,kBAAkB,IAAI,CAAC;AAC5B,QAAA,IAAI,CAAC,iBAAiB,IAAI,CAAC;KAC5B;AAED;;;;AAIG;AAEH,IAAA,MAAM,CAAC,KAAY,EAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,QAAQ,GACA,KAAM,CAAC,YAAY,IAAI,IAAI,YAAY,EAAE,CAAC;AACxD,YAAA,MAAM,KAAK,GAAa,QAAQ,CAAC,KAAK,CAAC;AACvC,YAAA,IAAI,KAAK,CAAC,MAAM,EAAE;AAChB,gBAAA,MAAM,KAAK,GAAoB,IAAI,CAAC,SAAS;AAC3C,sBAAE,KAAK,CAAC,MAAM,GAAG,CAAC;AAChB,0BAAE,KAAK;AACP,0BAAE,KAAK,CAAC,CAAC,CAAC;AACZ,sBAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACb,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC3B;SACF;AACD,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACrE,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KACxB;AAED;;AAEG;AACK,IAAA,UAAU,CAChB,KAA4C,EAAA;QAE5C,IAAI,UAAU,GAAsC,MAAM,CAAC;AAC3D,QAAA,IACE,KAAK;aACJ,CAAO,KAAM,CAAC,QAAQ,IAAU,KAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;AACvD,iBAAO,KAAM,CAAC,OAAO,IAAU,KAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACjE;YACA,UAAU,GAAG,MAAM,CAAC;SACrB;AAED,QAAA,OAAO,UAAU,CAAC;KACnB;AAEO,IAAA,UAAU,CAAC,KAAY,EAAA;QAC7B,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;uGAxJU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,SAAS;mBAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAA;4HAajC,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAOI,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAQH,eAAe,EAAA,CAAA;sBADlB,WAAW;uBAAC,eAAe,CAAA;gBASxB,eAAe,EAAA,CAAA;sBADlB,WAAW;uBAAC,eAAe,CAAA;gBA2E5B,MAAM,EAAA,CAAA;sBADL,YAAY;uBAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AChG5B,MAAO,yBAA0B,SAAQ,uBAAuB,CAAA;IACpE,WACE,CAAA,WAAiC,EACjC,gBAAkC,EAAA;AAElC,QAAA,KAAK,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;KACtC;uGANU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAzB,yBAAyB,EAAA,QAAA,EAAA,+BAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,+BAA+B;AAC1C,iBAAA,CAAA;;MAUY,eAAe,CAAA;AACP,IAAA,kBAAA,CAAA;AAAnB,IAAA,WAAA,CAAmB,kBAAqC,EAAA;QAArC,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;KAAI;AAC7D,CAAA;AAEY,MAAA,qBAAqB,GAAG,yBAAyB,CAC5D,aAAa,CAAC,eAAe,CAAC,EAC9B;AAiBI,MAAO,oBACX,SAAQ,qBAAqB,CAAA;AAqDnB,IAAA,OAAA,CAAA;AACA,IAAA,SAAA,CAAA;IAnDF,SAAS,GAAG,KAAK,CAAC;;AAI1B,IAAA,YAAY,CAA2B;;AAIvC,IAAA,aAAa,CAAgC;AAC7C,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;KACzC;AAED;;;AAGG;AACM,IAAA,KAAK,CAAiC;AAE/C;;;AAGG;IACH,IACI,QAAQ,CAAC,QAA0B,EAAA;AACrC,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;KAClD;AACD,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;AAED;;;;AAIG;AACM,IAAA,MAAM,CAAU;AAEzB;;;;AAIG;AACO,IAAA,UAAU,GAAkC,IAAI,YAAY,EAEnE,CAAC;AAEI,IAAA,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;AAExC,IAAA,WAAA,CACU,OAAe,EACf,SAAoB,EAC5B,kBAAqC,EAAA;QAErC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAJlB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;QACf,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAI7B;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAK;AAClC,YAAA,KAAK,CACH,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,EACnD,SAAS,CAAgB,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CACrE,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAC3C,CACF;AACE,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/B,iBAAA,SAAS,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;AAC/D,SAAC,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;KACvB;AAED;;AAEG;AACH,IAAA,YAAY,CAAC,KAAsB,EAAA;AACjC,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACvB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC7B;AAED;;AAEG;IACH,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;KAC5D;;AAGQ,IAAA,gBAAgB,CAAC,CAAU,EAAA;QAClC,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;KACF;AACD;;AAEG;AACM,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAC3C,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC5B;uGAzGU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAbpB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;AACnD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,EAcmD,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAU,6KCzEhE,seAuBA,EAAA,MAAA,EAAA,CAAA,uPAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FD2Ca,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAfhC,SAAS;sCACS,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;AACnD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EACS,eAAe,EAEjB,MAAA,EAAA,CAAC,UAAU,EAAE,OAAO,CAAC,EAAA,QAAA,EAAA,seAAA,EAAA,MAAA,EAAA,CAAA,uPAAA,CAAA,EAAA,CAAA;mIAY7B,YAAY,EAAA,CAAA;sBADX,SAAS;uBAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBAKhE,aAAa,EAAA,CAAA;sBADZ,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAU/B,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAOF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAaG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAOI,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;ME9FI,gBAAgB,CAAA;AACR,IAAA,kBAAA,CAAA;AAAnB,IAAA,WAAA,CAAmB,kBAAqC,EAAA;QAArC,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;KAAI;AAC7D,CAAA;MAeY,qBAAqB,CAAA;AA+FZ,IAAA,kBAAA,CAAA;IA9FZ,SAAS,GAAG,KAAK,CAAC;IAClB,SAAS,GAAG,KAAK,CAAC;IAClB,SAAS,GAAG,KAAK,CAAC;AAEO,IAAA,SAAS,CAAwB;AAGlE,IAAA,UAAU,CAA6B;AAEvC;;;AAGG;IACM,YAAY,GAAkC,SAAS,CAAC;AAEjE;;;AAGG;IACM,WAAW,GAAkC,QAAQ,CAAC;AAE/D;;;AAGG;IACM,WAAW,GAAkC,MAAM,CAAC;AAE7D;;;AAGG;IACH,IACI,QAAQ,CAAC,QAAiB,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;KAClD;AACD,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;AAED;;;;AAIG;IACH,IACI,QAAQ,CAAC,QAAiB,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;KAClD;AACD,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;AAED;;;;AAIG;AACM,IAAA,MAAM,CAAU;IAEzB,IACI,QAAQ,CAAC,QAAiB,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC1B,QAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;KACjC;AACD,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;AAEQ,IAAA,KAAK,CAAuB;AAErC;;;;AAIG;AACO,IAAA,UAAU,GAAkC,IAAI,YAAY,EAEnE,CAAC;AAEJ;;;;AAIG;AACO,IAAA,MAAM,GAA4C,IAAI,YAAY,EAEzE,CAAC;AAEJ;;;AAGG;AACO,IAAA,MAAM,GAAuB,IAAI,YAAY,EAAQ,CAAC;AAEhE,IAAA,WAAA,CAAoB,kBAAqC,EAAA;QAArC,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;KAAI;AAE7D,IAAA,UAAU,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KACxC;IAED,gBAAgB,GAAA;;KAEf;IAED,iBAAiB,GAAA;;KAEhB;AAED;;AAEG;IACH,aAAa,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC9B;KACF;AAED;;AAEG;AACH,IAAA,YAAY,CAAC,KAAsB,EAAA;AACjC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC7B;AAED;;;AAGG;IACH,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;AACvB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;;AAEnB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;SACxB;KACF;;AAGD,IAAA,gBAAgB,CAAC,CAAU,EAAA;QACzB,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;KACF;uGAjJU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAXrB,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,qBAAqB,CAAC;AACpD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAYa,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAF5B,oBAAoB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzCjC,k1BAmCA,EAAA,MAAA,EAAA,CAAA,kVAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDCa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAbjC,SAAS;sCACS,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,2BAA2B,CAAC;AACpD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EACS,gBAAgB,EAAA,QAAA,EAAA,k1BAAA,EAAA,MAAA,EAAA,CAAA,kVAAA,CAAA,EAAA,CAAA;sFASO,SAAS,EAAA,CAAA;sBAAzC,SAAS;uBAAC,oBAAoB,CAAA;gBAG/B,UAAU,EAAA,CAAA;sBADT,YAAY;uBAAC,yBAAyB,CAAA;gBAO9B,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAMG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAMG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAOF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAcF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAaG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAGF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBASG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAOI,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBASG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAQG,MAAM,EAAA,CAAA;sBAAf,MAAM;;;ME/GI,aAAa,CAAA;AAiBiB,IAAA,KAAA,CAAA;AAhBjC,IAAA,gBAAgB,GAAoB,IAAI,OAAO,EAAU,CAAC;AAC1D,IAAA,mBAAmB,CAAqB;AAEhD;;;AAGG;AACH,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,mBAAmB,CAAC;KACjC;AAED;;;;AAIG;AACH,IAAA,WAAA,CAAyC,KAAiB,EAAA;QAAjB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAY;QACxD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;KACjE;AAED;;AAEG;AACH,IAAA,IAAI,CACF,GAAW,EACX,MAAc,EACd,IAAqB,EACrB,EAAE,OAAO,EAAE,MAAM,EAAA,GAAoB,EAAE,EAAA;AAEvC,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;SACH;AACD,QAAA,MAAM,GAAG,GAAiC,IAAI,WAAW,CACvD,MAAM,CAAC,WAAW,EAAE,EACpB,GAAG,EACH,IAAI,EACJ;AACE,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,OAAO,EAAE,IAAI,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;YACvC,MAAM,EAAE,IAAI,UAAU,CAAC,EAAE,UAAU,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC;AACrD,SAAA,CACF,CAAC;QACF,OAAO,IAAI,CAAC,KAAK;aACd,OAAO,CAAC,GAAG,CAAC;AACZ,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,KAAqB,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAClE;AAEO,IAAA,WAAW,CAAU,KAAmB,EAAA;AAC9C,QAAA,QAAQ,KAAK,CAAC,IAAI;YAChB,KAAK,aAAa,CAAC,IAAI;AACrB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,aAAa,CAAC,cAAc;gBAC/B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACxB,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CACtD,CAAC;gBACF,MAAM;YACR,KAAK,aAAa,CAAC,QAAQ;AACzB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChC,MAAM;AACR,YAAA;gBACE,MAAM;SACT;KACF;uGAlEU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;2GAAb,aAAa,EAAA,CAAA,CAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;;0BAkBI,QAAQ;;;AChBvB,MAAM,OAAO,GAAgB;IAC3B,qBAAqB;IACrB,mBAAmB;IACnB,qBAAqB;IACrB,oBAAoB;IACpB,yBAAyB;CAC1B,CAAC;MAcW,kBAAkB,CAAA;uGAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,iBAnB7B,qBAAqB;YACrB,mBAAmB;YACnB,qBAAqB;YACrB,oBAAoB;AACpB,YAAA,yBAAyB,aAKvB,WAAW;YACX,YAAY;YACZ,aAAa;YACb,eAAe;AACf,YAAA,YAAY,aAbd,qBAAqB;YACrB,mBAAmB;YACnB,qBAAqB;YACrB,oBAAoB;YACpB,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAed,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EAFlB,SAAA,EAAA,CAAC,aAAa,CAAC,YARxB,WAAW;YACX,YAAY;YACZ,aAAa;YACb,eAAe;YACf,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAMH,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAZ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,WAAW;wBACX,YAAY;wBACZ,aAAa;wBACb,eAAe;wBACf,YAAY;AACb,qBAAA;oBACD,YAAY,EAAE,CAAC,OAAO,CAAC;oBACvB,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,SAAS,EAAE,CAAC,aAAa,CAAC;AAC3B,iBAAA,CAAA;;;ACtCD;;AAEG;;;;"}
1
+ {"version":3,"file":"covalent-core-file.mjs","sources":["../../../../libs/angular/file/src/directives/file-select.directive.ts","../../../../libs/angular/file/src/directives/file-drop.directive.ts","../../../../libs/angular/file/src/file-input/file-input.component.ts","../../../../libs/angular/file/src/file-input/file-input.component.html","../../../../libs/angular/file/src/file-upload/file-upload.component.ts","../../../../libs/angular/file/src/file-upload/file-upload.component.html","../../../../libs/angular/file/src/services/file.service.ts","../../../../libs/angular/file/src/file.module.ts","../../../../libs/angular/file/src/covalent-core-file.ts"],"sourcesContent":["import { Directive, Input, Output, EventEmitter } from '@angular/core';\nimport { HostListener, HostBinding, Host, Optional } from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { NgModel } from '@angular/forms';\n\n@Directive({\n selector: '[tdFileSelect]',\n})\nexport class TdFileSelectDirective {\n private _multiple = false;\n\n /**\n * multiple?: boolean\n * Sets whether multiple files can be selected at once in host element, or just a single file.\n * Can also be 'multiple' native attribute.\n */\n @Input()\n set multiple(multiple: boolean | string) {\n this._multiple = coerceBooleanProperty(multiple);\n }\n\n /**\n * fileSelect?: function\n * Event emitted when a file or files are selected in host [HTMLInputElement].\n * Emits a [FileList | File] object.\n * Alternative to not use [(ngModel)].\n */\n @Output() fileSelect: EventEmitter<FileList | File> = new EventEmitter<\n FileList | File\n >();\n\n /**\n * Binds native 'multiple' attribute if [multiple] property is 'true'.\n */\n @HostBinding('attr.multiple')\n get multipleBinding(): string | undefined {\n return this._multiple ? '' : undefined;\n }\n\n constructor(@Optional() @Host() private model: NgModel) {}\n\n /**\n * Listens to 'change' host event to get [HTMLInputElement] files.\n * Emits the 'fileSelect' event with a [FileList] or [File] depending if 'multiple' attr exists in host.\n * Uses [(ngModel)] if declared, instead of emitting 'fileSelect' event.\n */\n @HostListener('change', ['$event'])\n onChange(event: Event): void {\n if (event.target instanceof HTMLInputElement) {\n const fileInputEl: HTMLInputElement = event.target;\n const files: FileList = fileInputEl.files || new FileList();\n if (files.length) {\n const value: FileList | File = this._multiple\n ? files.length > 1\n ? files\n : files[0]\n : files[0];\n this.model\n ? this.model.update.emit(value)\n : this.fileSelect.emit(value);\n }\n }\n }\n}\n","import {\n Directive,\n Input,\n Output,\n EventEmitter,\n HostListener,\n HostBinding,\n ElementRef,\n Renderer2,\n OnInit,\n OnDestroy,\n NgZone,\n} from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nexport class TdFileDropBase {}\n\n@Directive({ selector: '[tdFileDrop]' })\nexport class TdFileDropDirective implements OnInit, OnDestroy {\n private _multiple = false;\n private _dragenterListener?: VoidFunction;\n private _dragleaveListener?: VoidFunction;\n private _dragoverListener?: VoidFunction;\n\n /**\n * multiple?: boolean\n * Sets whether multiple files can be dropped at once in host element, or just a single file.\n * Can also be 'multiple' native attribute.\n */\n @Input()\n set multiple(multiple: boolean | string) {\n this._multiple = coerceBooleanProperty(multiple);\n }\n\n @Input() disabled? = false;\n\n /**\n * fileDrop?: function\n * Event emitted when a file or files are dropped in host element after being validated.\n * Emits a [FileList | File] object.\n */\n @Output() fileDrop: EventEmitter<FileList | File> = new EventEmitter<\n FileList | File\n >();\n\n /**\n * Binds native 'multiple' attribute if [multiple] property is 'true'.\n */\n @HostBinding('attr.multiple')\n get multipleBinding(): string | undefined {\n return this._multiple ? '' : undefined;\n }\n\n /**\n * Binds native 'disabled' attribute if [disabled] property is 'true'.\n */\n @HostBinding('attr.disabled')\n get disabledBinding(): string | undefined {\n return this.disabled ? '' : undefined;\n }\n\n constructor(\n private _renderer: Renderer2,\n private _element: ElementRef<HTMLElement>,\n private _ngZone: NgZone\n ) {}\n\n ngOnInit(): void {\n this._ngZone.runOutsideAngular(() => {\n // Listens to 'dragenter' host event to add animation class 'drop-zone' which can be overriden in host.\n // Stops event propagation and default action from browser for 'dragenter' event.\n this._dragenterListener = this._renderer.listen(\n this._element.nativeElement,\n 'dragenter',\n (event: Event) => {\n if (!this.disabled) {\n this._renderer.addClass(this._element.nativeElement, 'drop-zone');\n }\n this._stopEvent(event);\n }\n );\n\n // Listens to 'dragleave' host event to remove animation class 'drop-zone'.\n // Stops event propagation and default action from browser for 'dragleave' event.\n this._dragleaveListener = this._renderer.listen(\n this._element.nativeElement,\n 'dragleave',\n (event: Event) => {\n this._renderer.removeClass(this._element.nativeElement, 'drop-zone');\n this._stopEvent(event);\n }\n );\n\n // Listens to 'dragover' host event to validate transfer items.\n // Checks if 'multiple' attr exists in host to allow multiple file drops.\n // Stops event propagation and default action from browser for 'dragover' event.\n this._dragoverListener = this._renderer.listen(\n this._element.nativeElement,\n 'dragover',\n (event: DragEvent) => {\n const transfer: DataTransfer =\n event.dataTransfer || new DataTransfer();\n transfer.dropEffect = this._typeCheck(transfer.types);\n if (\n this.disabled ||\n (!this._multiple &&\n ((transfer.items && transfer.items.length > 1) ||\n (<any>transfer).mozItemCount > 1))\n ) {\n transfer.dropEffect = 'none';\n } else {\n transfer.dropEffect = 'copy';\n }\n this._stopEvent(event);\n }\n );\n });\n }\n\n ngOnDestroy(): void {\n this._dragenterListener?.();\n this._dragleaveListener?.();\n this._dragoverListener?.();\n }\n\n /**\n * Listens to 'drop' host event to get validated transfer items.\n * Emits the 'fileDrop' event with a [FileList] or [File] depending if 'multiple' attr exists in host.\n * Stops event propagation and default action from browser for 'drop' event.\n */\n @HostListener('drop', ['$event'])\n onDrop(event: Event): void {\n if (!this.disabled) {\n const transfer: DataTransfer =\n (<DragEvent>event).dataTransfer ?? new DataTransfer();\n const files: FileList = transfer.files;\n if (files.length) {\n const value: FileList | File = this._multiple\n ? files.length > 1\n ? files\n : files[0]\n : files[0];\n this.fileDrop.emit(value);\n }\n }\n this._renderer.removeClass(this._element.nativeElement, 'drop-zone');\n this._stopEvent(event);\n }\n\n /**\n * Validates if the transfer item types are 'Files'.\n */\n private _typeCheck(\n types: ReadonlyArray<string> | DOMStringList\n ): 'none' | 'copy' | 'link' | 'move' {\n let dropEffect: 'none' | 'copy' | 'link' | 'move' = 'none';\n if (\n types &&\n (((<any>types).contains && (<any>types).contains('Files')) ||\n ((<any>types).indexOf && (<any>types).indexOf('Files') !== -1))\n ) {\n dropEffect = 'copy';\n }\n\n return dropEffect;\n }\n\n private _stopEvent(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n }\n}\n","import {\n Component,\n Directive,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ViewChild,\n ElementRef,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n ChangeDetectorRef,\n forwardRef,\n OnInit,\n OnDestroy,\n NgZone,\n} from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { TemplatePortalDirective } from '@angular/cdk/portal';\nimport { ENTER } from '@angular/cdk/keycodes';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { fromEvent, merge, Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport {\n ICanDisable,\n IControlValueAccessor,\n mixinControlValueAccessor,\n mixinDisabled,\n} from '@covalent/core/common';\n\n@Directive({\n selector: '[tdFileInputLabel]ng-template',\n})\nexport class TdFileInputLabelDirective extends TemplatePortalDirective {\n constructor(\n templateRef: TemplateRef<unknown>,\n viewContainerRef: ViewContainerRef\n ) {\n super(templateRef, viewContainerRef);\n }\n}\n\nexport class TdFileInputBase {\n constructor(public _changeDetectorRef: ChangeDetectorRef) {}\n}\n\nexport const _TdFileInputMixinBase = mixinControlValueAccessor(\n mixinDisabled(TdFileInputBase)\n);\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TdFileInputComponent),\n multi: true,\n },\n ],\n selector: 'td-file-input',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['disabled', 'value'],\n styleUrls: ['./file-input.component.scss'],\n templateUrl: './file-input.component.html',\n})\nexport class TdFileInputComponent\n extends _TdFileInputMixinBase\n implements OnInit, OnDestroy, IControlValueAccessor, ICanDisable\n{\n private _multiple = false;\n\n /** The native `<button class=\"td-file-input\"></button>` element */\n @ViewChild('fileInputButton', { static: true, read: ElementRef })\n _inputButton!: ElementRef<HTMLElement>;\n\n /** The native `<input type=\"file\"> element */\n @ViewChild('fileInput', { static: true })\n _inputElement!: ElementRef<HTMLInputElement>;\n get inputElement(): HTMLInputElement {\n return this._inputElement.nativeElement;\n }\n\n /**\n * color?: 'accent' | 'primary' | 'warn'\n * Sets button color. Uses same color palette accepted as [MatButton].\n */\n @Input() color?: 'accent' | 'primary' | 'warn';\n\n /**\n * multiple?: boolean\n * Sets if multiple files can be dropped/selected at once in [TdFileInputComponent].\n */\n @Input()\n set multiple(multiple: boolean | string) {\n this._multiple = coerceBooleanProperty(multiple);\n }\n get multiple(): boolean {\n return this._multiple;\n }\n\n /**\n * accept?: string\n * Sets files accepted when opening the file browser dialog.\n * Same as 'accept' attribute in <input/> element.\n */\n @Input() accept?: string;\n\n /**\n * select?: function\n * Event emitted a file is selected\n * Emits a [File | FileList] object.\n */\n @Output() selectFile: EventEmitter<File | FileList> = new EventEmitter<\n File | FileList\n >();\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n private _ngZone: NgZone,\n private _renderer: Renderer2,\n _changeDetectorRef: ChangeDetectorRef\n ) {\n super(_changeDetectorRef);\n }\n\n ngOnInit(): void {\n this._ngZone.runOutsideAngular(() => {\n merge(\n fromEvent(this._inputButton.nativeElement, 'click'),\n fromEvent<KeyboardEvent>(this._inputButton.nativeElement, 'keyup').pipe(\n filter((event) => event.keyCode === ENTER)\n )\n )\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => this._inputElement.nativeElement.click());\n });\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n }\n\n /**\n * Method executed when a file is selected.\n */\n handleSelect(files: File | FileList): void {\n this.writeValue(files);\n this.selectFile.emit(files);\n }\n\n /**\n * Used to clear the selected files from the [TdFileInputComponent].\n */\n clear(): void {\n this.writeValue(undefined);\n this._renderer.setProperty(this.inputElement, 'value', '');\n }\n\n /** Method executed when the disabled value changes */\n override onDisabledChange(v: boolean): void {\n if (v) {\n this.clear();\n }\n }\n /**\n * Sets disable to the component. Implemented as part of ControlValueAccessor.\n */\n override setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<button\n #fileInputButton\n mat-raised-button\n class=\"td-file-input\"\n type=\"button\"\n [color]=\"color\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n (fileDrop)=\"handleSelect($event)\"\n tdFileDrop\n>\n <ng-content></ng-content>\n</button>\n<input\n #fileInput\n class=\"td-file-input-hidden\"\n type=\"file\"\n [attr.accept]=\"accept\"\n (fileSelect)=\"handleSelect($event)\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n tdFileSelect\n/>\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ViewChild,\n ContentChild,\n ChangeDetectorRef,\n forwardRef,\n} from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n TdFileInputComponent,\n TdFileInputLabelDirective,\n} from '../file-input/file-input.component';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { noop } from 'rxjs';\n\nexport class TdFileUploadBase {\n constructor(public _changeDetectorRef: ChangeDetectorRef) {}\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TdFileUploadComponent),\n multi: true,\n },\n ],\n selector: 'td-file-upload',\n styleUrls: ['./file-upload.component.scss'],\n templateUrl: './file-upload.component.html',\n})\nexport class TdFileUploadComponent implements ControlValueAccessor {\n private _multiple = false;\n private _required = false;\n private _disabled = false;\n\n @ViewChild(TdFileInputComponent) fileInput?: TdFileInputComponent;\n\n @ContentChild(TdFileInputLabelDirective)\n inputLabel?: TdFileInputLabelDirective;\n\n /**\n * defaultColor?: 'accent' | 'primary' | 'warn'\n * Sets browse button color. Uses same color palette accepted as [MatButton] and defaults to 'primary'.\n */\n @Input() defaultColor: 'accent' | 'primary' | 'warn' = 'primary';\n\n /**\n * activeColor?: 'accent' | 'primary' | 'warn'\n * Sets upload button color. Uses same color palette accepted as [MatButton] and defaults to 'accent'.\n */\n @Input() activeColor: 'accent' | 'primary' | 'warn' = 'accent';\n\n /**\n * cancelColor?: 'accent' | 'primary' | 'warn'\n * Sets cancel button color. Uses same color palette accepted as [MatButton] and defaults to 'warn'.\n */\n @Input() cancelColor: 'accent' | 'primary' | 'warn' = 'warn';\n\n /**\n * multiple?: boolean\n * Sets if multiple files can be dropped/selected at once in [TdFileUploadComponent].\n */\n @Input()\n set multiple(multiple: boolean) {\n this._multiple = coerceBooleanProperty(multiple);\n }\n get multiple(): boolean {\n return this._multiple;\n }\n\n /**\n * required?: boolean\n * Forces at least one file upload.\n * Defaults to 'false'\n */\n @Input()\n set required(required: boolean) {\n this._required = coerceBooleanProperty(required);\n }\n get required(): boolean {\n return this._required;\n }\n\n /**\n * accept?: string\n * Sets files accepted when opening the file browser dialog.\n * Same as 'accept' attribute in <input/> element.\n */\n @Input() accept?: string;\n\n @Input()\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n this.onDisabledChange(disabled);\n }\n get disabled(): boolean {\n return this._disabled;\n }\n\n @Input() value?: unknown | undefined;\n\n /**\n * select?: function\n * Event emitted when a file is selected.\n * Emits a [File | FileList] object.\n */\n @Output() selectFile: EventEmitter<File | FileList> = new EventEmitter<\n File | FileList\n >();\n\n /**\n * upload?: function\n * Event emitted when upload button is clicked.\n * Emits a [File | FileList] object.\n */\n @Output() upload: EventEmitter<File | FileList | unknown> = new EventEmitter<\n File | FileList | unknown\n >();\n\n /**\n * cancel?: function\n * Event emitted when cancel button is clicked.\n */\n @Output() cancel: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(private _changeDetectorRef: ChangeDetectorRef) {}\n\n writeValue(value: unknown): void {\n this.value = value;\n this._changeDetectorRef.markForCheck();\n }\n\n registerOnChange(): void {\n //\n }\n\n registerOnTouched(): void {\n //\n }\n\n /**\n * Method executed when upload button is clicked.\n */\n uploadPressed(): void {\n if (this.value) {\n this.upload.emit(this.value);\n }\n }\n\n /**\n * Method executed when a file is selected.\n */\n handleSelect(value: File | FileList): void {\n this.value = value;\n this.selectFile.emit(value);\n }\n\n /**\n * Methods executed when cancel button is clicked.\n * Clears files.\n */\n _cancel(): void {\n this.value = undefined;\n this.cancel.emit();\n // check if the file input is rendered before clearing it\n if (this.fileInput) {\n this.fileInput.clear();\n }\n }\n\n /** Method executed when the disabled value changes */\n onDisabledChange(v: boolean): void {\n if (v) {\n this._cancel();\n }\n }\n}\n","<td-file-input\n *ngIf=\"!value\"\n [(ngModel)]=\"value\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [accept]=\"accept\"\n [color]=\"defaultColor\"\n (selectFile)=\"(handleSelect)\"\n>\n <ng-template [cdkPortalOutlet]=\"inputLabel\" [ngIf]=\"true\"></ng-template>\n</td-file-input>\n<div *ngIf=\"value\">\n <button\n #fileUpload\n class=\"td-file-upload\"\n mat-raised-button\n type=\"button\"\n [color]=\"activeColor\"\n (keyup.delete)=\"_cancel()\"\n (keyup.backspace)=\"_cancel()\"\n (keyup.escape)=\"_cancel()\"\n (click)=\"uploadPressed()\"\n >\n <ng-content></ng-content>\n </button>\n <button\n mat-icon-button\n type=\"button\"\n class=\"td-file-upload-cancel\"\n [color]=\"cancelColor\"\n (click)=\"_cancel()\"\n >\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n","import { Injectable, Optional } from '@angular/core';\nimport {\n HttpClient,\n HttpRequest,\n HttpEvent,\n HttpEventType,\n HttpHeaders,\n HttpParams,\n} from '@angular/common/http';\nimport { Observable, Subject } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\nexport interface IUploadExtras {\n headers?: { [name: string]: string | string[] };\n params?: { [param: string]: string | string[] };\n}\n\n@Injectable()\nexport class TdFileService {\n private _progressSubject: Subject<number> = new Subject<number>();\n private _progressObservable: Observable<number>;\n\n /**\n * Gets progress observable to keep track of the files being uploaded.\n * Needs to be supported by backend.\n */\n get progress(): Observable<number> {\n return this._progressObservable;\n }\n\n /**\n * Creates a new instance\n * @param _http the http client instance\n * @breaking-change 3.0.0 remove 'Optional' decorator once the legay upload method is removed\n */\n constructor(@Optional() private readonly _http: HttpClient) {\n this._progressObservable = this._progressSubject.asObservable();\n }\n\n /**\n * Uploads a file to a URL.\n */\n send(\n url: string,\n method: string,\n body: File | FormData,\n { headers, params }: IUploadExtras = {}\n ): Observable<HttpEvent<any>> {\n if (!this._http) {\n throw new Error(\n 'The HttpClient module needs to be imported at root module level'\n );\n }\n const req: HttpRequest<File | FormData> = new HttpRequest(\n method.toUpperCase(),\n url,\n body,\n {\n reportProgress: true,\n headers: new HttpHeaders(headers || {}),\n params: new HttpParams({ fromObject: params || {} }),\n }\n );\n return this._http\n .request(req)\n .pipe(tap((event: HttpEvent<any>) => this.handleEvent(event)));\n }\n\n private handleEvent<T = any>(event: HttpEvent<T>): void {\n switch (event.type) {\n case HttpEventType.Sent:\n this._progressSubject.next(0);\n break;\n case HttpEventType.UploadProgress:\n this._progressSubject.next(\n Math.round((100 * event.loaded) / (event.total ?? 0))\n );\n break;\n case HttpEventType.Response:\n this._progressSubject.next(100);\n break;\n default:\n break;\n }\n }\n}\n","import { Type } from '@angular/core';\nimport { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { PortalModule } from '@angular/cdk/portal';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { TdFileSelectDirective } from './directives/file-select.directive';\nimport { TdFileDropDirective } from './directives/file-drop.directive';\nimport { TdFileUploadComponent } from './file-upload/file-upload.component';\nimport {\n TdFileInputComponent,\n TdFileInputLabelDirective,\n} from './file-input/file-input.component';\nimport { TdFileService } from './services/file.service';\n\nconst TD_FILE: Type<any>[] = [\n TdFileSelectDirective,\n TdFileDropDirective,\n TdFileUploadComponent,\n TdFileInputComponent,\n TdFileInputLabelDirective,\n];\n\n@NgModule({\n imports: [\n FormsModule,\n CommonModule,\n MatIconModule,\n MatButtonModule,\n PortalModule,\n ],\n declarations: [TD_FILE],\n exports: [TD_FILE],\n providers: [TdFileService],\n})\nexport class CovalentFileModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2.TdFileSelectDirective","i3.TdFileDropDirective","i6.TdFileInputComponent"],"mappings":"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"}