design-angular-kit 1.0.0-16 → 1.0.0-18

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 +31 -6
  2. package/assets/i18n/en.json +4 -1
  3. package/assets/i18n/it.json +4 -1
  4. package/esm2022/lib/abstracts/abstract-form.component.mjs +186 -0
  5. package/esm2022/lib/abstracts/abstract.component.mjs +45 -0
  6. package/esm2022/lib/components/components.module.mjs +188 -0
  7. package/esm2022/lib/components/core/accordion/accordion.component.mjs +38 -0
  8. package/esm2022/lib/components/core/alert/alert.component.mjs +74 -0
  9. package/esm2022/lib/components/core/badge/badge.directive.mjs +38 -0
  10. package/esm2022/lib/components/core/button/button.directive.mjs +85 -0
  11. package/esm2022/lib/components/core/callout/callout.component.mjs +57 -0
  12. package/esm2022/lib/components/core/card/card.component.mjs +64 -0
  13. package/esm2022/lib/components/core/carousel/carousel/carousel.component.mjs +89 -0
  14. package/esm2022/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +19 -0
  15. package/esm2022/lib/components/core/carousel/carousel.module.mjs +23 -0
  16. package/esm2022/lib/components/core/chip/chip.component.mjs +96 -0
  17. package/esm2022/lib/components/core/collapse/collapse.component.mjs +101 -0
  18. package/esm2022/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +24 -0
  19. package/esm2022/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +11 -0
  20. package/esm2022/lib/components/core/dimmer/dimmer.component.mjs +59 -0
  21. package/esm2022/lib/components/core/dimmer/dimmer.module.mjs +27 -0
  22. package/esm2022/lib/components/core/dropdown/dropdown/dropdown.component.mjs +143 -0
  23. package/esm2022/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +68 -0
  24. package/esm2022/lib/components/core/dropdown/dropdown.module.mjs +18 -0
  25. package/esm2022/lib/components/core/forward/forward.directive.mjs +53 -0
  26. package/esm2022/lib/components/core/link/link.component.mjs +46 -0
  27. package/esm2022/lib/components/core/list/list/list.component.mjs +17 -0
  28. package/esm2022/lib/components/core/list/list-item/list-item.component.mjs +40 -0
  29. package/esm2022/lib/components/core/list/list.module.mjs +23 -0
  30. package/esm2022/lib/components/core/modal/modal.component.mjs +164 -0
  31. package/esm2022/lib/components/core/notifications/notifications.component.mjs +111 -0
  32. package/esm2022/lib/components/core/pagination/pagination.component.mjs +133 -0
  33. package/esm2022/lib/components/core/popover/popover.directive.mjs +175 -0
  34. package/esm2022/lib/components/core/progress-bar/progress-bar.component.mjs +35 -0
  35. package/esm2022/lib/components/core/progress-button/progress-button.component.mjs +27 -0
  36. package/esm2022/lib/components/core/spinner/spinner.component.mjs +36 -0
  37. package/esm2022/lib/components/core/steppers/steppers-container/steppers-container.component.mjs +138 -0
  38. package/esm2022/lib/components/core/steppers/steppers-item/steppers-item.component.mjs +19 -0
  39. package/esm2022/lib/components/core/steppers/steppers.module.mjs +23 -0
  40. package/esm2022/lib/components/core/tab/tab-container/tab-container.component.mjs +60 -0
  41. package/esm2022/lib/components/core/tab/tab-item/tab-item.component.mjs +36 -0
  42. package/esm2022/lib/components/core/tab/tab.module.mjs +23 -0
  43. package/esm2022/lib/components/core/table/table.component.mjs +57 -0
  44. package/esm2022/lib/components/core/tooltip/tooltip.directive.mjs +142 -0
  45. package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +49 -0
  46. package/esm2022/lib/components/form/form.module.mjs +55 -0
  47. package/esm2022/lib/components/form/input/input.component.mjs +239 -0
  48. package/esm2022/lib/components/form/password-input/password-input.component.mjs +155 -0
  49. package/esm2022/lib/components/form/radio-button/radio-button.component.mjs +69 -0
  50. package/esm2022/lib/components/form/range/range.component.mjs +64 -0
  51. package/esm2022/lib/components/form/rating/rating.component.mjs +51 -0
  52. package/esm2022/lib/components/form/select/select.component.mjs +70 -0
  53. package/esm2022/lib/components/form/textarea/textarea.component.mjs +47 -0
  54. package/esm2022/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +140 -0
  55. package/esm2022/lib/components/form/upload-file-list/upload-file-list.component.mjs +112 -0
  56. package/esm2022/lib/components/navigation/back-button/back-button.component.mjs +71 -0
  57. package/esm2022/lib/components/navigation/back-to-top/back-to-top.component.mjs +64 -0
  58. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +57 -0
  59. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +23 -0
  60. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.module.mjs +18 -0
  61. package/esm2022/lib/components/navigation/header/header.component.mjs +58 -0
  62. package/esm2022/lib/components/utils/error-page/error-page.component.mjs +81 -0
  63. package/esm2022/lib/components/utils/icon/icon.component.mjs +55 -0
  64. package/esm2022/lib/components/utils/language-switcher/language-switcher.component.mjs +41 -0
  65. package/esm2022/lib/design-angular-kit.module.mjs +68 -0
  66. package/{esm2020 → esm2022}/lib/interfaces/form.mjs +1 -1
  67. package/esm2022/lib/interfaces/icon.mjs +165 -0
  68. package/esm2022/lib/pipes/mark-matching-text.pipe.mjs +37 -0
  69. package/esm2022/lib/services/notification/notification.service.mjs +120 -0
  70. package/esm2022/lib/utils/file-utils.mjs +73 -0
  71. package/esm2022/lib/utils/regex.mjs +31 -0
  72. package/esm2022/lib/validators/it-validators.mjs +153 -0
  73. package/esm2022/public_api.mjs +85 -0
  74. package/fesm2022/design-angular-kit.mjs +4615 -0
  75. package/fesm2022/design-angular-kit.mjs.map +1 -0
  76. package/lib/abstracts/abstract-form.component.d.ts +4 -4
  77. package/lib/abstracts/abstract.component.d.ts +3 -3
  78. package/lib/components/components.module.d.ts +32 -52
  79. package/lib/components/core/accordion/accordion.component.d.ts +6 -5
  80. package/lib/components/core/alert/alert.component.d.ts +5 -5
  81. package/lib/components/core/badge/badge.directive.d.ts +5 -5
  82. package/lib/components/core/button/button.directive.d.ts +11 -11
  83. package/lib/components/core/callout/callout.component.d.ts +7 -7
  84. package/lib/components/core/card/card.component.d.ts +8 -8
  85. package/lib/components/core/carousel/carousel/carousel.component.d.ts +10 -10
  86. package/lib/components/core/carousel/carousel-item/carousel-item.component.d.ts +4 -4
  87. package/lib/components/core/carousel/carousel.module.d.ts +8 -0
  88. package/lib/components/core/chip/chip.component.d.ts +6 -3
  89. package/lib/components/core/collapse/collapse.component.d.ts +8 -8
  90. package/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.d.ts +3 -3
  91. package/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.d.ts +3 -3
  92. package/lib/components/core/dimmer/dimmer.component.d.ts +4 -4
  93. package/lib/components/core/dimmer/dimmer.module.d.ts +9 -0
  94. package/lib/components/core/dropdown/dropdown/dropdown.component.d.ts +14 -9
  95. package/lib/components/core/dropdown/dropdown-item/dropdown-item.component.d.ts +8 -8
  96. package/lib/components/core/dropdown/dropdown.module.d.ts +8 -0
  97. package/lib/components/core/forward/forward.directive.d.ts +3 -3
  98. package/lib/components/core/link/link.component.d.ts +9 -8
  99. package/lib/components/core/list/list/list.component.d.ts +4 -4
  100. package/lib/components/core/list/list-item/list-item.component.d.ts +9 -9
  101. package/lib/components/core/list/list.module.d.ts +8 -0
  102. package/lib/components/core/modal/modal.component.d.ts +11 -11
  103. package/lib/components/core/notifications/notifications.component.d.ts +6 -6
  104. package/lib/components/core/pagination/pagination.component.d.ts +8 -8
  105. package/lib/components/core/popover/popover.directive.d.ts +3 -3
  106. package/lib/components/core/progress-bar/progress-bar.component.d.ts +6 -6
  107. package/lib/components/core/progress-button/progress-button.component.d.ts +5 -5
  108. package/lib/components/core/spinner/spinner.component.d.ts +5 -5
  109. package/lib/components/core/steppers/steppers-container/steppers-container.component.d.ts +37 -13
  110. package/lib/components/core/steppers/steppers-item/steppers-item.component.d.ts +5 -5
  111. package/lib/components/core/steppers/steppers.module.d.ts +8 -0
  112. package/lib/components/core/tab/tab-container/tab-container.component.d.ts +9 -9
  113. package/lib/components/core/tab/tab-item/tab-item.component.d.ts +8 -8
  114. package/lib/components/core/tab/tab.module.d.ts +8 -0
  115. package/lib/components/core/table/table.component.d.ts +12 -12
  116. package/lib/components/core/tooltip/tooltip.directive.d.ts +3 -3
  117. package/lib/components/form/checkbox/checkbox.component.d.ts +12 -10
  118. package/lib/components/form/form.module.d.ts +16 -0
  119. package/lib/components/form/input/input.component.d.ts +18 -13
  120. package/lib/components/form/password-input/password-input.component.d.ts +11 -6
  121. package/lib/components/form/radio-button/radio-button.component.d.ts +6 -6
  122. package/lib/components/form/range/range.component.d.ts +42 -0
  123. package/lib/components/form/rating/rating.component.d.ts +24 -0
  124. package/lib/components/form/select/select.component.d.ts +11 -6
  125. package/lib/components/form/textarea/textarea.component.d.ts +5 -5
  126. package/lib/components/form/upload-drag-drop/upload-drag-drop.component.d.ts +4 -4
  127. package/lib/components/form/upload-file-list/upload-file-list.component.d.ts +6 -6
  128. package/lib/components/navigation/back-button/back-button.component.d.ts +3 -3
  129. package/lib/components/navigation/back-to-top/back-to-top.component.d.ts +7 -7
  130. package/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +6 -6
  131. package/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.d.ts +6 -6
  132. package/lib/components/navigation/breadcrumbs/breadcrumbs.module.d.ts +8 -0
  133. package/lib/components/navigation/header/header.component.d.ts +6 -6
  134. package/lib/components/utils/error-page/error-page.component.d.ts +6 -6
  135. package/lib/components/utils/icon/icon.component.d.ts +7 -7
  136. package/lib/components/utils/language-switcher/language-switcher.component.d.ts +4 -4
  137. package/lib/design-angular-kit.module.d.ts +3 -4
  138. package/lib/interfaces/core.d.ts +16 -16
  139. package/lib/interfaces/form.d.ts +3 -3
  140. package/lib/interfaces/icon.d.ts +4 -4
  141. package/lib/pipes/mark-matching-text.pipe.d.ts +4 -4
  142. package/lib/services/{notifications/notifications.service.d.ts → notification/notification.service.d.ts} +3 -3
  143. package/lib/utils/boolean-input.d.ts +1 -1
  144. package/lib/utils/regex.d.ts +5 -0
  145. package/lib/validators/it-validators.d.ts +4 -0
  146. package/package.json +13 -19
  147. package/public_api.d.ts +13 -4
  148. package/esm2020/lib/abstracts/abstract-form.component.mjs +0 -188
  149. package/esm2020/lib/abstracts/abstract.component.mjs +0 -45
  150. package/esm2020/lib/components/components.module.mjs +0 -256
  151. package/esm2020/lib/components/core/accordion/accordion.component.mjs +0 -35
  152. package/esm2020/lib/components/core/alert/alert.component.mjs +0 -73
  153. package/esm2020/lib/components/core/badge/badge.directive.mjs +0 -37
  154. package/esm2020/lib/components/core/button/button.directive.mjs +0 -84
  155. package/esm2020/lib/components/core/callout/callout.component.mjs +0 -57
  156. package/esm2020/lib/components/core/card/card.component.mjs +0 -64
  157. package/esm2020/lib/components/core/carousel/carousel/carousel.component.mjs +0 -89
  158. package/esm2020/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +0 -19
  159. package/esm2020/lib/components/core/chip/chip.component.mjs +0 -89
  160. package/esm2020/lib/components/core/collapse/collapse.component.mjs +0 -101
  161. package/esm2020/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +0 -24
  162. package/esm2020/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +0 -11
  163. package/esm2020/lib/components/core/dimmer/dimmer.component.mjs +0 -59
  164. package/esm2020/lib/components/core/dropdown/dropdown/dropdown.component.mjs +0 -130
  165. package/esm2020/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +0 -68
  166. package/esm2020/lib/components/core/forward/forward.directive.mjs +0 -52
  167. package/esm2020/lib/components/core/link/link.component.mjs +0 -40
  168. package/esm2020/lib/components/core/list/list/list.component.mjs +0 -17
  169. package/esm2020/lib/components/core/list/list-item/list-item.component.mjs +0 -41
  170. package/esm2020/lib/components/core/modal/modal.component.mjs +0 -163
  171. package/esm2020/lib/components/core/notifications/notifications.component.mjs +0 -110
  172. package/esm2020/lib/components/core/pagination/pagination.component.mjs +0 -131
  173. package/esm2020/lib/components/core/popover/popover.directive.mjs +0 -174
  174. package/esm2020/lib/components/core/progress-bar/progress-bar.component.mjs +0 -34
  175. package/esm2020/lib/components/core/progress-button/progress-button.component.mjs +0 -27
  176. package/esm2020/lib/components/core/rating/rating.component.mjs +0 -49
  177. package/esm2020/lib/components/core/spinner/spinner.component.mjs +0 -35
  178. package/esm2020/lib/components/core/steppers/steppers-container/steppers-container.component.mjs +0 -127
  179. package/esm2020/lib/components/core/steppers/steppers-item/steppers-item.component.mjs +0 -19
  180. package/esm2020/lib/components/core/tab/tab-container/tab-container.component.mjs +0 -59
  181. package/esm2020/lib/components/core/tab/tab-item/tab-item.component.mjs +0 -36
  182. package/esm2020/lib/components/core/table/table.component.mjs +0 -57
  183. package/esm2020/lib/components/core/tooltip/tooltip.directive.mjs +0 -141
  184. package/esm2020/lib/components/form/checkbox/checkbox.component.mjs +0 -40
  185. package/esm2020/lib/components/form/input/input.component.mjs +0 -232
  186. package/esm2020/lib/components/form/password-input/password-input.component.mjs +0 -152
  187. package/esm2020/lib/components/form/radio-button/radio-button.component.mjs +0 -68
  188. package/esm2020/lib/components/form/select/select.component.mjs +0 -62
  189. package/esm2020/lib/components/form/textarea/textarea.component.mjs +0 -46
  190. package/esm2020/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +0 -139
  191. package/esm2020/lib/components/form/upload-file-list/upload-file-list.component.mjs +0 -104
  192. package/esm2020/lib/components/navigation/back-button/back-button.component.mjs +0 -69
  193. package/esm2020/lib/components/navigation/back-to-top/back-to-top.component.mjs +0 -64
  194. package/esm2020/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +0 -56
  195. package/esm2020/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +0 -23
  196. package/esm2020/lib/components/navigation/header/header.component.mjs +0 -57
  197. package/esm2020/lib/components/utils/error-page/error-page.component.mjs +0 -79
  198. package/esm2020/lib/components/utils/icon/icon.component.mjs +0 -55
  199. package/esm2020/lib/components/utils/language-switcher/language-switcher.component.mjs +0 -39
  200. package/esm2020/lib/design-angular-kit.module.mjs +0 -68
  201. package/esm2020/lib/interfaces/icon.mjs +0 -162
  202. package/esm2020/lib/pipes/mark-matching-text.pipe.mjs +0 -36
  203. package/esm2020/lib/services/notifications/notifications.service.mjs +0 -120
  204. package/esm2020/lib/utils/file-utils.mjs +0 -73
  205. package/esm2020/lib/utils/regex.mjs +0 -26
  206. package/esm2020/lib/validators/it-validators.mjs +0 -147
  207. package/esm2020/public_api.mjs +0 -74
  208. package/fesm2015/design-angular-kit.mjs +0 -4422
  209. package/fesm2015/design-angular-kit.mjs.map +0 -1
  210. package/fesm2020/design-angular-kit.mjs +0 -4354
  211. package/fesm2020/design-angular-kit.mjs.map +0 -1
  212. package/lib/components/core/rating/rating.component.d.ts +0 -24
  213. /package/{esm2020 → esm2022}/design-angular-kit.mjs +0 -0
  214. /package/{esm2020 → esm2022}/lib/design-angular-kit-config.mjs +0 -0
  215. /package/{esm2020 → esm2022}/lib/interfaces/core.mjs +0 -0
  216. /package/{esm2020 → esm2022}/lib/interfaces/design-angular-kit-init.mjs +0 -0
  217. /package/{esm2020 → esm2022}/lib/interfaces/utils.mjs +0 -0
  218. /package/{esm2020 → esm2022}/lib/utils/boolean-input.mjs +0 -0
