design-angular-kit 1.0.0-1 → 1.0.0-3

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 (218) hide show
  1. package/README.md +152 -18
  2. package/assets/i18n/it.json +81 -0
  3. package/esm2020/lib/abstracts/abstract-form-component.mjs +165 -0
  4. package/esm2020/lib/abstracts/abstract.component.mjs +20 -0
  5. package/esm2020/lib/components/core/accordion/accordion.component.mjs +20 -0
  6. package/esm2020/lib/components/core/alert/alert.component.mjs +29 -0
  7. package/esm2020/lib/components/core/badge/badge.directive.mjs +34 -0
  8. package/esm2020/lib/components/core/button/button.directive.mjs +78 -0
  9. package/esm2020/lib/components/core/callout/callout.component.mjs +84 -0
  10. package/esm2020/lib/components/core/card/card.component.mjs +58 -0
  11. package/esm2020/lib/components/core/carousel/carousel/carousel.component.mjs +66 -0
  12. package/esm2020/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +14 -0
  13. package/esm2020/lib/components/core/chip/chip.component.mjs +89 -0
  14. package/esm2020/lib/components/core/collapse/collapse.component.mjs +96 -0
  15. package/esm2020/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +24 -0
  16. package/esm2020/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +11 -0
  17. package/esm2020/lib/components/core/dimmer/dimmer.component.mjs +59 -0
  18. package/esm2020/lib/components/core/dropdown/dropdown/dropdown.component.mjs +60 -0
  19. package/esm2020/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +71 -0
  20. package/esm2020/lib/components/core/forward/forward.directive.mjs +51 -0
  21. package/esm2020/lib/components/core/link/link.component.mjs +39 -0
  22. package/esm2020/lib/components/core/list/list/list.component.mjs +13 -0
  23. package/esm2020/lib/components/core/list/list-item/list-item.component.mjs +36 -0
  24. package/esm2020/lib/components/core/modal/modal.component.mjs +98 -0
  25. package/esm2020/lib/components/core/notifications/notifications.component.mjs +66 -0
  26. package/esm2020/lib/components/core/pagination/pagination.component.mjs +51 -0
  27. package/esm2020/lib/components/core/popover/popover.directive.mjs +176 -0
  28. package/esm2020/lib/components/core/progress-bar/progress-bar.component.mjs +34 -0
  29. package/esm2020/lib/components/core/progress-button/progress-button.component.mjs +27 -0
  30. package/esm2020/lib/components/core/spinner/spinner.component.mjs +35 -0
  31. package/esm2020/lib/components/core/tab/tab-container/tab-container.component.mjs +33 -0
  32. package/esm2020/lib/components/core/tab/tab-item/tab-item.component.mjs +36 -0
  33. package/esm2020/lib/components/core/table/table.component.mjs +57 -0
  34. package/esm2020/lib/components/core/tooltip/tooltip.directive.mjs +140 -0
  35. package/esm2020/lib/components/form/checkbox/checkbox.component.mjs +40 -0
  36. package/esm2020/lib/components/form/input/input.component.mjs +226 -0
  37. package/esm2020/lib/components/form/password-input/password-input.component.mjs +112 -0
  38. package/esm2020/lib/components/form/radio-button/radio-button.component.mjs +53 -0
  39. package/esm2020/lib/components/form/select/select.component.mjs +62 -0
  40. package/esm2020/lib/components/form/textarea/textarea.component.mjs +46 -0
  41. package/esm2020/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +134 -0
  42. package/esm2020/lib/components/form/upload-file-list/upload-file-list.component.mjs +99 -0
  43. package/esm2020/lib/components/navigation/back-button/back-button.component.mjs +69 -0
  44. package/esm2020/lib/components/navigation/back-to-top/back-to-top.component.mjs +39 -0
  45. package/esm2020/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +45 -0
  46. package/esm2020/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +23 -0
  47. package/esm2020/lib/components/navigation/header/header.component.mjs +61 -0
  48. package/esm2020/lib/components/utils/icon/icon.component.mjs +54 -0
  49. package/esm2020/lib/components/utils/not-found-page/not-found-page.component.mjs +13 -0
  50. package/esm2020/lib/design-angular-kit.module.mjs +32 -132
  51. package/esm2020/lib/interfaces/core.mjs +16 -0
  52. package/esm2020/lib/interfaces/form.mjs +2 -0
  53. package/esm2020/lib/interfaces/icon.mjs +2 -0
  54. package/esm2020/lib/modules/components.module.mjs +245 -0
  55. package/esm2020/lib/pipes/mark-matching-text.pipe.mjs +36 -0
  56. package/esm2020/lib/services/notifications/notifications.service.mjs +122 -0
  57. package/esm2020/lib/utils/boolean-input.mjs +15 -0
  58. package/esm2020/lib/utils/file-utils.mjs +65 -0
  59. package/esm2020/lib/utils/regex.mjs +26 -0
  60. package/esm2020/lib/validators/it-validators.mjs +131 -0
  61. package/esm2020/public_api.mjs +62 -36
  62. package/fesm2015/design-angular-kit.mjs +2856 -2640
  63. package/fesm2015/design-angular-kit.mjs.map +1 -1
  64. package/fesm2020/design-angular-kit.mjs +2837 -2640
  65. package/fesm2020/design-angular-kit.mjs.map +1 -1
  66. package/lib/abstracts/abstract-form-component.d.ts +84 -0
  67. package/lib/abstracts/abstract.component.d.ts +14 -0
  68. package/lib/components/core/accordion/accordion.component.d.ts +16 -0
  69. package/lib/components/core/alert/alert.component.d.ts +17 -0
  70. package/lib/components/core/badge/badge.directive.d.ts +16 -0
  71. package/lib/components/core/button/button.directive.d.ts +38 -0
  72. package/lib/components/core/callout/callout.component.d.ts +47 -0
  73. package/lib/components/core/card/card.component.d.ts +41 -0
  74. package/lib/components/core/carousel/carousel/carousel.component.d.ts +46 -0
  75. package/lib/components/core/carousel/carousel-item/carousel-item.component.d.ts +10 -0
  76. package/lib/components/core/chip/chip.component.d.ts +62 -0
  77. package/lib/components/core/collapse/collapse.component.d.ts +59 -0
  78. package/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.d.ts +12 -0
  79. package/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.d.ts +5 -0
  80. package/lib/components/core/dimmer/dimmer.component.d.ts +24 -0
  81. package/lib/components/core/dropdown/dropdown/dropdown.component.d.ts +43 -0
  82. package/lib/components/core/dropdown/dropdown-item/dropdown-item.component.d.ts +44 -0
  83. package/lib/components/core/forward/forward.directive.d.ts +14 -0
  84. package/lib/components/core/link/link.component.d.ts +34 -0
  85. package/lib/components/core/list/list/list.component.d.ts +10 -0
  86. package/lib/components/core/list/list-item/list-item.component.d.ts +24 -0
  87. package/lib/components/core/modal/modal.component.d.ts +59 -0
  88. package/lib/components/core/notifications/notifications.component.d.ts +30 -0
  89. package/lib/components/core/pagination/pagination.component.d.ts +31 -0
  90. package/lib/components/core/popover/popover.directive.d.ts +97 -0
  91. package/lib/components/core/progress-bar/progress-bar.component.d.ts +28 -0
  92. package/lib/components/core/progress-button/progress-button.component.d.ts +22 -0
  93. package/lib/components/core/spinner/spinner.component.d.ts +21 -0
  94. package/lib/components/core/tab/tab-container/tab-container.component.d.ts +28 -0
  95. package/lib/components/core/tab/tab-item/tab-item.component.d.ts +34 -0
  96. package/lib/components/core/table/table.component.d.ts +54 -0
  97. package/lib/components/core/tooltip/tooltip.directive.d.ts +80 -0
  98. package/lib/components/form/checkbox/checkbox.component.d.ts +30 -0
  99. package/lib/components/form/input/input.component.d.ts +94 -0
  100. package/lib/components/form/password-input/password-input.component.d.ts +54 -0
  101. package/lib/components/form/radio-button/radio-button.component.d.ts +29 -0
  102. package/lib/components/form/select/select.component.d.ts +30 -0
  103. package/lib/components/form/textarea/textarea.component.d.ts +24 -0
  104. package/lib/components/form/upload-drag-drop/upload-drag-drop.component.d.ts +53 -0
  105. package/lib/components/form/upload-file-list/upload-file-list.component.d.ts +57 -0
  106. package/lib/components/navigation/back-button/back-button.component.d.ts +47 -0
  107. package/lib/components/navigation/back-to-top/back-to-top.component.d.ts +27 -0
  108. package/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +30 -0
  109. package/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.d.ts +22 -0
  110. package/lib/components/navigation/header/header.component.d.ts +28 -0
  111. package/lib/components/utils/icon/icon.component.d.ts +40 -0
  112. package/lib/components/utils/not-found-page/not-found-page.component.d.ts +5 -0
  113. package/lib/design-angular-kit.module.d.ts +4 -24
  114. package/lib/interfaces/core.d.ts +36 -0
  115. package/lib/interfaces/form.d.ts +61 -0
  116. package/lib/interfaces/icon.d.ts +3 -0
  117. package/lib/modules/components.module.d.ts +58 -0
  118. package/lib/{form-input → pipes}/mark-matching-text.pipe.d.ts +0 -0
  119. package/lib/services/notifications/notifications.service.d.ts +63 -0
  120. package/lib/utils/boolean-input.d.ts +11 -0
  121. package/lib/utils/file-utils.d.ts +27 -0
  122. package/lib/utils/regex.d.ts +25 -0
  123. package/lib/validators/it-validators.d.ts +58 -0
  124. package/package.json +20 -13
  125. package/public_api.d.ts +54 -35
  126. package/esm2020/lib/badge/badge.directive.mjs +0 -83
  127. package/esm2020/lib/breadcrumb/breadcrumb-item.component.mjs +0 -66
  128. package/esm2020/lib/breadcrumb/breadcrumb.component.mjs +0 -89
  129. package/esm2020/lib/button/button.directive.mjs +0 -185
  130. package/esm2020/lib/button/button.module.mjs +0 -18
  131. package/esm2020/lib/checkbox/checkbox.component.mjs +0 -138
  132. package/esm2020/lib/collapse/collapse-group.component.mjs +0 -57
  133. package/esm2020/lib/collapse/collapse-item.component.mjs +0 -79
  134. package/esm2020/lib/collapse/collapse.config.mjs +0 -12
  135. package/esm2020/lib/collapse/collapse.directive.mjs +0 -55
  136. package/esm2020/lib/collapse/collapse.module.mjs +0 -22
  137. package/esm2020/lib/dropdown/dropdown-divider.component.mjs +0 -11
  138. package/esm2020/lib/dropdown/dropdown-item.component.mjs +0 -97
  139. package/esm2020/lib/dropdown/dropdown.component.mjs +0 -143
  140. package/esm2020/lib/dropdown/dropdown.config.mjs +0 -12
  141. package/esm2020/lib/dropdown/dropdown.directive.mjs +0 -156
  142. package/esm2020/lib/dropdown/dropdown.module.mjs +0 -25
  143. package/esm2020/lib/enums/icons.enum.mjs +0 -27
  144. package/esm2020/lib/form-input/form-input-password.utils.mjs +0 -154
  145. package/esm2020/lib/form-input/form-input.component.mjs +0 -495
  146. package/esm2020/lib/form-input/it-prefix.directive.mjs +0 -13
  147. package/esm2020/lib/form-input/it-suffix.directive.mjs +0 -13
  148. package/esm2020/lib/form-input/it-text-prefix.directive.mjs +0 -13
  149. package/esm2020/lib/form-input/it-text-suffix.directive.mjs +0 -13
  150. package/esm2020/lib/form-input/mark-matching-text.pipe.mjs +0 -36
  151. package/esm2020/lib/icon/icon.component.mjs +0 -87
  152. package/esm2020/lib/icon/icon.module.mjs +0 -18
  153. package/esm2020/lib/models/Alignment.mjs +0 -15
  154. package/esm2020/lib/models/ButtonSize.mjs +0 -15
  155. package/esm2020/lib/models/InputType.mjs +0 -44
  156. package/esm2020/lib/models/ThemeColor.mjs +0 -30
  157. package/esm2020/lib/popover/popover.config.mjs +0 -17
  158. package/esm2020/lib/popover/popover.directive.mjs +0 -33
  159. package/esm2020/lib/popover/popover.module.mjs +0 -19
  160. package/esm2020/lib/progress-bar/progress-bar.component.mjs +0 -98
  161. package/esm2020/lib/radio/radio.component.mjs +0 -287
  162. package/esm2020/lib/radio/unique-selection-dispatcher.mjs +0 -55
  163. package/esm2020/lib/tabs/tab-group.component.mjs +0 -177
  164. package/esm2020/lib/tabs/tab.component.mjs +0 -73
  165. package/esm2020/lib/tabs/tabs.module.mjs +0 -20
  166. package/esm2020/lib/toggle/toggle.component.mjs +0 -86
  167. package/esm2020/lib/tooltip/tooltip.config.mjs +0 -17
  168. package/esm2020/lib/tooltip/tooltip.directive.mjs +0 -43
  169. package/esm2020/lib/tooltip/tooltip.module.mjs +0 -19
  170. package/esm2020/lib/util/focus-mouse.directive.mjs +0 -32
  171. package/esm2020/lib/util/util.mjs +0 -12
  172. package/esm2020/lib/util/utils.module.mjs +0 -16
  173. package/lib/badge/badge.directive.d.ts +0 -33
  174. package/lib/breadcrumb/breadcrumb-item.component.d.ts +0 -33
  175. package/lib/breadcrumb/breadcrumb.component.d.ts +0 -33
  176. package/lib/button/button.directive.d.ts +0 -72
  177. package/lib/button/button.module.d.ts +0 -8
  178. package/lib/checkbox/checkbox.component.d.ts +0 -61
  179. package/lib/collapse/collapse-group.component.d.ts +0 -16
  180. package/lib/collapse/collapse-item.component.d.ts +0 -46
  181. package/lib/collapse/collapse.config.d.ts +0 -6
  182. package/lib/collapse/collapse.directive.d.ts +0 -25
  183. package/lib/collapse/collapse.module.d.ts +0 -12
  184. package/lib/dropdown/dropdown-divider.component.d.ts +0 -5
  185. package/lib/dropdown/dropdown-item.component.d.ts +0 -56
  186. package/lib/dropdown/dropdown.component.d.ts +0 -65
  187. package/lib/dropdown/dropdown.config.d.ts +0 -6
  188. package/lib/dropdown/dropdown.directive.d.ts +0 -77
  189. package/lib/dropdown/dropdown.module.d.ts +0 -15
  190. package/lib/enums/icons.enum.d.ts +0 -23
  191. package/lib/form-input/form-input-password.utils.d.ts +0 -45
  192. package/lib/form-input/form-input.component.d.ts +0 -283
  193. package/lib/form-input/it-prefix.directive.d.ts +0 -5
  194. package/lib/form-input/it-suffix.directive.d.ts +0 -5
  195. package/lib/form-input/it-text-prefix.directive.d.ts +0 -5
  196. package/lib/form-input/it-text-suffix.directive.d.ts +0 -5
  197. package/lib/icon/icon.component.d.ts +0 -34
  198. package/lib/icon/icon.module.d.ts +0 -8
  199. package/lib/models/Alignment.d.ts +0 -12
  200. package/lib/models/ButtonSize.d.ts +0 -11
  201. package/lib/models/InputType.d.ts +0 -36
  202. package/lib/models/ThemeColor.d.ts +0 -21
  203. package/lib/popover/popover.config.d.ts +0 -11
  204. package/lib/popover/popover.directive.d.ts +0 -20
  205. package/lib/popover/popover.module.d.ts +0 -9
  206. package/lib/progress-bar/progress-bar.component.d.ts +0 -55
  207. package/lib/radio/radio.component.d.ts +0 -116
  208. package/lib/radio/unique-selection-dispatcher.d.ts +0 -36
  209. package/lib/tabs/tab-group.component.d.ts +0 -71
  210. package/lib/tabs/tab.component.d.ts +0 -44
  211. package/lib/tabs/tabs.module.d.ts +0 -10
  212. package/lib/toggle/toggle.component.d.ts +0 -46
  213. package/lib/tooltip/tooltip.config.d.ts +0 -11
  214. package/lib/tooltip/tooltip.directive.d.ts +0 -27
  215. package/lib/tooltip/tooltip.module.d.ts +0 -9
  216. package/lib/util/focus-mouse.directive.d.ts +0 -13
  217. package/lib/util/util.d.ts +0 -5
  218. package/lib/util/utils.module.d.ts +0 -7
