design-angular-kit 1.0.0-1 → 1.0.0-11

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 (229) hide show
  1. package/README.md +183 -24
  2. package/assets/i18n/en.json +97 -0
  3. package/assets/i18n/it.json +97 -0
  4. package/esm2020/lib/abstracts/abstract-form.component.mjs +171 -0
  5. package/esm2020/lib/abstracts/abstract.component.mjs +45 -0
  6. package/esm2020/lib/components/components.module.mjs +256 -0
  7. package/esm2020/lib/components/core/accordion/accordion.component.mjs +31 -0
  8. package/esm2020/lib/components/core/alert/alert.component.mjs +69 -0
  9. package/esm2020/lib/components/core/badge/badge.directive.mjs +34 -0
  10. package/esm2020/lib/components/core/button/button.directive.mjs +80 -0
  11. package/esm2020/lib/components/core/callout/callout.component.mjs +84 -0
  12. package/esm2020/lib/components/core/card/card.component.mjs +58 -0
  13. package/esm2020/lib/components/core/carousel/carousel/carousel.component.mjs +79 -0
  14. package/esm2020/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +15 -0
  15. package/esm2020/lib/components/core/chip/chip.component.mjs +89 -0
  16. package/esm2020/lib/components/core/collapse/collapse.component.mjs +101 -0
  17. package/esm2020/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +24 -0
  18. package/esm2020/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +11 -0
  19. package/esm2020/lib/components/core/dimmer/dimmer.component.mjs +59 -0
  20. package/esm2020/lib/components/core/dropdown/dropdown/dropdown.component.mjs +130 -0
  21. package/esm2020/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +68 -0
  22. package/esm2020/lib/components/core/forward/forward.directive.mjs +51 -0
  23. package/esm2020/lib/components/core/link/link.component.mjs +40 -0
  24. package/esm2020/lib/components/core/list/list/list.component.mjs +13 -0
  25. package/esm2020/lib/components/core/list/list-item/list-item.component.mjs +36 -0
  26. package/esm2020/lib/components/core/modal/modal.component.mjs +98 -0
  27. package/esm2020/lib/components/core/notifications/notifications.component.mjs +110 -0
  28. package/esm2020/lib/components/core/pagination/pagination.component.mjs +131 -0
  29. package/esm2020/lib/components/core/popover/popover.directive.mjs +179 -0
  30. package/esm2020/lib/components/core/progress-bar/progress-bar.component.mjs +34 -0
  31. package/esm2020/lib/components/core/progress-button/progress-button.component.mjs +27 -0
  32. package/esm2020/lib/components/core/rating/rating.component.mjs +49 -0
  33. package/esm2020/lib/components/core/spinner/spinner.component.mjs +35 -0
  34. package/esm2020/lib/components/core/steppers/steppers-container/steppers-container.component.mjs +127 -0
  35. package/esm2020/lib/components/core/steppers/steppers-item/steppers-item.component.mjs +19 -0
  36. package/esm2020/lib/components/core/tab/tab-container/tab-container.component.mjs +59 -0
  37. package/esm2020/lib/components/core/tab/tab-item/tab-item.component.mjs +36 -0
  38. package/esm2020/lib/components/core/table/table.component.mjs +57 -0
  39. package/esm2020/lib/components/core/tooltip/tooltip.directive.mjs +143 -0
  40. package/esm2020/lib/components/form/checkbox/checkbox.component.mjs +40 -0
  41. package/esm2020/lib/components/form/input/input.component.mjs +222 -0
  42. package/esm2020/lib/components/form/password-input/password-input.component.mjs +112 -0
  43. package/esm2020/lib/components/form/radio-button/radio-button.component.mjs +68 -0
  44. package/esm2020/lib/components/form/select/select.component.mjs +62 -0
  45. package/esm2020/lib/components/form/textarea/textarea.component.mjs +46 -0
  46. package/esm2020/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +139 -0
  47. package/esm2020/lib/components/form/upload-file-list/upload-file-list.component.mjs +104 -0
  48. package/esm2020/lib/components/navigation/back-button/back-button.component.mjs +69 -0
  49. package/esm2020/lib/components/navigation/back-to-top/back-to-top.component.mjs +64 -0
  50. package/esm2020/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +56 -0
  51. package/esm2020/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +23 -0
  52. package/esm2020/lib/components/navigation/header/header.component.mjs +57 -0
  53. package/esm2020/lib/components/utils/icon/icon.component.mjs +54 -0
  54. package/esm2020/lib/components/utils/language-switcher/language-switcher.component.mjs +39 -0
  55. package/esm2020/lib/components/utils/not-found-page/not-found-page.component.mjs +13 -0
  56. package/esm2020/lib/design-angular-kit.module.mjs +45 -131
  57. package/esm2020/lib/interfaces/core.mjs +16 -0
  58. package/esm2020/lib/interfaces/form.mjs +2 -0
  59. package/esm2020/lib/interfaces/icon.mjs +2 -0
  60. package/esm2020/lib/interfaces/utils.mjs +2 -0
  61. package/esm2020/lib/pipes/mark-matching-text.pipe.mjs +36 -0
  62. package/esm2020/lib/services/notifications/notifications.service.mjs +120 -0
  63. package/esm2020/lib/utils/boolean-input.mjs +15 -0
  64. package/esm2020/lib/utils/file-utils.mjs +73 -0
  65. package/esm2020/lib/utils/regex.mjs +26 -0
  66. package/esm2020/lib/validators/it-validators.mjs +134 -0
  67. package/esm2020/public_api.mjs +67 -36
  68. package/fesm2015/design-angular-kit.mjs +3550 -2712
  69. package/fesm2015/design-angular-kit.mjs.map +1 -1
  70. package/fesm2020/design-angular-kit.mjs +3519 -2722
  71. package/fesm2020/design-angular-kit.mjs.map +1 -1
  72. package/lib/abstracts/abstract-form.component.d.ts +86 -0
  73. package/lib/abstracts/abstract.component.d.ts +30 -0
  74. package/lib/components/components.module.d.ts +60 -0
  75. package/lib/components/core/accordion/accordion.component.d.ts +12 -0
  76. package/lib/components/core/alert/alert.component.d.ts +39 -0
  77. package/lib/components/core/badge/badge.directive.d.ts +16 -0
  78. package/lib/components/core/button/button.directive.d.ts +36 -0
  79. package/lib/components/core/callout/callout.component.d.ts +47 -0
  80. package/lib/components/core/card/card.component.d.ts +41 -0
  81. package/lib/components/core/carousel/carousel/carousel.component.d.ts +50 -0
  82. package/lib/components/core/carousel/carousel-item/carousel-item.component.d.ts +11 -0
  83. package/lib/components/core/chip/chip.component.d.ts +62 -0
  84. package/lib/components/core/collapse/collapse.component.d.ts +60 -0
  85. package/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.d.ts +12 -0
  86. package/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.d.ts +5 -0
  87. package/lib/components/core/dimmer/dimmer.component.d.ts +24 -0
  88. package/lib/components/core/dropdown/dropdown/dropdown.component.d.ts +81 -0
  89. package/lib/components/core/dropdown/dropdown-item/dropdown-item.component.d.ts +39 -0
  90. package/lib/components/core/forward/forward.directive.d.ts +14 -0
  91. package/lib/components/core/link/link.component.d.ts +31 -0
  92. package/lib/components/core/list/list/list.component.d.ts +10 -0
  93. package/lib/components/core/list/list-item/list-item.component.d.ts +24 -0
  94. package/lib/components/core/modal/modal.component.d.ts +59 -0
  95. package/lib/components/core/notifications/notifications.component.d.ts +44 -0
  96. package/lib/components/core/pagination/pagination.component.d.ts +92 -0
  97. package/lib/components/core/popover/popover.directive.d.ts +98 -0
  98. package/lib/components/core/progress-bar/progress-bar.component.d.ts +28 -0
  99. package/lib/components/core/progress-button/progress-button.component.d.ts +22 -0
  100. package/lib/components/core/rating/rating.component.d.ts +24 -0
  101. package/lib/components/core/spinner/spinner.component.d.ts +21 -0
  102. package/lib/components/core/steppers/steppers-container/steppers-container.component.d.ts +104 -0
  103. package/lib/components/core/steppers/steppers-item/steppers-item.component.d.ts +20 -0
  104. package/lib/components/core/tab/tab-container/tab-container.component.d.ts +30 -0
  105. package/lib/components/core/tab/tab-item/tab-item.component.d.ts +34 -0
  106. package/lib/components/core/table/table.component.d.ts +54 -0
  107. package/lib/components/core/tooltip/tooltip.directive.d.ts +81 -0
  108. package/lib/components/form/checkbox/checkbox.component.d.ts +30 -0
  109. package/lib/components/form/input/input.component.d.ts +96 -0
  110. package/lib/components/form/password-input/password-input.component.d.ts +55 -0
  111. package/lib/components/form/radio-button/radio-button.component.d.ts +29 -0
  112. package/lib/components/form/select/select.component.d.ts +30 -0
  113. package/lib/components/form/textarea/textarea.component.d.ts +24 -0
  114. package/lib/components/form/upload-drag-drop/upload-drag-drop.component.d.ts +54 -0
  115. package/lib/components/form/upload-file-list/upload-file-list.component.d.ts +59 -0
  116. package/lib/components/navigation/back-button/back-button.component.d.ts +47 -0
  117. package/lib/components/navigation/back-to-top/back-to-top.component.d.ts +41 -0
  118. package/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +32 -0
  119. package/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.d.ts +22 -0
  120. package/lib/components/navigation/header/header.component.d.ts +24 -0
  121. package/lib/components/utils/icon/icon.component.d.ts +40 -0
  122. package/lib/components/utils/language-switcher/language-switcher.component.d.ts +23 -0
  123. package/lib/components/utils/not-found-page/not-found-page.component.d.ts +5 -0
  124. package/lib/design-angular-kit.module.d.ts +7 -24
  125. package/lib/interfaces/core.d.ts +59 -0
  126. package/lib/interfaces/form.d.ts +67 -0
  127. package/lib/interfaces/icon.d.ts +3 -0
  128. package/lib/interfaces/utils.d.ts +10 -0
  129. package/lib/services/notifications/notifications.service.d.ts +63 -0
  130. package/lib/utils/boolean-input.d.ts +11 -0
  131. package/lib/utils/file-utils.d.ts +32 -0
  132. package/lib/utils/regex.d.ts +25 -0
  133. package/lib/validators/it-validators.d.ts +58 -0
  134. package/package.json +22 -13
  135. package/public_api.d.ts +59 -35
  136. package/esm2020/lib/badge/badge.directive.mjs +0 -83
  137. package/esm2020/lib/breadcrumb/breadcrumb-item.component.mjs +0 -66
  138. package/esm2020/lib/breadcrumb/breadcrumb.component.mjs +0 -89
  139. package/esm2020/lib/button/button.directive.mjs +0 -185
  140. package/esm2020/lib/button/button.module.mjs +0 -18
  141. package/esm2020/lib/checkbox/checkbox.component.mjs +0 -138
  142. package/esm2020/lib/collapse/collapse-group.component.mjs +0 -57
  143. package/esm2020/lib/collapse/collapse-item.component.mjs +0 -79
  144. package/esm2020/lib/collapse/collapse.config.mjs +0 -12
  145. package/esm2020/lib/collapse/collapse.directive.mjs +0 -55
  146. package/esm2020/lib/collapse/collapse.module.mjs +0 -22
  147. package/esm2020/lib/dropdown/dropdown-divider.component.mjs +0 -11
  148. package/esm2020/lib/dropdown/dropdown-item.component.mjs +0 -97
  149. package/esm2020/lib/dropdown/dropdown.component.mjs +0 -143
  150. package/esm2020/lib/dropdown/dropdown.config.mjs +0 -12
  151. package/esm2020/lib/dropdown/dropdown.directive.mjs +0 -156
  152. package/esm2020/lib/dropdown/dropdown.module.mjs +0 -25
  153. package/esm2020/lib/enums/icons.enum.mjs +0 -27
  154. package/esm2020/lib/form-input/form-input-password.utils.mjs +0 -154
  155. package/esm2020/lib/form-input/form-input.component.mjs +0 -495
  156. package/esm2020/lib/form-input/it-prefix.directive.mjs +0 -13
  157. package/esm2020/lib/form-input/it-suffix.directive.mjs +0 -13
  158. package/esm2020/lib/form-input/it-text-prefix.directive.mjs +0 -13
  159. package/esm2020/lib/form-input/it-text-suffix.directive.mjs +0 -13
  160. package/esm2020/lib/form-input/mark-matching-text.pipe.mjs +0 -36
  161. package/esm2020/lib/icon/icon.component.mjs +0 -87
  162. package/esm2020/lib/icon/icon.module.mjs +0 -18
  163. package/esm2020/lib/models/Alignment.mjs +0 -15
  164. package/esm2020/lib/models/ButtonSize.mjs +0 -15
  165. package/esm2020/lib/models/InputType.mjs +0 -44
  166. package/esm2020/lib/models/ThemeColor.mjs +0 -30
  167. package/esm2020/lib/popover/popover.config.mjs +0 -17
  168. package/esm2020/lib/popover/popover.directive.mjs +0 -33
  169. package/esm2020/lib/popover/popover.module.mjs +0 -19
  170. package/esm2020/lib/progress-bar/progress-bar.component.mjs +0 -98
  171. package/esm2020/lib/radio/radio.component.mjs +0 -287
  172. package/esm2020/lib/radio/unique-selection-dispatcher.mjs +0 -55
  173. package/esm2020/lib/tabs/tab-group.component.mjs +0 -177
  174. package/esm2020/lib/tabs/tab.component.mjs +0 -73
  175. package/esm2020/lib/tabs/tabs.module.mjs +0 -20
  176. package/esm2020/lib/toggle/toggle.component.mjs +0 -86
  177. package/esm2020/lib/tooltip/tooltip.config.mjs +0 -17
  178. package/esm2020/lib/tooltip/tooltip.directive.mjs +0 -43
  179. package/esm2020/lib/tooltip/tooltip.module.mjs +0 -19
  180. package/esm2020/lib/util/focus-mouse.directive.mjs +0 -32
  181. package/esm2020/lib/util/util.mjs +0 -12
  182. package/esm2020/lib/util/utils.module.mjs +0 -16
  183. package/lib/badge/badge.directive.d.ts +0 -33
  184. package/lib/breadcrumb/breadcrumb-item.component.d.ts +0 -33
  185. package/lib/breadcrumb/breadcrumb.component.d.ts +0 -33
  186. package/lib/button/button.directive.d.ts +0 -72
  187. package/lib/button/button.module.d.ts +0 -8
  188. package/lib/checkbox/checkbox.component.d.ts +0 -61
  189. package/lib/collapse/collapse-group.component.d.ts +0 -16
  190. package/lib/collapse/collapse-item.component.d.ts +0 -46
  191. package/lib/collapse/collapse.config.d.ts +0 -6
  192. package/lib/collapse/collapse.directive.d.ts +0 -25
  193. package/lib/collapse/collapse.module.d.ts +0 -12
  194. package/lib/dropdown/dropdown-divider.component.d.ts +0 -5
  195. package/lib/dropdown/dropdown-item.component.d.ts +0 -56
  196. package/lib/dropdown/dropdown.component.d.ts +0 -65
  197. package/lib/dropdown/dropdown.config.d.ts +0 -6
  198. package/lib/dropdown/dropdown.directive.d.ts +0 -77
  199. package/lib/dropdown/dropdown.module.d.ts +0 -15
  200. package/lib/enums/icons.enum.d.ts +0 -23
  201. package/lib/form-input/form-input-password.utils.d.ts +0 -45
  202. package/lib/form-input/form-input.component.d.ts +0 -283
  203. package/lib/form-input/it-prefix.directive.d.ts +0 -5
  204. package/lib/form-input/it-suffix.directive.d.ts +0 -5
  205. package/lib/form-input/it-text-prefix.directive.d.ts +0 -5
  206. package/lib/form-input/it-text-suffix.directive.d.ts +0 -5
  207. package/lib/icon/icon.component.d.ts +0 -34
  208. package/lib/icon/icon.module.d.ts +0 -8
  209. package/lib/models/Alignment.d.ts +0 -12
  210. package/lib/models/ButtonSize.d.ts +0 -11
  211. package/lib/models/InputType.d.ts +0 -36
  212. package/lib/models/ThemeColor.d.ts +0 -21
  213. package/lib/popover/popover.config.d.ts +0 -11
  214. package/lib/popover/popover.directive.d.ts +0 -20
  215. package/lib/popover/popover.module.d.ts +0 -9
  216. package/lib/progress-bar/progress-bar.component.d.ts +0 -55
  217. package/lib/radio/radio.component.d.ts +0 -116
  218. package/lib/radio/unique-selection-dispatcher.d.ts +0 -36
  219. package/lib/tabs/tab-group.component.d.ts +0 -71
  220. package/lib/tabs/tab.component.d.ts +0 -44
  221. package/lib/tabs/tabs.module.d.ts +0 -10
  222. package/lib/toggle/toggle.component.d.ts +0 -46
  223. package/lib/tooltip/tooltip.config.d.ts +0 -11
  224. package/lib/tooltip/tooltip.directive.d.ts +0 -27
  225. package/lib/tooltip/tooltip.module.d.ts +0 -9
  226. package/lib/util/focus-mouse.directive.d.ts +0 -13
  227. package/lib/util/util.d.ts +0 -5
  228. package/lib/util/utils.module.d.ts +0 -7
  229. /package/lib/{form-input → pipes}/mark-matching-text.pipe.d.ts +0 -0
