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
@@ -1,156 +0,0 @@
1
- import { ContentChild, ContentChildren, Directive, EventEmitter, forwardRef, Inject, Output, Optional, } from '@angular/core';
2
- import { DOCUMENT } from '@angular/common';
3
- import { NgbDropdown, NgbDropdownAnchor, NgbDropdownItem, NgbDropdownMenu, NgbDropdownToggle, NgbNavbar } from '@ng-bootstrap/ng-bootstrap';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./dropdown.config";
6
- export class ItNavbar extends NgbNavbar {
7
- }
8
- ItNavbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItNavbar, deps: null, target: i0.ɵɵFactoryTarget.Directive });
9
- ItNavbar.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: ItNavbar, selector: ".navbar", usesInheritance: true, ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItNavbar, decorators: [{
11
- type: Directive,
12
- args: [{ selector: '.navbar' }]
13
- }] });
14
- /**
15
- * A directive you should put on a dropdown item to enable keyboard navigation.
16
- * Arrow keys will move focus between items marked with this directive.
17
- *
18
- * @since 4.1.0
19
- */
20
- export class ItDropdownItem extends NgbDropdownItem {
21
- constructor(elementRef, _renderer) {
22
- super(elementRef, _renderer);
23
- }
24
- }
25
- ItDropdownItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownItem, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
26
- ItDropdownItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: ItDropdownItem, selector: "[itDropdownItem]", usesInheritance: true, ngImport: i0 });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownItem, decorators: [{
28
- type: Directive,
29
- args: [{
30
- selector: '[itDropdownItem]'
31
- }]
32
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; } });
33
- /**
34
- * A directive that wraps dropdown menu content and dropdown items.
35
- */
36
- export class ItDropdownMenu extends NgbDropdownMenu {
37
- constructor(dropdown, _elementRef) {
38
- super(dropdown, _elementRef);
39
- this.dropdown = dropdown;
40
- }
41
- ngAfterContentInit() {
42
- super.menuItems = this.menuItems;
43
- }
44
- }
45
- ItDropdownMenu.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownMenu, deps: [{ token: forwardRef(() => ItDropdown) }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
46
- ItDropdownMenu.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: ItDropdownMenu, selector: "[itDropdownMenu]", host: { properties: { "attr.data-popper-placement": "placement" } }, queries: [{ propertyName: "menuItems", predicate: ItDropdownItem }], usesInheritance: true, ngImport: i0 });
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownMenu, decorators: [{
48
- type: Directive,
49
- args: [{
50
- selector: '[itDropdownMenu]',
51
- host: {
52
- '[attr.data-popper-placement]': 'placement'
53
- }
54
- }]
55
- }], ctorParameters: function () { return [{ type: ItDropdown, decorators: [{
56
- type: Inject,
57
- args: [forwardRef(() => ItDropdown)]
58
- }] }, { type: i0.ElementRef }]; }, propDecorators: { menuItems: [{
59
- type: ContentChildren,
60
- args: [ItDropdownItem]
61
- }] } });
62
- /**
63
- * A directive to mark an element to which dropdown menu will be anchored.
64
- *
65
- * This is a simple version of the `NgbDropdownToggle` directive.
66
- * It plays the same role, but doesn't listen to click events to toggle dropdown menu thus enabling support
67
- * for events other than click.
68
- *
69
- * @since 1.1.0
70
- */
71
- export class ItDropdownAnchor extends NgbDropdownAnchor {
72
- constructor(dropdown, _elementRef) {
73
- super(dropdown, _elementRef);
74
- this.dropdown = dropdown;
75
- }
76
- }
77
- ItDropdownAnchor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownAnchor, deps: [{ token: forwardRef(() => ItDropdown) }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
78
- ItDropdownAnchor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: ItDropdownAnchor, selector: "[itDropdownAnchor]", usesInheritance: true, ngImport: i0 });
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownAnchor, decorators: [{
80
- type: Directive,
81
- args: [{ selector: '[itDropdownAnchor]' }]
82
- }], ctorParameters: function () { return [{ type: ItDropdown, decorators: [{
83
- type: Inject,
84
- args: [forwardRef(() => ItDropdown)]
85
- }] }, { type: i0.ElementRef }]; } });
86
- /**
87
- * A directive to mark an element that will toggle dropdown via the `click` event.
88
- *
89
- * You can also use `NgbDropdownAnchor` as an alternative.
90
- */
91
- export class ItDropdownToggle extends NgbDropdownToggle {
92
- constructor(dropdown, elementRef) {
93
- super(dropdown, elementRef);
94
- this.dropdown = dropdown;
95
- }
96
- }
97
- ItDropdownToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownToggle, deps: [{ token: forwardRef(() => ItDropdown) }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
98
- ItDropdownToggle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: ItDropdownToggle, selector: "[itDropdownToggle]", host: { properties: { "class": "placement" } }, providers: [{ provide: ItDropdownAnchor, useExisting: forwardRef(() => ItDropdownToggle) }], usesInheritance: true, ngImport: i0 });
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownToggle, decorators: [{
100
- type: Directive,
101
- args: [{
102
- selector: '[itDropdownToggle]',
103
- host: {
104
- '[class]': 'placement'
105
- },
106
- providers: [{ provide: ItDropdownAnchor, useExisting: forwardRef(() => ItDropdownToggle) }]
107
- }]
108
- }], ctorParameters: function () { return [{ type: ItDropdown, decorators: [{
109
- type: Inject,
110
- args: [forwardRef(() => ItDropdown)]
111
- }] }, { type: i0.ElementRef }]; } });
112
- /**
113
- * A directive that provides contextual overlays for displaying lists of links and more.
114
- */
115
- export class ItDropdown extends NgbDropdown {
116
- constructor(_changeDetector, config, _document, _ngZone, _elementRef, _renderer, itNavbar) {
117
- super(_changeDetector, config, _document, _ngZone, _elementRef, _renderer, itNavbar);
118
- /**
119
- * An event fired when the dropdown is opened or closed.
120
- *
121
- * The event payload is a `boolean`:
122
- * * `true` - the dropdown was opened
123
- * * `false` - the dropdown was closed
124
- */
125
- this.openChange = new EventEmitter();
126
- }
127
- ngAfterContentInit() {
128
- super["_menu"] = this._itMenu;
129
- super["_anchor"] = this._itAnchor;
130
- super.ngAfterContentInit();
131
- }
132
- ngOnChanges(changes) {
133
- super.ngOnChanges(changes);
134
- }
135
- ngOnDestroy() { super.ngOnDestroy(); }
136
- }
137
- ItDropdown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdown, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ItDropdownConfig }, { token: DOCUMENT }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: ItNavbar, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
138
- ItDropdown.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: ItDropdown, selector: "[itDropdown]", outputs: { openChange: "openChange" }, queries: [{ propertyName: "_itMenu", first: true, predicate: ItDropdownMenu, descendants: true }, { propertyName: "_itAnchor", first: true, predicate: ItDropdownAnchor, descendants: true }], exportAs: ["itDropdown"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdown, decorators: [{
140
- type: Directive,
141
- args: [{ selector: '[itDropdown]', exportAs: 'itDropdown' }]
142
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.ItDropdownConfig }, { type: undefined, decorators: [{
143
- type: Inject,
144
- args: [DOCUMENT]
145
- }] }, { type: i0.NgZone }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: ItNavbar, decorators: [{
146
- type: Optional
147
- }] }]; }, propDecorators: { _itMenu: [{
148
- type: ContentChild,
149
- args: [ItDropdownMenu, { static: false }]
150
- }], _itAnchor: [{
151
- type: ContentChild,
152
- args: [ItDropdownAnchor, { static: false }]
153
- }], openChange: [{
154
- type: Output
155
- }] } });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFFTCxZQUFZLEVBQ1osZUFBZSxFQUNmLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFJTixNQUFNLEVBSU4sUUFBUSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUk1SSxNQUFNLE9BQU8sUUFBUyxTQUFRLFNBQVM7O3NHQUExQixRQUFROzBGQUFSLFFBQVE7NEZBQVIsUUFBUTtrQkFEcEIsU0FBUzttQkFBQyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUM7O0FBSWhDOzs7OztHQUtHO0FBSUgsTUFBTSxPQUFPLGNBQWUsU0FBUSxlQUFlO0lBQ2pELFlBQVksVUFBbUMsRUFBRSxTQUFvQjtRQUNuRSxLQUFLLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7OzRHQUhVLGNBQWM7Z0dBQWQsY0FBYzs0RkFBZCxjQUFjO2tCQUgxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCOztBQU9EOztHQUVHO0FBT0gsTUFBTSxPQUFPLGNBQWUsU0FBUSxlQUFlO0lBR2pELFlBQ2lELFFBQW9CLEVBQUUsV0FBb0M7UUFDckcsS0FBSyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztRQURjLGFBQVEsR0FBUixRQUFRLENBQVk7SUFFbkUsQ0FBQztJQUVI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LENBQUMsQ0FBQyxDQUFDOzt3R0FoQzNCLFVBQVUsbUZBZ0JULFFBQVE7NEZBaEJULFVBQVUsZ0lBRVAsY0FBYyw0RUFDZCxnQkFBZ0I7NEZBSG5CLFVBQVU7a0JBRHRCLFNBQVM7bUJBQUMsRUFBQyxRQUFRLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUM7OzBCQWlCdEQsTUFBTTsyQkFBQyxRQUFROzswQkFDTyxRQUFROzRDQWZZLE9BQU87c0JBQXJELFlBQVk7dUJBQUMsY0FBYyxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFDSSxTQUFTO3NCQUF6RCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFTckMsVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5qZWN0LFxuICBOZ1pvbmUsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgT3B0aW9uYWwsXG4gIE9uQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdiRHJvcGRvd24sIE5nYkRyb3Bkb3duQW5jaG9yLCBOZ2JEcm9wZG93bkl0ZW0sIE5nYkRyb3Bkb3duTWVudSwgTmdiRHJvcGRvd25Ub2dnbGUsIE5nYk5hdmJhciB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IEl0RHJvcGRvd25Db25maWcgfSBmcm9tICcuL2Ryb3Bkb3duLmNvbmZpZyc7XG5cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnLm5hdmJhcid9KVxuZXhwb3J0IGNsYXNzIEl0TmF2YmFyIGV4dGVuZHMgTmdiTmF2YmFyIHtcbn1cblxuLyoqXG4gKiBBIGRpcmVjdGl2ZSB5b3Ugc2hvdWxkIHB1dCBvbiBhIGRyb3Bkb3duIGl0ZW0gdG8gZW5hYmxlIGtleWJvYXJkIG5hdmlnYXRpb24uXG4gKiBBcnJvdyBrZXlzIHdpbGwgbW92ZSBmb2N1cyBiZXR3ZWVuIGl0ZW1zIG1hcmtlZCB3aXRoIHRoaXMgZGlyZWN0aXZlLlxuICpcbiAqIEBzaW5jZSA0LjEuMFxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbaXREcm9wZG93bkl0ZW1dJ1xufSlcbmV4cG9ydCBjbGFzcyBJdERyb3Bkb3duSXRlbSBleHRlbmRzIE5nYkRyb3Bkb3duSXRlbSB7XG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBfcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYsIF9yZW5kZXJlcik7XG4gIH1cbn1cblxuLyoqXG4gKiBBIGRpcmVjdGl2ZSB0aGF0IHdyYXBzIGRyb3Bkb3duIG1lbnUgY29udGVudCBhbmQgZHJvcGRvd24gaXRlbXMuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tpdERyb3Bkb3duTWVudV0nLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmRhdGEtcG9wcGVyLXBsYWNlbWVudF0nOiAncGxhY2VtZW50J1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIEl0RHJvcGRvd25NZW51IGV4dGVuZHMgTmdiRHJvcGRvd25NZW51IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBDb250ZW50Q2hpbGRyZW4oSXREcm9wZG93bkl0ZW0pIG1lbnVJdGVtczogUXVlcnlMaXN0PEl0RHJvcGRvd25JdGVtPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBJdERyb3Bkb3duKSkgcHVibGljIGRyb3Bkb3duOiBJdERyb3Bkb3duLCBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICAgICAgc3VwZXIoZHJvcGRvd24sIF9lbGVtZW50UmVmKTtcbiAgICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm1lbnVJdGVtcyA9IHRoaXMubWVudUl0ZW1zO1xuICB9XG5cblxuXG59XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgdG8gbWFyayBhbiBlbGVtZW50IHRvIHdoaWNoIGRyb3Bkb3duIG1lbnUgd2lsbCBiZSBhbmNob3JlZC5cbiAqXG4gKiBUaGlzIGlzIGEgc2ltcGxlIHZlcnNpb24gb2YgdGhlIGBOZ2JEcm9wZG93blRvZ2dsZWAgZGlyZWN0aXZlLlxuICogSXQgcGxheXMgdGhlIHNhbWUgcm9sZSwgYnV0IGRvZXNuJ3QgbGlzdGVuIHRvIGNsaWNrIGV2ZW50cyB0byB0b2dnbGUgZHJvcGRvd24gbWVudSB0aHVzIGVuYWJsaW5nIHN1cHBvcnRcbiAqIGZvciBldmVudHMgb3RoZXIgdGhhbiBjbGljay5cbiAqXG4gKiBAc2luY2UgMS4xLjBcbiAqL1xuQERpcmVjdGl2ZShcbiAgICB7c2VsZWN0b3I6ICdbaXREcm9wZG93bkFuY2hvcl0nfSlcbmV4cG9ydCBjbGFzcyBJdERyb3Bkb3duQW5jaG9yIGV4dGVuZHMgTmdiRHJvcGRvd25BbmNob3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBJdERyb3Bkb3duKSkgcHVibGljIGRyb3Bkb3duOiBJdERyb3Bkb3duLCBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICAgICAgc3VwZXIoZHJvcGRvd24sIF9lbGVtZW50UmVmKVxuICB9XG59XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgdG8gbWFyayBhbiBlbGVtZW50IHRoYXQgd2lsbCB0b2dnbGUgZHJvcGRvd24gdmlhIHRoZSBgY2xpY2tgIGV2ZW50LlxuICpcbiAqIFlvdSBjYW4gYWxzbyB1c2UgYE5nYkRyb3Bkb3duQW5jaG9yYCBhcyBhbiBhbHRlcm5hdGl2ZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2l0RHJvcGRvd25Ub2dnbGVdJyxcbiAgaG9zdDoge1xuICAgICdbY2xhc3NdJzogJ3BsYWNlbWVudCdcbiAgfSxcbiAgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6IEl0RHJvcGRvd25BbmNob3IsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEl0RHJvcGRvd25Ub2dnbGUpfV1cbn0pXG5leHBvcnQgY2xhc3MgSXREcm9wZG93blRvZ2dsZSBleHRlbmRzIE5nYkRyb3Bkb3duVG9nZ2xlIHtcbiAgY29uc3RydWN0b3IoQEluamVjdChmb3J3YXJkUmVmKCgpID0+IEl0RHJvcGRvd24pKSBwdWJsaWMgZHJvcGRvd246IEl0RHJvcGRvd24sIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgc3VwZXIoZHJvcGRvd24sIGVsZW1lbnRSZWYpO1xuICB9XG59XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgdGhhdCBwcm92aWRlcyBjb250ZXh0dWFsIG92ZXJsYXlzIGZvciBkaXNwbGF5aW5nIGxpc3RzIG9mIGxpbmtzIGFuZCBtb3JlLlxuICovXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ1tpdERyb3Bkb3duXScsIGV4cG9ydEFzOiAnaXREcm9wZG93bid9KVxuZXhwb3J0IGNsYXNzIEl0RHJvcGRvd24gZXh0ZW5kcyBOZ2JEcm9wZG93biBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBAQ29udGVudENoaWxkKEl0RHJvcGRvd25NZW51LCB7c3RhdGljOiBmYWxzZX0pIF9pdE1lbnU6IEl0RHJvcGRvd25NZW51O1xuICBAQ29udGVudENoaWxkKEl0RHJvcGRvd25BbmNob3IsIHtzdGF0aWM6IGZhbHNlfSkgX2l0QW5jaG9yOiBJdERyb3Bkb3duQW5jaG9yO1xuXG4gIC8qKlxuICAgKiBBbiBldmVudCBmaXJlZCB3aGVuIHRoZSBkcm9wZG93biBpcyBvcGVuZWQgb3IgY2xvc2VkLlxuICAgKlxuICAgKiBUaGUgZXZlbnQgcGF5bG9hZCBpcyBhIGBib29sZWFuYDpcbiAgICogKiBgdHJ1ZWAgLSB0aGUgZHJvcGRvd24gd2FzIG9wZW5lZFxuICAgKiAqIGBmYWxzZWAgLSB0aGUgZHJvcGRvd24gd2FzIGNsb3NlZFxuICAgKi9cbiAgQE91dHB1dCgpIG9wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLCBjb25maWc6IEl0RHJvcGRvd25Db25maWcsXG4gICAgICBASW5qZWN0KERPQ1VNRU5UKSBfZG9jdW1lbnQ6IGFueSwgX25nWm9uZTogTmdab25lLCBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICBfcmVuZGVyZXI6IFJlbmRlcmVyMiwgQE9wdGlvbmFsKCkgaXROYXZiYXI6IEl0TmF2YmFyKSB7XG4gICAgICAgIHN1cGVyKF9jaGFuZ2VEZXRlY3RvciwgY29uZmlnLCBfZG9jdW1lbnQsIF9uZ1pvbmUsIF9lbGVtZW50UmVmLCBfcmVuZGVyZXIsIGl0TmF2YmFyKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBzdXBlcltcIl9tZW51XCJdID0gdGhpcy5faXRNZW51O1xuICAgIHN1cGVyW1wiX2FuY2hvclwiXSA9IHRoaXMuX2l0QW5jaG9yO1xuXG4gICAgc3VwZXIubmdBZnRlckNvbnRlbnRJbml0KCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHsgc3VwZXIubmdPbkRlc3Ryb3koKTsgfVxuXG59Il19
@@ -1,25 +0,0 @@
1
- import { CommonModule } from "@angular/common";
2
- import { NgModule } from "@angular/core";
3
- import { NgbDropdownModule } from "@ng-bootstrap/ng-bootstrap";
4
- import { ItButtonModule } from "../button/button.module";
5
- import { ItIconModule } from "../icon/icon.module";
6
- import { ItUtilsModule } from "../util/utils.module";
7
- import { DropdownDividerComponent } from "./dropdown-divider.component";
8
- import { DropdownItemComponent } from "./dropdown-item.component";
9
- import { DropdownComponent } from "./dropdown.component";
10
- import { ItDropdown, ItDropdownAnchor, ItDropdownItem, ItDropdownMenu, ItDropdownToggle, ItNavbar } from "./dropdown.directive";
11
- import * as i0 from "@angular/core";
12
- export class ItDropdownModule {
13
- }
14
- ItDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
- ItDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownModule, declarations: [DropdownComponent, DropdownDividerComponent, DropdownItemComponent, ItDropdown, ItNavbar, ItDropdownMenu, ItDropdownAnchor, ItDropdownToggle, ItDropdownItem], imports: [CommonModule, NgbDropdownModule, ItIconModule, ItButtonModule, ItUtilsModule], exports: [DropdownComponent, DropdownDividerComponent, DropdownItemComponent, ItDropdown, ItNavbar, ItDropdownMenu, ItDropdownAnchor, ItDropdownToggle, ItDropdownItem] });
16
- ItDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownModule, imports: [CommonModule, NgbDropdownModule, ItIconModule, ItButtonModule, ItUtilsModule] });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownModule, decorators: [{
18
- type: NgModule,
19
- args: [{
20
- declarations: [DropdownComponent, DropdownDividerComponent, DropdownItemComponent, ItDropdown, ItNavbar, ItDropdownMenu, ItDropdownAnchor, ItDropdownToggle, ItDropdownItem],
21
- imports: [CommonModule, NgbDropdownModule, ItIconModule, ItButtonModule, ItUtilsModule],
22
- exports: [DropdownComponent, DropdownDividerComponent, DropdownItemComponent, ItDropdown, ItNavbar, ItDropdownMenu, ItDropdownAnchor, ItDropdownToggle, ItDropdownItem]
23
- }]
24
- }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFPaEksTUFBTSxPQUFPLGdCQUFnQjs7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQUpWLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLHFCQUFxQixFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsYUFDakssWUFBWSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsYUFBYSxhQUM1RSxpQkFBaUIsRUFBRSx3QkFBd0IsRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjOytHQUU3SixnQkFBZ0IsWUFIZixZQUFZLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxhQUFhOzRGQUc3RSxnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDO29CQUM1SyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUM7b0JBQ3ZGLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLHFCQUFxQixFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsQ0FBQztpQkFDMUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOZ2JEcm9wZG93bk1vZHVsZSB9IGZyb20gXCJAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcFwiO1xuaW1wb3J0IHsgSXRCdXR0b25Nb2R1bGUgfSBmcm9tIFwiLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGVcIjtcbmltcG9ydCB7IEl0SWNvbk1vZHVsZSB9IGZyb20gXCIuLi9pY29uL2ljb24ubW9kdWxlXCI7XG5pbXBvcnQgeyBJdFV0aWxzTW9kdWxlIH0gZnJvbSBcIi4uL3V0aWwvdXRpbHMubW9kdWxlXCI7XG5pbXBvcnQgeyBEcm9wZG93bkRpdmlkZXJDb21wb25lbnQgfSBmcm9tIFwiLi9kcm9wZG93bi1kaXZpZGVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRHJvcGRvd25JdGVtQ29tcG9uZW50IH0gZnJvbSBcIi4vZHJvcGRvd24taXRlbS5jb21wb25lbnRcIjtcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSBcIi4vZHJvcGRvd24uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBJdERyb3Bkb3duLCBJdERyb3Bkb3duQW5jaG9yLCBJdERyb3Bkb3duSXRlbSwgSXREcm9wZG93bk1lbnUsIEl0RHJvcGRvd25Ub2dnbGUsIEl0TmF2YmFyIH0gZnJvbSBcIi4vZHJvcGRvd24uZGlyZWN0aXZlXCI7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbRHJvcGRvd25Db21wb25lbnQsIERyb3Bkb3duRGl2aWRlckNvbXBvbmVudCwgRHJvcGRvd25JdGVtQ29tcG9uZW50LCBJdERyb3Bkb3duLCBJdE5hdmJhciwgSXREcm9wZG93bk1lbnUsIEl0RHJvcGRvd25BbmNob3IsIEl0RHJvcGRvd25Ub2dnbGUsIEl0RHJvcGRvd25JdGVtXSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ2JEcm9wZG93bk1vZHVsZSwgSXRJY29uTW9kdWxlLCBJdEJ1dHRvbk1vZHVsZSwgSXRVdGlsc01vZHVsZV0sXG4gICAgZXhwb3J0czogW0Ryb3Bkb3duQ29tcG9uZW50LCBEcm9wZG93bkRpdmlkZXJDb21wb25lbnQsIERyb3Bkb3duSXRlbUNvbXBvbmVudCwgSXREcm9wZG93biwgSXROYXZiYXIsIEl0RHJvcGRvd25NZW51LCBJdERyb3Bkb3duQW5jaG9yLCBJdERyb3Bkb3duVG9nZ2xlLCBJdERyb3Bkb3duSXRlbV1cbn0pXG5leHBvcnQgY2xhc3MgSXREcm9wZG93bk1vZHVsZSB7fSJdfQ==
@@ -1,27 +0,0 @@
1
- export var IconSizeEnum;
2
- (function (IconSizeEnum) {
3
- IconSizeEnum["sx"] = "icon-xs";
4
- IconSizeEnum["sm"] = "icon-sm";
5
- IconSizeEnum["lg"] = "icon-lg";
6
- IconSizeEnum["xl"] = "icon-xl";
7
- IconSizeEnum["default"] = "";
8
- })(IconSizeEnum || (IconSizeEnum = {}));
9
- export var IconColorEnum;
10
- (function (IconColorEnum) {
11
- IconColorEnum["default"] = "default";
12
- IconColorEnum["primary"] = "primary";
13
- IconColorEnum["secondary"] = "secondary";
14
- IconColorEnum["info"] = "info";
15
- IconColorEnum["success"] = "success";
16
- IconColorEnum["warning"] = "warning";
17
- IconColorEnum["danger"] = "danger";
18
- IconColorEnum["disable"] = "disable";
19
- IconColorEnum["light"] = "light";
20
- IconColorEnum["white"] = "white";
21
- })(IconColorEnum || (IconColorEnum = {}));
22
- export var IconBackgroundColorEnum;
23
- (function (IconBackgroundColorEnum) {
24
- IconBackgroundColorEnum["light"] = "light";
25
- IconBackgroundColorEnum["dark"] = "dark";
26
- })(IconBackgroundColorEnum || (IconBackgroundColorEnum = {}));
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2VudW1zL2ljb25zLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksWUFNWDtBQU5ELFdBQVksWUFBWTtJQUN0Qiw4QkFBYyxDQUFBO0lBQ2QsOEJBQWMsQ0FBQTtJQUNkLDhCQUFjLENBQUE7SUFDZCw4QkFBYyxDQUFBO0lBQ2QsNEJBQVksQ0FBQTtBQUNkLENBQUMsRUFOVyxZQUFZLEtBQVosWUFBWSxRQU12QjtBQUVELE1BQU0sQ0FBTixJQUFZLGFBV1g7QUFYRCxXQUFZLGFBQWE7SUFDdkIsb0NBQW1CLENBQUE7SUFDbkIsb0NBQW1CLENBQUE7SUFDbkIsd0NBQXVCLENBQUE7SUFDdkIsOEJBQWEsQ0FBQTtJQUNiLG9DQUFtQixDQUFBO0lBQ25CLG9DQUFtQixDQUFBO0lBQ25CLGtDQUFpQixDQUFBO0lBQ2pCLG9DQUFtQixDQUFBO0lBQ25CLGdDQUFlLENBQUE7SUFDZixnQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFYVyxhQUFhLEtBQWIsYUFBYSxRQVd4QjtBQUVELE1BQU0sQ0FBTixJQUFZLHVCQUdYO0FBSEQsV0FBWSx1QkFBdUI7SUFDakMsMENBQWUsQ0FBQTtJQUNmLHdDQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQUdsQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEljb25TaXplRW51bSB7XG4gIHN4ID0gJ2ljb24teHMnLFxuICBzbSA9ICdpY29uLXNtJyxcbiAgbGcgPSAnaWNvbi1sZycsXG4gIHhsID0gJ2ljb24teGwnLFxuICBkZWZhdWx0ID0gJydcbn1cblxuZXhwb3J0IGVudW0gSWNvbkNvbG9yRW51bSB7XG4gIGRlZmF1bHQgPSAnZGVmYXVsdCcsXG4gIHByaW1hcnkgPSAncHJpbWFyeScsXG4gIHNlY29uZGFyeSA9ICdzZWNvbmRhcnknLFxuICBpbmZvID0gJ2luZm8nLFxuICBzdWNjZXNzID0gJ3N1Y2Nlc3MnLFxuICB3YXJuaW5nID0gJ3dhcm5pbmcnLFxuICBkYW5nZXIgPSAnZGFuZ2VyJyxcbiAgZGlzYWJsZSA9ICdkaXNhYmxlJyxcbiAgbGlnaHQgPSAnbGlnaHQnLFxuICB3aGl0ZSA9ICd3aGl0ZScsXG59XG5cbmV4cG9ydCBlbnVtIEljb25CYWNrZ3JvdW5kQ29sb3JFbnVtIHtcbiAgbGlnaHQgPSAnbGlnaHQnLFxuICBkYXJrID0gJ2RhcmsnLFxufVxuXG4iXX0=
@@ -1,154 +0,0 @@
1
- /**
2
- * Classe di utility creata sulla base del seguente sorgente di bootstrap-italia: https://github.com/italia/bootstrap-italia/blob/main/src/js/plugins/input-password.js
3
- * TODO: Da sostituire una volta che i metodi scoreText, scoreColor, e calculateScore
4
- * saranno importabili dalla libreria bootstrap-italia.
5
- */
6
- export class FormInputPasswordUtils {
7
- constructor(_config) {
8
- this._config = _config;
9
- }
10
- /**
11
- * Returns a value between -1 and 100 to score
12
- * the user's password.
13
- *
14
- * @param string password The password to be checked.
15
- * @return int
16
- */
17
- calculateScore(password) {
18
- var score = 0;
19
- // empty password
20
- if (password.trim().length === 0) {
21
- return -2;
22
- }
23
- // password < this._config.minimumLength
24
- if (password.length < this._config.minimumLength) {
25
- return -1;
26
- }
27
- // password length
28
- score += password.length * 4;
29
- score += this._checkRepetition(1, password).length - password.length;
30
- score += this._checkRepetition(2, password).length - password.length;
31
- score += this._checkRepetition(3, password).length - password.length;
32
- score += this._checkRepetition(4, password).length - password.length;
33
- // password has 3 numbers
34
- if (password.match(/(.*[0-9].*[0-9].*[0-9])/)) {
35
- score += 5;
36
- }
37
- // password has at least 2 sybols
38
- let symbols = '.*[!,@,#,$,%,^,&,*,?,_,~]';
39
- symbols = new RegExp('(' + symbols + symbols + ')');
40
- if (password.match(symbols)) {
41
- score += 5;
42
- }
43
- // password has Upper and Lower chars
44
- if (password.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) {
45
- score += 10;
46
- }
47
- // password has number and chars
48
- if (password.match(/([a-zA-Z])/) && password.match(/([0-9])/)) {
49
- score += 15;
50
- }
51
- // password has number and symbol
52
- if (password.match(/([!,@,#,$,%,^,&,*,?,_,~])/) && password.match(/([0-9])/)) {
53
- score += 15;
54
- }
55
- // password has char and symbol
56
- if (password.match(/([!,@,#,$,%,^,&,*,?,_,~])/) && password.match(/([a-zA-Z])/)) {
57
- score += 15;
58
- }
59
- // password is just numbers or chars
60
- if (password.match(/^\w+$/) || password.match(/^\d+$/)) {
61
- score -= 10;
62
- }
63
- if (score > 100) {
64
- score = 100;
65
- }
66
- if (score < 0) {
67
- score = 0;
68
- }
69
- return score;
70
- }
71
- /**
72
- * Checks for repetition of characters in
73
- * a string
74
- *
75
- * @param int rLen Repetition length.
76
- * @param string str The string to be checked.
77
- * @return string
78
- */
79
- _checkRepetition(rLen, str) {
80
- var res = '', repeated = false;
81
- for (var i = 0; i < str.length; i++) {
82
- repeated = true;
83
- for (var j = 0; j < rLen && j + i + rLen < str.length; j++) {
84
- repeated = repeated && str.charAt(j + i) === str.charAt(j + i + rLen);
85
- }
86
- if (j < rLen) {
87
- repeated = false;
88
- }
89
- if (repeated) {
90
- i += rLen - 1;
91
- repeated = false;
92
- }
93
- else {
94
- res += str.charAt(i);
95
- }
96
- }
97
- return res;
98
- }
99
- /**
100
- * Returns strings based on the score given.
101
- *
102
- * @param int score Score base.
103
- * @return string
104
- */
105
- scoreText(score) {
106
- if (score === -1) {
107
- return this._config.shortPass;
108
- }
109
- else if (score === -2) {
110
- return this._config.enterPass;
111
- }
112
- score = score < 0 ? 0 : score;
113
- if (score < 26) {
114
- return this._config.shortPass;
115
- }
116
- if (score < 51) {
117
- return this._config.badPass;
118
- }
119
- if (score < 76) {
120
- return this._config.goodPass;
121
- }
122
- return this._config.strongPass;
123
- }
124
- scoreColor(score) {
125
- if (score === -1) {
126
- return 'danger';
127
- }
128
- if (score === -2) {
129
- return 'muted';
130
- }
131
- score = score < 0 ? 0 : score;
132
- if (score < 26) {
133
- return 'danger';
134
- }
135
- if (score < 51) {
136
- return 'warning';
137
- }
138
- if (score < 76) {
139
- return 'success';
140
- }
141
- return 'success';
142
- }
143
- }
144
- FormInputPasswordUtils.DEFAULT_CONFIG = {
145
- shortPass: 'Password molto debole',
146
- badPass: 'Password debole',
147
- goodPass: 'Password sicura',
148
- strongPass: 'Password molto sicura',
149
- enterPass: 'Inserisci almeno 8 caratteri e una lettera maiuscola',
150
- alertCaps: 'CAPS LOCK inserito',
151
- showText: true,
152
- minimumLength: 4,
153
- };
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC1wYXNzd29yZC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2Zvcm0taW5wdXQvZm9ybS1pbnB1dC1wYXNzd29yZC51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQWFqQyxZQUFvQixPQUFvQztRQUFwQyxZQUFPLEdBQVAsT0FBTyxDQUE2QjtJQUFHLENBQUM7SUFFMUQ7Ozs7OztLQU1DO0lBQ0ksY0FBYyxDQUFDLFFBQWdCO1FBQ3BDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQTtRQUViLGlCQUFpQjtRQUNqQixJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sQ0FBQyxDQUFDLENBQUE7U0FDVjtRQUVELHdDQUF3QztRQUN4QyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUU7WUFDaEQsT0FBTyxDQUFDLENBQUMsQ0FBQTtTQUNWO1FBRUQsa0JBQWtCO1FBQ2xCLEtBQUssSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQTtRQUM1QixLQUFLLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQTtRQUNwRSxLQUFLLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQTtRQUNwRSxLQUFLLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQTtRQUNwRSxL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Q0FBQTtTQUNqQjtRQUNELElBQUksS0FBSyxHQUFHLEVBQUUsRUFBRTtZQUNkLE9BQU8sU0FBUyxDQUFBO1NBQ2pCO1FBRUQsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQzs7QUF2S3NCLHFDQUFjLEdBQUk7SUFDdkMsU0FBUyxFQUFFLHVCQUF1QjtJQUNsQyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFFBQVEsRUFBRSxpQkFBaUI7SUFDM0IsVUFBVSxFQUFFLHVCQUF1QjtJQUNuQyxTQUFTLEVBQUUsc0RBQXNEO0lBQ2pFLFNBQVMsRUFBRSxvQkFBb0I7SUFDL0IsUUFBUSxFQUFFLElBQUk7SUFDZCxhQUFhLEVBQUUsQ0FBQztDQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFzc3dvcmRTdHJlbmd0aE1ldGVyQ29uZmlnIH0gZnJvbSBcIi4vZm9ybS1pbnB1dC5jb21wb25lbnRcIlxuXG4vKipcbiAqIENsYXNzZSBkaSB1dGlsaXR5IGNyZWF0YSBzdWxsYSBiYXNlIGRlbCBzZWd1ZW50ZSBzb3JnZW50ZSBkaSBib290c3RyYXAtaXRhbGlhOiBodHRwczovL2dpdGh1Yi5jb20vaXRhbGlhL2Jvb3RzdHJhcC1pdGFsaWEvYmxvYi9tYWluL3NyYy9qcy9wbHVnaW5zL2lucHV0LXBhc3N3b3JkLmpzXG4gKiBUT0RPOiBEYSBzb3N0aXR1aXJlIHVuYSB2b2x0YSBjaGUgaSBtZXRvZGkgc2NvcmVUZXh0LCBzY29yZUNvbG9yLCBlIGNhbGN1bGF0ZVNjb3JlIFxuICogc2FyYW5ubyBpbXBvcnRhYmlsaSBkYWxsYSBsaWJyZXJpYSBib290c3RyYXAtaXRhbGlhLlxuICovXG5leHBvcnQgY2xhc3MgRm9ybUlucHV0UGFzc3dvcmRVdGlscyB7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0NPTkZJRyA9ICB7XG4gICAgc2hvcnRQYXNzOiAnUGFzc3dvcmQgbW9sdG8gZGVib2xlJyxcbiAgICBiYWRQYXNzOiAnUGFzc3dvcmQgZGVib2xlJyxcbiAgICBnb29kUGFzczogJ1Bhc3N3b3JkIHNpY3VyYScsXG4gICAgc3Ryb25nUGFzczogJ1Bhc3N3b3JkIG1vbHRvIHNpY3VyYScsXG4gICAgZW50ZXJQYXNzOiAnSW5zZXJpc2NpIGFsbWVubyA4IGNhcmF0dGVyaSBlIHVuYSBsZXR0ZXJhIG1haXVzY29sYScsXG4gICAgYWxlcnRDYXBzOiAnQ0FQUyBMT0NLIGluc2VyaXRvJyxcbiAgICBzaG93VGV4dDogdHJ1ZSxcbiAgICBtaW5pbXVtTGVuZ3RoOiA0LFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NvbmZpZzogUGFzc3dvcmRTdHJlbmd0aE1ldGVyQ29uZmlnKSB7fVxuXG4gICAgLyoqXG4gICAqIFJldHVybnMgYSB2YWx1ZSBiZXR3ZWVuIC0xIGFuZCAxMDAgdG8gc2NvcmVcbiAgICogdGhlIHVzZXIncyBwYXNzd29yZC5cbiAgICpcbiAgICogQHBhcmFtICBzdHJpbmcgcGFzc3dvcmQgVGhlIHBhc3N3b3JkIHRvIGJlIGNoZWNrZWQuXG4gICAqIEByZXR1cm4gaW50XG4gICAqL1xuICBwdWJsaWMgY2FsY3VsYXRlU2NvcmUocGFzc3dvcmQ6IHN0cmluZykge1xuICAgIHZhciBzY29yZSA9IDBcblxuICAgIC8vIGVtcHR5IHBhc3N3b3JkXG4gICAgaWYgKHBhc3N3b3JkLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiAtMlxuICAgIH1cblxuICAgIC8vIHBhc3N3b3JkIDwgdGhpcy5fY29uZmlnLm1pbmltdW1MZW5ndGhcbiAgICBpZiAocGFzc3dvcmQubGVuZ3RoIDwgdGhpcy5fY29uZmlnLm1pbmltdW1MZW5ndGgpIHtcbiAgICAgIHJldHVybiAtMVxuICAgIH1cblxuICAgIC8vIHBhc3N3b3JkIGxlbmd0aFxuICAgIHNjb3JlICs9IHBhc3N3b3JkLmxlbmd0aCAqIDRcbiAgICBzY29yZSArPSB0aGlzLl9jaGVja1JlcGV0aXRpb24oMSwgcGFzc3dvcmQpLmxlbmd0aCAtIHBhc3N3b3JkLmxlbmd0aFxuICAgIHNjb3JlICs9IHRoaXMuX2NoZWNrUmVwZXRpdGlvbigyLCBwYXNzd29yZCkubGVuZ3RoIC0gcGFzc3dvcmQubGVuZ3RoXG4gICAgc2NvcmUgKz0gdGhpcy5fY2hlY2tSZXBldGl0aW9uKDMsIHBhc3N3b3JkKS5sZW5ndGggLSBwYXNzd29yZC5sZW5ndGhcbiAgICBzY29yZSArPSB0aGlzLl9jaGVja1JlcGV0aXRpb24oNCwgcGFzc3dvcmQpLmxlbmd0aCAtIHBhc3N3b3JkLmxlbmd0aFxuXG4gICAgLy8gcGFzc3dvcmQgaGFzIDMgbnVtYmVyc1xuICAgIGlmIChwYXNzd29yZC5tYXRjaCgvKC4qWzAtOV0uKlswLTldLipbMC05XSkvKSkge1xuICAgICAgc2NvcmUgKz0gNVxuICAgIH1cblxuICAgIC8vIHBhc3N3b3JkIGhhcyBhdCBsZWFzdCAyIHN5Ym9sc1xuICAgIGxldCBzeW1ib2xzOiBSZWdFeHAgfCBzdHJpbmcgPSAnLipbISxALCMsJCwlLF4sJiwqLD8sXyx+XSc7XG4gICAgc3ltYm9scyA9IG5ldyBSZWdFeHAoJygnICsgc3ltYm9scyArIHN5bWJvbHMgKyAnKScpXG4gICAgaWYgKHBhc3N3b3JkLm1hdGNoKHN5bWJvbHMpKSB7XG4gICAgICBzY29yZSArPSA1XG4gICAgfVxuXG4gICAgLy8gcGFzc3dvcmQgaGFzIFVwcGVyIGFuZCBMb3dlciBjaGFyc1xuICAgIGlmIChwYXNzd29yZC5tYXRjaCgvKFthLXpdLipbQS1aXSl8KFtBLVpdLipbYS16XSkvKSkge1xuICAgICAgc2NvcmUgKz0gMTBcbiAgICB9XG5cbiAgICAvLyBwYXNzd29yZCBoYXMgbnVtYmVyIGFuZCBjaGFyc1xuICAgIGlmIChwYXNzd29yZC5tYXRjaCgvKFthLXpBLVpdKS8pICYmIHBhc3N3b3JkLm1hdGNoKC8oWzAtOV0pLykpIHtcbiAgICAgIHNjb3JlICs9IDE1XG4gICAgfVxuXG4gICAgLy8gcGFzc3dvcmQgaGFzIG51bWJlciBhbmQgc3ltYm9sXG4gICAgaWYgKHBhc3N3b3JkLm1hdGNoKC8oWyEsQCwjLCQsJSxeLCYsKiw/LF8sfl0pLykgJiYgcGFzc3dvcmQubWF0Y2goLyhbMC05XSkvKSkge1xuICAgICAgc2NvcmUgKz0gMTVcbiAgICB9XG5cbiAgICAvLyBwYXNzd29yZCBoYXMgY2hhciBhbmQgc3ltYm9sXG4gICAgaWYgKHBhc3N3b3JkLm1hdGNoKC8oWyEsQCwjLCQsJSxeLCYsKiw/LF8sfl0pLykgJiYgcGFzc3dvcmQubWF0Y2goLyhbYS16QS1aXSkvKSkge1xuICAgICAgc2NvcmUgKz0gMTVcbiAgICB9XG5cbiAgICAvLyBwYXNzd29yZCBpcyBqdXN0IG51bWJlcnMgb3IgY2hhcnNcbiAgICBpZiAocGFzc3dvcmQubWF0Y2goL15cXHcrJC8pIHx8IHBhc3N3b3JkLm1hdGNoKC9eXFxkKyQvKSkge1xuICAgICAgc2NvcmUgLT0gMTBcbiAgICB9XG5cbiAgICBpZiAoc2NvcmUgPiAxMDApIHtcbiAgICAgIHNjb3JlID0gMTAwXG4gICAgfVxuXG4gICAgaWYgKHNjb3JlIDwgMCkge1xuICAgICAgc2NvcmUgPSAwXG4gICAgfVxuXG4gICAgcmV0dXJuIHNjb3JlXG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGZvciByZXBldGl0aW9uIG9mIGNoYXJhY3RlcnMgaW5cbiAgICogYSBzdHJpbmdcbiAgICpcbiAgICogQHBhcmFtIGludCByTGVuIFJlcGV0aXRpb24gbGVuZ3RoLlxuICAgKiBAcGFyYW0gc3RyaW5nIHN0ciBUaGUgc3RyaW5nIHRvIGJlIGNoZWNrZWQuXG4gICAqIEByZXR1cm4gc3RyaW5nXG4gICAqL1xuICBwcml2YXRlIF9jaGVja1JlcGV0aXRpb24ockxlbiwgc3RyKSB7XG4gICAgdmFyIHJlcyA9ICcnLFxuICAgICAgcmVwZWF0ZWQgPSBmYWxzZVxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgICByZXBlYXRlZCA9IHRydWVcbiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgckxlbiAmJiBqICsgaSArIHJMZW4gPCBzdHIubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgcmVwZWF0ZWQgPSByZXBlYXRlZCAmJiBzdHIuY2hhckF0KGogKyBpKSA9PT0gc3RyLmNoYXJBdChqICsgaSArIHJMZW4pXG4gICAgICB9XG4gICAgICBpZiAoaiA8IHJMZW4pIHtcbiAgICAgICAgcmVwZWF0ZWQgPSBmYWxzZVxuICAgICAgfVxuICAgICAgaWYgKHJlcGVhdGVkKSB7XG4gICAgICAgIGkgKz0gckxlbiAtIDFcbiAgICAgICAgcmVwZWF0ZWQgPSBmYWxzZVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzICs9IHN0ci5jaGFyQXQoaSlcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgc3RyaW5ncyBiYXNlZCBvbiB0aGUgc2NvcmUgZ2l2ZW4uXG4gICAqXG4gICAqIEBwYXJhbSBpbnQgc2NvcmUgU2NvcmUgYmFzZS5cbiAgICogQHJldHVybiBzdHJpbmdcbiAgICovXG4gICBwdWJsaWMgc2NvcmVUZXh0KHNjb3JlKSB7XG5cbiAgICBpZiAoc2NvcmUgPT09IC0xKSB7XG4gICAgICByZXR1cm4gdGhpcy5fY29uZmlnLnNob3J0UGFzcztcbiAgICB9IGVsc2UgaWYgKHNjb3JlID09PSAtMikge1xuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5lbnRlclBhc3M7XG4gICAgfVxuXG4gICAgc2NvcmUgPSBzY29yZSA8IDAgPyAwIDogc2NvcmVcblxuICAgIGlmIChzY29yZSA8IDI2KSB7XG4gICAgICByZXR1cm4gdGhpcy5fY29uZmlnLnNob3J0UGFzc1xuICAgIH1cbiAgICBpZiAoc2NvcmUgPCA1MSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5iYWRQYXNzXG4gICAgfVxuICAgIGlmIChzY29yZSA8IDc2KSB7XG4gICAgICByZXR1cm4gdGhpcy5fY29uZmlnLmdvb2RQYXNzXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5zdHJvbmdQYXNzXG4gIH1cblxuICBwdWJsaWMgc2NvcmVDb2xvcihzY29yZSkge1xuICAgIGlmIChzY29yZSA9PT0gLTEpIHtcbiAgICAgIHJldHVybiAnZGFuZ2VyJ1xuICAgIH1cbiAgICBpZiAoc2NvcmUgPT09IC0yKSB7XG4gICAgICByZXR1cm4gJ211dGVkJ1xuICAgIH1cblxuICAgIHNjb3JlID0gc2NvcmUgPCAwID8gMCA6IHNjb3JlXG5cbiAgICBpZiAoc2NvcmUgPCAyNikge1xuICAgICAgcmV0dXJuICdkYW5nZXInXG4gICAgfVxuICAgIGlmIChzY29yZSA8IDUxKSB7XG4gICAgICByZXR1cm4gJ3dhcm5pbmcnXG4gICAgfVxuICAgIGlmIChzY29yZSA8IDc2KSB7XG4gICAgICByZXR1cm4gJ3N1Y2Nlc3MnXG4gICAgfVxuXG4gICAgcmV0dXJuICdzdWNjZXNzJ1xuICB9XG59Il19