@@ -0,0 +1,66 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { NotificationType } from '../../../interfaces/core';
3
+ import { Notification as BSNotification } from 'bootstrap-italia';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../services/notifications/notifications.service";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "../../utils/icon/icon.component";
8
+ import * as i4 from "@ngx-translate/core";
9
+ export class NotificationsComponent {
10
+ constructor(_notificationService) {
11
+ this._notificationService = _notificationService;
12
+ /**
13
+ * Default notifications duration
14
+ * @default 8000
15
+ */
16
+ this.duration = 8000;
17
+ this.notifications = [];
18
+ this.subscription = this._notificationService.onNotification().subscribe(notification => {
19
+ if (!notification.duration) {
20
+ notification.duration = this.duration; // Add duration if not is set
21
+ }
22
+ if (!notification.position && this.position) {
23
+ notification.position = this.position; // Add position if not is set
24
+ }
25
+ const newNotification = {
26
+ ...notification,
27
+ id: `${notification.type}-${this.notifications.length}-notification`
28
+ };
29
+ const index = this.notifications.push(newNotification);
30
+ setTimeout(() => {
31
+ // Show the notification
32
+ new BSNotification(document.getElementById(newNotification.id), {
33
+ timeout: notification.duration
34
+ }).show();
35
+ // Clear notification after the duration
36
+ setTimeout(() => {
37
+ this.notifications = this.notifications.splice(index, 1);
38
+ }, notification.duration);
39
+ }, 200);
40
+ });
41
+ }
42
+ ngOnDestroy() {
43
+ this.subscription.unsubscribe();
44
+ }
45
+ get NotificationType() {
46
+ return NotificationType;
47
+ }
48
+ /**
49
+ * Hide the notification
50
+ * @param id
51
+ */
52
+ hideNotification(id) {
53
+ BSNotification.getInstance(document.getElementById(id))?.hide();
54
+ }
55
+ }
56
+ NotificationsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NotificationsComponent, deps: [{ token: i1.NotificationsService }], target: i0.ɵɵFactoryTarget.Component });
57
+ NotificationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: NotificationsComponent, selector: "it-notifications", inputs: { duration: "duration", position: "position" }, ngImport: i0, template: "<div *ngFor=\"let notification of notifications; let i = index\"\n [id]=\"notification.id\"\n class=\"notification {{notification.position}} {{notification.type}}\"\n [class.with-icon]=\"notification.type !== NotificationType.Standard\"\n [class.dismissable]=\"notification.dismissable\"\n role=\"alert\" [attr.aria-labelledby]=\"notification.id+'-title'\">\n\n <h2 [id]=\"notification.id+'-title'\" class=\"h5\">\n <ng-container>{{notification.title}}</ng-container>\n </h2>\n <p *ngIf=\"notification.message\">{{notification.message}}</p>\n\n <button *ngIf=\"notification.dismissable\" type=\"button\" class=\"btn notification-close\"\n (click)=\"hideNotification(notification.id)\">\n <it-icon name=\"close\"></it-icon>\n <span class=\"visually-hidden\">{{'it.core.close-notification'|translate:{title: notification.title} }}</span>\n </button>\n</div>\n", styles: [".notification{z-index:10000}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NotificationsComponent, decorators: [{
59
+ type: Component,
60
+ args: [{ selector: 'it-notifications', template: "<div *ngFor=\"let notification of notifications; let i = index\"\n [id]=\"notification.id\"\n class=\"notification {{notification.position}} {{notification.type}}\"\n [class.with-icon]=\"notification.type !== NotificationType.Standard\"\n [class.dismissable]=\"notification.dismissable\"\n role=\"alert\" [attr.aria-labelledby]=\"notification.id+'-title'\">\n\n <h2 [id]=\"notification.id+'-title'\" class=\"h5\">\n <ng-container>{{notification.title}}</ng-container>\n </h2>\n <p *ngIf=\"notification.message\">{{notification.message}}</p>\n\n <button *ngIf=\"notification.dismissable\" type=\"button\" class=\"btn notification-close\"\n (click)=\"hideNotification(notification.id)\">\n <it-icon name=\"close\"></it-icon>\n <span class=\"visually-hidden\">{{'it.core.close-notification'|translate:{title: notification.title} }}</span>\n </button>\n</div>\n", styles: [".notification{z-index:10000}\n"] }]
61
+ }], ctorParameters: function () { return [{ type: i1.NotificationsService }]; }, propDecorators: { duration: [{
62
+ type: Input
63
+ }], position: [{
64
+ type: Input
65
+ }] } });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHNUQsT0FBTyxFQUFzQyxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWhHLE9BQU8sRUFBRSxZQUFZLElBQUksY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQU9sRSxNQUFNLE9BQU8sc0JBQXNCO0lBZ0JqQyxZQUNtQixvQkFBMEM7UUFBMUMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQWY3RDs7O1dBR0c7UUFDTSxhQUFRLEdBQVcsSUFBSSxDQUFDO1FBUWpDLGtCQUFhLEdBQXlDLEVBQUUsQ0FBQztRQUt2RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDdEYsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUU7Z0JBQzFCLFlBQVksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLDZCQUE2QjthQUNyRTtZQUNELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQzNDLFlBQVksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLDZCQUE2QjthQUNyRTtZQUVELE1BQU0sZUFBZSxHQUFHO2dCQUN0QixHQUFHLFlBQVk7Z0JBQ2YsRUFBRSxFQUFFLEdBQUcsWUFBWSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sZUFBZTthQUNyRSxDQUFDO1lBQ0YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFFdkQsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCx3QkFBd0I7Z0JBQ3hCLElBQUksY0FBYyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxFQUFFO29CQUM5RCxPQUFPLEVBQUUsWUFBWSxDQUFDLFFBQVE7aUJBQy9CLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFFVix3Q0FBd0M7Z0JBQ3hDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzNELENBQUMsRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDNUIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGdCQUFnQixDQUFDLEVBQVU7UUFDekIsY0FBYyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbEUsQ0FBQzs7bUhBN0RVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLGdIQ1puQyxzNEJBa0JBOzJGRE5hLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxrQkFBa0I7MkdBVW5CLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiwgTm90aWZpY2F0aW9uUG9zaXRpb24sIE5vdGlmaWNhdGlvblR5cGUgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2NvcmUnO1xuXG5pbXBvcnQgeyBOb3RpZmljYXRpb24gYXMgQlNOb3RpZmljYXRpb24gfSBmcm9tICdib290c3RyYXAtaXRhbGlhJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXQtbm90aWZpY2F0aW9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9ub3RpZmljYXRpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbm90aWZpY2F0aW9ucy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IG5vdGlmaWNhdGlvbnMgZHVyYXRpb25cbiAgICogQGRlZmF1bHQgODAwMFxuICAgKi9cbiAgQElucHV0KCkgZHVyYXRpb246IG51bWJlciA9IDgwMDA7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgbm90aWZpY2F0aW9ucyBwb3NpdGlvblxuICAgKi9cbiAgQElucHV0KCkgcG9zaXRpb24/OiBOb3RpZmljYXRpb25Qb3NpdGlvbjtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBub3RpZmljYXRpb25zOiBBcnJheTxOb3RpZmljYXRpb24gJiB7IGlkOiBzdHJpbmcgfT4gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9ub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25zU2VydmljZVxuICApIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuX25vdGlmaWNhdGlvblNlcnZpY2Uub25Ob3RpZmljYXRpb24oKS5zdWJzY3JpYmUobm90aWZpY2F0aW9uID0+IHtcbiAgICAgIGlmICghbm90aWZpY2F0aW9uLmR1cmF0aW9uKSB7XG4gICAgICAgIG5vdGlmaWNhdGlvbi5kdXJhdGlvbiA9IHRoaXMuZHVyYXRpb247IC8vIEFkZCBkdXJhdGlvbiBpZiBub3QgaXMgc2V0XG4gICAgICB9XG4gICAgICBpZiAoIW5vdGlmaWNhdGlvbi5wb3NpdGlvbiAmJiB0aGlzLnBvc2l0aW9uKSB7XG4gICAgICAgIG5vdGlmaWNhdGlvbi5wb3NpdGlvbiA9IHRoaXMucG9zaXRpb247IC8vIEFkZCBwb3NpdGlvbiBpZiBub3QgaXMgc2V0XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5ld05vdGlmaWNhdGlvbiA9IHtcbiAgICAgICAgLi4ubm90aWZpY2F0aW9uLFxuICAgICAgICBpZDogYCR7bm90aWZpY2F0aW9uLnR5cGV9LSR7dGhpcy5ub3RpZmljYXRpb25zLmxlbmd0aH0tbm90aWZpY2F0aW9uYFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5ub3RpZmljYXRpb25zLnB1c2gobmV3Tm90aWZpY2F0aW9uKTtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIC8vIFNob3cgdGhlIG5vdGlmaWNhdGlvblxuICAgICAgICBuZXcgQlNOb3RpZmljYXRpb24oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobmV3Tm90aWZpY2F0aW9uLmlkKSwge1xuICAgICAgICAgIHRpbWVvdXQ6IG5vdGlmaWNhdGlvbi5kdXJhdGlvblxuICAgICAgICB9KS5zaG93KCk7XG5cbiAgICAgICAgLy8gQ2xlYXIgbm90aWZpY2F0aW9uIGFmdGVyIHRoZSBkdXJhdGlvblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMgPSB0aGlzLm5vdGlmaWNhdGlvbnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgfSwgbm90aWZpY2F0aW9uLmR1cmF0aW9uKTtcbiAgICAgIH0sIDIwMCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ2V0IE5vdGlmaWNhdGlvblR5cGUoKTogdHlwZW9mIE5vdGlmaWNhdGlvblR5cGUge1xuICAgIHJldHVybiBOb3RpZmljYXRpb25UeXBlO1xuICB9XG5cbiAgLyoqXG4gICAqIEhpZGUgdGhlIG5vdGlmaWNhdGlvblxuICAgKiBAcGFyYW0gaWRcbiAgICovXG4gIGhpZGVOb3RpZmljYXRpb24oaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIEJTTm90aWZpY2F0aW9uLmdldEluc3RhbmNlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSk/LmhpZGUoKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdGb3I9XCJsZXQgbm90aWZpY2F0aW9uIG9mIG5vdGlmaWNhdGlvbnM7IGxldCBpID0gaW5kZXhcIlxuICAgICBbaWRdPVwibm90aWZpY2F0aW9uLmlkXCJcbiAgICAgY2xhc3M9XCJub3RpZmljYXRpb24ge3tub3RpZmljYXRpb24ucG9zaXRpb259fSB7e25vdGlmaWNhdGlvbi50eXBlfX1cIlxuICAgICBbY2xhc3Mud2l0aC1pY29uXT1cIm5vdGlmaWNhdGlvbi50eXBlICE9PSBOb3RpZmljYXRpb25UeXBlLlN0YW5kYXJkXCJcbiAgICAgW2NsYXNzLmRpc21pc3NhYmxlXT1cIm5vdGlmaWNhdGlvbi5kaXNtaXNzYWJsZVwiXG4gICAgIHJvbGU9XCJhbGVydFwiIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJub3RpZmljYXRpb24uaWQrJy10aXRsZSdcIj5cblxuICA8aDIgW2lkXT1cIm5vdGlmaWNhdGlvbi5pZCsnLXRpdGxlJ1wiIGNsYXNzPVwiaDVcIj5cbiAgICA8bmctY29udGFpbmVyPnt7bm90aWZpY2F0aW9uLnRpdGxlfX08L25nLWNvbnRhaW5lcj5cbiAgPC9oMj5cbiAgPHAgKm5nSWY9XCJub3RpZmljYXRpb24ubWVzc2FnZVwiPnt7bm90aWZpY2F0aW9uLm1lc3NhZ2V9fTwvcD5cblxuICA8YnV0dG9uICpuZ0lmPVwibm90aWZpY2F0aW9uLmRpc21pc3NhYmxlXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIG5vdGlmaWNhdGlvbi1jbG9zZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImhpZGVOb3RpZmljYXRpb24obm90aWZpY2F0aW9uLmlkKVwiPlxuICAgIDxpdC1pY29uIG5hbWU9XCJjbG9zZVwiPjwvaXQtaWNvbj5cbiAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPnt7J2l0LmNvcmUuY2xvc2Utbm90aWZpY2F0aW9uJ3x0cmFuc2xhdGU6e3RpdGxlOiBub3RpZmljYXRpb24udGl0bGV9IH19PC9zcGFuPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,51 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../../utils/icon/icon.component";
5
+ import * as i3 from "@ngx-translate/core";
6
+ export class PaginationComponent {
7
+ constructor() {
8
+ /**
9
+ * Fired when page is changed
10
+ */
11
+ this.newPageEvent = new EventEmitter();
12
+ }
13
+ /**
14
+ * Create array to generate pagination of 5 element
15
+ */
16
+ get pages() {
17
+ const length = this.pageNumbers > 5 ? 5 : this.pageNumbers;
18
+ let start = (this.currentPage > 1 && this.pageNumbers > 5) ? this.currentPage - 1 : 1;
19
+ if (this.pageNumbers > 5) {
20
+ if ((this.currentPage + 1) >= this.pageNumbers) {
21
+ start -= 2;
22
+ }
23
+ else if (this.currentPage >= (this.pageNumbers - 2)) {
24
+ start -= (this.pageNumbers - (this.currentPage + 1));
25
+ }
26
+ }
27
+ return Array.from({ length }, (_, i) => i + start);
28
+ }
29
+ /**
30
+ * On click page change
31
+ * @param newPage the new page of table
32
+ */
33
+ pageChange(newPage) {
34
+ this.newPageEvent.emit(newPage - 1); // emit new page
35
+ }
36
+ }
37
+ PaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
+ PaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: PaginationComponent, selector: "it-pagination[currentPage][pageNumbers]", inputs: { currentPage: "currentPage", pageNumbers: "pageNumbers", alignment: "alignment" }, outputs: { newPageEvent: "newPageEvent" }, ngImport: i0, template: "<nav class=\"pagination-wrapper\"\n [class.justify-content-center]=\"alignment==='center'\"\n [class.justify-content-end]=\"alignment==='end'\">\n <ul class=\"pagination\">\n <li class=\"page-item\" [class.disabled]=\"currentPage < 1\">\n <a class=\"page-link\" (click)=\"pageChange(currentPage)\">\n <it-icon name=\"chevron-left\" color=\"primary\"></it-icon>\n <span class=\"visually-hidden\">{{'it.core.previous-page'|translate}}</span>\n </a>\n </li>\n\n <ng-container *ngIf=\"pageNumbers > 5 && currentPage > 2\">\n <li class=\"page-item\"><a class=\"page-link\" (click)=\"pageChange(1)\">1</a></li>\n <li class=\"page-item\" *ngIf=\"currentPage > 3\">\n <span class=\"page-link\">...</span>\n </li>\n </ng-container>\n\n <li class=\"page-item\" *ngFor=\"let page of pages\">\n <a class=\"page-link\" aria-current=\"page\" *ngIf=\"page === (currentPage + 1); else inactivePage\">\n <span class=\"d-inline-block d-sm-none\">{{'it.core.page'|translate}}</span> {{page}}\n </a>\n <ng-template #inactivePage>\n <a class=\"page-link\" (click)=\"pageChange(page)\">{{page}}</a>\n </ng-template>\n </li>\n\n <ng-container *ngIf=\"pageNumbers > 5 && pageNumbers - currentPage > 3\">\n <li class=\"page-item\">\n <span class=\"page-link\">...</span>\n </li>\n <li class=\"page-item\"><a class=\"page-link\" (click)=\"pageChange(pageNumbers)\">{{pageNumbers}}</a></li>\n </ng-container>\n\n <li class=\"page-item\" [class.disabled]=\"currentPage >= pageNumbers - 1\">\n <a class=\"page-link\" (click)=\"pageChange(currentPage + 2)\">\n <span class=\"visually-hidden\">{{'it.core.next-page'|translate}}</span>\n <it-icon name=\"chevron-right\" color=\"primary\"></it-icon>\n </a>\n </li>\n </ul>\n</nav>\n", styles: [".page-item:not(.disabled)>a.page-link{cursor:pointer}\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.IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PaginationComponent, decorators: [{
40
+ type: Component,
41
+ args: [{ selector: 'it-pagination[currentPage][pageNumbers]', template: "<nav class=\"pagination-wrapper\"\n [class.justify-content-center]=\"alignment==='center'\"\n [class.justify-content-end]=\"alignment==='end'\">\n <ul class=\"pagination\">\n <li class=\"page-item\" [class.disabled]=\"currentPage < 1\">\n <a class=\"page-link\" (click)=\"pageChange(currentPage)\">\n <it-icon name=\"chevron-left\" color=\"primary\"></it-icon>\n <span class=\"visually-hidden\">{{'it.core.previous-page'|translate}}</span>\n </a>\n </li>\n\n <ng-container *ngIf=\"pageNumbers > 5 && currentPage > 2\">\n <li class=\"page-item\"><a class=\"page-link\" (click)=\"pageChange(1)\">1</a></li>\n <li class=\"page-item\" *ngIf=\"currentPage > 3\">\n <span class=\"page-link\">...</span>\n </li>\n </ng-container>\n\n <li class=\"page-item\" *ngFor=\"let page of pages\">\n <a class=\"page-link\" aria-current=\"page\" *ngIf=\"page === (currentPage + 1); else inactivePage\">\n <span class=\"d-inline-block d-sm-none\">{{'it.core.page'|translate}}</span> {{page}}\n </a>\n <ng-template #inactivePage>\n <a class=\"page-link\" (click)=\"pageChange(page)\">{{page}}</a>\n </ng-template>\n </li>\n\n <ng-container *ngIf=\"pageNumbers > 5 && pageNumbers - currentPage > 3\">\n <li class=\"page-item\">\n <span class=\"page-link\">...</span>\n </li>\n <li class=\"page-item\"><a class=\"page-link\" (click)=\"pageChange(pageNumbers)\">{{pageNumbers}}</a></li>\n </ng-container>\n\n <li class=\"page-item\" [class.disabled]=\"currentPage >= pageNumbers - 1\">\n <a class=\"page-link\" (click)=\"pageChange(currentPage + 2)\">\n <span class=\"visually-hidden\">{{'it.core.next-page'|translate}}</span>\n <it-icon name=\"chevron-right\" color=\"primary\"></it-icon>\n </a>\n </li>\n </ul>\n</nav>\n", styles: [".page-item:not(.disabled)>a.page-link{cursor:pointer}\n"] }]
42
+ }], propDecorators: { currentPage: [{
43
+ type: Input
44
+ }], pageNumbers: [{
45
+ type: Input
46
+ }], alignment: [{
47
+ type: Input
48
+ }], newPageEvent: [{
49
+ type: Output
50
+ }] } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFPdkUsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQXNCRTs7V0FFRztRQUNPLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQTRCckQ7SUExQkM7O09BRUc7SUFDSCxJQUFJLEtBQUs7UUFDUCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzNELElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV0RixJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQzlDLEtBQUssSUFBSSxDQUFDLENBQUM7YUFDWjtpQkFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUNyRCxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3REO1NBQ0Y7UUFFRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLE9BQWU7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCO0lBQ3ZELENBQUM7O2dIQTlDVSxtQkFBbUI7b0dBQW5CLG1CQUFtQixzTkNQaEMsMjBEQTBDQTsyRkRuQ2EsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLHlDQUF5Qzs4QkFTMUMsV0FBVztzQkFBbkIsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l0LXBhZ2luYXRpb25bY3VycmVudFBhZ2VdW3BhZ2VOdW1iZXJzXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Db21wb25lbnQge1xuXG4gIC8qKlxuICAgKiBJbmRleCBvZiBwYWdlIChzdGFydCAwKVxuICAgKi9cbiAgQElucHV0KCkgY3VycmVudFBhZ2UhOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE1heCBudW1iZXIgb2YgcGFnZSAoY291bnRlcilcbiAgICovXG4gIEBJbnB1dCgpIHBhZ2VOdW1iZXJzITogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBQYWdpbmF0aW9uIGFsaWdubWVudCAoanVzdGlmeS1jb250ZW50KVxuICAgKi9cbiAgQElucHV0KCkgYWxpZ25tZW50PzogJ2NlbnRlcicgfCAnZW5kJztcblxuICAvKipcbiAgICogRmlyZWQgd2hlbiBwYWdlIGlzIGNoYW5nZWRcbiAgICovXG4gIEBPdXRwdXQoKSBuZXdQYWdlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAvKipcbiAgICogQ3JlYXRlIGFycmF5IHRvIGdlbmVyYXRlIHBhZ2luYXRpb24gb2YgNSBlbGVtZW50XG4gICAqL1xuICBnZXQgcGFnZXMoKTogQXJyYXk8bnVtYmVyPiB7XG4gICAgY29uc3QgbGVuZ3RoID0gdGhpcy5wYWdlTnVtYmVycyA+IDUgPyA1IDogdGhpcy5wYWdlTnVtYmVycztcbiAgICBsZXQgc3RhcnQgPSAodGhpcy5jdXJyZW50UGFnZSA+IDEgJiYgdGhpcy5wYWdlTnVtYmVycyA+IDUpID8gdGhpcy5jdXJyZW50UGFnZSAtIDEgOiAxO1xuXG4gICAgaWYgKHRoaXMucGFnZU51bWJlcnMgPiA1KSB7XG4gICAgICBpZiAoKHRoaXMuY3VycmVudFBhZ2UgKyAxKSA+PSB0aGlzLnBhZ2VOdW1iZXJzKSB7XG4gICAgICAgIHN0YXJ0IC09IDI7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudFBhZ2UgPj0gKHRoaXMucGFnZU51bWJlcnMgLSAyKSkge1xuICAgICAgICBzdGFydCAtPSAodGhpcy5wYWdlTnVtYmVycyAtICh0aGlzLmN1cnJlbnRQYWdlICsgMSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoIH0sIChfLCBpKSA9PiBpICsgc3RhcnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uIGNsaWNrIHBhZ2UgY2hhbmdlXG4gICAqIEBwYXJhbSBuZXdQYWdlIHRoZSBuZXcgcGFnZSBvZiB0YWJsZVxuICAgKi9cbiAgcGFnZUNoYW5nZShuZXdQYWdlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLm5ld1BhZ2VFdmVudC5lbWl0KG5ld1BhZ2UgLSAxKTsgLy8gZW1pdCBuZXcgcGFnZVxuICB9XG5cbn1cbiIsIjxuYXYgY2xhc3M9XCJwYWdpbmF0aW9uLXdyYXBwZXJcIlxuICAgICBbY2xhc3MuanVzdGlmeS1jb250ZW50LWNlbnRlcl09XCJhbGlnbm1lbnQ9PT0nY2VudGVyJ1wiXG4gICAgIFtjbGFzcy5qdXN0aWZ5LWNvbnRlbnQtZW5kXT1cImFsaWdubWVudD09PSdlbmQnXCI+XG4gIDx1bCBjbGFzcz1cInBhZ2luYXRpb25cIj5cbiAgICA8bGkgY2xhc3M9XCJwYWdlLWl0ZW1cIiBbY2xhc3MuZGlzYWJsZWRdPVwiY3VycmVudFBhZ2UgPCAxXCI+XG4gICAgICA8YSBjbGFzcz1cInBhZ2UtbGlua1wiIChjbGljayk9XCJwYWdlQ2hhbmdlKGN1cnJlbnRQYWdlKVwiPlxuICAgICAgICA8aXQtaWNvbiBuYW1lPVwiY2hldnJvbi1sZWZ0XCIgY29sb3I9XCJwcmltYXJ5XCI+PC9pdC1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPnt7J2l0LmNvcmUucHJldmlvdXMtcGFnZSd8dHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICA8L2E+XG4gICAgPC9saT5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYWdlTnVtYmVycyA+IDUgJiYgY3VycmVudFBhZ2UgPiAyXCI+XG4gICAgICA8bGkgY2xhc3M9XCJwYWdlLWl0ZW1cIj48YSBjbGFzcz1cInBhZ2UtbGlua1wiIChjbGljayk9XCJwYWdlQ2hhbmdlKDEpXCI+MTwvYT48L2xpPlxuICAgICAgPGxpIGNsYXNzPVwicGFnZS1pdGVtXCIgKm5nSWY9XCJjdXJyZW50UGFnZSA+IDNcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwYWdlLWxpbmtcIj4uLi48L3NwYW4+XG4gICAgICA8L2xpPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGxpIGNsYXNzPVwicGFnZS1pdGVtXCIgKm5nRm9yPVwibGV0IHBhZ2Ugb2YgcGFnZXNcIj5cbiAgICAgIDxhIGNsYXNzPVwicGFnZS1saW5rXCIgYXJpYS1jdXJyZW50PVwicGFnZVwiICpuZ0lmPVwicGFnZSA9PT0gKGN1cnJlbnRQYWdlICsgMSk7IGVsc2UgaW5hY3RpdmVQYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZC1pbmxpbmUtYmxvY2sgZC1zbS1ub25lXCI+e3snaXQuY29yZS5wYWdlJ3x0cmFuc2xhdGV9fTwvc3Bhbj4ge3twYWdlfX1cbiAgICAgIDwvYT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjaW5hY3RpdmVQYWdlPlxuICAgICAgICA8YSBjbGFzcz1cInBhZ2UtbGlua1wiIChjbGljayk9XCJwYWdlQ2hhbmdlKHBhZ2UpXCI+e3twYWdlfX08L2E+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbGk+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFnZU51bWJlcnMgPiA1ICYmIHBhZ2VOdW1iZXJzIC0gY3VycmVudFBhZ2UgPiAzXCI+XG4gICAgICA8bGkgY2xhc3M9XCJwYWdlLWl0ZW1cIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwYWdlLWxpbmtcIj4uLi48L3NwYW4+XG4gICAgICA8L2xpPlxuICAgICAgPGxpIGNsYXNzPVwicGFnZS1pdGVtXCI+PGEgY2xhc3M9XCJwYWdlLWxpbmtcIiAoY2xpY2spPVwicGFnZUNoYW5nZShwYWdlTnVtYmVycylcIj57e3BhZ2VOdW1iZXJzfX08L2E+PC9saT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxsaSBjbGFzcz1cInBhZ2UtaXRlbVwiIFtjbGFzcy5kaXNhYmxlZF09XCJjdXJyZW50UGFnZSA+PSBwYWdlTnVtYmVycyAtIDFcIj5cbiAgICAgIDxhIGNsYXNzPVwicGFnZS1saW5rXCIgKGNsaWNrKT1cInBhZ2VDaGFuZ2UoY3VycmVudFBhZ2UgKyAyKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPnt7J2l0LmNvcmUubmV4dC1wYWdlJ3x0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPGl0LWljb24gbmFtZT1cImNoZXZyb24tcmlnaHRcIiBjb2xvcj1cInByaW1hcnlcIj48L2l0LWljb24+XG4gICAgICA8L2E+XG4gICAgPC9saT5cbiAgPC91bD5cbjwvbmF2PlxuIl19
@@ -0,0 +1,176 @@
1
+ import { Directive, EventEmitter, Input, Output } from '@angular/core';
2
+ import { isTrueBooleanInput } from '../../../utils/boolean-input';
3
+ import { Popover } from 'bootstrap-italia';
4
+ import * as i0 from "@angular/core";
5
+ export class PopoverDirective {
6
+ constructor(_elementRef) {
7
+ this._elementRef = _elementRef;
8
+ /**
9
+ * This event fires immediately when the show method is called.
10
+ */
11
+ this.onShow = new EventEmitter();
12
+ /**
13
+ * This event is triggered when the tooltip has been made visible to the user (it will wait for the CSS transitions to complete).
14
+ */
15
+ this.onShown = new EventEmitter();
16
+ /**
17
+ * This event fires immediately when the hide method is called.
18
+ */
19
+ this.onHide = new EventEmitter();
20
+ /**
21
+ * This event is raised when the tooltip has finished being hidden from the user (it will wait for the CSS transitions to complete).
22
+ */
23
+ this.onHidden = new EventEmitter();
24
+ /**
25
+ * This event fires after the show event when the tooltip template has been added to the DOM.
26
+ */
27
+ this.onInserted = new EventEmitter();
28
+ this.element = this._elementRef.nativeElement;
29
+ }
30
+ /**
31
+ * Define the popover content
32
+ * @param content the popover content
33
+ */
34
+ set content(content) {
35
+ this.element.setAttribute('data-bs-content', content);
36
+ }
37
+ /**
38
+ * Define the popover title
39
+ * @param title the popover title
40
+ */
41
+ set title(title) {
42
+ if (title) {
43
+ // this.element.setAttribute("title", title);
44
+ this.element.setAttribute('data-bs-original-title', title);
45
+ }
46
+ }
47
+ /**
48
+ * Define the popover placement
49
+ * @param placement
50
+ */
51
+ set placement(placement) {
52
+ this.element.setAttribute('data-bs-placement', placement);
53
+ }
54
+ /**
55
+ * Appends the popover to a specific element.
56
+ * @param container
57
+ */
58
+ set container(container) {
59
+ if (container) {
60
+ this.element.setAttribute('data-container', container);
61
+ }
62
+ }
63
+ /**
64
+ * Indicates whether the title contains html
65
+ * @param html true if contain html
66
+ */
67
+ set html(html) {
68
+ this.element.setAttribute('data-bs-html', isTrueBooleanInput(html) ? 'true' : 'false');
69
+ }
70
+ /**
71
+ * How popover is triggered
72
+ * - 'hover': To open the Popover on hover of the mouse over the element
73
+ * - 'focus': To ignore popovers on the user's next click of an element other than the toggle element.
74
+ * @param trigger
75
+ */
76
+ set hover(trigger) {
77
+ if (trigger) {
78
+ this.element.setAttribute('data-bs-trigger', trigger);
79
+ }
80
+ }
81
+ ngAfterViewInit() {
82
+ this.element.setAttribute('data-bs-toggle', 'popover');
83
+ this.popover = Popover.getOrCreateInstance(this.element);
84
+ this.element.addEventListener('show.bs.popover', event => this.onShow.emit(event));
85
+ this.element.addEventListener('shown.bs.popover', event => this.onShown.emit(event));
86
+ this.element.addEventListener('hide.bs.popover', event => this.onHide.emit(event));
87
+ this.element.addEventListener('hidden.bs.popover', event => this.onHidden.emit(event));
88
+ this.element.addEventListener('inserted.bs.popover', event => this.onInserted.emit(event));
89
+ }
90
+ /**
91
+ * Shows the popover of an item.
92
+ */
93
+ show() {
94
+ this.popover?.show();
95
+ }
96
+ /**
97
+ * Hide the popover of an element.
98
+ */
99
+ hide() {
100
+ this.popover?.hide();
101
+ }
102
+ /**
103
+ * Activate / Deactivate the popover of an element
104
+ */
105
+ toggle() {
106
+ this.popover?.toggle();
107
+ }
108
+ /**
109
+ * Hides and destroys the popover of an element.
110
+ */
111
+ dispose() {
112
+ this.popover?.dispose();
113
+ }
114
+ /**
115
+ * Gives the popover of an element a chance to be shown.
116
+ */
117
+ enable() {
118
+ this.popover?.enable();
119
+ }
120
+ /**
121
+ * Removes the ability to show the popover of an element.
122
+ */
123
+ disable() {
124
+ this.popover?.disable();
125
+ }
126
+ /**
127
+ * Toggles the possibility that the popover of an element is shown or hidden.
128
+ */
129
+ toggleEnabled() {
130
+ this.popover?.disable();
131
+ }
132
+ /**
133
+ * Updates the position of an element's popover.
134
+ */
135
+ update() {
136
+ this.popover?.disable();
137
+ }
138
+ }
139
+ PopoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PopoverDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
140
+ PopoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: PopoverDirective, selector: "[itPopover]", inputs: { content: ["itPopover", "content"], title: ["popoverTitle", "title"], placement: ["popoverPlacement", "placement"], container: ["popoverContainer", "container"], html: ["popoverHtml", "html"], hover: ["popoverTrigger", "hover"] }, outputs: { onShow: "onShow", onShown: "onShown", onHide: "onHide", onHidden: "onHidden", onInserted: "onInserted" }, exportAs: ["itPopover"], ngImport: i0 });
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PopoverDirective, decorators: [{
142
+ type: Directive,
143
+ args: [{
144
+ selector: '[itPopover]',
145
+ exportAs: 'itPopover'
146
+ }]
147
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { content: [{
148
+ type: Input,
149
+ args: ['itPopover']
150
+ }], title: [{
151
+ type: Input,
152
+ args: ['popoverTitle']
153
+ }], placement: [{
154
+ type: Input,
155
+ args: ['popoverPlacement']
156
+ }], container: [{
157
+ type: Input,
158
+ args: ['popoverContainer']
159
+ }], html: [{
160
+ type: Input,
161
+ args: ['popoverHtml']
162
+ }], hover: [{
163
+ type: Input,
164
+ args: ['popoverTrigger']
165
+ }], onShow: [{
166
+ type: Output
167
+ }], onShown: [{
168
+ type: Output
169
+ }], onHide: [{
170
+ type: Output
171
+ }], onHidden: [{
172
+ type: Output
173
+ }], onInserted: [{
174
+ type: Output
175
+ }] } });
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvcG9wb3Zlci9wb3BvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRyxPQUFPLEVBQWdCLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQU0zQyxNQUFNLE9BQU8sZ0JBQWdCO0lBd0YzQixZQUNtQixXQUF1QjtRQUF2QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQTdCMUM7O1dBRUc7UUFDTyxXQUFNLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFM0Q7O1dBRUc7UUFDTyxZQUFPLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFNUQ7O1dBRUc7UUFDTyxXQUFNLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFM0Q7O1dBRUc7UUFDTyxhQUFRLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0Q7O1dBRUc7UUFDTyxlQUFVLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFRN0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztJQUNoRCxDQUFDO0lBMUZEOzs7T0FHRztJQUNILElBQXdCLE9BQU8sQ0FBQyxPQUFlO1FBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUEyQixLQUFLLENBQUMsS0FBeUI7UUFDeEQsSUFBSSxLQUFLLEVBQUU7WUFDVCw2Q0FBNkM7WUFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDNUQ7SUFDSCxDQUFDO0lBR0Q7OztPQUdHO0lBQ0gsSUFBK0IsU0FBUyxDQUFDLFNBQTJCO1FBQ2xFLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUErQixTQUFTLENBQUMsU0FBc0M7UUFDN0UsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUEwQixJQUFJLENBQUMsSUFBa0I7UUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQTZCLEtBQUssQ0FBQyxPQUEyRDtRQUM1RixJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztJQW9DRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXpELElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRDs7T0FFRztJQUNJLElBQUk7UUFDVCxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNJLElBQUk7UUFDVCxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU07UUFDWCxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU87UUFDWixJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU07UUFDWCxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU87UUFDWixJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNJLGFBQWE7UUFDbEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNO1FBQ1gsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs2R0EvSlUsZ0JBQWdCO2lHQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFKNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLFdBQVc7aUJBQ3RCO2lHQU95QixPQUFPO3NCQUE5QixLQUFLO3VCQUFDLFdBQVc7Z0JBUVMsS0FBSztzQkFBL0IsS0FBSzt1QkFBQyxjQUFjO2dCQVlVLFNBQVM7c0JBQXZDLEtBQUs7dUJBQUMsa0JBQWtCO2dCQVFNLFNBQVM7c0JBQXZDLEtBQUs7dUJBQUMsa0JBQWtCO2dCQVVDLElBQUk7c0JBQTdCLEtBQUs7dUJBQUMsYUFBYTtnQkFVUyxLQUFLO3NCQUFqQyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFTYixNQUFNO3NCQUFmLE1BQU07Z0JBS0csT0FBTztzQkFBaEIsTUFBTTtnQkFLRyxNQUFNO3NCQUFmLE1BQU07Z0JBS0csUUFBUTtzQkFBakIsTUFBTTtnQkFLRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVsZW1lbnRQbGFjZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBpc1RydWVCb29sZWFuSW5wdXQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9ib29sZWFuLWlucHV0JztcblxuaW1wb3J0IHsgUG9wb3ZlciB9IGZyb20gJ2Jvb3RzdHJhcC1pdGFsaWEnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbaXRQb3BvdmVyXScsXG4gIGV4cG9ydEFzOiAnaXRQb3BvdmVyJ1xufSlcbmV4cG9ydCBjbGFzcyBQb3BvdmVyRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgLyoqXG4gICAqIERlZmluZSB0aGUgcG9wb3ZlciBjb250ZW50XG4gICAqIEBwYXJhbSBjb250ZW50IHRoZSBwb3BvdmVyIGNvbnRlbnRcbiAgICovXG4gIEBJbnB1dCgnaXRQb3BvdmVyJykgc2V0IGNvbnRlbnQoY29udGVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1icy1jb250ZW50JywgY29udGVudCk7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIHRoZSBwb3BvdmVyIHRpdGxlXG4gICAqIEBwYXJhbSB0aXRsZSB0aGUgcG9wb3ZlciB0aXRsZVxuICAgKi9cbiAgQElucHV0KCdwb3BvdmVyVGl0bGUnKSBzZXQgdGl0bGUodGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh0aXRsZSkge1xuICAgICAgLy8gdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZShcInRpdGxlXCIsIHRpdGxlKTtcbiAgICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtYnMtb3JpZ2luYWwtdGl0bGUnLCB0aXRsZSk7XG4gICAgfVxuICB9XG5cblxuICAvKipcbiAgICogRGVmaW5lIHRoZSBwb3BvdmVyIHBsYWNlbWVudFxuICAgKiBAcGFyYW0gcGxhY2VtZW50XG4gICAqL1xuICBASW5wdXQoJ3BvcG92ZXJQbGFjZW1lbnQnKSBzZXQgcGxhY2VtZW50KHBsYWNlbWVudDogRWxlbWVudFBsYWNlbWVudCkge1xuICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtYnMtcGxhY2VtZW50JywgcGxhY2VtZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBlbmRzIHRoZSBwb3BvdmVyIHRvIGEgc3BlY2lmaWMgZWxlbWVudC5cbiAgICogQHBhcmFtIGNvbnRhaW5lclxuICAgKi9cbiAgQElucHV0KCdwb3BvdmVyQ29udGFpbmVyJykgc2V0IGNvbnRhaW5lcihjb250YWluZXI6ICdib2R5JyB8IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtY29udGFpbmVyJywgY29udGFpbmVyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHRpdGxlIGNvbnRhaW5zIGh0bWxcbiAgICogQHBhcmFtIGh0bWwgdHJ1ZSBpZiBjb250YWluIGh0bWxcbiAgICovXG4gIEBJbnB1dCgncG9wb3Zlckh0bWwnKSBzZXQgaHRtbChodG1sOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLWJzLWh0bWwnLCBpc1RydWVCb29sZWFuSW5wdXQoaHRtbCkgPyAndHJ1ZScgOiAnZmFsc2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb3cgcG9wb3ZlciBpcyB0cmlnZ2VyZWRcbiAgICogLSAnaG92ZXInOiBUbyBvcGVuIHRoZSBQb3BvdmVyIG9uIGhvdmVyIG9mIHRoZSBtb3VzZSBvdmVyIHRoZSBlbGVtZW50XG4gICAqIC0gJ2ZvY3VzJzogVG8gaWdub3JlIHBvcG92ZXJzIG9uIHRoZSB1c2VyJ3MgbmV4dCBjbGljayBvZiBhbiBlbGVtZW50IG90aGVyIHRoYW4gdGhlIHRvZ2dsZSBlbGVtZW50LlxuICAgKiBAcGFyYW0gdHJpZ2dlclxuICAgKi9cbiAgQElucHV0KCdwb3BvdmVyVHJpZ2dlcicpIHNldCBob3Zlcih0cmlnZ2VyOiAnY2xpY2snIHwgJ2hvdmVyJyB8ICdmb2N1cycgfCAnbWFudWFsJyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh0cmlnZ2VyKSB7XG4gICAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLWJzLXRyaWdnZXInLCB0cmlnZ2VyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBldmVudCBmaXJlcyBpbW1lZGlhdGVseSB3aGVuIHRoZSBzaG93IG1ldGhvZCBpcyBjYWxsZWQuXG4gICAqL1xuICBAT3V0cHV0KCkgb25TaG93OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGlzIHRyaWdnZXJlZCB3aGVuIHRoZSB0b29sdGlwIGhhcyBiZWVuIG1hZGUgdmlzaWJsZSB0byB0aGUgdXNlciAoaXQgd2lsbCB3YWl0IGZvciB0aGUgQ1NTIHRyYW5zaXRpb25zIHRvIGNvbXBsZXRlKS5cbiAgICovXG4gIEBPdXRwdXQoKSBvblNob3duOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGZpcmVzIGltbWVkaWF0ZWx5IHdoZW4gdGhlIGhpZGUgbWV0aG9kIGlzIGNhbGxlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBvbkhpZGU6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgcmFpc2VkIHdoZW4gdGhlIHRvb2x0aXAgaGFzIGZpbmlzaGVkIGJlaW5nIGhpZGRlbiBmcm9tIHRoZSB1c2VyIChpdCB3aWxsIHdhaXQgZm9yIHRoZSBDU1MgdHJhbnNpdGlvbnMgdG8gY29tcGxldGUpLlxuICAgKi9cbiAgQE91dHB1dCgpIG9uSGlkZGVuOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGZpcmVzIGFmdGVyIHRoZSBzaG93IGV2ZW50IHdoZW4gdGhlIHRvb2x0aXAgdGVtcGxhdGUgaGFzIGJlZW4gYWRkZWQgdG8gdGhlIERPTS5cbiAgICovXG4gIEBPdXRwdXQoKSBvbkluc2VydGVkOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgcG9wb3Zlcj86IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICkge1xuICAgIHRoaXMuZWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLWJzLXRvZ2dsZScsICdwb3BvdmVyJyk7XG4gICAgdGhpcy5wb3BvdmVyID0gUG9wb3Zlci5nZXRPckNyZWF0ZUluc3RhbmNlKHRoaXMuZWxlbWVudCk7XG5cbiAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2hvdy5icy5wb3BvdmVyJywgZXZlbnQgPT4gdGhpcy5vblNob3cuZW1pdChldmVudCkpO1xuICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzaG93bi5icy5wb3BvdmVyJywgZXZlbnQgPT4gdGhpcy5vblNob3duLmVtaXQoZXZlbnQpKTtcbiAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignaGlkZS5icy5wb3BvdmVyJywgZXZlbnQgPT4gdGhpcy5vbkhpZGUuZW1pdChldmVudCkpO1xuICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdoaWRkZW4uYnMucG9wb3ZlcicsIGV2ZW50ID0+IHRoaXMub25IaWRkZW4uZW1pdChldmVudCkpO1xuICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdpbnNlcnRlZC5icy5wb3BvdmVyJywgZXZlbnQgPT4gdGhpcy5vbkluc2VydGVkLmVtaXQoZXZlbnQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaG93cyB0aGUgcG9wb3ZlciBvZiBhbiBpdGVtLlxuICAgKi9cbiAgcHVibGljIHNob3coKTogdm9pZCB7XG4gICAgdGhpcy5wb3BvdmVyPy5zaG93KCk7XG4gIH1cblxuICAvKipcbiAgICogSGlkZSB0aGUgcG9wb3ZlciBvZiBhbiBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5wb3BvdmVyPy5oaWRlKCk7XG4gIH1cblxuICAvKipcbiAgICogQWN0aXZhdGUgLyBEZWFjdGl2YXRlIHRoZSBwb3BvdmVyIG9mIGFuIGVsZW1lbnRcbiAgICovXG4gIHB1YmxpYyB0b2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5wb3BvdmVyPy50b2dnbGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIaWRlcyBhbmQgZGVzdHJveXMgdGhlIHBvcG92ZXIgb2YgYW4gZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBkaXNwb3NlKCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3Zlcj8uZGlzcG9zZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdpdmVzIHRoZSBwb3BvdmVyIG9mIGFuIGVsZW1lbnQgYSBjaGFuY2UgdG8gYmUgc2hvd24uXG4gICAqL1xuICBwdWJsaWMgZW5hYmxlKCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3Zlcj8uZW5hYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyB0aGUgYWJpbGl0eSB0byBzaG93IHRoZSBwb3BvdmVyIG9mIGFuIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZGlzYWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXI/LmRpc2FibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSBwb3NzaWJpbGl0eSB0aGF0IHRoZSBwb3BvdmVyIG9mIGFuIGVsZW1lbnQgaXMgc2hvd24gb3IgaGlkZGVuLlxuICAgKi9cbiAgcHVibGljIHRvZ2dsZUVuYWJsZWQoKTogdm9pZCB7XG4gICAgdGhpcy5wb3BvdmVyPy5kaXNhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgcG9zaXRpb24gb2YgYW4gZWxlbWVudCdzIHBvcG92ZXIuXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlKCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3Zlcj8uZGlzYWJsZSgpO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,34 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { isTrueBooleanInput } from '../../../utils/boolean-input';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@ngx-translate/core";
6
+ export class ProgressBarComponent {
7
+ /**
8
+ * Return the background color
9
+ */
10
+ get bgColor() {
11
+ if (!this.color) {
12
+ return '';
13
+ }
14
+ return ` bg-${this.color}`;
15
+ }
16
+ get isIndeterminate() {
17
+ return isTrueBooleanInput(this.indeterminate);
18
+ }
19
+ }
20
+ ProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
+ ProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ProgressBarComponent, selector: "it-progress-bar[value]", inputs: { value: "value", showLabel: "showLabel", indeterminate: "indeterminate", color: "color" }, ngImport: i0, template: "<div class=\"progress-bar-wrapper\">\n <div *ngIf=\"showLabel\" class=\"progress-bar-label\">\n <span class=\"visually-hidden\">{{'it.core.progress'|translate}} </span>{{value}}%\n </div>\n <div class=\"progress\"\n [class.progress-color]=\"!!color\"\n [class.progress-indeterminate]=\"isIndeterminate\">\n\n <div *ngIf=\"isIndeterminate; else determinate\" class=\"progress-bar{{bgColor}}\" role=\"progressbar\"></div>\n <ng-template #determinate>\n <div class=\"progress-bar{{bgColor}}\" role=\"progressbar\" [style.width.%]=\"value\"\n [attr.aria-valuenow]=\"value\" aria-valuemin=\"0\" aria-valuemax=\"100\"></div>\n </ng-template>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ProgressBarComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'it-progress-bar[value]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"progress-bar-wrapper\">\n <div *ngIf=\"showLabel\" class=\"progress-bar-label\">\n <span class=\"visually-hidden\">{{'it.core.progress'|translate}} </span>{{value}}%\n </div>\n <div class=\"progress\"\n [class.progress-color]=\"!!color\"\n [class.progress-indeterminate]=\"isIndeterminate\">\n\n <div *ngIf=\"isIndeterminate; else determinate\" class=\"progress-bar{{bgColor}}\" role=\"progressbar\"></div>\n <ng-template #determinate>\n <div class=\"progress-bar{{bgColor}}\" role=\"progressbar\" [style.width.%]=\"value\"\n [attr.aria-valuenow]=\"value\" aria-valuemin=\"0\" aria-valuemax=\"100\"></div>\n </ng-template>\n </div>\n</div>\n" }]
25
+ }], propDecorators: { value: [{
26
+ type: Input
27
+ }], showLabel: [{
28
+ type: Input
29
+ }], indeterminate: [{
30
+ type: Input
31
+ }], color: [{
32
+ type: Input
33
+ }] } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBZ0Isa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQVFoRixNQUFNLE9BQU8sb0JBQW9CO0lBc0IvQjs7T0FFRztJQUNILElBQUksT0FBTztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELE9BQU8sT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNoRCxDQUFDOztpSEFuQ1Usb0JBQW9CO3FHQUFwQixvQkFBb0Isa0tDVmpDLDJyQkFlQTsyRkRMYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNOzhCQU90QyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxhQUFhO3NCQUFyQixLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9ncmVzc0JhckNvbG9yIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9jb3JlJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgaXNUcnVlQm9vbGVhbklucHV0IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYm9vbGVhbi1pbnB1dCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l0LXByb2dyZXNzLWJhclt2YWx1ZV0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFByb2dyZXNzQmFyQ29tcG9uZW50IHtcblxuICAvKipcbiAgICogVGhlIHByb2dyZXNzIGJhciB2YWx1ZSBbMCwgMTAwXVxuICAgKi9cbiAgQElucHV0KCkgdmFsdWUhOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNob3cgdGhlIHByb2dyZXNzIGxhYmVsXG4gICAqL1xuICBASW5wdXQoKSBzaG93TGFiZWw/OiBCb29sZWFuSW5wdXQ7XG5cbiAgLyoqXG4gICAqIFNob3cgdGhlIHByb2dyZXNzIGFzIGluZGV0ZXJtaW5hdGVcbiAgICovXG4gIEBJbnB1dCgpIGluZGV0ZXJtaW5hdGU/OiBCb29sZWFuSW5wdXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBwcm9ncmVzcyBiYXIgY29sb3JcbiAgICovXG4gIEBJbnB1dCgpIGNvbG9yPzogUHJvZ3Jlc3NCYXJDb2xvcjtcblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBiYWNrZ3JvdW5kIGNvbG9yXG4gICAqL1xuICBnZXQgYmdDb2xvcigpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5jb2xvcikge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIHJldHVybiBgIGJnLSR7dGhpcy5jb2xvcn1gO1xuICB9XG5cbiAgZ2V0IGlzSW5kZXRlcm1pbmF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNUcnVlQm9vbGVhbklucHV0KHRoaXMuaW5kZXRlcm1pbmF0ZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwcm9ncmVzcy1iYXItd3JhcHBlclwiPlxuICA8ZGl2ICpuZ0lmPVwic2hvd0xhYmVsXCIgY2xhc3M9XCJwcm9ncmVzcy1iYXItbGFiZWxcIj5cbiAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPnt7J2l0LmNvcmUucHJvZ3Jlc3MnfHRyYW5zbGF0ZX19IDwvc3Bhbj57e3ZhbHVlfX0lXG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NcIlxuICAgICAgIFtjbGFzcy5wcm9ncmVzcy1jb2xvcl09XCIhIWNvbG9yXCJcbiAgICAgICBbY2xhc3MucHJvZ3Jlc3MtaW5kZXRlcm1pbmF0ZV09XCJpc0luZGV0ZXJtaW5hdGVcIj5cblxuICAgIDxkaXYgKm5nSWY9XCJpc0luZGV0ZXJtaW5hdGU7IGVsc2UgZGV0ZXJtaW5hdGVcIiBjbGFzcz1cInByb2dyZXNzLWJhcnt7YmdDb2xvcn19XCIgcm9sZT1cInByb2dyZXNzYmFyXCI+PC9kaXY+XG4gICAgPG5nLXRlbXBsYXRlICNkZXRlcm1pbmF0ZT5cbiAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1iYXJ7e2JnQ29sb3J9fVwiIHJvbGU9XCJwcm9ncmVzc2JhclwiIFtzdHlsZS53aWR0aC4lXT1cInZhbHVlXCJcbiAgICAgICAgICAgW2F0dHIuYXJpYS12YWx1ZW5vd109XCJ2YWx1ZVwiIGFyaWEtdmFsdWVtaW49XCIwXCIgYXJpYS12YWx1ZW1heD1cIjEwMFwiPjwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { isTrueBooleanInput } from '../../../utils/boolean-input';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../progress-bar/progress-bar.component";
6
+ export class ProgressButtonComponent {
7
+ get isProgress() {
8
+ return typeof this.progress === 'number' || isTrueBooleanInput(this.progress);
9
+ }
10
+ get progressValue() {
11
+ return typeof this.progress === 'number' ? this.progress : 0;
12
+ }
13
+ get isIndeterminate() {
14
+ return typeof this.progress !== 'number' && isTrueBooleanInput(this.progress);
15
+ }
16
+ }
17
+ ProgressButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ProgressButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
+ ProgressButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ProgressButtonComponent, selector: "button[itButton][progress]", inputs: { progress: "progress", progressColor: "progressColor" }, ngImport: i0, template: "<ng-content></ng-content>\n\n<it-progress-bar *ngIf=\"isProgress\"\n [value]=\"progressValue\"\n [indeterminate]=\"isIndeterminate\"\n [color]=\"progressColor\"></it-progress-bar>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ProgressBarComponent, selector: "it-progress-bar[value]", inputs: ["value", "showLabel", "indeterminate", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ProgressButtonComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: 'button[itButton][progress]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n\n<it-progress-bar *ngIf=\"isProgress\"\n [value]=\"progressValue\"\n [indeterminate]=\"isIndeterminate\"\n [color]=\"progressColor\"></it-progress-bar>\n" }]
22
+ }], propDecorators: { progress: [{
23
+ type: Input
24
+ }], progressColor: [{
25
+ type: Input
26
+ }] } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9wcm9ncmVzcy1idXR0b24vcHJvZ3Jlc3MtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9wcm9ncmVzcy1idXR0b24vcHJvZ3Jlc3MtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBZ0Isa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQVNoRixNQUFNLE9BQU8sdUJBQXVCO0lBZ0JsQyxJQUFJLFVBQVU7UUFDWixPQUFPLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEYsQ0FBQzs7b0hBMUJVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLG9JQ1ZwQyx1T0FNQTsyRkRJYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNOzhCQVd0QyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBpc1RydWVCb29sZWFuSW5wdXQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9ib29sZWFuLWlucHV0JztcbmltcG9ydCB7IFByb2dyZXNzQmFyQ29sb3IgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdidXR0b25baXRCdXR0b25dW3Byb2dyZXNzXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmVzcy1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9ncmVzcy1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3NCdXR0b25Db21wb25lbnQge1xuXG4gIC8qKlxuICAgKiBCZWhhdmlvciBvZiB0aGUgcHJvZ3Jlc3MgYmFyXG4gICAqIC0gPGI+dHJ1ZTwvYj46IFNob3cgaW5kZXRlcm1pbmF0ZSBwcm9ncmVzcyBiYXJcbiAgICogLSA8Yj5mYWxzZTwvYj4gb3IgPGI+dW5kZWZpbmVkPC9iPjogSGlkZSBwcm9ncmVzcyBiYXJcbiAgICogLSA8Yj5udW1iZXI8L2I+IFswLCAxMDBdOiBBc3NpZ24gYSBzcGVjaWZpYyB2YWx1ZSB0byB0aGUgcHJvZ3Jlc3MgYmFyXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgQElucHV0KCkgcHJvZ3Jlc3M/OiBudW1iZXIgfCBCb29sZWFuSW5wdXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBwcm9ncmVzcyBiYXIgY29sb3JcbiAgICovXG4gIEBJbnB1dCgpIHByb2dyZXNzQ29sb3I/OiBQcm9ncmVzc0JhckNvbG9yO1xuXG4gIGdldCBpc1Byb2dyZXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy5wcm9ncmVzcyA9PT0gJ251bWJlcicgfHwgaXNUcnVlQm9vbGVhbklucHV0KHRoaXMucHJvZ3Jlc3MpO1xuICB9XG5cbiAgZ2V0IHByb2dyZXNzVmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMucHJvZ3Jlc3MgPT09ICdudW1iZXInID8gdGhpcy5wcm9ncmVzcyA6IDA7XG4gIH1cblxuICBnZXQgaXNJbmRldGVybWluYXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy5wcm9ncmVzcyAhPT0gJ251bWJlcicgJiYgaXNUcnVlQm9vbGVhbklucHV0KHRoaXMucHJvZ3Jlc3MpO1xuICB9XG5cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuPGl0LXByb2dyZXNzLWJhciAqbmdJZj1cImlzUHJvZ3Jlc3NcIlxuICAgICAgICAgICAgICAgICBbdmFsdWVdPVwicHJvZ3Jlc3NWYWx1ZVwiXG4gICAgICAgICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cImlzSW5kZXRlcm1pbmF0ZVwiXG4gICAgICAgICAgICAgICAgIFtjb2xvcl09XCJwcm9ncmVzc0NvbG9yXCI+PC9pdC1wcm9ncmVzcy1iYXI+XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { isTrueBooleanInput } from "../../../utils/boolean-input";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@ngx-translate/core";
6
+ export class SpinnerComponent {
7
+ constructor() {
8
+ /**
9
+ * The spinner is active
10
+ */
11
+ this.active = true;
12
+ }
13
+ get isActive() {
14
+ return isTrueBooleanInput(this.active);
15
+ }
16
+ get isSmall() {
17
+ return isTrueBooleanInput(this.small);
18
+ }
19
+ get isDouble() {
20
+ return isTrueBooleanInput(this.double);
21
+ }
22
+ }
23
+ SpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
+ SpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: SpinnerComponent, selector: "it-spinner", inputs: { active: "active", small: "small", double: "double" }, ngImport: i0, template: "<div class=\"progress-spinner\"\n [class.progress-spinner-double]=\"isDouble\"\n [class.progress-spinner-active]=\"isActive\"\n [class.size-sm]=\"isSmall\">\n <div *ngIf=\"isDouble\" class=\"progress-spinner-inner\"></div>\n <div *ngIf=\"isDouble\" class=\"progress-spinner-inner\"></div>\n <span class=\"visually-hidden\">{{'it.core.loading'|translate}}...</span>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SpinnerComponent, decorators: [{
26
+ type: Component,
27
+ args: [{ selector: 'it-spinner', template: "<div class=\"progress-spinner\"\n [class.progress-spinner-double]=\"isDouble\"\n [class.progress-spinner-active]=\"isActive\"\n [class.size-sm]=\"isSmall\">\n <div *ngIf=\"isDouble\" class=\"progress-spinner-inner\"></div>\n <div *ngIf=\"isDouble\" class=\"progress-spinner-inner\"></div>\n <span class=\"visually-hidden\">{{'it.core.loading'|translate}}...</span>\n</div>\n" }]
28
+ }], propDecorators: { active: [{
29
+ type: Input
30
+ }], small: [{
31
+ type: Input
32
+ }], double: [{
33
+ type: Input
34
+ }] } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFlLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7Ozs7QUFPOUUsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQU9FOztXQUVHO1FBQ00sV0FBTSxHQUFpQixJQUFJLENBQUM7S0F3QnRDO0lBWkMsSUFBSSxRQUFRO1FBQ1YsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QyxDQUFDOzs2R0EzQlUsZ0JBQWdCO2lHQUFoQixnQkFBZ0Isa0hDUjdCLHVZQVFBOzJGREFhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxZQUFZOzhCQVNiLE1BQU07c0JBQWQsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Qm9vbGVhbklucHV0LCBpc1RydWVCb29sZWFuSW5wdXR9IGZyb20gXCIuLi8uLi8uLi91dGlscy9ib29sZWFuLWlucHV0XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l0LXNwaW5uZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc3Bpbm5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NwaW5uZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTcGlubmVyQ29tcG9uZW50IHtcblxuICAvKipcbiAgICogVGhlIHNwaW5uZXIgaXMgYWN0aXZlXG4gICAqL1xuICBASW5wdXQoKSBhY3RpdmU6IEJvb2xlYW5JbnB1dCA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFNob3cgYSBzbWFsbCBzcGlubmVyXG4gICAqL1xuICBASW5wdXQoKSBzbWFsbD86IEJvb2xlYW5JbnB1dDtcblxuICAvKipcbiAgICogU2hvdyB0aGUgZG91YmxlIGFuaW1hdGlvblxuICAgKi9cbiAgQElucHV0KCkgZG91YmxlPzogQm9vbGVhbklucHV0O1xuXG4gIGdldCBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNUcnVlQm9vbGVhbklucHV0KHRoaXMuYWN0aXZlKTtcbiAgfVxuXG4gIGdldCBpc1NtYWxsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1RydWVCb29sZWFuSW5wdXQodGhpcy5zbWFsbCk7XG4gIH1cblxuICBnZXQgaXNEb3VibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzVHJ1ZUJvb2xlYW5JbnB1dCh0aGlzLmRvdWJsZSk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInByb2dyZXNzLXNwaW5uZXJcIlxuICAgICBbY2xhc3MucHJvZ3Jlc3Mtc3Bpbm5lci1kb3VibGVdPVwiaXNEb3VibGVcIlxuICAgICBbY2xhc3MucHJvZ3Jlc3Mtc3Bpbm5lci1hY3RpdmVdPVwiaXNBY3RpdmVcIlxuICAgICBbY2xhc3Muc2l6ZS1zbV09XCJpc1NtYWxsXCI+XG4gIDxkaXYgKm5nSWY9XCJpc0RvdWJsZVwiIGNsYXNzPVwicHJvZ3Jlc3Mtc3Bpbm5lci1pbm5lclwiPjwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiaXNEb3VibGVcIiBjbGFzcz1cInByb2dyZXNzLXNwaW5uZXItaW5uZXJcIj48L2Rpdj5cbiAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj57eydpdC5jb3JlLmxvYWRpbmcnfHRyYW5zbGF0ZX19Li4uPC9zcGFuPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,33 @@
1
+ import { Component, ContentChildren, Input } from '@angular/core';
2
+ import { isTrueBooleanInput } from "../../../../utils/boolean-input";
3
+ import { TabItemComponent } from "../tab-item/tab-item.component";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "../../../utils/icon/icon.component";
7
+ export class TabContainerComponent {
8
+ constructor(_changeDetectorRef) {
9
+ this._changeDetectorRef = _changeDetectorRef;
10
+ }
11
+ isTrueBooleanInput(booleanInput) {
12
+ return isTrueBooleanInput(booleanInput);
13
+ }
14
+ ngAfterViewInit() {
15
+ this._changeDetectorRef.detectChanges();
16
+ }
17
+ }
18
+ TabContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TabContainerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
19
+ TabContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TabContainerComponent, selector: "it-tab-container", inputs: { auto: "auto", iconText: "iconText", dark: "dark" }, queries: [{ propertyName: "tabs", predicate: TabItemComponent }], ngImport: i0, template: "<ul class=\"nav nav-tabs\"\n [class.auto]=\"isTrueBooleanInput(auto)\"\n [class.nav-tabs-icon-text]=\"isTrueBooleanInput(iconText)\"\n [class.nav-dark]=\"isTrueBooleanInput(dark)\"\n role=\"tablist\">\n\n <li class=\"nav-item\" *ngFor=\"let tab of tabs\">\n <a [id]=\"tab.id+'-tab-link'\"\n role=\"tab\"\n data-bs-toggle=\"tab\"\n class=\"nav-link\"\n [class.active]=\"isTrueBooleanInput(tab.active)\"\n [class.disabled]=\"isTrueBooleanInput(tab.disabled)\"\n [attr.href]=\"'#'+tab.id+'-tab'\"\n [attr.aria-controls]=\"tab.id+'-tab'\">\n <it-icon *ngIf=\"tab.icon\" [name]=\"tab.icon\"></it-icon>\n {{tab.label}}\n </a>\n </li>\n</ul>\n\n<div class=\"tab-content\">\n <div *ngFor=\"let tab of tabs\"\n [id]=\"tab.id+'-tab'\"\n class=\"tab-pane fade {{tab.class ?? ''}}\"\n [class.active]=\"isTrueBooleanInput(tab.active)\"\n [class.show]=\"isTrueBooleanInput(tab.active)\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tab.id+'-tab-link'\">\n <ng-container *ngTemplateOutlet=\"tab.htmlContent\"></ng-container>\n </div>\n</div>\n", styles: [""], 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: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }] });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TabContainerComponent, decorators: [{
21
+ type: Component,
22
+ args: [{ selector: 'it-tab-container', template: "<ul class=\"nav nav-tabs\"\n [class.auto]=\"isTrueBooleanInput(auto)\"\n [class.nav-tabs-icon-text]=\"isTrueBooleanInput(iconText)\"\n [class.nav-dark]=\"isTrueBooleanInput(dark)\"\n role=\"tablist\">\n\n <li class=\"nav-item\" *ngFor=\"let tab of tabs\">\n <a [id]=\"tab.id+'-tab-link'\"\n role=\"tab\"\n data-bs-toggle=\"tab\"\n class=\"nav-link\"\n [class.active]=\"isTrueBooleanInput(tab.active)\"\n [class.disabled]=\"isTrueBooleanInput(tab.disabled)\"\n [attr.href]=\"'#'+tab.id+'-tab'\"\n [attr.aria-controls]=\"tab.id+'-tab'\">\n <it-icon *ngIf=\"tab.icon\" [name]=\"tab.icon\"></it-icon>\n {{tab.label}}\n </a>\n </li>\n</ul>\n\n<div class=\"tab-content\">\n <div *ngFor=\"let tab of tabs\"\n [id]=\"tab.id+'-tab'\"\n class=\"tab-pane fade {{tab.class ?? ''}}\"\n [class.active]=\"isTrueBooleanInput(tab.active)\"\n [class.show]=\"isTrueBooleanInput(tab.active)\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tab.id+'-tab-link'\">\n <ng-container *ngTemplateOutlet=\"tab.htmlContent\"></ng-container>\n </div>\n</div>\n" }]
23
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { auto: [{
24
+ type: Input
25
+ }], iconText: [{
26
+ type: Input
27
+ }], dark: [{
28
+ type: Input
29
+ }], tabs: [{
30
+ type: ContentChildren,
31
+ args: [TabItemComponent]
32
+ }] } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvdGFiL3RhYi1jb250YWluZXIvdGFiLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvdGFiL3RhYi1jb250YWluZXIvdGFiLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1DLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBZSxrQkFBa0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDOzs7O0FBT2hFLE1BQU0sT0FBTyxxQkFBcUI7SUFzQmhDLFlBQ21CLGtCQUFxQztRQUFyQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO0lBRXhELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxZQUEyQjtRQUM1QyxPQUFPLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFDLENBQUM7O2tIQWpDVSxxQkFBcUI7c0dBQXJCLHFCQUFxQiwySUFvQmYsZ0JBQWdCLDZCQzdCbkMseW5DQWdDQTsyRkR2QmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGtCQUFrQjt3R0FTbkIsSUFBSTtzQkFBWixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUs2QixJQUFJO3NCQUF0QyxlQUFlO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBJbnB1dCwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Qm9vbGVhbklucHV0LCBpc1RydWVCb29sZWFuSW5wdXR9IGZyb20gXCIuLi8uLi8uLi8uLi91dGlscy9ib29sZWFuLWlucHV0XCI7XG5pbXBvcnQge1RhYkl0ZW1Db21wb25lbnR9IGZyb20gXCIuLi90YWItaXRlbS90YWItaXRlbS5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXQtdGFiLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFiLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhYkNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIC8qKlxuICAgKiBUYWJzIGF1dG9tYXRpY2FsbHkgb2NjdXB5IHRoZSBlbnRpcmUgYXZhaWxhYmxlIHdpZHRoXG4gICAqL1xuICBASW5wdXQoKSBhdXRvPzogQm9vbGVhbklucHV0O1xuXG4gIC8qKlxuICAgKiBUbyBvYnRhaW4gdGhlIGNvcnJlY3QgbWFyZ2luIGJldHdlZW4gdGV4dCBhbmQgaWNvbiBpbiB0aGUgaG9yaXpvbnRhbGx5IGRldmVsb3BlZCB0YWJcbiAgICovXG4gIEBJbnB1dCgpIGljb25UZXh0PzogQm9vbGVhbklucHV0O1xuXG4gIC8qKlxuICAgKiBEYXJrIHN0eWxlXG4gICAqL1xuICBASW5wdXQoKSBkYXJrPzogQm9vbGVhbklucHV0O1xuXG4gIC8qKlxuICAgKiBUaGUgdGFiIGl0ZW1zXG4gICAqL1xuICBAQ29udGVudENoaWxkcmVuKFRhYkl0ZW1Db21wb25lbnQpIHRhYnM/OiBRdWVyeUxpc3Q8VGFiSXRlbUNvbXBvbmVudD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICB9XG5cbiAgaXNUcnVlQm9vbGVhbklucHV0KGJvb2xlYW5JbnB1dD86IEJvb2xlYW5JbnB1dCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1RydWVCb29sZWFuSW5wdXQoYm9vbGVhbklucHV0KVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPHVsIGNsYXNzPVwibmF2IG5hdi10YWJzXCJcbiAgICBbY2xhc3MuYXV0b109XCJpc1RydWVCb29sZWFuSW5wdXQoYXV0bylcIlxuICAgIFtjbGFzcy5uYXYtdGFicy1pY29uLXRleHRdPVwiaXNUcnVlQm9vbGVhbklucHV0KGljb25UZXh0KVwiXG4gICAgW2NsYXNzLm5hdi1kYXJrXT1cImlzVHJ1ZUJvb2xlYW5JbnB1dChkYXJrKVwiXG4gICAgcm9sZT1cInRhYmxpc3RcIj5cblxuICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFic1wiPlxuICAgIDxhIFtpZF09XCJ0YWIuaWQrJy10YWItbGluaydcIlxuICAgICAgIHJvbGU9XCJ0YWJcIlxuICAgICAgIGRhdGEtYnMtdG9nZ2xlPVwidGFiXCJcbiAgICAgICBjbGFzcz1cIm5hdi1saW5rXCJcbiAgICAgICBbY2xhc3MuYWN0aXZlXT1cImlzVHJ1ZUJvb2xlYW5JbnB1dCh0YWIuYWN0aXZlKVwiXG4gICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImlzVHJ1ZUJvb2xlYW5JbnB1dCh0YWIuZGlzYWJsZWQpXCJcbiAgICAgICBbYXR0ci5ocmVmXT1cIicjJyt0YWIuaWQrJy10YWInXCJcbiAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cInRhYi5pZCsnLXRhYidcIj5cbiAgICAgIDxpdC1pY29uICpuZ0lmPVwidGFiLmljb25cIiBbbmFtZV09XCJ0YWIuaWNvblwiPjwvaXQtaWNvbj5cbiAgICAgIHt7dGFiLmxhYmVsfX1cbiAgICA8L2E+XG4gIDwvbGk+XG48L3VsPlxuXG48ZGl2IGNsYXNzPVwidGFiLWNvbnRlbnRcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnNcIlxuICAgICAgIFtpZF09XCJ0YWIuaWQrJy10YWInXCJcbiAgICAgICBjbGFzcz1cInRhYi1wYW5lIGZhZGUge3t0YWIuY2xhc3MgPz8gJyd9fVwiXG4gICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpc1RydWVCb29sZWFuSW5wdXQodGFiLmFjdGl2ZSlcIlxuICAgICAgIFtjbGFzcy5zaG93XT1cImlzVHJ1ZUJvb2xlYW5JbnB1dCh0YWIuYWN0aXZlKVwiXG4gICAgICAgcm9sZT1cInRhYnBhbmVsXCJcbiAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwidGFiLmlkKyctdGFiLWxpbmsnXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYi5odG1sQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,36 @@
1
+ import { Component, Input, TemplateRef, ViewChild } from '@angular/core';
2
+ import { AbstractComponent } from "../../../../abstracts/abstract.component";
3
+ import * as i0 from "@angular/core";
4
+ export class TabItemComponent extends AbstractComponent {
5
+ constructor() {
6
+ super(...arguments);
7
+ /**
8
+ * Custom class
9
+ */
10
+ this.class = '';
11
+ }
12
+ ngAfterViewInit() {
13
+ super.ngAfterViewInit();
14
+ this._renderer.removeAttribute(this._elementRef.nativeElement, 'class');
15
+ }
16
+ }
17
+ TabItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TabItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
18
+ TabItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TabItemComponent, selector: "it-tab-item[id]", inputs: { label: "label", icon: "icon", active: "active", disabled: "disabled", class: "class" }, viewQueries: [{ propertyName: "htmlContent", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n", styles: [""] });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TabItemComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: 'it-tab-item[id]', template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }]
22
+ }], propDecorators: { label: [{
23
+ type: Input
24
+ }], icon: [{
25
+ type: Input
26
+ }], active: [{
27
+ type: Input
28
+ }], disabled: [{
29
+ type: Input
30
+ }], class: [{
31
+ type: Input
32
+ }], htmlContent: [{
33
+ type: ViewChild,
34
+ args: [TemplateRef]
35
+ }] } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL3RhYi90YWItaXRlbS90YWItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvdGFiL3RhYi1pdGVtL3RhYi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMENBQTBDLENBQUM7O0FBUzNFLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxpQkFBaUI7SUFMdkQ7O1FBMkJFOztXQUVHO1FBQ00sVUFBSyxHQUFXLEVBQUUsQ0FBQTtLQVk1QjtJQUpVLGVBQWU7UUFDdEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzFFLENBQUM7OzZHQXBDVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQixzTUE4QmhCLFdBQVcsdUVDeEN4Qiw4REFHQTsyRkRPYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsaUJBQWlCOzhCQVNsQixLQUFLO3NCQUFiLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFNQyxXQUFXO3NCQURqQixTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdENvbXBvbmVudH0gZnJvbSBcIi4uLy4uLy4uLy4uL2Fic3RyYWN0cy9hYnN0cmFjdC5jb21wb25lbnRcIjtcbmltcG9ydCB7Qm9vbGVhbklucHV0fSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbHMvYm9vbGVhbi1pbnB1dFwiO1xuaW1wb3J0IHtJY29uTmFtZX0gZnJvbSBcIi4uLy4uLy4uLy4uL2ludGVyZmFjZXMvaWNvblwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpdC10YWItaXRlbVtpZF0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWItaXRlbS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRhYkl0ZW1Db21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdENvbXBvbmVudCB7XG5cbiAgLyoqXG4gICAqIFRoZSB0YWIgbGFiZWxcbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaWNvbiBuYW1lXG4gICAqL1xuICBASW5wdXQoKSBpY29uPzogSWNvbk5hbWU7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgYWN0aXZlIHRhYlxuICAgKi9cbiAgQElucHV0KCkgYWN0aXZlPzogQm9vbGVhbklucHV0O1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IGRpc2FibGVkIHRhYlxuICAgKi9cbiAgQElucHV0KCkgZGlzYWJsZWQ/OiBCb29sZWFuSW5wdXQ7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBjbGFzc1xuICAgKi9cbiAgQElucHV0KCkgY2xhc3M6IHN0cmluZyA9ICcnXG5cbiAgLyoqXG4gICAqIFRoZSBjb250ZW50IG9mIHRhYlxuICAgKi9cbiAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZilcbiAgcHVibGljIGh0bWxDb250ZW50ITogVGVtcGxhdGVSZWY8YW55PjtcblxuICBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2NsYXNzJyk7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==