@testgorilla/tgo-ui 0.0.33 → 1.0.2

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 (304) hide show
  1. package/components/alert-banner/alert-banner.component.d.ts +66 -0
  2. package/components/alert-banner/alert-banner.component.module.d.ts +10 -0
  3. package/components/alert-banner/alert-banner.model.d.ts +1 -0
  4. package/components/banner-action/banner-action.component.d.ts +23 -17
  5. package/components/banner-action/banner-action.component.module.d.ts +3 -3
  6. package/components/button/button.component.d.ts +57 -11
  7. package/components/button/button.component.module.d.ts +2 -2
  8. package/components/button/button.model.d.ts +4 -2
  9. package/components/card/card.component.d.ts +1 -1
  10. package/components/checkbox/checkbox.component.d.ts +87 -0
  11. package/components/checkbox/checkbox.component.module.d.ts +10 -0
  12. package/components/create-account/create-account.component.d.ts +16 -4
  13. package/components/create-account/create-account.component.module.d.ts +2 -2
  14. package/components/create-account/create-account.constant.d.ts +1 -0
  15. package/components/create-account/create-account.model.d.ts +1 -0
  16. package/components/create-password/create-password.component.d.ts +4 -4
  17. package/components/dialog/dialog.component.d.ts +45 -6
  18. package/components/dialog/dialog.component.module.d.ts +4 -7
  19. package/components/dialog/dialog.service.d.ts +2 -5
  20. package/components/elevation-shadow/elevation-shadow.component.d.ts +14 -0
  21. package/components/elevation-shadow/elevation-shadow.component.module.d.ts +8 -0
  22. package/components/elevation-shadow/elevation-shadow.constant.d.ts +4 -0
  23. package/components/field/field.component.d.ts +40 -37
  24. package/components/field/field.component.module.d.ts +3 -2
  25. package/components/field/field.model.d.ts +1 -0
  26. package/components/file-upload/file-upload.component.d.ts +68 -0
  27. package/components/file-upload/file-upload.component.module.d.ts +13 -0
  28. package/components/forgot-password/forgot-password.component.d.ts +4 -4
  29. package/components/icon/icon.component.d.ts +44 -0
  30. package/components/icon/icon.component.module.d.ts +10 -0
  31. package/components/icon/icon.config.d.ts +1 -0
  32. package/components/icon/icon.model.d.ts +4 -0
  33. package/components/icon-label/icon-label.component.d.ts +29 -0
  34. package/components/icon-label/icon-label.component.module.d.ts +9 -0
  35. package/components/label/label.component.d.ts +1 -1
  36. package/components/login/login.component.d.ts +4 -4
  37. package/components/login/login.component.module.d.ts +2 -2
  38. package/components/logo/logo.component.d.ts +25 -2
  39. package/components/logo/logo.model.d.ts +10 -0
  40. package/components/navbar/navbar.component.d.ts +1 -1
  41. package/components/navigation/navigation.component.d.ts +1 -1
  42. package/components/paginator/paginator.component.d.ts +1 -1
  43. package/components/progress-bar/progress-bar.component.d.ts +16 -12
  44. package/components/radio-button/radio-button.component.d.ts +84 -0
  45. package/components/radio-button/radio-button.component.module.d.ts +10 -0
  46. package/components/radio-button/radio-button.model.d.ts +4 -0
  47. package/components/snackbar/snackbar.component.d.ts +55 -0
  48. package/components/snackbar/snackbar.component.module.d.ts +10 -0
  49. package/components/snackbar/snackbar.model.d.ts +1 -0
  50. package/components/table/directives/dynamic-component.directive.d.ts +1 -1
  51. package/components/table/pipes/data-property-getter.d.ts +1 -1
  52. package/components/table/table.component.d.ts +3 -3
  53. package/components/table/table.model.d.ts +1 -1
  54. package/components/tag/tag.component.d.ts +20 -0
  55. package/components/tag/tag.component.module.d.ts +8 -0
  56. package/components/tag/tag.model.d.ts +1 -0
  57. package/components/tooltip/tooltip.component.d.ts +25 -0
  58. package/components/tooltip/tooltip.component.module.d.ts +8 -0
  59. package/components/tooltip/tooltip.model.d.ts +6 -0
  60. package/directives/drag-drop.directive.d.ts +12 -0
  61. package/esm2020/components/alert-banner/alert-banner.component.mjs +98 -0
  62. package/esm2020/components/alert-banner/alert-banner.component.module.mjs +21 -0
  63. package/esm2020/components/alert-banner/alert-banner.model.mjs +2 -0
  64. package/esm2020/components/banner-action/banner-action.component.mjs +42 -21
  65. package/esm2020/components/banner-action/banner-action.component.module.mjs +7 -7
  66. package/esm2020/components/button/button.component.mjs +97 -16
  67. package/esm2020/components/button/button.component.module.mjs +7 -7
  68. package/esm2020/components/button/button.model.mjs +1 -1
  69. package/esm2020/components/card/card.component.mjs +5 -5
  70. package/esm2020/components/card/card.component.module.mjs +5 -5
  71. package/esm2020/components/checkbox/checkbox.component.mjs +151 -0
  72. package/esm2020/components/checkbox/checkbox.component.module.mjs +20 -0
  73. package/esm2020/components/create-account/create-account.component.mjs +46 -27
  74. package/esm2020/components/create-account/create-account.component.module.mjs +15 -17
  75. package/esm2020/components/create-account/create-account.constant.mjs +3 -2
  76. package/esm2020/components/create-account/create-account.model.mjs +1 -1
  77. package/esm2020/components/create-password/create-password.component.mjs +16 -16
  78. package/esm2020/components/create-password/create-password.component.module.mjs +11 -13
  79. package/esm2020/components/dialog/dialog.component.mjs +92 -23
  80. package/esm2020/components/dialog/dialog.component.module.mjs +10 -13
  81. package/esm2020/components/dialog/dialog.service.mjs +6 -10
  82. package/esm2020/components/elevation-shadow/elevation-shadow.component.mjs +25 -0
  83. package/esm2020/components/elevation-shadow/elevation-shadow.component.module.mjs +18 -0
  84. package/esm2020/components/elevation-shadow/elevation-shadow.constant.mjs +6 -0
  85. package/esm2020/components/field/field.component.mjs +97 -35
  86. package/esm2020/components/field/field.component.module.mjs +28 -7
  87. package/esm2020/components/field/field.model.mjs +2 -0
  88. package/esm2020/components/file-upload/file-upload.component.mjs +183 -0
  89. package/esm2020/components/file-upload/file-upload.component.module.mjs +24 -0
  90. package/esm2020/components/forgot-password/forgot-password.component.mjs +17 -17
  91. package/esm2020/components/forgot-password/forgot-password.component.module.mjs +11 -13
  92. package/esm2020/components/icon/icon.component.mjs +69 -0
  93. package/esm2020/components/icon/icon.component.module.mjs +21 -0
  94. package/esm2020/components/icon/icon.config.mjs +146 -0
  95. package/esm2020/components/icon/icon.model.mjs +2 -0
  96. package/esm2020/components/icon-label/icon-label.component.mjs +34 -0
  97. package/esm2020/components/icon-label/icon-label.component.module.mjs +20 -0
  98. package/esm2020/components/label/label.component.mjs +4 -4
  99. package/esm2020/components/label/label.component.module.mjs +5 -5
  100. package/esm2020/components/login/login.component.mjs +14 -14
  101. package/esm2020/components/login/login.component.module.mjs +14 -16
  102. package/esm2020/components/logo/logo.component.mjs +51 -8
  103. package/esm2020/components/logo/logo.component.module.mjs +5 -5
  104. package/esm2020/components/logo/logo.model.mjs +14 -0
  105. package/esm2020/components/navbar/navbar.component.mjs +10 -10
  106. package/esm2020/components/navbar/navbar.component.module.mjs +11 -13
  107. package/esm2020/components/navigation/navigation.component.mjs +7 -7
  108. package/esm2020/components/navigation/navigation.component.module.mjs +5 -5
  109. package/esm2020/components/paginator/paginator.component.mjs +9 -9
  110. package/esm2020/components/paginator/paginator.component.module.mjs +5 -5
  111. package/esm2020/components/progress-bar/progress-bar.component.mjs +46 -10
  112. package/esm2020/components/progress-bar/progress-bar.component.module.mjs +5 -5
  113. package/esm2020/components/radio-button/radio-button.component.mjs +138 -0
  114. package/esm2020/components/radio-button/radio-button.component.module.mjs +20 -0
  115. package/esm2020/components/radio-button/radio-button.model.mjs +2 -0
  116. package/esm2020/components/snackbar/snackbar.component.mjs +123 -0
  117. package/esm2020/components/snackbar/snackbar.component.module.mjs +21 -0
  118. package/esm2020/components/snackbar/snackbar.model.mjs +2 -0
  119. package/esm2020/components/table/directives/dynamic-component.directive.mjs +8 -8
  120. package/esm2020/components/table/pipes/data-property-getter.mjs +4 -4
  121. package/esm2020/components/table/table.component.mjs +36 -36
  122. package/esm2020/components/table/table.component.module.mjs +5 -5
  123. package/esm2020/components/tag/tag.component.mjs +24 -0
  124. package/esm2020/components/tag/tag.component.module.mjs +19 -0
  125. package/esm2020/components/tag/tag.model.mjs +2 -0
  126. package/esm2020/components/tooltip/tooltip.component.mjs +50 -0
  127. package/esm2020/components/tooltip/tooltip.component.module.mjs +18 -0
  128. package/esm2020/components/tooltip/tooltip.model.mjs +8 -0
  129. package/esm2020/directives/drag-drop.directive.mjs +55 -0
  130. package/esm2020/public-api.mjs +43 -4
  131. package/esm2020/utils/alert-bar.model.mjs +2 -0
  132. package/esm2020/utils/alert-bars.utils.mjs +33 -0
  133. package/fesm2015/testgorilla-tgo-ui.mjs +2004 -484
  134. package/fesm2015/testgorilla-tgo-ui.mjs.map +1 -1
  135. package/fesm2020/testgorilla-tgo-ui.mjs +1955 -436
  136. package/fesm2020/testgorilla-tgo-ui.mjs.map +1 -1
  137. package/package.json +15 -15
  138. package/public-api.d.ts +31 -2
  139. package/src/assets/icons/Add.svg +3 -0
  140. package/src/assets/icons/Archive.svg +3 -0
  141. package/src/assets/icons/Arrow_down.svg +3 -0
  142. package/src/assets/icons/Arrow_left.svg +3 -0
  143. package/src/assets/icons/Arrow_right.svg +3 -0
  144. package/src/assets/icons/Arrow_up.svg +3 -0
  145. package/src/assets/icons/Assessment.svg +3 -0
  146. package/src/assets/icons/Attempts.svg +3 -0
  147. package/src/assets/icons/Book.svg +3 -0
  148. package/src/assets/icons/Calendar.svg +3 -0
  149. package/src/assets/icons/Candidates.svg +8 -0
  150. package/src/assets/icons/Chat-notifications.svg +4 -0
  151. package/src/assets/icons/Chat.svg +3 -0
  152. package/src/assets/icons/Check.svg +3 -0
  153. package/src/assets/icons/Clone.svg +3 -0
  154. package/src/assets/icons/Close.svg +3 -0
  155. package/src/assets/icons/Code.svg +3 -0
  156. package/src/assets/icons/Company.svg +3 -0
  157. package/src/assets/icons/Copy.svg +3 -0
  158. package/src/assets/icons/Custom-questions.svg +3 -0
  159. package/src/assets/icons/Delete.svg +3 -0
  160. package/src/assets/icons/Devices.svg +3 -0
  161. package/src/assets/icons/Document.svg +3 -0
  162. package/src/assets/icons/Download.svg +3 -0
  163. package/src/assets/icons/Edit.svg +3 -0
  164. package/src/assets/icons/Email-message.svg +3 -0
  165. package/src/assets/icons/Empty-placeholder.svg +3 -0
  166. package/src/assets/icons/Error.svg +3 -0
  167. package/src/assets/icons/Essay.svg +3 -0
  168. package/src/assets/icons/Eye-hide.svg +3 -0
  169. package/src/assets/icons/Eye-view.svg +3 -0
  170. package/src/assets/icons/Feedback-1.svg +3 -0
  171. package/src/assets/icons/Feedback-2.svg +3 -0
  172. package/src/assets/icons/Feedback-3.svg +6 -0
  173. package/src/assets/icons/Feedback-4.svg +3 -0
  174. package/src/assets/icons/Feedback-5.svg +3 -0
  175. package/src/assets/icons/File-attach.svg +3 -0
  176. package/src/assets/icons/File-upload.svg +3 -0
  177. package/src/assets/icons/Filter.svg +3 -0
  178. package/src/assets/icons/Folder.svg +3 -0
  179. package/src/assets/icons/Format-add-file.svg +3 -0
  180. package/src/assets/icons/Format-add-table.svg +3 -0
  181. package/src/assets/icons/Format-align-L.svg +3 -0
  182. package/src/assets/icons/Format-align-R.svg +3 -0
  183. package/src/assets/icons/Format-align-center.svg +3 -0
  184. package/src/assets/icons/Format-align-justify.svg +3 -0
  185. package/src/assets/icons/Format-bold.svg +3 -0
  186. package/src/assets/icons/Format-code-active.svg +3 -0
  187. package/src/assets/icons/Format-code-block.svg +3 -0
  188. package/src/assets/icons/Format-edit-table.svg +3 -0
  189. package/src/assets/icons/Format-format.svg +3 -0
  190. package/src/assets/icons/Format-function.svg +3 -0
  191. package/src/assets/icons/Format-italics.svg +3 -0
  192. package/src/assets/icons/Format-list-bulleted.svg +3 -0
  193. package/src/assets/icons/Format-list-numbered.svg +3 -0
  194. package/src/assets/icons/Format-picker.svg +3 -0
  195. package/src/assets/icons/Format-quote.svg +3 -0
  196. package/src/assets/icons/Format-subscript.svg +3 -0
  197. package/src/assets/icons/Format-superscript.svg +3 -0
  198. package/src/assets/icons/Format-text-direction-L.svg +3 -0
  199. package/src/assets/icons/Format-text-direction-R.svg +3 -0
  200. package/src/assets/icons/Format-text-size.svg +3 -0
  201. package/src/assets/icons/Format-underline.svg +3 -0
  202. package/src/assets/icons/Format-variable.svg +3 -0
  203. package/src/assets/icons/Full-screen.svg +3 -0
  204. package/src/assets/icons/Gender-female.svg +3 -0
  205. package/src/assets/icons/Gender-male.svg +3 -0
  206. package/src/assets/icons/Help-2.svg +3 -0
  207. package/src/assets/icons/Help.svg +3 -0
  208. package/src/assets/icons/Image.svg +3 -0
  209. package/src/assets/icons/Info.svg +3 -0
  210. package/src/assets/icons/Integration.svg +3 -0
  211. package/src/assets/icons/Language.svg +3 -0
  212. package/src/assets/icons/Layout.svg +3 -0
  213. package/src/assets/icons/Learn.svg +3 -0
  214. package/src/assets/icons/Level.svg +3 -0
  215. package/src/assets/icons/Light-bulb.svg +3 -0
  216. package/src/assets/icons/Link.svg +3 -0
  217. package/src/assets/icons/Loading-spinner.svg +10 -0
  218. package/src/assets/icons/Localisation.svg +3 -0
  219. package/src/assets/icons/Location.svg +3 -0
  220. package/src/assets/icons/Lock.svg +3 -0
  221. package/src/assets/icons/Log-out.svg +3 -0
  222. package/src/assets/icons/Menu-burger.svg +3 -0
  223. package/src/assets/icons/Menu-ellipsis.svg +3 -0
  224. package/src/assets/icons/Microphone.svg +3 -0
  225. package/src/assets/icons/Minus.svg +3 -0
  226. package/src/assets/icons/Mouse-cursor.svg +3 -0
  227. package/src/assets/icons/Mouse-grab-cursor.svg +3 -0
  228. package/src/assets/icons/Mouse.svg +3 -0
  229. package/src/assets/icons/Multi-choice.svg +3 -0
  230. package/src/assets/icons/Notifications.svg +3 -0
  231. package/src/assets/icons/Password.svg +4 -0
  232. package/src/assets/icons/Path.svg +3 -0
  233. package/src/assets/icons/Plan-billing.svg +3 -0
  234. package/src/assets/icons/Plus.svg +3 -0
  235. package/src/assets/icons/Premium.svg +4 -0
  236. package/src/assets/icons/Promotion.svg +3 -0
  237. package/src/assets/icons/Question-count.svg +3 -0
  238. package/src/assets/icons/Refer.svg +3 -0
  239. package/src/assets/icons/Reset.svg +3 -0
  240. package/src/assets/icons/Review.svg +3 -0
  241. package/src/assets/icons/Round-check-filled.svg +3 -0
  242. package/src/assets/icons/Round-check.svg +3 -0
  243. package/src/assets/icons/Search.svg +3 -0
  244. package/src/assets/icons/Secure-checkout.svg +3 -0
  245. package/src/assets/icons/Send.svg +3 -0
  246. package/src/assets/icons/Settings.svg +8 -0
  247. package/src/assets/icons/Social-facebook.svg +3 -0
  248. package/src/assets/icons/Social-instagram.svg +3 -0
  249. package/src/assets/icons/Social-linkedin.svg +3 -0
  250. package/src/assets/icons/Sorting-down-1.svg +3 -0
  251. package/src/assets/icons/Sorting-down.svg +3 -0
  252. package/src/assets/icons/Speedometer.svg +3 -0
  253. package/src/assets/icons/Star-filled.svg +3 -0
  254. package/src/assets/icons/Star-half.svg +3 -0
  255. package/src/assets/icons/Star-outline.svg +3 -0
  256. package/src/assets/icons/Support.svg +3 -0
  257. package/src/assets/icons/Sync.svg +3 -0
  258. package/src/assets/icons/Team.svg +3 -0
  259. package/src/assets/icons/Test.svg +3 -0
  260. package/src/assets/icons/Thunder.svg +3 -0
  261. package/src/assets/icons/Timer.svg +3 -0
  262. package/src/assets/icons/Type.svg +3 -0
  263. package/src/assets/icons/Unarchive.svg +3 -0
  264. package/src/assets/icons/Unlock.svg +3 -0
  265. package/src/assets/icons/Upgrade.svg +3 -0
  266. package/src/assets/icons/Upload.svg +3 -0
  267. package/src/assets/icons/User-access.svg +3 -0
  268. package/src/assets/icons/User-add.svg +3 -0
  269. package/src/assets/icons/User-invite.svg +3 -0
  270. package/src/assets/icons/User-profile.svg +3 -0
  271. package/src/assets/icons/User-reject.svg +4 -0
  272. package/src/assets/icons/User-switch.svg +3 -0
  273. package/src/assets/icons/Video-pause.svg +3 -0
  274. package/src/assets/icons/Video-play.svg +3 -0
  275. package/src/assets/icons/Video-record.svg +3 -0
  276. package/src/assets/icons/Video.svg +3 -0
  277. package/src/assets/icons/Volume.svg +3 -0
  278. package/src/assets/icons/Warning.svg +3 -0
  279. package/src/assets/icons/Zoom-in.svg +6 -0
  280. package/src/assets/icons/Zoom-out.svg +5 -0
  281. package/src/assets/images/poweredbyTG.svg +37 -0
  282. package/src/assets/images/reverseTG.svg +84 -0
  283. package/src/assets/images/testgorilla.svg +75 -8
  284. package/src/theme/_alert-bars.scss +88 -0
  285. package/src/theme/_breakpoints-mixin.scss +12 -0
  286. package/src/theme/_core.scss +0 -1
  287. package/src/theme/_palette.scss +73 -73
  288. package/src/theme/_tooltip.scss +75 -0
  289. package/src/theme/_typography.scss +59 -16
  290. package/src/theme/_variables.scss +49 -0
  291. package/src/theme/theme.scss +4 -73
  292. package/utils/alert-bar.model.d.ts +1 -0
  293. package/utils/alert-bars.utils.d.ts +6 -0
  294. package/.github/README.md +0 -81
  295. package/components/banner/banner.component.d.ts +0 -27
  296. package/components/banner/banner.component.module.d.ts +0 -9
  297. package/components/dialog/dialog.model.d.ts +0 -4
  298. package/components/dialog/launch-dialog.component.d.ts +0 -9
  299. package/esm2020/components/banner/banner.component.mjs +0 -44
  300. package/esm2020/components/banner/banner.component.module.mjs +0 -20
  301. package/esm2020/components/dialog/dialog.model.mjs +0 -2
  302. package/esm2020/components/dialog/launch-dialog.component.mjs +0 -24
  303. package/src/assets/.gitkeep +0 -0
  304. /package/{testgorilla-tgo-ui.d.ts → index.d.ts} +0 -0
@@ -1,110 +1,309 @@
1
+ import { trigger, transition, animate, style, state } from '@angular/animations';
1
2
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, Input, NgModule, EventEmitter, Output, forwardRef, ViewEncapsulation, HostBinding, Optional, Inject, Injectable, Pipe, Directive, ViewChild } from '@angular/core';
3
- import * as i2 from '@angular/material/icon';
4
- import { MatIconModule } from '@angular/material/icon';
5
- import * as i5 from '@angular/common';
3
+ import { Component, ViewEncapsulation, Input, EventEmitter, Output, ChangeDetectionStrategy, NgModule, forwardRef, HostBinding, Injectable, Directive, HostListener, Pipe, ViewChild } from '@angular/core';
4
+ import * as i1$1 from '@angular/common';
6
5
  import { CommonModule } from '@angular/common';
7
- import * as i1 from '@angular/material/button';
6
+ import * as i2$1 from '@angular/material/button';
8
7
  import { MatButtonModule } from '@angular/material/button';
9
- import * as i3 from '@angular/material/progress-spinner';
8
+ import * as i1 from '@angular/material/icon';
9
+ import { MatIconModule } from '@angular/material/icon';
10
+ import * as i2 from '@angular/platform-browser';
11
+ import * as i4 from '@angular/material/progress-spinner';
10
12
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
11
- import * as i1$1 from '@angular/material/card';
13
+ import { HttpClientModule } from '@angular/common/http';
14
+ import * as i1$2 from '@angular/material/card';
12
15
  import { MatCardModule } from '@angular/material/card';
13
16
  import * as i1$3 from '@angular/forms';
14
- import { Validators, NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
15
- import * as i1$2 from '@angular/material/form-field';
17
+ import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';
18
+ import * as i2$2 from '@angular/material/checkbox';
19
+ import { MatCheckboxModule } from '@angular/material/checkbox';
20
+ import * as i2$3 from '@angular/material/form-field';
16
21
  import { MatFormFieldModule } from '@angular/material/form-field';
17
- import * as i4 from '@angular/material/input';
22
+ import * as i3 from '@angular/material/input';
18
23
  import { MatInputModule } from '@angular/material/input';
19
- import * as i4$1 from '@angular-material-extensions/password-strength';
24
+ import * as i5 from '@angular-material-extensions/password-strength';
20
25
  import { MatPasswordStrengthModule } from '@angular-material-extensions/password-strength';
21
- import * as i5$1 from '@angular/material/checkbox';
22
- import { MatCheckboxModule } from '@angular/material/checkbox';
23
26
  import * as i1$4 from '@angular/material/dialog';
24
- import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
25
- import * as i1$5 from '@angular/material/toolbar';
27
+ import { MatDialogModule, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
28
+ import * as i1$5 from '@angular/material/progress-bar';
29
+ import { MatProgressBarModule } from '@angular/material/progress-bar';
30
+ import * as i2$4 from '@angular/material/toolbar';
26
31
  import { MatToolbarModule } from '@angular/material/toolbar';
27
- import * as i5$2 from '@angular/material/menu';
32
+ import * as i5$1 from '@angular/material/menu';
28
33
  import { MatMenuModule } from '@angular/material/menu';
29
34
  import { MatRippleModule } from '@angular/material/core';
30
35
  import * as i1$6 from '@angular/material/paginator';
31
36
  import { MatPaginatorModule } from '@angular/material/paginator';
32
- import * as i1$7 from '@angular/material/progress-bar';
33
- import { MatProgressBarModule } from '@angular/material/progress-bar';
34
- import { trigger, state, style, transition, animate } from '@angular/animations';
35
- import * as i3$1 from '@angular/material/sort';
37
+ import * as i2$5 from '@angular/material/radio';
38
+ import { MatRadioModule } from '@angular/material/radio';
39
+ import * as i4$1 from '@angular/material/sort';
36
40
  import { MatSort, MatSortModule } from '@angular/material/sort';
37
- import * as i2$1 from '@angular/material/table';
41
+ import * as i3$1 from '@angular/material/table';
38
42
  import { MatTableDataSource, MatTableModule } from '@angular/material/table';
39
- import { Subscription } from 'rxjs';
40
- import * as i7 from '@angular/material/tooltip';
43
+ import * as i6 from '@angular/material/tooltip';
41
44
  import { MatTooltipModule } from '@angular/material/tooltip';
45
+ import { Subscription } from 'rxjs';
42
46
 
43
- class BannerComponent {
44
- constructor() {
45
- // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13
46
- // https://github.com/storybookjs/storybook/issues/16865
47
- // https://github.com/storybookjs/storybook/issues/17004
47
+ const alertBarsUtil = {
48
+ //Set css class and iconName according type
49
+ setIcon: (alertType) => {
50
+ if (alertType === 'success') {
51
+ return 'Round-check';
52
+ }
53
+ if (alertType === 'info') {
54
+ return 'Info';
55
+ }
56
+ if (alertType === 'warning') {
57
+ return 'Warning';
58
+ }
59
+ if (alertType === 'error') {
60
+ return 'Error';
61
+ }
62
+ return '';
63
+ },
64
+ //Set cssClass for fixed or static position
65
+ setPosition: (fixed) => {
66
+ if (fixed === true) {
67
+ return 'fixed';
68
+ }
69
+ else {
70
+ return 'static';
71
+ }
72
+ },
73
+ //Set css class for alertbanner
74
+ setCssClass: (fullWidth, type, position) => {
75
+ const isFullWidth = !!fullWidth ? 'full-width' : '';
76
+ return `${type} ${position} ${isFullWidth}`;
77
+ },
78
+ };
79
+
80
+ // Data of all tgoIcons
81
+ const tgoIcons = [
82
+ 'Add',
83
+ 'Archive',
84
+ 'Arrow_down',
85
+ 'Arrow_left',
86
+ 'Arrow_right',
87
+ 'Arrow_up',
88
+ 'Assessment',
89
+ 'Attempts',
90
+ 'Book',
91
+ 'Calendar',
92
+ 'Candidates',
93
+ 'Chat-notifications',
94
+ 'Chat',
95
+ 'Check',
96
+ 'Clone',
97
+ 'Close',
98
+ 'Code',
99
+ 'Company',
100
+ 'Copy',
101
+ 'Custom-questions',
102
+ 'Delete',
103
+ 'Devices',
104
+ 'Document',
105
+ 'Download',
106
+ 'Edit',
107
+ 'Email-message',
108
+ 'Empty-placeholder',
109
+ 'Error',
110
+ 'Essay',
111
+ 'Eye-hide',
112
+ 'Eye-view',
113
+ 'Feedback-1',
114
+ 'Feedback-2',
115
+ 'Feedback-3',
116
+ 'Feedback-4',
117
+ 'Feedback-5',
118
+ 'File-attach',
119
+ 'File-upload',
120
+ 'Filter',
121
+ 'Folder',
122
+ 'Format-add-file',
123
+ 'Format-add-table',
124
+ 'Format-align-L',
125
+ 'Format-align-R',
126
+ 'Format-align-center',
127
+ 'Format-align-justify',
128
+ 'Format-bold',
129
+ 'Format-code-active',
130
+ 'Format-code-block',
131
+ 'Format-edit-table',
132
+ 'Format-format',
133
+ 'Format-function',
134
+ 'Format-italics',
135
+ 'Format-list-bulleted',
136
+ 'Format-list-numbered',
137
+ 'Format-picker',
138
+ 'Format-quote',
139
+ 'Format-subscript',
140
+ 'Format-superscript',
141
+ 'Format-text-direction-L',
142
+ 'Format-text-direction-R',
143
+ 'Format-text-size',
144
+ 'Format-underline',
145
+ 'Format-variable',
146
+ 'Full-screen',
147
+ 'Gender-female',
148
+ 'Gender-male',
149
+ 'Help-2',
150
+ 'Help',
151
+ 'Image',
152
+ 'Info',
153
+ 'Integration',
154
+ 'Language',
155
+ 'Layout',
156
+ 'Learn',
157
+ 'Level',
158
+ 'Light-bulb',
159
+ 'Link',
160
+ 'Loading-spinner',
161
+ 'Localisation',
162
+ 'Location',
163
+ 'Lock',
164
+ 'Log-out',
165
+ 'Menu-burger',
166
+ 'Menu-ellipsis',
167
+ 'Microphone',
168
+ 'Minus',
169
+ 'Mouse-cursor',
170
+ 'Mouse-grab-cursor',
171
+ 'Mouse',
172
+ 'Multi-choice',
173
+ 'Notifications',
174
+ 'Password',
175
+ 'Path',
176
+ 'Plan-billing',
177
+ 'Plus',
178
+ 'Premium',
179
+ 'Promotion',
180
+ 'Question-count',
181
+ 'Refer',
182
+ 'Reset',
183
+ 'Review',
184
+ 'Round-check-filled',
185
+ 'Round-check',
186
+ 'Search',
187
+ 'Secure-checkout',
188
+ 'Send',
189
+ 'Settings',
190
+ 'Social-facebook',
191
+ 'Social-instagram',
192
+ 'Social-linkedin',
193
+ 'Sorting-down-1',
194
+ 'Sorting-down',
195
+ 'Speedometer',
196
+ 'Star-filled',
197
+ 'Star-half',
198
+ 'Star-outline',
199
+ 'Support',
200
+ 'Sync',
201
+ 'Team',
202
+ 'Test',
203
+ 'Thunder',
204
+ 'Timer',
205
+ 'Type',
206
+ 'Unarchive',
207
+ 'Unlock',
208
+ 'Upgrade',
209
+ 'Upload',
210
+ 'User-access',
211
+ 'User-add',
212
+ 'User-invite',
213
+ 'User-profile',
214
+ 'User-reject',
215
+ 'User-switch',
216
+ 'Video-pause',
217
+ 'Video-play',
218
+ 'Video-record',
219
+ 'Video',
220
+ 'Volume',
221
+ 'Warning',
222
+ 'Zoom-in',
223
+ 'Zoom-out',
224
+ ];
225
+
226
+ class IconComponent {
227
+ constructor(matIconRegistry, domSanitzer) {
228
+ this.matIconRegistry = matIconRegistry;
229
+ this.domSanitzer = domSanitzer;
48
230
  /**
49
- * Banner background color
231
+ * Icon size
50
232
  *
51
- * @type {TemplateStringsArray}
52
- * @memberof BannerComponent
233
+ * @type {IconSize}
234
+ * @memberof IconComponent
53
235
  */
54
- this.backgroundColor = '';
236
+ this.size = '16';
55
237
  /**
56
- * Banner text
238
+ * Icon css class
57
239
  *
58
- * @type {string}
59
- * @memberof BannerComponent
240
+ * @memberof IconComponent
60
241
  */
61
- this.text = '';
242
+ this.cssClass = '';
62
243
  /**
63
- * Banner icon
244
+ * Icon color
64
245
  *
65
- * @type {string}
66
- * @memberof BannerComponent
246
+ * @type {IconColor}
247
+ * @memberof IconComponent
67
248
  */
68
- this.icon = 'error_outline';
249
+ this.color = 'black';
250
+ }
251
+ ngOnInit() {
252
+ this.customCssClass = this.setCssClass();
253
+ this.addIcon();
254
+ }
255
+ ngOnChanges(changes) {
256
+ if (changes['size'] || changes['cssClass'] || changes['color']) {
257
+ this.customCssClass = this.setCssClass();
258
+ }
259
+ if (changes['name']) {
260
+ this.addIcon();
261
+ }
262
+ }
263
+ //set css class for size
264
+ setCssClass() {
265
+ return `${this.cssClass} size-${this.size} ${this.color}`;
266
+ }
267
+ //Add icon to matIcon registry
268
+ addIcon() {
269
+ const filename = tgoIcons.find(icon => icon === this.name);
270
+ if (filename) {
271
+ this.matIconRegistry.addSvgIcon(filename, this.domSanitzer.bypassSecurityTrustResourceUrl(`/icons/${filename}.svg`));
272
+ }
69
273
  }
70
274
  }
71
- BannerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
72
- BannerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: BannerComponent, selector: "ui-banner", inputs: { backgroundColor: "backgroundColor", text: "text", icon: "icon" }, ngImport: i0, template: "<div id=\"banner\" [style.background-color]=\"backgroundColor\">\n <mat-icon>{{ icon }}</mat-icon>\n <span>{{ text }}</span>\n</div>", styles: ["#banner{height:48px;padding:0 160px;color:#000;font-weight:600;font-size:14px;display:flex;align-items:center}#banner mat-icon{margin-right:16px}\n"], components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerComponent, decorators: [{
275
+ IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IconComponent, deps: [{ token: i1.MatIconRegistry }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
276
+ IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: IconComponent, selector: "ui-icon", inputs: { size: "size", cssClass: "cssClass", name: "name", color: "color" }, usesOnChanges: true, ngImport: i0, template: "<mat-icon [svgIcon]=\"name\" [attr.class]=\"customCssClass\"></mat-icon>\n", styles: ["mat-icon{display:flex}mat-icon.size-16 svg{width:16px;height:16px}mat-icon.size-24 svg{width:24px;height:24px}mat-icon.dark svg{color:#888}mat-icon.white svg{color:#fff}mat-icon.teal svg{color:#46a997}mat-icon.petrol svg{color:#276678}mat-icon.black svg{color:#000}\n"], dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None });
277
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IconComponent, decorators: [{
74
278
  type: Component,
75
- args: [{ selector: 'ui-banner', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"banner\" [style.background-color]=\"backgroundColor\">\n <mat-icon>{{ icon }}</mat-icon>\n <span>{{ text }}</span>\n</div>", styles: ["#banner{height:48px;padding:0 160px;color:#000;font-weight:600;font-size:14px;display:flex;align-items:center}#banner mat-icon{margin-right:16px}\n"] }]
76
- }], ctorParameters: function () { return []; }, propDecorators: { backgroundColor: [{
279
+ args: [{ selector: 'ui-icon', encapsulation: ViewEncapsulation.None, template: "<mat-icon [svgIcon]=\"name\" [attr.class]=\"customCssClass\"></mat-icon>\n", styles: ["mat-icon{display:flex}mat-icon.size-16 svg{width:16px;height:16px}mat-icon.size-24 svg{width:24px;height:24px}mat-icon.dark svg{color:#888}mat-icon.white svg{color:#fff}mat-icon.teal svg{color:#46a997}mat-icon.petrol svg{color:#276678}mat-icon.black svg{color:#000}\n"] }]
280
+ }], ctorParameters: function () { return [{ type: i1.MatIconRegistry }, { type: i2.DomSanitizer }]; }, propDecorators: { size: [{
77
281
  type: Input
78
- }], text: [{
282
+ }], cssClass: [{
79
283
  type: Input
80
- }], icon: [{
284
+ }], name: [{
285
+ type: Input
286
+ }], color: [{
81
287
  type: Input
82
288
  }] } });
83
289
 
84
- class BannerComponentModule {
85
- }
86
- BannerComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
87
- BannerComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerComponentModule, declarations: [BannerComponent], imports: [CommonModule, MatIconModule], exports: [BannerComponent] });
88
- BannerComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerComponentModule, providers: [], imports: [[CommonModule, MatIconModule]] });
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerComponentModule, decorators: [{
90
- type: NgModule,
91
- args: [{
92
- declarations: [BannerComponent],
93
- imports: [CommonModule, MatIconModule],
94
- exports: [BannerComponent],
95
- providers: [],
96
- }]
97
- }] });
98
-
290
+ /* eslint-disable @angular-eslint/use-lifecycle-interface */
99
291
  class ButtonComponent {
100
292
  constructor() {
293
+ /**
294
+ * Define button height
295
+ *
296
+ * @type {ButtonSize}
297
+ * @memberof ButtonComponent
298
+ */
299
+ this.size = 'big';
101
300
  /**
102
301
  * Background color of the button while in active state
103
302
  *
104
303
  * @type {ButtonColor}
105
304
  * @memberof ButtonComponent
106
305
  */
107
- this.color = 'primary';
306
+ this.type = 'primary';
108
307
  /**
109
308
  * Text content to appear on the button
110
309
  *
@@ -112,8 +311,22 @@ class ButtonComponent {
112
311
  */
113
312
  this.label = '';
114
313
  /**
115
- * Name of the material icon
314
+ * Positioning of the icon (when existant)
116
315
  *
316
+ * @type {ButtonIconPosition}
317
+ * @memberof ButtonComponent
318
+ */
319
+ this.iconPosition = 'right';
320
+ /**
321
+ * Define if button has only icon without text
322
+ *
323
+ * @memberof ButtonComponent
324
+ */
325
+ this.justIcon = false;
326
+ /**
327
+ * Name of ui-icon
328
+ *
329
+ * @type {IconName}
117
330
  * @memberof ButtonComponent
118
331
  */
119
332
  this.iconName = '';
@@ -135,23 +348,74 @@ class ButtonComponent {
135
348
  * @memberof ButtonComponent
136
349
  */
137
350
  this.fullWidth = false;
138
- this.onClickEvent = new EventEmitter();
351
+ this.buttonClickEvent = new EventEmitter();
352
+ this.buttonHoverEvent = new EventEmitter();
353
+ }
354
+ ngOnInit() {
355
+ this.classCss = this.setCssClass();
356
+ this.isButtonLink = this.showButtonLink();
357
+ this.isLabel = this.showLabel();
358
+ }
359
+ ngOnChanges(changes) {
360
+ if (changes['type']) {
361
+ this.isButtonLink = this.showButtonLink();
362
+ }
363
+ if (changes['loading']) {
364
+ this.isLabel = this.showLabel();
365
+ }
366
+ if (changes['type'] ||
367
+ changes['fullWidth'] ||
368
+ changes['iconName'] ||
369
+ changes['justIcon'] ||
370
+ changes['iconPosition']) {
371
+ this.classCss = this.setCssClass();
372
+ }
373
+ }
374
+ buttonClick(event) {
375
+ this.buttonClickEvent.emit(event);
376
+ }
377
+ buttonHover(event) {
378
+ this.buttonHoverEvent.emit(event);
139
379
  }
140
- onClick() {
141
- this.onClickEvent.emit();
380
+ //Show or hide label
381
+ showLabel() {
382
+ return !this.loading;
383
+ }
384
+ //Set css class according inputs
385
+ setCssClass() {
386
+ const width = this.fullWidth ? 'full-width' : '';
387
+ const hasIcon = this.iconName === null ? '' : 'icon';
388
+ const justIcon = this.justIcon ? 'only-icon' : '';
389
+ const iconPosition = this.iconPosition === undefined ? '' : this.iconPosition;
390
+ return `${this.size} ${iconPosition} ${this.type} ${width} ${hasIcon} ${justIcon}`;
391
+ }
392
+ //Show or hide spinner
393
+ showSpinner() {
394
+ const isNotTab = this.type !== 'tab';
395
+ const isNotLink = this.type !== 'link';
396
+ const isLoading = this.loading === true;
397
+ return isLoading && isNotTab && isNotLink;
398
+ }
399
+ //Show button with <button> or <a> tag
400
+ showButtonLink() {
401
+ return this.type !== 'link';
142
402
  }
143
403
  }
144
- ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
145
- ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ButtonComponent, selector: "ui-button", inputs: { color: "color", label: "label", iconPosition: "iconPosition", iconName: "iconName", disabled: "disabled", loading: "loading", fullWidth: "fullWidth" }, outputs: { onClickEvent: "onClickEvent" }, ngImport: i0, template: "<button mat-flat-button [ngStyle]=\"{'width': fullWidth ? '100%' : 'auto'}\" [ngClass]=\"{'primary': color === 'primary', 'secondary' : color === 'secondary', 'tertiary' : color === 'tertiary' }\" [disabled]=\"disabled || loading\" (click)=\"onClick()\" >\n <div class=\"label-icon-wrapper\" [ngClass]=\"{ hidden: loading }\">\n <span class=\"icon icon-left\" *ngIf=\"iconPosition === 'left'\"\n ><mat-icon>{{ iconName }}</mat-icon></span\n >\n <span [ngClass]=\"{ 'label-without-icon': iconName === '', 'label-with-icon': iconName !== '' }\">{{ label }}</span>\n <span class=\"icon icon-right\" *ngIf=\"iconPosition === 'right'\"\n ><mat-icon>{{ iconName }}</mat-icon></span\n >\n </div>\n <mat-spinner *ngIf=\"loading\" class=\"position-spinner\" aria-label=\"loading\" mode=\"indeterminate\" diameter=\"16\"></mat-spinner>\n</button>\n", styles: ["button{padding:16px}button.primary{background-color:#46a997;color:#fff}button.primary.mat-flat-button.mat-button-disabled{background-color:#a2d4cb!important}button.secondary{background-color:#ededed;color:#000}button.secondary.mat-flat-button.mat-button-disabled{background-color:#f6f6f6!important;color:#000!important}button.tertiary{background-color:inherit;border-color:inherit;color:#46a997}button.tertiary.mat-flat-button.mat-button-disabled{background-color:inherit!important;border-color:inherit!important;color:#a2d4cb!important}button .label-icon-wrapper{display:flex;justify-content:center}button .label-icon-wrapper .label-without-icon{margin:0 16px;line-height:16px}button .label-icon-wrapper .label-with-icon{margin:0;line-height:16px}button .label-icon-wrapper .mat-icon{font-size:16px;height:16px;width:16px}button .label-icon-wrapper .icon-left{margin:0 16px 0 0}button .label-icon-wrapper .icon-right{margin:0 0 0 16px}button .position-spinner{width:16px;height:16px;display:inline-flex;margin-top:-16px}\n"], components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ButtonComponent, decorators: [{
404
+ ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
405
+ ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ButtonComponent, selector: "ui-button", inputs: { size: "size", type: "type", label: "label", iconPosition: "iconPosition", justIcon: "justIcon", iconName: "iconName", disabled: "disabled", loading: "loading", fullWidth: "fullWidth", url: "url", urlTarget: "urlTarget", value: "value" }, outputs: { buttonClickEvent: "buttonClickEvent", buttonHoverEvent: "buttonHoverEvent" }, usesOnChanges: true, ngImport: i0, template: "<button\n [ngClass]=\"classCss\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick($event)\"\n (mouseenter)=\"buttonHover($event)\"\n [disableRipple]=\"true\"\n *ngIf=\"isButtonLink\"\n mat-flat-button>\n <span class=\"icon-only-wrapper\" *ngIf=\"justIcon === true && !!iconName\">\n <span class=\"icon only\" role=\"label\" [attr.aria-label]=\"label\"><ui-icon [name]=\"iconName\" size=\"24\"></ui-icon></span>\n </span>\n <span class=\"icon-label-wrapper\" [ngClass]=\"{'center-text': iconName === ''}\" *ngIf=\"justIcon === false\">\n <span class=\"icon\" *ngIf=\"iconPosition === 'left' && !!iconName\" aria-hidden=\"true\"><ui-icon [name]=\"iconName\" size=\"24\"></ui-icon></span>\n <span *ngIf=\"isLabel\" class=\"label\">{{ label }}</span>\n <span class=\"icon\" *ngIf=\"iconPosition === 'right' && !!iconName\" aria-hidden=\"true\"><ui-icon [name]=\"iconName\" size=\"24\"></ui-icon></span>\n <span class=\"spinner-wrapper\" *ngIf=\"showSpinner()\">\n <mat-spinner class=\"position-spinner\" aria-label=\"loading\" mode=\"indeterminate\" diameter=\"24\"></mat-spinner>\n </span>\n </span>\n</button>\n<a\n [ngClass]=\"classCss\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick($event)\"\n (mouseenter)=\"buttonHover($event)\"\n [disableRipple]=\"true\"\n *ngIf=\"!isButtonLink\" \n [href]=\"url\" \n [target]=\"urlTarget\"\n mat-flat-button>\n <span class=\"icon-label-wrapper\">\n {{ label }}\n </span>\n</a>\n", styles: [":host{display:flex}button.mat-mdc-unelevated-button,a.mat-mdc-unelevated-button{font-size:14px;font-weight:600;line-height:normal;letter-spacing:normal}button.mat-mdc-unelevated-button .spinner-wrapper,a.mat-mdc-unelevated-button .spinner-wrapper{display:flex;align-items:center;flex-flow:column;width:100%}button.mat-mdc-unelevated-button .icon,a.mat-mdc-unelevated-button .icon{display:flex;height:100%;align-items:center}button.mat-mdc-unelevated-button .icon.only,a.mat-mdc-unelevated-button .icon.only{align-items:center;flex-flow:column;justify-content:center;margin-left:0}button.mat-mdc-unelevated-button .icon-label-wrapper,a.mat-mdc-unelevated-button .icon-label-wrapper{display:flex;align-items:center;justify-content:center;height:100%}button.mat-mdc-unelevated-button .icon-label-wrapper.center-text,a.mat-mdc-unelevated-button .icon-label-wrapper.center-text{flex-flow:column;width:100%}button.mat-mdc-unelevated-button .icon-label-wrapper .label,a.mat-mdc-unelevated-button .icon-label-wrapper .label{display:flex;height:100%;align-items:center}button.mat-mdc-unelevated-button.big,a.mat-mdc-unelevated-button.big{height:48px;padding:12px 16px}button.mat-mdc-unelevated-button.small,a.mat-mdc-unelevated-button.small{height:38px;padding:7px 11px}button.mat-mdc-unelevated-button.small.left .icon,button.mat-mdc-unelevated-button.big.left .icon,a.mat-mdc-unelevated-button.small.left .icon,a.mat-mdc-unelevated-button.big.left .icon{margin-right:8px}button.mat-mdc-unelevated-button.small.right .icon,button.mat-mdc-unelevated-button.big.right .icon,a.mat-mdc-unelevated-button.small.right .icon,a.mat-mdc-unelevated-button.big.right .icon{margin-left:8px}button.mat-mdc-unelevated-button.small.only-icon .icon,button.mat-mdc-unelevated-button.big.only-icon .icon,a.mat-mdc-unelevated-button.small.only-icon .icon,a.mat-mdc-unelevated-button.big.only-icon .icon{margin-left:0}button.mat-mdc-unelevated-button.primary,button.mat-mdc-unelevated-button.secondary,button.mat-mdc-unelevated-button.outlined,button.mat-mdc-unelevated-button.destructive,button.mat-mdc-unelevated-button.tertiary,button.mat-mdc-unelevated-button.link,a.mat-mdc-unelevated-button.primary,a.mat-mdc-unelevated-button.secondary,a.mat-mdc-unelevated-button.outlined,a.mat-mdc-unelevated-button.destructive,a.mat-mdc-unelevated-button.tertiary,a.mat-mdc-unelevated-button.link{min-width:80px}button.mat-mdc-unelevated-button.primary.only-icon,button.mat-mdc-unelevated-button.secondary.only-icon,button.mat-mdc-unelevated-button.outlined.only-icon,button.mat-mdc-unelevated-button.destructive.only-icon,button.mat-mdc-unelevated-button.tertiary.only-icon,button.mat-mdc-unelevated-button.link.only-icon,a.mat-mdc-unelevated-button.primary.only-icon,a.mat-mdc-unelevated-button.secondary.only-icon,a.mat-mdc-unelevated-button.outlined.only-icon,a.mat-mdc-unelevated-button.destructive.only-icon,a.mat-mdc-unelevated-button.tertiary.only-icon,a.mat-mdc-unelevated-button.link.only-icon{min-width:1px}button.mat-mdc-unelevated-button.primary.full-width,button.mat-mdc-unelevated-button.secondary.full-width,button.mat-mdc-unelevated-button.outlined.full-width,button.mat-mdc-unelevated-button.destructive.full-width,button.mat-mdc-unelevated-button.tertiary.full-width,button.mat-mdc-unelevated-button.link.full-width,a.mat-mdc-unelevated-button.primary.full-width,a.mat-mdc-unelevated-button.secondary.full-width,a.mat-mdc-unelevated-button.outlined.full-width,a.mat-mdc-unelevated-button.destructive.full-width,a.mat-mdc-unelevated-button.tertiary.full-width,a.mat-mdc-unelevated-button.link.full-width{width:100%;min-width:100%}button.mat-mdc-unelevated-button.primary.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.secondary.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.outlined.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.destructive.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.tertiary.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.link.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.primary.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.secondary.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.outlined.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.destructive.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.tertiary.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.link.full-width .icon-label-wrapper{justify-content:center}button.mat-mdc-unelevated-button.primary:focus,button.mat-mdc-unelevated-button.secondary:focus,button.mat-mdc-unelevated-button.outlined:focus,button.mat-mdc-unelevated-button.destructive:focus,button.mat-mdc-unelevated-button.tertiary:focus,button.mat-mdc-unelevated-button.link:focus,button.mat-mdc-unelevated-button.tab:focus,button.mat-mdc-unelevated-button.squareicon:focus,button.mat-mdc-unelevated-button.menuTrigger:focus,a.mat-mdc-unelevated-button.primary:focus,a.mat-mdc-unelevated-button.secondary:focus,a.mat-mdc-unelevated-button.outlined:focus,a.mat-mdc-unelevated-button.destructive:focus,a.mat-mdc-unelevated-button.tertiary:focus,a.mat-mdc-unelevated-button.link:focus,a.mat-mdc-unelevated-button.tab:focus,a.mat-mdc-unelevated-button.squareicon:focus,a.mat-mdc-unelevated-button.menuTrigger:focus{outline:1px dashed #888888;outline-offset:4px}button.mat-mdc-unelevated-button.menuCell:focus,a.mat-mdc-unelevated-button.menuCell:focus{outline:1px dashed #888888;outline-offset:-1px}button.mat-mdc-unelevated-button.primary,a.mat-mdc-unelevated-button.primary{background-color:#46a997;color:#fff}button.mat-mdc-unelevated-button.primary:hover,a.mat-mdc-unelevated-button.primary:hover{background-color:#31766a}button.mat-mdc-unelevated-button.primary:disabled,button.mat-mdc-unelevated-button.primary:disabled:hover,a.mat-mdc-unelevated-button.primary:disabled,a.mat-mdc-unelevated-button.primary:disabled:hover{background-color:#b5ddd5}button.mat-mdc-unelevated-button.primary:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.primary:focus.cdk-focused.cdk-mouse-focused{background-color:#1c443c}button.mat-mdc-unelevated-button.primary ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.primary ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.primary .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.primary .mat-mdc-progress-spinner ::ng-deep circle{stroke:#fff}button.mat-mdc-unelevated-button.secondary,a.mat-mdc-unelevated-button.secondary{background-color:#ededed;color:#000}button.mat-mdc-unelevated-button.secondary:hover,a.mat-mdc-unelevated-button.secondary:hover{background-color:#e0e0e0}button.mat-mdc-unelevated-button.secondary:disabled,button.mat-mdc-unelevated-button.secondary:disabled:hover,a.mat-mdc-unelevated-button.secondary:disabled,a.mat-mdc-unelevated-button.secondary:disabled:hover{background-color:#ededed;color:#888}button.mat-mdc-unelevated-button.secondary:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.secondary:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.secondary:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.secondary:focus.cdk-focused.cdk-mouse-focused{background-color:#888}button.mat-mdc-unelevated-button.secondary .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.secondary .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.outlined,a.mat-mdc-unelevated-button.outlined{background-color:#fff;color:#000;border-width:1px;border-style:solid;border-color:#000}button.mat-mdc-unelevated-button.outlined:hover,a.mat-mdc-unelevated-button.outlined:hover{background-color:#f6f6f6}button.mat-mdc-unelevated-button.outlined:disabled,button.mat-mdc-unelevated-button.outlined:disabled:hover,a.mat-mdc-unelevated-button.outlined:disabled,a.mat-mdc-unelevated-button.outlined:disabled:hover{color:#ededed;border-color:#ededed}button.mat-mdc-unelevated-button.outlined:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.outlined:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.outlined:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.outlined:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.outlined:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.outlined:focus.cdk-focused.cdk-mouse-focused{background-color:#e0e0e0}button.mat-mdc-unelevated-button.outlined .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.outlined .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.destructive,a.mat-mdc-unelevated-button.destructive{background-color:#cb7b7a;color:#fff}button.mat-mdc-unelevated-button.destructive:hover,a.mat-mdc-unelevated-button.destructive:hover{background-color:#8e5655}button.mat-mdc-unelevated-button.destructive:disabled,button.mat-mdc-unelevated-button.destructive:disabled:hover,a.mat-mdc-unelevated-button.destructive:disabled,a.mat-mdc-unelevated-button.destructive:disabled:hover{background-color:#e3c3c6}button.mat-mdc-unelevated-button.destructive:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.destructive:focus.cdk-focused.cdk-mouse-focused{background-color:#513131}button.mat-mdc-unelevated-button.destructive ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.destructive ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.destructive .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.destructive .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.tertiary,a.mat-mdc-unelevated-button.tertiary{background-color:transparent;color:#46a997}button.mat-mdc-unelevated-button.tertiary:hover,a.mat-mdc-unelevated-button.tertiary:hover{background-color:#f6f6f6;color:#31766a}button.mat-mdc-unelevated-button.tertiary:disabled,button.mat-mdc-unelevated-button.tertiary:disabled:hover,a.mat-mdc-unelevated-button.tertiary:disabled,a.mat-mdc-unelevated-button.tertiary:disabled:hover{background-color:#fff;color:#b5ddd5}button.mat-mdc-unelevated-button.tertiary:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.tertiary:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tertiary:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tertiary:disabled:hover ::ng-deep mat-icon.black svg{color:#b5ddd5}button.mat-mdc-unelevated-button.tertiary:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.tertiary:focus.cdk-focused.cdk-mouse-focused{background-color:#e0e0e0;color:#1c443c}button.mat-mdc-unelevated-button.tertiary ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tertiary ::ng-deep mat-icon.black svg{color:#46a997}button.mat-mdc-unelevated-button.tertiary .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.tertiary .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.link,a.mat-mdc-unelevated-button.link{background-color:transparent;color:#46a997;border-radius:0}button.mat-mdc-unelevated-button.link span.icon-label-wrapper,a.mat-mdc-unelevated-button.link span.icon-label-wrapper{text-decoration:underline}button.mat-mdc-unelevated-button.link:hover,a.mat-mdc-unelevated-button.link:hover{color:#31766a}button.mat-mdc-unelevated-button.link:disabled,button.mat-mdc-unelevated-button.link:disabled:hover,a.mat-mdc-unelevated-button.link:disabled,a.mat-mdc-unelevated-button.link:disabled:hover{color:#b5ddd5}button.mat-mdc-unelevated-button.link:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.link:focus.cdk-focused.cdk-mouse-focused{color:#1c443c}button.mat-mdc-unelevated-button.link ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.link ::ng-deep mat-icon.black svg{color:#46a997}button.mat-mdc-unelevated-button.text,a.mat-mdc-unelevated-button.text{background-color:transparent;color:#000;border-radius:0;text-decoration:underline}button.mat-mdc-unelevated-button.text span.icon-label-wrapper,a.mat-mdc-unelevated-button.text span.icon-label-wrapper{text-decoration:underline}button.mat-mdc-unelevated-button.text:hover,a.mat-mdc-unelevated-button.text:hover{color:#000}button.mat-mdc-unelevated-button.text:disabled,button.mat-mdc-unelevated-button.text:disabled:hover,a.mat-mdc-unelevated-button.text:disabled,a.mat-mdc-unelevated-button.text:disabled:hover{color:#888}button.mat-mdc-unelevated-button.text:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.text:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.text:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.text:focus.cdk-focused.cdk-mouse-focused{color:#000}button.mat-mdc-unelevated-button.text .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.text .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.squareicon,a.mat-mdc-unelevated-button.squareicon{background-color:#ededed;color:#000;min-width:56px}button.mat-mdc-unelevated-button.squareicon:hover,a.mat-mdc-unelevated-button.squareicon:hover{background-color:#e0e0e0}button.mat-mdc-unelevated-button.squareicon:disabled,button.mat-mdc-unelevated-button.squareicon:disabled:hover,a.mat-mdc-unelevated-button.squareicon:disabled,a.mat-mdc-unelevated-button.squareicon:disabled:hover{background-color:#ededed;color:#888}button.mat-mdc-unelevated-button.squareicon:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.squareicon:focus.cdk-focused.cdk-mouse-focused{background-color:#ededed}button.mat-mdc-unelevated-button.squareicon .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.squareicon .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.squareicon .icon-label-wrapper,a.mat-mdc-unelevated-button.squareicon .icon-label-wrapper{flex-flow:column}button.mat-mdc-unelevated-button.squareicon.left .icon,button.mat-mdc-unelevated-button.squareicon.right .icon,a.mat-mdc-unelevated-button.squareicon.left .icon,a.mat-mdc-unelevated-button.squareicon.right .icon{margin:0 auto}button.mat-mdc-unelevated-button.tab,a.mat-mdc-unelevated-button.tab{background-color:#fff;color:#000;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#e0e0e0;border-radius:0}button.mat-mdc-unelevated-button.tab:hover .label,button.mat-mdc-unelevated-button.tab:hover .icon.only,a.mat-mdc-unelevated-button.tab:hover .label,a.mat-mdc-unelevated-button.tab:hover .icon.only{text-decoration:underline}button.mat-mdc-unelevated-button.tab:disabled,button.mat-mdc-unelevated-button.tab:disabled:hover,a.mat-mdc-unelevated-button.tab:disabled,a.mat-mdc-unelevated-button.tab:disabled:hover{color:#888}button.mat-mdc-unelevated-button.tab:disabled .label,button.mat-mdc-unelevated-button.tab:disabled:hover .label,a.mat-mdc-unelevated-button.tab:disabled .label,a.mat-mdc-unelevated-button.tab:disabled:hover .label{text-decoration:none}button.mat-mdc-unelevated-button.tab:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.tab:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tab:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tab:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.tab:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.tab:focus.cdk-focused.cdk-mouse-focused{font-weight:700;border-color:#276678}button.mat-mdc-unelevated-button.menuTrigger,a.mat-mdc-unelevated-button.menuTrigger{background:transparent;min-width:24px;height:24px;padding:0}button.mat-mdc-unelevated-button.menuTrigger:hover,a.mat-mdc-unelevated-button.menuTrigger:hover{background-color:#e0e0e0}button.mat-mdc-unelevated-button.menuTrigger:disabled,button.mat-mdc-unelevated-button.menuTrigger:disabled:hover,a.mat-mdc-unelevated-button.menuTrigger:disabled,a.mat-mdc-unelevated-button.menuTrigger:disabled:hover{background-color:#fff;color:#888}button.mat-mdc-unelevated-button.menuTrigger:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.menuTrigger:focus.cdk-focused.cdk-mouse-focused{background-color:transparent}button.mat-mdc-unelevated-button.menuTrigger .icon-label-wrapper,a.mat-mdc-unelevated-button.menuTrigger .icon-label-wrapper{flex-flow:column}button.mat-mdc-unelevated-button.menuTrigger.left .icon,button.mat-mdc-unelevated-button.menuTrigger.right .icon,a.mat-mdc-unelevated-button.menuTrigger.left .icon,a.mat-mdc-unelevated-button.menuTrigger.right .icon{margin:0 auto}button.mat-mdc-unelevated-button.menuCell,a.mat-mdc-unelevated-button.menuCell{background-color:#fff;color:#000;font-weight:400;border-radius:0;min-width:100%;justify-content:flex-start}button.mat-mdc-unelevated-button.menuCell.big.left .icon,a.mat-mdc-unelevated-button.menuCell.big.left .icon{margin-right:16px}button.mat-mdc-unelevated-button.menuCell .icon-label-wrapper,a.mat-mdc-unelevated-button.menuCell .icon-label-wrapper{justify-content:flex-start}button.mat-mdc-unelevated-button.menuCell:hover,a.mat-mdc-unelevated-button.menuCell:hover{background-color:#e0e0e0}button.mat-mdc-unelevated-button.menuCell:disabled,button.mat-mdc-unelevated-button.menuCell:disabled:hover,a.mat-mdc-unelevated-button.menuCell:disabled,a.mat-mdc-unelevated-button.menuCell:disabled:hover{background-color:#fff;color:#888}button.mat-mdc-unelevated-button.menuCell:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.menuCell:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.menuCell:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.menuCell:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused{background-color:#888}button.mat-mdc-unelevated-button.menuCell .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.menuCell .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color"] }, { kind: "component", type: i4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }] });
406
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ButtonComponent, decorators: [{
147
407
  type: Component,
148
- args: [{ selector: 'ui-button', template: "<button mat-flat-button [ngStyle]=\"{'width': fullWidth ? '100%' : 'auto'}\" [ngClass]=\"{'primary': color === 'primary', 'secondary' : color === 'secondary', 'tertiary' : color === 'tertiary' }\" [disabled]=\"disabled || loading\" (click)=\"onClick()\" >\n <div class=\"label-icon-wrapper\" [ngClass]=\"{ hidden: loading }\">\n <span class=\"icon icon-left\" *ngIf=\"iconPosition === 'left'\"\n ><mat-icon>{{ iconName }}</mat-icon></span\n >\n <span [ngClass]=\"{ 'label-without-icon': iconName === '', 'label-with-icon': iconName !== '' }\">{{ label }}</span>\n <span class=\"icon icon-right\" *ngIf=\"iconPosition === 'right'\"\n ><mat-icon>{{ iconName }}</mat-icon></span\n >\n </div>\n <mat-spinner *ngIf=\"loading\" class=\"position-spinner\" aria-label=\"loading\" mode=\"indeterminate\" diameter=\"16\"></mat-spinner>\n</button>\n", styles: ["button{padding:16px}button.primary{background-color:#46a997;color:#fff}button.primary.mat-flat-button.mat-button-disabled{background-color:#a2d4cb!important}button.secondary{background-color:#ededed;color:#000}button.secondary.mat-flat-button.mat-button-disabled{background-color:#f6f6f6!important;color:#000!important}button.tertiary{background-color:inherit;border-color:inherit;color:#46a997}button.tertiary.mat-flat-button.mat-button-disabled{background-color:inherit!important;border-color:inherit!important;color:#a2d4cb!important}button .label-icon-wrapper{display:flex;justify-content:center}button .label-icon-wrapper .label-without-icon{margin:0 16px;line-height:16px}button .label-icon-wrapper .label-with-icon{margin:0;line-height:16px}button .label-icon-wrapper .mat-icon{font-size:16px;height:16px;width:16px}button .label-icon-wrapper .icon-left{margin:0 16px 0 0}button .label-icon-wrapper .icon-right{margin:0 0 0 16px}button .position-spinner{width:16px;height:16px;display:inline-flex;margin-top:-16px}\n"] }]
149
- }], propDecorators: { color: [{
408
+ args: [{ selector: 'ui-button', template: "<button\n [ngClass]=\"classCss\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick($event)\"\n (mouseenter)=\"buttonHover($event)\"\n [disableRipple]=\"true\"\n *ngIf=\"isButtonLink\"\n mat-flat-button>\n <span class=\"icon-only-wrapper\" *ngIf=\"justIcon === true && !!iconName\">\n <span class=\"icon only\" role=\"label\" [attr.aria-label]=\"label\"><ui-icon [name]=\"iconName\" size=\"24\"></ui-icon></span>\n </span>\n <span class=\"icon-label-wrapper\" [ngClass]=\"{'center-text': iconName === ''}\" *ngIf=\"justIcon === false\">\n <span class=\"icon\" *ngIf=\"iconPosition === 'left' && !!iconName\" aria-hidden=\"true\"><ui-icon [name]=\"iconName\" size=\"24\"></ui-icon></span>\n <span *ngIf=\"isLabel\" class=\"label\">{{ label }}</span>\n <span class=\"icon\" *ngIf=\"iconPosition === 'right' && !!iconName\" aria-hidden=\"true\"><ui-icon [name]=\"iconName\" size=\"24\"></ui-icon></span>\n <span class=\"spinner-wrapper\" *ngIf=\"showSpinner()\">\n <mat-spinner class=\"position-spinner\" aria-label=\"loading\" mode=\"indeterminate\" diameter=\"24\"></mat-spinner>\n </span>\n </span>\n</button>\n<a\n [ngClass]=\"classCss\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick($event)\"\n (mouseenter)=\"buttonHover($event)\"\n [disableRipple]=\"true\"\n *ngIf=\"!isButtonLink\" \n [href]=\"url\" \n [target]=\"urlTarget\"\n mat-flat-button>\n <span class=\"icon-label-wrapper\">\n {{ label }}\n </span>\n</a>\n", styles: [":host{display:flex}button.mat-mdc-unelevated-button,a.mat-mdc-unelevated-button{font-size:14px;font-weight:600;line-height:normal;letter-spacing:normal}button.mat-mdc-unelevated-button .spinner-wrapper,a.mat-mdc-unelevated-button .spinner-wrapper{display:flex;align-items:center;flex-flow:column;width:100%}button.mat-mdc-unelevated-button .icon,a.mat-mdc-unelevated-button .icon{display:flex;height:100%;align-items:center}button.mat-mdc-unelevated-button .icon.only,a.mat-mdc-unelevated-button .icon.only{align-items:center;flex-flow:column;justify-content:center;margin-left:0}button.mat-mdc-unelevated-button .icon-label-wrapper,a.mat-mdc-unelevated-button .icon-label-wrapper{display:flex;align-items:center;justify-content:center;height:100%}button.mat-mdc-unelevated-button .icon-label-wrapper.center-text,a.mat-mdc-unelevated-button .icon-label-wrapper.center-text{flex-flow:column;width:100%}button.mat-mdc-unelevated-button .icon-label-wrapper .label,a.mat-mdc-unelevated-button .icon-label-wrapper .label{display:flex;height:100%;align-items:center}button.mat-mdc-unelevated-button.big,a.mat-mdc-unelevated-button.big{height:48px;padding:12px 16px}button.mat-mdc-unelevated-button.small,a.mat-mdc-unelevated-button.small{height:38px;padding:7px 11px}button.mat-mdc-unelevated-button.small.left .icon,button.mat-mdc-unelevated-button.big.left .icon,a.mat-mdc-unelevated-button.small.left .icon,a.mat-mdc-unelevated-button.big.left .icon{margin-right:8px}button.mat-mdc-unelevated-button.small.right .icon,button.mat-mdc-unelevated-button.big.right .icon,a.mat-mdc-unelevated-button.small.right .icon,a.mat-mdc-unelevated-button.big.right .icon{margin-left:8px}button.mat-mdc-unelevated-button.small.only-icon .icon,button.mat-mdc-unelevated-button.big.only-icon .icon,a.mat-mdc-unelevated-button.small.only-icon .icon,a.mat-mdc-unelevated-button.big.only-icon .icon{margin-left:0}button.mat-mdc-unelevated-button.primary,button.mat-mdc-unelevated-button.secondary,button.mat-mdc-unelevated-button.outlined,button.mat-mdc-unelevated-button.destructive,button.mat-mdc-unelevated-button.tertiary,button.mat-mdc-unelevated-button.link,a.mat-mdc-unelevated-button.primary,a.mat-mdc-unelevated-button.secondary,a.mat-mdc-unelevated-button.outlined,a.mat-mdc-unelevated-button.destructive,a.mat-mdc-unelevated-button.tertiary,a.mat-mdc-unelevated-button.link{min-width:80px}button.mat-mdc-unelevated-button.primary.only-icon,button.mat-mdc-unelevated-button.secondary.only-icon,button.mat-mdc-unelevated-button.outlined.only-icon,button.mat-mdc-unelevated-button.destructive.only-icon,button.mat-mdc-unelevated-button.tertiary.only-icon,button.mat-mdc-unelevated-button.link.only-icon,a.mat-mdc-unelevated-button.primary.only-icon,a.mat-mdc-unelevated-button.secondary.only-icon,a.mat-mdc-unelevated-button.outlined.only-icon,a.mat-mdc-unelevated-button.destructive.only-icon,a.mat-mdc-unelevated-button.tertiary.only-icon,a.mat-mdc-unelevated-button.link.only-icon{min-width:1px}button.mat-mdc-unelevated-button.primary.full-width,button.mat-mdc-unelevated-button.secondary.full-width,button.mat-mdc-unelevated-button.outlined.full-width,button.mat-mdc-unelevated-button.destructive.full-width,button.mat-mdc-unelevated-button.tertiary.full-width,button.mat-mdc-unelevated-button.link.full-width,a.mat-mdc-unelevated-button.primary.full-width,a.mat-mdc-unelevated-button.secondary.full-width,a.mat-mdc-unelevated-button.outlined.full-width,a.mat-mdc-unelevated-button.destructive.full-width,a.mat-mdc-unelevated-button.tertiary.full-width,a.mat-mdc-unelevated-button.link.full-width{width:100%;min-width:100%}button.mat-mdc-unelevated-button.primary.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.secondary.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.outlined.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.destructive.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.tertiary.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.link.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.primary.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.secondary.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.outlined.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.destructive.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.tertiary.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.link.full-width .icon-label-wrapper{justify-content:center}button.mat-mdc-unelevated-button.primary:focus,button.mat-mdc-unelevated-button.secondary:focus,button.mat-mdc-unelevated-button.outlined:focus,button.mat-mdc-unelevated-button.destructive:focus,button.mat-mdc-unelevated-button.tertiary:focus,button.mat-mdc-unelevated-button.link:focus,button.mat-mdc-unelevated-button.tab:focus,button.mat-mdc-unelevated-button.squareicon:focus,button.mat-mdc-unelevated-button.menuTrigger:focus,a.mat-mdc-unelevated-button.primary:focus,a.mat-mdc-unelevated-button.secondary:focus,a.mat-mdc-unelevated-button.outlined:focus,a.mat-mdc-unelevated-button.destructive:focus,a.mat-mdc-unelevated-button.tertiary:focus,a.mat-mdc-unelevated-button.link:focus,a.mat-mdc-unelevated-button.tab:focus,a.mat-mdc-unelevated-button.squareicon:focus,a.mat-mdc-unelevated-button.menuTrigger:focus{outline:1px dashed #888888;outline-offset:4px}button.mat-mdc-unelevated-button.menuCell:focus,a.mat-mdc-unelevated-button.menuCell:focus{outline:1px dashed #888888;outline-offset:-1px}button.mat-mdc-unelevated-button.primary,a.mat-mdc-unelevated-button.primary{background-color:#46a997;color:#fff}button.mat-mdc-unelevated-button.primary:hover,a.mat-mdc-unelevated-button.primary:hover{background-color:#31766a}button.mat-mdc-unelevated-button.primary:disabled,button.mat-mdc-unelevated-button.primary:disabled:hover,a.mat-mdc-unelevated-button.primary:disabled,a.mat-mdc-unelevated-button.primary:disabled:hover{background-color:#b5ddd5}button.mat-mdc-unelevated-button.primary:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.primary:focus.cdk-focused.cdk-mouse-focused{background-color:#1c443c}button.mat-mdc-unelevated-button.primary ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.primary ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.primary .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.primary .mat-mdc-progress-spinner ::ng-deep circle{stroke:#fff}button.mat-mdc-unelevated-button.secondary,a.mat-mdc-unelevated-button.secondary{background-color:#ededed;color:#000}button.mat-mdc-unelevated-button.secondary:hover,a.mat-mdc-unelevated-button.secondary:hover{background-color:#e0e0e0}button.mat-mdc-unelevated-button.secondary:disabled,button.mat-mdc-unelevated-button.secondary:disabled:hover,a.mat-mdc-unelevated-button.secondary:disabled,a.mat-mdc-unelevated-button.secondary:disabled:hover{background-color:#ededed;color:#888}button.mat-mdc-unelevated-button.secondary:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.secondary:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.secondary:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.secondary:focus.cdk-focused.cdk-mouse-focused{background-color:#888}button.mat-mdc-unelevated-button.secondary .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.secondary .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.outlined,a.mat-mdc-unelevated-button.outlined{background-color:#fff;color:#000;border-width:1px;border-style:solid;border-color:#000}button.mat-mdc-unelevated-button.outlined:hover,a.mat-mdc-unelevated-button.outlined:hover{background-color:#f6f6f6}button.mat-mdc-unelevated-button.outlined:disabled,button.mat-mdc-unelevated-button.outlined:disabled:hover,a.mat-mdc-unelevated-button.outlined:disabled,a.mat-mdc-unelevated-button.outlined:disabled:hover{color:#ededed;border-color:#ededed}button.mat-mdc-unelevated-button.outlined:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.outlined:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.outlined:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.outlined:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.outlined:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.outlined:focus.cdk-focused.cdk-mouse-focused{background-color:#e0e0e0}button.mat-mdc-unelevated-button.outlined .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.outlined .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.destructive,a.mat-mdc-unelevated-button.destructive{background-color:#cb7b7a;color:#fff}button.mat-mdc-unelevated-button.destructive:hover,a.mat-mdc-unelevated-button.destructive:hover{background-color:#8e5655}button.mat-mdc-unelevated-button.destructive:disabled,button.mat-mdc-unelevated-button.destructive:disabled:hover,a.mat-mdc-unelevated-button.destructive:disabled,a.mat-mdc-unelevated-button.destructive:disabled:hover{background-color:#e3c3c6}button.mat-mdc-unelevated-button.destructive:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.destructive:focus.cdk-focused.cdk-mouse-focused{background-color:#513131}button.mat-mdc-unelevated-button.destructive ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.destructive ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.destructive .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.destructive .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.tertiary,a.mat-mdc-unelevated-button.tertiary{background-color:transparent;color:#46a997}button.mat-mdc-unelevated-button.tertiary:hover,a.mat-mdc-unelevated-button.tertiary:hover{background-color:#f6f6f6;color:#31766a}button.mat-mdc-unelevated-button.tertiary:disabled,button.mat-mdc-unelevated-button.tertiary:disabled:hover,a.mat-mdc-unelevated-button.tertiary:disabled,a.mat-mdc-unelevated-button.tertiary:disabled:hover{background-color:#fff;color:#b5ddd5}button.mat-mdc-unelevated-button.tertiary:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.tertiary:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tertiary:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tertiary:disabled:hover ::ng-deep mat-icon.black svg{color:#b5ddd5}button.mat-mdc-unelevated-button.tertiary:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.tertiary:focus.cdk-focused.cdk-mouse-focused{background-color:#e0e0e0;color:#1c443c}button.mat-mdc-unelevated-button.tertiary ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tertiary ::ng-deep mat-icon.black svg{color:#46a997}button.mat-mdc-unelevated-button.tertiary .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.tertiary .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.link,a.mat-mdc-unelevated-button.link{background-color:transparent;color:#46a997;border-radius:0}button.mat-mdc-unelevated-button.link span.icon-label-wrapper,a.mat-mdc-unelevated-button.link span.icon-label-wrapper{text-decoration:underline}button.mat-mdc-unelevated-button.link:hover,a.mat-mdc-unelevated-button.link:hover{color:#31766a}button.mat-mdc-unelevated-button.link:disabled,button.mat-mdc-unelevated-button.link:disabled:hover,a.mat-mdc-unelevated-button.link:disabled,a.mat-mdc-unelevated-button.link:disabled:hover{color:#b5ddd5}button.mat-mdc-unelevated-button.link:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.link:focus.cdk-focused.cdk-mouse-focused{color:#1c443c}button.mat-mdc-unelevated-button.link ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.link ::ng-deep mat-icon.black svg{color:#46a997}button.mat-mdc-unelevated-button.text,a.mat-mdc-unelevated-button.text{background-color:transparent;color:#000;border-radius:0;text-decoration:underline}button.mat-mdc-unelevated-button.text span.icon-label-wrapper,a.mat-mdc-unelevated-button.text span.icon-label-wrapper{text-decoration:underline}button.mat-mdc-unelevated-button.text:hover,a.mat-mdc-unelevated-button.text:hover{color:#000}button.mat-mdc-unelevated-button.text:disabled,button.mat-mdc-unelevated-button.text:disabled:hover,a.mat-mdc-unelevated-button.text:disabled,a.mat-mdc-unelevated-button.text:disabled:hover{color:#888}button.mat-mdc-unelevated-button.text:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.text:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.text:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.text:focus.cdk-focused.cdk-mouse-focused{color:#000}button.mat-mdc-unelevated-button.text .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.text .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.squareicon,a.mat-mdc-unelevated-button.squareicon{background-color:#ededed;color:#000;min-width:56px}button.mat-mdc-unelevated-button.squareicon:hover,a.mat-mdc-unelevated-button.squareicon:hover{background-color:#e0e0e0}button.mat-mdc-unelevated-button.squareicon:disabled,button.mat-mdc-unelevated-button.squareicon:disabled:hover,a.mat-mdc-unelevated-button.squareicon:disabled,a.mat-mdc-unelevated-button.squareicon:disabled:hover{background-color:#ededed;color:#888}button.mat-mdc-unelevated-button.squareicon:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.squareicon:focus.cdk-focused.cdk-mouse-focused{background-color:#ededed}button.mat-mdc-unelevated-button.squareicon .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.squareicon .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.squareicon .icon-label-wrapper,a.mat-mdc-unelevated-button.squareicon .icon-label-wrapper{flex-flow:column}button.mat-mdc-unelevated-button.squareicon.left .icon,button.mat-mdc-unelevated-button.squareicon.right .icon,a.mat-mdc-unelevated-button.squareicon.left .icon,a.mat-mdc-unelevated-button.squareicon.right .icon{margin:0 auto}button.mat-mdc-unelevated-button.tab,a.mat-mdc-unelevated-button.tab{background-color:#fff;color:#000;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#e0e0e0;border-radius:0}button.mat-mdc-unelevated-button.tab:hover .label,button.mat-mdc-unelevated-button.tab:hover .icon.only,a.mat-mdc-unelevated-button.tab:hover .label,a.mat-mdc-unelevated-button.tab:hover .icon.only{text-decoration:underline}button.mat-mdc-unelevated-button.tab:disabled,button.mat-mdc-unelevated-button.tab:disabled:hover,a.mat-mdc-unelevated-button.tab:disabled,a.mat-mdc-unelevated-button.tab:disabled:hover{color:#888}button.mat-mdc-unelevated-button.tab:disabled .label,button.mat-mdc-unelevated-button.tab:disabled:hover .label,a.mat-mdc-unelevated-button.tab:disabled .label,a.mat-mdc-unelevated-button.tab:disabled:hover .label{text-decoration:none}button.mat-mdc-unelevated-button.tab:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.tab:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tab:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tab:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.tab:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.tab:focus.cdk-focused.cdk-mouse-focused{font-weight:700;border-color:#276678}button.mat-mdc-unelevated-button.menuTrigger,a.mat-mdc-unelevated-button.menuTrigger{background:transparent;min-width:24px;height:24px;padding:0}button.mat-mdc-unelevated-button.menuTrigger:hover,a.mat-mdc-unelevated-button.menuTrigger:hover{background-color:#e0e0e0}button.mat-mdc-unelevated-button.menuTrigger:disabled,button.mat-mdc-unelevated-button.menuTrigger:disabled:hover,a.mat-mdc-unelevated-button.menuTrigger:disabled,a.mat-mdc-unelevated-button.menuTrigger:disabled:hover{background-color:#fff;color:#888}button.mat-mdc-unelevated-button.menuTrigger:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.menuTrigger:focus.cdk-focused.cdk-mouse-focused{background-color:transparent}button.mat-mdc-unelevated-button.menuTrigger .icon-label-wrapper,a.mat-mdc-unelevated-button.menuTrigger .icon-label-wrapper{flex-flow:column}button.mat-mdc-unelevated-button.menuTrigger.left .icon,button.mat-mdc-unelevated-button.menuTrigger.right .icon,a.mat-mdc-unelevated-button.menuTrigger.left .icon,a.mat-mdc-unelevated-button.menuTrigger.right .icon{margin:0 auto}button.mat-mdc-unelevated-button.menuCell,a.mat-mdc-unelevated-button.menuCell{background-color:#fff;color:#000;font-weight:400;border-radius:0;min-width:100%;justify-content:flex-start}button.mat-mdc-unelevated-button.menuCell.big.left .icon,a.mat-mdc-unelevated-button.menuCell.big.left .icon{margin-right:16px}button.mat-mdc-unelevated-button.menuCell .icon-label-wrapper,a.mat-mdc-unelevated-button.menuCell .icon-label-wrapper{justify-content:flex-start}button.mat-mdc-unelevated-button.menuCell:hover,a.mat-mdc-unelevated-button.menuCell:hover{background-color:#e0e0e0}button.mat-mdc-unelevated-button.menuCell:disabled,button.mat-mdc-unelevated-button.menuCell:disabled:hover,a.mat-mdc-unelevated-button.menuCell:disabled,a.mat-mdc-unelevated-button.menuCell:disabled:hover{background-color:#fff;color:#888}button.mat-mdc-unelevated-button.menuCell:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.menuCell:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.menuCell:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.menuCell:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.menuCell:focus.cdk-focused.cdk-mouse-focused{background-color:#888}button.mat-mdc-unelevated-button.menuCell .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.menuCell .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}\n"] }]
409
+ }], ctorParameters: function () { return []; }, propDecorators: { size: [{
410
+ type: Input
411
+ }], type: [{
150
412
  type: Input
151
413
  }], label: [{
152
414
  type: Input
153
415
  }], iconPosition: [{
154
416
  type: Input
417
+ }], justIcon: [{
418
+ type: Input
155
419
  }], iconName: [{
156
420
  type: Input
157
421
  }], disabled: [{
@@ -160,87 +424,291 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
160
424
  type: Input
161
425
  }], fullWidth: [{
162
426
  type: Input
163
- }], onClickEvent: [{
427
+ }], url: [{
428
+ type: Input
429
+ }], urlTarget: [{
430
+ type: Input
431
+ }], value: [{
432
+ type: Input
433
+ }], buttonClickEvent: [{
434
+ type: Output
435
+ }], buttonHoverEvent: [{
164
436
  type: Output
165
437
  }] } });
166
438
 
167
- class BannerActionComponent {
439
+ class AlertBannerComponent {
168
440
  constructor() {
169
- // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13
170
- // https://github.com/storybookjs/storybook/issues/16865
171
- // https://github.com/storybookjs/storybook/issues/17004
172
441
  /**
173
- * BannerAction text
442
+ * Alert Banner type
174
443
  *
175
- * @type {string}
176
- * @memberof BannerActionComponent
444
+ * @type {AlertBarType}
445
+ * @memberof AlertBannerComponent
177
446
  */
178
- this.text = '';
447
+ this.alertType = 'success';
179
448
  /**
180
- * @ignore
449
+ * Alert banner message
450
+ *
451
+ * @memberof AlertBannerComponent
181
452
  */
182
- this.buttonClickedEvent = new EventEmitter();
453
+ this.message = '';
454
+ /**
455
+ * Include dismmiss button
456
+ *
457
+ * @memberof AlertBannerComponent
458
+ */
459
+ this.includeDismissButton = true;
460
+ /**
461
+ * Static or fixed position
462
+ *
463
+ * @memberof AlertBannerComponent
464
+ */
465
+ this.fixed = false;
466
+ /**
467
+ * Full width for alert banner
468
+ *
469
+ * @memberof AlertBannerComponent
470
+ */
471
+ this.fullWidth = true;
472
+ /**
473
+ * Link text that will appended at the end of message
474
+ *
475
+ * @memberof AlertBannerComponent
476
+ */
477
+ this.linkText = '';
478
+ /**
479
+ * Link target
480
+ *
481
+ * @type {@type {LinkTargetType}}
482
+ * @memberof AlertBannerComponent
483
+ */
484
+ this.linkTarget = '_blank';
485
+ this.visible = true;
486
+ }
487
+ ngOnInit() {
488
+ this.iconName = alertBarsUtil.setIcon(this.alertType);
489
+ this.position = alertBarsUtil.setPosition(this.fixed);
490
+ this.cssClass = alertBarsUtil.setCssClass(this.fullWidth, this.alertType, this.position);
183
491
  }
184
- buttonClicked() {
185
- this.buttonClickedEvent.emit();
492
+ //Hide snackbar when dismiss button is clicked
493
+ dismissClick() {
494
+ this.visible = false;
186
495
  }
187
496
  }
188
- BannerActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
189
- BannerActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: BannerActionComponent, selector: "ui-banner-action", inputs: { text: "text", backgroundColor: "backgroundColor", buttonLabel: "buttonLabel", emoji: "emoji" }, outputs: { buttonClickedEvent: "buttonClickedEvent" }, ngImport: i0, template: "<div id=\"banner-action\" [style.background-color]=\"backgroundColor\">\n <div class=\"text\">\n <span *ngIf=\"emoji\" class=\"emoji\">{{ emoji }}</span>\n <span>{{ text }}</span>\n </div>\n <ui-button [iconName]=\"'east'\" [iconPosition]=\"'right'\" [label]=\"buttonLabel\" [fullWidth]=\"false\" (onClickEvent)=\"buttonClicked()\" *ngIf=\"buttonLabel\"></ui-button>\n</div>", styles: ["#banner-action{height:72px;padding:0 16px;color:#000;font-weight:600;font-size:14px;display:flex;align-items:center;background:#FFFFFF;border:2px solid #276678;box-shadow:0 8px 16px #0000001a;border-radius:8px}#banner-action .text{width:100%;display:flex;align-items:center}#banner-action .text .emoji{font-size:24px;margin-right:12px}\n"], components: [{ type: ButtonComponent, selector: "ui-button", inputs: ["color", "label", "iconPosition", "iconName", "disabled", "loading", "fullWidth"], outputs: ["onClickEvent"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
190
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerActionComponent, decorators: [{
497
+ AlertBannerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AlertBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
498
+ AlertBannerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: AlertBannerComponent, selector: "ui-alert-banner", inputs: { alertType: "alertType", message: "message", includeDismissButton: "includeDismissButton", fixed: "fixed", fullWidth: "fullWidth", linkText: "linkText", linkUrl: "linkUrl", linkTarget: "linkTarget" }, ngImport: i0, template: "<div [ngClass]=\"cssClass\" [@openClose] *ngIf=\"visible\" class=\"alert-container\">\n <div class=\"alert-text\">\n <ui-icon [name]=\"iconName\" size=\"24\"></ui-icon>\n {{ message }}\n <a *ngIf=\"!!linkText\" [target]=\"linkTarget\" [href]=\"linkUrl\">{{ linkText }}</a>\n </div>\n <ui-button *ngIf=\"includeDismissButton\" type=\"text\" [justIcon]=\"true\" class=\"close\" iconName=\"Close\" label=\"Close alert banner\" (buttonClickEvent)=\"dismissClick()\"></ui-button>\n</div>", styles: [":host{display:flex;width:100%;justify-content:center}:host .snackbar-container{max-width:600px}:host .alert-container,:host .snackbar-container{margin:0 auto;display:flex;padding:0 14px;border-radius:4px;align-items:center;justify-content:space-between;opacity:1;min-height:48px}:host .alert-container.fixed,:host .snackbar-container.fixed{position:fixed}:host .alert-container.static,:host .snackbar-container.static{position:relative}:host .alert-container ui-icon,:host .snackbar-container ui-icon{margin-right:14px}:host .alert-container ui-button,:host .snackbar-container ui-button{margin-left:14px}:host .alert-container ::ng-deep button.mat-mdc-unelevated-button.big,:host .snackbar-container ::ng-deep button.mat-mdc-unelevated-button.big{padding:0;min-width:auto}:host .alert-container .alert-text,:host .alert-container .snackbar-text,:host .snackbar-container .alert-text,:host .snackbar-container .snackbar-text{display:flex;align-items:center}:host .alert-container .alert-text a,:host .alert-container .snackbar-text a,:host .snackbar-container .alert-text a,:host .snackbar-container .snackbar-text a{color:#000;text-decoration:underline;font-weight:700}:host .alert-container .alert-text a:hover,:host .alert-container .alert-text a:visited,:host .alert-container .alert-text a:focus,:host .alert-container .snackbar-text a:hover,:host .alert-container .snackbar-text a:visited,:host .alert-container .snackbar-text a:focus,:host .snackbar-container .alert-text a:hover,:host .snackbar-container .alert-text a:visited,:host .snackbar-container .alert-text a:focus,:host .snackbar-container .snackbar-text a:hover,:host .snackbar-container .snackbar-text a:visited,:host .snackbar-container .snackbar-text a:focus{text-decoration:none}:host .alert-container.success,:host .snackbar-container.success{background-color:#cbd6cb}:host .alert-container.info,:host .snackbar-container.info{background-color:#c8d7de}:host .alert-container.warning,:host .snackbar-container.warning{background-color:#f0d6bb}:host .alert-container.error,:host .snackbar-container.error{background-color:#e3c3c6}@media (max-width: 600px){:host .alert-container,:host .snackbar-container{padding:8px 14px}}:host .alert-container.fixed{top:0;z-index:98}:host .alert-container.full-width{width:100%;min-width:100%}:host .alert-container a{margin-left:7px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "ui-button", inputs: ["size", "type", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color"] }], animations: [
499
+ trigger('openClose', [
500
+ transition(':enter', [animate('0.2s ease-out', style({ opacity: 1 }))]),
501
+ transition(':leave', [animate('0.2s ease-in', style({ opacity: 0 }))]),
502
+ ]),
503
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
504
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AlertBannerComponent, decorators: [{
191
505
  type: Component,
192
- args: [{ selector: 'ui-banner-action', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"banner-action\" [style.background-color]=\"backgroundColor\">\n <div class=\"text\">\n <span *ngIf=\"emoji\" class=\"emoji\">{{ emoji }}</span>\n <span>{{ text }}</span>\n </div>\n <ui-button [iconName]=\"'east'\" [iconPosition]=\"'right'\" [label]=\"buttonLabel\" [fullWidth]=\"false\" (onClickEvent)=\"buttonClicked()\" *ngIf=\"buttonLabel\"></ui-button>\n</div>", styles: ["#banner-action{height:72px;padding:0 16px;color:#000;font-weight:600;font-size:14px;display:flex;align-items:center;background:#FFFFFF;border:2px solid #276678;box-shadow:0 8px 16px #0000001a;border-radius:8px}#banner-action .text{width:100%;display:flex;align-items:center}#banner-action .text .emoji{font-size:24px;margin-right:12px}\n"] }]
193
- }], ctorParameters: function () { return []; }, propDecorators: { text: [{
506
+ args: [{ selector: 'ui-alert-banner', animations: [
507
+ trigger('openClose', [
508
+ transition(':enter', [animate('0.2s ease-out', style({ opacity: 1 }))]),
509
+ transition(':leave', [animate('0.2s ease-in', style({ opacity: 0 }))]),
510
+ ]),
511
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"cssClass\" [@openClose] *ngIf=\"visible\" class=\"alert-container\">\n <div class=\"alert-text\">\n <ui-icon [name]=\"iconName\" size=\"24\"></ui-icon>\n {{ message }}\n <a *ngIf=\"!!linkText\" [target]=\"linkTarget\" [href]=\"linkUrl\">{{ linkText }}</a>\n </div>\n <ui-button *ngIf=\"includeDismissButton\" type=\"text\" [justIcon]=\"true\" class=\"close\" iconName=\"Close\" label=\"Close alert banner\" (buttonClickEvent)=\"dismissClick()\"></ui-button>\n</div>", styles: [":host{display:flex;width:100%;justify-content:center}:host .snackbar-container{max-width:600px}:host .alert-container,:host .snackbar-container{margin:0 auto;display:flex;padding:0 14px;border-radius:4px;align-items:center;justify-content:space-between;opacity:1;min-height:48px}:host .alert-container.fixed,:host .snackbar-container.fixed{position:fixed}:host .alert-container.static,:host .snackbar-container.static{position:relative}:host .alert-container ui-icon,:host .snackbar-container ui-icon{margin-right:14px}:host .alert-container ui-button,:host .snackbar-container ui-button{margin-left:14px}:host .alert-container ::ng-deep button.mat-mdc-unelevated-button.big,:host .snackbar-container ::ng-deep button.mat-mdc-unelevated-button.big{padding:0;min-width:auto}:host .alert-container .alert-text,:host .alert-container .snackbar-text,:host .snackbar-container .alert-text,:host .snackbar-container .snackbar-text{display:flex;align-items:center}:host .alert-container .alert-text a,:host .alert-container .snackbar-text a,:host .snackbar-container .alert-text a,:host .snackbar-container .snackbar-text a{color:#000;text-decoration:underline;font-weight:700}:host .alert-container .alert-text a:hover,:host .alert-container .alert-text a:visited,:host .alert-container .alert-text a:focus,:host .alert-container .snackbar-text a:hover,:host .alert-container .snackbar-text a:visited,:host .alert-container .snackbar-text a:focus,:host .snackbar-container .alert-text a:hover,:host .snackbar-container .alert-text a:visited,:host .snackbar-container .alert-text a:focus,:host .snackbar-container .snackbar-text a:hover,:host .snackbar-container .snackbar-text a:visited,:host .snackbar-container .snackbar-text a:focus{text-decoration:none}:host .alert-container.success,:host .snackbar-container.success{background-color:#cbd6cb}:host .alert-container.info,:host .snackbar-container.info{background-color:#c8d7de}:host .alert-container.warning,:host .snackbar-container.warning{background-color:#f0d6bb}:host .alert-container.error,:host .snackbar-container.error{background-color:#e3c3c6}@media (max-width: 600px){:host .alert-container,:host .snackbar-container{padding:8px 14px}}:host .alert-container.fixed{top:0;z-index:98}:host .alert-container.full-width{width:100%;min-width:100%}:host .alert-container a{margin-left:7px}\n"] }]
512
+ }], ctorParameters: function () { return []; }, propDecorators: { alertType: [{
194
513
  type: Input
195
- }], backgroundColor: [{
514
+ }], message: [{
196
515
  type: Input
197
- }], buttonLabel: [{
516
+ }], includeDismissButton: [{
198
517
  type: Input
199
- }], emoji: [{
518
+ }], fixed: [{
519
+ type: Input
520
+ }], fullWidth: [{
521
+ type: Input
522
+ }], linkText: [{
523
+ type: Input
524
+ }], linkUrl: [{
525
+ type: Input
526
+ }], linkTarget: [{
200
527
  type: Input
201
- }], buttonClickedEvent: [{
202
- type: Output
203
528
  }] } });
204
529
 
530
+ class IconComponentModule {
531
+ }
532
+ IconComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IconComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
533
+ IconComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: IconComponentModule, declarations: [IconComponent], imports: [CommonModule, MatIconModule, HttpClientModule], exports: [IconComponent] });
534
+ IconComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IconComponentModule, providers: [HttpClientModule], imports: [CommonModule, MatIconModule, HttpClientModule] });
535
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IconComponentModule, decorators: [{
536
+ type: NgModule,
537
+ args: [{
538
+ declarations: [IconComponent],
539
+ imports: [CommonModule, MatIconModule, HttpClientModule],
540
+ exports: [IconComponent],
541
+ providers: [HttpClientModule],
542
+ }]
543
+ }] });
544
+
205
545
  class ButtonComponentModule {
206
546
  }
207
- ButtonComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ButtonComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
208
- ButtonComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ButtonComponentModule, declarations: [ButtonComponent], imports: [CommonModule, MatButtonModule, MatIconModule, MatProgressSpinnerModule], exports: [ButtonComponent] });
209
- ButtonComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ButtonComponentModule, providers: [], imports: [[CommonModule, MatButtonModule, MatIconModule, MatProgressSpinnerModule]] });
210
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ButtonComponentModule, decorators: [{
547
+ ButtonComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ButtonComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
548
+ ButtonComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ButtonComponentModule, declarations: [ButtonComponent], imports: [CommonModule, MatButtonModule, IconComponentModule, MatProgressSpinnerModule], exports: [ButtonComponent] });
549
+ ButtonComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ButtonComponentModule, imports: [CommonModule, MatButtonModule, IconComponentModule, MatProgressSpinnerModule] });
550
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ButtonComponentModule, decorators: [{
211
551
  type: NgModule,
212
552
  args: [{
213
553
  declarations: [ButtonComponent],
214
- imports: [CommonModule, MatButtonModule, MatIconModule, MatProgressSpinnerModule],
554
+ imports: [CommonModule, MatButtonModule, IconComponentModule, MatProgressSpinnerModule],
215
555
  exports: [ButtonComponent],
216
556
  providers: [],
217
557
  }]
218
558
  }] });
219
559
 
560
+ class AlertBannerComponentModule {
561
+ }
562
+ AlertBannerComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AlertBannerComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
563
+ AlertBannerComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: AlertBannerComponentModule, declarations: [AlertBannerComponent], imports: [CommonModule, ButtonComponentModule, IconComponentModule], exports: [AlertBannerComponent] });
564
+ AlertBannerComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AlertBannerComponentModule, imports: [CommonModule, ButtonComponentModule, IconComponentModule] });
565
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AlertBannerComponentModule, decorators: [{
566
+ type: NgModule,
567
+ args: [{
568
+ declarations: [AlertBannerComponent],
569
+ imports: [CommonModule, ButtonComponentModule, IconComponentModule],
570
+ exports: [AlertBannerComponent],
571
+ providers: [],
572
+ }]
573
+ }] });
574
+
575
+ class BannerActionComponent {
576
+ constructor() {
577
+ /**
578
+ * BannerAction text
579
+ *
580
+ * @memberof BannerActionComponent
581
+ */
582
+ this.message = '';
583
+ /**
584
+ * BannerAction type
585
+ *
586
+ * @type {AlertBarType}
587
+ * @memberof BannerActionComponent
588
+ */
589
+ this.bannerActionType = 'success';
590
+ /**
591
+ * Static or fixed position
592
+ *
593
+ * @memberof AlertBannerComponent
594
+ */
595
+ this.fixed = false;
596
+ /**
597
+ * Full width for alert banner
598
+ *
599
+ * @memberof AlertBannerComponent
600
+ */
601
+ this.fullWidth = true;
602
+ this.buttonClickEvent = new EventEmitter();
603
+ }
604
+ buttonClick(event) {
605
+ this.buttonClickEvent.emit(event);
606
+ }
607
+ ngOnInit() {
608
+ this.iconName = alertBarsUtil.setIcon(this.bannerActionType);
609
+ this.position = alertBarsUtil.setPosition(this.fixed);
610
+ this.cssClass = alertBarsUtil.setCssClass(this.fullWidth, this.bannerActionType, this.position);
611
+ }
612
+ }
613
+ BannerActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BannerActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
614
+ BannerActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: BannerActionComponent, selector: "ui-banner-action", inputs: { message: "message", bannerActionType: "bannerActionType", buttonText: "buttonText", fixed: "fixed", fullWidth: "fullWidth" }, outputs: { buttonClickEvent: "buttonClickEvent" }, ngImport: i0, template: "<div id=\"banner-action\" class=\"banner-action-container\" [ngClass]=\"cssClass\">\n <div class=\"banner-action-text\">\n <ui-icon [name]=\"iconName\" size=\"24\"></ui-icon>\n {{ message }}\n </div>\n <ui-button [label]=\"buttonText\" (buttonClickEvent)=\"buttonClick($event)\"></ui-button>\n</div>", styles: [":host{display:flex;width:100%;justify-content:center}:host .banner-action-container{height:72px;padding:0 16px;color:#000;font-size:16px;display:flex;align-items:center;background:#ffffff;border-radius:8px;justify-content:space-between;border-width:2px;border-style:solid}:host .banner-action-container.fixed{position:fixed;z-index:98;top:0}:host .banner-action-container.static{position:relative}:host .banner-action-container.full-width{width:100%;min-width:100%}:host .banner-action-container .banner-action-text{display:flex;align-items:center}:host .banner-action-container ui-icon{margin-right:14px}:host .banner-action-container ui-button{margin-left:14px}:host .banner-action-container.success{border-color:#46a997}:host .banner-action-container.info{border-color:#276678}:host .banner-action-container.warning{border-color:#cca45f}:host .banner-action-container.error{border-color:#cb7b7a}@media (max-width: 600px){:host .banner-action-container{height:auto;padding:16px;display:flex;flex-flow:column}:host .banner-action-container .banner-action-text{margin-bottom:10px}:host .banner-action-container ui-button{margin:0;width:100%}:host .banner-action-container ui-button ::ng-deep button{min-width:100%}}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ButtonComponent, selector: "ui-button", inputs: ["size", "type", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
615
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BannerActionComponent, decorators: [{
616
+ type: Component,
617
+ args: [{ selector: 'ui-banner-action', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"banner-action\" class=\"banner-action-container\" [ngClass]=\"cssClass\">\n <div class=\"banner-action-text\">\n <ui-icon [name]=\"iconName\" size=\"24\"></ui-icon>\n {{ message }}\n </div>\n <ui-button [label]=\"buttonText\" (buttonClickEvent)=\"buttonClick($event)\"></ui-button>\n</div>", styles: [":host{display:flex;width:100%;justify-content:center}:host .banner-action-container{height:72px;padding:0 16px;color:#000;font-size:16px;display:flex;align-items:center;background:#ffffff;border-radius:8px;justify-content:space-between;border-width:2px;border-style:solid}:host .banner-action-container.fixed{position:fixed;z-index:98;top:0}:host .banner-action-container.static{position:relative}:host .banner-action-container.full-width{width:100%;min-width:100%}:host .banner-action-container .banner-action-text{display:flex;align-items:center}:host .banner-action-container ui-icon{margin-right:14px}:host .banner-action-container ui-button{margin-left:14px}:host .banner-action-container.success{border-color:#46a997}:host .banner-action-container.info{border-color:#276678}:host .banner-action-container.warning{border-color:#cca45f}:host .banner-action-container.error{border-color:#cb7b7a}@media (max-width: 600px){:host .banner-action-container{height:auto;padding:16px;display:flex;flex-flow:column}:host .banner-action-container .banner-action-text{margin-bottom:10px}:host .banner-action-container ui-button{margin:0;width:100%}:host .banner-action-container ui-button ::ng-deep button{min-width:100%}}\n"] }]
618
+ }], ctorParameters: function () { return []; }, propDecorators: { message: [{
619
+ type: Input
620
+ }], bannerActionType: [{
621
+ type: Input
622
+ }], buttonText: [{
623
+ type: Input
624
+ }], fixed: [{
625
+ type: Input
626
+ }], fullWidth: [{
627
+ type: Input
628
+ }], buttonClickEvent: [{
629
+ type: Output
630
+ }] } });
631
+
220
632
  class BannerActionComponentModule {
221
633
  }
222
- BannerActionComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerActionComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
223
- BannerActionComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerActionComponentModule, declarations: [BannerActionComponent], imports: [CommonModule, MatIconModule, ButtonComponentModule], exports: [BannerActionComponent] });
224
- BannerActionComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerActionComponentModule, providers: [], imports: [[CommonModule, MatIconModule, ButtonComponentModule]] });
225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BannerActionComponentModule, decorators: [{
634
+ BannerActionComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BannerActionComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
635
+ BannerActionComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: BannerActionComponentModule, declarations: [BannerActionComponent], imports: [CommonModule, ButtonComponentModule, IconComponentModule], exports: [BannerActionComponent] });
636
+ BannerActionComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BannerActionComponentModule, imports: [CommonModule, ButtonComponentModule, IconComponentModule] });
637
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BannerActionComponentModule, decorators: [{
226
638
  type: NgModule,
227
639
  args: [{
228
640
  declarations: [BannerActionComponent],
229
- imports: [CommonModule, MatIconModule, ButtonComponentModule],
641
+ imports: [CommonModule, ButtonComponentModule, IconComponentModule],
230
642
  exports: [BannerActionComponent],
231
643
  providers: [],
232
644
  }]
233
645
  }] });
234
646
 
647
+ var LogoTypeEnum;
648
+ (function (LogoTypeEnum) {
649
+ LogoTypeEnum["DEFAULT"] = "default";
650
+ LogoTypeEnum["POWEREDBY"] = "poweredby";
651
+ LogoTypeEnum["REVERSE"] = "reverse";
652
+ })(LogoTypeEnum || (LogoTypeEnum = {}));
653
+ ;
654
+ var LogoPathEnum;
655
+ (function (LogoPathEnum) {
656
+ LogoPathEnum["DEFAULT"] = "/images/testgorilla.svg";
657
+ LogoPathEnum["POWEREDBY"] = "/images/poweredbyTG.svg";
658
+ LogoPathEnum["REVERSE"] = "/images/reverseTG.svg";
659
+ })(LogoPathEnum || (LogoPathEnum = {}));
660
+
235
661
  class LogoComponent {
236
- constructor() { }
662
+ constructor() {
663
+ /**
664
+ * Logo type
665
+ *
666
+ * @type {LogoTypeEnum}
667
+ * @memberof LogoComponent
668
+ */
669
+ this.type = LogoTypeEnum.DEFAULT;
670
+ /**
671
+ * @ignore
672
+ */
673
+ this.setURL = () => {
674
+ switch (this.type) {
675
+ case LogoTypeEnum.POWEREDBY: {
676
+ this.logoURL = LogoPathEnum.POWEREDBY;
677
+ break;
678
+ }
679
+ case LogoTypeEnum.REVERSE: {
680
+ this.logoURL = LogoPathEnum.REVERSE;
681
+ break;
682
+ }
683
+ default: {
684
+ this.logoURL = LogoPathEnum.DEFAULT;
685
+ break;
686
+ }
687
+ }
688
+ };
689
+ }
690
+ /**
691
+ * @ignore
692
+ */
693
+ ngOnInit() {
694
+ this.setURL();
695
+ }
696
+ ;
697
+ /**
698
+ * @ignore
699
+ */
700
+ ngOnChanges() {
701
+ this.setURL();
702
+ }
237
703
  }
238
- LogoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
239
- LogoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: LogoComponent, selector: "ui-logo", ngImport: i0, template: "<img src=\"/images/testgorilla.svg\" alt=\"testGorillaLogo\">\n", styles: [":host{display:inline-flex}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LogoComponent, decorators: [{
704
+ LogoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
705
+ LogoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: LogoComponent, selector: "ui-logo", inputs: { type: "type" }, usesOnChanges: true, ngImport: i0, template: "<img [src]=\"logoURL\" [alt]=\"type\">\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
706
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogoComponent, decorators: [{
241
707
  type: Component,
242
- args: [{ selector: 'ui-logo', changeDetection: ChangeDetectionStrategy.OnPush, template: "<img src=\"/images/testgorilla.svg\" alt=\"testGorillaLogo\">\n", styles: [":host{display:inline-flex}\n"] }]
243
- }], ctorParameters: function () { return []; } });
708
+ args: [{ selector: 'ui-logo', changeDetection: ChangeDetectionStrategy.OnPush, template: "<img [src]=\"logoURL\" [alt]=\"type\">\n" }]
709
+ }], propDecorators: { type: [{
710
+ type: Input
711
+ }] } });
244
712
 
245
713
  class CardComponent {
246
714
  constructor() {
@@ -248,11 +716,11 @@ class CardComponent {
248
716
  this.subTitle = '';
249
717
  }
250
718
  }
251
- CardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
252
- CardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: CardComponent, selector: "ui-card", inputs: { title: "title", subTitle: "subTitle" }, ngImport: i0, template: "<mat-card class=\"container\">\n <ui-logo class=\"logo\"></ui-logo>\n <mat-card-title>{{title}}</mat-card-title>\n <mat-card-subtitle>{{subTitle}}</mat-card-subtitle>\n</mat-card>\n", styles: [".container{width:672px;box-sizing:border-box;padding:80px!important}.container .logo{margin-bottom:40px}.container .mat-card-title{margin-bottom:24px;font-weight:700;font-size:22px;line-height:135%;width:100%;word-wrap:break-word}.container .mat-card-subtitle{color:#000;font-weight:400;font-size:16px;line-height:135%}\n"], components: [{ type: i1$1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: LogoComponent, selector: "ui-logo" }], directives: [{ type: i1$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i1$1.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
253
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CardComponent, decorators: [{
719
+ CardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
720
+ CardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CardComponent, selector: "ui-card", inputs: { title: "title", subTitle: "subTitle" }, ngImport: i0, template: "<mat-card appearance=\"outlined\" class=\"container\">\n <ui-logo class=\"logo\"></ui-logo>\n <mat-card-title>{{title}}</mat-card-title>\n <mat-card-subtitle>{{subTitle}}</mat-card-subtitle>\n</mat-card>\n", styles: [".container{width:672px;box-sizing:border-box;padding:80px!important}.container .mat-mdc-card-title{margin-bottom:24px;font-weight:700;font-size:22px;line-height:135%;width:100%;word-wrap:break-word}.container .mat-mdc-card-subtitle{color:#000;font-weight:400;font-size:16px;line-height:135%}\n"], dependencies: [{ kind: "component", type: i1$2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i1$2.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i1$2.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: LogoComponent, selector: "ui-logo", inputs: ["type"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
721
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CardComponent, decorators: [{
254
722
  type: Component,
255
- args: [{ selector: 'ui-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-card class=\"container\">\n <ui-logo class=\"logo\"></ui-logo>\n <mat-card-title>{{title}}</mat-card-title>\n <mat-card-subtitle>{{subTitle}}</mat-card-subtitle>\n</mat-card>\n", styles: [".container{width:672px;box-sizing:border-box;padding:80px!important}.container .logo{margin-bottom:40px}.container .mat-card-title{margin-bottom:24px;font-weight:700;font-size:22px;line-height:135%;width:100%;word-wrap:break-word}.container .mat-card-subtitle{color:#000;font-weight:400;font-size:16px;line-height:135%}\n"] }]
723
+ args: [{ selector: 'ui-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-card appearance=\"outlined\" class=\"container\">\n <ui-logo class=\"logo\"></ui-logo>\n <mat-card-title>{{title}}</mat-card-title>\n <mat-card-subtitle>{{subTitle}}</mat-card-subtitle>\n</mat-card>\n", styles: [".container{width:672px;box-sizing:border-box;padding:80px!important}.container .mat-mdc-card-title{margin-bottom:24px;font-weight:700;font-size:22px;line-height:135%;width:100%;word-wrap:break-word}.container .mat-mdc-card-subtitle{color:#000;font-weight:400;font-size:16px;line-height:135%}\n"] }]
256
724
  }], propDecorators: { title: [{
257
725
  type: Input
258
726
  }], subTitle: [{
@@ -261,10 +729,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
261
729
 
262
730
  class LogoComponentModule {
263
731
  }
264
- LogoComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LogoComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
265
- LogoComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LogoComponentModule, declarations: [LogoComponent], exports: [LogoComponent] });
266
- LogoComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LogoComponentModule, imports: [[]] });
267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LogoComponentModule, decorators: [{
732
+ LogoComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogoComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
733
+ LogoComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: LogoComponentModule, declarations: [LogoComponent], exports: [LogoComponent] });
734
+ LogoComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogoComponentModule });
735
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LogoComponentModule, decorators: [{
268
736
  type: NgModule,
269
737
  args: [{
270
738
  declarations: [LogoComponent],
@@ -275,10 +743,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
275
743
 
276
744
  class CardComponentModule {
277
745
  }
278
- CardComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CardComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
279
- CardComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CardComponentModule, declarations: [CardComponent], imports: [CommonModule, MatCardModule, LogoComponentModule], exports: [CardComponent] });
280
- CardComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CardComponentModule, imports: [[CommonModule, MatCardModule, LogoComponentModule]] });
281
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CardComponentModule, decorators: [{
746
+ CardComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CardComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
747
+ CardComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: CardComponentModule, declarations: [CardComponent], imports: [CommonModule, MatCardModule, LogoComponentModule], exports: [CardComponent] });
748
+ CardComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CardComponentModule, imports: [CommonModule, MatCardModule, LogoComponentModule] });
749
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CardComponentModule, decorators: [{
282
750
  type: NgModule,
283
751
  args: [{
284
752
  declarations: [CardComponent],
@@ -287,6 +755,166 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
287
755
  }]
288
756
  }] });
289
757
 
758
+ class CheckboxComponent {
759
+ constructor() {
760
+ /**
761
+ * Determines whether the checkbox is disabled.
762
+ * Default: false.
763
+ *
764
+ * @type {boolean}
765
+ * @memberof CheckboxComponent
766
+ */
767
+ this.disabled = false;
768
+ /**
769
+ * Determines whether the checkbox is checked.
770
+ * Default: false.
771
+ *
772
+ * @type {boolean}
773
+ * @memberof CheckboxComponent
774
+ */
775
+ this.checked = false;
776
+ /**
777
+ * Determines whether the checkbox is indeterminate.
778
+ * It can be used to represent a checkbox with three states, e.g. a checkbox that represents a nested list of checkable items.
779
+ * Default: false.
780
+ *
781
+ * @type {boolean}
782
+ * @memberof CheckboxComponent
783
+ */
784
+ this.indeterminate = false;
785
+ /**
786
+ * Determines whether the checkbox color.
787
+ * Default: Test Gorilla primary color.
788
+ *
789
+ * @type {string}
790
+ * @memberof CheckboxComponent
791
+ */
792
+ this.color = '#46A997';
793
+ /**
794
+ * Name value will be applied to the input element if present.
795
+ *
796
+ * @type {string}
797
+ * @memberof CheckboxComponent
798
+ */
799
+ this.name = '';
800
+ /**
801
+ * Text content will be applied to the input element if present.
802
+ *
803
+ * @type {string}
804
+ * @memberof CheckboxComponent
805
+ */
806
+ this.label = '';
807
+ /**
808
+ * Determines whether the checkbox is a multiple choice cell.
809
+ * Default: false
810
+ *
811
+ * @type {boolean}
812
+ * @memberof CheckboxComponent
813
+ */
814
+ this.multiple = false;
815
+ /**
816
+ * Event emitted when the checkbox's checked value changes.
817
+ *
818
+ * @type {boolean}
819
+ * @memberof CheckboxComponent
820
+ */
821
+ this.changed = new EventEmitter();
822
+ /**
823
+ * @ignore
824
+ */
825
+ this.onChange = (_) => { };
826
+ /**
827
+ * @ignore
828
+ */
829
+ this.onTouch = () => { };
830
+ }
831
+ emitChange(event) {
832
+ this.changed.emit(event.checked);
833
+ }
834
+ ngOnInit() {
835
+ this.classMultiple = this.setClass();
836
+ }
837
+ toggleChecked(event) {
838
+ this.changed.emit(event.checked);
839
+ this.checked = event.checked;
840
+ this.onTouch();
841
+ this.onChange(this.checked);
842
+ if (!this.disabled) {
843
+ this.indeterminate = false;
844
+ this.classMultiple = this.setClass();
845
+ }
846
+ }
847
+ setClass() {
848
+ if (this.multiple) {
849
+ return this.checked || this.indeterminate ? 'multiple-checked' : 'multiple-unchecked';
850
+ }
851
+ return '';
852
+ }
853
+ writeValue(value) {
854
+ this.checked = value;
855
+ }
856
+ registerOnChange(fn) {
857
+ this.onChange = fn;
858
+ }
859
+ registerOnTouched(fn) {
860
+ this.onTouch = fn;
861
+ }
862
+ setDisabledState(isDisabled) {
863
+ this.disabled = isDisabled;
864
+ }
865
+ }
866
+ CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
867
+ CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CheckboxComponent, selector: "ui-checkbox", inputs: { disabled: "disabled", checked: "checked", indeterminate: "indeterminate", color: "color", name: "name", label: "label", multiple: "multiple" }, outputs: { changed: "changed" }, host: { properties: { "style.--color": "this.color" } }, providers: [
868
+ {
869
+ provide: NG_VALUE_ACCESSOR,
870
+ useExisting: forwardRef(() => CheckboxComponent),
871
+ multi: true,
872
+ },
873
+ ], ngImport: i0, template: "<div [ngClass]=\"classMultiple\">\n <mat-checkbox\n [indeterminate]=\"indeterminate\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n (change)=\"toggleChecked($event)\"\n [aria-label]=\"label\"\n class=\"checkbox\"\n >\n {{ label }}\n </mat-checkbox>\n</div>", styles: [".mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{background-color:var(--color)!important;border-color:var(--color)!important}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-checked .mdc-checkbox__background{background-color:var(--color)!important;border-color:var(--color)!important}.mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__ripple{background-color:var(--color)}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mdc-checkbox__native-control:indeterminate~.mat-mdc-checkbox-disabled .mdc-checkbox__background{background-color:#888}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-checked.mat-mdc-checkbox-disabled .mdc-checkbox__background{background-color:#888}.multiple-checked{border:1px solid #46A997;display:flex;flex-direction:row;align-items:center;gap:16px;background:#46A997;border-radius:8px}.multiple-checked ::ng-deep .mat-mdc-checkbox{width:100%;height:100%}.multiple-checked ::ng-deep .mdc-form-field{padding:8px;width:100%;height:100%;align-items:center}.multiple-checked .mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__background{border:1px solid #ffffff!important;border-color:#fff!important}.multiple-checked ::ng-deep label{color:#fff}.multiple-unchecked{border:1px solid #E0E0E0;display:flex;flex-direction:row;align-items:center;gap:16px;background:#ffffff;border-radius:8px}.multiple-unchecked ::ng-deep .mat-mdc-checkbox{width:100%;height:100%}.multiple-unchecked ::ng-deep .mdc-form-field{padding:8px;width:100%;height:100%;align-items:center}.multiple-unchecked:hover{background:#F6F6F6;border:1px solid #E0E0E0}.multiple-unchecked ::ng-deep .mdc-checkbox__background{border:1px solid #000000}.multiple-unchecked ::ng-deep .mdc-checkbox__native-control:not([disabled]):focus~.mdc-checkbox__ripple{opacity:0!important}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
874
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CheckboxComponent, decorators: [{
875
+ type: Component,
876
+ args: [{ selector: 'ui-checkbox', providers: [
877
+ {
878
+ provide: NG_VALUE_ACCESSOR,
879
+ useExisting: forwardRef(() => CheckboxComponent),
880
+ multi: true,
881
+ },
882
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"classMultiple\">\n <mat-checkbox\n [indeterminate]=\"indeterminate\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n (change)=\"toggleChecked($event)\"\n [aria-label]=\"label\"\n class=\"checkbox\"\n >\n {{ label }}\n </mat-checkbox>\n</div>", styles: [".mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{background-color:var(--color)!important;border-color:var(--color)!important}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-checked .mdc-checkbox__background{background-color:var(--color)!important;border-color:var(--color)!important}.mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__ripple{background-color:var(--color)}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mdc-checkbox__native-control:indeterminate~.mat-mdc-checkbox-disabled .mdc-checkbox__background{background-color:#888}::ng-deep .mat-mdc-checkbox.checkbox.mat-accent.mat-mdc-checkbox-checked.mat-mdc-checkbox-disabled .mdc-checkbox__background{background-color:#888}.multiple-checked{border:1px solid #46A997;display:flex;flex-direction:row;align-items:center;gap:16px;background:#46A997;border-radius:8px}.multiple-checked ::ng-deep .mat-mdc-checkbox{width:100%;height:100%}.multiple-checked ::ng-deep .mdc-form-field{padding:8px;width:100%;height:100%;align-items:center}.multiple-checked .mat-mdc-checkbox.checkbox.mat-accent ::ng-deep .mdc-checkbox__background{border:1px solid #ffffff!important;border-color:#fff!important}.multiple-checked ::ng-deep label{color:#fff}.multiple-unchecked{border:1px solid #E0E0E0;display:flex;flex-direction:row;align-items:center;gap:16px;background:#ffffff;border-radius:8px}.multiple-unchecked ::ng-deep .mat-mdc-checkbox{width:100%;height:100%}.multiple-unchecked ::ng-deep .mdc-form-field{padding:8px;width:100%;height:100%;align-items:center}.multiple-unchecked:hover{background:#F6F6F6;border:1px solid #E0E0E0}.multiple-unchecked ::ng-deep .mdc-checkbox__background{border:1px solid #000000}.multiple-unchecked ::ng-deep .mdc-checkbox__native-control:not([disabled]):focus~.mdc-checkbox__ripple{opacity:0!important}\n"] }]
883
+ }], propDecorators: { disabled: [{
884
+ type: Input
885
+ }], checked: [{
886
+ type: Input
887
+ }], indeterminate: [{
888
+ type: Input
889
+ }], color: [{
890
+ type: HostBinding,
891
+ args: ['style.--color']
892
+ }, {
893
+ type: Input
894
+ }], name: [{
895
+ type: Input
896
+ }], label: [{
897
+ type: Input
898
+ }], multiple: [{
899
+ type: Input
900
+ }], changed: [{
901
+ type: Output
902
+ }] } });
903
+
904
+ class CheckboxComponentModule {
905
+ }
906
+ CheckboxComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CheckboxComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
907
+ CheckboxComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: CheckboxComponentModule, declarations: [CheckboxComponent], imports: [CommonModule, MatCheckboxModule, FormsModule, ReactiveFormsModule], exports: [CheckboxComponent] });
908
+ CheckboxComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CheckboxComponentModule, imports: [CommonModule, MatCheckboxModule, FormsModule, ReactiveFormsModule] });
909
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CheckboxComponentModule, decorators: [{
910
+ type: NgModule,
911
+ args: [{
912
+ declarations: [CheckboxComponent],
913
+ imports: [CommonModule, MatCheckboxModule, FormsModule, ReactiveFormsModule],
914
+ exports: [CheckboxComponent],
915
+ }]
916
+ }] });
917
+
290
918
  const PASSWORD_REGEX = /^(?=\D*\d)(?=[^a-z]*[a-z])(?=.*[#$%&'()*+,\-./:;<=>?@!^_~|"`{}\[\]])(?=[^A-Z]*[A-Z]).{12,}$/;
291
919
  class ValidatorsUtil {
292
920
  static validatePassword() {
@@ -299,13 +927,25 @@ const CREATE_ACCOUNT_i18n = {
299
927
  subtitle: 'Enter the email address to which you received an assessment invite.',
300
928
  email_label: 'Email',
301
929
  password_label: 'Password',
302
- terms_conditions: 'Agree to Terms & Conditions',
930
+ terms_conditions: 'I have read and I accept the ',
931
+ terms_conditions_link_label: 'terms of use',
303
932
  button_label: 'Next',
304
933
  have_career_passport: 'Already have a Career Passport?',
305
934
  login: 'Log in here',
306
935
  };
307
936
 
937
+ /* eslint-disable no-underscore-dangle */
308
938
  class FieldComponent {
939
+ /**
940
+ * Input field errors
941
+ *
942
+ * @type {string}
943
+ * @memberof FieldComponent
944
+ */
945
+ set errors(errors) {
946
+ this._errors = errors;
947
+ this.errorsLength = this.setErrorsLength();
948
+ }
309
949
  constructor() {
310
950
  this.class = 'ui-field';
311
951
  /**
@@ -323,12 +963,12 @@ class FieldComponent {
323
963
  */
324
964
  this.placeholder = '';
325
965
  /**
326
- * Input type
966
+ * Input id
327
967
  *
328
968
  * @type {string}
329
969
  * @memberof FieldComponent
330
970
  */
331
- this.type = 'text';
971
+ this.id = '';
332
972
  /**
333
973
  * Input value
334
974
  *
@@ -337,12 +977,19 @@ class FieldComponent {
337
977
  */
338
978
  this.value = '';
339
979
  /**
340
- * Determines if field will be a password input. Will work if input type is set to 'password'
980
+ * Hint text
341
981
  *
342
- * @type {boolean}
982
+ * @type {string}
343
983
  * @memberof FieldComponent
344
984
  */
345
- this.passwordField = false;
985
+ this.hintMessage = '';
986
+ /**
987
+ * Input type
988
+ *
989
+ * @type {FieldType}
990
+ * @memberof FieldComponent
991
+ */
992
+ this.type = 'text';
346
993
  /**
347
994
  * @ignore
348
995
  */
@@ -353,16 +1000,61 @@ class FieldComponent {
353
1000
  this.onTouch = () => { };
354
1001
  }
355
1002
  ngOnInit() {
356
- if (this.type === 'password') {
357
- this.passwordField = true;
358
- this.suffixIcon = 'visibility';
1003
+ this.setSearchInput();
1004
+ this.currentType = this.getType();
1005
+ }
1006
+ //set search input initial value
1007
+ setSearchInput() {
1008
+ if (this.type === 'search') {
1009
+ this.showSearch = true;
1010
+ }
1011
+ else {
1012
+ this.showClose = false;
1013
+ this.showSearch = false;
359
1014
  }
360
1015
  }
361
- /**
362
- * @ignore
363
- */
1016
+ //change type for reveal password
1017
+ getType() {
1018
+ if (this.type === 'password' && this.showPassword) {
1019
+ return 'text';
1020
+ }
1021
+ return this.type;
1022
+ }
1023
+ //Clear input value
1024
+ clearValue() {
1025
+ this.value = '';
1026
+ this.onChangeInputSearch();
1027
+ }
1028
+ //toggle for password
1029
+ showPasswordClick() {
1030
+ this.showPassword = !this.showPassword;
1031
+ this.currentType = this.getType();
1032
+ }
1033
+ //Set options for search input
1034
+ onChangeInputSearch() {
1035
+ if (this.type === 'search') {
1036
+ if (!this.value) {
1037
+ this.showClose = false;
1038
+ this.showSearch = true;
1039
+ }
1040
+ if (this.value) {
1041
+ this.showClose = true;
1042
+ this.showSearch = false;
1043
+ }
1044
+ }
1045
+ }
1046
+ // Set errors length for validation
1047
+ // Consider only those errors which which are not empty
1048
+ setErrorsLength() {
1049
+ if (!!this._errors) {
1050
+ return this._errors.filter(err => !!err).length > 0 ? true : false;
1051
+ }
1052
+ return false;
1053
+ }
1054
+ //Save input value
364
1055
  onInput(event) {
365
1056
  this.value = event.target.value;
1057
+ this.errorsLength = this.setErrorsLength();
366
1058
  this.onTouch();
367
1059
  this.onChange(this.value);
368
1060
  }
@@ -381,24 +1073,18 @@ class FieldComponent {
381
1073
  this.onTouch = fn;
382
1074
  }
383
1075
  setDisabledState(isDisabled) {
384
- this.isDisabled = isDisabled;
385
- }
386
- suffixIconClicked() {
387
- if (this.passwordField) {
388
- this.type = this.type === 'password' ? 'text' : 'password';
389
- this.suffixIcon = this.type === 'password' ? 'visibility' : 'visibility_off';
390
- }
1076
+ this.disabled = isDisabled;
391
1077
  }
392
1078
  }
393
- FieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
394
- FieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FieldComponent, selector: "ui-field", inputs: { label: "label", preffixIcon: "preffixIcon", suffixIcon: "suffixIcon", required: "required", hint: "hint", error: "error", placeholder: "placeholder", type: "type" }, host: { properties: { "class": "this.class" } }, providers: [
1079
+ FieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1080
+ FieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FieldComponent, selector: "ui-field", inputs: { label: "label", fieldName: "fieldName", placeholder: "placeholder", id: "id", value: "value", errors: "errors", disabled: "disabled", required: "required", hintMessage: "hintMessage", type: "type" }, host: { properties: { "class": "this.class" } }, providers: [
395
1081
  {
396
1082
  provide: NG_VALUE_ACCESSOR,
397
1083
  useExisting: forwardRef(() => FieldComponent),
398
1084
  multi: true,
399
1085
  },
400
- ], ngImport: i0, template: "<mat-form-field appearance=\"outline\" [color]=\"error ? 'warn' : 'primary'\">\n <mat-label *ngIf=\"label\">{{ label }} <span *ngIf=\"required\">*</span></mat-label>\n <mat-icon matPrefix *ngIf=\"preffixIcon\">{{ preffixIcon }}</mat-icon>\n <input matInput [value]=\"value\" [disabled]=\"isDisabled\" [type]=\"type\" (input)=\"onInput($event)\" />\n <mat-icon matSuffix *ngIf=\"suffixIcon\" (click)=\"suffixIconClicked()\">{{ suffixIcon }}</mat-icon>\n <mat-hint *ngIf=\"hint && !error\" [innerHTML]=\"hint\"></mat-hint>\n <mat-hint class=\"error\" *ngIf=\"error\" [innerHTML]=\"error\"></mat-hint>\n</mat-form-field>\n", styles: [".ui-field .mat-form-field{margin-top:0;width:100%}.ui-field .mat-form-field .mat-form-field-wrapper .mat-form-field-flex{height:48px;align-items:center}.ui-field .mat-form-field .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-outline{height:48px}.ui-field .mat-form-field .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border-top:.54375em solid transparent}.ui-field .mat-form-field .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix .mat-input-element{height:23px}.ui-field .mat-form-field .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix .mat-form-field-label{margin-top:-.1em}.ui-field .mat-form-field .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix .mat-form-field-label mat-label{font-size:14px;line-height:20px}.ui-field .mat-form-field.mat-form-field-should-float .mat-form-field-label{margin-top:2px}.ui-field .mat-form-field.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.ui-field .mat-form-field .mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.39375em) scale(.75)}.ui-field .mat-form-field .error{color:#cb7b7a}.ui-field .mat-form-field .error a{color:#46a997;text-decoration:none}\n"], components: [{ type: i1$2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$2.MatLabel, selector: "mat-label" }, { type: i1$2.MatPrefix, selector: "[matPrefix]" }, { type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i1$2.MatSuffix, selector: "[matSuffix]" }, { type: i1$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }], encapsulation: i0.ViewEncapsulation.None });
401
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FieldComponent, decorators: [{
1086
+ ], ngImport: i0, template: "<mat-form-field #uiField appearance=\"outline\" [color]=\"errorsLength ? 'warn' : 'accent'\">\n <mat-label *ngIf=\"label\">{{ label }} <span *ngIf=\"required\">*</span></mat-label>\n <input matInput (input)=\"onInput($event)\" [id]=\"id!\" (keyup)=\"onChangeInputSearch()\" [placeholder]=\"placeholder!\" [value]=\"value\" [disabled]=\"disabled\" [type]=\"currentType\" [name]=\"fieldName!\">\n <div class=\"options\" *ngIf=\"type === 'search' || type === 'password'\">\n <div class=\"options-container\">\n <ui-button *ngIf=\"showClose\" type=\"secondary\" [justIcon]=\"true\" class=\"close\" iconName=\"Close\" label=\"Clear\" (buttonClickEvent)=\"clearValue()\"></ui-button>\n <ui-icon *ngIf=\"showSearch\" size=\"24\" class=\"search\" name=\"Search\"></ui-icon>\n <ui-button *ngIf=\"type === 'password'\" type=\"secondary\" [justIcon]=\"true\" class=\"password\" [iconName]=\"showPassword ? 'Eye-hide' : 'Eye-view'\" label=\"View password\" (buttonClickEvent)=\"showPasswordClick()\"></ui-button>\n </div>\n </div>\n <mat-hint class=\"info\" *ngIf=\"hintMessage && !_errors\">{{ hintMessage }}</mat-hint>\n <mat-hint class=\"error\" *ngIf=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors\">\n <ui-icon name=\"Error\"></ui-icon>{{ error }}\n </div>\n </mat-hint>\n</mat-form-field>\n\n", styles: [".ui-field input[type=search]::-webkit-search-decoration,.ui-field input[type=search]::-webkit-search-cancel-button,.ui-field input[type=search]::-webkit-search-results-button,.ui-field input[type=search]::-webkit-search-results-decoration{display:none}.ui-field .mat-mdc-form-field{margin-top:0;width:100%}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper{height:48px}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:22px}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mdc-notched-outline{color:#888}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mdc-notched-outline .mdc-floating-label--float-above{transform:translateY(-30px) scale(.75)}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-infix{min-height:48px;padding:4px 0;line-height:22px;display:inline-flex;align-items:center}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-subscript-wrapper{padding:0 0 12px;margin-top:4px;font-size:12px;line-height:16px;position:relative}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-subscript-wrapper .mat-form-field-hint-spacer{display:none}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.info{color:#888;width:100%;text-align:right}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-bottom-align:before{height:0}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint-wrapper{padding:0}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error svg{color:#cb7b7a}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error{display:flex}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error ui-icon{margin-right:9px}.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__leading,.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__trailing,.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__notch{border-color:#cb7b7a}.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__leading,.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__trailing,.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__notch{border-color:#cb7b7a}.ui-field .mat-mdc-form-field.mat-warn.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-form-field-label mat-label{color:#cb7b7a}.ui-field .mat-mdc-form-field .mat-mdc-form-field-hint.error{display:flex;flex-flow:column;row-gap:4px}.ui-field .mat-mdc-form-field .mat-mdc-form-field-hint.error .errors{display:flex}.ui-field .mat-mdc-form-field.mat-accent.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline{color:#276678}.ui-field .mat-mdc-form-field.mat-accent.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-mdc-form-field-flex:hover .options .options-container ui-button.search svg,.ui-field .mat-mdc-form-field.mat-accent.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-mdc-form-field-flex:hover .options .options-container ui-button.password svg{color:#276678}.ui-field .mat-mdc-form-field.mat-accent.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-form-field-label mat-label{color:#276678}.ui-field .mat-mdc-form-field.mat-accent.mat-focused .options .options-container ui-button svg,.ui-field .mat-mdc-form-field.mat-accent.mat-focused .options .options-container ui-icon svg{color:#276678}.ui-field .mat-mdc-form-field.mat-accent.mat-focused .options .options-container ui-button.close svg{color:#888}.ui-field .mat-mdc-form-field .options{position:inline-flex}.ui-field .mat-mdc-form-field .options .options-container{display:flex;column-gap:8px;padding-left:8px}.ui-field .mat-mdc-form-field .options .options-container ui-button,.ui-field .mat-mdc-form-field .options .options-container ui-icon{display:flex}.ui-field .mat-mdc-form-field .options .options-container ui-button svg,.ui-field .mat-mdc-form-field .options .options-container ui-icon svg{color:#888}.ui-field .mat-mdc-form-field .options ui-button button.secondary.only-icon{padding:0;height:auto;background:transparent}.ui-field .mat-mdc-form-field .options ui-button button.secondary.only-icon:hover,.ui-field .mat-mdc-form-field .options ui-button button.secondary.only-icon:focus{background:transparent;color:inherit;border:none;outline:none}.ui-field .mat-mdc-form-field.mat-form-field-disabled.mat-form-field-appearance-outline .mdc-notched-outline{color:#e0e0e0}.ui-field .mat-mdc-form-field.mat-form-field-disabled .options .options-container ui-button svg,.ui-field .mat-mdc-form-field.mat-form-field-disabled .options .options-container ui-icon svg{color:#e0e0e0}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color"] }, { kind: "component", type: ButtonComponent, selector: "ui-button", inputs: ["size", "type", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1087
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FieldComponent, decorators: [{
402
1088
  type: Component,
403
1089
  args: [{ selector: 'ui-field', encapsulation: ViewEncapsulation.None, providers: [
404
1090
  {
@@ -406,33 +1092,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
406
1092
  useExisting: forwardRef(() => FieldComponent),
407
1093
  multi: true,
408
1094
  },
409
- ], template: "<mat-form-field appearance=\"outline\" [color]=\"error ? 'warn' : 'primary'\">\n <mat-label *ngIf=\"label\">{{ label }} <span *ngIf=\"required\">*</span></mat-label>\n <mat-icon matPrefix *ngIf=\"preffixIcon\">{{ preffixIcon }}</mat-icon>\n <input matInput [value]=\"value\" [disabled]=\"isDisabled\" [type]=\"type\" (input)=\"onInput($event)\" />\n <mat-icon matSuffix *ngIf=\"suffixIcon\" (click)=\"suffixIconClicked()\">{{ suffixIcon }}</mat-icon>\n <mat-hint *ngIf=\"hint && !error\" [innerHTML]=\"hint\"></mat-hint>\n <mat-hint class=\"error\" *ngIf=\"error\" [innerHTML]=\"error\"></mat-hint>\n</mat-form-field>\n", styles: [".ui-field .mat-form-field{margin-top:0;width:100%}.ui-field .mat-form-field .mat-form-field-wrapper .mat-form-field-flex{height:48px;align-items:center}.ui-field .mat-form-field .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-outline{height:48px}.ui-field .mat-form-field .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix{border-top:.54375em solid transparent}.ui-field .mat-form-field .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix .mat-input-element{height:23px}.ui-field .mat-form-field .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix .mat-form-field-label{margin-top:-.1em}.ui-field .mat-form-field .mat-form-field-wrapper .mat-form-field-flex .mat-form-field-infix .mat-form-field-label mat-label{font-size:14px;line-height:20px}.ui-field .mat-form-field.mat-form-field-should-float .mat-form-field-label{margin-top:2px}.ui-field .mat-form-field.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.ui-field .mat-form-field .mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.39375em) scale(.75)}.ui-field .mat-form-field .error{color:#cb7b7a}.ui-field .mat-form-field .error a{color:#46a997;text-decoration:none}\n"] }]
1095
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field #uiField appearance=\"outline\" [color]=\"errorsLength ? 'warn' : 'accent'\">\n <mat-label *ngIf=\"label\">{{ label }} <span *ngIf=\"required\">*</span></mat-label>\n <input matInput (input)=\"onInput($event)\" [id]=\"id!\" (keyup)=\"onChangeInputSearch()\" [placeholder]=\"placeholder!\" [value]=\"value\" [disabled]=\"disabled\" [type]=\"currentType\" [name]=\"fieldName!\">\n <div class=\"options\" *ngIf=\"type === 'search' || type === 'password'\">\n <div class=\"options-container\">\n <ui-button *ngIf=\"showClose\" type=\"secondary\" [justIcon]=\"true\" class=\"close\" iconName=\"Close\" label=\"Clear\" (buttonClickEvent)=\"clearValue()\"></ui-button>\n <ui-icon *ngIf=\"showSearch\" size=\"24\" class=\"search\" name=\"Search\"></ui-icon>\n <ui-button *ngIf=\"type === 'password'\" type=\"secondary\" [justIcon]=\"true\" class=\"password\" [iconName]=\"showPassword ? 'Eye-hide' : 'Eye-view'\" label=\"View password\" (buttonClickEvent)=\"showPasswordClick()\"></ui-button>\n </div>\n </div>\n <mat-hint class=\"info\" *ngIf=\"hintMessage && !_errors\">{{ hintMessage }}</mat-hint>\n <mat-hint class=\"error\" *ngIf=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors\">\n <ui-icon name=\"Error\"></ui-icon>{{ error }}\n </div>\n </mat-hint>\n</mat-form-field>\n\n", styles: [".ui-field input[type=search]::-webkit-search-decoration,.ui-field input[type=search]::-webkit-search-cancel-button,.ui-field input[type=search]::-webkit-search-results-button,.ui-field input[type=search]::-webkit-search-results-decoration{display:none}.ui-field .mat-mdc-form-field{margin-top:0;width:100%}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper{height:48px}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:22px}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mdc-notched-outline{color:#888}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mdc-notched-outline .mdc-floating-label--float-above{transform:translateY(-30px) scale(.75)}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-infix{min-height:48px;padding:4px 0;line-height:22px;display:inline-flex;align-items:center}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-subscript-wrapper{padding:0 0 12px;margin-top:4px;font-size:12px;line-height:16px;position:relative}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-subscript-wrapper .mat-form-field-hint-spacer{display:none}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.info{color:#888;width:100%;text-align:right}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-bottom-align:before{height:0}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint-wrapper{padding:0}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error,.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error svg{color:#cb7b7a}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error{display:flex}.ui-field .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error ui-icon{margin-right:9px}.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__leading,.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__trailing,.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__notch{border-color:#cb7b7a}.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__leading,.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__trailing,.ui-field .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__notch{border-color:#cb7b7a}.ui-field .mat-mdc-form-field.mat-warn.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-form-field-label mat-label{color:#cb7b7a}.ui-field .mat-mdc-form-field .mat-mdc-form-field-hint.error{display:flex;flex-flow:column;row-gap:4px}.ui-field .mat-mdc-form-field .mat-mdc-form-field-hint.error .errors{display:flex}.ui-field .mat-mdc-form-field.mat-accent.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline{color:#276678}.ui-field .mat-mdc-form-field.mat-accent.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-mdc-form-field-flex:hover .options .options-container ui-button.search svg,.ui-field .mat-mdc-form-field.mat-accent.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-mdc-form-field-flex:hover .options .options-container ui-button.password svg{color:#276678}.ui-field .mat-mdc-form-field.mat-accent.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-form-field-label mat-label{color:#276678}.ui-field .mat-mdc-form-field.mat-accent.mat-focused .options .options-container ui-button svg,.ui-field .mat-mdc-form-field.mat-accent.mat-focused .options .options-container ui-icon svg{color:#276678}.ui-field .mat-mdc-form-field.mat-accent.mat-focused .options .options-container ui-button.close svg{color:#888}.ui-field .mat-mdc-form-field .options{position:inline-flex}.ui-field .mat-mdc-form-field .options .options-container{display:flex;column-gap:8px;padding-left:8px}.ui-field .mat-mdc-form-field .options .options-container ui-button,.ui-field .mat-mdc-form-field .options .options-container ui-icon{display:flex}.ui-field .mat-mdc-form-field .options .options-container ui-button svg,.ui-field .mat-mdc-form-field .options .options-container ui-icon svg{color:#888}.ui-field .mat-mdc-form-field .options ui-button button.secondary.only-icon{padding:0;height:auto;background:transparent}.ui-field .mat-mdc-form-field .options ui-button button.secondary.only-icon:hover,.ui-field .mat-mdc-form-field .options ui-button button.secondary.only-icon:focus{background:transparent;color:inherit;border:none;outline:none}.ui-field .mat-mdc-form-field.mat-form-field-disabled.mat-form-field-appearance-outline .mdc-notched-outline{color:#e0e0e0}.ui-field .mat-mdc-form-field.mat-form-field-disabled .options .options-container ui-button svg,.ui-field .mat-mdc-form-field.mat-form-field-disabled .options .options-container ui-icon svg{color:#e0e0e0}\n"] }]
410
1096
  }], ctorParameters: function () { return []; }, propDecorators: { class: [{
411
1097
  type: HostBinding
412
1098
  }], label: [{
413
1099
  type: Input
414
- }], preffixIcon: [{
1100
+ }], fieldName: [{
415
1101
  type: Input
416
- }], suffixIcon: [{
1102
+ }], placeholder: [{
417
1103
  type: Input
418
- }], required: [{
1104
+ }], id: [{
419
1105
  type: Input
420
- }], hint: [{
1106
+ }], value: [{
421
1107
  type: Input
422
- }], error: [{
1108
+ }], errors: [{
423
1109
  type: Input
424
- }], placeholder: [{
1110
+ }], disabled: [{
1111
+ type: Input
1112
+ }], required: [{
1113
+ type: Input
1114
+ }], hintMessage: [{
425
1115
  type: Input
426
1116
  }], type: [{
427
1117
  type: Input
428
1118
  }] } });
429
1119
 
430
1120
  class CreateAccountComponent {
1121
+ /**
1122
+ * @ignore
1123
+ */
1124
+ ngOnInit() { }
431
1125
  constructor(fb) {
432
1126
  this.fb = fb;
433
1127
  // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13
434
1128
  // https://github.com/storybookjs/storybook/issues/16865
435
1129
  // https://github.com/storybookjs/storybook/issues/17004
1130
+ /**
1131
+ * @ignore
1132
+ */
1133
+ this.termsOfusePath = 'https://www.testgorilla.com/terms/';
436
1134
  /**
437
1135
  * @ignore
438
1136
  */
@@ -469,11 +1167,20 @@ class CreateAccountComponent {
469
1167
  * @ignore
470
1168
  */
471
1169
  this.loginEvent = new EventEmitter();
1170
+ /**
1171
+ * @ignore
1172
+ */
1173
+ this.errorMessages = {
1174
+ email: 'Enter a valid email',
1175
+ required: 'This field is required',
1176
+ };
1177
+ /**
1178
+ * @ignore
1179
+ */
1180
+ this.passwordErrorMessages = {
1181
+ pattern: 'Password is invalid',
1182
+ };
472
1183
  }
473
- /**
474
- * @ignore
475
- */
476
- ngOnInit() { }
477
1184
  submit() {
478
1185
  this.submitEvent.emit({
479
1186
  username: this.registerForm.get('username')?.value,
@@ -484,29 +1191,31 @@ class CreateAccountComponent {
484
1191
  this.loginEvent.emit();
485
1192
  }
486
1193
  checkErrors(field) {
487
- if (this.registerForm.controls[field].touched) {
488
- if (this.registerForm.controls[field].hasError('required')) {
489
- this.formErrors[field][0] = 'This field is required';
490
- return;
491
- }
492
- if (this.registerForm.controls[field].hasError('email')) {
493
- this.formErrors[field][0] = 'Enter a valid email';
494
- return;
1194
+ const errorsMap = this.registerForm.controls[field].errors || {};
1195
+ const errors = [];
1196
+ for (const key in errorsMap) {
1197
+ if (errorsMap[key] && this.errorMessages[key]) {
1198
+ errors.push(this.errorMessages[key]);
495
1199
  }
496
- if (field === 'password' && this.registerForm.controls[field].hasError('pattern')) {
497
- this.formErrors.password[0] = 'Password is invalid';
498
- return;
1200
+ }
1201
+ if (field === 'password') {
1202
+ for (const key in errorsMap) {
1203
+ if (errorsMap[key] && this.passwordErrorMessages[key]) {
1204
+ errors.push(this.passwordErrorMessages[key]);
1205
+ }
499
1206
  }
500
1207
  }
501
- this.formErrors[field][0] = '';
1208
+ this.formErrors[field] = errors;
502
1209
  }
503
1210
  }
504
- CreateAccountComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CreateAccountComponent, deps: [{ token: i1$3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
505
- CreateAccountComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: CreateAccountComponent, selector: "ui-create-account", inputs: { formErrors: "formErrors", loading: "loading", i18n: "i18n" }, outputs: { submitEvent: "submitEvent", loginEvent: "loginEvent" }, ngImport: i0, template: "<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <div class=\"subtitle\">{{ i18n.subtitle }}</div>\n <form [formGroup]=\"registerForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"username\"\n [label]=\"i18n.email_label\"\n [type]=\"'email'\"\n [required]=\"true\"\n [error]=\"formErrors.username[0]\"\n (ngModelChange)=\"checkErrors('username')\"\n ></ui-field>\n </div>\n <div class=\"field\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [error]=\"formErrors.password[0]\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n <div class=\"password-strength-container\">\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"registerForm.controls['password'].value\"\n aria-hidden=\"true\"\n >\n </mat-password-strength>\n </div>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\"> </mat-password-strength-info>\n </div>\n <div class=\"terms-conditions-container\">\n <mat-checkbox formControlName=\"agree_terms_and_conditions\">{{ i18n.terms_conditions }}</mat-checkbox>\n </div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button_label\"\n [disabled]=\"registerForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (onClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n <div>\n {{ i18n.have_career_passport }} <span class=\"log-in\" (click)=\"login()\">{{ i18n.login }}</span>\n </div>\n </form>\n</div>\n", styles: [".form-box{width:672px;padding:64px;background:#ffffff;box-shadow:0 8px 16px #0000001a;border-radius:8px;margin:auto;color:#000}.form-box .title{font-weight:700;font-size:22px;line-height:29.7px;margin-top:40px}.form-box .subtitle{font-weight:400;font-size:16px;line-height:21.6px;margin:24px 0}.form-box .field{width:100%}.form-box .password-strength-container{margin:2.7px 0 1px}.form-box .terms-conditions-container{margin-top:9px}.form-box .submit-button{margin:24px 0}.form-box mat-checkbox{font-weight:400}.form-box .log-in{font-weight:600;font-size:15px;cursor:pointer;color:#46a997}.form-box .log-in:hover{text-decoration:underline}.row{display:flex;flex-direction:row}.row.space-between{justify-content:space-between}\n"], components: [{ type: LogoComponent, selector: "ui-logo" }, { type: FieldComponent, selector: "ui-field", inputs: ["label", "preffixIcon", "suffixIcon", "required", "hint", "error", "placeholder", "type"] }, { type: i4$1.MatPasswordStrengthComponent, selector: "mat-password-strength", inputs: ["password", "externalError", "enableLengthRule", "enableLowerCaseLetterRule", "enableUpperCaseLetterRule", "enableDigitRule", "enableSpecialCharRule", "min", "max", "customValidator", "warnThreshold", "accentThreshold"], outputs: ["onStrengthChanged"], exportAs: ["matPasswordStrength"] }, { type: i4$1.MatPasswordStrengthInfoComponent, selector: "mat-password-strength-info", inputs: ["passwordComponent", "enableScoreInfo", "lowerCaseCriteriaMsg", "upperCaseCriteriaMsg", "digitsCriteriaMsg", "specialCharsCriteriaMsg", "customCharsCriteriaMsg", "minCharsCriteriaMsg", "matIconDone", "matIconError"], exportAs: ["matPasswordStrengthInfo"] }, { type: i5$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: ButtonComponent, selector: "ui-button", inputs: ["color", "label", "iconPosition", "iconName", "disabled", "loading", "fullWidth"], outputs: ["onClickEvent"] }], directives: [{ type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
506
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CreateAccountComponent, decorators: [{
1211
+ CreateAccountComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CreateAccountComponent, deps: [{ token: i1$3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
1212
+ CreateAccountComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CreateAccountComponent, selector: "ui-create-account", inputs: { termsOfusePath: "termsOfusePath", formErrors: "formErrors", loading: "loading", i18n: "i18n" }, outputs: { submitEvent: "submitEvent", loginEvent: "loginEvent" }, ngImport: i0, template: "<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <div class=\"subtitle\">{{ i18n.subtitle }}</div>\n <form [formGroup]=\"registerForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"username\"\n [label]=\"i18n.email_label\"\n [type]=\"'email'\"\n [required]=\"true\"\n [errors]=\"formErrors['username']\"\n (ngModelChange)=\"checkErrors('username')\"\n ></ui-field>\n </div>\n <div class=\"field\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [errors]=\"formErrors['password']\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n <div class=\"password-strength-container\">\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"registerForm.controls['password'].value\"\n aria-hidden=\"true\"\n >\n </mat-password-strength>\n </div>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\"> </mat-password-strength-info>\n </div>\n <div class=\"terms-conditions-container\">\n <ui-checkbox formControlName=\"agree_terms_and_conditions\" [label]=\"i18n.terms_conditions\"></ui-checkbox>\n <a class=\"link\" [href]=\"termsOfusePath\" target=\"_blank\">{{ i18n.terms_conditions_link_label }}</a>.\n </div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button_label\"\n [disabled]=\"registerForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (buttonClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n <div>\n {{ i18n.have_career_passport }} <span class=\"link\" (click)=\"login()\">{{ i18n.login }}</span>\n </div>\n </form>\n</div>\n", styles: [".form-box{width:672px;padding:64px;background:#ffffff;box-shadow:0 8px 16px #0000001a;border-radius:8px;margin:auto;color:#000}.form-box ui-logo{width:160px;display:inline-flex}.form-box .title{font-weight:700;font-size:22px;line-height:29.7px;margin-top:40px}.form-box .subtitle{font-weight:400;font-size:16px;line-height:21.6px;margin:24px 0}.form-box .field{width:100%}.form-box .password-strength-container{margin:2.7px 0 1px}.form-box .terms-conditions-container{display:flex;align-items:center;gap:4px;margin-left:-8px}.form-box .submit-button{margin:24px 0}.form-box .mat-mdc-checkbox{font-weight:400}.form-box .mat-mdc-checkbox ::ng-deep .mdc-checkbox{padding-left:4px}.form-box .mat-mdc-checkbox ::ng-deep .mdc-checkbox .mdc-checkbox__background{left:4px}.form-box .link{font-weight:600;cursor:pointer;color:#46a997;text-decoration:none}.form-box .link:hover{text-decoration:underline}.form-box ::ng-deep .mat-mdc-card-content{padding:0!important}.row{display:flex;flex-direction:row}.row.space-between{justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FieldComponent, selector: "ui-field", inputs: ["label", "fieldName", "placeholder", "id", "value", "errors", "disabled", "required", "hintMessage", "type"] }, { kind: "component", type: ButtonComponent, selector: "ui-button", inputs: ["size", "type", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: CheckboxComponent, selector: "ui-checkbox", inputs: ["disabled", "checked", "indeterminate", "color", "name", "label", "multiple"], outputs: ["changed"] }, { kind: "component", type: i5.MatPasswordStrengthComponent, selector: "mat-password-strength", inputs: ["password", "externalError", "enableLengthRule", "enableLowerCaseLetterRule", "enableUpperCaseLetterRule", "enableDigitRule", "enableSpecialCharRule", "min", "max", "customValidator", "warnThreshold", "accentThreshold"], outputs: ["onStrengthChanged"], exportAs: ["matPasswordStrength"] }, { kind: "component", type: i5.MatPasswordStrengthInfoComponent, selector: "mat-password-strength-info", inputs: ["passwordComponent", "enableScoreInfo", "lowerCaseCriteriaMsg", "upperCaseCriteriaMsg", "digitsCriteriaMsg", "specialCharsCriteriaMsg", "customCharsCriteriaMsg", "minCharsCriteriaMsg", "matIconDone", "matIconError"], exportAs: ["matPasswordStrengthInfo"] }, { kind: "component", type: LogoComponent, selector: "ui-logo", inputs: ["type"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CreateAccountComponent, decorators: [{
507
1214
  type: Component,
508
- args: [{ selector: 'ui-create-account', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <div class=\"subtitle\">{{ i18n.subtitle }}</div>\n <form [formGroup]=\"registerForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"username\"\n [label]=\"i18n.email_label\"\n [type]=\"'email'\"\n [required]=\"true\"\n [error]=\"formErrors.username[0]\"\n (ngModelChange)=\"checkErrors('username')\"\n ></ui-field>\n </div>\n <div class=\"field\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [error]=\"formErrors.password[0]\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n <div class=\"password-strength-container\">\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"registerForm.controls['password'].value\"\n aria-hidden=\"true\"\n >\n </mat-password-strength>\n </div>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\"> </mat-password-strength-info>\n </div>\n <div class=\"terms-conditions-container\">\n <mat-checkbox formControlName=\"agree_terms_and_conditions\">{{ i18n.terms_conditions }}</mat-checkbox>\n </div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button_label\"\n [disabled]=\"registerForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (onClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n <div>\n {{ i18n.have_career_passport }} <span class=\"log-in\" (click)=\"login()\">{{ i18n.login }}</span>\n </div>\n </form>\n</div>\n", styles: [".form-box{width:672px;padding:64px;background:#ffffff;box-shadow:0 8px 16px #0000001a;border-radius:8px;margin:auto;color:#000}.form-box .title{font-weight:700;font-size:22px;line-height:29.7px;margin-top:40px}.form-box .subtitle{font-weight:400;font-size:16px;line-height:21.6px;margin:24px 0}.form-box .field{width:100%}.form-box .password-strength-container{margin:2.7px 0 1px}.form-box .terms-conditions-container{margin-top:9px}.form-box .submit-button{margin:24px 0}.form-box mat-checkbox{font-weight:400}.form-box .log-in{font-weight:600;font-size:15px;cursor:pointer;color:#46a997}.form-box .log-in:hover{text-decoration:underline}.row{display:flex;flex-direction:row}.row.space-between{justify-content:space-between}\n"] }]
509
- }], ctorParameters: function () { return [{ type: i1$3.FormBuilder }]; }, propDecorators: { formErrors: [{
1215
+ args: [{ selector: 'ui-create-account', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <div class=\"subtitle\">{{ i18n.subtitle }}</div>\n <form [formGroup]=\"registerForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"username\"\n [label]=\"i18n.email_label\"\n [type]=\"'email'\"\n [required]=\"true\"\n [errors]=\"formErrors['username']\"\n (ngModelChange)=\"checkErrors('username')\"\n ></ui-field>\n </div>\n <div class=\"field\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [errors]=\"formErrors['password']\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n <div class=\"password-strength-container\">\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"registerForm.controls['password'].value\"\n aria-hidden=\"true\"\n >\n </mat-password-strength>\n </div>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\"> </mat-password-strength-info>\n </div>\n <div class=\"terms-conditions-container\">\n <ui-checkbox formControlName=\"agree_terms_and_conditions\" [label]=\"i18n.terms_conditions\"></ui-checkbox>\n <a class=\"link\" [href]=\"termsOfusePath\" target=\"_blank\">{{ i18n.terms_conditions_link_label }}</a>.\n </div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button_label\"\n [disabled]=\"registerForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (buttonClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n <div>\n {{ i18n.have_career_passport }} <span class=\"link\" (click)=\"login()\">{{ i18n.login }}</span>\n </div>\n </form>\n</div>\n", styles: [".form-box{width:672px;padding:64px;background:#ffffff;box-shadow:0 8px 16px #0000001a;border-radius:8px;margin:auto;color:#000}.form-box ui-logo{width:160px;display:inline-flex}.form-box .title{font-weight:700;font-size:22px;line-height:29.7px;margin-top:40px}.form-box .subtitle{font-weight:400;font-size:16px;line-height:21.6px;margin:24px 0}.form-box .field{width:100%}.form-box .password-strength-container{margin:2.7px 0 1px}.form-box .terms-conditions-container{display:flex;align-items:center;gap:4px;margin-left:-8px}.form-box .submit-button{margin:24px 0}.form-box .mat-mdc-checkbox{font-weight:400}.form-box .mat-mdc-checkbox ::ng-deep .mdc-checkbox{padding-left:4px}.form-box .mat-mdc-checkbox ::ng-deep .mdc-checkbox .mdc-checkbox__background{left:4px}.form-box .link{font-weight:600;cursor:pointer;color:#46a997;text-decoration:none}.form-box .link:hover{text-decoration:underline}.form-box ::ng-deep .mat-mdc-card-content{padding:0!important}.row{display:flex;flex-direction:row}.row.space-between{justify-content:space-between}\n"] }]
1216
+ }], ctorParameters: function () { return [{ type: i1$3.UntypedFormBuilder }]; }, propDecorators: { termsOfusePath: [{
1217
+ type: Input
1218
+ }], formErrors: [{
510
1219
  type: Input
511
1220
  }], loading: [{
512
1221
  type: Input
@@ -520,14 +1229,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
520
1229
 
521
1230
  class FieldComponentModule {
522
1231
  }
523
- FieldComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FieldComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
524
- FieldComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FieldComponentModule, declarations: [FieldComponent], imports: [CommonModule, MatFormFieldModule, MatInputModule, MatIconModule, FormsModule, ReactiveFormsModule], exports: [FieldComponent] });
525
- FieldComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FieldComponentModule, providers: [], imports: [[CommonModule, MatFormFieldModule, MatInputModule, MatIconModule, FormsModule, ReactiveFormsModule]] });
526
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FieldComponentModule, decorators: [{
1232
+ FieldComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FieldComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1233
+ FieldComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: FieldComponentModule, declarations: [FieldComponent], imports: [CommonModule,
1234
+ MatFormFieldModule,
1235
+ MatInputModule,
1236
+ IconComponentModule,
1237
+ FormsModule,
1238
+ ReactiveFormsModule,
1239
+ ButtonComponentModule], exports: [FieldComponent] });
1240
+ FieldComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FieldComponentModule, imports: [CommonModule,
1241
+ MatFormFieldModule,
1242
+ MatInputModule,
1243
+ IconComponentModule,
1244
+ FormsModule,
1245
+ ReactiveFormsModule,
1246
+ ButtonComponentModule] });
1247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FieldComponentModule, decorators: [{
527
1248
  type: NgModule,
528
1249
  args: [{
529
1250
  declarations: [FieldComponent],
530
- imports: [CommonModule, MatFormFieldModule, MatInputModule, MatIconModule, FormsModule, ReactiveFormsModule],
1251
+ imports: [
1252
+ CommonModule,
1253
+ MatFormFieldModule,
1254
+ MatInputModule,
1255
+ IconComponentModule,
1256
+ FormsModule,
1257
+ ReactiveFormsModule,
1258
+ ButtonComponentModule,
1259
+ ],
531
1260
  exports: [FieldComponent],
532
1261
  providers: [],
533
1262
  }]
@@ -535,26 +1264,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
535
1264
 
536
1265
  class CreateAccountComponentModule {
537
1266
  }
538
- CreateAccountComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CreateAccountComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
539
- CreateAccountComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CreateAccountComponentModule, declarations: [CreateAccountComponent], imports: [CommonModule,
1267
+ CreateAccountComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CreateAccountComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1268
+ CreateAccountComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: CreateAccountComponentModule, declarations: [CreateAccountComponent], imports: [CommonModule,
540
1269
  FormsModule,
541
1270
  ReactiveFormsModule,
542
1271
  FieldComponentModule,
543
1272
  ButtonComponentModule,
544
- MatCheckboxModule,
1273
+ CheckboxComponentModule,
545
1274
  MatPasswordStrengthModule,
546
1275
  LogoComponentModule], exports: [CreateAccountComponent] });
547
- CreateAccountComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CreateAccountComponentModule, providers: [], imports: [[
548
- CommonModule,
549
- FormsModule,
550
- ReactiveFormsModule,
551
- FieldComponentModule,
552
- ButtonComponentModule,
553
- MatCheckboxModule,
554
- MatPasswordStrengthModule,
555
- LogoComponentModule,
556
- ]] });
557
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CreateAccountComponentModule, decorators: [{
1276
+ CreateAccountComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CreateAccountComponentModule, imports: [CommonModule,
1277
+ FormsModule,
1278
+ ReactiveFormsModule,
1279
+ FieldComponentModule,
1280
+ ButtonComponentModule,
1281
+ CheckboxComponentModule,
1282
+ MatPasswordStrengthModule,
1283
+ LogoComponentModule] });
1284
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CreateAccountComponentModule, decorators: [{
558
1285
  type: NgModule,
559
1286
  args: [{
560
1287
  declarations: [CreateAccountComponent],
@@ -564,7 +1291,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
564
1291
  ReactiveFormsModule,
565
1292
  FieldComponentModule,
566
1293
  ButtonComponentModule,
567
- MatCheckboxModule,
1294
+ CheckboxComponentModule,
568
1295
  MatPasswordStrengthModule,
569
1296
  LogoComponentModule,
570
1297
  ],
@@ -580,6 +1307,10 @@ const CREATE_PASSWORD_i18n = {
580
1307
  };
581
1308
 
582
1309
  class CreatePasswordComponent {
1310
+ /**
1311
+ * @ignore
1312
+ */
1313
+ ngOnInit() { }
583
1314
  constructor(fb) {
584
1315
  this.fb = fb;
585
1316
  // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13
@@ -615,10 +1346,6 @@ class CreatePasswordComponent {
615
1346
  */
616
1347
  this.submitEvent = new EventEmitter();
617
1348
  }
618
- /**
619
- * @ignore
620
- */
621
- ngOnInit() { }
622
1349
  submit() {
623
1350
  this.submitEvent.emit({
624
1351
  password: this.createPasswordForm.get('password')?.value,
@@ -627,23 +1354,23 @@ class CreatePasswordComponent {
627
1354
  checkErrors(field) {
628
1355
  if (this.createPasswordForm.controls[field].touched) {
629
1356
  if (this.createPasswordForm.controls[field].hasError('required')) {
630
- this.formErrors[field][0] = 'This field is required';
1357
+ this.formErrors[field] = ['This field is required'];
631
1358
  return;
632
1359
  }
633
1360
  if (field === 'password' && this.createPasswordForm.controls[field].hasError('pattern')) {
634
- this.formErrors.password[0] = 'Password is invalid';
1361
+ this.formErrors.password = ['Password is invalid'];
635
1362
  return;
636
1363
  }
637
1364
  }
638
- this.formErrors[field][0] = '';
1365
+ this.formErrors[field] = [''];
639
1366
  }
640
1367
  }
641
- CreatePasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CreatePasswordComponent, deps: [{ token: i1$3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
642
- CreatePasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: CreatePasswordComponent, selector: "ui-create-password", inputs: { formErrors: "formErrors", loading: "loading", i18n: "i18n" }, outputs: { submitEvent: "submitEvent" }, ngImport: i0, template: "<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <form [formGroup]=\"createPasswordForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [error]=\"formErrors.password[0]\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"createPasswordForm.controls['password'].value\"\n aria-hidden=\"true\"\n >\n </mat-password-strength>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\"> </mat-password-strength-info>\n </div>\n <div></div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button\"\n [disabled]=\"createPasswordForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (onClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n </form>\n</div>\n", styles: [".form-box{width:672px;padding:64px;background:#ffffff;box-shadow:0 8px 16px #0000001a;border-radius:8px;margin:auto;color:#000}.form-box .title{font-weight:700;font-size:22px;line-height:29.7px;margin:40px 0 24px}.form-box .field{width:100%}.form-box .submit-button{margin-top:25px}\n"], components: [{ type: LogoComponent, selector: "ui-logo" }, { type: FieldComponent, selector: "ui-field", inputs: ["label", "preffixIcon", "suffixIcon", "required", "hint", "error", "placeholder", "type"] }, { type: i4$1.MatPasswordStrengthComponent, selector: "mat-password-strength", inputs: ["password", "externalError", "enableLengthRule", "enableLowerCaseLetterRule", "enableUpperCaseLetterRule", "enableDigitRule", "enableSpecialCharRule", "min", "max", "customValidator", "warnThreshold", "accentThreshold"], outputs: ["onStrengthChanged"], exportAs: ["matPasswordStrength"] }, { type: i4$1.MatPasswordStrengthInfoComponent, selector: "mat-password-strength-info", inputs: ["passwordComponent", "enableScoreInfo", "lowerCaseCriteriaMsg", "upperCaseCriteriaMsg", "digitsCriteriaMsg", "specialCharsCriteriaMsg", "customCharsCriteriaMsg", "minCharsCriteriaMsg", "matIconDone", "matIconError"], exportAs: ["matPasswordStrengthInfo"] }, { type: ButtonComponent, selector: "ui-button", inputs: ["color", "label", "iconPosition", "iconName", "disabled", "loading", "fullWidth"], outputs: ["onClickEvent"] }], directives: [{ type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
643
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CreatePasswordComponent, decorators: [{
1368
+ CreatePasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CreatePasswordComponent, deps: [{ token: i1$3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
1369
+ CreatePasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CreatePasswordComponent, selector: "ui-create-password", inputs: { formErrors: "formErrors", loading: "loading", i18n: "i18n" }, outputs: { submitEvent: "submitEvent" }, ngImport: i0, template: "<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <form [formGroup]=\"createPasswordForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [errors]=\"formErrors.password\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"createPasswordForm.controls['password'].value\"\n aria-hidden=\"true\"\n >\n </mat-password-strength>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\"> </mat-password-strength-info>\n </div>\n <div></div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button\"\n [disabled]=\"createPasswordForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (buttonClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n </form>\n</div>\n", styles: [".form-box{width:672px;padding:64px;background:#ffffff;box-shadow:0 8px 16px #0000001a;border-radius:8px;margin:auto;color:#000}.form-box ui-logo{width:160px;display:inline-flex}.form-box .title{font-weight:700;font-size:22px;line-height:29.7px;margin:40px 0 24px}.form-box .field{width:100%}.form-box .submit-button{margin-top:25px}.form-box ::ng-deep .mat-mdc-card-content{padding:0!important}\n"], dependencies: [{ kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FieldComponent, selector: "ui-field", inputs: ["label", "fieldName", "placeholder", "id", "value", "errors", "disabled", "required", "hintMessage", "type"] }, { kind: "component", type: ButtonComponent, selector: "ui-button", inputs: ["size", "type", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: i5.MatPasswordStrengthComponent, selector: "mat-password-strength", inputs: ["password", "externalError", "enableLengthRule", "enableLowerCaseLetterRule", "enableUpperCaseLetterRule", "enableDigitRule", "enableSpecialCharRule", "min", "max", "customValidator", "warnThreshold", "accentThreshold"], outputs: ["onStrengthChanged"], exportAs: ["matPasswordStrength"] }, { kind: "component", type: i5.MatPasswordStrengthInfoComponent, selector: "mat-password-strength-info", inputs: ["passwordComponent", "enableScoreInfo", "lowerCaseCriteriaMsg", "upperCaseCriteriaMsg", "digitsCriteriaMsg", "specialCharsCriteriaMsg", "customCharsCriteriaMsg", "minCharsCriteriaMsg", "matIconDone", "matIconError"], exportAs: ["matPasswordStrengthInfo"] }, { kind: "component", type: LogoComponent, selector: "ui-logo", inputs: ["type"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1370
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CreatePasswordComponent, decorators: [{
644
1371
  type: Component,
645
- args: [{ selector: 'ui-create-password', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <form [formGroup]=\"createPasswordForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [error]=\"formErrors.password[0]\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"createPasswordForm.controls['password'].value\"\n aria-hidden=\"true\"\n >\n </mat-password-strength>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\"> </mat-password-strength-info>\n </div>\n <div></div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button\"\n [disabled]=\"createPasswordForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (onClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n </form>\n</div>\n", styles: [".form-box{width:672px;padding:64px;background:#ffffff;box-shadow:0 8px 16px #0000001a;border-radius:8px;margin:auto;color:#000}.form-box .title{font-weight:700;font-size:22px;line-height:29.7px;margin:40px 0 24px}.form-box .field{width:100%}.form-box .submit-button{margin-top:25px}\n"] }]
646
- }], ctorParameters: function () { return [{ type: i1$3.FormBuilder }]; }, propDecorators: { formErrors: [{
1372
+ args: [{ selector: 'ui-create-password', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <form [formGroup]=\"createPasswordForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [errors]=\"formErrors.password\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"createPasswordForm.controls['password'].value\"\n aria-hidden=\"true\"\n >\n </mat-password-strength>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\"> </mat-password-strength-info>\n </div>\n <div></div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button\"\n [disabled]=\"createPasswordForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (buttonClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n </form>\n</div>\n", styles: [".form-box{width:672px;padding:64px;background:#ffffff;box-shadow:0 8px 16px #0000001a;border-radius:8px;margin:auto;color:#000}.form-box ui-logo{width:160px;display:inline-flex}.form-box .title{font-weight:700;font-size:22px;line-height:29.7px;margin:40px 0 24px}.form-box .field{width:100%}.form-box .submit-button{margin-top:25px}.form-box ::ng-deep .mat-mdc-card-content{padding:0!important}\n"] }]
1373
+ }], ctorParameters: function () { return [{ type: i1$3.UntypedFormBuilder }]; }, propDecorators: { formErrors: [{
647
1374
  type: Input
648
1375
  }], loading: [{
649
1376
  type: Input
@@ -655,24 +1382,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
655
1382
 
656
1383
  class CreatePasswordComponentModule {
657
1384
  }
658
- CreatePasswordComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CreatePasswordComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
659
- CreatePasswordComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CreatePasswordComponentModule, declarations: [CreatePasswordComponent], imports: [CommonModule,
1385
+ CreatePasswordComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CreatePasswordComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1386
+ CreatePasswordComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: CreatePasswordComponentModule, declarations: [CreatePasswordComponent], imports: [CommonModule,
660
1387
  FormsModule,
661
1388
  ReactiveFormsModule,
662
1389
  FieldComponentModule,
663
1390
  ButtonComponentModule,
664
1391
  MatPasswordStrengthModule,
665
1392
  LogoComponentModule], exports: [CreatePasswordComponent] });
666
- CreatePasswordComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CreatePasswordComponentModule, providers: [], imports: [[
667
- CommonModule,
668
- FormsModule,
669
- ReactiveFormsModule,
670
- FieldComponentModule,
671
- ButtonComponentModule,
672
- MatPasswordStrengthModule,
673
- LogoComponentModule,
674
- ]] });
675
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CreatePasswordComponentModule, decorators: [{
1393
+ CreatePasswordComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CreatePasswordComponentModule, imports: [CommonModule,
1394
+ FormsModule,
1395
+ ReactiveFormsModule,
1396
+ FieldComponentModule,
1397
+ ButtonComponentModule,
1398
+ MatPasswordStrengthModule,
1399
+ LogoComponentModule] });
1400
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CreatePasswordComponentModule, decorators: [{
676
1401
  type: NgModule,
677
1402
  args: [{
678
1403
  declarations: [CreatePasswordComponent],
@@ -691,83 +1416,484 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
691
1416
  }] });
692
1417
 
693
1418
  class DialogComponent {
694
- // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13
695
- // https://github.com/storybookjs/storybook/issues/16865
696
- // https://github.com/storybookjs/storybook/issues/17004
697
- constructor(data, dialogRef) {
698
- this.data = data;
1419
+ constructor(dialogRef) {
699
1420
  this.dialogRef = dialogRef;
1421
+ /**
1422
+ * Dialog title
1423
+ *
1424
+ * @memberof DialogComponent
1425
+ */
1426
+ this.title = '';
1427
+ /**
1428
+ * Show close button
1429
+ *
1430
+ * @memberof DialogComponent
1431
+ */
1432
+ this.showCloseButton = true;
1433
+ /**
1434
+ * Fuction called before dialgo is closed
1435
+ *
1436
+ * @memberof DialogComponent
1437
+ */
1438
+ this.canCloseFn = () => true;
1439
+ /**
1440
+ * Secondary button label
1441
+ *
1442
+ * @memberof DialogComponent
1443
+ */
1444
+ this.secondaryButtonLabel = '';
1445
+ /**
1446
+ * Primary button label
1447
+ *
1448
+ * @memberof DialogComponent
1449
+ */
1450
+ this.primaryButtonLabel = '';
1451
+ this.closeEvent = new EventEmitter();
1452
+ this.secondaryButtonClickEvent = new EventEmitter();
1453
+ this.primaryButtonClickEvent = new EventEmitter();
1454
+ this.disableButtons = false;
1455
+ }
1456
+ ngOnInit() {
1457
+ this.areButtonsDisabled();
1458
+ }
1459
+ ngOnChanges(changes) {
1460
+ if (changes['canCloseFn']) {
1461
+ this.dialogRef.disableClose = !this.canCloseFn();
1462
+ this.areButtonsDisabled();
1463
+ }
1464
+ }
1465
+ //Disable primary button when canClose is false
1466
+ areButtonsDisabled() {
1467
+ if (this.canCloseFn() === false) {
1468
+ this.disableButtons = true;
1469
+ }
1470
+ else {
1471
+ this.disableButtons = false;
1472
+ }
700
1473
  }
1474
+ //Close modal
701
1475
  dismiss() {
702
- this.dialogRef.close();
1476
+ if (this.canCloseFn()) {
1477
+ this.dialogRef.disableClose = false;
1478
+ this.dialogRef.close();
1479
+ }
1480
+ }
1481
+ onClose(event) {
1482
+ this.closeEvent.emit(event);
1483
+ }
1484
+ onSecondaryButtonClick(event) {
1485
+ this.secondaryButtonClickEvent.emit(event);
1486
+ }
1487
+ onPrimaryButtonClick(event) {
1488
+ this.primaryButtonClickEvent.emit(event);
703
1489
  }
704
1490
  }
705
- DialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DialogComponent, deps: [{ token: MAT_DIALOG_DATA, optional: true }, { token: i1$4.MatDialogRef, optional: true }], target: i0.ɵɵFactoryTarget.Component });
706
- DialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DialogComponent, selector: "ui-dialog", ngImport: i0, template: "<ng-container>\n <div mat-dialog-title class=\"title\">\n Styles of a default modal\n <div>\n <button mat-icon-button (click)=\"dismiss()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n </div>\n <mat-dialog-content>\n <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Tempora rerum odio fugit ipsa amet nam dolores reiciendis quod aliquam nulla.</p>\n <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Obcaecati, quis nemo voluptatem delectus sed atque corporis perspiciatis fugit reiciendis nobis, accusantium omnis! Iste aliquam totam magnam dignissimos deleniti. Repellat ipsam sit mollitia, aspernatur maiores sint, ea deserunt exercitationem ullam veniam nisi minus inventore officiis tenetur culpa, hic voluptates fuga voluptatum.</p>\n <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Minima magnam, doloribus iusto nam illum saepe quisquam esse sit sequi possimus vel? Autem vero cum dolores nobis unde, tenetur minima natus?</p>\n </mat-dialog-content>\n</ng-container>\n", styles: [".ui-dialog .mat-dialog-container{border-radius:8px;padding:32px}.title{display:flex;flex-direction:row;justify-content:space-between;align-items:center}\n"], components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i1$4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1$4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
707
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DialogComponent, decorators: [{
1491
+ DialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DialogComponent, deps: [{ token: i1$4.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
1492
+ DialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DialogComponent, selector: "ui-dialog", inputs: { title: "title", showCloseButton: "showCloseButton", canCloseFn: "canCloseFn", secondaryButtonLabel: "secondaryButtonLabel", primaryButtonLabel: "primaryButtonLabel" }, outputs: { closeEvent: "closeEvent", secondaryButtonClickEvent: "secondaryButtonClickEvent", primaryButtonClickEvent: "primaryButtonClickEvent" }, usesOnChanges: true, ngImport: i0, template: "<ng-container>\n <div mat-dialog-title class=\"title\">\n {{ title }}\n <div *ngIf=\"showCloseButton\">\n <ui-button type=\"text\" [justIcon]=\"true\" [disabled]=\"disableButtons\" class=\"close\" iconName=\"Close\" label=\"Close dialog\" (click)=\"onClose($event)\" (buttonClickEvent)=\"dismiss()\"></ui-button>\n </div>\n </div>\n <mat-dialog-content>\n <ng-content></ng-content>\n </mat-dialog-content>\n <div mat-dialog-actions *ngIf=\"secondaryButtonLabel !== '' || primaryButtonLabel !== ''\">\n <ui-button type=\"secondary\" *ngIf=\"!!secondaryButtonLabel\" [label]=\"secondaryButtonLabel\" (click)=\"onSecondaryButtonClick($event)\"></ui-button>\n <ui-button type=\"primary\" *ngIf=\"!!primaryButtonLabel\" [disabled]=\"disableButtons\" (click)=\"onPrimaryButtonClick($event)\" [label]=\"primaryButtonLabel\" (buttonClickEvent)=\"dismiss()\"></ui-button>\n </div>\n</ng-container>\n", styles: [".ui-dialog-wrapper{display:flex;flex-flow:column}.ui-dialog-wrapper .mat-mdc-dialog-container .mdc-dialog__container .mat-mdc-dialog-surface{border-radius:8px;padding:32px}.ui-dialog-wrapper .mat-mdc-dialog-content{font-size:14px;color:#000}.title{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin:0;font-size:20px;font-weight:500}.title .close{margin-right:-24px}.title:before{content:none}.mat-mdc-dialog-actions{display:flex;justify-content:flex-end;column-gap:16px;padding:16px 0 0;margin-bottom:0;min-height:48px}@media (max-width: 1024px){.ui-dialog-wrapper .mat-mdc-dialog-container .mdc-dialog__container .mat-mdc-dialog-surface{min-width:320px;max-width:600px;border-radius:0}.mat-mdc-dialog-content{max-height:524px}}@media (max-width: 600px){.cdk-overlay-pane.ui-dialog-wrapper{max-width:100%!important;min-height:100%;display:flex;flex-flow:column}.cdk-overlay-pane.ui-dialog-wrapper .mat-mdc-dialog-container .mdc-dialog__container .mat-mdc-dialog-surface{min-width:100%;max-width:100%;height:100%;display:flex;flex-grow:1;border-radius:0}ui-dialog{height:100%;display:flex;flex-flow:column}.mat-mdc-dialog-content{max-height:unset;display:flex;flex-grow:1;flex-direction:column}}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1$4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: ButtonComponent, selector: "ui-button", inputs: ["size", "type", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1493
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DialogComponent, decorators: [{
708
1494
  type: Component,
709
- args: [{ selector: 'ui-dialog', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container>\n <div mat-dialog-title class=\"title\">\n Styles of a default modal\n <div>\n <button mat-icon-button (click)=\"dismiss()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n </div>\n <mat-dialog-content>\n <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Tempora rerum odio fugit ipsa amet nam dolores reiciendis quod aliquam nulla.</p>\n <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Obcaecati, quis nemo voluptatem delectus sed atque corporis perspiciatis fugit reiciendis nobis, accusantium omnis! Iste aliquam totam magnam dignissimos deleniti. Repellat ipsam sit mollitia, aspernatur maiores sint, ea deserunt exercitationem ullam veniam nisi minus inventore officiis tenetur culpa, hic voluptates fuga voluptatum.</p>\n <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Minima magnam, doloribus iusto nam illum saepe quisquam esse sit sequi possimus vel? Autem vero cum dolores nobis unde, tenetur minima natus?</p>\n </mat-dialog-content>\n</ng-container>\n", styles: [".ui-dialog .mat-dialog-container{border-radius:8px;padding:32px}.title{display:flex;flex-direction:row;justify-content:space-between;align-items:center}\n"] }]
710
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
711
- type: Optional
712
- }, {
713
- type: Inject,
714
- args: [MAT_DIALOG_DATA]
715
- }] }, { type: i1$4.MatDialogRef, decorators: [{
716
- type: Optional
717
- }] }]; } });
1495
+ args: [{ selector: 'ui-dialog', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container>\n <div mat-dialog-title class=\"title\">\n {{ title }}\n <div *ngIf=\"showCloseButton\">\n <ui-button type=\"text\" [justIcon]=\"true\" [disabled]=\"disableButtons\" class=\"close\" iconName=\"Close\" label=\"Close dialog\" (click)=\"onClose($event)\" (buttonClickEvent)=\"dismiss()\"></ui-button>\n </div>\n </div>\n <mat-dialog-content>\n <ng-content></ng-content>\n </mat-dialog-content>\n <div mat-dialog-actions *ngIf=\"secondaryButtonLabel !== '' || primaryButtonLabel !== ''\">\n <ui-button type=\"secondary\" *ngIf=\"!!secondaryButtonLabel\" [label]=\"secondaryButtonLabel\" (click)=\"onSecondaryButtonClick($event)\"></ui-button>\n <ui-button type=\"primary\" *ngIf=\"!!primaryButtonLabel\" [disabled]=\"disableButtons\" (click)=\"onPrimaryButtonClick($event)\" [label]=\"primaryButtonLabel\" (buttonClickEvent)=\"dismiss()\"></ui-button>\n </div>\n</ng-container>\n", styles: [".ui-dialog-wrapper{display:flex;flex-flow:column}.ui-dialog-wrapper .mat-mdc-dialog-container .mdc-dialog__container .mat-mdc-dialog-surface{border-radius:8px;padding:32px}.ui-dialog-wrapper .mat-mdc-dialog-content{font-size:14px;color:#000}.title{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin:0;font-size:20px;font-weight:500}.title .close{margin-right:-24px}.title:before{content:none}.mat-mdc-dialog-actions{display:flex;justify-content:flex-end;column-gap:16px;padding:16px 0 0;margin-bottom:0;min-height:48px}@media (max-width: 1024px){.ui-dialog-wrapper .mat-mdc-dialog-container .mdc-dialog__container .mat-mdc-dialog-surface{min-width:320px;max-width:600px;border-radius:0}.mat-mdc-dialog-content{max-height:524px}}@media (max-width: 600px){.cdk-overlay-pane.ui-dialog-wrapper{max-width:100%!important;min-height:100%;display:flex;flex-flow:column}.cdk-overlay-pane.ui-dialog-wrapper .mat-mdc-dialog-container .mdc-dialog__container .mat-mdc-dialog-surface{min-width:100%;max-width:100%;height:100%;display:flex;flex-grow:1;border-radius:0}ui-dialog{height:100%;display:flex;flex-flow:column}.mat-mdc-dialog-content{max-height:unset;display:flex;flex-grow:1;flex-direction:column}}\n"] }]
1496
+ }], ctorParameters: function () { return [{ type: i1$4.MatDialogRef }]; }, propDecorators: { title: [{
1497
+ type: Input
1498
+ }], showCloseButton: [{
1499
+ type: Input
1500
+ }], canCloseFn: [{
1501
+ type: Input
1502
+ }], secondaryButtonLabel: [{
1503
+ type: Input
1504
+ }], primaryButtonLabel: [{
1505
+ type: Input
1506
+ }], closeEvent: [{
1507
+ type: Output
1508
+ }], secondaryButtonClickEvent: [{
1509
+ type: Output
1510
+ }], primaryButtonClickEvent: [{
1511
+ type: Output
1512
+ }] } });
718
1513
 
719
1514
  class DialogService {
720
- /**
721
- * Constructor
722
- */
723
1515
  constructor(matDialog) {
724
1516
  this.matDialog = matDialog;
725
1517
  }
726
- open(dialogComponent, config) {
1518
+ open(dialogComponent) {
727
1519
  // Open the dialog using UI custom styles
728
1520
  return this.matDialog.open(dialogComponent, {
729
- panelClass: 'ui-dialog',
730
- ...config,
1521
+ panelClass: 'ui-dialog-wrapper',
731
1522
  });
732
1523
  }
733
1524
  }
734
- DialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DialogService, deps: [{ token: i1$4.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
735
- DialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DialogService });
736
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DialogService, decorators: [{
1525
+ DialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DialogService, deps: [{ token: i1$4.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
1526
+ DialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DialogService });
1527
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DialogService, decorators: [{
737
1528
  type: Injectable
738
1529
  }], ctorParameters: function () { return [{ type: i1$4.MatDialog }]; } });
739
1530
 
740
- class LaunchDialogComponent {
741
- // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13
742
- // https://github.com/storybookjs/storybook/issues/16865
743
- // https://github.com/storybookjs/storybook/issues/17004
744
- constructor(dialogService) {
745
- this.dialogService = dialogService;
746
- this.openModal();
1531
+ class DialogComponentModule {
1532
+ }
1533
+ DialogComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DialogComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1534
+ DialogComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: DialogComponentModule, declarations: [DialogComponent], imports: [CommonModule, MatDialogModule, ButtonComponentModule], exports: [DialogComponent] });
1535
+ DialogComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DialogComponentModule, providers: [{ provide: MAT_DIALOG_DATA, useValue: {} }, { provide: MatDialogRef, useValue: {} }, DialogService], imports: [CommonModule, MatDialogModule, ButtonComponentModule] });
1536
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DialogComponentModule, decorators: [{
1537
+ type: NgModule,
1538
+ args: [{
1539
+ declarations: [DialogComponent],
1540
+ imports: [CommonModule, MatDialogModule, ButtonComponentModule],
1541
+ exports: [DialogComponent],
1542
+ providers: [{ provide: MAT_DIALOG_DATA, useValue: {} }, { provide: MatDialogRef, useValue: {} }, DialogService],
1543
+ }]
1544
+ }] });
1545
+
1546
+ var ElevationType;
1547
+ (function (ElevationType) {
1548
+ ElevationType["DEFAULT"] = "default";
1549
+ ElevationType["MODAL"] = "modal";
1550
+ })(ElevationType || (ElevationType = {}));
1551
+
1552
+ class ElevationShadowComponent {
1553
+ constructor() {
1554
+ /**
1555
+ * The type of elevation shadow.
1556
+ * Default: default.
1557
+ *
1558
+ * @type {ElevationType}
1559
+ * @memberof ElevationShadowComponent
1560
+ */
1561
+ this.elevationType = ElevationType.DEFAULT;
747
1562
  }
748
- openModal() {
749
- this.dialogService.open(DialogComponent);
1563
+ }
1564
+ ElevationShadowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ElevationShadowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1565
+ ElevationShadowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ElevationShadowComponent, selector: "ui-elevation-shadow", inputs: { elevationType: "elevationType" }, ngImport: i0, template: "<div [ngClass]=\"elevationType\">\n <ng-content></ng-content>\n</div>", styles: [".modal{border:2px solid #E0E0E0;box-shadow:2px 24px 48px 8px #00000014;border-radius:8px}.default{border:2px solid #E0E0E0;box-shadow:0 8px 24px 4px #00000014;border-radius:8px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1566
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ElevationShadowComponent, decorators: [{
1567
+ type: Component,
1568
+ args: [{ selector: 'ui-elevation-shadow', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"elevationType\">\n <ng-content></ng-content>\n</div>", styles: [".modal{border:2px solid #E0E0E0;box-shadow:2px 24px 48px 8px #00000014;border-radius:8px}.default{border:2px solid #E0E0E0;box-shadow:0 8px 24px 4px #00000014;border-radius:8px}\n"] }]
1569
+ }], propDecorators: { elevationType: [{
1570
+ type: Input
1571
+ }] } });
1572
+
1573
+ class ElevationShadowComponentModule {
1574
+ }
1575
+ ElevationShadowComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ElevationShadowComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1576
+ ElevationShadowComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ElevationShadowComponentModule, declarations: [ElevationShadowComponent], imports: [CommonModule], exports: [ElevationShadowComponent] });
1577
+ ElevationShadowComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ElevationShadowComponentModule, imports: [CommonModule] });
1578
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ElevationShadowComponentModule, decorators: [{
1579
+ type: NgModule,
1580
+ args: [{
1581
+ declarations: [ElevationShadowComponent],
1582
+ imports: [CommonModule],
1583
+ exports: [ElevationShadowComponent],
1584
+ }]
1585
+ }] });
1586
+
1587
+ class ProgressBarComponent {
1588
+ constructor() {
1589
+ /**
1590
+ * Color of the progress bar.
1591
+ * Defaults to Test Gorilla primary color.
1592
+ *
1593
+ * @type {string}
1594
+ * @memberof ProgressBarComponent
1595
+ */
1596
+ this.color = '#46A997';
1597
+ /**
1598
+ * Progress value of the progress bar.
1599
+ * Defaults to zero.
1600
+ *
1601
+ * @type {number}
1602
+ * @memberof ProgressBarComponent
1603
+ */
1604
+ this.progress = 0;
1605
+ /**
1606
+ * Mode of the progress bar.
1607
+ * Mode must be one of these values: determinate, indeterminate, buffer, query.
1608
+ * Defaults to 'determinate'.
1609
+ *
1610
+ * @type {ProgressBarMode}
1611
+ * @memberof ProgressBarComponent
1612
+ */
1613
+ this.mode = 'determinate';
1614
+ /**
1615
+ * Buffer value of the progress bar.
1616
+ * Defaults to zero.
1617
+ *
1618
+ * @type {number}
1619
+ * @memberof ProgressBarComponent
1620
+ */
1621
+ this.buffer = 0;
750
1622
  }
751
1623
  }
752
- LaunchDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LaunchDialogComponent, deps: [{ token: DialogService }], target: i0.ɵɵFactoryTarget.Component });
753
- LaunchDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: LaunchDialogComponent, selector: "ui-launch-dialog", ngImport: i0, template: "<ui-button [label]=\"'Launch modal'\" (onClickEvent)=\"openModal()\"></ui-button>", components: [{ type: ButtonComponent, selector: "ui-button", inputs: ["color", "label", "iconPosition", "iconName", "disabled", "loading", "fullWidth"], outputs: ["onClickEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
754
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LaunchDialogComponent, decorators: [{
1624
+ ProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1625
+ ProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ProgressBarComponent, selector: "ui-progress-bar", inputs: { color: "color", progress: "progress", mode: "mode", buffer: "buffer" }, host: { properties: { "style.--color": "this.color" } }, ngImport: i0, template: "<mat-progress-bar\n [mode]=\"mode\"\n [value]=\"progress\"\n [bufferValue]=\"buffer\"\n aria-label=\"Progress bar\"\n title=\"progress-bar\"\n class=\"progress-bar\"\n></mat-progress-bar>\n", styles: [".mat-mdc-progress-bar.progress-bar{height:8px;border-radius:8px}.mat-mdc-progress-bar.progress-bar ::ng-deep .mdc-linear-progress__buffer-bar{background-color:#e0e0e0}.mat-mdc-progress-bar.progress-bar ::ng-deep .mdc-linear-progress__bar-inner{border-top-width:8px}\n"], dependencies: [{ kind: "component", type: i1$5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1626
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProgressBarComponent, decorators: [{
755
1627
  type: Component,
756
- args: [{ selector: 'ui-launch-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ui-button [label]=\"'Launch modal'\" (onClickEvent)=\"openModal()\"></ui-button>" }]
757
- }], ctorParameters: function () { return [{ type: DialogService }]; } });
1628
+ args: [{ selector: 'ui-progress-bar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-progress-bar\n [mode]=\"mode\"\n [value]=\"progress\"\n [bufferValue]=\"buffer\"\n aria-label=\"Progress bar\"\n title=\"progress-bar\"\n class=\"progress-bar\"\n></mat-progress-bar>\n", styles: [".mat-mdc-progress-bar.progress-bar{height:8px;border-radius:8px}.mat-mdc-progress-bar.progress-bar ::ng-deep .mdc-linear-progress__buffer-bar{background-color:#e0e0e0}.mat-mdc-progress-bar.progress-bar ::ng-deep .mdc-linear-progress__bar-inner{border-top-width:8px}\n"] }]
1629
+ }], ctorParameters: function () { return []; }, propDecorators: { color: [{
1630
+ type: HostBinding,
1631
+ args: ['style.--color']
1632
+ }, {
1633
+ type: Input
1634
+ }], progress: [{
1635
+ type: Input
1636
+ }], mode: [{
1637
+ type: Input
1638
+ }], buffer: [{
1639
+ type: Input
1640
+ }] } });
758
1641
 
759
- class DialogComponentModule {
1642
+ class DragDropDirective {
1643
+ constructor() {
1644
+ this.fileDropped = new EventEmitter();
1645
+ }
1646
+ // Dragover listener
1647
+ onDragOver(event) {
1648
+ event.preventDefault();
1649
+ event.stopPropagation();
1650
+ this.file = true;
1651
+ }
1652
+ // Dragleave listener
1653
+ onDragLeave(event) {
1654
+ event.preventDefault();
1655
+ event.stopPropagation();
1656
+ this.file = false;
1657
+ }
1658
+ // Drop listener
1659
+ ondrop(event) {
1660
+ event.preventDefault();
1661
+ event.stopPropagation();
1662
+ this.file = false;
1663
+ let files;
1664
+ if (!!event.dataTransfer) {
1665
+ files = event.dataTransfer.files;
1666
+ if (files.length > 0) {
1667
+ this.fileDropped.emit(files);
1668
+ }
1669
+ }
1670
+ }
1671
+ }
1672
+ DragDropDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DragDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1673
+ DragDropDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: DragDropDirective, selector: "[uiDragDrop]", outputs: { fileDropped: "fileDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "ondrop($event)" }, properties: { "class.file-over": "this.file" } }, ngImport: i0 });
1674
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DragDropDirective, decorators: [{
1675
+ type: Directive,
1676
+ args: [{
1677
+ selector: '[uiDragDrop]'
1678
+ }]
1679
+ }], ctorParameters: function () { return []; }, propDecorators: { file: [{
1680
+ type: HostBinding,
1681
+ args: ['class.file-over']
1682
+ }], fileDropped: [{
1683
+ type: Output
1684
+ }], onDragOver: [{
1685
+ type: HostListener,
1686
+ args: ['dragover', ['$event']]
1687
+ }], onDragLeave: [{
1688
+ type: HostListener,
1689
+ args: ['dragleave', ['$event']]
1690
+ }], ondrop: [{
1691
+ type: HostListener,
1692
+ args: ['drop', ['$event']]
1693
+ }] } });
1694
+
1695
+ class FileUploadComponent {
1696
+ constructor() {
1697
+ this.class = 'ui-file-upload';
1698
+ this.OnDrop = new EventEmitter();
1699
+ /**
1700
+ * @ignore
1701
+ */
1702
+ this.onChange = (_) => { };
1703
+ /**
1704
+ * @ignore
1705
+ */
1706
+ this.onTouch = () => { };
1707
+ this.file = null;
1708
+ this.progress = false;
1709
+ this.success = false;
1710
+ }
1711
+ ngOnInit() {
1712
+ this.browse = true;
1713
+ }
1714
+ //When file is dropped
1715
+ onFileDropped(files) {
1716
+ this.emitFile(files);
1717
+ }
1718
+ //When input changes
1719
+ onChangeUpload(event) {
1720
+ const element = event.currentTarget;
1721
+ this.emitFile(element.files || new FileList());
1722
+ }
1723
+ //Emit drop file
1724
+ emitFile(files) {
1725
+ const [file] = Array.from(files);
1726
+ this.file = file;
1727
+ this.errors = null;
1728
+ this.onTouch();
1729
+ this.onChange(this.file);
1730
+ this.OnDrop.emit(file);
1731
+ }
1732
+ //Show progress-bar
1733
+ showProgress() {
1734
+ this.browse = false;
1735
+ return this.file && !this.errors ? true : false;
1736
+ }
1737
+ //Show success elements
1738
+ showSuccess() {
1739
+ return this.file && this.uploadProgress === 100 && !this.errors ? true : false;
1740
+ }
1741
+ //Show browse when there are error
1742
+ showBrowse() {
1743
+ return this.errors ? true : false;
1744
+ }
1745
+ ngOnChanges(changes) {
1746
+ if (changes['uploadProgress']) {
1747
+ this.progress = this.showProgress();
1748
+ this.success = this.showSuccess();
1749
+ this.browse = this.showBrowse();
1750
+ }
1751
+ if (changes['errors']) {
1752
+ this.progress = this.showProgress();
1753
+ this.success = this.showSuccess();
1754
+ this.browse = this.showBrowse();
1755
+ }
1756
+ }
1757
+ writeValue(value) {
1758
+ if (value) {
1759
+ this.file = value || null;
1760
+ }
1761
+ else {
1762
+ this.file = null;
1763
+ }
1764
+ }
1765
+ registerOnChange(fn) {
1766
+ this.onChange = fn;
1767
+ }
1768
+ registerOnTouched(fn) {
1769
+ this.onTouch = fn;
1770
+ }
1771
+ setDisabledState(isDisabled) {
1772
+ this.disabled = isDisabled;
1773
+ }
1774
+ }
1775
+ FileUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1776
+ FileUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FileUploadComponent, selector: "ui-file-upload", inputs: { maxFileSizeMB: "maxFileSizeMB", supportedFileTypes: "supportedFileTypes", uploadProgress: "uploadProgress", errors: "errors", disabled: "disabled" }, outputs: { OnDrop: "OnDrop" }, host: { properties: { "class": "this.class" } }, providers: [
1777
+ {
1778
+ provide: NG_VALUE_ACCESSOR,
1779
+ useExisting: forwardRef(() => FileUploadComponent),
1780
+ multi: true,
1781
+ },
1782
+ ], usesOnChanges: true, ngImport: i0, template: "<div class=\"upload-file-container\" uiDragDrop [ngClass]=\"{'upload-errors': !!errors}\" (fileDropped)=\"onFileDropped($event)\">\n <div *ngIf=\"browse\" [@inOutAnimation] class=\"upload-files\">\n <div class=\"upload-browse\">\n <ui-icon class=\"upload-icon\" name=\"File-upload\"></ui-icon>\n <div class=\"errors\" *ngIf=\"!!errors\">\n <span *ngFor=\"let error of errors\">\n <ui-icon name=\"Error\"></ui-icon> {{ error }}\n </span>\n </div>\n <input class=\"form-control\" #fileDrop type=\"file\" id=\"fileDrop\" (change)=\"onChangeUpload($event)\">\n <p>Drag and drop or <label for=\"fileDrop\" class=\"semibold\">browse</label> your files</p>\n <span class=\"upload-text\">{{ maxFileSizeMB }}MB max file size.</span>\n </div>\n </div>\n <div class=\"upload-change\" [@inOutAnimationChange] *ngIf=\"!!success && !!file && !!progress\">\n <ui-icon class=\"upload-icon\" name=\"File-upload\"></ui-icon>\n <input class=\"form-control\" #fileDrop type=\"file\" id=\"fileDrop\" (change)=\"onChangeUpload($event)\" [disabled]=\"disabled\">\n <p>Drag and drop or <label for=\"fileDrop\" class=\"semibold\">change</label> your files</p>\n <span class=\"upload-text\"><strong>{{ file.name }}</strong></span>\n </div>\n <div class=\"upload-progress\" [@inOutAnimationProgress] *ngIf=\"!!progress && !!file && !success\">\n <p>{{ file.name }}</p>\n <ui-progress-bar\n [progress]=\"uploadProgress\"\n ></ui-progress-bar>\n <p class=\"upload-text\">Uploading <span>{{uploadProgress}}</span>%</p>\n </div>\n</div>\n<div class=\"upload-supported-files\" *ngIf=\"!!supportedFileTypes\">\n <span>Supported file types:</span>{{ supportedFileTypes }}\n</div>", styles: [".upload-file-container{border-radius:8px;border:1px dashed #888888;background:#F6F6F6;display:flex;justify-content:center;align-items:center;height:196px;flex-flow:column;position:relative;max-width:563px}.upload-file-container.upload-errors{border:1px dashed #cb7b7a}.upload-file-container .upload-files{display:flex;flex-flow:column;align-items:center;justify-content:center;width:100%;height:196px}.upload-file-container .upload-change,.upload-file-container .upload-browse{display:flex;flex-flow:column;align-items:center;justify-content:center;width:100%;position:relative;height:196px}.upload-file-container .upload-change ui-icon.upload-icon,.upload-file-container .upload-browse ui-icon.upload-icon{margin-bottom:16px}.upload-file-container .upload-change ui-icon.upload-icon mat-icon.size-16 svg,.upload-file-container .upload-browse ui-icon.upload-icon mat-icon.size-16 svg{width:32px;height:32px}.upload-file-container .upload-change input,.upload-file-container .upload-browse input{opacity:0;position:absolute;z-index:2;width:100%;height:100%;cursor:pointer}.upload-file-container .upload-change .upload-text,.upload-file-container .upload-browse .upload-text{margin-top:20px}.upload-file-container .upload-change p,.upload-file-container .upload-browse p{margin:0}.upload-file-container .upload-change p .semibold,.upload-file-container .upload-browse p .semibold{font-weight:400;text-decoration:underline}.upload-file-container .upload-change .errors,.upload-file-container .upload-browse .errors{width:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;margin-bottom:20px;font-size:12px;line-height:16px;color:#cb7b7a}.upload-file-container .upload-change .errors span,.upload-file-container .upload-browse .errors span{display:flex;align-items:center;margin-bottom:5px}.upload-file-container .upload-change .errors span:last-child,.upload-file-container .upload-browse .errors span:last-child{margin-bottom:0}.upload-file-container .upload-change .errors ui-icon,.upload-file-container .upload-browse .errors ui-icon{margin-right:4px}.upload-file-container .upload-change .errors ui-icon mat-icon.size-16 svg,.upload-file-container .upload-browse .errors ui-icon mat-icon.size-16 svg{width:16px;height:16px;color:#cb7b7a}.upload-file-container .upload-progress{padding:0 32px;width:100%}.upload-file-container .upload-text{text-align:right}.upload-supported-files{font-size:12px;line-height:16px;margin-top:8px;display:flex}.upload-supported-files span{font-weight:700;margin-right:5px}@media (max-width: 600px){.upload-file-container{max-width:100%}}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color"] }, { kind: "component", type: ProgressBarComponent, selector: "ui-progress-bar", inputs: ["color", "progress", "mode", "buffer"] }, { kind: "directive", type: DragDropDirective, selector: "[uiDragDrop]", outputs: ["fileDropped"] }], animations: [
1783
+ trigger('inOutAnimation', [
1784
+ transition(':enter', [
1785
+ style({ opacity: 0, height: 0 }),
1786
+ animate('0.2s ease-out', style({ opacity: 1, height: '196px' })),
1787
+ ]),
1788
+ transition(':leave', [
1789
+ style({ opacity: 1, height: '196px' }),
1790
+ animate('0.2s ease-in', style({ opacity: 0, height: 0 })),
1791
+ ]),
1792
+ ]),
1793
+ trigger('inOutAnimationProgress', [
1794
+ transition(':enter', [
1795
+ style({ opacity: 0, height: 0 }),
1796
+ animate('0.2s ease-out', style({ opacity: 1, height: '196px' })),
1797
+ ]),
1798
+ transition(':leave', [
1799
+ style({ opacity: 1, height: '196px' }),
1800
+ animate('0.2s ease-in', style({ opacity: 0, height: 0 })),
1801
+ ]),
1802
+ ]),
1803
+ trigger('inOutAnimationChange', [
1804
+ transition(':enter', [
1805
+ style({ opacity: 0, height: 0 }),
1806
+ animate('0.2s ease-out', style({ opacity: 1, height: '196px' })),
1807
+ ]),
1808
+ transition(':leave', [
1809
+ style({ opacity: 1, height: '196px' }),
1810
+ animate('0.2s ease-in', style({ opacity: 0, height: 0 })),
1811
+ ]),
1812
+ ]),
1813
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1814
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileUploadComponent, decorators: [{
1815
+ type: Component,
1816
+ args: [{ selector: 'ui-file-upload', encapsulation: ViewEncapsulation.None, providers: [
1817
+ {
1818
+ provide: NG_VALUE_ACCESSOR,
1819
+ useExisting: forwardRef(() => FileUploadComponent),
1820
+ multi: true,
1821
+ },
1822
+ ], changeDetection: ChangeDetectionStrategy.OnPush, animations: [
1823
+ trigger('inOutAnimation', [
1824
+ transition(':enter', [
1825
+ style({ opacity: 0, height: 0 }),
1826
+ animate('0.2s ease-out', style({ opacity: 1, height: '196px' })),
1827
+ ]),
1828
+ transition(':leave', [
1829
+ style({ opacity: 1, height: '196px' }),
1830
+ animate('0.2s ease-in', style({ opacity: 0, height: 0 })),
1831
+ ]),
1832
+ ]),
1833
+ trigger('inOutAnimationProgress', [
1834
+ transition(':enter', [
1835
+ style({ opacity: 0, height: 0 }),
1836
+ animate('0.2s ease-out', style({ opacity: 1, height: '196px' })),
1837
+ ]),
1838
+ transition(':leave', [
1839
+ style({ opacity: 1, height: '196px' }),
1840
+ animate('0.2s ease-in', style({ opacity: 0, height: 0 })),
1841
+ ]),
1842
+ ]),
1843
+ trigger('inOutAnimationChange', [
1844
+ transition(':enter', [
1845
+ style({ opacity: 0, height: 0 }),
1846
+ animate('0.2s ease-out', style({ opacity: 1, height: '196px' })),
1847
+ ]),
1848
+ transition(':leave', [
1849
+ style({ opacity: 1, height: '196px' }),
1850
+ animate('0.2s ease-in', style({ opacity: 0, height: 0 })),
1851
+ ]),
1852
+ ]),
1853
+ ], template: "<div class=\"upload-file-container\" uiDragDrop [ngClass]=\"{'upload-errors': !!errors}\" (fileDropped)=\"onFileDropped($event)\">\n <div *ngIf=\"browse\" [@inOutAnimation] class=\"upload-files\">\n <div class=\"upload-browse\">\n <ui-icon class=\"upload-icon\" name=\"File-upload\"></ui-icon>\n <div class=\"errors\" *ngIf=\"!!errors\">\n <span *ngFor=\"let error of errors\">\n <ui-icon name=\"Error\"></ui-icon> {{ error }}\n </span>\n </div>\n <input class=\"form-control\" #fileDrop type=\"file\" id=\"fileDrop\" (change)=\"onChangeUpload($event)\">\n <p>Drag and drop or <label for=\"fileDrop\" class=\"semibold\">browse</label> your files</p>\n <span class=\"upload-text\">{{ maxFileSizeMB }}MB max file size.</span>\n </div>\n </div>\n <div class=\"upload-change\" [@inOutAnimationChange] *ngIf=\"!!success && !!file && !!progress\">\n <ui-icon class=\"upload-icon\" name=\"File-upload\"></ui-icon>\n <input class=\"form-control\" #fileDrop type=\"file\" id=\"fileDrop\" (change)=\"onChangeUpload($event)\" [disabled]=\"disabled\">\n <p>Drag and drop or <label for=\"fileDrop\" class=\"semibold\">change</label> your files</p>\n <span class=\"upload-text\"><strong>{{ file.name }}</strong></span>\n </div>\n <div class=\"upload-progress\" [@inOutAnimationProgress] *ngIf=\"!!progress && !!file && !success\">\n <p>{{ file.name }}</p>\n <ui-progress-bar\n [progress]=\"uploadProgress\"\n ></ui-progress-bar>\n <p class=\"upload-text\">Uploading <span>{{uploadProgress}}</span>%</p>\n </div>\n</div>\n<div class=\"upload-supported-files\" *ngIf=\"!!supportedFileTypes\">\n <span>Supported file types:</span>{{ supportedFileTypes }}\n</div>", styles: [".upload-file-container{border-radius:8px;border:1px dashed #888888;background:#F6F6F6;display:flex;justify-content:center;align-items:center;height:196px;flex-flow:column;position:relative;max-width:563px}.upload-file-container.upload-errors{border:1px dashed #cb7b7a}.upload-file-container .upload-files{display:flex;flex-flow:column;align-items:center;justify-content:center;width:100%;height:196px}.upload-file-container .upload-change,.upload-file-container .upload-browse{display:flex;flex-flow:column;align-items:center;justify-content:center;width:100%;position:relative;height:196px}.upload-file-container .upload-change ui-icon.upload-icon,.upload-file-container .upload-browse ui-icon.upload-icon{margin-bottom:16px}.upload-file-container .upload-change ui-icon.upload-icon mat-icon.size-16 svg,.upload-file-container .upload-browse ui-icon.upload-icon mat-icon.size-16 svg{width:32px;height:32px}.upload-file-container .upload-change input,.upload-file-container .upload-browse input{opacity:0;position:absolute;z-index:2;width:100%;height:100%;cursor:pointer}.upload-file-container .upload-change .upload-text,.upload-file-container .upload-browse .upload-text{margin-top:20px}.upload-file-container .upload-change p,.upload-file-container .upload-browse p{margin:0}.upload-file-container .upload-change p .semibold,.upload-file-container .upload-browse p .semibold{font-weight:400;text-decoration:underline}.upload-file-container .upload-change .errors,.upload-file-container .upload-browse .errors{width:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;margin-bottom:20px;font-size:12px;line-height:16px;color:#cb7b7a}.upload-file-container .upload-change .errors span,.upload-file-container .upload-browse .errors span{display:flex;align-items:center;margin-bottom:5px}.upload-file-container .upload-change .errors span:last-child,.upload-file-container .upload-browse .errors span:last-child{margin-bottom:0}.upload-file-container .upload-change .errors ui-icon,.upload-file-container .upload-browse .errors ui-icon{margin-right:4px}.upload-file-container .upload-change .errors ui-icon mat-icon.size-16 svg,.upload-file-container .upload-browse .errors ui-icon mat-icon.size-16 svg{width:16px;height:16px;color:#cb7b7a}.upload-file-container .upload-progress{padding:0 32px;width:100%}.upload-file-container .upload-text{text-align:right}.upload-supported-files{font-size:12px;line-height:16px;margin-top:8px;display:flex}.upload-supported-files span{font-weight:700;margin-right:5px}@media (max-width: 600px){.upload-file-container{max-width:100%}}\n"] }]
1854
+ }], ctorParameters: function () { return []; }, propDecorators: { class: [{
1855
+ type: HostBinding
1856
+ }], maxFileSizeMB: [{
1857
+ type: Input
1858
+ }], supportedFileTypes: [{
1859
+ type: Input
1860
+ }], uploadProgress: [{
1861
+ type: Input
1862
+ }], errors: [{
1863
+ type: Input
1864
+ }], disabled: [{
1865
+ type: Input
1866
+ }], OnDrop: [{
1867
+ type: Output
1868
+ }] } });
1869
+
1870
+ class ProgressBarComponentModule {
1871
+ }
1872
+ ProgressBarComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProgressBarComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1873
+ ProgressBarComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ProgressBarComponentModule, declarations: [ProgressBarComponent], imports: [CommonModule, MatProgressBarModule], exports: [ProgressBarComponent] });
1874
+ ProgressBarComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProgressBarComponentModule, imports: [CommonModule, MatProgressBarModule] });
1875
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProgressBarComponentModule, decorators: [{
1876
+ type: NgModule,
1877
+ args: [{
1878
+ declarations: [ProgressBarComponent],
1879
+ imports: [CommonModule, MatProgressBarModule],
1880
+ exports: [ProgressBarComponent],
1881
+ providers: [],
1882
+ }]
1883
+ }] });
1884
+
1885
+ class FileUploadComponentModule {
760
1886
  }
761
- DialogComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DialogComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
762
- DialogComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DialogComponentModule, declarations: [DialogComponent, LaunchDialogComponent], imports: [CommonModule, MatIconModule, MatDialogModule, MatButtonModule, ButtonComponentModule], exports: [MatDialogModule] });
763
- DialogComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DialogComponentModule, providers: [DialogService], imports: [[CommonModule, MatIconModule, MatDialogModule, MatButtonModule, ButtonComponentModule], MatDialogModule] });
764
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DialogComponentModule, decorators: [{
1887
+ FileUploadComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileUploadComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1888
+ FileUploadComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: FileUploadComponentModule, declarations: [FileUploadComponent, DragDropDirective], imports: [CommonModule, MatFormFieldModule, MatInputModule, IconComponentModule, ProgressBarComponentModule], exports: [FileUploadComponent] });
1889
+ FileUploadComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileUploadComponentModule, imports: [CommonModule, MatFormFieldModule, MatInputModule, IconComponentModule, ProgressBarComponentModule] });
1890
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileUploadComponentModule, decorators: [{
765
1891
  type: NgModule,
766
1892
  args: [{
767
- declarations: [DialogComponent, LaunchDialogComponent],
768
- imports: [CommonModule, MatIconModule, MatDialogModule, MatButtonModule, ButtonComponentModule],
769
- exports: [MatDialogModule],
770
- providers: [DialogService],
1893
+ declarations: [FileUploadComponent, DragDropDirective],
1894
+ imports: [CommonModule, MatFormFieldModule, MatInputModule, IconComponentModule, ProgressBarComponentModule],
1895
+ exports: [FileUploadComponent],
1896
+ providers: [],
771
1897
  }]
772
1898
  }] });
773
1899
 
@@ -779,6 +1905,10 @@ const FORGOT_PASSWORD_i18n = {
779
1905
  };
780
1906
 
781
1907
  class ForgotPasswordComponent {
1908
+ /**
1909
+ * @ignore
1910
+ */
1911
+ ngOnInit() { }
782
1912
  constructor(fb) {
783
1913
  this.fb = fb;
784
1914
  // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13
@@ -812,10 +1942,6 @@ class ForgotPasswordComponent {
812
1942
  */
813
1943
  this.backToLoginEvent = new EventEmitter();
814
1944
  }
815
- /**
816
- * @ignore
817
- */
818
- ngOnInit() { }
819
1945
  submit() {
820
1946
  this.submitEvent.emit({
821
1947
  email: this.forgotPasswordForm.get('email')?.value,
@@ -827,23 +1953,23 @@ class ForgotPasswordComponent {
827
1953
  checkErrors(field) {
828
1954
  if (this.forgotPasswordForm.controls[field].touched) {
829
1955
  if (this.forgotPasswordForm.controls[field].hasError('required')) {
830
- this.formErrors[field][0] = 'This field is required';
1956
+ this.formErrors[field] = ['This field is required'];
831
1957
  return;
832
1958
  }
833
1959
  if (this.forgotPasswordForm.controls[field].hasError('email')) {
834
- this.formErrors[field][0] = 'Enter a valid email';
1960
+ this.formErrors[field] = ['Enter a valid email'];
835
1961
  return;
836
1962
  }
837
1963
  }
838
- this.formErrors[field][0] = '';
1964
+ this.formErrors[field] = [''];
839
1965
  }
840
1966
  }
841
- ForgotPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ForgotPasswordComponent, deps: [{ token: i1$3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
842
- ForgotPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ForgotPasswordComponent, selector: "ui-forgot-password", inputs: { formErrors: "formErrors", loading: "loading", i18n: "i18n" }, outputs: { submitEvent: "submitEvent", backToLoginEvent: "backToLoginEvent" }, ngImport: i0, template: "<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <form [formGroup]=\"forgotPasswordForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"email\"\n [label]=\"i18n.email_label\"\n [type]=\"'email'\"\n [required]=\"true\"\n [error]=\"formErrors.email[0]\"\n (ngModelChange)=\"checkErrors('email')\"\n ></ui-field>\n </div>\n <div></div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button_label\"\n [disabled]=\"forgotPasswordForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (onClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n <div class=\"back-login\" (click)=\"backToLogin()\">\n <mat-icon>arrow_back</mat-icon>\n <span>{{ i18n.back_to_login }}</span>\n </div>\n </form>\n</div>\n", styles: [".form-box{width:672px;padding:64px;background:#ffffff;box-shadow:0 8px 16px #0000001a;border-radius:8px;margin:auto;color:#000}.form-box .title{font-weight:700;font-size:22px;line-height:29.7px;margin:40px 0 21px}.form-box .field{width:100%}.form-box .submit-button{margin:3px 0 24px}.form-box .back-login{display:flex;align-content:center;color:#46a997;cursor:pointer}.form-box .back-login mat-icon{margin-right:8px}.form-box .back-login span{padding-top:2px;font-weight:700}\n"], components: [{ type: LogoComponent, selector: "ui-logo" }, { type: FieldComponent, selector: "ui-field", inputs: ["label", "preffixIcon", "suffixIcon", "required", "hint", "error", "placeholder", "type"] }, { type: ButtonComponent, selector: "ui-button", inputs: ["color", "label", "iconPosition", "iconName", "disabled", "loading", "fullWidth"], outputs: ["onClickEvent"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
843
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ForgotPasswordComponent, decorators: [{
1967
+ ForgotPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ForgotPasswordComponent, deps: [{ token: i1$3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
1968
+ ForgotPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ForgotPasswordComponent, selector: "ui-forgot-password", inputs: { formErrors: "formErrors", loading: "loading", i18n: "i18n" }, outputs: { submitEvent: "submitEvent", backToLoginEvent: "backToLoginEvent" }, ngImport: i0, template: "<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <form [formGroup]=\"forgotPasswordForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"email\"\n [label]=\"i18n.email_label\"\n [type]=\"'email'\"\n [required]=\"true\"\n [errors]=\"formErrors.email\"\n (ngModelChange)=\"checkErrors('email')\"\n ></ui-field>\n </div>\n <div></div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button_label\"\n [disabled]=\"forgotPasswordForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (buttonClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n <div class=\"back-login\" (click)=\"backToLogin()\">\n <mat-icon>arrow_back</mat-icon>\n <span>{{ i18n.back_to_login }}</span>\n </div>\n </form>\n</div>\n", styles: [".form-box{width:672px;padding:64px;background:#ffffff;box-shadow:0 8px 16px #0000001a;border-radius:8px;margin:auto;color:#000}.form-box ui-logo{width:160px;display:inline-flex}.form-box .title{font-weight:700;font-size:22px;line-height:29.7px;margin:40px 0 21px}.form-box .field{width:100%}.form-box .submit-button{margin:3px 0 24px}.form-box .back-login{display:flex;align-content:center;color:#46a997;cursor:pointer}.form-box .back-login mat-icon{margin-right:8px}.form-box .back-login span{padding-top:2px;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FieldComponent, selector: "ui-field", inputs: ["label", "fieldName", "placeholder", "id", "value", "errors", "disabled", "required", "hintMessage", "type"] }, { kind: "component", type: ButtonComponent, selector: "ui-button", inputs: ["size", "type", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: LogoComponent, selector: "ui-logo", inputs: ["type"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1969
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ForgotPasswordComponent, decorators: [{
844
1970
  type: Component,
845
- args: [{ selector: 'ui-forgot-password', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <form [formGroup]=\"forgotPasswordForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"email\"\n [label]=\"i18n.email_label\"\n [type]=\"'email'\"\n [required]=\"true\"\n [error]=\"formErrors.email[0]\"\n (ngModelChange)=\"checkErrors('email')\"\n ></ui-field>\n </div>\n <div></div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button_label\"\n [disabled]=\"forgotPasswordForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (onClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n <div class=\"back-login\" (click)=\"backToLogin()\">\n <mat-icon>arrow_back</mat-icon>\n <span>{{ i18n.back_to_login }}</span>\n </div>\n </form>\n</div>\n", styles: [".form-box{width:672px;padding:64px;background:#ffffff;box-shadow:0 8px 16px #0000001a;border-radius:8px;margin:auto;color:#000}.form-box .title{font-weight:700;font-size:22px;line-height:29.7px;margin:40px 0 21px}.form-box .field{width:100%}.form-box .submit-button{margin:3px 0 24px}.form-box .back-login{display:flex;align-content:center;color:#46a997;cursor:pointer}.form-box .back-login mat-icon{margin-right:8px}.form-box .back-login span{padding-top:2px;font-weight:700}\n"] }]
846
- }], ctorParameters: function () { return [{ type: i1$3.FormBuilder }]; }, propDecorators: { formErrors: [{
1971
+ args: [{ selector: 'ui-forgot-password', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <form [formGroup]=\"forgotPasswordForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"email\"\n [label]=\"i18n.email_label\"\n [type]=\"'email'\"\n [required]=\"true\"\n [errors]=\"formErrors.email\"\n (ngModelChange)=\"checkErrors('email')\"\n ></ui-field>\n </div>\n <div></div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button_label\"\n [disabled]=\"forgotPasswordForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (buttonClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n <div class=\"back-login\" (click)=\"backToLogin()\">\n <mat-icon>arrow_back</mat-icon>\n <span>{{ i18n.back_to_login }}</span>\n </div>\n </form>\n</div>\n", styles: [".form-box{width:672px;padding:64px;background:#ffffff;box-shadow:0 8px 16px #0000001a;border-radius:8px;margin:auto;color:#000}.form-box ui-logo{width:160px;display:inline-flex}.form-box .title{font-weight:700;font-size:22px;line-height:29.7px;margin:40px 0 21px}.form-box .field{width:100%}.form-box .submit-button{margin:3px 0 24px}.form-box .back-login{display:flex;align-content:center;color:#46a997;cursor:pointer}.form-box .back-login mat-icon{margin-right:8px}.form-box .back-login span{padding-top:2px;font-weight:700}\n"] }]
1972
+ }], ctorParameters: function () { return [{ type: i1$3.UntypedFormBuilder }]; }, propDecorators: { formErrors: [{
847
1973
  type: Input
848
1974
  }], loading: [{
849
1975
  type: Input
@@ -855,39 +1981,83 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
855
1981
  type: Output
856
1982
  }] } });
857
1983
 
858
- class ForgotPasswordComponentModule {
1984
+ class ForgotPasswordComponentModule {
1985
+ }
1986
+ ForgotPasswordComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ForgotPasswordComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1987
+ ForgotPasswordComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ForgotPasswordComponentModule, declarations: [ForgotPasswordComponent], imports: [CommonModule,
1988
+ FormsModule,
1989
+ ReactiveFormsModule,
1990
+ FieldComponentModule,
1991
+ ButtonComponentModule,
1992
+ MatIconModule,
1993
+ LogoComponentModule], exports: [ForgotPasswordComponent] });
1994
+ ForgotPasswordComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ForgotPasswordComponentModule, imports: [CommonModule,
1995
+ FormsModule,
1996
+ ReactiveFormsModule,
1997
+ FieldComponentModule,
1998
+ ButtonComponentModule,
1999
+ MatIconModule,
2000
+ LogoComponentModule] });
2001
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ForgotPasswordComponentModule, decorators: [{
2002
+ type: NgModule,
2003
+ args: [{
2004
+ declarations: [ForgotPasswordComponent],
2005
+ imports: [
2006
+ CommonModule,
2007
+ FormsModule,
2008
+ ReactiveFormsModule,
2009
+ FieldComponentModule,
2010
+ ButtonComponentModule,
2011
+ MatIconModule,
2012
+ LogoComponentModule,
2013
+ ],
2014
+ exports: [ForgotPasswordComponent],
2015
+ providers: [],
2016
+ }]
2017
+ }] });
2018
+
2019
+ class IconLabelComponent {
2020
+ constructor() {
2021
+ /**
2022
+ * Icon size
2023
+ *
2024
+ * @type {IconSize}
2025
+ * @memberof IconLabelComponent
2026
+ */
2027
+ this.iconSize = '16';
2028
+ /**
2029
+ * Label
2030
+ *
2031
+ * @memberof IconLabelComponent
2032
+ */
2033
+ this.text = '';
2034
+ }
2035
+ ngOnInit() { }
2036
+ }
2037
+ IconLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IconLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2038
+ IconLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: IconLabelComponent, selector: "ui-icon-label", inputs: { iconSize: "iconSize", iconName: "iconName", text: "text" }, ngImport: i0, template: "<ui-icon [name]=\"iconName\" [size]=\"iconSize\" aria-hidden=\"true\"></ui-icon>\n<span>{{ text }}</span>\n", styles: [":host{display:flex;align-items:center}:host ui-icon{margin-right:8px}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color"] }] });
2039
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IconLabelComponent, decorators: [{
2040
+ type: Component,
2041
+ args: [{ selector: 'ui-icon-label', template: "<ui-icon [name]=\"iconName\" [size]=\"iconSize\" aria-hidden=\"true\"></ui-icon>\n<span>{{ text }}</span>\n", styles: [":host{display:flex;align-items:center}:host ui-icon{margin-right:8px}\n"] }]
2042
+ }], ctorParameters: function () { return []; }, propDecorators: { iconSize: [{
2043
+ type: Input
2044
+ }], iconName: [{
2045
+ type: Input
2046
+ }], text: [{
2047
+ type: Input
2048
+ }] } });
2049
+
2050
+ class IconLabelComponentModule {
859
2051
  }
860
- ForgotPasswordComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ForgotPasswordComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
861
- ForgotPasswordComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ForgotPasswordComponentModule, declarations: [ForgotPasswordComponent], imports: [CommonModule,
862
- FormsModule,
863
- ReactiveFormsModule,
864
- FieldComponentModule,
865
- ButtonComponentModule,
866
- MatIconModule,
867
- LogoComponentModule], exports: [ForgotPasswordComponent] });
868
- ForgotPasswordComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ForgotPasswordComponentModule, providers: [], imports: [[
869
- CommonModule,
870
- FormsModule,
871
- ReactiveFormsModule,
872
- FieldComponentModule,
873
- ButtonComponentModule,
874
- MatIconModule,
875
- LogoComponentModule,
876
- ]] });
877
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ForgotPasswordComponentModule, decorators: [{
2052
+ IconLabelComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IconLabelComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2053
+ IconLabelComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: IconLabelComponentModule, declarations: [IconLabelComponent], imports: [CommonModule, IconComponentModule], exports: [IconLabelComponent] });
2054
+ IconLabelComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IconLabelComponentModule, imports: [CommonModule, IconComponentModule] });
2055
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IconLabelComponentModule, decorators: [{
878
2056
  type: NgModule,
879
2057
  args: [{
880
- declarations: [ForgotPasswordComponent],
881
- imports: [
882
- CommonModule,
883
- FormsModule,
884
- ReactiveFormsModule,
885
- FieldComponentModule,
886
- ButtonComponentModule,
887
- MatIconModule,
888
- LogoComponentModule,
889
- ],
890
- exports: [ForgotPasswordComponent],
2058
+ declarations: [IconLabelComponent],
2059
+ imports: [CommonModule, IconComponentModule],
2060
+ exports: [IconLabelComponent],
891
2061
  providers: [],
892
2062
  }]
893
2063
  }] });
@@ -944,9 +2114,9 @@ class LabelComponent {
944
2114
  this.size = LabelSizeEnum.SMALL;
945
2115
  }
946
2116
  }
947
- LabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
948
- LabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: LabelComponent, selector: "ui-label", inputs: { backgroundColor: "backgroundColor", textColor: "textColor", title: "title", description: "description", size: "size" }, ngImport: i0, template: "<div\n class=\"label\"\n [ngStyle]=\"{ 'background-color': backgroundColor, color: textColor }\"\n [ngClass]=\"{\n small: size === LabelSizeEnum.SMALL,\n medium: size === LabelSizeEnum.MEDIUM,\n large: size === LabelSizeEnum.LARGE,\n big: size === LabelSizeEnum.BIG,\n huge: size === LabelSizeEnum.HUGE\n }\"\n>\n <div [innerHTML]=\"title\"></div>\n <div [innerHTML]=\"description\" class=\"description\" *ngIf=\"description && size === LabelSizeEnum.HUGE\"></div>\n</div>\n", styles: [".label{display:flex;flex-direction:column;justify-content:center;align-items:center;font-weight:600;border-radius:4px;width:-moz-fit-content;width:fit-content}.label.small{padding:0 8px;font-size:10px;min-height:16px}.label.medium{padding:2px 8px;font-size:12px;min-height:20px}.label.large{padding:8px 12px;font-size:14px;min-height:32px}.label.big{padding:8px 16px;font-size:14px;min-height:32px}.label.huge{padding:16px;font-size:12px;font-weight:700;min-height:48px;width:100%;max-width:166px;align-items:start}.label.huge .description{font-weight:400;font-size:12px;line-height:16px;padding-top:10px}\n"], directives: [{ type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
949
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LabelComponent, decorators: [{
2117
+ LabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2118
+ LabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: LabelComponent, selector: "ui-label", inputs: { backgroundColor: "backgroundColor", textColor: "textColor", title: "title", description: "description", size: "size" }, ngImport: i0, template: "<div\n class=\"label\"\n [ngStyle]=\"{ 'background-color': backgroundColor, color: textColor }\"\n [ngClass]=\"{\n small: size === LabelSizeEnum.SMALL,\n medium: size === LabelSizeEnum.MEDIUM,\n large: size === LabelSizeEnum.LARGE,\n big: size === LabelSizeEnum.BIG,\n huge: size === LabelSizeEnum.HUGE\n }\"\n>\n <div [innerHTML]=\"title\"></div>\n <div [innerHTML]=\"description\" class=\"description\" *ngIf=\"description && size === LabelSizeEnum.HUGE\"></div>\n</div>\n", styles: [".label{display:flex;flex-direction:column;justify-content:center;align-items:center;font-weight:600;border-radius:4px;width:-moz-fit-content;width:fit-content}.label.small{padding:0 8px;font-size:10px;min-height:16px}.label.medium{padding:2px 8px;font-size:12px;min-height:20px}.label.large{padding:8px 12px;font-size:14px;min-height:32px}.label.big{padding:8px 16px;font-size:14px;min-height:32px}.label.huge{padding:16px;font-size:12px;font-weight:700;min-height:48px;width:100%;max-width:166px;align-items:start}.label.huge .description{font-weight:400;font-size:12px;line-height:16px;padding-top:10px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LabelComponent, decorators: [{
950
2120
  type: Component,
951
2121
  args: [{ selector: 'ui-label', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"label\"\n [ngStyle]=\"{ 'background-color': backgroundColor, color: textColor }\"\n [ngClass]=\"{\n small: size === LabelSizeEnum.SMALL,\n medium: size === LabelSizeEnum.MEDIUM,\n large: size === LabelSizeEnum.LARGE,\n big: size === LabelSizeEnum.BIG,\n huge: size === LabelSizeEnum.HUGE\n }\"\n>\n <div [innerHTML]=\"title\"></div>\n <div [innerHTML]=\"description\" class=\"description\" *ngIf=\"description && size === LabelSizeEnum.HUGE\"></div>\n</div>\n", styles: [".label{display:flex;flex-direction:column;justify-content:center;align-items:center;font-weight:600;border-radius:4px;width:-moz-fit-content;width:fit-content}.label.small{padding:0 8px;font-size:10px;min-height:16px}.label.medium{padding:2px 8px;font-size:12px;min-height:20px}.label.large{padding:8px 12px;font-size:14px;min-height:32px}.label.big{padding:8px 16px;font-size:14px;min-height:32px}.label.huge{padding:16px;font-size:12px;font-weight:700;min-height:48px;width:100%;max-width:166px;align-items:start}.label.huge .description{font-weight:400;font-size:12px;line-height:16px;padding-top:10px}\n"] }]
952
2122
  }], ctorParameters: function () { return []; }, propDecorators: { backgroundColor: [{
@@ -963,10 +2133,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
963
2133
 
964
2134
  class LabelComponentModule {
965
2135
  }
966
- LabelComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LabelComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
967
- LabelComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LabelComponentModule, declarations: [LabelComponent], imports: [CommonModule], exports: [LabelComponent] });
968
- LabelComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LabelComponentModule, providers: [], imports: [[CommonModule]] });
969
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LabelComponentModule, decorators: [{
2136
+ LabelComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LabelComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2137
+ LabelComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: LabelComponentModule, declarations: [LabelComponent], imports: [CommonModule], exports: [LabelComponent] });
2138
+ LabelComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LabelComponentModule, imports: [CommonModule] });
2139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LabelComponentModule, decorators: [{
970
2140
  type: NgModule,
971
2141
  args: [{
972
2142
  declarations: [LabelComponent],
@@ -988,6 +2158,10 @@ const LOGIN_i18n = {
988
2158
  };
989
2159
 
990
2160
  class LoginComponent {
2161
+ /**
2162
+ * @ignore
2163
+ */
2164
+ ngOnInit() { }
991
2165
  constructor(fb) {
992
2166
  this.fb = fb;
993
2167
  // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13
@@ -1033,10 +2207,6 @@ class LoginComponent {
1033
2207
  */
1034
2208
  this.createAccountEvent = new EventEmitter();
1035
2209
  }
1036
- /**
1037
- * @ignore
1038
- */
1039
- ngOnInit() { }
1040
2210
  submit() {
1041
2211
  this.submitEvent.emit({
1042
2212
  username: this.loginForm.get('email')?.value,
@@ -1064,12 +2234,12 @@ class LoginComponent {
1064
2234
  this.formErrors[field] = '';
1065
2235
  }
1066
2236
  }
1067
- LoginComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LoginComponent, deps: [{ token: i1$3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
1068
- LoginComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: LoginComponent, selector: "ui-login", inputs: { loading: "loading", i18n: "i18n" }, outputs: { submitEvent: "submitEvent", forgotPasswordEvent: "forgotPasswordEvent", createAccountEvent: "createAccountEvent" }, ngImport: i0, template: "<div class=\"ui-login-container\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <form [formGroup]=\"loginForm\" class=\"form-wrapper\">\n <div class=\"field-email\">\n <ui-field\n formControlName=\"email\"\n [label]=\"i18n.email_label\"\n [type]=\"'email'\"\n [required]=\"true\"\n [error]=\"formErrors.email\"\n (ngModelChange)=\"checkErrors('email')\"\n ></ui-field>\n </div>\n <div class=\"field-password\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [error]=\"formErrors.password\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n </div>\n <div class=\"actions\">\n <div>\n <mat-checkbox formControlName=\"remember_me\">{{ i18n.remember_me }}</mat-checkbox>\n </div>\n <div class=\"forgot-password\" (click)=\"forgotPassword()\">{{ i18n.forgot_password }}</div>\n </div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button_label\"\n [disabled]=\"loginForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (onClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n <div class=\"create-account-wrapper\">\n <p>\n {{ i18n.not_have_account }}\n <span class=\"create-account\" (click)=\"createAccount()\">{{ i18n.create_account }}</span>\n </p>\n </div>\n </form>\n</div>\n", styles: [".ui-login-container{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(7,auto);max-width:672px;max-height:594px;height:100%;width:100%;padding:40px 24px;background:#ffffff}.ui-login-container ui-logo{grid-column:1/5;grid-row:1/2}.ui-login-container .title{grid-column:1/5;grid-row:2/3;font-weight:700;font-size:22px;line-height:29.7px;margin:40px 0 24px;letter-spacing:-.04em}.ui-login-container .form-wrapper{grid-column:1/5;grid-row:3/8;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(5,auto)}.ui-login-container .form-wrapper .field-email{grid-column:1/5;grid-row:1/2}.ui-login-container .form-wrapper .field-password{grid-column:1/5;grid-row:2/3}.ui-login-container .form-wrapper .actions{grid-column:1/5;grid-row:3/4;display:flex;height:-moz-fit-content;height:fit-content;max-height:20px;justify-content:space-between;margin-top:3px}.ui-login-container .form-wrapper .actions .forgot-password{cursor:pointer;font-weight:700;text-decoration:underline}.ui-login-container .form-wrapper .submit-button{margin-top:40px;grid-column:1/5;grid-row:4/5}.ui-login-container .form-wrapper .create-account-wrapper{margin-top:24px;grid-column:1/5;grid-row:5/6}.ui-login-container .form-wrapper .create-account-wrapper p{margin:0;line-height:19.07px}.ui-login-container .form-wrapper .create-account-wrapper .create-account{color:#46a997;cursor:pointer}.ui-login-container .form-wrapper .create-account-wrapper .create-account:hover{text-decoration:underline}@media (min-width: 1024px){.ui-login-container{box-shadow:0 8px 16px #0000001a;border-radius:8px;padding:80px}}\n"], components: [{ type: LogoComponent, selector: "ui-logo" }, { type: FieldComponent, selector: "ui-field", inputs: ["label", "preffixIcon", "suffixIcon", "required", "hint", "error", "placeholder", "type"] }, { type: i5$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: ButtonComponent, selector: "ui-button", inputs: ["color", "label", "iconPosition", "iconName", "disabled", "loading", "fullWidth"], outputs: ["onClickEvent"] }], directives: [{ type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1069
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LoginComponent, decorators: [{
2237
+ LoginComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoginComponent, deps: [{ token: i1$3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
2238
+ LoginComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: LoginComponent, selector: "ui-login", inputs: { loading: "loading", i18n: "i18n" }, outputs: { submitEvent: "submitEvent", forgotPasswordEvent: "forgotPasswordEvent", createAccountEvent: "createAccountEvent" }, ngImport: i0, template: "<div class=\"ui-login-container\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <form [formGroup]=\"loginForm\" class=\"form-wrapper\">\n <div class=\"field-email\">\n <ui-field\n formControlName=\"email\"\n [label]=\"i18n.email_label\"\n [type]=\"'email'\"\n [required]=\"true\"\n [errors]=\"[formErrors.email]\"\n (ngModelChange)=\"checkErrors('email')\"\n ></ui-field>\n </div>\n <div class=\"field-password\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [errors]=\"[formErrors.password]\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n </div>\n <div class=\"actions\">\n <div class=\"remember-me\">\n <ui-checkbox formControlName=\"remember_me\" [label]=\"i18n.remember_me\"></ui-checkbox>\n </div>\n <div class=\"forgot-password\" (click)=\"forgotPassword()\">{{ i18n.forgot_password }}</div>\n </div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button_label\"\n [disabled]=\"loginForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (buttonClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n <div class=\"create-account-wrapper\">\n <p>\n {{ i18n.not_have_account }}\n <span class=\"create-account\" (click)=\"createAccount()\">{{ i18n.create_account }}</span>\n </p>\n </div>\n </form>\n</div>\n", styles: [".ui-login-container{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(7,auto);max-width:672px;max-height:594px;height:100%;width:100%;padding:60px;background:#ffffff}.ui-login-container ui-logo{grid-column:1/5;grid-row:1/2;width:160px}.ui-login-container .title{grid-column:1/5;grid-row:2/3;font-weight:700;font-size:22px;line-height:29.7px;margin:24px 0;letter-spacing:-.04em}.ui-login-container .form-wrapper{grid-column:1/5;grid-row:3/8;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(5,auto)}.ui-login-container .form-wrapper .field-email{grid-column:1/5;grid-row:1/2}.ui-login-container .form-wrapper .field-password{grid-column:1/5;grid-row:2/3}.ui-login-container .form-wrapper .actions{grid-column:1/5;grid-row:3/4;display:flex;height:-moz-fit-content;height:fit-content;max-height:20px;justify-content:space-between;margin-top:3px;align-items:center}.ui-login-container .form-wrapper .actions .forgot-password{cursor:pointer;font-weight:700;text-decoration:underline}.ui-login-container .form-wrapper .actions .remember-me{margin-left:-10px}.ui-login-container .form-wrapper .submit-button{margin-top:40px;grid-column:1/5;grid-row:4/5}.ui-login-container .form-wrapper .create-account-wrapper{margin-top:24px;grid-column:1/5;grid-row:5/6}.ui-login-container .form-wrapper .create-account-wrapper p{margin:0;line-height:19.07px}.ui-login-container .form-wrapper .create-account-wrapper .create-account{color:#46a997;cursor:pointer}.ui-login-container .form-wrapper .create-account-wrapper .create-account:hover{text-decoration:underline}@media (min-width: 1024px){.ui-login-container{box-shadow:0 8px 16px #0000001a;border-radius:8px;padding:80px}}\n"], dependencies: [{ kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FieldComponent, selector: "ui-field", inputs: ["label", "fieldName", "placeholder", "id", "value", "errors", "disabled", "required", "hintMessage", "type"] }, { kind: "component", type: ButtonComponent, selector: "ui-button", inputs: ["size", "type", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: CheckboxComponent, selector: "ui-checkbox", inputs: ["disabled", "checked", "indeterminate", "color", "name", "label", "multiple"], outputs: ["changed"] }, { kind: "component", type: LogoComponent, selector: "ui-logo", inputs: ["type"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2239
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoginComponent, decorators: [{
1070
2240
  type: Component,
1071
- args: [{ selector: 'ui-login', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ui-login-container\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <form [formGroup]=\"loginForm\" class=\"form-wrapper\">\n <div class=\"field-email\">\n <ui-field\n formControlName=\"email\"\n [label]=\"i18n.email_label\"\n [type]=\"'email'\"\n [required]=\"true\"\n [error]=\"formErrors.email\"\n (ngModelChange)=\"checkErrors('email')\"\n ></ui-field>\n </div>\n <div class=\"field-password\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [error]=\"formErrors.password\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n </div>\n <div class=\"actions\">\n <div>\n <mat-checkbox formControlName=\"remember_me\">{{ i18n.remember_me }}</mat-checkbox>\n </div>\n <div class=\"forgot-password\" (click)=\"forgotPassword()\">{{ i18n.forgot_password }}</div>\n </div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button_label\"\n [disabled]=\"loginForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (onClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n <div class=\"create-account-wrapper\">\n <p>\n {{ i18n.not_have_account }}\n <span class=\"create-account\" (click)=\"createAccount()\">{{ i18n.create_account }}</span>\n </p>\n </div>\n </form>\n</div>\n", styles: [".ui-login-container{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(7,auto);max-width:672px;max-height:594px;height:100%;width:100%;padding:40px 24px;background:#ffffff}.ui-login-container ui-logo{grid-column:1/5;grid-row:1/2}.ui-login-container .title{grid-column:1/5;grid-row:2/3;font-weight:700;font-size:22px;line-height:29.7px;margin:40px 0 24px;letter-spacing:-.04em}.ui-login-container .form-wrapper{grid-column:1/5;grid-row:3/8;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(5,auto)}.ui-login-container .form-wrapper .field-email{grid-column:1/5;grid-row:1/2}.ui-login-container .form-wrapper .field-password{grid-column:1/5;grid-row:2/3}.ui-login-container .form-wrapper .actions{grid-column:1/5;grid-row:3/4;display:flex;height:-moz-fit-content;height:fit-content;max-height:20px;justify-content:space-between;margin-top:3px}.ui-login-container .form-wrapper .actions .forgot-password{cursor:pointer;font-weight:700;text-decoration:underline}.ui-login-container .form-wrapper .submit-button{margin-top:40px;grid-column:1/5;grid-row:4/5}.ui-login-container .form-wrapper .create-account-wrapper{margin-top:24px;grid-column:1/5;grid-row:5/6}.ui-login-container .form-wrapper .create-account-wrapper p{margin:0;line-height:19.07px}.ui-login-container .form-wrapper .create-account-wrapper .create-account{color:#46a997;cursor:pointer}.ui-login-container .form-wrapper .create-account-wrapper .create-account:hover{text-decoration:underline}@media (min-width: 1024px){.ui-login-container{box-shadow:0 8px 16px #0000001a;border-radius:8px;padding:80px}}\n"] }]
1072
- }], ctorParameters: function () { return [{ type: i1$3.FormBuilder }]; }, propDecorators: { loading: [{
2241
+ args: [{ selector: 'ui-login', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ui-login-container\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <form [formGroup]=\"loginForm\" class=\"form-wrapper\">\n <div class=\"field-email\">\n <ui-field\n formControlName=\"email\"\n [label]=\"i18n.email_label\"\n [type]=\"'email'\"\n [required]=\"true\"\n [errors]=\"[formErrors.email]\"\n (ngModelChange)=\"checkErrors('email')\"\n ></ui-field>\n </div>\n <div class=\"field-password\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [errors]=\"[formErrors.password]\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n </div>\n <div class=\"actions\">\n <div class=\"remember-me\">\n <ui-checkbox formControlName=\"remember_me\" [label]=\"i18n.remember_me\"></ui-checkbox>\n </div>\n <div class=\"forgot-password\" (click)=\"forgotPassword()\">{{ i18n.forgot_password }}</div>\n </div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button_label\"\n [disabled]=\"loginForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (buttonClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n <div class=\"create-account-wrapper\">\n <p>\n {{ i18n.not_have_account }}\n <span class=\"create-account\" (click)=\"createAccount()\">{{ i18n.create_account }}</span>\n </p>\n </div>\n </form>\n</div>\n", styles: [".ui-login-container{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(7,auto);max-width:672px;max-height:594px;height:100%;width:100%;padding:60px;background:#ffffff}.ui-login-container ui-logo{grid-column:1/5;grid-row:1/2;width:160px}.ui-login-container .title{grid-column:1/5;grid-row:2/3;font-weight:700;font-size:22px;line-height:29.7px;margin:24px 0;letter-spacing:-.04em}.ui-login-container .form-wrapper{grid-column:1/5;grid-row:3/8;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(5,auto)}.ui-login-container .form-wrapper .field-email{grid-column:1/5;grid-row:1/2}.ui-login-container .form-wrapper .field-password{grid-column:1/5;grid-row:2/3}.ui-login-container .form-wrapper .actions{grid-column:1/5;grid-row:3/4;display:flex;height:-moz-fit-content;height:fit-content;max-height:20px;justify-content:space-between;margin-top:3px;align-items:center}.ui-login-container .form-wrapper .actions .forgot-password{cursor:pointer;font-weight:700;text-decoration:underline}.ui-login-container .form-wrapper .actions .remember-me{margin-left:-10px}.ui-login-container .form-wrapper .submit-button{margin-top:40px;grid-column:1/5;grid-row:4/5}.ui-login-container .form-wrapper .create-account-wrapper{margin-top:24px;grid-column:1/5;grid-row:5/6}.ui-login-container .form-wrapper .create-account-wrapper p{margin:0;line-height:19.07px}.ui-login-container .form-wrapper .create-account-wrapper .create-account{color:#46a997;cursor:pointer}.ui-login-container .form-wrapper .create-account-wrapper .create-account:hover{text-decoration:underline}@media (min-width: 1024px){.ui-login-container{box-shadow:0 8px 16px #0000001a;border-radius:8px;padding:80px}}\n"] }]
2242
+ }], ctorParameters: function () { return [{ type: i1$3.UntypedFormBuilder }]; }, propDecorators: { loading: [{
1073
2243
  type: Input
1074
2244
  }], i18n: [{
1075
2245
  type: Input
@@ -1083,24 +2253,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1083
2253
 
1084
2254
  class LoginComponentModule {
1085
2255
  }
1086
- LoginComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LoginComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1087
- LoginComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LoginComponentModule, declarations: [LoginComponent], imports: [CommonModule,
2256
+ LoginComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoginComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2257
+ LoginComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: LoginComponentModule, declarations: [LoginComponent], imports: [CommonModule,
1088
2258
  FormsModule,
1089
2259
  ReactiveFormsModule,
1090
2260
  FieldComponentModule,
1091
2261
  ButtonComponentModule,
1092
- MatCheckboxModule,
2262
+ CheckboxComponentModule,
1093
2263
  LogoComponentModule], exports: [LoginComponent] });
1094
- LoginComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LoginComponentModule, providers: [], imports: [[
1095
- CommonModule,
1096
- FormsModule,
1097
- ReactiveFormsModule,
1098
- FieldComponentModule,
1099
- ButtonComponentModule,
1100
- MatCheckboxModule,
1101
- LogoComponentModule,
1102
- ]] });
1103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LoginComponentModule, decorators: [{
2264
+ LoginComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoginComponentModule, imports: [CommonModule,
2265
+ FormsModule,
2266
+ ReactiveFormsModule,
2267
+ FieldComponentModule,
2268
+ ButtonComponentModule,
2269
+ CheckboxComponentModule,
2270
+ LogoComponentModule] });
2271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoginComponentModule, decorators: [{
1104
2272
  type: NgModule,
1105
2273
  args: [{
1106
2274
  declarations: [LoginComponent],
@@ -1110,7 +2278,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1110
2278
  ReactiveFormsModule,
1111
2279
  FieldComponentModule,
1112
2280
  ButtonComponentModule,
1113
- MatCheckboxModule,
2281
+ CheckboxComponentModule,
1114
2282
  LogoComponentModule,
1115
2283
  ],
1116
2284
  exports: [LoginComponent],
@@ -1161,11 +2329,11 @@ class NavbarComponent {
1161
2329
  this.logoutEvent.emit();
1162
2330
  }
1163
2331
  }
1164
- NavbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1165
- NavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: NavbarComponent, selector: "ui-navbar", inputs: { routes: "routes", activedRoute: "activedRoute", userName: "userName" }, outputs: { navigateEvent: "navigateEvent", logoutEvent: "logoutEvent" }, ngImport: i0, template: "<mat-toolbar>\n <div class=\"custom-toolbar row\">\n <ui-logo class=\"logo\" (click)=\"navigate('')\"></ui-logo>\n <div class=\"navigation row\">\n <a *ngFor=\"let route of routes\" (click)=\"navigate(route.id)\" [ngClass]=\"{'active': activedRoute === route.id}\">\n <span>{{ route.title }}</span>\n </a>\n </div>\n <div class=\"actions\">\n <button mat-button class=\"profile-menu\" [matMenuTriggerFor]=\"menu\">\n {{ userName }}\n <mat-icon>expand_more</mat-icon>\n </button>\n </div>\n </div>\n</mat-toolbar>\n\n<mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"logout()\">\n <mat-icon>power_settings_new</mat-icon>\n Log out\n </button>\n</mat-menu>\n", styles: [".mat-toolbar{height:80px!important;background-color:#fff!important;padding:0 192px!important}.mat-toolbar .custom-toolbar{width:100%;height:100%;background-color:#fff}.mat-toolbar .custom-toolbar ui-logo.logo{cursor:pointer;width:105px;height:32px;align-self:center;flex:1 0 216px}.mat-toolbar .custom-toolbar .navigation{height:100%}.mat-toolbar .custom-toolbar .navigation a{display:flex;align-items:center;height:100%;background:#fff;cursor:pointer}.mat-toolbar .custom-toolbar .navigation a.active{border-top:2px solid #276678}.mat-toolbar .custom-toolbar .navigation a.active span{font-weight:700}.mat-toolbar .custom-toolbar .navigation a span{width:100%;text-align:center;font-weight:400;font-size:14px;line-height:16px}.mat-toolbar .custom-toolbar .navigation a:not(:first-of-type){margin-left:32px}.mat-toolbar .custom-toolbar .actions{width:100%;display:flex;align-items:center;justify-content:flex-end}.mat-toolbar .custom-toolbar .actions .profile-menu{font-weight:400;font-size:14px;height:100%;margin-right:-20px}.mat-toolbar .custom-toolbar .actions .profile-menu mat-icon{font-size:16px;position:relative;top:3px;left:3px}.row{display:flex;flex-direction:row}\n"], components: [{ type: i1$5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: LogoComponent, selector: "ui-logo" }, { type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i5$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NavbarComponent, decorators: [{
2332
+ NavbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2333
+ NavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NavbarComponent, selector: "ui-navbar", inputs: { routes: "routes", activedRoute: "activedRoute", userName: "userName" }, outputs: { navigateEvent: "navigateEvent", logoutEvent: "logoutEvent" }, ngImport: i0, template: "<mat-toolbar>\n <div class=\"custom-toolbar row\">\n <ui-logo class=\"logo\" (click)=\"navigate('')\"></ui-logo>\n <div class=\"navigation row\">\n <a *ngFor=\"let route of routes\" (click)=\"navigate(route.id)\" [ngClass]=\"{'active': activedRoute === route.id}\">\n <span>{{ route.title }}</span>\n </a>\n </div>\n <div class=\"actions\">\n <button mat-button class=\"profile-menu\" [matMenuTriggerFor]=\"menu\">\n {{ userName }}\n <mat-icon iconPositionEnd>expand_more</mat-icon>\n </button>\n </div>\n </div>\n</mat-toolbar>\n\n<mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"logout()\">\n <mat-icon>power_settings_new</mat-icon>\n Log out\n </button>\n</mat-menu>\n", styles: [".mat-toolbar{height:80px!important;background-color:#fff!important;padding:0 192px!important}.mat-toolbar .custom-toolbar{width:100%;height:100%;background-color:#fff}.mat-toolbar .custom-toolbar ui-logo.logo{cursor:pointer;width:105px;height:32px;align-self:center;flex:1 0 216px;display:flex}.mat-toolbar .custom-toolbar .navigation{height:100%}.mat-toolbar .custom-toolbar .navigation a{display:flex;align-items:center;height:100%;background:#fff;cursor:pointer}.mat-toolbar .custom-toolbar .navigation a.active{border-top:2px solid #276678}.mat-toolbar .custom-toolbar .navigation a.active span{font-weight:700}.mat-toolbar .custom-toolbar .navigation a span{width:100%;text-align:center;font-weight:400;font-size:14px;line-height:16px}.mat-toolbar .custom-toolbar .navigation a:not(:first-of-type){margin-left:32px}.mat-toolbar .custom-toolbar .actions{width:100%;display:flex;align-items:center;justify-content:flex-end}.mat-toolbar .custom-toolbar .actions .profile-menu{font-weight:600;font-size:14px;height:100%;margin-right:-20px}.mat-toolbar .custom-toolbar .actions .profile-menu mat-icon{font-size:16px;position:relative;top:3px;left:3px}.row{display:flex;flex-direction:row}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2$4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i5$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: LogoComponent, selector: "ui-logo", inputs: ["type"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2334
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NavbarComponent, decorators: [{
1167
2335
  type: Component,
1168
- args: [{ selector: 'ui-navbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-toolbar>\n <div class=\"custom-toolbar row\">\n <ui-logo class=\"logo\" (click)=\"navigate('')\"></ui-logo>\n <div class=\"navigation row\">\n <a *ngFor=\"let route of routes\" (click)=\"navigate(route.id)\" [ngClass]=\"{'active': activedRoute === route.id}\">\n <span>{{ route.title }}</span>\n </a>\n </div>\n <div class=\"actions\">\n <button mat-button class=\"profile-menu\" [matMenuTriggerFor]=\"menu\">\n {{ userName }}\n <mat-icon>expand_more</mat-icon>\n </button>\n </div>\n </div>\n</mat-toolbar>\n\n<mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"logout()\">\n <mat-icon>power_settings_new</mat-icon>\n Log out\n </button>\n</mat-menu>\n", styles: [".mat-toolbar{height:80px!important;background-color:#fff!important;padding:0 192px!important}.mat-toolbar .custom-toolbar{width:100%;height:100%;background-color:#fff}.mat-toolbar .custom-toolbar ui-logo.logo{cursor:pointer;width:105px;height:32px;align-self:center;flex:1 0 216px}.mat-toolbar .custom-toolbar .navigation{height:100%}.mat-toolbar .custom-toolbar .navigation a{display:flex;align-items:center;height:100%;background:#fff;cursor:pointer}.mat-toolbar .custom-toolbar .navigation a.active{border-top:2px solid #276678}.mat-toolbar .custom-toolbar .navigation a.active span{font-weight:700}.mat-toolbar .custom-toolbar .navigation a span{width:100%;text-align:center;font-weight:400;font-size:14px;line-height:16px}.mat-toolbar .custom-toolbar .navigation a:not(:first-of-type){margin-left:32px}.mat-toolbar .custom-toolbar .actions{width:100%;display:flex;align-items:center;justify-content:flex-end}.mat-toolbar .custom-toolbar .actions .profile-menu{font-weight:400;font-size:14px;height:100%;margin-right:-20px}.mat-toolbar .custom-toolbar .actions .profile-menu mat-icon{font-size:16px;position:relative;top:3px;left:3px}.row{display:flex;flex-direction:row}\n"] }]
2336
+ args: [{ selector: 'ui-navbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-toolbar>\n <div class=\"custom-toolbar row\">\n <ui-logo class=\"logo\" (click)=\"navigate('')\"></ui-logo>\n <div class=\"navigation row\">\n <a *ngFor=\"let route of routes\" (click)=\"navigate(route.id)\" [ngClass]=\"{'active': activedRoute === route.id}\">\n <span>{{ route.title }}</span>\n </a>\n </div>\n <div class=\"actions\">\n <button mat-button class=\"profile-menu\" [matMenuTriggerFor]=\"menu\">\n {{ userName }}\n <mat-icon iconPositionEnd>expand_more</mat-icon>\n </button>\n </div>\n </div>\n</mat-toolbar>\n\n<mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"logout()\">\n <mat-icon>power_settings_new</mat-icon>\n Log out\n </button>\n</mat-menu>\n", styles: [".mat-toolbar{height:80px!important;background-color:#fff!important;padding:0 192px!important}.mat-toolbar .custom-toolbar{width:100%;height:100%;background-color:#fff}.mat-toolbar .custom-toolbar ui-logo.logo{cursor:pointer;width:105px;height:32px;align-self:center;flex:1 0 216px;display:flex}.mat-toolbar .custom-toolbar .navigation{height:100%}.mat-toolbar .custom-toolbar .navigation a{display:flex;align-items:center;height:100%;background:#fff;cursor:pointer}.mat-toolbar .custom-toolbar .navigation a.active{border-top:2px solid #276678}.mat-toolbar .custom-toolbar .navigation a.active span{font-weight:700}.mat-toolbar .custom-toolbar .navigation a span{width:100%;text-align:center;font-weight:400;font-size:14px;line-height:16px}.mat-toolbar .custom-toolbar .navigation a:not(:first-of-type){margin-left:32px}.mat-toolbar .custom-toolbar .actions{width:100%;display:flex;align-items:center;justify-content:flex-end}.mat-toolbar .custom-toolbar .actions .profile-menu{font-weight:600;font-size:14px;height:100%;margin-right:-20px}.mat-toolbar .custom-toolbar .actions .profile-menu mat-icon{font-size:16px;position:relative;top:3px;left:3px}.row{display:flex;flex-direction:row}\n"] }]
1169
2337
  }], ctorParameters: function () { return []; }, propDecorators: { routes: [{
1170
2338
  type: Input
1171
2339
  }], activedRoute: [{
@@ -1180,24 +2348,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1180
2348
 
1181
2349
  class NavbarComponentModule {
1182
2350
  }
1183
- NavbarComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NavbarComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1184
- NavbarComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NavbarComponentModule, declarations: [NavbarComponent], imports: [CommonModule,
2351
+ NavbarComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NavbarComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2352
+ NavbarComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NavbarComponentModule, declarations: [NavbarComponent], imports: [CommonModule,
1185
2353
  MatToolbarModule,
1186
2354
  MatIconModule,
1187
2355
  MatButtonModule,
1188
2356
  MatRippleModule,
1189
2357
  MatMenuModule,
1190
2358
  LogoComponentModule], exports: [NavbarComponent] });
1191
- NavbarComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NavbarComponentModule, providers: [], imports: [[
1192
- CommonModule,
1193
- MatToolbarModule,
1194
- MatIconModule,
1195
- MatButtonModule,
1196
- MatRippleModule,
1197
- MatMenuModule,
1198
- LogoComponentModule,
1199
- ]] });
1200
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NavbarComponentModule, decorators: [{
2359
+ NavbarComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NavbarComponentModule, imports: [CommonModule,
2360
+ MatToolbarModule,
2361
+ MatIconModule,
2362
+ MatButtonModule,
2363
+ MatRippleModule,
2364
+ MatMenuModule,
2365
+ LogoComponentModule] });
2366
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NavbarComponentModule, decorators: [{
1201
2367
  type: NgModule,
1202
2368
  args: [{
1203
2369
  declarations: [NavbarComponent],
@@ -1226,9 +2392,9 @@ class NavigationComponent {
1226
2392
  this.goBackClickedEvent.emit();
1227
2393
  }
1228
2394
  }
1229
- NavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1230
- NavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: NavigationComponent, selector: "ui-navigation", inputs: { title: "title", subtitle: "subtitle", labelItem: "labelItem" }, outputs: { goBackClickedEvent: "goBackClickedEvent" }, ngImport: i0, template: "<div class=\"navigation\">\n <button aria-label=\"Go back\" mat-icon-button (click)=\"goBackClicked()\">\n <mat-icon aria-hidden=\"true\">arrow_back</mat-icon>\n </button>\n <div class=\"content\">\n <div class=\"title\">\n <span >{{ title }}</span>\n <div class=\"status\" *ngIf=\"labelItem\">\n <ui-label [backgroundColor]=\"labelItem.backgroundColor\" [textColor]=\"labelItem.textColor\"\n [title]=\"labelItem.title\" [size]=\"labelItem.size\">\n </ui-label>\n </div>\n </div>\n <div class=\"subtitle\">\n {{ subtitle }}\n </div>\n </div>\n</div>\n", styles: [".navigation{width:100%;display:flex;align-items:center}.navigation mat-icon{color:#000}.navigation .content{margin-left:32px;display:flex;flex-direction:column}.navigation .content .title{color:#000;font-weight:700;font-size:20px;display:flex;align-items:center;margin-bottom:8px}.navigation .content .title .status{margin-left:8px}.navigation .content .subtitle{color:#528593;font-weight:700;font-size:14px}\n"], components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: LabelComponent, selector: "ui-label", inputs: ["backgroundColor", "textColor", "title", "description", "size"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1231
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NavigationComponent, decorators: [{
2395
+ NavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2396
+ NavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NavigationComponent, selector: "ui-navigation", inputs: { title: "title", subtitle: "subtitle", labelItem: "labelItem" }, outputs: { goBackClickedEvent: "goBackClickedEvent" }, ngImport: i0, template: "<div class=\"navigation\">\n <button aria-label=\"Go back\" mat-icon-button (click)=\"goBackClicked()\">\n <mat-icon aria-hidden=\"true\">arrow_back</mat-icon>\n </button>\n <div class=\"content\">\n <div class=\"title\">\n <span >{{ title }}</span>\n <div class=\"status\" *ngIf=\"labelItem\">\n <ui-label [backgroundColor]=\"labelItem.backgroundColor\" [textColor]=\"labelItem.textColor\"\n [title]=\"labelItem.title\" [size]=\"labelItem.size\">\n </ui-label>\n </div>\n </div>\n <div class=\"subtitle\">\n {{ subtitle }}\n </div>\n </div>\n</div>\n", styles: [".navigation{width:100%;display:flex;align-items:center}.navigation mat-icon{color:#000}.navigation .content{margin-left:32px;display:flex;flex-direction:column}.navigation .content .title{color:#000;font-weight:700;font-size:20px;display:flex;align-items:center;margin-bottom:8px}.navigation .content .title .status{margin-left:8px}.navigation .content .subtitle{color:#528593;font-weight:700;font-size:14px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2$1.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: LabelComponent, selector: "ui-label", inputs: ["backgroundColor", "textColor", "title", "description", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2397
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NavigationComponent, decorators: [{
1232
2398
  type: Component,
1233
2399
  args: [{ selector: 'ui-navigation', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"navigation\">\n <button aria-label=\"Go back\" mat-icon-button (click)=\"goBackClicked()\">\n <mat-icon aria-hidden=\"true\">arrow_back</mat-icon>\n </button>\n <div class=\"content\">\n <div class=\"title\">\n <span >{{ title }}</span>\n <div class=\"status\" *ngIf=\"labelItem\">\n <ui-label [backgroundColor]=\"labelItem.backgroundColor\" [textColor]=\"labelItem.textColor\"\n [title]=\"labelItem.title\" [size]=\"labelItem.size\">\n </ui-label>\n </div>\n </div>\n <div class=\"subtitle\">\n {{ subtitle }}\n </div>\n </div>\n</div>\n", styles: [".navigation{width:100%;display:flex;align-items:center}.navigation mat-icon{color:#000}.navigation .content{margin-left:32px;display:flex;flex-direction:column}.navigation .content .title{color:#000;font-weight:700;font-size:20px;display:flex;align-items:center;margin-bottom:8px}.navigation .content .title .status{margin-left:8px}.navigation .content .subtitle{color:#528593;font-weight:700;font-size:14px}\n"] }]
1234
2400
  }], ctorParameters: function () { return []; }, propDecorators: { title: [{
@@ -1243,10 +2409,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1243
2409
 
1244
2410
  class NavigationComponentModule {
1245
2411
  }
1246
- NavigationComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NavigationComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1247
- NavigationComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NavigationComponentModule, declarations: [NavigationComponent], imports: [CommonModule, MatIconModule, MatButtonModule, LabelComponentModule], exports: [NavigationComponent] });
1248
- NavigationComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NavigationComponentModule, providers: [], imports: [[CommonModule, MatIconModule, MatButtonModule, LabelComponentModule]] });
1249
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: NavigationComponentModule, decorators: [{
2412
+ NavigationComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NavigationComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2413
+ NavigationComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NavigationComponentModule, declarations: [NavigationComponent], imports: [CommonModule, MatIconModule, MatButtonModule, LabelComponentModule], exports: [NavigationComponent] });
2414
+ NavigationComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NavigationComponentModule, imports: [CommonModule, MatIconModule, MatButtonModule, LabelComponentModule] });
2415
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NavigationComponentModule, decorators: [{
1250
2416
  type: NgModule,
1251
2417
  args: [{
1252
2418
  declarations: [NavigationComponent],
@@ -1257,6 +2423,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1257
2423
  }] });
1258
2424
 
1259
2425
  class PaginatorComponent {
2426
+ /**
2427
+ * @ignore
2428
+ */
2429
+ ngOnInit() { }
1260
2430
  constructor() {
1261
2431
  // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13
1262
2432
  // https://github.com/storybookjs/storybook/issues/16865
@@ -1287,19 +2457,15 @@ class PaginatorComponent {
1287
2457
  */
1288
2458
  this.paginatorChangedEvent = new EventEmitter();
1289
2459
  }
1290
- /**
1291
- * @ignore
1292
- */
1293
- ngOnInit() { }
1294
2460
  paginatorChanged(paginator) {
1295
2461
  this.paginatorChangedEvent.emit(paginator);
1296
2462
  }
1297
2463
  }
1298
- PaginatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1299
- PaginatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PaginatorComponent, selector: "ui-paginator", inputs: { length: "length", defaultPageSize: "defaultPageSize" }, outputs: { paginatorChangedEvent: "paginatorChangedEvent" }, ngImport: i0, template: "<mat-paginator [length]=\"length\"\n [pageSize]=\"defaultPageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"paginatorChanged($event)\">\n</mat-paginator>", styles: ["mat-paginator{border-radius:0 0 8px 8px}mat-paginator .mat-paginator-outer-container{border-radius:0 0 8px 8px;font-weight:400;font-size:14px;line-height:16px;color:#000}mat-paginator .mat-paginator-outer-container .mat-paginator-container{padding:0}mat-paginator .mat-paginator-outer-container .mat-paginator-container .mat-select-value-text{font-size:14px}mat-paginator .mat-paginator-outer-container .mat-paginator-container .mat-paginator-range-actions{height:100%}mat-paginator .mat-paginator-outer-container .mat-paginator-container .mat-paginator-range-actions button{height:100%;width:70px;border-radius:0}\n"], components: [{ type: i1$6.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1300
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PaginatorComponent, decorators: [{
2464
+ PaginatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2465
+ PaginatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PaginatorComponent, selector: "ui-paginator", inputs: { length: "length", defaultPageSize: "defaultPageSize" }, outputs: { paginatorChangedEvent: "paginatorChangedEvent" }, ngImport: i0, template: "<mat-paginator [length]=\"length\"\n [pageSize]=\"defaultPageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"paginatorChanged($event)\">\n</mat-paginator>", styles: [".mat-mdc-paginator{border-radius:0 0 8px 8px}.mat-mdc-paginator .mat-mdc-paginator-outer-container{border-radius:0 0 8px 8px;font-weight:400;font-size:14px;line-height:16px;color:#000}.mat-mdc-paginator .mat-mdc-paginator-outer-container .mat-mdc-paginator-container{padding:0}.mat-mdc-paginator .mat-mdc-paginator-outer-container .mat-mdc-paginator-container .mat-mdc-select-value-text{font-size:14px}.mat-mdc-paginator .mat-mdc-paginator-outer-container .mat-mdc-paginator-container .mat-mdc-paginator-range-actions{height:100%}.mat-mdc-paginator .mat-mdc-paginator-outer-container .mat-mdc-paginator-container .mat-mdc-paginator-range-actions button{height:100%;width:70px;border-radius:0}\n"], dependencies: [{ kind: "component", type: i1$6.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2466
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PaginatorComponent, decorators: [{
1301
2467
  type: Component,
1302
- args: [{ selector: 'ui-paginator', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-paginator [length]=\"length\"\n [pageSize]=\"defaultPageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"paginatorChanged($event)\">\n</mat-paginator>", styles: ["mat-paginator{border-radius:0 0 8px 8px}mat-paginator .mat-paginator-outer-container{border-radius:0 0 8px 8px;font-weight:400;font-size:14px;line-height:16px;color:#000}mat-paginator .mat-paginator-outer-container .mat-paginator-container{padding:0}mat-paginator .mat-paginator-outer-container .mat-paginator-container .mat-select-value-text{font-size:14px}mat-paginator .mat-paginator-outer-container .mat-paginator-container .mat-paginator-range-actions{height:100%}mat-paginator .mat-paginator-outer-container .mat-paginator-container .mat-paginator-range-actions button{height:100%;width:70px;border-radius:0}\n"] }]
2468
+ args: [{ selector: 'ui-paginator', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-paginator [length]=\"length\"\n [pageSize]=\"defaultPageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"paginatorChanged($event)\">\n</mat-paginator>", styles: [".mat-mdc-paginator{border-radius:0 0 8px 8px}.mat-mdc-paginator .mat-mdc-paginator-outer-container{border-radius:0 0 8px 8px;font-weight:400;font-size:14px;line-height:16px;color:#000}.mat-mdc-paginator .mat-mdc-paginator-outer-container .mat-mdc-paginator-container{padding:0}.mat-mdc-paginator .mat-mdc-paginator-outer-container .mat-mdc-paginator-container .mat-mdc-select-value-text{font-size:14px}.mat-mdc-paginator .mat-mdc-paginator-outer-container .mat-mdc-paginator-container .mat-mdc-paginator-range-actions{height:100%}.mat-mdc-paginator .mat-mdc-paginator-outer-container .mat-mdc-paginator-container .mat-mdc-paginator-range-actions button{height:100%;width:70px;border-radius:0}\n"] }]
1303
2469
  }], ctorParameters: function () { return []; }, propDecorators: { length: [{
1304
2470
  type: Input
1305
2471
  }], defaultPageSize: [{
@@ -1310,10 +2476,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1310
2476
 
1311
2477
  class PaginatorComponentModule {
1312
2478
  }
1313
- PaginatorComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PaginatorComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1314
- PaginatorComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PaginatorComponentModule, declarations: [PaginatorComponent], imports: [CommonModule, MatPaginatorModule], exports: [PaginatorComponent] });
1315
- PaginatorComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PaginatorComponentModule, providers: [], imports: [[CommonModule, MatPaginatorModule]] });
1316
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PaginatorComponentModule, decorators: [{
2479
+ PaginatorComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PaginatorComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2480
+ PaginatorComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: PaginatorComponentModule, declarations: [PaginatorComponent], imports: [CommonModule, MatPaginatorModule], exports: [PaginatorComponent] });
2481
+ PaginatorComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PaginatorComponentModule, imports: [CommonModule, MatPaginatorModule] });
2482
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PaginatorComponentModule, decorators: [{
1317
2483
  type: NgModule,
1318
2484
  args: [{
1319
2485
  declarations: [PaginatorComponent],
@@ -1323,35 +2489,281 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1323
2489
  }]
1324
2490
  }] });
1325
2491
 
1326
- class ProgressBarComponent {
1327
- constructor() { }
2492
+ /* eslint-disable no-underscore-dangle */
2493
+ class RadioButtonComponent {
2494
+ constructor() {
2495
+ /**
2496
+ * Determines whether the radio button is disabled.
2497
+ * Default: false.
2498
+ *
2499
+ * @type {boolean}
2500
+ * @memberof RadioButtonComponent
2501
+ */
2502
+ this.disabled = false;
2503
+ /**
2504
+ * Determines whether the radio button is checked.
2505
+ * Default: false.
2506
+ *
2507
+ * @type {boolean}
2508
+ * @memberof RadioButtonComponent
2509
+ */
2510
+ //@Input() selected = false;
2511
+ this._selected = false;
2512
+ /**
2513
+ * Determines whether the radio button can be unchecked.
2514
+ * Default: false.
2515
+ *
2516
+ * @type {boolean}
2517
+ * @memberof RadioButtonComponent
2518
+ */
2519
+ this.allowUnselect = false;
2520
+ /**
2521
+ * Determines the radio button color.
2522
+ * Default: Test Gorilla primary color.
2523
+ *
2524
+ * @type {string}
2525
+ * @memberof RadioButtonComponent
2526
+ */
2527
+ this.color = '#46A997';
2528
+ /**
2529
+ * Used to group radios for unique selection.
2530
+ *
2531
+ * @type {string}
2532
+ * @memberof RadioButtonComponent
2533
+ */
2534
+ this.name = '';
2535
+ /**
2536
+ * Text content will be applied to the input element if present.
2537
+ *
2538
+ * @type {string}
2539
+ * @memberof RadioButtonComponent
2540
+ */
2541
+ this.label = '';
2542
+ /**
2543
+ * Determines whether the radio button is a multiple choice cell.
2544
+ * Default: false
2545
+ *
2546
+ * @type {boolean}
2547
+ * @memberof RadioButtonComponent
2548
+ */
2549
+ this.multiple = false;
2550
+ /**
2551
+ * Event emitted when the checked state of the radio button changes.
2552
+ *
2553
+ * @type {boolean}
2554
+ * @memberof RadioButtonComponent
2555
+ */
2556
+ this.changeRadio = new EventEmitter();
2557
+ }
2558
+ get selected() {
2559
+ return this._selected;
2560
+ }
2561
+ set selected(selected) {
2562
+ this._selected = selected;
2563
+ }
2564
+ ngOnInit() {
2565
+ this.classMultiple = this.setClass();
2566
+ }
2567
+ ngOnChanges(changes) {
2568
+ if (changes['selected']) {
2569
+ this.classMultiple = this.setClass();
2570
+ }
2571
+ }
2572
+ //Click method
2573
+ clickRadio(element, event) {
2574
+ //event.preventDefault();
2575
+ if (this.allowUnselect) {
2576
+ element.checked = !element.checked;
2577
+ this._selected = element.checked;
2578
+ this.classMultiple = this.setClass();
2579
+ this.changeRadio.emit({ optionName: element.value, optionChecked: element.checked });
2580
+ }
2581
+ else {
2582
+ this._selected = true;
2583
+ this.changeRadio.emit({ optionName: element.value, optionChecked: true });
2584
+ }
2585
+ if (this.disabled) {
2586
+ this._selected = false;
2587
+ this.changeRadio.emit({ optionName: '', optionChecked: false });
2588
+ }
2589
+ }
2590
+ //Set class for multiple radio
2591
+ setClass() {
2592
+ if (this.multiple) {
2593
+ return this._selected ? 'multiple-checked' : 'multiple-unchecked';
2594
+ }
2595
+ return '';
2596
+ }
1328
2597
  }
1329
- ProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1330
- ProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ProgressBarComponent, selector: "ui-progress-bar", inputs: { color: "color", mode: "mode", value: "value", buffer: "buffer" }, ngImport: i0, template: "<mat-progress-bar\n class=\"progress-bar\"\n [color]=\"color ?? 'accent'\"\n [mode]=\"mode\"\n [value]=\"value\"\n [bufferValue]=\"buffer\"\n [ngClass]=\"{defaultColor: !color}\"\n aria-label=\"Progress bar\"\n title=\"progress-bar\"\n></mat-progress-bar>\n", styles: ["mat-progress-bar{height:8px;border-radius:33px}mat-progress-bar.defaultColor ::ng-deep .mat-progress-bar-fill:after{background-color:#888!important}\n"], components: [{ type: i1$7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }], directives: [{ type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1331
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ProgressBarComponent, decorators: [{
2598
+ RadioButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RadioButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2599
+ RadioButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: RadioButtonComponent, selector: "ui-radio-button", inputs: { disabled: "disabled", selected: "selected", allowUnselect: "allowUnselect", color: "color", name: "name", label: "label", multiple: "multiple", value: "value" }, outputs: { changeRadio: "changeRadio" }, host: { properties: { "style.--color": "this.color" } }, usesOnChanges: true, ngImport: i0, template: "<div [ngClass]=\"classMultiple\">\n <mat-radio-button\n #radio\n [checked]=\"selected\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [aria-label]=\"label\"\n [value]=\"value\"\n class=\"radio-button\"\n (click)=\"clickRadio(radio, $event)\"\n >\n {{ label }}\n </mat-radio-button>\n</div>", styles: ["::ng-deep .mat-mdc-radio-checked .mdc-radio__outer-circle{border-color:var(--color)!important}::ng-deep .mat-mdc-radio-checked .mdc-radio__inner-circle{background-color:var(--color)!important;border-color:var(--color)!important}::ng-deep .mat-mdc-radio-button .mat-ripple-element{background-color:var(--color)!important}::ng-deep .mat-mdc-radio-button.mat-radio-disabled.mat-radio-checked .mdc-radio__outer-circle,.mat-radio-button.mat-radio-disabled .mdc-radio__outer-circle{border-color:#888!important}::ng-deep .mat-mdc-radio-button.mat-radio-disabled .mdc-radio__inner-circle{background-color:#888!important}.multiple-checked{border:1px solid #46A997;display:flex;flex-direction:row;align-items:center;gap:16px;background:#46A997;border-radius:8px}.multiple-checked ::ng-deep .mat-mdc-radio-button{width:100%;height:100%}.multiple-checked ::ng-deep .mat-mdc-radio-checked .mdc-radio__outer-circle{border:1px solid #ffffff;border-radius:64px;background:#ffffff}.multiple-checked ::ng-deep label{color:#fff;padding:16px 0;height:100%;width:100%}.multiple-unchecked{border:1px solid #E0E0E0;display:flex;flex-direction:row;align-items:center;gap:16px;background:#ffffff;border-radius:8px}.multiple-unchecked ::ng-deep .mat-mdc-radio-button{width:100%;height:100%}.multiple-unchecked:hover{background:#F6F6F6;border:1px solid #E0E0E0}.multiple-unchecked ::ng-deep label{padding:16px 0;height:100%;width:100%}.multiple-unchecked ::ng-deep .mat-mdc-radio-button .mdc-radio .mdc-radio__background:before{opacity:0!important}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2$5.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2600
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RadioButtonComponent, decorators: [{
1332
2601
  type: Component,
1333
- args: [{ selector: 'ui-progress-bar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-progress-bar\n class=\"progress-bar\"\n [color]=\"color ?? 'accent'\"\n [mode]=\"mode\"\n [value]=\"value\"\n [bufferValue]=\"buffer\"\n [ngClass]=\"{defaultColor: !color}\"\n aria-label=\"Progress bar\"\n title=\"progress-bar\"\n></mat-progress-bar>\n", styles: ["mat-progress-bar{height:8px;border-radius:33px}mat-progress-bar.defaultColor ::ng-deep .mat-progress-bar-fill:after{background-color:#888!important}\n"] }]
1334
- }], ctorParameters: function () { return []; }, propDecorators: { color: [{
2602
+ args: [{ selector: 'ui-radio-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"classMultiple\">\n <mat-radio-button\n #radio\n [checked]=\"selected\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [aria-label]=\"label\"\n [value]=\"value\"\n class=\"radio-button\"\n (click)=\"clickRadio(radio, $event)\"\n >\n {{ label }}\n </mat-radio-button>\n</div>", styles: ["::ng-deep .mat-mdc-radio-checked .mdc-radio__outer-circle{border-color:var(--color)!important}::ng-deep .mat-mdc-radio-checked .mdc-radio__inner-circle{background-color:var(--color)!important;border-color:var(--color)!important}::ng-deep .mat-mdc-radio-button .mat-ripple-element{background-color:var(--color)!important}::ng-deep .mat-mdc-radio-button.mat-radio-disabled.mat-radio-checked .mdc-radio__outer-circle,.mat-radio-button.mat-radio-disabled .mdc-radio__outer-circle{border-color:#888!important}::ng-deep .mat-mdc-radio-button.mat-radio-disabled .mdc-radio__inner-circle{background-color:#888!important}.multiple-checked{border:1px solid #46A997;display:flex;flex-direction:row;align-items:center;gap:16px;background:#46A997;border-radius:8px}.multiple-checked ::ng-deep .mat-mdc-radio-button{width:100%;height:100%}.multiple-checked ::ng-deep .mat-mdc-radio-checked .mdc-radio__outer-circle{border:1px solid #ffffff;border-radius:64px;background:#ffffff}.multiple-checked ::ng-deep label{color:#fff;padding:16px 0;height:100%;width:100%}.multiple-unchecked{border:1px solid #E0E0E0;display:flex;flex-direction:row;align-items:center;gap:16px;background:#ffffff;border-radius:8px}.multiple-unchecked ::ng-deep .mat-mdc-radio-button{width:100%;height:100%}.multiple-unchecked:hover{background:#F6F6F6;border:1px solid #E0E0E0}.multiple-unchecked ::ng-deep label{padding:16px 0;height:100%;width:100%}.multiple-unchecked ::ng-deep .mat-mdc-radio-button .mdc-radio .mdc-radio__background:before{opacity:0!important}\n"] }]
2603
+ }], propDecorators: { disabled: [{
1335
2604
  type: Input
1336
- }], mode: [{
2605
+ }], selected: [{
2606
+ type: Input
2607
+ }], allowUnselect: [{
2608
+ type: Input
2609
+ }], color: [{
2610
+ type: HostBinding,
2611
+ args: ['style.--color']
2612
+ }, {
2613
+ type: Input
2614
+ }], name: [{
2615
+ type: Input
2616
+ }], label: [{
2617
+ type: Input
2618
+ }], multiple: [{
1337
2619
  type: Input
1338
2620
  }], value: [{
1339
2621
  type: Input
1340
- }], buffer: [{
2622
+ }], changeRadio: [{
2623
+ type: Output
2624
+ }] } });
2625
+
2626
+ class RadioButtonComponentModule {
2627
+ }
2628
+ RadioButtonComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RadioButtonComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2629
+ RadioButtonComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: RadioButtonComponentModule, declarations: [RadioButtonComponent], imports: [CommonModule, MatRadioModule, FormsModule, ReactiveFormsModule], exports: [RadioButtonComponent] });
2630
+ RadioButtonComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RadioButtonComponentModule, imports: [CommonModule, MatRadioModule, FormsModule, ReactiveFormsModule] });
2631
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RadioButtonComponentModule, decorators: [{
2632
+ type: NgModule,
2633
+ args: [{
2634
+ declarations: [RadioButtonComponent],
2635
+ imports: [CommonModule, MatRadioModule, FormsModule, ReactiveFormsModule],
2636
+ exports: [RadioButtonComponent],
2637
+ }]
2638
+ }] });
2639
+
2640
+ class SnackbarComponent {
2641
+ constructor() {
2642
+ /**
2643
+ * Background color of the button while in active state
2644
+ *
2645
+ * @type {SnackbarType}
2646
+ * @memberof SnackbarComponent
2647
+ */
2648
+ this.snackbarType = 'success';
2649
+ /**
2650
+ * Snackbar message
2651
+ *
2652
+ * @memberof SnackbarComponent
2653
+ */
2654
+ this.message = '';
2655
+ /**
2656
+ * Set the time that the snackbar will be visible
2657
+ *
2658
+ * @memberof SnackbarComponent
2659
+ */
2660
+ this.seconds = 5;
2661
+ /**
2662
+ * Include dismmiss button
2663
+ *
2664
+ * @memberof SnackbarComponent
2665
+ */
2666
+ this.includeDismissButton = true;
2667
+ /**
2668
+ * Static or fixed position
2669
+ *
2670
+ * @memberof SnackbarComponent
2671
+ */
2672
+ this.fixed = true;
2673
+ this.showSnackbar = true;
2674
+ this.visible = false;
2675
+ this.timerStartedAt = 0;
2676
+ this.timerPausedAt = 0;
2677
+ }
2678
+ ngOnInit() {
2679
+ this.milisenconds = this.seconds * 1000;
2680
+ this.iconName = alertBarsUtil.setIcon(this.snackbarType);
2681
+ this.show();
2682
+ this.position = alertBarsUtil.setPosition(this.fixed);
2683
+ }
2684
+ //Show snackbar
2685
+ show() {
2686
+ this.timerStartedAt = Date.now();
2687
+ this.visible = true;
2688
+ this.timer = setTimeout(() => this.hide(), this.milisenconds);
2689
+ }
2690
+ //Hide snackbar
2691
+ hide() {
2692
+ this.visible = false;
2693
+ this.timerPausedAt = 0;
2694
+ this.timerStartedAt = 0;
2695
+ clearTimeout(this.timer);
2696
+ this.timer = undefined;
2697
+ }
2698
+ //Pause timer when mouse enter
2699
+ onMouseEnter() {
2700
+ this.visible = true;
2701
+ this.timerPausedAt = Date.now();
2702
+ clearTimeout(this.timer);
2703
+ }
2704
+ //Continue timer when mouse leave
2705
+ onMouseLeave() {
2706
+ const diff = this.timerPausedAt - this.timerStartedAt;
2707
+ if (diff <= 0) {
2708
+ return this.hide();
2709
+ }
2710
+ this.timer = setTimeout(() => this.hide(), this.milisenconds - diff);
2711
+ }
2712
+ //Hide snackbar when dismiss button is clicked
2713
+ dismissClick() {
2714
+ this.visible = false;
2715
+ }
2716
+ }
2717
+ SnackbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SnackbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2718
+ SnackbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SnackbarComponent, selector: "ui-snackbar", inputs: { snackbarType: "snackbarType", message: "message", seconds: "seconds", includeDismissButton: "includeDismissButton", fixed: "fixed" }, ngImport: i0, template: "<div [ngClass]=\"snackbarType + ' ' + position\" [@openClose] *ngIf=\"visible\" class=\"snackbar-container\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\n <div class=\"snackbar-text\">\n <ui-icon [name]=\"iconName\" size=\"24\"></ui-icon>\n {{ message }}\n </div>\n <ui-button *ngIf=\"includeDismissButton\" type=\"text\" label=\"Dismiss\" (buttonClickEvent)=\"dismissClick()\"></ui-button>\n</div>", styles: [":host{display:flex;width:100%;justify-content:center}:host .snackbar-container{max-width:600px}:host .alert-container,:host .snackbar-container{margin:0 auto;display:flex;padding:0 14px;border-radius:4px;align-items:center;justify-content:space-between;opacity:1;min-height:48px}:host .alert-container.fixed,:host .snackbar-container.fixed{position:fixed}:host .alert-container.static,:host .snackbar-container.static{position:relative}:host .alert-container ui-icon,:host .snackbar-container ui-icon{margin-right:14px}:host .alert-container ui-button,:host .snackbar-container ui-button{margin-left:14px}:host .alert-container ::ng-deep button.mat-mdc-unelevated-button.big,:host .snackbar-container ::ng-deep button.mat-mdc-unelevated-button.big{padding:0;min-width:auto}:host .alert-container .alert-text,:host .alert-container .snackbar-text,:host .snackbar-container .alert-text,:host .snackbar-container .snackbar-text{display:flex;align-items:center}:host .alert-container .alert-text a,:host .alert-container .snackbar-text a,:host .snackbar-container .alert-text a,:host .snackbar-container .snackbar-text a{color:#000;text-decoration:underline;font-weight:700}:host .alert-container .alert-text a:hover,:host .alert-container .alert-text a:visited,:host .alert-container .alert-text a:focus,:host .alert-container .snackbar-text a:hover,:host .alert-container .snackbar-text a:visited,:host .alert-container .snackbar-text a:focus,:host .snackbar-container .alert-text a:hover,:host .snackbar-container .alert-text a:visited,:host .snackbar-container .alert-text a:focus,:host .snackbar-container .snackbar-text a:hover,:host .snackbar-container .snackbar-text a:visited,:host .snackbar-container .snackbar-text a:focus{text-decoration:none}:host .alert-container.success,:host .snackbar-container.success{background-color:#cbd6cb}:host .alert-container.info,:host .snackbar-container.info{background-color:#c8d7de}:host .alert-container.warning,:host .snackbar-container.warning{background-color:#f0d6bb}:host .alert-container.error,:host .snackbar-container.error{background-color:#e3c3c6}@media (max-width: 600px){:host .alert-container,:host .snackbar-container{padding:8px 14px}}:host .snackbar-container{bottom:10px;z-index:98}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "ui-button", inputs: ["size", "type", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color"] }], animations: [
2719
+ trigger('openClose', [
2720
+ transition(':enter', [
2721
+ style({ bottom: '-55px', opacity: 0 }),
2722
+ animate('0.2s ease-out', style({ opacity: 1, bottom: '10px' })),
2723
+ ]),
2724
+ transition(':leave', [
2725
+ style({ bottom: '10px', opacity: 1 }),
2726
+ animate('0.2s ease-in', style({ bottom: '-55px', opacity: 0 })),
2727
+ ]),
2728
+ ]),
2729
+ ] });
2730
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SnackbarComponent, decorators: [{
2731
+ type: Component,
2732
+ args: [{ selector: 'ui-snackbar', animations: [
2733
+ trigger('openClose', [
2734
+ transition(':enter', [
2735
+ style({ bottom: '-55px', opacity: 0 }),
2736
+ animate('0.2s ease-out', style({ opacity: 1, bottom: '10px' })),
2737
+ ]),
2738
+ transition(':leave', [
2739
+ style({ bottom: '10px', opacity: 1 }),
2740
+ animate('0.2s ease-in', style({ bottom: '-55px', opacity: 0 })),
2741
+ ]),
2742
+ ]),
2743
+ ], template: "<div [ngClass]=\"snackbarType + ' ' + position\" [@openClose] *ngIf=\"visible\" class=\"snackbar-container\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\n <div class=\"snackbar-text\">\n <ui-icon [name]=\"iconName\" size=\"24\"></ui-icon>\n {{ message }}\n </div>\n <ui-button *ngIf=\"includeDismissButton\" type=\"text\" label=\"Dismiss\" (buttonClickEvent)=\"dismissClick()\"></ui-button>\n</div>", styles: [":host{display:flex;width:100%;justify-content:center}:host .snackbar-container{max-width:600px}:host .alert-container,:host .snackbar-container{margin:0 auto;display:flex;padding:0 14px;border-radius:4px;align-items:center;justify-content:space-between;opacity:1;min-height:48px}:host .alert-container.fixed,:host .snackbar-container.fixed{position:fixed}:host .alert-container.static,:host .snackbar-container.static{position:relative}:host .alert-container ui-icon,:host .snackbar-container ui-icon{margin-right:14px}:host .alert-container ui-button,:host .snackbar-container ui-button{margin-left:14px}:host .alert-container ::ng-deep button.mat-mdc-unelevated-button.big,:host .snackbar-container ::ng-deep button.mat-mdc-unelevated-button.big{padding:0;min-width:auto}:host .alert-container .alert-text,:host .alert-container .snackbar-text,:host .snackbar-container .alert-text,:host .snackbar-container .snackbar-text{display:flex;align-items:center}:host .alert-container .alert-text a,:host .alert-container .snackbar-text a,:host .snackbar-container .alert-text a,:host .snackbar-container .snackbar-text a{color:#000;text-decoration:underline;font-weight:700}:host .alert-container .alert-text a:hover,:host .alert-container .alert-text a:visited,:host .alert-container .alert-text a:focus,:host .alert-container .snackbar-text a:hover,:host .alert-container .snackbar-text a:visited,:host .alert-container .snackbar-text a:focus,:host .snackbar-container .alert-text a:hover,:host .snackbar-container .alert-text a:visited,:host .snackbar-container .alert-text a:focus,:host .snackbar-container .snackbar-text a:hover,:host .snackbar-container .snackbar-text a:visited,:host .snackbar-container .snackbar-text a:focus{text-decoration:none}:host .alert-container.success,:host .snackbar-container.success{background-color:#cbd6cb}:host .alert-container.info,:host .snackbar-container.info{background-color:#c8d7de}:host .alert-container.warning,:host .snackbar-container.warning{background-color:#f0d6bb}:host .alert-container.error,:host .snackbar-container.error{background-color:#e3c3c6}@media (max-width: 600px){:host .alert-container,:host .snackbar-container{padding:8px 14px}}:host .snackbar-container{bottom:10px;z-index:98}\n"] }]
2744
+ }], ctorParameters: function () { return []; }, propDecorators: { snackbarType: [{
2745
+ type: Input
2746
+ }], message: [{
2747
+ type: Input
2748
+ }], seconds: [{
2749
+ type: Input
2750
+ }], includeDismissButton: [{
2751
+ type: Input
2752
+ }], fixed: [{
1341
2753
  type: Input
1342
2754
  }] } });
1343
2755
 
1344
- class ProgressBarComponentModule {
2756
+ class SnackbarComponentModule {
1345
2757
  }
1346
- ProgressBarComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ProgressBarComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1347
- ProgressBarComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ProgressBarComponentModule, declarations: [ProgressBarComponent], imports: [CommonModule, MatProgressBarModule], exports: [ProgressBarComponent] });
1348
- ProgressBarComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ProgressBarComponentModule, providers: [], imports: [[CommonModule, MatProgressBarModule]] });
1349
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ProgressBarComponentModule, decorators: [{
2758
+ SnackbarComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SnackbarComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2759
+ SnackbarComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SnackbarComponentModule, declarations: [SnackbarComponent], imports: [CommonModule, ButtonComponentModule, IconComponentModule], exports: [SnackbarComponent] });
2760
+ SnackbarComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SnackbarComponentModule, imports: [CommonModule, ButtonComponentModule, IconComponentModule] });
2761
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SnackbarComponentModule, decorators: [{
1350
2762
  type: NgModule,
1351
2763
  args: [{
1352
- declarations: [ProgressBarComponent],
1353
- imports: [CommonModule, MatProgressBarModule],
1354
- exports: [ProgressBarComponent],
2764
+ declarations: [SnackbarComponent],
2765
+ imports: [CommonModule, ButtonComponentModule, IconComponentModule],
2766
+ exports: [SnackbarComponent],
1355
2767
  providers: [],
1356
2768
  }]
1357
2769
  }] });
@@ -1377,9 +2789,9 @@ class DataPropertyGetterPipe {
1377
2789
  return obj;
1378
2790
  }
1379
2791
  }
1380
- DataPropertyGetterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DataPropertyGetterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1381
- DataPropertyGetterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DataPropertyGetterPipe, name: "dataPropertyGetter" });
1382
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DataPropertyGetterPipe, decorators: [{
2792
+ DataPropertyGetterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DataPropertyGetterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
2793
+ DataPropertyGetterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: DataPropertyGetterPipe, name: "dataPropertyGetter" });
2794
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DataPropertyGetterPipe, decorators: [{
1383
2795
  type: Pipe,
1384
2796
  args: [{
1385
2797
  name: 'dataPropertyGetter',
@@ -1400,10 +2812,6 @@ var ColumnAlignmentEnum;
1400
2812
  })(ColumnAlignmentEnum || (ColumnAlignmentEnum = {}));
1401
2813
 
1402
2814
  class DynamicComponentDirective {
1403
- constructor(vcr) {
1404
- this.vcr = vcr;
1405
- this.subscription = new Subscription();
1406
- }
1407
2815
  set dynamicComponent(componentRenderer) {
1408
2816
  if (componentRenderer.component) {
1409
2817
  this.compRef = this.vcr.createComponent(componentRenderer.component);
@@ -1417,6 +2825,10 @@ class DynamicComponentDirective {
1417
2825
  }
1418
2826
  }
1419
2827
  }
2828
+ constructor(vcr) {
2829
+ this.vcr = vcr;
2830
+ this.subscription = new Subscription();
2831
+ }
1420
2832
  ngOnDestroy() {
1421
2833
  if (this.compRef) {
1422
2834
  this.compRef.destroy();
@@ -1424,9 +2836,9 @@ class DynamicComponentDirective {
1424
2836
  this.subscription.unsubscribe();
1425
2837
  }
1426
2838
  }
1427
- DynamicComponentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DynamicComponentDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
1428
- DynamicComponentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: DynamicComponentDirective, selector: "[dynamicComponent]", inputs: { dynamicComponent: "dynamicComponent" }, ngImport: i0 });
1429
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DynamicComponentDirective, decorators: [{
2839
+ DynamicComponentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicComponentDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
2840
+ DynamicComponentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: DynamicComponentDirective, selector: "[dynamicComponent]", inputs: { dynamicComponent: "dynamicComponent" }, ngImport: i0 });
2841
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicComponentDirective, decorators: [{
1430
2842
  type: Directive,
1431
2843
  args: [{
1432
2844
  selector: '[dynamicComponent]',
@@ -1436,6 +2848,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1436
2848
  }] } });
1437
2849
 
1438
2850
  class TableComponent {
2851
+ /**
2852
+ * @ignore
2853
+ */
2854
+ set matSort(matSort) {
2855
+ this.dataSource.sort = matSort;
2856
+ this.dataSource.sortingDataAccessor = (item, property) => this.dataPropertyGetterPipe.transform(item, property);
2857
+ }
2858
+ /**
2859
+ * Data to be rendered
2860
+ *
2861
+ * @ignore
2862
+ * @type {IDataSource}
2863
+ * @memberof TableComponent
2864
+ */
2865
+ set tableData(data) {
2866
+ if (data?.length) {
2867
+ this.setTableDataSource(data);
2868
+ }
2869
+ }
2870
+ ngOnInit() {
2871
+ this.columnsToDisplay = this.tableColumns.map((tableColumn) => tableColumn.headerName);
2872
+ if (this.tableDetailColumns) {
2873
+ this.columnsDetailToDisplay = this.tableDetailColumns.columnDefs.map((tableColumn) => tableColumn.headerName);
2874
+ }
2875
+ }
1439
2876
  constructor(dataPropertyGetterPipe) {
1440
2877
  this.dataPropertyGetterPipe = dataPropertyGetterPipe;
1441
2878
  /**
@@ -1482,31 +2919,6 @@ class TableComponent {
1482
2919
  */
1483
2920
  this.DataType = ColumnTypeEnum;
1484
2921
  }
1485
- /**
1486
- * @ignore
1487
- */
1488
- set matSort(matSort) {
1489
- this.dataSource.sort = matSort;
1490
- this.dataSource.sortingDataAccessor = (item, property) => this.dataPropertyGetterPipe.transform(item, property);
1491
- }
1492
- /**
1493
- * Data to be rendered
1494
- *
1495
- * @ignore
1496
- * @type {IDataSource}
1497
- * @memberof TableComponent
1498
- */
1499
- set tableData(data) {
1500
- if (data?.length) {
1501
- this.setTableDataSource(data);
1502
- }
1503
- }
1504
- ngOnInit() {
1505
- this.columnsToDisplay = this.tableColumns.map((tableColumn) => tableColumn.headerName);
1506
- if (this.tableDetailColumns) {
1507
- this.columnsDetailToDisplay = this.tableDetailColumns.columnDefs.map((tableColumn) => tableColumn.headerName);
1508
- }
1509
- }
1510
2922
  onSort(sortParams) {
1511
2923
  const columnSort = this.tableColumns.find((column) => column.headerName === sortParams.active);
1512
2924
  if (columnSort?.field) {
@@ -1542,8 +2954,8 @@ class TableComponent {
1542
2954
  this.dataSourceDetail = new MatTableDataSource(rowData);
1543
2955
  }
1544
2956
  }
1545
- TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TableComponent, deps: [{ token: DataPropertyGetterPipe }], target: i0.ɵɵFactoryTarget.Component });
1546
- TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TableComponent, selector: "ui-table", inputs: { tableDetails: "tableDetails", tableData: "tableData", tableColumns: "tableColumns", tableDetailColumns: "tableDetailColumns" }, outputs: { onSortEvent: "onSortEvent", onRowClickEvent: "onRowClickEvent", onDetailRowClickEvent: "onDetailRowClickEvent" }, viewQueries: [{ propertyName: "matSort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<table *ngIf=\"!tableDetails\" mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"onSort($event)\">\n <ng-container *ngFor=\"let tableColumn of tableColumns; let i = index\" [matColumnDef]=\"tableColumn.headerName\">\n <ng-container *ngIf=\"tableColumn.sortable; else notSortable\">\n <th mat-header-cell *matHeaderCellDef=\"let element\" [mat-sort-header]=\"tableColumn.field || ''\"\n arrowPosition=\"after\" [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-container>\n <ng-template #notSortable>\n <th mat-header-cell *matHeaderCellDef [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-template>\n <td mat-cell *matCellDef=\"let element\" (click)=\"onRowClick(element)\"\n [align]=\"tableColumn.styles?.alignment\"\n [ngClass]=\"[tableColumn.styles?.alignment ? 'td-'+tableColumn.styles?.alignment : '', onRowClickEvent.observed && i === tableColumns.length - 1 ? 'row-detail': '']\">\n <ng-container *ngTemplateOutlet=\"tableDataTpl; context: {element, tableColumn}\"></ng-container>\n <mat-icon *ngIf=\"onRowClickEvent.observed && i === tableColumns.length - 1\" class=\"row-detail-icon\">navigate_next</mat-icon>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnsToDisplay;\" [ngClass]=\"{'row-clickable': onRowClickEvent.observed}\"></tr>\n</table>\n\n<table *ngIf=\"tableDetails\" mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"onSort($event)\"\n multiTemplateDataRows>\n <ng-container *ngFor=\"let tableColumn of tableColumns; let i = index\" [matColumnDef]=\"tableColumn.headerName\">\n <ng-container *ngIf=\"tableColumn.sortable; else notSortable\">\n <th mat-header-cell *matHeaderCellDef=\"let element\" [mat-sort-header]=\"tableColumn.field || ''\"\n arrowPosition=\"after\" [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-container>\n <ng-template #notSortable>\n <th mat-header-cell *matHeaderCellDef [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-template>\n <td mat-cell *matCellDef=\"let element\" (click)=\"onRowClick(element)\"\n [align]=\"tableColumn.styles?.alignment\"\n [ngClass]=\"[tableColumn.styles?.alignment ? 'td-'+tableColumn.styles?.alignment : '', i === 0 ? 'row-expand' : '']\">\n <mat-icon *ngIf=\"i === 0\" class=\"row-expand-icon\">{{ element === elementDetail ? 'expand_less' : 'expand_more' }}</mat-icon>\n <ng-container *ngTemplateOutlet=\"tableDataTpl; context: {element, tableColumn}\"></ng-container>\n </td>\n </ng-container>\n\n <!-- Expanded Content Column -->\n <ng-container matColumnDef=\"expandedDetail\">\n <td mat-cell *matCellDef=\"let element\" [attr.colspan]=\"columnsToDisplay.length\">\n <div class=\"element-detail\" *ngIf=\"dataSourceDetail.data.length\"\n [@expandDetail]=\"element === elementDetail ? 'expanded' : 'collapsed'\">\n <table mat-table [dataSource]=\"dataSourceDetail\">\n <ng-container *ngFor=\"let tableColumn of tableDetailColumns.columnDefs\"\n [matColumnDef]=\"tableColumn.headerName\">\n <th mat-header-cell *matHeaderCellDef=\"let element\" arrowPosition=\"after\"\n [ngStyle]=\"{width: tableColumn.styles?.width}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n {{tableColumn.headerName | uppercase}}\n </th>\n <td mat-cell *matCellDef=\"let element\" (click)=\"onDetailRowClick(element)\"\n [align]=\"tableColumn.styles?.alignment\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'td-'+tableColumn.styles?.alignment : ''\"\n [ngStyle]=\"{padding: tableColumn.styles?.padding}\">\n <ng-container *ngTemplateOutlet=\"tableDataTpl; context: {element, tableColumn}\"></ng-container>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnsDetailToDisplay\"></tr>\n <tr mat-row *matRowDef=\"let rowDetail; columns: columnsDetailToDisplay;\"></tr>\n </table>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\n <tr mat-row *matRowDef=\"let element; columns: columnsToDisplay;\" class=\"element-row\"\n [ngClass]=\"{'expanded-row': elementDetail === element, 'row-clickable': tableDetails}\"\n (click)=\"toggleRow(element)\">\n </tr>\n <tr mat-row *matRowDef=\"let row; columns: ['expandedDetail']\" class=\"detail-row\"></tr>\n</table>\n\n<ng-template #tableDataTpl let-element=\"element\" let-tableColumn=\"tableColumn\">\n <div class=\"align-wrapper\">\n <ng-container [ngSwitch]=\"tableColumn.type\">\n <ng-container *ngSwitchCase=\"DataType.FIELD\">\n {{element | dataPropertyGetter: tableColumn.field}}\n </ng-container>\n <ng-container *ngSwitchCase=\"DataType.FUNCTION\">\n {{tableColumn.function?.(element)}}\n </ng-container>\n <ng-container *ngSwitchCase=\"DataType.RENDERER\">\n <ng-template\n [dynamicComponent]=\"tableColumn.renderer?.(element)\">\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{element | dataPropertyGetter: tableColumn.field}}\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #tableHeader let-tableColumn=\"tableColumn\">\n <div class=\"tooltip\" [ngStyle]=\"{'justify-content': tableColumn.styles?.alignment}\" [ngClass]=\"tableColumn.styles?.alignment\">\n <span>{{tableColumn.headerName | uppercase}}</span>\n <mat-icon *ngIf=\"tableColumn.headerTooltip\" [matTooltip]=\"tableColumn.headerTooltip\" class=\"tooltip-icon\" (click)=\"$event.stopPropagation()\">help</mat-icon>\n </div>\n</ng-template>\n", styles: ["table{cursor:initial;width:100%;overflow:hidden;border-radius:8px 8px 0 0;-webkit-user-select:none;user-select:none}table .mat-header-cell{font-weight:700;color:#000;padding:16px}table .mat-header-cell .tooltip{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center}table .mat-header-cell .tooltip mat-icon{color:#1f5260;font-size:18px;position:relative;top:3px;left:4px;cursor:pointer}table .mat-cell{padding:16px;text-align:justify}table td,table th,table .mat-row{border-width:.5px}table .mat-row:hover:not(.element-detail .mat-row).row-clickable{background-color:#ecf6f5;cursor:pointer}table ::ng-deep .mat-sort-header-arrow{color:#276678}table .label.active{background-color:#46a997;color:#fff}table .label{padding:0 8px;width:-moz-fit-content;width:fit-content;font-weight:600;font-size:10px;border-radius:4px;background-color:#e9f0f1;color:#000}table th.th-right{text-align:right}table th.th-right ::ng-deep .mat-sort-header-container{justify-content:end}table th.th-left{text-align:left}table th.th-left ::ng-deep .mat-sort-header-container{justify-content:start}table th.th-center{text-align:center}table th.th-center ::ng-deep .mat-sort-header-container{justify-content:center}table .row-detail{display:flex;justify-content:space-between}table .row-detail-icon{align-self:center;font-size:16px;height:16px;width:16px}table .row-expand{display:flex}table .row-expand-icon{align-self:center;font-size:14px;height:14px;width:14px;margin-right:8px}table .align-wrapper{display:flex}table td.td-right{text-align:right}table td.td-right .align-wrapper{justify-content:end}table td.td-left{text-align:left}table td.td-left .align-wrapper{justify-content:start}table td.td-center{text-align:center}table td.td-center .align-wrapper{justify-content:center}table tr.detail-row{height:0}table tr.element-row:not(.expanded-row):hover{background:whitesmoke}table tr.element-row:not(.expanded-row):active{background:#efefef}table .element-row td{border-bottom-width:0}table .mat-column-expandedDetail{padding:0}table .element-detail{overflow:hidden;display:flex}table .element-detail table{background-color:#f6f6f6}table .element-detail table .mat-header-row{visibility:collapse}table .element-detail table .mat-cell{border-width:0px}\n"], components: [{ type: i2$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i3$1.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i2$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i2$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i2$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2$1.MatCellDef, selector: "[matCellDef]" }, { type: i2$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i2$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i2$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: DynamicComponentDirective, selector: "[dynamicComponent]", inputs: ["dynamicComponent"] }, { type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], pipes: { "uppercase": i5.UpperCasePipe, "dataPropertyGetter": DataPropertyGetterPipe }, animations: [
2957
+ TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableComponent, deps: [{ token: DataPropertyGetterPipe }], target: i0.ɵɵFactoryTarget.Component });
2958
+ TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableComponent, selector: "ui-table", inputs: { tableDetails: "tableDetails", tableData: "tableData", tableColumns: "tableColumns", tableDetailColumns: "tableDetailColumns" }, outputs: { onSortEvent: "onSortEvent", onRowClickEvent: "onRowClickEvent", onDetailRowClickEvent: "onDetailRowClickEvent" }, viewQueries: [{ propertyName: "matSort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<table *ngIf=\"!tableDetails\" mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"onSort($event)\">\n <ng-container *ngFor=\"let tableColumn of tableColumns; let i = index\" [matColumnDef]=\"tableColumn.headerName\">\n <ng-container *ngIf=\"tableColumn.sortable; else notSortable\">\n <th mat-header-cell *matHeaderCellDef=\"let element\" [mat-sort-header]=\"tableColumn.field || ''\"\n arrowPosition=\"after\" [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-container>\n <ng-template #notSortable>\n <th mat-header-cell *matHeaderCellDef [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-template>\n <td mat-cell *matCellDef=\"let element\" (click)=\"onRowClick(element)\"\n [align]=\"tableColumn.styles?.alignment\"\n [ngClass]=\"[tableColumn.styles?.alignment ? 'td-'+tableColumn.styles?.alignment : '', onRowClickEvent.observed && i === tableColumns.length - 1 ? 'row-detail': '']\">\n <ng-container *ngTemplateOutlet=\"tableDataTpl; context: {element, tableColumn}\"></ng-container>\n <mat-icon *ngIf=\"onRowClickEvent.observed && i === tableColumns.length - 1\" class=\"row-detail-icon\">navigate_next</mat-icon>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnsToDisplay;\" [ngClass]=\"{'row-clickable': onRowClickEvent.observed}\"></tr>\n</table>\n\n<table *ngIf=\"tableDetails\" mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"onSort($event)\"\n multiTemplateDataRows>\n <ng-container *ngFor=\"let tableColumn of tableColumns; let i = index\" [matColumnDef]=\"tableColumn.headerName\">\n <ng-container *ngIf=\"tableColumn.sortable; else notSortable\">\n <th mat-header-cell *matHeaderCellDef=\"let element\" [mat-sort-header]=\"tableColumn.field || ''\"\n arrowPosition=\"after\" [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-container>\n <ng-template #notSortable>\n <th mat-header-cell *matHeaderCellDef [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-template>\n <td mat-cell *matCellDef=\"let element\" (click)=\"onRowClick(element)\"\n [align]=\"tableColumn.styles?.alignment\"\n [ngClass]=\"[tableColumn.styles?.alignment ? 'td-'+tableColumn.styles?.alignment : '', i === 0 ? 'row-expand' : '']\">\n <mat-icon *ngIf=\"i === 0\" class=\"row-expand-icon\">{{ element === elementDetail ? 'expand_less' : 'expand_more' }}</mat-icon>\n <ng-container *ngTemplateOutlet=\"tableDataTpl; context: {element, tableColumn}\"></ng-container>\n </td>\n </ng-container>\n\n <!-- Expanded Content Column -->\n <ng-container matColumnDef=\"expandedDetail\">\n <td mat-cell *matCellDef=\"let element\" [attr.colspan]=\"columnsToDisplay.length\">\n <div class=\"element-detail\" *ngIf=\"dataSourceDetail.data.length\"\n [@expandDetail]=\"element === elementDetail ? 'expanded' : 'collapsed'\">\n <table mat-table [dataSource]=\"dataSourceDetail\">\n <ng-container *ngFor=\"let tableColumn of tableDetailColumns.columnDefs\"\n [matColumnDef]=\"tableColumn.headerName\">\n <th mat-header-cell *matHeaderCellDef=\"let element\" arrowPosition=\"after\"\n [ngStyle]=\"{width: tableColumn.styles?.width}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n {{tableColumn.headerName | uppercase}}\n </th>\n <td mat-cell *matCellDef=\"let element\" (click)=\"onDetailRowClick(element)\"\n [align]=\"tableColumn.styles?.alignment\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'td-'+tableColumn.styles?.alignment : ''\"\n [ngStyle]=\"{padding: tableColumn.styles?.padding}\">\n <ng-container *ngTemplateOutlet=\"tableDataTpl; context: {element, tableColumn}\"></ng-container>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnsDetailToDisplay\"></tr>\n <tr mat-row *matRowDef=\"let rowDetail; columns: columnsDetailToDisplay;\"></tr>\n </table>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\n <tr mat-row *matRowDef=\"let element; columns: columnsToDisplay;\" class=\"element-row\"\n [ngClass]=\"{'expanded-row': elementDetail === element, 'row-clickable': tableDetails}\"\n (click)=\"toggleRow(element)\">\n </tr>\n <tr mat-row *matRowDef=\"let row; columns: ['expandedDetail']\" class=\"detail-row\"></tr>\n</table>\n\n<ng-template #tableDataTpl let-element=\"element\" let-tableColumn=\"tableColumn\">\n <div class=\"align-wrapper\">\n <ng-container [ngSwitch]=\"tableColumn.type\">\n <ng-container *ngSwitchCase=\"DataType.FIELD\">\n {{element | dataPropertyGetter: tableColumn.field}}\n </ng-container>\n <ng-container *ngSwitchCase=\"DataType.FUNCTION\">\n {{tableColumn.function?.(element)}}\n </ng-container>\n <ng-container *ngSwitchCase=\"DataType.RENDERER\">\n <ng-template\n [dynamicComponent]=\"tableColumn.renderer?.(element)\">\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{element | dataPropertyGetter: tableColumn.field}}\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #tableHeader let-tableColumn=\"tableColumn\">\n <div class=\"tooltip\" [ngStyle]=\"{'justify-content': tableColumn.styles?.alignment}\" [ngClass]=\"tableColumn.styles?.alignment\">\n <span>{{tableColumn.headerName | uppercase}}</span>\n <mat-icon *ngIf=\"tableColumn.headerTooltip\" [matTooltip]=\"tableColumn.headerTooltip\" class=\"tooltip-icon\" (click)=\"$event.stopPropagation()\">help</mat-icon>\n </div>\n</ng-template>\n", styles: ["table{cursor:initial;width:100%;overflow:hidden;border-radius:8px 8px 0 0;-webkit-user-select:none;user-select:none}table .mat-mdc-header-cell{font-weight:700;color:#000;padding:16px}table .mat-mdc-header-cell .tooltip{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center}table .mat-mdc-header-cell .tooltip mat-icon{color:#1f5260;font-size:18px;position:relative;top:3px;left:4px;cursor:pointer}table .mat-mdc-cell{padding:16px;text-align:justify}table td,table th,table .mat-mdc-row{border-width:.5px}table .mat-mdc-row:hover:not(.element-detail .mat-row).row-clickable{background-color:#ecf6f5;cursor:pointer}table ::ng-deep .mat-sort-header-arrow{color:#276678}table .label.active{background-color:#46a997;color:#fff}table .label{padding:0 8px;width:-moz-fit-content;width:fit-content;font-weight:600;font-size:10px;border-radius:4px;background-color:#e9f0f1;color:#000}table th.th-right{text-align:right}table th.th-right ::ng-deep .mat-sort-header-container{justify-content:end}table th.th-left{text-align:left}table th.th-left ::ng-deep .mat-sort-header-container{justify-content:start}table th.th-center{text-align:center}table th.th-center ::ng-deep .mat-sort-header-container{justify-content:center}table .row-detail{display:flex;justify-content:space-between}table .row-detail-icon{align-self:center;font-size:16px;height:16px;width:16px}table .row-expand{display:flex}table .row-expand-icon{align-self:center;font-size:14px;height:14px;width:14px;margin-right:8px}table .align-wrapper{display:flex}table td.td-right{text-align:right}table td.td-right .align-wrapper{justify-content:end}table td.td-left{text-align:left}table td.td-left .align-wrapper{justify-content:start}table td.td-center{text-align:center}table td.td-center .align-wrapper{justify-content:center}table tr.detail-row{height:0}table tr.element-row:not(.expanded-row):hover{background:whitesmoke}table tr.element-row:not(.expanded-row):active{background:#efefef}table .element-row td{border-bottom-width:0}table .mat-column-expandedDetail{padding:0}table .element-detail{overflow:hidden;display:flex}table .element-detail table{background-color:#f6f6f6}table .element-detail table .mat-mdc-header-row{visibility:collapse}table .element-detail table .mat-mdc-cell{border-width:0px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i3$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i3$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i4$1.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i4$1.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: DynamicComponentDirective, selector: "[dynamicComponent]", inputs: ["dynamicComponent"] }, { kind: "pipe", type: i1$1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: DataPropertyGetterPipe, name: "dataPropertyGetter" }], animations: [
1547
2959
  trigger('expandDetail', [
1548
2960
  state('collapsed, void', style({ height: '0px' })),
1549
2961
  state('expanded', style({ height: '*' })),
@@ -1551,7 +2963,7 @@ TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
1551
2963
  transition('expanded <=> void', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
1552
2964
  ]),
1553
2965
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1554
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TableComponent, decorators: [{
2966
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableComponent, decorators: [{
1555
2967
  type: Component,
1556
2968
  args: [{ selector: 'ui-table', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
1557
2969
  trigger('expandDetail', [
@@ -1560,7 +2972,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1560
2972
  transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
1561
2973
  transition('expanded <=> void', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
1562
2974
  ]),
1563
- ], template: "<table *ngIf=\"!tableDetails\" mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"onSort($event)\">\n <ng-container *ngFor=\"let tableColumn of tableColumns; let i = index\" [matColumnDef]=\"tableColumn.headerName\">\n <ng-container *ngIf=\"tableColumn.sortable; else notSortable\">\n <th mat-header-cell *matHeaderCellDef=\"let element\" [mat-sort-header]=\"tableColumn.field || ''\"\n arrowPosition=\"after\" [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-container>\n <ng-template #notSortable>\n <th mat-header-cell *matHeaderCellDef [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-template>\n <td mat-cell *matCellDef=\"let element\" (click)=\"onRowClick(element)\"\n [align]=\"tableColumn.styles?.alignment\"\n [ngClass]=\"[tableColumn.styles?.alignment ? 'td-'+tableColumn.styles?.alignment : '', onRowClickEvent.observed && i === tableColumns.length - 1 ? 'row-detail': '']\">\n <ng-container *ngTemplateOutlet=\"tableDataTpl; context: {element, tableColumn}\"></ng-container>\n <mat-icon *ngIf=\"onRowClickEvent.observed && i === tableColumns.length - 1\" class=\"row-detail-icon\">navigate_next</mat-icon>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnsToDisplay;\" [ngClass]=\"{'row-clickable': onRowClickEvent.observed}\"></tr>\n</table>\n\n<table *ngIf=\"tableDetails\" mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"onSort($event)\"\n multiTemplateDataRows>\n <ng-container *ngFor=\"let tableColumn of tableColumns; let i = index\" [matColumnDef]=\"tableColumn.headerName\">\n <ng-container *ngIf=\"tableColumn.sortable; else notSortable\">\n <th mat-header-cell *matHeaderCellDef=\"let element\" [mat-sort-header]=\"tableColumn.field || ''\"\n arrowPosition=\"after\" [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-container>\n <ng-template #notSortable>\n <th mat-header-cell *matHeaderCellDef [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-template>\n <td mat-cell *matCellDef=\"let element\" (click)=\"onRowClick(element)\"\n [align]=\"tableColumn.styles?.alignment\"\n [ngClass]=\"[tableColumn.styles?.alignment ? 'td-'+tableColumn.styles?.alignment : '', i === 0 ? 'row-expand' : '']\">\n <mat-icon *ngIf=\"i === 0\" class=\"row-expand-icon\">{{ element === elementDetail ? 'expand_less' : 'expand_more' }}</mat-icon>\n <ng-container *ngTemplateOutlet=\"tableDataTpl; context: {element, tableColumn}\"></ng-container>\n </td>\n </ng-container>\n\n <!-- Expanded Content Column -->\n <ng-container matColumnDef=\"expandedDetail\">\n <td mat-cell *matCellDef=\"let element\" [attr.colspan]=\"columnsToDisplay.length\">\n <div class=\"element-detail\" *ngIf=\"dataSourceDetail.data.length\"\n [@expandDetail]=\"element === elementDetail ? 'expanded' : 'collapsed'\">\n <table mat-table [dataSource]=\"dataSourceDetail\">\n <ng-container *ngFor=\"let tableColumn of tableDetailColumns.columnDefs\"\n [matColumnDef]=\"tableColumn.headerName\">\n <th mat-header-cell *matHeaderCellDef=\"let element\" arrowPosition=\"after\"\n [ngStyle]=\"{width: tableColumn.styles?.width}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n {{tableColumn.headerName | uppercase}}\n </th>\n <td mat-cell *matCellDef=\"let element\" (click)=\"onDetailRowClick(element)\"\n [align]=\"tableColumn.styles?.alignment\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'td-'+tableColumn.styles?.alignment : ''\"\n [ngStyle]=\"{padding: tableColumn.styles?.padding}\">\n <ng-container *ngTemplateOutlet=\"tableDataTpl; context: {element, tableColumn}\"></ng-container>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnsDetailToDisplay\"></tr>\n <tr mat-row *matRowDef=\"let rowDetail; columns: columnsDetailToDisplay;\"></tr>\n </table>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\n <tr mat-row *matRowDef=\"let element; columns: columnsToDisplay;\" class=\"element-row\"\n [ngClass]=\"{'expanded-row': elementDetail === element, 'row-clickable': tableDetails}\"\n (click)=\"toggleRow(element)\">\n </tr>\n <tr mat-row *matRowDef=\"let row; columns: ['expandedDetail']\" class=\"detail-row\"></tr>\n</table>\n\n<ng-template #tableDataTpl let-element=\"element\" let-tableColumn=\"tableColumn\">\n <div class=\"align-wrapper\">\n <ng-container [ngSwitch]=\"tableColumn.type\">\n <ng-container *ngSwitchCase=\"DataType.FIELD\">\n {{element | dataPropertyGetter: tableColumn.field}}\n </ng-container>\n <ng-container *ngSwitchCase=\"DataType.FUNCTION\">\n {{tableColumn.function?.(element)}}\n </ng-container>\n <ng-container *ngSwitchCase=\"DataType.RENDERER\">\n <ng-template\n [dynamicComponent]=\"tableColumn.renderer?.(element)\">\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{element | dataPropertyGetter: tableColumn.field}}\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #tableHeader let-tableColumn=\"tableColumn\">\n <div class=\"tooltip\" [ngStyle]=\"{'justify-content': tableColumn.styles?.alignment}\" [ngClass]=\"tableColumn.styles?.alignment\">\n <span>{{tableColumn.headerName | uppercase}}</span>\n <mat-icon *ngIf=\"tableColumn.headerTooltip\" [matTooltip]=\"tableColumn.headerTooltip\" class=\"tooltip-icon\" (click)=\"$event.stopPropagation()\">help</mat-icon>\n </div>\n</ng-template>\n", styles: ["table{cursor:initial;width:100%;overflow:hidden;border-radius:8px 8px 0 0;-webkit-user-select:none;user-select:none}table .mat-header-cell{font-weight:700;color:#000;padding:16px}table .mat-header-cell .tooltip{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center}table .mat-header-cell .tooltip mat-icon{color:#1f5260;font-size:18px;position:relative;top:3px;left:4px;cursor:pointer}table .mat-cell{padding:16px;text-align:justify}table td,table th,table .mat-row{border-width:.5px}table .mat-row:hover:not(.element-detail .mat-row).row-clickable{background-color:#ecf6f5;cursor:pointer}table ::ng-deep .mat-sort-header-arrow{color:#276678}table .label.active{background-color:#46a997;color:#fff}table .label{padding:0 8px;width:-moz-fit-content;width:fit-content;font-weight:600;font-size:10px;border-radius:4px;background-color:#e9f0f1;color:#000}table th.th-right{text-align:right}table th.th-right ::ng-deep .mat-sort-header-container{justify-content:end}table th.th-left{text-align:left}table th.th-left ::ng-deep .mat-sort-header-container{justify-content:start}table th.th-center{text-align:center}table th.th-center ::ng-deep .mat-sort-header-container{justify-content:center}table .row-detail{display:flex;justify-content:space-between}table .row-detail-icon{align-self:center;font-size:16px;height:16px;width:16px}table .row-expand{display:flex}table .row-expand-icon{align-self:center;font-size:14px;height:14px;width:14px;margin-right:8px}table .align-wrapper{display:flex}table td.td-right{text-align:right}table td.td-right .align-wrapper{justify-content:end}table td.td-left{text-align:left}table td.td-left .align-wrapper{justify-content:start}table td.td-center{text-align:center}table td.td-center .align-wrapper{justify-content:center}table tr.detail-row{height:0}table tr.element-row:not(.expanded-row):hover{background:whitesmoke}table tr.element-row:not(.expanded-row):active{background:#efefef}table .element-row td{border-bottom-width:0}table .mat-column-expandedDetail{padding:0}table .element-detail{overflow:hidden;display:flex}table .element-detail table{background-color:#f6f6f6}table .element-detail table .mat-header-row{visibility:collapse}table .element-detail table .mat-cell{border-width:0px}\n"] }]
2975
+ ], template: "<table *ngIf=\"!tableDetails\" mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"onSort($event)\">\n <ng-container *ngFor=\"let tableColumn of tableColumns; let i = index\" [matColumnDef]=\"tableColumn.headerName\">\n <ng-container *ngIf=\"tableColumn.sortable; else notSortable\">\n <th mat-header-cell *matHeaderCellDef=\"let element\" [mat-sort-header]=\"tableColumn.field || ''\"\n arrowPosition=\"after\" [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-container>\n <ng-template #notSortable>\n <th mat-header-cell *matHeaderCellDef [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-template>\n <td mat-cell *matCellDef=\"let element\" (click)=\"onRowClick(element)\"\n [align]=\"tableColumn.styles?.alignment\"\n [ngClass]=\"[tableColumn.styles?.alignment ? 'td-'+tableColumn.styles?.alignment : '', onRowClickEvent.observed && i === tableColumns.length - 1 ? 'row-detail': '']\">\n <ng-container *ngTemplateOutlet=\"tableDataTpl; context: {element, tableColumn}\"></ng-container>\n <mat-icon *ngIf=\"onRowClickEvent.observed && i === tableColumns.length - 1\" class=\"row-detail-icon\">navigate_next</mat-icon>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnsToDisplay;\" [ngClass]=\"{'row-clickable': onRowClickEvent.observed}\"></tr>\n</table>\n\n<table *ngIf=\"tableDetails\" mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"onSort($event)\"\n multiTemplateDataRows>\n <ng-container *ngFor=\"let tableColumn of tableColumns; let i = index\" [matColumnDef]=\"tableColumn.headerName\">\n <ng-container *ngIf=\"tableColumn.sortable; else notSortable\">\n <th mat-header-cell *matHeaderCellDef=\"let element\" [mat-sort-header]=\"tableColumn.field || ''\"\n arrowPosition=\"after\" [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-container>\n <ng-template #notSortable>\n <th mat-header-cell *matHeaderCellDef [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-template>\n <td mat-cell *matCellDef=\"let element\" (click)=\"onRowClick(element)\"\n [align]=\"tableColumn.styles?.alignment\"\n [ngClass]=\"[tableColumn.styles?.alignment ? 'td-'+tableColumn.styles?.alignment : '', i === 0 ? 'row-expand' : '']\">\n <mat-icon *ngIf=\"i === 0\" class=\"row-expand-icon\">{{ element === elementDetail ? 'expand_less' : 'expand_more' }}</mat-icon>\n <ng-container *ngTemplateOutlet=\"tableDataTpl; context: {element, tableColumn}\"></ng-container>\n </td>\n </ng-container>\n\n <!-- Expanded Content Column -->\n <ng-container matColumnDef=\"expandedDetail\">\n <td mat-cell *matCellDef=\"let element\" [attr.colspan]=\"columnsToDisplay.length\">\n <div class=\"element-detail\" *ngIf=\"dataSourceDetail.data.length\"\n [@expandDetail]=\"element === elementDetail ? 'expanded' : 'collapsed'\">\n <table mat-table [dataSource]=\"dataSourceDetail\">\n <ng-container *ngFor=\"let tableColumn of tableDetailColumns.columnDefs\"\n [matColumnDef]=\"tableColumn.headerName\">\n <th mat-header-cell *matHeaderCellDef=\"let element\" arrowPosition=\"after\"\n [ngStyle]=\"{width: tableColumn.styles?.width}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n {{tableColumn.headerName | uppercase}}\n </th>\n <td mat-cell *matCellDef=\"let element\" (click)=\"onDetailRowClick(element)\"\n [align]=\"tableColumn.styles?.alignment\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'td-'+tableColumn.styles?.alignment : ''\"\n [ngStyle]=\"{padding: tableColumn.styles?.padding}\">\n <ng-container *ngTemplateOutlet=\"tableDataTpl; context: {element, tableColumn}\"></ng-container>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnsDetailToDisplay\"></tr>\n <tr mat-row *matRowDef=\"let rowDetail; columns: columnsDetailToDisplay;\"></tr>\n </table>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\n <tr mat-row *matRowDef=\"let element; columns: columnsToDisplay;\" class=\"element-row\"\n [ngClass]=\"{'expanded-row': elementDetail === element, 'row-clickable': tableDetails}\"\n (click)=\"toggleRow(element)\">\n </tr>\n <tr mat-row *matRowDef=\"let row; columns: ['expandedDetail']\" class=\"detail-row\"></tr>\n</table>\n\n<ng-template #tableDataTpl let-element=\"element\" let-tableColumn=\"tableColumn\">\n <div class=\"align-wrapper\">\n <ng-container [ngSwitch]=\"tableColumn.type\">\n <ng-container *ngSwitchCase=\"DataType.FIELD\">\n {{element | dataPropertyGetter: tableColumn.field}}\n </ng-container>\n <ng-container *ngSwitchCase=\"DataType.FUNCTION\">\n {{tableColumn.function?.(element)}}\n </ng-container>\n <ng-container *ngSwitchCase=\"DataType.RENDERER\">\n <ng-template\n [dynamicComponent]=\"tableColumn.renderer?.(element)\">\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{element | dataPropertyGetter: tableColumn.field}}\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #tableHeader let-tableColumn=\"tableColumn\">\n <div class=\"tooltip\" [ngStyle]=\"{'justify-content': tableColumn.styles?.alignment}\" [ngClass]=\"tableColumn.styles?.alignment\">\n <span>{{tableColumn.headerName | uppercase}}</span>\n <mat-icon *ngIf=\"tableColumn.headerTooltip\" [matTooltip]=\"tableColumn.headerTooltip\" class=\"tooltip-icon\" (click)=\"$event.stopPropagation()\">help</mat-icon>\n </div>\n</ng-template>\n", styles: ["table{cursor:initial;width:100%;overflow:hidden;border-radius:8px 8px 0 0;-webkit-user-select:none;user-select:none}table .mat-mdc-header-cell{font-weight:700;color:#000;padding:16px}table .mat-mdc-header-cell .tooltip{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center}table .mat-mdc-header-cell .tooltip mat-icon{color:#1f5260;font-size:18px;position:relative;top:3px;left:4px;cursor:pointer}table .mat-mdc-cell{padding:16px;text-align:justify}table td,table th,table .mat-mdc-row{border-width:.5px}table .mat-mdc-row:hover:not(.element-detail .mat-row).row-clickable{background-color:#ecf6f5;cursor:pointer}table ::ng-deep .mat-sort-header-arrow{color:#276678}table .label.active{background-color:#46a997;color:#fff}table .label{padding:0 8px;width:-moz-fit-content;width:fit-content;font-weight:600;font-size:10px;border-radius:4px;background-color:#e9f0f1;color:#000}table th.th-right{text-align:right}table th.th-right ::ng-deep .mat-sort-header-container{justify-content:end}table th.th-left{text-align:left}table th.th-left ::ng-deep .mat-sort-header-container{justify-content:start}table th.th-center{text-align:center}table th.th-center ::ng-deep .mat-sort-header-container{justify-content:center}table .row-detail{display:flex;justify-content:space-between}table .row-detail-icon{align-self:center;font-size:16px;height:16px;width:16px}table .row-expand{display:flex}table .row-expand-icon{align-self:center;font-size:14px;height:14px;width:14px;margin-right:8px}table .align-wrapper{display:flex}table td.td-right{text-align:right}table td.td-right .align-wrapper{justify-content:end}table td.td-left{text-align:left}table td.td-left .align-wrapper{justify-content:start}table td.td-center{text-align:center}table td.td-center .align-wrapper{justify-content:center}table tr.detail-row{height:0}table tr.element-row:not(.expanded-row):hover{background:whitesmoke}table tr.element-row:not(.expanded-row):active{background:#efefef}table .element-row td{border-bottom-width:0}table .mat-column-expandedDetail{padding:0}table .element-detail{overflow:hidden;display:flex}table .element-detail table{background-color:#f6f6f6}table .element-detail table .mat-mdc-header-row{visibility:collapse}table .element-detail table .mat-mdc-cell{border-width:0px}\n"] }]
1564
2976
  }], ctorParameters: function () { return [{ type: DataPropertyGetterPipe }]; }, propDecorators: { matSort: [{
1565
2977
  type: ViewChild,
1566
2978
  args: [MatSort]
@@ -1582,10 +2994,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1582
2994
 
1583
2995
  class TableComponentModule {
1584
2996
  }
1585
- TableComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TableComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1586
- TableComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TableComponentModule, declarations: [TableComponent, DataPropertyGetterPipe, DynamicComponentDirective], imports: [CommonModule, MatTableModule, MatSortModule, MatIconModule, MatTooltipModule], exports: [TableComponent] });
1587
- TableComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TableComponentModule, providers: [DataPropertyGetterPipe], imports: [[CommonModule, MatTableModule, MatSortModule, MatIconModule, MatTooltipModule]] });
1588
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TableComponentModule, decorators: [{
2997
+ TableComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2998
+ TableComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TableComponentModule, declarations: [TableComponent, DataPropertyGetterPipe, DynamicComponentDirective], imports: [CommonModule, MatTableModule, MatSortModule, MatIconModule, MatTooltipModule], exports: [TableComponent] });
2999
+ TableComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableComponentModule, providers: [DataPropertyGetterPipe], imports: [CommonModule, MatTableModule, MatSortModule, MatIconModule, MatTooltipModule] });
3000
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableComponentModule, decorators: [{
1589
3001
  type: NgModule,
1590
3002
  args: [{
1591
3003
  declarations: [TableComponent, DataPropertyGetterPipe, DynamicComponentDirective],
@@ -1595,11 +3007,118 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1595
3007
  }]
1596
3008
  }] });
1597
3009
 
3010
+ class TagComponent {
3011
+ constructor() {
3012
+ /**
3013
+ * Color
3014
+ *
3015
+ * @type {TagColor}
3016
+ * @memberof TagComponent
3017
+ */
3018
+ this.color = 'teal';
3019
+ }
3020
+ }
3021
+ TagComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3022
+ TagComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TagComponent, selector: "ui-tag", inputs: { text: "text", color: "color" }, ngImport: i0, template: "<span [class]=\"color\">{{ text }}</span>\n", styles: [":host span{display:inline-flex;color:#fff;font-size:12px;line-height:16px;padding:3px 8px;border-radius:4px;text-transform:uppercase;margin-right:8px}:host span.teal{background-color:#46a997}:host span.petrol{background-color:#276678}:host span.grey{background-color:#e0e0e0;color:#000}:host span.red{background-color:#cb7b7a}:host span.gold{background-color:#cca45f}\n"] });
3023
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TagComponent, decorators: [{
3024
+ type: Component,
3025
+ args: [{ selector: 'ui-tag', template: "<span [class]=\"color\">{{ text }}</span>\n", styles: [":host span{display:inline-flex;color:#fff;font-size:12px;line-height:16px;padding:3px 8px;border-radius:4px;text-transform:uppercase;margin-right:8px}:host span.teal{background-color:#46a997}:host span.petrol{background-color:#276678}:host span.grey{background-color:#e0e0e0;color:#000}:host span.red{background-color:#cb7b7a}:host span.gold{background-color:#cca45f}\n"] }]
3026
+ }], ctorParameters: function () { return []; }, propDecorators: { text: [{
3027
+ type: Input
3028
+ }], color: [{
3029
+ type: Input
3030
+ }] } });
3031
+
3032
+ class TagComponentModule {
3033
+ }
3034
+ TagComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TagComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3035
+ TagComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TagComponentModule, declarations: [TagComponent], imports: [CommonModule], exports: [TagComponent] });
3036
+ TagComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TagComponentModule, imports: [CommonModule] });
3037
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TagComponentModule, decorators: [{
3038
+ type: NgModule,
3039
+ args: [{
3040
+ declarations: [TagComponent],
3041
+ imports: [CommonModule],
3042
+ exports: [TagComponent],
3043
+ providers: [],
3044
+ }]
3045
+ }] });
3046
+
3047
+ var TooltipPositionType;
3048
+ (function (TooltipPositionType) {
3049
+ TooltipPositionType["TOP"] = "top";
3050
+ TooltipPositionType["BOTTOM"] = "bottom";
3051
+ TooltipPositionType["LEFT"] = "left";
3052
+ TooltipPositionType["RIGHT"] = "right";
3053
+ })(TooltipPositionType || (TooltipPositionType = {}));
3054
+
3055
+ class TooltipComponent {
3056
+ constructor() {
3057
+ /**
3058
+ * Allows the user to define the position of the tooltip relative to the parent element.
3059
+ *
3060
+ * @type {TooltipPositionType}
3061
+ * @memberof TooltipComponent
3062
+ */
3063
+ this.position = TooltipPositionType.TOP;
3064
+ /**
3065
+ * The message to be displayed in the tooltip.
3066
+ *
3067
+ * @type {string}
3068
+ * @memberof TooltipComponent
3069
+ */
3070
+ this.message = '';
3071
+ }
3072
+ ngOnInit() {
3073
+ this.setPosition();
3074
+ }
3075
+ //set position
3076
+ setPosition() {
3077
+ switch (this.position) {
3078
+ case TooltipPositionType.TOP:
3079
+ this.matPosition = 'above';
3080
+ break;
3081
+ case TooltipPositionType.BOTTOM:
3082
+ this.matPosition = 'below';
3083
+ break;
3084
+ default:
3085
+ this.matPosition = this.position;
3086
+ break;
3087
+ }
3088
+ }
3089
+ }
3090
+ TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3091
+ TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TooltipComponent, selector: "ui-tooltip", inputs: { position: "position", message: "message" }, ngImport: i0, template: "<div [matTooltip]=\"message\" [matTooltipPosition]=\"matPosition\" matTooltipClass=\"tooltip\" aria-label=\"tooltip\">\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3092
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TooltipComponent, decorators: [{
3093
+ type: Component,
3094
+ args: [{ selector: 'ui-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [matTooltip]=\"message\" [matTooltipPosition]=\"matPosition\" matTooltipClass=\"tooltip\" aria-label=\"tooltip\">\n <ng-content></ng-content>\n</div>\n" }]
3095
+ }], propDecorators: { position: [{
3096
+ type: Input
3097
+ }], message: [{
3098
+ type: Input
3099
+ }] } });
3100
+
3101
+ class TooltipComponentModule {
3102
+ }
3103
+ TooltipComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TooltipComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3104
+ TooltipComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TooltipComponentModule, declarations: [TooltipComponent], imports: [MatTooltipModule], exports: [TooltipComponent] });
3105
+ TooltipComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TooltipComponentModule, imports: [MatTooltipModule] });
3106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TooltipComponentModule, decorators: [{
3107
+ type: NgModule,
3108
+ args: [{
3109
+ declarations: [TooltipComponent],
3110
+ imports: [MatTooltipModule],
3111
+ exports: [TooltipComponent],
3112
+ }]
3113
+ }] });
3114
+
1598
3115
  /* eslint-disable */
3116
+ /* Components */
3117
+ // Alert Banner
1599
3118
 
1600
3119
  /**
1601
3120
  * Generated bundle index. Do not edit.
1602
3121
  */
1603
3122
 
1604
- export { BannerActionComponent, BannerActionComponentModule, BannerComponent, BannerComponentModule, CardComponent, CardComponentModule, ColumnAlignmentEnum, ColumnTypeEnum, CreateAccountComponent, CreateAccountComponentModule, CreatePasswordComponent, CreatePasswordComponentModule, DataPropertyGetterPipe, DialogComponentModule, DialogService, FieldComponent, FieldComponentModule, ForgotPasswordComponent, ForgotPasswordComponentModule, LabelComponent, LabelComponentModule, LabelSizeEnum, LoginComponent, LoginComponentModule, LogoComponent, LogoComponentModule, NavbarComponent, NavbarComponentModule, NavigationComponent, NavigationComponentModule, PaginatorComponent, PaginatorComponentModule, ProgressBarComponent, ProgressBarComponentModule, TableComponent, TableComponentModule };
3123
+ export { AlertBannerComponent, AlertBannerComponentModule, BannerActionComponent, BannerActionComponentModule, ButtonComponent, ButtonComponentModule, CardComponent, CardComponentModule, CheckboxComponent, CheckboxComponentModule, ColumnAlignmentEnum, ColumnTypeEnum, CreateAccountComponent, CreateAccountComponentModule, CreatePasswordComponent, CreatePasswordComponentModule, DataPropertyGetterPipe, DialogComponent, DialogComponentModule, DialogService, ElevationShadowComponent, ElevationShadowComponentModule, ElevationType, FieldComponent, FieldComponentModule, FileUploadComponent, FileUploadComponentModule, ForgotPasswordComponent, ForgotPasswordComponentModule, IconComponent, IconComponentModule, IconLabelComponent, IconLabelComponentModule, LabelComponent, LabelComponentModule, LabelSizeEnum, LoginComponent, LoginComponentModule, LogoComponent, LogoComponentModule, LogoPathEnum, LogoTypeEnum, NavbarComponent, NavbarComponentModule, NavigationComponent, NavigationComponentModule, PaginatorComponent, PaginatorComponentModule, ProgressBarComponent, ProgressBarComponentModule, RadioButtonComponent, RadioButtonComponentModule, SnackbarComponent, SnackbarComponentModule, TableComponent, TableComponentModule, TagComponent, TagComponentModule, TooltipComponent, TooltipComponentModule, TooltipPositionType };
1605
3124
  //# sourceMappingURL=testgorilla-tgo-ui.mjs.map