@@ -0,0 +1,68 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { isTrueBooleanInput } from '../../../../utils/boolean-input';
3
+ import { ItLinkComponent } from '../../link/link.component';
4
+ import { ItIconComponent } from '../../../utils/icon/icon.component';
5
+ import { TranslateModule } from '@ngx-translate/core';
6
+ import { NgIf } from '@angular/common';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@ngx-translate/core";
9
+ export class ItDropdownItemComponent extends ItLinkComponent {
10
+ constructor() {
11
+ super(...arguments);
12
+ /**
13
+ * The icon position
14
+ * @default right
15
+ */
16
+ this.iconPosition = 'right';
17
+ /**
18
+ * Change icon color if menu is dark
19
+ * @default false
20
+ */
21
+ this.isDark = false;
22
+ }
23
+ get isDivider() {
24
+ return isTrueBooleanInput(this.divider);
25
+ }
26
+ get isActive() {
27
+ return isTrueBooleanInput(this.active);
28
+ }
29
+ get isLarge() {
30
+ return isTrueBooleanInput(this.large);
31
+ }
32
+ get linkClass() {
33
+ let linkClass = `list-item ${this.isActive ? 'active' : 'dropdown-item'}`;
34
+ if (this.isDisabled) {
35
+ linkClass += ' disabled';
36
+ }
37
+ if (this.isLarge) {
38
+ linkClass += ' large';
39
+ }
40
+ if (this.iconName) {
41
+ linkClass += ` ${this.iconPosition === 'right' ? 'right-icon' : 'left-icon'}`;
42
+ }
43
+ return linkClass;
44
+ }
45
+ setDark(dark) {
46
+ if (this.isDark !== dark) {
47
+ this.isDark = dark;
48
+ this._changeDetectorRef.detectChanges();
49
+ }
50
+ }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItDropdownItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: ItDropdownItemComponent, isStandalone: true, selector: "it-dropdown-item", inputs: { divider: "divider", active: "active", large: "large", iconName: "iconName", iconPosition: "iconPosition" }, usesInheritance: true, ngImport: i0, template: "<li>\n <span *ngIf=\"isDivider; else item\" class=\"divider\"></span>\n\n <ng-template #item>\n <it-link [class]=\"linkClass\" [id]=\"id\" [href]=\"href\" [externalLink]=\"externalLink\" [disabled]=\"disabled\">\n <it-icon *ngIf=\"iconName && iconPosition === 'left'\"\n size=\"sm\"\n [name]=\"iconName\"\n [color]=\"isDark ? 'light' : 'primary'\"\n [svgClass]=\"iconPosition\"></it-icon>\n\n <span><ng-content></ng-content></span>\n\n <it-icon *ngIf=\"iconName && iconPosition === 'right'\"\n size=\"sm\"\n [name]=\"iconName\"\n [color]=\"isDark ? 'light' : 'primary'\"\n [svgClass]=\"iconPosition\"></it-icon>\n\n <span *ngIf=\"isActive\" class=\"visually-hidden\">{{'it.core.active'|translate}}</span>\n </it-link>\n </ng-template>\n</li>\n", styles: [".list-item.disabled{pointer-events:none;cursor:default}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ItIconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "svgClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: ItLinkComponent, selector: "it-link", inputs: ["href", "externalLink", "disabled", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItDropdownItemComponent, decorators: [{
55
+ type: Component,
56
+ args: [{ standalone: true, selector: 'it-dropdown-item', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgIf, ItIconComponent, TranslateModule, ItLinkComponent], template: "<li>\n <span *ngIf=\"isDivider; else item\" class=\"divider\"></span>\n\n <ng-template #item>\n <it-link [class]=\"linkClass\" [id]=\"id\" [href]=\"href\" [externalLink]=\"externalLink\" [disabled]=\"disabled\">\n <it-icon *ngIf=\"iconName && iconPosition === 'left'\"\n size=\"sm\"\n [name]=\"iconName\"\n [color]=\"isDark ? 'light' : 'primary'\"\n [svgClass]=\"iconPosition\"></it-icon>\n\n <span><ng-content></ng-content></span>\n\n <it-icon *ngIf=\"iconName && iconPosition === 'right'\"\n size=\"sm\"\n [name]=\"iconName\"\n [color]=\"isDark ? 'light' : 'primary'\"\n [svgClass]=\"iconPosition\"></it-icon>\n\n <span *ngIf=\"isActive\" class=\"visually-hidden\">{{'it.core.active'|translate}}</span>\n </it-link>\n </ng-template>\n</li>\n", styles: [".list-item.disabled{pointer-events:none;cursor:default}\n"] }]
57
+ }], propDecorators: { divider: [{
58
+ type: Input
59
+ }], active: [{
60
+ type: Input
61
+ }], large: [{
62
+ type: Input
63
+ }], iconName: [{
64
+ type: Input
65
+ }], iconPosition: [{
66
+ type: Input
67
+ }] } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvZHJvcGRvd24vZHJvcGRvd24taXRlbS9kcm9wZG93bi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9kcm9wZG93bi9kcm9wZG93bi1pdGVtL2Ryb3Bkb3duLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFnQixrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRW5GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBVXZDLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxlQUFlO0lBUjVEOztRQThCRTs7O1dBR0c7UUFDTSxpQkFBWSxHQUFxQixPQUFPLENBQUM7UUFFbEQ7OztXQUdHO1FBQ0gsV0FBTSxHQUFZLEtBQUssQ0FBQztLQW1DekI7SUFqQ0MsSUFBSSxTQUFTO1FBQ1gsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsSUFBSSxTQUFTLEdBQUcsYUFBYSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzFFLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixTQUFTLElBQUksV0FBVyxDQUFDO1NBQzFCO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLFNBQVMsSUFBSSxRQUFRLENBQUM7U0FDdkI7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsU0FBUyxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDL0U7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsT0FBTyxDQUFDLElBQWE7UUFDbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRTtZQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNuQixJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDekM7SUFDSCxDQUFDOzhHQWxFVSx1QkFBdUI7a0dBQXZCLHVCQUF1Qix5TkNoQnBDLDgzQkF1QkEsbUhEVFksSUFBSSw2RkFBRSxlQUFlLGtIQUFFLGVBQWUsNEZBQUUsZUFBZTs7MkZBRXRELHVCQUF1QjtrQkFSbkMsU0FBUztpQ0FDSSxJQUFJLFlBQ04sa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxlQUFlLENBQUM7OEJBT3pELE9BQU87c0JBQWYsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBTUcsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGlzVHJ1ZUJvb2xlYW5JbnB1dCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL2Jvb2xlYW4taW5wdXQnO1xuaW1wb3J0IHsgSWNvbk5hbWUgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2ljb24nO1xuaW1wb3J0IHsgSXRMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbGluay9saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2l0LWRyb3Bkb3duLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24taXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtOZ0lmLCBJdEljb25Db21wb25lbnQsIFRyYW5zbGF0ZU1vZHVsZSwgSXRMaW5rQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBJdERyb3Bkb3duSXRlbUNvbXBvbmVudCBleHRlbmRzIEl0TGlua0NvbXBvbmVudCB7XG5cbiAgLyoqXG4gICAqIFNob3cgZGl2aWRlclxuICAgKi9cbiAgQElucHV0KCkgZGl2aWRlcjogQm9vbGVhbklucHV0IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBBY3RpdmUgaXRlbVxuICAgKi9cbiAgQElucHV0KCkgYWN0aXZlOiBCb29sZWFuSW5wdXQgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRvIGluY3JlYXNlIHRoZSBzaXplIG9mIGxpbmtzXG4gICAqL1xuICBASW5wdXQoKSBsYXJnZTogQm9vbGVhbklucHV0IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiBpY29uIHRvIHNob3dcbiAgICovXG4gIEBJbnB1dCgpIGljb25OYW1lOiBJY29uTmFtZSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGljb24gcG9zaXRpb25cbiAgICogQGRlZmF1bHQgcmlnaHRcbiAgICovXG4gIEBJbnB1dCgpIGljb25Qb3NpdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdyaWdodCc7XG5cbiAgLyoqXG4gICAqIENoYW5nZSBpY29uIGNvbG9yIGlmIG1lbnUgaXMgZGFya1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgaXNEYXJrOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0IGlzRGl2aWRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNUcnVlQm9vbGVhbklucHV0KHRoaXMuZGl2aWRlcik7XG4gIH1cblxuICBnZXQgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzVHJ1ZUJvb2xlYW5JbnB1dCh0aGlzLmFjdGl2ZSk7XG4gIH1cblxuICBnZXQgaXNMYXJnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNUcnVlQm9vbGVhbklucHV0KHRoaXMubGFyZ2UpO1xuICB9XG5cbiAgZ2V0IGxpbmtDbGFzcygpOiBzdHJpbmcge1xuICAgIGxldCBsaW5rQ2xhc3MgPSBgbGlzdC1pdGVtICR7dGhpcy5pc0FjdGl2ZSA/ICdhY3RpdmUnIDogJ2Ryb3Bkb3duLWl0ZW0nfWA7XG4gICAgaWYgKHRoaXMuaXNEaXNhYmxlZCkge1xuICAgICAgbGlua0NsYXNzICs9ICcgZGlzYWJsZWQnO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0xhcmdlKSB7XG4gICAgICBsaW5rQ2xhc3MgKz0gJyBsYXJnZSc7XG4gICAgfVxuICAgIGlmICh0aGlzLmljb25OYW1lKSB7XG4gICAgICBsaW5rQ2xhc3MgKz0gYCAke3RoaXMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnID8gJ3JpZ2h0LWljb24nIDogJ2xlZnQtaWNvbid9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gbGlua0NsYXNzO1xuICB9XG5cbiAgc2V0RGFyayhkYXJrOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNEYXJrICE9PSBkYXJrKSB7XG4gICAgICB0aGlzLmlzRGFyayA9IGRhcms7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG59XG4iLCI8bGk+XG4gIDxzcGFuICpuZ0lmPVwiaXNEaXZpZGVyOyBlbHNlIGl0ZW1cIiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XG5cbiAgPG5nLXRlbXBsYXRlICNpdGVtPlxuICAgIDxpdC1saW5rIFtjbGFzc109XCJsaW5rQ2xhc3NcIiBbaWRdPVwiaWRcIiBbaHJlZl09XCJocmVmXCIgW2V4dGVybmFsTGlua109XCJleHRlcm5hbExpbmtcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICAgIDxpdC1pY29uICpuZ0lmPVwiaWNvbk5hbWUgJiYgaWNvblBvc2l0aW9uID09PSAnbGVmdCdcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgW25hbWVdPVwiaWNvbk5hbWVcIlxuICAgICAgICAgICAgICAgIFtjb2xvcl09XCJpc0RhcmsgPyAnbGlnaHQnIDogJ3ByaW1hcnknXCJcbiAgICAgICAgICAgICAgICBbc3ZnQ2xhc3NdPVwiaWNvblBvc2l0aW9uXCI+PC9pdC1pY29uPlxuXG4gICAgICA8c3Bhbj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxuXG4gICAgICA8aXQtaWNvbiAqbmdJZj1cImljb25OYW1lICYmIGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1wiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJpY29uTmFtZVwiXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cImlzRGFyayA/ICdsaWdodCcgOiAncHJpbWFyeSdcIlxuICAgICAgICAgICAgICAgIFtzdmdDbGFzc109XCJpY29uUG9zaXRpb25cIj48L2l0LWljb24+XG5cbiAgICAgIDxzcGFuICpuZ0lmPVwiaXNBY3RpdmVcIiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPnt7J2l0LmNvcmUuYWN0aXZlJ3x0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICA8L2l0LWxpbms+XG4gIDwvbmctdGVtcGxhdGU+XG48L2xpPlxuIl19
@@ -0,0 +1,18 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { ItDropdownComponent } from './dropdown/dropdown.component';
3
+ import { ItDropdownItemComponent } from './dropdown-item/dropdown-item.component';
4
+ import * as i0 from "@angular/core";
5
+ const dropdownComponents = [ItDropdownComponent, ItDropdownItemComponent];
6
+ export class ItDropdownModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.3", ngImport: i0, type: ItDropdownModule, imports: [ItDropdownComponent, ItDropdownItemComponent], exports: [ItDropdownComponent, ItDropdownItemComponent] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItDropdownModule, imports: [ItDropdownItemComponent] }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItDropdownModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ imports: dropdownComponents,
15
+ exports: dropdownComponents
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2Ryb3Bkb3duL2Ryb3Bkb3duLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQUVsRixNQUFNLGtCQUFrQixHQUFHLENBQUMsbUJBQW1CLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztBQU0xRSxNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixZQU5ELG1CQUFtQixFQUFFLHVCQUF1QixhQUE1QyxtQkFBbUIsRUFBRSx1QkFBdUI7K0dBTTNELGdCQUFnQixZQU5vQix1QkFBdUI7OzJGQU0zRCxnQkFBZ0I7a0JBSjVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLGtCQUFrQjtvQkFDM0IsT0FBTyxFQUFFLGtCQUFrQjtpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSXREcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IEl0RHJvcGRvd25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi1pdGVtL2Ryb3Bkb3duLWl0ZW0uY29tcG9uZW50JztcblxuY29uc3QgZHJvcGRvd25Db21wb25lbnRzID0gW0l0RHJvcGRvd25Db21wb25lbnQsIEl0RHJvcGRvd25JdGVtQ29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogZHJvcGRvd25Db21wb25lbnRzLFxuICBleHBvcnRzOiBkcm9wZG93bkNvbXBvbmVudHNcbn0pXG5leHBvcnQgY2xhc3MgSXREcm9wZG93bk1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,53 @@
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { Directive, HostListener, Inject, Input } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class ItForwardDirective {
5
+ /**
6
+ * Indica, se HTMLElement, l'elemento a cui navigare, o se stringa, il selettore che selezionerà l'elemento a cui navigare.
7
+ */
8
+ set itForward(value) { this._itForward = value; }
9
+ get itForward() { return this._itForward; }
10
+ constructor(document) {
11
+ this.document = document;
12
+ this._itForward = undefined;
13
+ }
14
+ onClick(event) {
15
+ event.preventDefault();
16
+ if (this.itForward) {
17
+ if (typeof this.itForward === 'string') {
18
+ this.document?.querySelector(this.itForward)?.scrollIntoView({
19
+ behavior: 'smooth',
20
+ block: 'start',
21
+ inline: "nearest"
22
+ });
23
+ }
24
+ else if (this.itForward instanceof HTMLElement) {
25
+ this.itForward.scrollIntoView({
26
+ behavior: 'smooth',
27
+ block: 'start',
28
+ inline: "nearest"
29
+ });
30
+ }
31
+ }
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItForwardDirective, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive }); }
34
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.3", type: ItForwardDirective, isStandalone: true, selector: "[itForward]", inputs: { itForward: "itForward" }, host: { listeners: { "click": "onClick($event)" }, classAttribute: "forward" }, ngImport: i0 }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItForwardDirective, decorators: [{
37
+ type: Directive,
38
+ args: [{
39
+ standalone: true,
40
+ selector: '[itForward]',
41
+ // eslint-disable-next-line @angular-eslint/no-host-metadata-property
42
+ host: { 'class': 'forward' }
43
+ }]
44
+ }], ctorParameters: function () { return [{ type: Document, decorators: [{
45
+ type: Inject,
46
+ args: [DOCUMENT]
47
+ }] }]; }, propDecorators: { itForward: [{
48
+ type: Input
49
+ }], onClick: [{
50
+ type: HostListener,
51
+ args: ['click', ['$event']]
52
+ }] } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yd2FyZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvZm9yd2FyZC9mb3J3YXJkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRdkUsTUFBTSxPQUFPLGtCQUFrQjtJQUU3Qjs7TUFFRTtJQUNGLElBQWEsU0FBUyxDQUFDLEtBQXVDLElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzVGLElBQUksU0FBUyxLQUF1QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBRzdFLFlBQzRCLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFIdkMsZUFBVSxHQUFxQyxTQUFTLENBQUM7SUFJN0QsQ0FBQztJQUdMLE9BQU8sQ0FBQyxLQUFVO1FBQ2hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssUUFBUSxFQUFFO2dCQUN0QyxJQUFJLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsY0FBYyxDQUFDO29CQUMzRCxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsS0FBSyxFQUFFLE9BQU87b0JBQ2QsTUFBTSxFQUFFLFNBQVM7aUJBQ2xCLENBQUMsQ0FBQTthQUNIO2lCQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsWUFBWSxXQUFXLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDO29CQUM1QixRQUFRLEVBQUUsUUFBUTtvQkFDbEIsS0FBSyxFQUFFLE9BQU87b0JBQ2QsTUFBTSxFQUFFLFNBQVM7aUJBQ2xCLENBQUMsQ0FBQzthQUNKO1NBQ0Y7SUFDSCxDQUFDOzhHQS9CVSxrQkFBa0Isa0JBVW5CLFFBQVE7a0dBVlAsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQU45QixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsYUFBYTtvQkFDdkIscUVBQXFFO29CQUNyRSxJQUFJLEVBQUUsRUFBQyxPQUFPLEVBQUUsU0FBUyxFQUFDO2lCQUMzQjs7MEJBV0ksTUFBTTsyQkFBQyxRQUFROzRDQUxMLFNBQVM7c0JBQXJCLEtBQUs7Z0JBU04sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tpdEZvcndhcmRdJyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gIGhvc3Q6IHsnY2xhc3MnOiAnZm9yd2FyZCd9XG59KVxuZXhwb3J0IGNsYXNzIEl0Rm9yd2FyZERpcmVjdGl2ZSB7XG5cbiAgLyoqXG4gICAqIEluZGljYSwgc2UgSFRNTEVsZW1lbnQsIGwnZWxlbWVudG8gYSBjdWkgbmF2aWdhcmUsIG8gc2Ugc3RyaW5nYSwgaWwgc2VsZXR0b3JlIGNoZSBzZWxlemlvbmVyw6AgbCdlbGVtZW50byBhIGN1aSBuYXZpZ2FyZS5cbiAgKi9cbiAgQElucHV0KCkgc2V0IGl0Rm9yd2FyZCh2YWx1ZTogSFRNTEVsZW1lbnQgfCBzdHJpbmcgfCB1bmRlZmluZWQpIHsgdGhpcy5faXRGb3J3YXJkID0gdmFsdWU7IH1cbiAgZ2V0IGl0Rm9yd2FyZCgpOiBIVE1MRWxlbWVudCB8IHN0cmluZyB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLl9pdEZvcndhcmQ7IH1cbiAgcHJpdmF0ZSBfaXRGb3J3YXJkOiBIVE1MRWxlbWVudCB8IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50PzogRG9jdW1lbnRcbiAgKSB7IH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2soZXZlbnQ6IGFueSkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMuaXRGb3J3YXJkKSB7XG4gICAgICBpZiAodHlwZW9mIHRoaXMuaXRGb3J3YXJkID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5xdWVyeVNlbGVjdG9yKHRoaXMuaXRGb3J3YXJkKT8uc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICBibG9jazogJ3N0YXJ0JyxcbiAgICAgICAgICBpbmxpbmU6IFwibmVhcmVzdFwiXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXRGb3J3YXJkIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5pdEZvcndhcmQuc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICBibG9jazogJ3N0YXJ0JyxcbiAgICAgICAgICBpbmxpbmU6IFwibmVhcmVzdFwiXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,46 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { isTrueBooleanInput } from '../../../utils/boolean-input';
3
+ import { ItAbstractComponent } from '../../../abstracts/abstract.component';
4
+ import { NgIf, NgTemplateOutlet } from '@angular/common';
5
+ import { RouterLink } from '@angular/router';
6
+ import * as i0 from "@angular/core";
7
+ export class ItLinkComponent extends ItAbstractComponent {
8
+ constructor() {
9
+ super(...arguments);
10
+ /**
11
+ * Custom class
12
+ */
13
+ this.class = '';
14
+ }
15
+ get isExternalLink() {
16
+ return isTrueBooleanInput(this.externalLink);
17
+ }
18
+ get isDisabled() {
19
+ return isTrueBooleanInput(this.disabled);
20
+ }
21
+ ngAfterViewInit() {
22
+ super.ngAfterViewInit();
23
+ this._renderer.removeAttribute(this._elementRef.nativeElement, 'class');
24
+ }
25
+ ngOnChanges(changes) {
26
+ super.ngOnChanges(changes);
27
+ if (changes['class']) {
28
+ this._changeDetectorRef.markForCheck();
29
+ }
30
+ }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItLinkComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: ItLinkComponent, isStandalone: true, selector: "it-link", inputs: { href: "href", externalLink: "externalLink", disabled: "disabled", class: "class" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<a *ngIf=\"!isExternalLink; else externalLink\" [id]=\"id\" [class]=\"class\" [routerLink]=\"(isDisabled ? null : href)!\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n</a>\n<ng-template #externalLink>\n <a [id]=\"id\" [class]=\"class\" [attr.href]=\"isDisabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #linkContent>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItLinkComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ standalone: true, selector: 'it-link', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgIf, RouterLink, NgTemplateOutlet], template: "<a *ngIf=\"!isExternalLink; else externalLink\" [id]=\"id\" [class]=\"class\" [routerLink]=\"(isDisabled ? null : href)!\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n</a>\n<ng-template #externalLink>\n <a [id]=\"id\" [class]=\"class\" [attr.href]=\"isDisabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #linkContent>\n <ng-content></ng-content>\n</ng-template>\n" }]
37
+ }], propDecorators: { href: [{
38
+ type: Input
39
+ }], externalLink: [{
40
+ type: Input
41
+ }], disabled: [{
42
+ type: Input
43
+ }], class: [{
44
+ type: Input
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbGluay9saW5rLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9saW5rL2xpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQWdCLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFTN0MsTUFBTSxPQUFPLGVBQWdCLFNBQVEsbUJBQW1CO0lBUHhEOztRQTZCRTs7V0FFRztRQUNNLFVBQUssR0FBVyxFQUFFLENBQUM7S0FxQjdCO0lBbkJDLElBQUksY0FBYztRQUNoQixPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVRLGVBQWU7UUFDdEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFUSxXQUFXLENBQUMsT0FBc0I7UUFDekMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDeEM7SUFDSCxDQUFDOzhHQTdDVSxlQUFlO2tHQUFmLGVBQWUsNk1DYjVCLDJkQVlBLDRDRERZLElBQUksNkZBQUUsVUFBVSw0TkFBRSxnQkFBZ0I7OzJGQUVqQyxlQUFlO2tCQVAzQixTQUFTO2lDQUNJLElBQUksWUFDTixTQUFTLG1CQUVGLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixDQUFDOzhCQVlwQyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csWUFBWTtzQkFBcEIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgaXNUcnVlQm9vbGVhbklucHV0IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYm9vbGVhbi1pbnB1dCc7XG5pbXBvcnQgeyBJdEFic3RyYWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYWJzdHJhY3RzL2Fic3RyYWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdpdC1saW5rJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpbmsuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW05nSWYsIFJvdXRlckxpbmssIE5nVGVtcGxhdGVPdXRsZXRdXG59KVxuZXhwb3J0IGNsYXNzIEl0TGlua0NvbXBvbmVudCBleHRlbmRzIEl0QWJzdHJhY3RDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuXG4gIC8qKlxuICAgKiBUaGUgcm91dGVyIGxpbmsgYWN0aW9uXG4gICAqXG4gICAqIENvbW1hbmRzIHRvIHBhc3MgdG8gUm91dGVyI2NyZWF0ZVVybFRyZWUuXG4gICAqIC0gYXJyYXk6IGNvbW1hbmRzIHRvIHBhc3MgdG8gUm91dGVyI2NyZWF0ZVVybFRyZWUuXG4gICAqIC0gc3RyaW5nOiBzaG9ydGhhbmQgZm9yIGFycmF5IG9mIGNvbW1hbmRzIHdpdGgganVzdCB0aGUgc3RyaW5nLCBpLmUuIFsnL3JvdXRlJ11cbiAgICogLSBudWxsfHVuZGVmaW5lZDogRGlzYWJsZXMgdGhlIGxpbmsgYnkgcmVtb3ZpbmcgdGhlIGhyZWZcbiAgICovXG4gIEBJbnB1dCgpIGhyZWY6IGFueVtdIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogSXMgYW4gZXh0ZXJuYWwgbGluayAoZmFsc2UgdG8gbm90IHVzZSBBbmd1bGFyIHJvdXRlciBsaW5rKVxuICAgKi9cbiAgQElucHV0KCkgZXh0ZXJuYWxMaW5rOiBCb29sZWFuSW5wdXQgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIElzIGRpc2FibGVkIGxpbmtcbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBCb29sZWFuSW5wdXQgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBjbGFzc1xuICAgKi9cbiAgQElucHV0KCkgY2xhc3M6IHN0cmluZyA9ICcnO1xuXG4gIGdldCBpc0V4dGVybmFsTGluaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNUcnVlQm9vbGVhbklucHV0KHRoaXMuZXh0ZXJuYWxMaW5rKTtcbiAgfVxuXG4gIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1RydWVCb29sZWFuSW5wdXQodGhpcy5kaXNhYmxlZCk7XG4gIH1cblxuICBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2NsYXNzJyk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XG4gICAgaWYgKGNoYW5nZXNbJ2NsYXNzJ10pIHtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxufVxuIiwiPGEgKm5nSWY9XCIhaXNFeHRlcm5hbExpbms7IGVsc2UgZXh0ZXJuYWxMaW5rXCIgW2lkXT1cImlkXCIgW2NsYXNzXT1cImNsYXNzXCIgW3JvdXRlckxpbmtdPVwiKGlzRGlzYWJsZWQgPyBudWxsIDogaHJlZikhXCI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaW5rQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuPC9hPlxuPG5nLXRlbXBsYXRlICNleHRlcm5hbExpbms+XG4gIDxhIFtpZF09XCJpZFwiIFtjbGFzc109XCJjbGFzc1wiIFthdHRyLmhyZWZdPVwiaXNEaXNhYmxlZCA/IG51bGwgOiBocmVmXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpbmtDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvYT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbGlua0NvbnRlbnQ+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,17 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { isTrueBooleanInput } from '../../../../utils/boolean-input';
3
+ import * as i0 from "@angular/core";
4
+ export class ItListComponent {
5
+ get isLinkList() {
6
+ return isTrueBooleanInput(this.linkList);
7
+ }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: ItListComponent, isStandalone: true, selector: "it-list", inputs: { linkList: "linkList" }, ngImport: i0, template: "<div [class]=\"isLinkList ? 'link-list-wrapper' : 'it-list-wrapper'\">\n <ul [class]=\"isLinkList ? 'link-list' : 'it-list'\">\n <ng-content></ng-content>\n </ul>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItListComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ standalone: true, selector: 'it-list', changeDetection: ChangeDetectionStrategy.OnPush, imports: [], template: "<div [class]=\"isLinkList ? 'link-list-wrapper' : 'it-list-wrapper'\">\n <ul [class]=\"isLinkList ? 'link-list' : 'it-list'\">\n <ng-content></ng-content>\n </ul>\n</div>\n" }]
14
+ }], propDecorators: { linkList: [{
15
+ type: Input
16
+ }] } });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbGlzdC9saXN0L2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2xpc3QvbGlzdC9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBZ0Isa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFTbkYsTUFBTSxPQUFPLGVBQWU7SUFRMUIsSUFBYyxVQUFVO1FBQ3RCLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7OEdBVlUsZUFBZTtrR0FBZixlQUFlLHFHQ1Y1QixtTEFLQTs7MkZES2EsZUFBZTtrQkFQM0IsU0FBUztpQ0FDSSxJQUFJLFlBQ04sU0FBUyxtQkFFRix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLEVBQUU7OEJBT0YsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGlzVHJ1ZUJvb2xlYW5JbnB1dCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL2Jvb2xlYW4taW5wdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdpdC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW11cbn0pXG5leHBvcnQgY2xhc3MgSXRMaXN0Q29tcG9uZW50IHtcblxuICAvKipcbiAgICogQWRkICdsaW5rLWxpc3QnIGNsYXNzIGZvciBuYXZpZ2F0aW9uIG1lbnVcbiAgICovXG4gIEBJbnB1dCgpIGxpbmtMaXN0OiBCb29sZWFuSW5wdXQgfCB1bmRlZmluZWQ7XG5cblxuICBwcm90ZWN0ZWQgZ2V0IGlzTGlua0xpc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzVHJ1ZUJvb2xlYW5JbnB1dCh0aGlzLmxpbmtMaXN0KTtcbiAgfVxufVxuIiwiPGRpdiBbY2xhc3NdPVwiaXNMaW5rTGlzdCA/ICdsaW5rLWxpc3Qtd3JhcHBlcicgOiAnaXQtbGlzdC13cmFwcGVyJ1wiPlxuICA8dWwgW2NsYXNzXT1cImlzTGlua0xpc3QgPyAnbGluay1saXN0JyA6ICdpdC1saXN0J1wiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC91bD5cbjwvZGl2PlxuIl19
@@ -0,0 +1,40 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { isTrueBooleanInput } from '../../../../utils/boolean-input';
3
+ import { ItLinkComponent } from '../../link/link.component';
4
+ import { NgIf, NgTemplateOutlet } from '@angular/common';
5
+ import * as i0 from "@angular/core";
6
+ export class ItListItemComponent extends ItLinkComponent {
7
+ get itemClass() {
8
+ let itemClass = 'list-item';
9
+ if (isTrueBooleanInput(this.active)) {
10
+ itemClass += ` active`;
11
+ }
12
+ if (isTrueBooleanInput(this.large)) {
13
+ itemClass += ` large`;
14
+ }
15
+ if (isTrueBooleanInput(this.iconLeft)) {
16
+ itemClass += ` icon-left`;
17
+ }
18
+ if (this.class) {
19
+ itemClass += ` ${this.class}`;
20
+ }
21
+ return itemClass;
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItListItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: ItListItemComponent, isStandalone: true, selector: "it-list-item", inputs: { active: "active", large: "large", iconLeft: "iconLeft", avatar: "avatar", image: "image" }, usesInheritance: true, ngImport: i0, template: "<li>\n <ng-template #content>\n <div class=\"it-rounded-icon\">\n <ng-content select=\"[icon]\"></ng-content>\n </div>\n\n <div *ngIf=\"avatar\" class=\"avatar size-lg\">\n <img [attr.src]=\"avatar\" alt=\"avatar\">\n </div>\n\n <div *ngIf=\"image\" class=\"it-thumb\">\n <img [attr.src]=\"image\" alt=\"thumb\">\n </div>\n\n <div class=\"it-right-zone\">\n <span class=\"text\">\n <ng-content></ng-content>\n </span>\n <ng-content select=\"[action]\"></ng-content>\n\n <span class=\"it-multiple\">\n <span class=\"metadata\">\n <ng-content select=\"[metadata]\"></ng-content>\n </span>\n\n <ng-content select=\"[multiple]\"></ng-content>\n </span>\n </div>\n </ng-template>\n\n\n <div *ngIf=\"!href; else link\" [class]=\"itemClass\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n\n <ng-template #link>\n <it-link [class]=\"itemClass\" [href]=\"href\" [externalLink]=\"externalLink\" [disabled]=\"disabled\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </it-link>\n </ng-template>\n</li>\n", styles: [".metadata:empty,.it-rounded-icon:empty{display:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ItLinkComponent, selector: "it-link", inputs: ["href", "externalLink", "disabled", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItListItemComponent, decorators: [{
27
+ type: Component,
28
+ args: [{ standalone: true, selector: 'it-list-item', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgIf, NgTemplateOutlet, ItLinkComponent], template: "<li>\n <ng-template #content>\n <div class=\"it-rounded-icon\">\n <ng-content select=\"[icon]\"></ng-content>\n </div>\n\n <div *ngIf=\"avatar\" class=\"avatar size-lg\">\n <img [attr.src]=\"avatar\" alt=\"avatar\">\n </div>\n\n <div *ngIf=\"image\" class=\"it-thumb\">\n <img [attr.src]=\"image\" alt=\"thumb\">\n </div>\n\n <div class=\"it-right-zone\">\n <span class=\"text\">\n <ng-content></ng-content>\n </span>\n <ng-content select=\"[action]\"></ng-content>\n\n <span class=\"it-multiple\">\n <span class=\"metadata\">\n <ng-content select=\"[metadata]\"></ng-content>\n </span>\n\n <ng-content select=\"[multiple]\"></ng-content>\n </span>\n </div>\n </ng-template>\n\n\n <div *ngIf=\"!href; else link\" [class]=\"itemClass\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n\n <ng-template #link>\n <it-link [class]=\"itemClass\" [href]=\"href\" [externalLink]=\"externalLink\" [disabled]=\"disabled\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </it-link>\n </ng-template>\n</li>\n", styles: [".metadata:empty,.it-rounded-icon:empty{display:none}\n"] }]
29
+ }], propDecorators: { active: [{
30
+ type: Input
31
+ }], large: [{
32
+ type: Input
33
+ }], iconLeft: [{
34
+ type: Input
35
+ }], avatar: [{
36
+ type: Input
37
+ }], image: [{
38
+ type: Input
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9saXN0L2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2xpc3QvbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQWdCLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFVekQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGVBQWU7SUE0QnRELElBQUksU0FBUztRQUNYLElBQUksU0FBUyxHQUFHLFdBQVcsQ0FBQztRQUM1QixJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuQyxTQUFTLElBQUksU0FBUyxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEMsU0FBUyxJQUFJLFFBQVEsQ0FBQztTQUN2QjtRQUNELElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3JDLFNBQVMsSUFBSSxZQUFZLENBQUM7U0FDM0I7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxTQUFTLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDL0I7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOzhHQTNDVSxtQkFBbUI7a0dBQW5CLG1CQUFtQixxTUNiaEMsd29DQXlDQSxnSEQ5QlksSUFBSSw2RkFBRSxnQkFBZ0Isb0pBQUUsZUFBZTs7MkZBRXRDLG1CQUFtQjtrQkFSL0IsU0FBUztpQ0FDSSxJQUFJLFlBQ04sY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLGVBQWUsQ0FBQzs4QkFPekMsTUFBTTtzQkFBZCxLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBpc1RydWVCb29sZWFuSW5wdXQgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscy9ib29sZWFuLWlucHV0JztcbmltcG9ydCB7IEl0TGlua0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2xpbmsvbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2l0LWxpc3QtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0LCBJdExpbmtDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEl0TGlzdEl0ZW1Db21wb25lbnQgZXh0ZW5kcyBJdExpbmtDb21wb25lbnQge1xuXG4gIC8qKlxuICAgKiBBZGQgYWN0aXZlIGNsYXNzXG4gICAqL1xuICBASW5wdXQoKSBhY3RpdmU6IEJvb2xlYW5JbnB1dCB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQWRkIGxhcmdlIGNsYXNzXG4gICAqL1xuICBASW5wdXQoKSBsYXJnZTogQm9vbGVhbklucHV0IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBBZGQgaWNvbi1sZWZ0IGNsYXNzXG4gICAqL1xuICBASW5wdXQoKSBpY29uTGVmdDogQm9vbGVhbklucHV0IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgYXZhdGFyIHVybFxuICAgKi9cbiAgQElucHV0KCkgYXZhdGFyOiBVUkwgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSB0aHVtYiBpbWFnZSB1cmxcbiAgICovXG4gIEBJbnB1dCgpIGltYWdlOiBVUkwgfCB1bmRlZmluZWQ7XG5cblxuICBnZXQgaXRlbUNsYXNzKCk6IHN0cmluZyB7XG4gICAgbGV0IGl0ZW1DbGFzcyA9ICdsaXN0LWl0ZW0nO1xuICAgIGlmIChpc1RydWVCb29sZWFuSW5wdXQodGhpcy5hY3RpdmUpKSB7XG4gICAgICBpdGVtQ2xhc3MgKz0gYCBhY3RpdmVgO1xuICAgIH1cbiAgICBpZiAoaXNUcnVlQm9vbGVhbklucHV0KHRoaXMubGFyZ2UpKSB7XG4gICAgICBpdGVtQ2xhc3MgKz0gYCBsYXJnZWA7XG4gICAgfVxuICAgIGlmIChpc1RydWVCb29sZWFuSW5wdXQodGhpcy5pY29uTGVmdCkpIHtcbiAgICAgIGl0ZW1DbGFzcyArPSBgIGljb24tbGVmdGA7XG4gICAgfVxuICAgIGlmICh0aGlzLmNsYXNzKSB7XG4gICAgICBpdGVtQ2xhc3MgKz0gYCAke3RoaXMuY2xhc3N9YDtcbiAgICB9XG4gICAgcmV0dXJuIGl0ZW1DbGFzcztcbiAgfVxuXG59XG4iLCI8bGk+XG4gIDxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwiaXQtcm91bmRlZC1pY29uXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaWNvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiYXZhdGFyXCIgY2xhc3M9XCJhdmF0YXIgc2l6ZS1sZ1wiPlxuICAgICAgPGltZyBbYXR0ci5zcmNdPVwiYXZhdGFyXCIgYWx0PVwiYXZhdGFyXCI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiaW1hZ2VcIiBjbGFzcz1cIml0LXRodW1iXCI+XG4gICAgICA8aW1nIFthdHRyLnNyY109XCJpbWFnZVwiIGFsdD1cInRodW1iXCI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXQtcmlnaHQtem9uZVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0XCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlthY3Rpb25dXCI+PC9uZy1jb250ZW50PlxuXG4gICAgICA8c3BhbiBjbGFzcz1cIml0LW11bHRpcGxlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWV0YWRhdGFcIj5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbWV0YWRhdGFdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW211bHRpcGxlXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuXG4gIDxkaXYgKm5nSWY9XCIhaHJlZjsgZWxzZSBsaW5rXCIgW2NsYXNzXT1cIml0ZW1DbGFzc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDxuZy10ZW1wbGF0ZSAjbGluaz5cbiAgICA8aXQtbGluayBbY2xhc3NdPVwiaXRlbUNsYXNzXCIgW2hyZWZdPVwiaHJlZlwiIFtleHRlcm5hbExpbmtdPVwiZXh0ZXJuYWxMaW5rXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvaXQtbGluaz5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbGk+XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { ItListComponent } from './list/list.component';
3
+ import { ItListItemComponent } from './list-item/list-item.component';
4
+ import * as i0 from "@angular/core";
5
+ const listComponents = [
6
+ ItListComponent,
7
+ ItListItemComponent
8
+ ];
9
+ export class ItListModule {
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.3", ngImport: i0, type: ItListModule, imports: [ItListComponent,
12
+ ItListItemComponent], exports: [ItListComponent,
13
+ ItListItemComponent] }); }
14
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItListModule }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItListModule, decorators: [{
17
+ type: NgModule,
18
+ args: [{
19
+ imports: listComponents,
20
+ exports: listComponents
21
+ }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbGlzdC9saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFFdEUsTUFBTSxjQUFjLEdBQUc7SUFDckIsZUFBZTtJQUNmLG1CQUFtQjtDQUNwQixDQUFDO0FBTUYsTUFBTSxPQUFPLFlBQVk7OEdBQVosWUFBWTsrR0FBWixZQUFZLFlBUnZCLGVBQWU7WUFDZixtQkFBbUIsYUFEbkIsZUFBZTtZQUNmLG1CQUFtQjsrR0FPUixZQUFZOzsyRkFBWixZQUFZO2tCQUp4QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxjQUFjO29CQUN2QixPQUFPLEVBQUUsY0FBYztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSXRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9saXN0L2xpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEl0TGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50JztcblxuY29uc3QgbGlzdENvbXBvbmVudHMgPSBbXG4gIEl0TGlzdENvbXBvbmVudCxcbiAgSXRMaXN0SXRlbUNvbXBvbmVudFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogbGlzdENvbXBvbmVudHMsXG4gIGV4cG9ydHM6IGxpc3RDb21wb25lbnRzXG59KVxuZXhwb3J0IGNsYXNzIEl0TGlzdE1vZHVsZSB7XG59XG4iXX0=
@@ -0,0 +1,164 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { ItAbstractComponent } from '../../../abstracts/abstract.component';
3
+ import { Modal } from 'bootstrap-italia';
4
+ import { isTrueBooleanInput } from '../../../utils/boolean-input';
5
+ import { NgIf } from '@angular/common';
6
+ import { TranslateModule } from '@ngx-translate/core';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@ngx-translate/core";
9
+ /**
10
+ * Modal windows
11
+ * @description To show featured content, notifications to users, or personalized content.
12
+ */
13
+ export class ItModalComponent extends ItAbstractComponent {
14
+ constructor() {
15
+ super(...arguments);
16
+ /**
17
+ * Show/Hide close button on header
18
+ * @default true
19
+ */
20
+ this.closeButton = true;
21
+ /**
22
+ * To have modals that appear with fades
23
+ * @default true
24
+ */
25
+ this.fade = true;
26
+ /**
27
+ * This event fires immediately when the instance method show is called.
28
+ */
29
+ this.showEvent = new EventEmitter();
30
+ /**
31
+ * This event fires when the modal has been made visible to the user (it will wait for CSS transitions to complete).
32
+ */
33
+ this.shownEvent = new EventEmitter();
34
+ /**
35
+ * This event is raised immediately when the instance method hide has been called.
36
+ */
37
+ this.hideEvent = new EventEmitter();
38
+ /**
39
+ * This event fires when the modal has finished hiding from the user (it will wait for CSS transitions to complete).
40
+ */
41
+ this.hiddenEvent = new EventEmitter();
42
+ /**
43
+ * This event is fired when the modal is displayed, its background is static and a click outside the modal or a press
44
+ * of the esc key occurs and data-bs-keyboard is set to false.
45
+ */
46
+ this.hidePreventedEvent = new EventEmitter();
47
+ }
48
+ ngAfterViewInit() {
49
+ super.ngAfterViewInit();
50
+ this._renderer.removeAttribute(this._elementRef.nativeElement, 'title');
51
+ if (this.modalElement) {
52
+ const element = this.modalElement.nativeElement;
53
+ this.modal = Modal.getOrCreateInstance(element);
54
+ element.addEventListener('show.bs.modal', event => this.showEvent.emit(event));
55
+ element.addEventListener('shown.bs.modal', event => this.shownEvent.emit(event));
56
+ element.addEventListener('hide.bs.modal', event => this.hideEvent.emit(event));
57
+ element.addEventListener('hidden.bs.modal', event => this.hiddenEvent.emit(event));
58
+ element.addEventListener('hidePrevented.bs.modal', event => this.hidePreventedEvent.emit(event));
59
+ }
60
+ }
61
+ get isCloseButton() {
62
+ return isTrueBooleanInput(this.closeButton);
63
+ }
64
+ get isFooterShadow() {
65
+ return isTrueBooleanInput(this.footerShadow);
66
+ }
67
+ get modalClass() {
68
+ let modalClass = 'modal';
69
+ if (isTrueBooleanInput(this.fade)) {
70
+ modalClass += ` fade`;
71
+ }
72
+ if (isTrueBooleanInput(this.alertModal)) {
73
+ modalClass += ` alert-modal`;
74
+ }
75
+ if (isTrueBooleanInput(this.dialogLinkList)) {
76
+ modalClass += ` it-dialog-link-list`;
77
+ }
78
+ if (isTrueBooleanInput(this.popconfirm)) {
79
+ modalClass += ` popconfirm-modal`;
80
+ }
81
+ if (isTrueBooleanInput(this.scrollable)) {
82
+ modalClass += ` it-dialog-scrollable`;
83
+ }
84
+ return modalClass;
85
+ }
86
+ get dialogClass() {
87
+ let dialogClass = 'modal-dialog';
88
+ if (this.alignment) {
89
+ dialogClass += ` modal-dialog-${this.alignment}`;
90
+ }
91
+ if (this.size) {
92
+ dialogClass += ` modal-${this.size}`;
93
+ }
94
+ return dialogClass;
95
+ }
96
+ /**
97
+ * Manually activate/deactivate a modal. Returns to the caller before the modal has actually been shown or hidden
98
+ */
99
+ toggle() {
100
+ this.modal?.toggle();
101
+ }
102
+ /**
103
+ * Manually open a modal. Returns to the caller before the modal has actually been displayed
104
+ */
105
+ show() {
106
+ this.modal?.show();
107
+ }
108
+ /**
109
+ * Manually hide a modal. Returns to the caller before the modal has actually been hidden
110
+ */
111
+ hide() {
112
+ this.modal?.hide();
113
+ }
114
+ /**
115
+ * Manually reposition the modal if the height of the modal changes when it is opened (in case a scroll bar appears).
116
+ */
117
+ handleUpdate() {
118
+ this.modal?.handleUpdate();
119
+ }
120
+ /**
121
+ * Destroys the modal of an element.
122
+ */
123
+ dispose() {
124
+ this.modal?.dispose();
125
+ }
126
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItModalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
127
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: ItModalComponent, isStandalone: true, selector: "it-modal", inputs: { closeButton: "closeButton", alertModal: "alertModal", dialogLinkList: "dialogLinkList", popconfirm: "popconfirm", scrollable: "scrollable", fade: "fade", alignment: "alignment", size: "size", footerShadow: "footerShadow" }, outputs: { showEvent: "showEvent", shownEvent: "shownEvent", hideEvent: "hideEvent", hiddenEvent: "hiddenEvent", hidePreventedEvent: "hidePreventedEvent" }, viewQueries: [{ propertyName: "modalElement", first: true, predicate: ["modalElement"], descendants: true }], exportAs: ["itModal"], usesInheritance: true, ngImport: i0, template: "<div #modalElement [id]=\"id\"\n [class]=\"modalClass\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-hidden=\"true\"\n [attr.aria-labelledby]=\"id+'-title'\"\n [attr.aria-describedby]=\"id+'-description'\">\n\n <div [class]=\"dialogClass\">\n <div class=\"modal-content\" role=\"document\">\n <div class=\"modal-header\">\n <ng-content select=\"[beforeTitle]\"></ng-content>\n\n <h2 class=\"modal-title h5\" id=\"{{id}}-title\">\n <ng-content select=\"[modalTitle]\"></ng-content>\n </h2>\n\n <button *ngIf=\"isCloseButton\" type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\"\n [attr.aria-label]=\"'it.core.close-modal'|translate\"></button>\n </div>\n\n <div class=\"modal-body\">\n <div id=\"{{id}}-description\">\n <ng-content select=\"[description]\"></ng-content>\n </div>\n <ng-content></ng-content>\n </div>\n\n <div class=\"modal-footer\" [class.modal-footer-shadow]=\"isFooterShadow\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n </div>\n\n</div>\n", styles: [".modal-footer:empty{display:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
128
+ }
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItModalComponent, decorators: [{
130
+ type: Component,
131
+ args: [{ standalone: true, selector: 'it-modal', exportAs: 'itModal', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgIf, TranslateModule], template: "<div #modalElement [id]=\"id\"\n [class]=\"modalClass\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-hidden=\"true\"\n [attr.aria-labelledby]=\"id+'-title'\"\n [attr.aria-describedby]=\"id+'-description'\">\n\n <div [class]=\"dialogClass\">\n <div class=\"modal-content\" role=\"document\">\n <div class=\"modal-header\">\n <ng-content select=\"[beforeTitle]\"></ng-content>\n\n <h2 class=\"modal-title h5\" id=\"{{id}}-title\">\n <ng-content select=\"[modalTitle]\"></ng-content>\n </h2>\n\n <button *ngIf=\"isCloseButton\" type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\"\n [attr.aria-label]=\"'it.core.close-modal'|translate\"></button>\n </div>\n\n <div class=\"modal-body\">\n <div id=\"{{id}}-description\">\n <ng-content select=\"[description]\"></ng-content>\n </div>\n <ng-content></ng-content>\n </div>\n\n <div class=\"modal-footer\" [class.modal-footer-shadow]=\"isFooterShadow\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n </div>\n\n</div>\n", styles: [".modal-footer:empty{display:none}\n"] }]
132
+ }], propDecorators: { closeButton: [{
133
+ type: Input
134
+ }], alertModal: [{
135
+ type: Input
136
+ }], dialogLinkList: [{
137
+ type: Input
138
+ }], popconfirm: [{
139
+ type: Input
140
+ }], scrollable: [{
141
+ type: Input
142
+ }], fade: [{
143
+ type: Input
144
+ }], alignment: [{
145
+ type: Input
146
+ }], size: [{
147
+ type: Input
148
+ }], footerShadow: [{
149
+ type: Input
150
+ }], showEvent: [{
151
+ type: Output
152
+ }], shownEvent: [{
153
+ type: Output
154
+ }], hideEvent: [{
155
+ type: Output
156
+ }], hiddenEvent: [{
157
+ type: Output
158
+ }], hidePreventedEvent: [{
159
+ type: Output
160
+ }], modalElement: [{
161
+ type: ViewChild,
162
+ args: ['modalElement', { static: false }]
163
+ }] } });
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL21vZGFsL21vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9tb2RhbC9tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBZ0Isa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFFdEQ7OztHQUdHO0FBVUgsTUFBTSxPQUFPLGdCQUFpQixTQUFRLG1CQUFtQjtJQVR6RDs7UUFXRTs7O1dBR0c7UUFDTSxnQkFBVyxHQUFpQixJQUFJLENBQUM7UUEwQjFDOzs7V0FHRztRQUNNLFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBdUJwQzs7V0FFRztRQUNjLGNBQVMsR0FBd0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVyRTs7V0FFRztRQUNjLGVBQVUsR0FBd0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV0RTs7V0FFRztRQUNjLGNBQVMsR0FBd0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVyRTs7V0FFRztR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QUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEl0QWJzdHJhY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9hYnN0cmFjdHMvYWJzdHJhY3QuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGFsIH0gZnJvbSAnYm9vdHN0cmFwLWl0YWxpYSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGlzVHJ1ZUJvb2xlYW5JbnB1dCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2Jvb2xlYW4taW5wdXQnO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuLyoqXG4gKiBNb2RhbCB3aW5kb3dzXG4gKiBAZGVzY3JpcHRpb24gVG8gc2hvdyBmZWF0dXJlZCBjb250ZW50LCBub3RpZmljYXRpb25zIHRvIHVzZXJzLCBvciBwZXJzb25hbGl6ZWQgY29udGVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaXQtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICBleHBvcnRBczogJ2l0TW9kYWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW05nSWYsIFRyYW5zbGF0ZU1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgSXRNb2RhbENvbXBvbmVudCBleHRlbmRzIEl0QWJzdHJhY3RDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICAvKipcbiAgICogU2hvdy9IaWRlIGNsb3NlIGJ1dHRvbiBvbiBoZWFkZXJcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KCkgY2xvc2VCdXR0b246IEJvb2xlYW5JbnB1dCA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFRvIGNvcnJlY3RseSBmb3JtYXQgdGhlIGNvbnRlbnRzIG9mIHRoZSBtb2RhbCB3aXRoIGljb25cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpIGFsZXJ0TW9kYWw6IEJvb2xlYW5JbnB1dCB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVG8gY29ycmVjdGx5IGZvcm1hdCB0aGUgY29udGVudHMgb2YgdGhlIG1vZGFsIHdpdGggTGluayBMaXN0XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKSBkaWFsb2dMaW5rTGlzdDogQm9vbGVhbklucHV0IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBNb2RhbCB0eXBlIFBvcGNvbmZpcm0gY2FuIGJlIHVzZWQgZm9yIHNob3J0IGNvbmZpcm1hdGlvbiBtZXNzYWdlcy5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpIHBvcGNvbmZpcm06IEJvb2xlYW5JbnB1dCB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogWW91IGNhbiBjaG9vc2UgdG8gdXNlIGEgc2Nyb2xsIGluc2lkZSB0aGUgbW9kYWwsIGtlZXBpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyIG9mIHRoZSBtb2RhbCBhbHdheXMgdmlzaWJsZVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KCkgc2Nyb2xsYWJsZTogQm9vbGVhbklucHV0IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUbyBoYXZlIG1vZGFscyB0aGF0IGFwcGVhciB3aXRoIGZhZGVzXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpIGZhZGU/OiBCb29sZWFuSW5wdXQgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBNb2RhbCBhbGlnbm1lbnRcbiAgICogLSA8Yj5jZW50ZXJlZDwvYj46IHRvIHZlcnRpY2FsbHkgY2VudGVyIHRoZSBtb2RhbFxuICAgKiAtIDxiPmxlZnQ8L2I+OiB0byBsZWZ0LWFsaWduIHRoZSBtb2RhbFxuICAgKiAtIDxiPnJpZ2h0PC9iPjogdG8gcmlnaHQtYWxpZ24gdGhlIG1vZGFsXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgQElucHV0KCkgYWxpZ25tZW50OiAnY2VudGVyZWQnIHwgJ2xlZnQnIHwgJ3JpZ2h0JyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIG1vZGFsIHNpemVcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICBASW5wdXQoKSBzaXplOiAnc20nIHwgJ2xnJyB8ICd4bCcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRvIGJldHRlciBkaXN0aW5ndWlzaCB0aGUgZm9vdGVyIGVsZW1lbnQgd2l0aCBhIHNoYWRvd1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KCkgZm9vdGVyU2hhZG93OiBCb29sZWFuSW5wdXQgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgZmlyZXMgaW1tZWRpYXRlbHkgd2hlbiB0aGUgaW5zdGFuY2UgbWV0aG9kIHNob3cgaXMgY2FsbGVkLlxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyBzaG93RXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgZmlyZXMgd2hlbiB0aGUgbW9kYWwgaGFzIGJlZW4gbWFkZSB2aXNpYmxlIHRvIHRoZSB1c2VyIChpdCB3aWxsIHdhaXQgZm9yIENTUyB0cmFuc2l0aW9ucyB0byBjb21wbGV0ZSkuXG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIHNob3duRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgcmFpc2VkIGltbWVkaWF0ZWx5IHdoZW4gdGhlIGluc3RhbmNlIG1ldGhvZCBoaWRlIGhhcyBiZWVuIGNhbGxlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgaGlkZUV2ZW50OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGZpcmVzIHdoZW4gdGhlIG1vZGFsIGhhcyBmaW5pc2hlZCBoaWRpbmcgZnJvbSB0aGUgdXNlciAoaXQgd2lsbCB3YWl0IGZvciBDU1MgdHJhbnNpdGlvbnMgdG8gY29tcGxldGUpLlxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyBoaWRkZW5FdmVudDogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogVGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSBtb2RhbCBpcyBkaXNwbGF5ZWQsIGl0cyBiYWNrZ3JvdW5kIGlzIHN0YXRpYyBhbmQgYSBjbGljayBvdXRzaWRlIHRoZSBtb2RhbCBvciBhIHByZXNzXG4gICAqIG9mIHRoZSBlc2Mga2V5IG9jY3VycyBhbmQgZGF0YS1icy1rZXlib2FyZCBpcyBzZXQgdG8gZmFsc2UuXG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIGhpZGVQcmV2ZW50ZWRFdmVudDogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwcml2YXRlIG1vZGFsPzogTW9kYWw7XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxFbGVtZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIHByaXZhdGUgbW9kYWxFbGVtZW50PzogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0aXRsZScpO1xuXG4gICAgaWYgKHRoaXMubW9kYWxFbGVtZW50KSB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5tb2RhbEVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICAgIHRoaXMubW9kYWwgPSBNb2RhbC5nZXRPckNyZWF0ZUluc3RhbmNlKGVsZW1lbnQpO1xuXG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Nob3cuYnMubW9kYWwnLCBldmVudCA9PiB0aGlzLnNob3dFdmVudC5lbWl0KGV2ZW50KSk7XG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Nob3duLmJzLm1vZGFsJywgZXZlbnQgPT4gdGhpcy5zaG93bkV2ZW50LmVtaXQoZXZlbnQpKTtcbiAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignaGlkZS5icy5tb2RhbCcsIGV2ZW50ID0+IHRoaXMuaGlkZUV2ZW50LmVtaXQoZXZlbnQpKTtcbiAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignaGlkZGVuLmJzLm1vZGFsJywgZXZlbnQgPT4gdGhpcy5oaWRkZW5FdmVudC5lbWl0KGV2ZW50KSk7XG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2hpZGVQcmV2ZW50ZWQuYnMubW9kYWwnLCBldmVudCA9PiB0aGlzLmhpZGVQcmV2ZW50ZWRFdmVudC5lbWl0KGV2ZW50KSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBpc0Nsb3NlQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1RydWVCb29sZWFuSW5wdXQodGhpcy5jbG9zZUJ1dHRvbik7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlzRm9vdGVyU2hhZG93KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1RydWVCb29sZWFuSW5wdXQodGhpcy5mb290ZXJTaGFkb3cpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBtb2RhbENsYXNzKCk6IHN0cmluZyB7XG4gICAgbGV0IG1vZGFsQ2xhc3MgPSAnbW9kYWwnO1xuICAgIGlmIChpc1RydWVCb29sZWFuSW5wdXQodGhpcy5mYWRlKSkge1xuICAgICAgbW9kYWxDbGFzcyArPSBgIGZhZGVgO1xuICAgIH1cbiAgICBpZiAoaXNUcnVlQm9vbGVhbklucHV0KHRoaXMuYWxlcnRNb2RhbCkpIHtcbiAgICAgIG1vZGFsQ2xhc3MgKz0gYCBhbGVydC1tb2RhbGA7XG4gICAgfVxuICAgIGlmIChpc1RydWVCb29sZWFuSW5wdXQodGhpcy5kaWFsb2dMaW5rTGlzdCkpIHtcbiAgICAgIG1vZGFsQ2xhc3MgKz0gYCBpdC1kaWFsb2ctbGluay1saXN0YDtcbiAgICB9XG4gICAgaWYgKGlzVHJ1ZUJvb2xlYW5JbnB1dCh0aGlzLnBvcGNvbmZpcm0pKSB7XG4gICAgICBtb2RhbENsYXNzICs9IGAgcG9wY29uZmlybS1tb2RhbGA7XG4gICAgfVxuICAgIGlmIChpc1RydWVCb29sZWFuSW5wdXQodGhpcy5zY3JvbGxhYmxlKSkge1xuICAgICAgbW9kYWxDbGFzcyArPSBgIGl0LWRpYWxvZy1zY3JvbGxhYmxlYDtcbiAgICB9XG4gICAgcmV0dXJuIG1vZGFsQ2xhc3M7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGRpYWxvZ0NsYXNzKCk6IHN0cmluZyB7XG4gICAgbGV0IGRpYWxvZ0NsYXNzID0gJ21vZGFsLWRpYWxvZyc7XG4gICAgaWYgKHRoaXMuYWxpZ25tZW50KSB7XG4gICAgICBkaWFsb2dDbGFzcyArPSBgIG1vZGFsLWRpYWxvZy0ke3RoaXMuYWxpZ25tZW50fWA7XG4gICAgfVxuICAgIGlmICh0aGlzLnNpemUpIHtcbiAgICAgIGRpYWxvZ0NsYXNzICs9IGAgbW9kYWwtJHt0aGlzLnNpemV9YDtcbiAgICB9XG4gICAgcmV0dXJuIGRpYWxvZ0NsYXNzO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hbnVhbGx5IGFjdGl2YXRlL2RlYWN0aXZhdGUgYSBtb2RhbC4gUmV0dXJucyB0byB0aGUgY2FsbGVyIGJlZm9yZSB0aGUgbW9kYWwgaGFzIGFjdHVhbGx5IGJlZW4gc2hvd24gb3IgaGlkZGVuXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWw/LnRvZ2dsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hbnVhbGx5IG9wZW4gYSBtb2RhbC4gUmV0dXJucyB0byB0aGUgY2FsbGVyIGJlZm9yZSB0aGUgbW9kYWwgaGFzIGFjdHVhbGx5IGJlZW4gZGlzcGxheWVkXG4gICAqL1xuICBwdWJsaWMgc2hvdygpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGFsPy5zaG93KCk7XG4gIH1cblxuICAvKipcbiAgICogTWFudWFsbHkgaGlkZSBhIG1vZGFsLiBSZXR1cm5zIHRvIHRoZSBjYWxsZXIgYmVmb3JlIHRoZSBtb2RhbCBoYXMgYWN0dWFsbHkgYmVlbiBoaWRkZW5cbiAgICovXG4gIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWw/LmhpZGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYW51YWxseSByZXBvc2l0aW9uIHRoZSBtb2RhbCBpZiB0aGUgaGVpZ2h0IG9mIHRoZSBtb2RhbCBjaGFuZ2VzIHdoZW4gaXQgaXMgb3BlbmVkIChpbiBjYXNlIGEgc2Nyb2xsIGJhciBhcHBlYXJzKS5cbiAgICovXG4gIHB1YmxpYyBoYW5kbGVVcGRhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbD8uaGFuZGxlVXBkYXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogRGVzdHJveXMgdGhlIG1vZGFsIG9mIGFuIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGFsPy5kaXNwb3NlKCk7XG4gIH1cblxufVxuIiwiPGRpdiAjbW9kYWxFbGVtZW50IFtpZF09XCJpZFwiXG4gICAgIFtjbGFzc109XCJtb2RhbENsYXNzXCJcbiAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaWQrJy10aXRsZSdcIlxuICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImlkKyctZGVzY3JpcHRpb24nXCI+XG5cbiAgPGRpdiBbY2xhc3NdPVwiZGlhbG9nQ2xhc3NcIj5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiIHJvbGU9XCJkb2N1bWVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYmVmb3JlVGl0bGVdXCI+PC9uZy1jb250ZW50PlxuXG4gICAgICAgIDxoMiBjbGFzcz1cIm1vZGFsLXRpdGxlIGg1XCIgaWQ9XCJ7e2lkfX0tdGl0bGVcIj5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbW9kYWxUaXRsZV1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvaDI+XG5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImlzQ2xvc2VCdXR0b25cIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2VcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInaXQuY29yZS5jbG9zZS1tb2RhbCd8dHJhbnNsYXRlXCI+PC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cbiAgICAgICAgPGRpdiBpZD1cInt7aWR9fS1kZXNjcmlwdGlvblwiPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltkZXNjcmlwdGlvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiIFtjbGFzcy5tb2RhbC1mb290ZXItc2hhZG93XT1cImlzRm9vdGVyU2hhZG93XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmb290ZXJdXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==