@@ -0,0 +1,58 @@
1
+ import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';
2
+ export declare class ItValidators {
3
+ static SpecialCharacterPattern: string;
4
+ /**
5
+ * Static pattern validator with custom error
6
+ * @param regex
7
+ * @param error
8
+ */
9
+ static customPattern(regex: RegExp, error: ValidationErrors): ValidatorFn;
10
+ /**
11
+ * Set Validator if the condition is satisfied
12
+ * @param validator the validator to apply if the condition is true
13
+ * @param condition the condition
14
+ */
15
+ static conditional(validator: ValidatorFn, condition: (control: AbstractControl) => boolean): ValidatorFn;
16
+ /**
17
+ * Check whether our password and confirm password are a match
18
+ * @param control
19
+ */
20
+ static passwordMatch(control: AbstractControl): AbstractControl | null;
21
+ /**
22
+ * Password validator
23
+ * @param minLength minimum password length - default 10
24
+ * @param hasNumber check whether the entered password has a number - default true
25
+ * @param hasCapitalCase check whether the entered password has upper case letter - default true
26
+ * @param hasSmallCase check whether the entered password has a lower-case letter - default true
27
+ * @param hasSpecialCharacters check whether the entered password has a special character - default true
28
+ */
29
+ static password(minLength?: number, hasNumber?: boolean, hasCapitalCase?: boolean, hasSmallCase?: boolean, hasSpecialCharacters?: boolean): ValidatorFn;
30
+ /**
31
+ * Email validator
32
+ */
33
+ static get email(): ValidatorFn;
34
+ /**
35
+ * Phone number validator
36
+ */
37
+ static get tel(): ValidatorFn;
38
+ /**
39
+ * URL validator
40
+ */
41
+ static get url(): ValidatorFn;
42
+ /**
43
+ * Italian Tax Code validator
44
+ */
45
+ static get taxCode(): ValidatorFn;
46
+ /**
47
+ * VAT Number validator
48
+ */
49
+ static get vatNumber(): ValidatorFn;
50
+ /**
51
+ * Italian Postal Code validator (CAP)
52
+ */
53
+ static get cap(): ValidatorFn;
54
+ /**
55
+ * Check if value is a valid RegExp
56
+ */
57
+ static get regExp(): ValidatorFn;
58
+ }
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "design-angular-kit",
3
3
  "description": "Un toolkit Angular conforme alle linee guida di design per i servizi web della PA",
4
- "version": "1.0.0-1",
5
- "license": " BSD-3-Clause",
4
+ "version": "1.0.0-11",
5
+ "license": "BSD-3-Clause",
6
6
  "keywords": [
7
7
  "angular",
8
8
  "toolkit",
@@ -15,20 +15,29 @@
15
15
  "type": "git",
16
16
  "url": "https://github.com/italia/design-angular-kit.git"
17
17
  },
18
+ "author": {
19
+ "name": "Antonino Bonanno",
20
+ "email": "bonanno@net-serv.it",
21
+ "url": "https://github.com/AntoninoBonanno"
22
+ },
23
+ "contributors": [
24
+ {
25
+ "name": "Net Service Srl",
26
+ "email": "areatecnica@net-serv.it",
27
+ "url": "https://www.net-serv.it/"
28
+ }
29
+ ],
18
30
  "dependencies": {
19
- "@angular/localize": "^12.2.16",
20
- "@ng-bootstrap/ng-bootstrap": "13.0.0",
21
- "@popperjs/core": "^2.10.2",
22
- "bootstrap": "^5.2.0",
23
- "tslib": "^2.0.0",
24
- "io-ts": "^2.2.16",
25
- "fp-ts": "^2.13.1"
31
+ "tslib": "^2.4.1"
26
32
  },
27
33
  "peerDependencies": {
28
- "@angular/common": "^10.0.0",
29
- "@angular/core": "^10.0.0",
30
- "@angular/forms": "^10.0.0",
31
- "bootstrap-italia": "2.0.2"
34
+ "@angular/animations": "^15.0.4",
35
+ "@angular/common": "^15.0.4",
36
+ "@angular/core": "^15.0.4",
37
+ "@angular/platform-browser": "^15.0.4",
38
+ "@ngx-translate/core": "^14.0.0",
39
+ "@ngx-translate/http-loader": "^7.0.0",
40
+ "bootstrap-italia": "^2.3.5"
32
41
  },
33
42
  "module": "fesm2015/design-angular-kit.mjs",
34
43
  "es2020": "fesm2020/design-angular-kit.mjs",
package/public_api.d.ts CHANGED
@@ -1,36 +1,60 @@
1
- export * from './lib/progress-bar/progress-bar.component';
2
- export * from './lib/checkbox/checkbox.component';
3
- export * from './lib/popover/popover.directive';
4
- export * from './lib/popover/popover.config';
5
- export * from './lib/popover/popover.module';
6
- export * from './lib/toggle/toggle.component';
7
- export * from './lib/radio/radio.component';
8
- export * from './lib/tooltip/tooltip.directive';
9
- export * from './lib/tooltip/tooltip.module';
10
- export * from './lib/tooltip/tooltip.config';
11
- export * from './lib/button/button.directive';
12
- export * from './lib/button/button.module';
13
- export * from './lib/badge/badge.directive';
14
- export * from './lib/collapse/collapse.directive';
15
- export * from './lib/collapse/collapse-item.component';
16
- export * from './lib/collapse/collapse-group.component';
17
- export * from './lib/collapse/collapse.module';
18
- export * from './lib/form-input/form-input.component';
19
- export * from './lib/form-input/it-prefix.directive';
20
- export * from './lib/form-input/it-suffix.directive';
21
- export * from './lib/form-input/it-text-suffix.directive';
22
- export * from './lib/form-input/it-text-prefix.directive';
23
- export * from './lib/dropdown/dropdown.component';
24
- export * from './lib/dropdown/dropdown-item.component';
25
- export * from './lib/dropdown/dropdown-divider.component';
26
- export * from './lib/breadcrumb/breadcrumb.component';
27
- export * from './lib/breadcrumb/breadcrumb-item.component';
28
- export * from './lib/tabs/tab-group.component';
29
- export * from './lib/icon/icon.component';
30
- export * from './lib/icon/icon.module';
31
- export * from './lib/dropdown/dropdown.directive';
32
- export * from './lib/dropdown/dropdown.config';
33
- export * from './lib/dropdown/dropdown.module';
34
- export * from './lib/util/utils.module';
35
- export * from './lib/util/focus-mouse.directive';
36
1
  export * from './lib/design-angular-kit.module';
2
+ export * from './lib/components/components.module';
3
+ export * from './lib/components/core/accordion/accordion.component';
4
+ export * from './lib/components/core/alert/alert.component';
5
+ export * from './lib/components/core/badge/badge.directive';
6
+ export * from './lib/components/core/button/button.directive';
7
+ export * from './lib/components/core/callout/callout.component';
8
+ export * from './lib/components/core/card/card.component';
9
+ export * from './lib/components/core/carousel/carousel/carousel.component';
10
+ export * from './lib/components/core/carousel/carousel-item/carousel-item.component';
11
+ export * from './lib/components/core/chip/chip.component';
12
+ export * from './lib/components/core/collapse/collapse.component';
13
+ export * from './lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component';
14
+ export * from './lib/components/core/dimmer/dimmer.component';
15
+ export * from './lib/components/core/dimmer/dimmer-icon/dimmer-icon.component';
16
+ export * from './lib/components/core/dropdown/dropdown/dropdown.component';
17
+ export * from './lib/components/core/dropdown/dropdown-item/dropdown-item.component';
18
+ export * from './lib/components/core/forward/forward.directive';
19
+ export * from './lib/components/core/link/link.component';
20
+ export * from './lib/components/core/list/list/list.component';
21
+ export * from './lib/components/core/list/list-item/list-item.component';
22
+ export * from './lib/components/core/modal/modal.component';
23
+ export * from './lib/components/core/notifications/notifications.component';
24
+ export * from './lib/components/core/pagination/pagination.component';
25
+ export * from './lib/components/core/popover/popover.directive';
26
+ export * from './lib/components/core/progress-bar/progress-bar.component';
27
+ export * from './lib/components/core/progress-button/progress-button.component';
28
+ export * from './lib/components/core/rating/rating.component';
29
+ export * from './lib/components/core/spinner/spinner.component';
30
+ export * from './lib/components/core/steppers/steppers-container/steppers-container.component';
31
+ export * from './lib/components/core/steppers/steppers-item/steppers-item.component';
32
+ export * from './lib/components/core/tab/tab-container/tab-container.component';
33
+ export * from './lib/components/core/tab/tab-item/tab-item.component';
34
+ export * from './lib/components/core/table/table.component';
35
+ export * from './lib/components/core/tooltip/tooltip.directive';
36
+ export * from './lib/components/form/checkbox/checkbox.component';
37
+ export * from './lib/components/form/input/input.component';
38
+ export * from './lib/components/form/password-input/password-input.component';
39
+ export * from './lib/components/form/radio-button/radio-button.component';
40
+ export * from './lib/components/form/select/select.component';
41
+ export * from './lib/components/form/textarea/textarea.component';
42
+ export * from './lib/components/form/upload-drag-drop/upload-drag-drop.component';
43
+ export * from './lib/components/form/upload-file-list/upload-file-list.component';
44
+ export * from './lib/components/navigation/back-button/back-button.component';
45
+ export * from './lib/components/navigation/back-to-top/back-to-top.component';
46
+ export * from './lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component';
47
+ export * from './lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component';
48
+ export * from './lib/components/navigation/header/header.component';
49
+ export * from './lib/components/utils/icon/icon.component';
50
+ export * from './lib/components/utils/language-switcher/language-switcher.component';
51
+ export * from './lib/components/utils/not-found-page/not-found-page.component';
52
+ export * from './lib/services/notifications/notifications.service';
53
+ export * from './lib/pipes/mark-matching-text.pipe';
54
+ export * from './lib/interfaces/core';
55
+ export * from './lib/interfaces/form';
56
+ export * from './lib/interfaces/icon';
57
+ export * from './lib/interfaces/utils';
58
+ export * from './lib/utils/regex';
59
+ export * from './lib/utils/file-utils';
60
+ export * from './lib/validators/it-validators';
@@ -1,83 +0,0 @@
1
- import { Directive, Input, HostBinding } from '@angular/core';
2
- import { ThemeColor, THEME_COLORS } from '../models/ThemeColor';
3
- import { Util } from '../util/util';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * Una badge con design bootstrap italia.
7
- */
8
- export class BadgeDirective {
9
- constructor(el) {
10
- this.el = el;
11
- this._badgeColor = THEME_COLORS.LIGHT;
12
- this._badgeText = '';
13
- this._isPill = false;
14
- }
15
- /**
16
- * (Opzionale) indica il colore del badge. Può essere `primary`, `secondary`, `danger`, `warning`, `info`, `success`, `light` o `dark`.
17
- * Se non viene fornito o il valore è diverso da quelli previsti il suo valore di default è `light`.
18
- */
19
- get badgeColor() {
20
- return this._badgeColor;
21
- }
22
- set badgeColor(value) {
23
- if (ThemeColor.is(value)) {
24
- this._badgeColor = value;
25
- }
26
- else {
27
- this._badgeColor = THEME_COLORS.LIGHT;
28
- }
29
- }
30
- /**
31
- * La direttiva che abilita l'elemento come badge. Mostra il testo come contenuto del badge.
32
- * Se valutato ad `undefined`, `null` o stringa vuota il badge non viene mostrato.
33
- */
34
- get badgeText() { return this._badgeText; }
35
- set badgeText(value) {
36
- if (value) {
37
- this._badgeText = value;
38
- }
39
- else {
40
- this._badgeText = '';
41
- }
42
- }
43
- /**
44
- * Indica se il badge è arrotondato o meno.
45
- */
46
- get isPill() { return this._isPill; }
47
- set isPill(value) {
48
- this._isPill = Util.coerceBooleanProperty(value);
49
- }
50
- getBadgeColorClassName() {
51
- return `bg-${this._badgeColor}`;
52
- }
53
- get hostClasses() {
54
- return [
55
- 'badge',
56
- this.getBadgeColorClassName(),
57
- this.isPill ? 'rounded-pill' : '',
58
- ].join(' ');
59
- }
60
- }
61
- BadgeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BadgeDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
62
- BadgeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: BadgeDirective, selector: "[itBadge]", inputs: { badgeColor: "badgeColor", badgeText: ["itBadge", "badgeText"], isPill: "isPill" }, host: { properties: { "innerText": "this.badgeText", "class": "this.hostClasses" } }, exportAs: ["itBadge"], ngImport: i0 });
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BadgeDirective, decorators: [{
64
- type: Directive,
65
- args: [{
66
- selector: '[itBadge]',
67
- exportAs: 'itBadge'
68
- }]
69
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { badgeColor: [{
70
- type: Input
71
- }], badgeText: [{
72
- type: Input,
73
- args: ['itBadge']
74
- }, {
75
- type: HostBinding,
76
- args: ['innerText']
77
- }], isPill: [{
78
- type: Input
79
- }], hostClasses: [{
80
- type: HostBinding,
81
- args: ['class']
82
- }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvYmFkZ2UvYmFkZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRXBDOztHQUVHO0FBS0gsTUFBTSxPQUFPLGNBQWM7SUEwRHpCLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBekMxQixnQkFBVyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFnQmpDLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFFaEIsWUFBTyxHQUFHLEtBQUssQ0FBQztJQXVCYyxDQUFDO0lBeER2Qzs7O09BR0c7SUFDSCxJQUNJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQVU7UUFDdkIsSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1NBQzFCO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7U0FDdkM7SUFDSCxDQUFDO0lBR0Q7OztPQUdHO0lBQ0gsSUFFSSxTQUFTLEtBQWEsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNuRCxJQUFJLFNBQVMsQ0FBQyxLQUFhO1FBQ3pCLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7U0FDekI7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUlEOztPQUVHO0lBQ0gsSUFDSSxNQUFNLEtBQWMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM5QyxJQUFJLE1BQU0sQ0FBQyxLQUFjO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsT0FBTyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFDSSxXQUFXO1FBQ2IsT0FBTztZQUNMLE9BQU87WUFDUCxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ2xDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsQ0FBQzs7NEdBeERVLGNBQWM7Z0dBQWQsY0FBYzs0RkFBZCxjQUFjO2tCQUoxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixRQUFRLEVBQUUsU0FBUztpQkFDcEI7aUdBUUssVUFBVTtzQkFEYixLQUFLO2dCQW1CRixTQUFTO3NCQUZaLEtBQUs7dUJBQUMsU0FBUzs7c0JBQ2YsV0FBVzt1QkFBQyxXQUFXO2dCQWdCcEIsTUFBTTtzQkFEVCxLQUFLO2dCQVdGLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lQ29sb3IsIFRIRU1FX0NPTE9SUyB9IGZyb20gJy4uL21vZGVscy9UaGVtZUNvbG9yJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi91dGlsL3V0aWwnO1xuXG4vKipcbiAqIFVuYSBiYWRnZSBjb24gZGVzaWduIGJvb3RzdHJhcCBpdGFsaWEuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tpdEJhZGdlXScsIC8vIHRzbGludDpkaXNhYmxlLWxpbmVcbiAgZXhwb3J0QXM6ICdpdEJhZGdlJ1xufSlcbmV4cG9ydCBjbGFzcyBCYWRnZURpcmVjdGl2ZSB7XG5cbiAgLyoqXG4gICAqIChPcHppb25hbGUpIGluZGljYSBpbCBjb2xvcmUgZGVsIGJhZGdlLiBQdcOyIGVzc2VyZSBgcHJpbWFyeWAsIGBzZWNvbmRhcnlgLCBgZGFuZ2VyYCwgYHdhcm5pbmdgLCBgaW5mb2AsIGBzdWNjZXNzYCwgYGxpZ2h0YCBvIGBkYXJrYC5cbiAgICogU2Ugbm9uIHZpZW5lIGZvcm5pdG8gbyBpbCB2YWxvcmUgw6ggZGl2ZXJzbyBkYSBxdWVsbGkgcHJldmlzdGkgaWwgc3VvIHZhbG9yZSBkaSBkZWZhdWx0IMOoIGBsaWdodGAuXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgYmFkZ2VDb2xvcigpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9iYWRnZUNvbG9yO1xuICB9XG4gIHNldCBiYWRnZUNvbG9yKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAoVGhlbWVDb2xvci5pcyh2YWx1ZSkpIHtcbiAgICAgIHRoaXMuX2JhZGdlQ29sb3IgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fYmFkZ2VDb2xvciA9IFRIRU1FX0NPTE9SUy5MSUdIVDtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfYmFkZ2VDb2xvciA9IFRIRU1FX0NPTE9SUy5MSUdIVDtcblxuICAvKipcbiAgICogTGEgZGlyZXR0aXZhIGNoZSBhYmlsaXRhIGwnZWxlbWVudG8gY29tZSBiYWRnZS4gTW9zdHJhIGlsIHRlc3RvIGNvbWUgY29udGVudXRvIGRlbCBiYWRnZS5cbiAgICogU2UgdmFsdXRhdG8gYWQgYHVuZGVmaW5lZGAsIGBudWxsYCBvIHN0cmluZ2EgdnVvdGEgaWwgYmFkZ2Ugbm9uIHZpZW5lIG1vc3RyYXRvLlxuICAgKi9cbiAgQElucHV0KCdpdEJhZGdlJylcbiAgQEhvc3RCaW5kaW5nKCdpbm5lclRleHQnKVxuICBnZXQgYmFkZ2VUZXh0KCk6IHN0cmluZyB7IHJldHVybiB0aGlzLl9iYWRnZVRleHQ7IH1cbiAgc2V0IGJhZGdlVGV4dCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLl9iYWRnZVRleHQgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fYmFkZ2VUZXh0ID0gJyc7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX2JhZGdlVGV4dCA9ICcnO1xuXG4gIHByaXZhdGUgX2lzUGlsbCA9IGZhbHNlO1xuICAvKipcbiAgICogSW5kaWNhIHNlIGlsIGJhZGdlIMOoIGFycm90b25kYXRvIG8gbWVuby5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBpc1BpbGwoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9pc1BpbGw7IH1cbiAgc2V0IGlzUGlsbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzUGlsbCA9IFV0aWwuY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QmFkZ2VDb2xvckNsYXNzTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgYmctJHt0aGlzLl9iYWRnZUNvbG9yfWA7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFtcbiAgICAgICdiYWRnZScsXG4gICAgICB0aGlzLmdldEJhZGdlQ29sb3JDbGFzc05hbWUoKSxcbiAgICAgIHRoaXMuaXNQaWxsID8gJ3JvdW5kZWQtcGlsbCcgOiAnJyxcbiAgICBdLmpvaW4oJyAnKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHsgfVxuXG59XG4iXX0=
@@ -1,66 +0,0 @@
1
- import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "../util/focus-mouse.directive";
5
- import * as i3 from "../icon/icon.component";
6
- let identifier = 0;
7
- export class BreadcrumbItemComponent {
8
- constructor(_cdRef, _elemRef) {
9
- this._cdRef = _cdRef;
10
- this._elemRef = _elemRef;
11
- this.id = `it-breadcrumb-item-${identifier++}`;
12
- this._isLast = false;
13
- this.customClass = '';
14
- }
15
- /**
16
- * Il link alla pagina verso cui andare al click di questo elemento del breadcrumb
17
- */
18
- get link() { return this._link; }
19
- set link(value) { this._link = value; }
20
- /**
21
- * La classe dell'icona da usare prima del testo dell'elemento del breadcrumb
22
- */
23
- get icon() { return this._icon; }
24
- set icon(value) { this._icon = value; }
25
- get iconColor() { return this._iconColor; }
26
- set iconColor(value) {
27
- if (this._iconColor !== value) {
28
- this._iconColor = value;
29
- this._cdRef.detectChanges();
30
- }
31
- }
32
- get separator() { return this._separator; }
33
- set separator(value) { this._separator = value; }
34
- get isLast() { return this._isLast; }
35
- set isLast(value) {
36
- this._isLast = value;
37
- const breadcrumbItem = this._elemRef.nativeElement.querySelector('.breadcrumb-item');
38
- if (this._isLast) {
39
- breadcrumbItem.setAttribute('aria-current', 'page');
40
- }
41
- else {
42
- if (breadcrumbItem.hasAttribute('aria-current')) {
43
- breadcrumbItem.removeAttribute('aria-current');
44
- }
45
- }
46
- this._cdRef.detectChanges();
47
- }
48
- get breadcrumbClass() {
49
- return 'breadcrumb-item ' + (this.customClass ?? '') + (this.isLast ? ' active' : '');
50
- }
51
- }
52
- BreadcrumbItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BreadcrumbItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
53
- BreadcrumbItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: BreadcrumbItemComponent, selector: "it-breadcrumb-item", inputs: { link: "link", icon: "icon", iconColor: "iconColor", customClass: "customClass" }, ngImport: i0, template: "<li [class]=\"breadcrumbClass\" [id]=\"id\">\n <it-icon [icon] = \"icon\" [color] = \"iconColor\"></it-icon>\n\n <a [href]=\"link\" focusMouse>\n <ng-content></ng-content>\n </a> \n <span class=\"separator\" *ngIf=\"!isLast\">{{separator}}</span>\n</li>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.FocusMouseDirective, selector: "[focusMouse]", exportAs: ["focusMouse"] }, { kind: "component", type: i3.IconComponent, selector: "it-icon", inputs: ["rounded", "roundedColor", "icon", "wai", "size", "color", "bgColor", "padded", "expand", "position", "verticalAlign"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BreadcrumbItemComponent, decorators: [{
55
- type: Component,
56
- args: [{ selector: 'it-breadcrumb-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<li [class]=\"breadcrumbClass\" [id]=\"id\">\n <it-icon [icon] = \"icon\" [color] = \"iconColor\"></it-icon>\n\n <a [href]=\"link\" focusMouse>\n <ng-content></ng-content>\n </a> \n <span class=\"separator\" *ngIf=\"!isLast\">{{separator}}</span>\n</li>\n" }]
57
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { link: [{
58
- type: Input
59
- }], icon: [{
60
- type: Input
61
- }], iconColor: [{
62
- type: Input
63
- }], customClass: [{
64
- type: Input
65
- }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFjLHVCQUF1QixFQUFxQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFFakgsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBUW5CLE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFBb0IsTUFBeUIsRUFBVSxRQUFvQjtRQUF2RCxXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVk7UUFGM0UsT0FBRSxHQUFHLHNCQUFzQixVQUFVLEVBQUUsRUFBRSxDQUFDO1FBK0NsQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRWYsZ0JBQVcsR0FBVyxFQUFFLENBQUM7SUEvQzZDLENBQUM7SUFFaEY7O09BRUc7SUFDSCxJQUNJLElBQUksS0FBYSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLElBQUksSUFBSSxDQUFDLEtBQWEsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFHL0M7O09BRUc7SUFDSCxJQUNJLElBQUksS0FBYSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLElBQUksSUFBSSxDQUFDLEtBQWEsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFHL0MsSUFDSSxTQUFTLEtBQWEsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNuRCxJQUFJLFNBQVMsQ0FBQyxLQUFhO1FBQ3pCLElBQUcsSUFBSSxDQUFDLFVBQVUsS0FBSyxLQUFLLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFHRCxJQUFJLFNBQVMsS0FBYSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ25ELElBQUksU0FBUyxDQUFDLEtBQWEsSUFBSSxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFHekQsSUFBSSxNQUFNLEtBQWMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM5QyxJQUFJLE1BQU0sQ0FBQyxLQUFjO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3JGLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixjQUFjLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNyRDthQUFNO1lBQ0wsSUFBSSxjQUFjLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxFQUFFO2dCQUMvQyxjQUFjLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ2hEO1NBQ0Y7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFLRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxrQkFBa0IsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7O3FIQXREVSx1QkFBdUI7eUdBQXZCLHVCQUF1QixzSkNWcEMsd1FBUUE7NEZERWEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNO2lJQVczQyxJQUFJO3NCQURQLEtBQUs7Z0JBU0YsSUFBSTtzQkFEUCxLQUFLO2dCQU1GLFNBQVM7c0JBRFosS0FBSztnQkE2QkcsV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgRWxlbWVudFJlZiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmxldCBpZGVudGlmaWVyID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXQtYnJlYWRjcnVtYi1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWItaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JyZWFkY3J1bWItaXRlbS5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJJdGVtQ29tcG9uZW50IHtcbiAgaWQgPSBgaXQtYnJlYWRjcnVtYi1pdGVtLSR7aWRlbnRpZmllcisrfWA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIF9lbGVtUmVmOiBFbGVtZW50UmVmKSB7IH1cblxuICAvKipcbiAgICogSWwgbGluayBhbGxhIHBhZ2luYSB2ZXJzbyBjdWkgYW5kYXJlIGFsIGNsaWNrIGRpIHF1ZXN0byBlbGVtZW50byBkZWwgYnJlYWRjcnVtYlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IGxpbmsoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuX2xpbms7IH1cbiAgc2V0IGxpbmsodmFsdWU6IHN0cmluZykgeyB0aGlzLl9saW5rID0gdmFsdWU7IH1cbiAgcHJpdmF0ZSBfbGluazogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMYSBjbGFzc2UgZGVsbCdpY29uYSBkYSB1c2FyZSBwcmltYSBkZWwgdGVzdG8gZGVsbCdlbGVtZW50byBkZWwgYnJlYWRjcnVtYlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IGljb24oKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuX2ljb247IH1cbiAgc2V0IGljb24odmFsdWU6IHN0cmluZykgeyB0aGlzLl9pY29uID0gdmFsdWU7IH1cbiAgcHJpdmF0ZSBfaWNvbjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBpY29uQ29sb3IoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuX2ljb25Db2xvcjsgfVxuICBzZXQgaWNvbkNvbG9yKHZhbHVlOiBzdHJpbmcpIHsgXG4gICAgaWYodGhpcy5faWNvbkNvbG9yICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5faWNvbkNvbG9yID0gdmFsdWU7XG4gICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX2ljb25Db2xvcjogc3RyaW5nO1xuXG4gIGdldCBzZXBhcmF0b3IoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuX3NlcGFyYXRvcjsgfVxuICBzZXQgc2VwYXJhdG9yKHZhbHVlOiBzdHJpbmcpIHsgdGhpcy5fc2VwYXJhdG9yID0gdmFsdWU7IH1cbiAgcHJpdmF0ZSBfc2VwYXJhdG9yOiBzdHJpbmc7XG5cbiAgZ2V0IGlzTGFzdCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2lzTGFzdDsgfVxuICBzZXQgaXNMYXN0KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faXNMYXN0ID0gdmFsdWU7XG4gICAgY29uc3QgYnJlYWRjcnVtYkl0ZW0gPSB0aGlzLl9lbGVtUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmJyZWFkY3J1bWItaXRlbScpO1xuICAgIGlmICh0aGlzLl9pc0xhc3QpIHtcbiAgICAgIGJyZWFkY3J1bWJJdGVtLnNldEF0dHJpYnV0ZSgnYXJpYS1jdXJyZW50JywgJ3BhZ2UnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGJyZWFkY3J1bWJJdGVtLmhhc0F0dHJpYnV0ZSgnYXJpYS1jdXJyZW50JykpIHtcbiAgICAgICAgYnJlYWRjcnVtYkl0ZW0ucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWN1cnJlbnQnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIHByaXZhdGUgX2lzTGFzdCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzOiBzdHJpbmcgPSAnJztcblxuICBnZXQgYnJlYWRjcnVtYkNsYXNzKCkge1xuICAgIHJldHVybiAnYnJlYWRjcnVtYi1pdGVtICcgKyAodGhpcy5jdXN0b21DbGFzcyA/PyAnJykgKyAodGhpcy5pc0xhc3QgPyAnIGFjdGl2ZScgOiAnJyk7XG4gIH1cblxufVxuIiwiPGxpIFtjbGFzc109XCJicmVhZGNydW1iQ2xhc3NcIiBbaWRdPVwiaWRcIj5cbiAgPGl0LWljb24gW2ljb25dID0gXCJpY29uXCIgW2NvbG9yXSA9IFwiaWNvbkNvbG9yXCI+PC9pdC1pY29uPlxuXG4gIDxhIFtocmVmXT1cImxpbmtcIiBmb2N1c01vdXNlPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9hPiBcbiAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIiAqbmdJZj1cIiFpc0xhc3RcIj57e3NlcGFyYXRvcn19PC9zcGFuPlxuPC9saT5cbiJdfQ==
@@ -1,89 +0,0 @@
1
- import { Component, Input, ContentChildren, forwardRef, ChangeDetectionStrategy } from '@angular/core';
2
- import { BreadcrumbItemComponent } from './breadcrumb-item.component';
3
- import { Util } from '../util/util';
4
- import { Subscription } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- const DEFAULT_SEPARATOR = '/';
8
- let identifier = 0;
9
- /**
10
- * Una componente che indica la posizione della pagina corrente all’interno di una gerarchia di navigazione
11
- */
12
- export class BreadcrumbComponent {
13
- constructor() {
14
- this.id = `it-breadcrumb-${identifier++}`;
15
- this._dark = false;
16
- this._separator = DEFAULT_SEPARATOR;
17
- this.customClass = '';
18
- this.ariaLabel = 'breadcrumb';
19
- this._subscription = Subscription.EMPTY;
20
- }
21
- /**
22
- * Indica che il breadcrumb utilizza il tema di colorazione scura.
23
- * Accetta una espressione booleana o può essere usato come attributo senza valore
24
- */
25
- get dark() { return this._dark; }
26
- set dark(value) {
27
- this._dark = Util.coerceBooleanProperty(value);
28
- }
29
- /**
30
- * Il carattere che verrà usato come separatore tra gli elementi del breadcrumb
31
- */
32
- get separator() { return this._separator; }
33
- set separator(value) { this._separator = value ? value : DEFAULT_SEPARATOR; }
34
- get breadcrumbClass() {
35
- return 'breadcrumb ' + (this.customClass ?? '') + (this._dark ? ' dark' : '');
36
- }
37
- ngAfterContentInit() {
38
- this._reloadBreadcrumbs(this._items);
39
- }
40
- ngOnChanges(changes) {
41
- if (changes['separator']) {
42
- if (!changes['separator'].firstChange) {
43
- this._reloadBreadcrumbs(this._items);
44
- }
45
- }
46
- else if (changes['dark']) {
47
- this._reloadBreadcrumbs(this._items);
48
- }
49
- }
50
- ngOnDestroy() {
51
- if (this._subscription) {
52
- this._subscription.unsubscribe();
53
- }
54
- }
55
- _reloadBreadcrumbs(currentItems) {
56
- currentItems.forEach(item => {
57
- item.separator = this.separator;
58
- item.isLast = (item === currentItems.last);
59
- item.iconColor = item.iconColor || (this._dark ? 'white' : 'primary');
60
- });
61
- this._subscribeToChanges();
62
- }
63
- _subscribeToChanges() {
64
- if (this._subscription) {
65
- this._subscription.unsubscribe();
66
- }
67
- this._subscription = this._items.changes.subscribe(items => {
68
- this._reloadBreadcrumbs(items);
69
- });
70
- }
71
- }
72
- BreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
73
- BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: BreadcrumbComponent, selector: "it-breadcrumb", inputs: { dark: "dark", separator: "separator", customClass: "customClass", ariaLabel: "ariaLabel" }, queries: [{ propertyName: "_items", predicate: i0.forwardRef(function () { return BreadcrumbItemComponent; }), descendants: true }], usesOnChanges: true, ngImport: i0, template: "<nav class=\"breadcrumb-container\" [attr.aria-label]=\"ariaLabel\" [id]=\"id\">\n <ol [ngClass]=\"breadcrumbClass\">\n <ng-content></ng-content>\n </ol>\n</nav>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BreadcrumbComponent, decorators: [{
75
- type: Component,
76
- args: [{ selector: 'it-breadcrumb', changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav class=\"breadcrumb-container\" [attr.aria-label]=\"ariaLabel\" [id]=\"id\">\n <ol [ngClass]=\"breadcrumbClass\">\n <ng-content></ng-content>\n </ol>\n</nav>" }]
77
- }], propDecorators: { dark: [{
78
- type: Input
79
- }], separator: [{
80
- type: Input
81
- }], _items: [{
82
- type: ContentChildren,
83
- args: [forwardRef(() => BreadcrumbItemComponent), { descendants: true }]
84
- }], customClass: [{
85
- type: Input
86
- }], ariaLabel: [{
87
- type: Input
88
- }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBYSxVQUFVLEVBQ0QsdUJBQXVCLEVBQy9FLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBRXBDLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFDO0FBQzlCLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztBQUVuQjs7R0FFRztBQU9ILE1BQU0sT0FBTyxtQkFBbUI7SUFOaEM7UUFPRSxPQUFFLEdBQUcsaUJBQWlCLFVBQVUsRUFBRSxFQUFFLENBQUM7UUFXN0IsVUFBSyxHQUFHLEtBQUssQ0FBQztRQVFkLGVBQVUsR0FBRyxpQkFBaUIsQ0FBQztRQU12QyxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUd6QixjQUFTLEdBQVcsWUFBWSxDQUFDO1FBTXpCLGtCQUFhLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztLQTJDNUM7SUEzRUM7OztPQUdHO0lBQ0gsSUFDSSxJQUFJLEtBQWMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMxQyxJQUFJLElBQUksQ0FBQyxLQUFjO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFHRDs7T0FFRztJQUNILElBQ0ksU0FBUyxLQUFhLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDbkQsSUFBSSxTQUFTLENBQUMsS0FBYSxJQUFJLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztJQVlyRixJQUFJLGVBQWU7UUFDakIsT0FBTyxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBSUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFdBQVcsRUFBRTtnQkFDckMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUN0QztTQUNGO2FBQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN0QztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDbEM7SUFDSCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsWUFBZ0Q7UUFDekUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4RSxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFHTyxtQkFBbUI7UUFDekIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDbEM7UUFFRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN6RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztpSEE1RVUsbUJBQW1CO3FHQUFuQixtQkFBbUIscU5Bc0JJLHVCQUF1Qix5RUMxQzNELHdLQUlNOzRGRGdCTyxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNOzhCQVUzQyxJQUFJO3NCQURQLEtBQUs7Z0JBV0YsU0FBUztzQkFEWixLQUFLO2dCQU1FLE1BQU07c0JBRGIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBSWpGLFdBQVc7c0JBRFYsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsIElucHV0LCBDb250ZW50Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgZm9yd2FyZFJlZixcbiAgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIFNpbXBsZUNoYW5nZXMsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2JyZWFkY3J1bWItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuY29uc3QgREVGQVVMVF9TRVBBUkFUT1IgPSAnLyc7XG5sZXQgaWRlbnRpZmllciA9IDA7XG5cbi8qKlxuICogVW5hIGNvbXBvbmVudGUgY2hlIGluZGljYSBsYSBwb3NpemlvbmUgZGVsbGEgcGFnaW5hIGNvcnJlbnRlIGFsbOKAmWludGVybm8gZGkgdW5hIGdlcmFyY2hpYSBkaSBuYXZpZ2F6aW9uZVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpdC1icmVhZGNydW1iJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9icmVhZGNydW1iLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgaWQgPSBgaXQtYnJlYWRjcnVtYi0ke2lkZW50aWZpZXIrK31gO1xuXG4gIC8qKlxuICAgKiBJbmRpY2EgY2hlIGlsIGJyZWFkY3J1bWIgdXRpbGl6emEgaWwgdGVtYSBkaSBjb2xvcmF6aW9uZSBzY3VyYS5cbiAgICogQWNjZXR0YSB1bmEgZXNwcmVzc2lvbmUgYm9vbGVhbmEgbyBwdcOyIGVzc2VyZSB1c2F0byBjb21lIGF0dHJpYnV0byBzZW56YSB2YWxvcmVcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBkYXJrKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fZGFyazsgfVxuICBzZXQgZGFyayh2YWx1ZTogYm9vbGVhbikgeyBcbiAgICB0aGlzLl9kYXJrID0gVXRpbC5jb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyBcbiAgfVxuICBwcml2YXRlIF9kYXJrID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElsIGNhcmF0dGVyZSBjaGUgdmVycsOgIHVzYXRvIGNvbWUgc2VwYXJhdG9yZSB0cmEgZ2xpIGVsZW1lbnRpIGRlbCBicmVhZGNydW1iXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgc2VwYXJhdG9yKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLl9zZXBhcmF0b3I7IH1cbiAgc2V0IHNlcGFyYXRvcih2YWx1ZTogc3RyaW5nKSB7IHRoaXMuX3NlcGFyYXRvciA9IHZhbHVlID8gdmFsdWUgOiBERUZBVUxUX1NFUEFSQVRPUjsgfVxuICBwcml2YXRlIF9zZXBhcmF0b3IgPSBERUZBVUxUX1NFUEFSQVRPUjtcblxuICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gQnJlYWRjcnVtYkl0ZW1Db21wb25lbnQpLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHByaXZhdGUgX2l0ZW1zOiBRdWVyeUxpc3Q8QnJlYWRjcnVtYkl0ZW1Db21wb25lbnQ+O1xuXG4gIEBJbnB1dCgpIFxuICBjdXN0b21DbGFzczogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KCkgXG4gIGFyaWFMYWJlbDogc3RyaW5nID0gJ2JyZWFkY3J1bWInO1xuXG4gIGdldCBicmVhZGNydW1iQ2xhc3MoKSB7XG4gICAgcmV0dXJuICdicmVhZGNydW1iICcgKyAodGhpcy5jdXN0b21DbGFzcyA/PyAnJykgKyAodGhpcy5fZGFyayA/ICcgZGFyaycgOiAnJyk7XG4gIH1cblxuICBwcml2YXRlIF9zdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuX3JlbG9hZEJyZWFkY3J1bWJzKHRoaXMuX2l0ZW1zKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snc2VwYXJhdG9yJ10pIHtcbiAgICAgIGlmICghY2hhbmdlc1snc2VwYXJhdG9yJ10uZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgdGhpcy5fcmVsb2FkQnJlYWRjcnVtYnModGhpcy5faXRlbXMpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoY2hhbmdlc1snZGFyayddKSB7XG4gICAgICB0aGlzLl9yZWxvYWRCcmVhZGNydW1icyh0aGlzLl9pdGVtcyk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuX3N1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVsb2FkQnJlYWRjcnVtYnMoY3VycmVudEl0ZW1zOiBRdWVyeUxpc3Q8QnJlYWRjcnVtYkl0ZW1Db21wb25lbnQ+KSB7XG4gICAgY3VycmVudEl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBpdGVtLnNlcGFyYXRvciA9IHRoaXMuc2VwYXJhdG9yO1xuICAgICAgaXRlbS5pc0xhc3QgPSAoaXRlbSA9PT0gY3VycmVudEl0ZW1zLmxhc3QpO1xuICAgICAgaXRlbS5pY29uQ29sb3IgPSBpdGVtLmljb25Db2xvciB8fCAodGhpcy5fZGFyayA/ICd3aGl0ZScgOiAncHJpbWFyeScpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fc3Vic2NyaWJlVG9DaGFuZ2VzKCk7XG4gIH1cblxuXG4gIHByaXZhdGUgX3N1YnNjcmliZVRvQ2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5fc3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSB0aGlzLl9pdGVtcy5jaGFuZ2VzLnN1YnNjcmliZShpdGVtcyA9PiB7XG4gICAgICB0aGlzLl9yZWxvYWRCcmVhZGNydW1icyhpdGVtcyk7XG4gICAgfSk7XG4gIH1cblxufVxuIiwiPG5hdiBjbGFzcz1cImJyZWFkY3J1bWItY29udGFpbmVyXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIiBbaWRdPVwiaWRcIj5cbiAgPG9sIFtuZ0NsYXNzXT1cImJyZWFkY3J1bWJDbGFzc1wiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9vbD5cbjwvbmF2PiJdfQ==