@flywheel-io/vision 0.6.0 → 0.8.0

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 (322) hide show
  1. package/assets/fonts/Flywheel-Vision-Icons.svg +255 -1
  2. package/assets/fonts/Flywheel-Vision-Icons.ttf +0 -0
  3. package/assets/fonts/Flywheel-Vision-Icons.woff +0 -0
  4. package/assets/svg/add-circle.svg +5 -0
  5. package/assets/svg/add-new-create.svg +5 -0
  6. package/assets/svg/add-row-above.svg +10 -0
  7. package/assets/svg/add-row-below.svg +10 -0
  8. package/assets/svg/add-server.svg +12 -0
  9. package/assets/svg/add-user.svg +5 -0
  10. package/assets/svg/apple.svg +6 -0
  11. package/assets/svg/apply-copy-duplicate.svg +8 -0
  12. package/assets/svg/arrow-annotate.svg +5 -0
  13. package/assets/svg/arrow-back-collapse.svg +5 -0
  14. package/assets/svg/arrow-back.svg +5 -0
  15. package/assets/svg/arrow-down.svg +6 -0
  16. package/assets/svg/arrow-forward-collapse.svg +5 -0
  17. package/assets/svg/arrow-forward.svg +5 -0
  18. package/assets/svg/arrow-rotate-restore.svg +5 -0
  19. package/assets/svg/arrow-rotate.svg +5 -0
  20. package/assets/svg/arrow-up.svg +6 -0
  21. package/assets/svg/arrow.svg +5 -0
  22. package/assets/svg/barcode-serial.svg +14 -0
  23. package/assets/svg/barcode-stack-scan.svg +5 -0
  24. package/assets/svg/bell-notification.svg +5 -0
  25. package/assets/svg/blocks-code-test-checkmark.svg +5 -0
  26. package/assets/svg/bookmark-plus-add.svg +7 -0
  27. package/assets/svg/bookmark.svg +5 -0
  28. package/assets/svg/brain.svg +10 -0
  29. package/assets/svg/button-form-element.svg +5 -0
  30. package/assets/svg/calendar-schedule.svg +5 -0
  31. package/assets/svg/camera-photo-capture.svg +5 -0
  32. package/assets/svg/cash-banknotes.svg +9 -0
  33. package/assets/svg/chart-square.svg +5 -0
  34. package/assets/svg/chart-trend-square.svg +8 -0
  35. package/assets/svg/chat-messages-bubble.svg +8 -0
  36. package/assets/svg/checklist-tasks-chechmark-square.svg +9 -0
  37. package/assets/svg/checklist.svg +5 -0
  38. package/assets/svg/chevron-back.svg +5 -0
  39. package/assets/svg/chevron-down.svg +5 -0
  40. package/assets/svg/chevron-forward.svg +5 -0
  41. package/assets/svg/chevron-up.svg +5 -0
  42. package/assets/svg/circle-ellipses.svg +6 -0
  43. package/assets/svg/circle.svg +6 -0
  44. package/assets/svg/clap-applause-hands.svg +8 -0
  45. package/assets/svg/clip-attachment.svg +5 -0
  46. package/assets/svg/clock-history.svg +7 -0
  47. package/assets/svg/clock-loading.svg +9 -0
  48. package/assets/svg/close-circled.svg +5 -0
  49. package/assets/svg/close.svg +5 -0
  50. package/assets/svg/cloud-storage-checkmark.svg +6 -0
  51. package/assets/svg/code-text.svg +5 -0
  52. package/assets/svg/color-design-profile.svg +5 -0
  53. package/assets/svg/color-ven-design-profile-central.svg +5 -0
  54. package/assets/svg/computer-chip.svg +5 -0
  55. package/assets/svg/contrast-photo-edit.svg +5 -0
  56. package/assets/svg/copy-item.svg +5 -0
  57. package/assets/svg/creative-commons.svg +5 -0
  58. package/assets/svg/crosshair.svg +9 -0
  59. package/assets/svg/cursor-select.svg +6 -0
  60. package/assets/svg/data-tree.svg +5 -0
  61. package/assets/svg/delivery-shipment-packages.svg +8 -0
  62. package/assets/svg/dna-hospital-medical.svg +10 -0
  63. package/assets/svg/document-file-blank.svg +6 -0
  64. package/assets/svg/document-file-download.svg +9 -0
  65. package/assets/svg/document-file-list-protocol.svg +11 -0
  66. package/assets/svg/document-file-tar.svg +10 -0
  67. package/assets/svg/document-file-zip.svg +12 -0
  68. package/assets/svg/document-status-done-checkmark.svg +5 -0
  69. package/assets/svg/document-visible.svg +8 -0
  70. package/assets/svg/documents-files.svg +6 -0
  71. package/assets/svg/done-check-tracked.svg +5 -0
  72. package/assets/svg/done-check.svg +5 -0
  73. package/assets/svg/download-status.svg +11 -0
  74. package/assets/svg/download.svg +5 -0
  75. package/assets/svg/drag-drop-indicator.svg +5 -0
  76. package/assets/svg/draw-rectangle.svg +6 -0
  77. package/assets/svg/earth-globe-fail.svg +6 -0
  78. package/assets/svg/edit-boxed.svg +5 -0
  79. package/assets/svg/edit.svg +6 -0
  80. package/assets/svg/email-mail-checkmark-group.svg +5 -0
  81. package/assets/svg/email.svg +5 -0
  82. package/assets/svg/embed-circle.svg +5 -0
  83. package/assets/svg/facebook.svg +5 -0
  84. package/assets/svg/file-download.svg +8 -0
  85. package/assets/svg/file-text.svg +9 -0
  86. package/assets/svg/files-library-content.svg +8 -0
  87. package/assets/svg/files-library.svg +5 -0
  88. package/assets/svg/files.svg +5 -0
  89. package/assets/svg/filter.svg +6 -0
  90. package/assets/svg/flag.svg +5 -0
  91. package/assets/svg/flip-horizontal.svg +5 -0
  92. package/assets/svg/flip-vertical.svg +5 -0
  93. package/assets/svg/folder-add.svg +7 -0
  94. package/assets/svg/folder-blank.svg +5 -0
  95. package/assets/svg/folder-checked.svg +6 -0
  96. package/assets/svg/folder-group.svg +6 -0
  97. package/assets/svg/folder-open.svg +5 -0
  98. package/assets/svg/folder-share.svg +7 -0
  99. package/assets/svg/form-metadata-element.svg +5 -0
  100. package/assets/svg/free-rights.svg +5 -0
  101. package/assets/svg/full-screen-zoom.svg +5 -0
  102. package/assets/svg/github-color-login.svg +5 -0
  103. package/assets/svg/gitlab.svg +5 -0
  104. package/assets/svg/graduate-hat.svg +5 -0
  105. package/assets/svg/grid-layout.svg +8 -0
  106. package/assets/svg/hammer-screwdriver.svg +6 -0
  107. package/assets/svg/hand-money-currency.svg +7 -0
  108. package/assets/svg/header-form-element.svg +8 -0
  109. package/assets/svg/home-modern-door.svg +5 -0
  110. package/assets/svg/home-modern-option-lines.svg +5 -0
  111. package/assets/svg/human-artificial-intelligence.svg +5 -0
  112. package/assets/svg/icon-placeholder.svg +5 -0
  113. package/assets/svg/image-photo-copy-left-down.svg +8 -0
  114. package/assets/svg/image-picture-square.svg +6 -0
  115. package/assets/svg/information-circle.svg +7 -0
  116. package/assets/svg/items-group-elements.svg +5 -0
  117. package/assets/svg/key.svg +6 -0
  118. package/assets/svg/keyboard.svg +12 -0
  119. package/assets/svg/keychain.svg +5 -0
  120. package/assets/svg/label-tag.svg +5 -0
  121. package/assets/svg/laptop-health-medical-cross.svg +10 -0
  122. package/assets/svg/layers.svg +5 -0
  123. package/assets/svg/layout-grid.svg +8 -0
  124. package/assets/svg/layout.svg +5 -0
  125. package/assets/svg/line.svg +7 -0
  126. package/assets/svg/link-unlink.svg +5 -0
  127. package/assets/svg/link.svg +5 -0
  128. package/assets/svg/linkedin.svg +7 -0
  129. package/assets/svg/linux.svg +6 -0
  130. package/assets/svg/loading-status-checkmark.svg +9 -0
  131. package/assets/svg/lock-unlock.svg +5 -0
  132. package/assets/svg/lock.svg +8 -0
  133. package/assets/svg/logout.svg +5 -0
  134. package/assets/svg/lung.svg +5 -0
  135. package/assets/svg/lungs.svg +9 -0
  136. package/assets/svg/measure-angle.svg +6 -0
  137. package/assets/svg/media-library-imports-dowload.svg +6 -0
  138. package/assets/svg/menu-burger-handle.svg +5 -0
  139. package/assets/svg/menu-horizontal.svg +7 -0
  140. package/assets/svg/menu-list-form-square.svg +8 -0
  141. package/assets/svg/menu-vertical.svg +7 -0
  142. package/assets/svg/message-chat-info.svg +7 -0
  143. package/assets/svg/message-chat-question-support.svg +9 -0
  144. package/assets/svg/message-question-checkmark.svg +7 -0
  145. package/assets/svg/microphone-mic-rec-circle.svg +5 -0
  146. package/assets/svg/microphone-mic-rec.svg +5 -0
  147. package/assets/svg/microphone-mic-recording-circle.svg +10 -0
  148. package/assets/svg/minus.svg +5 -0
  149. package/assets/svg/modalities.svg +5 -0
  150. package/assets/svg/money-coin.svg +8 -0
  151. package/assets/svg/money-dollar.svg +8 -0
  152. package/assets/svg/money.svg +5 -0
  153. package/assets/svg/mouse-big.svg +6 -0
  154. package/assets/svg/move.svg +5 -0
  155. package/assets/svg/music-play-resume.svg +5 -0
  156. package/assets/svg/music-stop.svg +5 -0
  157. package/assets/svg/mute.svg +5 -0
  158. package/assets/svg/network-storage-alert.svg +7 -0
  159. package/assets/svg/notebook-add-plus.svg +5 -0
  160. package/assets/svg/notebook-open.svg +9 -0
  161. package/assets/svg/notebook-pen-edit.svg +8 -0
  162. package/assets/svg/notebook.svg +5 -0
  163. package/assets/svg/notes-pen.svg +8 -0
  164. package/assets/svg/object-search-zoom-plus.svg +5 -0
  165. package/assets/svg/open.svg +5 -0
  166. package/assets/svg/pencil-edit-create.svg +5 -0
  167. package/assets/svg/photo-edit-brightness-invert.svg +6 -0
  168. package/assets/svg/pie-chart.svg +5 -0
  169. package/assets/svg/pie-graph-chart-sample.svg +8 -0
  170. package/assets/svg/plus-add-rectangle.svg +6 -0
  171. package/assets/svg/polygon.svg +5 -0
  172. package/assets/svg/protection-target.svg +5 -0
  173. package/assets/svg/protective-mask.svg +7 -0
  174. package/assets/svg/question-circle.svg +7 -0
  175. package/assets/svg/radiology-scan-circle.svg +11 -0
  176. package/assets/svg/radiology-scan.svg +11 -0
  177. package/assets/svg/rotate-arrow-manual.svg +10 -0
  178. package/assets/svg/rotate-item-left.svg +6 -0
  179. package/assets/svg/rotate-item-right.svg +6 -0
  180. package/assets/svg/rotate-refresh.svg +7 -0
  181. package/assets/svg/rotate.svg +5 -0
  182. package/assets/svg/ruler-bidirectional.svg +9 -0
  183. package/assets/svg/ruler.svg +5 -0
  184. package/assets/svg/scanner.svg +9 -0
  185. package/assets/svg/search-loop.svg +10 -0
  186. package/assets/svg/search-user-profile-person.svg +5 -0
  187. package/assets/svg/search-zoom-minus.svg +5 -0
  188. package/assets/svg/search-zoom-plus.svg +5 -0
  189. package/assets/svg/search.svg +5 -0
  190. package/assets/svg/section-form-element.svg +5 -0
  191. package/assets/svg/server-checkmark.svg +11 -0
  192. package/assets/svg/server-databases-connect.svg +5 -0
  193. package/assets/svg/server-databases-download.svg +8 -0
  194. package/assets/svg/server-databases-key-protection.svg +12 -0
  195. package/assets/svg/server-databases-minimal-download.svg +6 -0
  196. package/assets/svg/server-databases-sync-import.svg +6 -0
  197. package/assets/svg/server-databases-sync.svg +10 -0
  198. package/assets/svg/server-upload.svg +11 -0
  199. package/assets/svg/server.svg +8 -0
  200. package/assets/svg/servers-database.svg +8 -0
  201. package/assets/svg/setting-gear.svg +6 -0
  202. package/assets/svg/settings-adjust.svg +5 -0
  203. package/assets/svg/settings-gear-square.svg +7 -0
  204. package/assets/svg/settings-gear.svg +7 -0
  205. package/assets/svg/settings-select.svg +5 -0
  206. package/assets/svg/share.svg +5 -0
  207. package/assets/svg/show-visible.svg +5 -0
  208. package/assets/svg/star.svg +5 -0
  209. package/assets/svg/stars-light-sparkle.svg +5 -0
  210. package/assets/svg/stomach.svg +5 -0
  211. package/assets/svg/substract-group.svg +5 -0
  212. package/assets/svg/switch.svg +6 -0
  213. package/assets/svg/target.svg +5 -0
  214. package/assets/svg/tasklist-to-do-checkmark.svg +8 -0
  215. package/assets/svg/text-long.svg +9 -0
  216. package/assets/svg/text-short-form-element.svg +7 -0
  217. package/assets/svg/thumbs-up-like.svg +5 -0
  218. package/assets/svg/timer-clock-style.svg +8 -0
  219. package/assets/svg/trash-delete.svg +5 -0
  220. package/assets/svg/undone-uncheck-untracked.svg +5 -0
  221. package/assets/svg/unlimited-repeat-subscription-circle.svg +7 -0
  222. package/assets/svg/upload.svg +5 -0
  223. package/assets/svg/user-checked.svg +5 -0
  224. package/assets/svg/user-delete-cross.svg +8 -0
  225. package/assets/svg/user-document.svg +5 -0
  226. package/assets/svg/user-group.svg +5 -0
  227. package/assets/svg/user-key.svg +5 -0
  228. package/assets/svg/user-lock.svg +8 -0
  229. package/assets/svg/user-profile-group-discovery.svg +5 -0
  230. package/assets/svg/user-setting-gear.svg +7 -0
  231. package/assets/svg/user.svg +5 -0
  232. package/assets/svg/video-player-controls.svg +5 -0
  233. package/assets/svg/visible-eye-hidden.svg +6 -0
  234. package/assets/svg/volume-full.svg +5 -0
  235. package/assets/svg/warning-circle.svg +7 -0
  236. package/assets/svg/warning.svg +7 -0
  237. package/assets/svg/window-finder-resize-arrow-down.svg +5 -0
  238. package/assets/svg/window-finder-resize-arrow-up.svg +5 -0
  239. package/assets/svg/window-resize-left.svg +5 -0
  240. package/assets/svg/window-resize-right.svg +5 -0
  241. package/assets/svg/window-zoom-plus-loupe.svg +5 -0
  242. package/assets/svg/windows.svg +5 -0
  243. package/assets/svg/workspace-mode.svg +5 -0
  244. package/assets/svg/youtube.svg +6 -0
  245. package/components/avatar/avatar.component.d.ts +16 -0
  246. package/components/avatar/avatar.module.d.ts +9 -0
  247. package/components/button/button.component.d.ts +11 -4
  248. package/components/button/button.module.d.ts +2 -1
  249. package/components/dialog/choice-dialog.component.d.ts +8 -5
  250. package/elements/README.md +20 -0
  251. package/elements/package.json +5 -5
  252. package/esm2020/components/avatar/avatar.component.mjs +53 -0
  253. package/esm2020/components/avatar/avatar.module.mjs +33 -0
  254. package/esm2020/components/button/button.component.mjs +55 -0
  255. package/{esm2015/components/button/button.module.js → esm2020/components/button/button.module.mjs} +10 -6
  256. package/{esm2015/components/button-group/button-group.component.js → esm2020/components/button-group/button-group.component.mjs} +6 -12
  257. package/{esm2015/components/button-group/button-group.module.js → esm2020/components/button-group/button-group.module.mjs} +4 -4
  258. package/esm2020/components/dialog/choice-dialog.component.mjs +90 -0
  259. package/{esm2015/components/dialog/confirm-dialog.component.js → esm2020/components/dialog/confirm-dialog.component.mjs} +4 -4
  260. package/{esm2015/components/dialog/dialog.module.js → esm2020/components/dialog/dialog.module.mjs} +4 -4
  261. package/esm2020/components/dialog/dialog.service.mjs +72 -0
  262. package/{esm2015/components/dialog/error-dialog.component.js → esm2020/components/dialog/error-dialog.component.mjs} +4 -4
  263. package/esm2020/components/dialog/portal-dialog.component.mjs +112 -0
  264. package/{esm2015/components/icon/icon.component.js → esm2020/components/icon/icon.component.mjs} +3 -3
  265. package/{esm2015/components/icon/icon.module.js → esm2020/components/icon/icon.module.mjs} +4 -4
  266. package/esm2020/components/notification/notification/notification.component.mjs +69 -0
  267. package/esm2020/components/notification/notification-container/notification-container.component.mjs +86 -0
  268. package/{esm2015/components/notification/notification.module.js → esm2020/components/notification/notification.module.mjs} +4 -4
  269. package/{esm2015/components/notification/notification.service.js → esm2020/components/notification/notification.service.mjs} +3 -3
  270. package/{esm2015/components/popover/popover-trigger.component.js → esm2020/components/popover/popover-trigger.component.mjs} +3 -3
  271. package/esm2020/components/popover/popover-trigger.directive.mjs +133 -0
  272. package/esm2020/components/popover/popover.component.mjs +29 -0
  273. package/{esm2015/components/popover/popover.module.js → esm2020/components/popover/popover.module.mjs} +4 -4
  274. package/{esm2015/components/shared/pipes/pipes.module.js → esm2020/components/shared/pipes/pipes.module.mjs} +4 -4
  275. package/{esm2015/components/shared/pipes/translate.pipe.js → esm2020/components/shared/pipes/translate.pipe.mjs} +3 -3
  276. package/{esm2015/components/shared/pipes/trusthtml.pipe.js → esm2020/components/shared/pipes/trusthtml.pipe.mjs} +3 -3
  277. package/{esm2015/components/shared/translation.service.js → esm2020/components/shared/translation.service.mjs} +3 -3
  278. package/esm2020/components/table/table.component.mjs +179 -0
  279. package/{esm2015/components/table/table.module.js → esm2020/components/table/table.module.mjs} +4 -4
  280. package/{esm2015/elements/elements.js → esm2020/elements/elements.mjs} +4 -4
  281. package/esm2020/public-api.mjs +27 -0
  282. package/fesm2015/{flywheel-io-vision-elements.js → flywheel-io-vision-elements.mjs} +5 -5
  283. package/fesm2015/flywheel-io-vision-elements.mjs.map +1 -0
  284. package/fesm2015/flywheel-io-vision.mjs +1504 -0
  285. package/fesm2015/flywheel-io-vision.mjs.map +1 -0
  286. package/fesm2020/flywheel-io-vision-elements.mjs +85 -0
  287. package/fesm2020/flywheel-io-vision-elements.mjs.map +1 -0
  288. package/fesm2020/flywheel-io-vision.mjs +1494 -0
  289. package/fesm2020/flywheel-io-vision.mjs.map +1 -0
  290. package/package.json +43 -18
  291. package/public-api.d.ts +2 -0
  292. package/scss/atoms/ghost.scss +30 -0
  293. package/scss/config/colors.scss +45 -55
  294. package/scss/config/config.scss +5 -1
  295. package/scss/config/theme.scss +39 -6
  296. package/scss/icons/_icon-glyphs.scss +537 -158
  297. package/scss/material/overrides.scss +6 -1
  298. package/styles.css +1544 -175
  299. package/styles.scss +16 -10
  300. package/bundles/flywheel-io-vision-elements.umd.js +0 -449
  301. package/bundles/flywheel-io-vision-elements.umd.js.map +0 -1
  302. package/bundles/flywheel-io-vision.umd.js +0 -1800
  303. package/bundles/flywheel-io-vision.umd.js.map +0 -1
  304. package/esm2015/components/button/button.component.js +0 -37
  305. package/esm2015/components/dialog/choice-dialog.component.js +0 -78
  306. package/esm2015/components/dialog/dialog.service.js +0 -69
  307. package/esm2015/components/dialog/portal-dialog.component.js +0 -113
  308. package/esm2015/components/notification/notification/notification.component.js +0 -78
  309. package/esm2015/components/notification/notification-container/notification-container.component.js +0 -93
  310. package/esm2015/components/popover/popover-trigger.directive.js +0 -135
  311. package/esm2015/components/popover/popover.component.js +0 -35
  312. package/esm2015/components/table/table.component.js +0 -184
  313. package/esm2015/public-api.js +0 -25
  314. package/fesm2015/flywheel-io-vision-elements.js.map +0 -1
  315. package/fesm2015/flywheel-io-vision.js +0 -1419
  316. package/fesm2015/flywheel-io-vision.js.map +0 -1
  317. /package/{esm2015/components/notification/notification/notification.model.js → esm2020/components/notification/notification/notification.model.mjs} +0 -0
  318. /package/{esm2015/components/notification/notification-timer.service.js → esm2020/components/notification/notification-timer.service.mjs} +0 -0
  319. /package/{esm2015/elements/flywheel-io-vision-elements.js → esm2020/elements/flywheel-io-vision-elements.mjs} +0 -0
  320. /package/{esm2015/elements/polyfills.js → esm2020/elements/polyfills.mjs} +0 -0
  321. /package/{esm2015/elements/public-api.js → esm2020/elements/public-api.mjs} +0 -0
  322. /package/{esm2015/flywheel-io-vision.js → esm2020/flywheel-io-vision.mjs} +0 -0
@@ -0,0 +1,1504 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, Input, NgModule, ViewEncapsulation, Inject, Pipe, Injectable, SimpleChange, EventEmitter, Output, HostBinding, Directive, TemplateRef, ViewChild } from '@angular/core';
3
+ import * as i3 from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
+ import * as i1 from '@angular/material/button';
6
+ import { MatButtonModule } from '@angular/material/button';
7
+ import * as i4 from '@angular/material/dialog';
8
+ import { MAT_DIALOG_DATA, MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';
9
+ import * as i2 from '@angular/material/icon';
10
+ import { MatIconModule } from '@angular/material/icon';
11
+ import * as i1$1 from '@angular/platform-browser';
12
+ import { of, Subject, BehaviorSubject, Subscription } from 'rxjs';
13
+ import * as i5 from '@angular/cdk/portal';
14
+ import { ComponentPortal, TemplatePortal, PortalModule } from '@angular/cdk/portal';
15
+ import { takeUntil, debounceTime } from 'rxjs/operators';
16
+ import * as i1$2 from '@angular/cdk/overlay';
17
+ import { Overlay } from '@angular/cdk/overlay';
18
+ import * as i9 from '@angular/forms';
19
+ import { FormGroup, FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
20
+ import * as i6 from '@angular/material/paginator';
21
+ import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator';
22
+ import * as i5$1 from '@angular/material/sort';
23
+ import { MatSort, MatSortModule } from '@angular/material/sort';
24
+ import * as i1$3 from '@angular/material/table';
25
+ import { MatTableDataSource, MatTableModule } from '@angular/material/table';
26
+ import * as i2$1 from '@angular/material/form-field';
27
+ import * as i3$1 from '@angular/material/select';
28
+ import { MatSelectModule } from '@angular/material/select';
29
+ import * as i4$1 from '@angular/material/core';
30
+ import * as i8 from '@angular/material/input';
31
+ import { MatInputModule } from '@angular/material/input';
32
+
33
+ class FwIconComponent {
34
+ }
35
+ FwIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
36
+ FwIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwIconComponent, selector: "fw-icon", host: { attributes: { "role": "img" }, classAttribute: "vision-icon" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwIconComponent, decorators: [{
38
+ type: Component,
39
+ args: [{
40
+ host: {
41
+ 'role': 'img',
42
+ 'class': 'vision-icon', // apply icon font to glyph content
43
+ },
44
+ selector: 'fw-icon',
45
+ template: '<ng-content></ng-content>',
46
+ changeDetection: ChangeDetectionStrategy.OnPush,
47
+ }]
48
+ }] });
49
+
50
+ class FwAvatarComponent {
51
+ constructor() {
52
+ this.color = 'primary';
53
+ this.variant = 'circular';
54
+ this.content = 'icon';
55
+ this.size = 'small';
56
+ this.initial = '';
57
+ this.imageUrl = '';
58
+ this.imageAltText = '';
59
+ this.icon = 'user';
60
+ this.isImageBroken = false;
61
+ }
62
+ loadImage() {
63
+ this.isImageBroken = false;
64
+ }
65
+ errorImage() {
66
+ this.isImageBroken = true;
67
+ }
68
+ }
69
+ FwAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
70
+ FwAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwAvatarComponent, selector: "fw-avatar", inputs: { color: "color", variant: "variant", content: "content", size: "size", initial: "initial", imageUrl: "imageUrl", imageAltText: "imageAltText", icon: "icon" }, host: { properties: { "class.small": "size === \"small\"", "class.medium": "size === \"medium\"", "class.large": "size === \"large\"", "class.rounded": "variant === \"rounded\"", "class.circular": "variant === \"circular\"", "class.initial": "content === \"initial\"" } }, ngImport: i0, template: "<ng-container [ngSwitch]=\"content\">\n <div *ngSwitchCase=\"'image'\" [ngClass]=\"['avatar', 'avatar-' + color]\">\n <img *ngIf=\"!isImageBroken else displayInitial\" [src]=\"imageUrl\" [alt]=\"imageAltText\" (load)=\"loadImage()\"\n (error)=\"errorImage()\">\n </div>\n <div *ngSwitchCase=\"'icon'\" [ngClass]=\"['avatar', 'avatar-' +color]\">\n <ng-container *ngTemplateOutlet=\"displayIcon\"></ng-container>\n </div>\n <div *ngSwitchCase=\"'initial'\" [ngClass]=\"['avatar','avatar-' + color]\">\n <ng-container *ngTemplateOutlet=\"displayInitial\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #displayInitial>\n <span class=\"initial\" *ngIf=\"initial else displayIcon\">{{ initial }}</span>\n</ng-template>\n\n<ng-template #displayIcon>\n <fw-icon>{{ icon }}</fw-icon>\n</ng-template>", styles: [".white{color:#fff!important}.fill-white{background-color:#fff!important}.border-white{border-color:#fff!important}.border-top-white{border-top:1px solid;border-color:#fff!important}.border-right-white{border-right:1px solid;border-color:#fff!important}.border-bottom-white{border-bottom:1px solid;border-color:#fff!important}.border-left-white{border-left:1px solid;border-color:#fff!important}.black{color:#000!important}.fill-black{background-color:#000!important}.border-black{border-color:#000!important}.border-top-black{border-top:1px solid;border-color:#000!important}.border-right-black{border-right:1px solid;border-color:#000!important}.border-bottom-black{border-bottom:1px solid;border-color:#000!important}.border-left-black{border-left:1px solid;border-color:#000!important}.green{color:#59b96b!important}.fill-green{background-color:#59b96b!important}.border-green{border-color:#59b96b!important}.border-top-green{border-top:1px solid;border-color:#59b96b!important}.border-right-green{border-right:1px solid;border-color:#59b96b!important}.border-bottom-green{border-bottom:1px solid;border-color:#59b96b!important}.border-left-green{border-left:1px solid;border-color:#59b96b!important}.orange{color:#f7941d!important}.fill-orange{background-color:#f7941d!important}.border-orange{border-color:#f7941d!important}.border-top-orange{border-top:1px solid;border-color:#f7941d!important}.border-right-orange{border-right:1px solid;border-color:#f7941d!important}.border-bottom-orange{border-bottom:1px solid;border-color:#f7941d!important}.border-left-orange{border-left:1px solid;border-color:#f7941d!important}.red{color:#de584c!important}.fill-red{background-color:#de584c!important}.border-red{border-color:#de584c!important}.border-top-red{border-top:1px solid;border-color:#de584c!important}.border-right-red{border-right:1px solid;border-color:#de584c!important}.border-bottom-red{border-bottom:1px solid;border-color:#de584c!important}.border-left-red{border-left:1px solid;border-color:#de584c!important}.light-red{color:#f8e5e4!important}.fill-light-red{background-color:#f8e5e4!important}.border-light-red{border-color:#f8e5e4!important}.border-top-light-red{border-top:1px solid;border-color:#f8e5e4!important}.border-right-light-red{border-right:1px solid;border-color:#f8e5e4!important}.border-bottom-light-red{border-bottom:1px solid;border-color:#f8e5e4!important}.border-left-light-red{border-left:1px solid;border-color:#f8e5e4!important}.blue{color:#5871a2!important}.fill-blue{background-color:#5871a2!important}.border-blue{border-color:#5871a2!important}.border-top-blue{border-top:1px solid;border-color:#5871a2!important}.border-right-blue{border-right:1px solid;border-color:#5871a2!important}.border-bottom-blue{border-bottom:1px solid;border-color:#5871a2!important}.border-left-blue{border-left:1px solid;border-color:#5871a2!important}.focus-blue{color:#23527c!important}.fill-focus-blue{background-color:#23527c!important}.border-focus-blue{border-color:#23527c!important}.border-top-focus-blue{border-top:1px solid;border-color:#23527c!important}.border-right-focus-blue{border-right:1px solid;border-color:#23527c!important}.border-bottom-focus-blue{border-bottom:1px solid;border-color:#23527c!important}.border-left-focus-blue{border-left:1px solid;border-color:#23527c!important}.dark-blue{color:#394256!important}.fill-dark-blue{background-color:#394256!important}.border-dark-blue{border-color:#394256!important}.border-top-dark-blue{border-top:1px solid;border-color:#394256!important}.border-right-dark-blue{border-right:1px solid;border-color:#394256!important}.border-bottom-dark-blue{border-bottom:1px solid;border-color:#394256!important}.border-left-dark-blue{border-left:1px solid;border-color:#394256!important}.light-blue{color:#e7effe!important}.fill-light-blue{background-color:#e7effe!important}.border-light-blue{border-color:#e7effe!important}.border-top-light-blue{border-top:1px solid;border-color:#e7effe!important}.border-right-light-blue{border-right:1px solid;border-color:#e7effe!important}.border-bottom-light-blue{border-bottom:1px solid;border-color:#e7effe!important}.border-left-light-blue{border-left:1px solid;border-color:#e7effe!important}.bright-blue{color:#1b68fa!important}.fill-bright-blue{background-color:#1b68fa!important}.border-bright-blue{border-color:#1b68fa!important}.border-top-bright-blue{border-top:1px solid;border-color:#1b68fa!important}.border-right-bright-blue{border-right:1px solid;border-color:#1b68fa!important}.border-bottom-bright-blue{border-bottom:1px solid;border-color:#1b68fa!important}.border-left-bright-blue{border-left:1px solid;border-color:#1b68fa!important}.admin-black{color:#01010a!important}.fill-admin-black{background-color:#01010a!important}.border-admin-black{border-color:#01010a!important}.border-top-admin-black{border-top:1px solid;border-color:#01010a!important}.border-right-admin-black{border-right:1px solid;border-color:#01010a!important}.border-bottom-admin-black{border-bottom:1px solid;border-color:#01010a!important}.border-left-admin-black{border-left:1px solid;border-color:#01010a!important}.accent-purple{color:#b080fc!important}.fill-accent-purple{background-color:#b080fc!important}.border-accent-purple{border-color:#b080fc!important}.border-top-accent-purple{border-top:1px solid;border-color:#b080fc!important}.border-right-accent-purple{border-right:1px solid;border-color:#b080fc!important}.border-bottom-accent-purple{border-bottom:1px solid;border-color:#b080fc!important}.border-left-accent-purple{border-left:1px solid;border-color:#b080fc!important}.grey{color:#58595b!important}.fill-grey{background-color:#58595b!important}.border-grey{border-color:#58595b!important}.border-top-grey{border-top:1px solid;border-color:#58595b!important}.border-right-grey{border-right:1px solid;border-color:#58595b!important}.border-bottom-grey{border-bottom:1px solid;border-color:#58595b!important}.border-left-grey{border-left:1px solid;border-color:#58595b!important}.soft-grey{color:#dddede!important}.fill-soft-grey{background-color:#dddede!important}.border-soft-grey{border-color:#dddede!important}.border-top-soft-grey{border-top:1px solid;border-color:#dddede!important}.border-right-soft-grey{border-right:1px solid;border-color:#dddede!important}.border-bottom-soft-grey{border-bottom:1px solid;border-color:#dddede!important}.border-left-soft-grey{border-left:1px solid;border-color:#dddede!important}.light-grey{color:#eee!important}.fill-light-grey{background-color:#eee!important}.border-light-grey{border-color:#eee!important}.border-top-light-grey{border-top:1px solid;border-color:#eee!important}.border-right-light-grey{border-right:1px solid;border-color:#eee!important}.border-bottom-light-grey{border-bottom:1px solid;border-color:#eee!important}.border-left-light-grey{border-left:1px solid;border-color:#eee!important}.medium-grey{color:#ccc!important}.fill-medium-grey{background-color:#ccc!important}.border-medium-grey{border-color:#ccc!important}.border-top-medium-grey{border-top:1px solid;border-color:#ccc!important}.border-right-medium-grey{border-right:1px solid;border-color:#ccc!important}.border-bottom-medium-grey{border-bottom:1px solid;border-color:#ccc!important}.border-left-medium-grey{border-left:1px solid;border-color:#ccc!important}.medium-dark-grey{color:#999!important}.fill-medium-dark-grey{background-color:#999!important}.border-medium-dark-grey{border-color:#999!important}.border-top-medium-dark-grey{border-top:1px solid;border-color:#999!important}.border-right-medium-dark-grey{border-right:1px solid;border-color:#999!important}.border-bottom-medium-dark-grey{border-bottom:1px solid;border-color:#999!important}.border-left-medium-dark-grey{border-left:1px solid;border-color:#999!important}.dark-grey{color:#222!important}.fill-dark-grey{background-color:#222!important}.border-dark-grey{border-color:#222!important}.border-top-dark-grey{border-top:1px solid;border-color:#222!important}.border-right-dark-grey{border-right:1px solid;border-color:#222!important}.border-bottom-dark-grey{border-bottom:1px solid;border-color:#222!important}.border-left-dark-grey{border-left:1px solid;border-color:#222!important}.shuttle-gray{color:#5d6877!important}.fill-shuttle-gray{background-color:#5d6877!important}.border-shuttle-gray{border-color:#5d6877!important}.border-top-shuttle-gray{border-top:1px solid;border-color:#5d6877!important}.border-right-shuttle-gray{border-right:1px solid;border-color:#5d6877!important}.border-bottom-shuttle-gray{border-bottom:1px solid;border-color:#5d6877!important}.border-left-shuttle-gray{border-left:1px solid;border-color:#5d6877!important}.gull-gray{color:#9ea8b5!important}.fill-gull-gray{background-color:#9ea8b5!important}.border-gull-gray{border-color:#9ea8b5!important}.border-top-gull-gray{border-top:1px solid;border-color:#9ea8b5!important}.border-right-gull-gray{border-right:1px solid;border-color:#9ea8b5!important}.border-bottom-gull-gray{border-bottom:1px solid;border-color:#9ea8b5!important}.border-left-gull-gray{border-left:1px solid;border-color:#9ea8b5!important}.soft-blue{color:#eff1f5!important}.fill-soft-blue{background-color:#eff1f5!important}.border-soft-blue{border-color:#eff1f5!important}.border-top-soft-blue{border-top:1px solid;border-color:#eff1f5!important}.border-right-soft-blue{border-right:1px solid;border-color:#eff1f5!important}.border-bottom-soft-blue{border-bottom:1px solid;border-color:#eff1f5!important}.border-left-soft-blue{border-left:1px solid;border-color:#eff1f5!important}.dark-soft-blue{color:#e9ecf1!important}.fill-dark-soft-blue{background-color:#e9ecf1!important}.border-dark-soft-blue{border-color:#e9ecf1!important}.border-top-dark-soft-blue{border-top:1px solid;border-color:#e9ecf1!important}.border-right-dark-soft-blue{border-right:1px solid;border-color:#e9ecf1!important}.border-bottom-dark-soft-blue{border-bottom:1px solid;border-color:#e9ecf1!important}.border-left-dark-soft-blue{border-left:1px solid;border-color:#e9ecf1!important}.darker-soft-blue{color:#e6e9ef!important}.fill-darker-soft-blue{background-color:#e6e9ef!important}.border-darker-soft-blue{border-color:#e6e9ef!important}.border-top-darker-soft-blue{border-top:1px solid;border-color:#e6e9ef!important}.border-right-darker-soft-blue{border-right:1px solid;border-color:#e6e9ef!important}.border-bottom-darker-soft-blue{border-bottom:1px solid;border-color:#e6e9ef!important}.border-left-darker-soft-blue{border-left:1px solid;border-color:#e6e9ef!important}.light-soft-blue{color:#f5f6f9!important}.fill-light-soft-blue{background-color:#f5f6f9!important}.border-light-soft-blue{border-color:#f5f6f9!important}.border-top-light-soft-blue{border-top:1px solid;border-color:#f5f6f9!important}.border-right-light-soft-blue{border-right:1px solid;border-color:#f5f6f9!important}.border-bottom-light-soft-blue{border-bottom:1px solid;border-color:#f5f6f9!important}.border-left-light-soft-blue{border-left:1px solid;border-color:#f5f6f9!important}.lighter-soft-blue{color:#f8f9fb!important}.fill-lighter-soft-blue{background-color:#f8f9fb!important}.border-lighter-soft-blue{border-color:#f8f9fb!important}.border-top-lighter-soft-blue{border-top:1px solid;border-color:#f8f9fb!important}.border-right-lighter-soft-blue{border-right:1px solid;border-color:#f8f9fb!important}.border-bottom-lighter-soft-blue{border-bottom:1px solid;border-color:#f8f9fb!important}.border-left-lighter-soft-blue{border-left:1px solid;border-color:#f8f9fb!important}.eucalyptus{color:#1b9e4b!important}.fill-eucalyptus{background-color:#1b9e4b!important}.border-eucalyptus{border-color:#1b9e4b!important}.border-top-eucalyptus{border-top:1px solid;border-color:#1b9e4b!important}.border-right-eucalyptus{border-right:1px solid;border-color:#1b9e4b!important}.border-bottom-eucalyptus{border-bottom:1px solid;border-color:#1b9e4b!important}.border-left-eucalyptus{border-left:1px solid;border-color:#1b9e4b!important}.gamboge{color:#dd8e0a!important}.fill-gamboge{background-color:#dd8e0a!important}.border-gamboge{border-color:#dd8e0a!important}.border-top-gamboge{border-top:1px solid;border-color:#dd8e0a!important}.border-right-gamboge{border-right:1px solid;border-color:#dd8e0a!important}.border-bottom-gamboge{border-bottom:1px solid;border-color:#dd8e0a!important}.border-left-gamboge{border-left:1px solid;border-color:#dd8e0a!important}.valencia{color:#d73d3d!important}.fill-valencia{background-color:#d73d3d!important}.border-valencia{border-color:#d73d3d!important}.border-top-valencia{border-top:1px solid;border-color:#d73d3d!important}.border-right-valencia{border-right:1px solid;border-color:#d73d3d!important}.border-bottom-valencia{border-bottom:1px solid;border-color:#d73d3d!important}.border-left-valencia{border-left:1px solid;border-color:#d73d3d!important}:host{display:block}:host.small{width:16px;height:16px;font-size:8px}:host.small .avatar fw-icon{font-size:12px}:host.medium{width:32px;height:32px;font-size:14px}:host.medium .avatar fw-icon{font-size:18px}:host.large{width:40px;height:40px;font-size:14px}:host.large .avatar fw-icon{font-size:24px}:host.rounded{border-radius:4px}:host.circular{border-radius:64px}.avatar{display:flex;flex-direction:row;justify-content:center;align-items:center;background-color:#1b68fa;width:inherit;height:inherit;border-radius:inherit;font-size:inherit}.avatar fw-icon{color:#fff;font-size:inherit}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.avatar .initial{font-family:Inter;font-style:normal;font-weight:500;color:#fff;font-size:inherit}.avatar-primary{background:#1b68fa}.avatar-slate{background:#5d6877}.avatar-red{background:#de584c}.avatar-light-slate{background:#9ea8b5}.avatar-secondary{background:#b080fc}.avatar-warning{background:#dd8e0a}.avatar-success{background:#1B9E4B}\n"], components: [{ type: FwIconComponent, selector: "fw-icon" }], directives: [{ type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwAvatarComponent, decorators: [{
72
+ type: Component,
73
+ args: [{ host: {
74
+ '[class.small]': 'size === "small"',
75
+ '[class.medium]': 'size === "medium"',
76
+ '[class.large]': 'size === "large"',
77
+ '[class.rounded]': 'variant === "rounded"',
78
+ '[class.circular]': 'variant === "circular"',
79
+ '[class.initial]': 'content === "initial"',
80
+ }, selector: 'fw-avatar', template: "<ng-container [ngSwitch]=\"content\">\n <div *ngSwitchCase=\"'image'\" [ngClass]=\"['avatar', 'avatar-' + color]\">\n <img *ngIf=\"!isImageBroken else displayInitial\" [src]=\"imageUrl\" [alt]=\"imageAltText\" (load)=\"loadImage()\"\n (error)=\"errorImage()\">\n </div>\n <div *ngSwitchCase=\"'icon'\" [ngClass]=\"['avatar', 'avatar-' +color]\">\n <ng-container *ngTemplateOutlet=\"displayIcon\"></ng-container>\n </div>\n <div *ngSwitchCase=\"'initial'\" [ngClass]=\"['avatar','avatar-' + color]\">\n <ng-container *ngTemplateOutlet=\"displayInitial\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #displayInitial>\n <span class=\"initial\" *ngIf=\"initial else displayIcon\">{{ initial }}</span>\n</ng-template>\n\n<ng-template #displayIcon>\n <fw-icon>{{ icon }}</fw-icon>\n</ng-template>", styles: [".white{color:#fff!important}.fill-white{background-color:#fff!important}.border-white{border-color:#fff!important}.border-top-white{border-top:1px solid;border-color:#fff!important}.border-right-white{border-right:1px solid;border-color:#fff!important}.border-bottom-white{border-bottom:1px solid;border-color:#fff!important}.border-left-white{border-left:1px solid;border-color:#fff!important}.black{color:#000!important}.fill-black{background-color:#000!important}.border-black{border-color:#000!important}.border-top-black{border-top:1px solid;border-color:#000!important}.border-right-black{border-right:1px solid;border-color:#000!important}.border-bottom-black{border-bottom:1px solid;border-color:#000!important}.border-left-black{border-left:1px solid;border-color:#000!important}.green{color:#59b96b!important}.fill-green{background-color:#59b96b!important}.border-green{border-color:#59b96b!important}.border-top-green{border-top:1px solid;border-color:#59b96b!important}.border-right-green{border-right:1px solid;border-color:#59b96b!important}.border-bottom-green{border-bottom:1px solid;border-color:#59b96b!important}.border-left-green{border-left:1px solid;border-color:#59b96b!important}.orange{color:#f7941d!important}.fill-orange{background-color:#f7941d!important}.border-orange{border-color:#f7941d!important}.border-top-orange{border-top:1px solid;border-color:#f7941d!important}.border-right-orange{border-right:1px solid;border-color:#f7941d!important}.border-bottom-orange{border-bottom:1px solid;border-color:#f7941d!important}.border-left-orange{border-left:1px solid;border-color:#f7941d!important}.red{color:#de584c!important}.fill-red{background-color:#de584c!important}.border-red{border-color:#de584c!important}.border-top-red{border-top:1px solid;border-color:#de584c!important}.border-right-red{border-right:1px solid;border-color:#de584c!important}.border-bottom-red{border-bottom:1px solid;border-color:#de584c!important}.border-left-red{border-left:1px solid;border-color:#de584c!important}.light-red{color:#f8e5e4!important}.fill-light-red{background-color:#f8e5e4!important}.border-light-red{border-color:#f8e5e4!important}.border-top-light-red{border-top:1px solid;border-color:#f8e5e4!important}.border-right-light-red{border-right:1px solid;border-color:#f8e5e4!important}.border-bottom-light-red{border-bottom:1px solid;border-color:#f8e5e4!important}.border-left-light-red{border-left:1px solid;border-color:#f8e5e4!important}.blue{color:#5871a2!important}.fill-blue{background-color:#5871a2!important}.border-blue{border-color:#5871a2!important}.border-top-blue{border-top:1px solid;border-color:#5871a2!important}.border-right-blue{border-right:1px solid;border-color:#5871a2!important}.border-bottom-blue{border-bottom:1px solid;border-color:#5871a2!important}.border-left-blue{border-left:1px solid;border-color:#5871a2!important}.focus-blue{color:#23527c!important}.fill-focus-blue{background-color:#23527c!important}.border-focus-blue{border-color:#23527c!important}.border-top-focus-blue{border-top:1px solid;border-color:#23527c!important}.border-right-focus-blue{border-right:1px solid;border-color:#23527c!important}.border-bottom-focus-blue{border-bottom:1px solid;border-color:#23527c!important}.border-left-focus-blue{border-left:1px solid;border-color:#23527c!important}.dark-blue{color:#394256!important}.fill-dark-blue{background-color:#394256!important}.border-dark-blue{border-color:#394256!important}.border-top-dark-blue{border-top:1px solid;border-color:#394256!important}.border-right-dark-blue{border-right:1px solid;border-color:#394256!important}.border-bottom-dark-blue{border-bottom:1px solid;border-color:#394256!important}.border-left-dark-blue{border-left:1px solid;border-color:#394256!important}.light-blue{color:#e7effe!important}.fill-light-blue{background-color:#e7effe!important}.border-light-blue{border-color:#e7effe!important}.border-top-light-blue{border-top:1px solid;border-color:#e7effe!important}.border-right-light-blue{border-right:1px solid;border-color:#e7effe!important}.border-bottom-light-blue{border-bottom:1px solid;border-color:#e7effe!important}.border-left-light-blue{border-left:1px solid;border-color:#e7effe!important}.bright-blue{color:#1b68fa!important}.fill-bright-blue{background-color:#1b68fa!important}.border-bright-blue{border-color:#1b68fa!important}.border-top-bright-blue{border-top:1px solid;border-color:#1b68fa!important}.border-right-bright-blue{border-right:1px solid;border-color:#1b68fa!important}.border-bottom-bright-blue{border-bottom:1px solid;border-color:#1b68fa!important}.border-left-bright-blue{border-left:1px solid;border-color:#1b68fa!important}.admin-black{color:#01010a!important}.fill-admin-black{background-color:#01010a!important}.border-admin-black{border-color:#01010a!important}.border-top-admin-black{border-top:1px solid;border-color:#01010a!important}.border-right-admin-black{border-right:1px solid;border-color:#01010a!important}.border-bottom-admin-black{border-bottom:1px solid;border-color:#01010a!important}.border-left-admin-black{border-left:1px solid;border-color:#01010a!important}.accent-purple{color:#b080fc!important}.fill-accent-purple{background-color:#b080fc!important}.border-accent-purple{border-color:#b080fc!important}.border-top-accent-purple{border-top:1px solid;border-color:#b080fc!important}.border-right-accent-purple{border-right:1px solid;border-color:#b080fc!important}.border-bottom-accent-purple{border-bottom:1px solid;border-color:#b080fc!important}.border-left-accent-purple{border-left:1px solid;border-color:#b080fc!important}.grey{color:#58595b!important}.fill-grey{background-color:#58595b!important}.border-grey{border-color:#58595b!important}.border-top-grey{border-top:1px solid;border-color:#58595b!important}.border-right-grey{border-right:1px solid;border-color:#58595b!important}.border-bottom-grey{border-bottom:1px solid;border-color:#58595b!important}.border-left-grey{border-left:1px solid;border-color:#58595b!important}.soft-grey{color:#dddede!important}.fill-soft-grey{background-color:#dddede!important}.border-soft-grey{border-color:#dddede!important}.border-top-soft-grey{border-top:1px solid;border-color:#dddede!important}.border-right-soft-grey{border-right:1px solid;border-color:#dddede!important}.border-bottom-soft-grey{border-bottom:1px solid;border-color:#dddede!important}.border-left-soft-grey{border-left:1px solid;border-color:#dddede!important}.light-grey{color:#eee!important}.fill-light-grey{background-color:#eee!important}.border-light-grey{border-color:#eee!important}.border-top-light-grey{border-top:1px solid;border-color:#eee!important}.border-right-light-grey{border-right:1px solid;border-color:#eee!important}.border-bottom-light-grey{border-bottom:1px solid;border-color:#eee!important}.border-left-light-grey{border-left:1px solid;border-color:#eee!important}.medium-grey{color:#ccc!important}.fill-medium-grey{background-color:#ccc!important}.border-medium-grey{border-color:#ccc!important}.border-top-medium-grey{border-top:1px solid;border-color:#ccc!important}.border-right-medium-grey{border-right:1px solid;border-color:#ccc!important}.border-bottom-medium-grey{border-bottom:1px solid;border-color:#ccc!important}.border-left-medium-grey{border-left:1px solid;border-color:#ccc!important}.medium-dark-grey{color:#999!important}.fill-medium-dark-grey{background-color:#999!important}.border-medium-dark-grey{border-color:#999!important}.border-top-medium-dark-grey{border-top:1px solid;border-color:#999!important}.border-right-medium-dark-grey{border-right:1px solid;border-color:#999!important}.border-bottom-medium-dark-grey{border-bottom:1px solid;border-color:#999!important}.border-left-medium-dark-grey{border-left:1px solid;border-color:#999!important}.dark-grey{color:#222!important}.fill-dark-grey{background-color:#222!important}.border-dark-grey{border-color:#222!important}.border-top-dark-grey{border-top:1px solid;border-color:#222!important}.border-right-dark-grey{border-right:1px solid;border-color:#222!important}.border-bottom-dark-grey{border-bottom:1px solid;border-color:#222!important}.border-left-dark-grey{border-left:1px solid;border-color:#222!important}.shuttle-gray{color:#5d6877!important}.fill-shuttle-gray{background-color:#5d6877!important}.border-shuttle-gray{border-color:#5d6877!important}.border-top-shuttle-gray{border-top:1px solid;border-color:#5d6877!important}.border-right-shuttle-gray{border-right:1px solid;border-color:#5d6877!important}.border-bottom-shuttle-gray{border-bottom:1px solid;border-color:#5d6877!important}.border-left-shuttle-gray{border-left:1px solid;border-color:#5d6877!important}.gull-gray{color:#9ea8b5!important}.fill-gull-gray{background-color:#9ea8b5!important}.border-gull-gray{border-color:#9ea8b5!important}.border-top-gull-gray{border-top:1px solid;border-color:#9ea8b5!important}.border-right-gull-gray{border-right:1px solid;border-color:#9ea8b5!important}.border-bottom-gull-gray{border-bottom:1px solid;border-color:#9ea8b5!important}.border-left-gull-gray{border-left:1px solid;border-color:#9ea8b5!important}.soft-blue{color:#eff1f5!important}.fill-soft-blue{background-color:#eff1f5!important}.border-soft-blue{border-color:#eff1f5!important}.border-top-soft-blue{border-top:1px solid;border-color:#eff1f5!important}.border-right-soft-blue{border-right:1px solid;border-color:#eff1f5!important}.border-bottom-soft-blue{border-bottom:1px solid;border-color:#eff1f5!important}.border-left-soft-blue{border-left:1px solid;border-color:#eff1f5!important}.dark-soft-blue{color:#e9ecf1!important}.fill-dark-soft-blue{background-color:#e9ecf1!important}.border-dark-soft-blue{border-color:#e9ecf1!important}.border-top-dark-soft-blue{border-top:1px solid;border-color:#e9ecf1!important}.border-right-dark-soft-blue{border-right:1px solid;border-color:#e9ecf1!important}.border-bottom-dark-soft-blue{border-bottom:1px solid;border-color:#e9ecf1!important}.border-left-dark-soft-blue{border-left:1px solid;border-color:#e9ecf1!important}.darker-soft-blue{color:#e6e9ef!important}.fill-darker-soft-blue{background-color:#e6e9ef!important}.border-darker-soft-blue{border-color:#e6e9ef!important}.border-top-darker-soft-blue{border-top:1px solid;border-color:#e6e9ef!important}.border-right-darker-soft-blue{border-right:1px solid;border-color:#e6e9ef!important}.border-bottom-darker-soft-blue{border-bottom:1px solid;border-color:#e6e9ef!important}.border-left-darker-soft-blue{border-left:1px solid;border-color:#e6e9ef!important}.light-soft-blue{color:#f5f6f9!important}.fill-light-soft-blue{background-color:#f5f6f9!important}.border-light-soft-blue{border-color:#f5f6f9!important}.border-top-light-soft-blue{border-top:1px solid;border-color:#f5f6f9!important}.border-right-light-soft-blue{border-right:1px solid;border-color:#f5f6f9!important}.border-bottom-light-soft-blue{border-bottom:1px solid;border-color:#f5f6f9!important}.border-left-light-soft-blue{border-left:1px solid;border-color:#f5f6f9!important}.lighter-soft-blue{color:#f8f9fb!important}.fill-lighter-soft-blue{background-color:#f8f9fb!important}.border-lighter-soft-blue{border-color:#f8f9fb!important}.border-top-lighter-soft-blue{border-top:1px solid;border-color:#f8f9fb!important}.border-right-lighter-soft-blue{border-right:1px solid;border-color:#f8f9fb!important}.border-bottom-lighter-soft-blue{border-bottom:1px solid;border-color:#f8f9fb!important}.border-left-lighter-soft-blue{border-left:1px solid;border-color:#f8f9fb!important}.eucalyptus{color:#1b9e4b!important}.fill-eucalyptus{background-color:#1b9e4b!important}.border-eucalyptus{border-color:#1b9e4b!important}.border-top-eucalyptus{border-top:1px solid;border-color:#1b9e4b!important}.border-right-eucalyptus{border-right:1px solid;border-color:#1b9e4b!important}.border-bottom-eucalyptus{border-bottom:1px solid;border-color:#1b9e4b!important}.border-left-eucalyptus{border-left:1px solid;border-color:#1b9e4b!important}.gamboge{color:#dd8e0a!important}.fill-gamboge{background-color:#dd8e0a!important}.border-gamboge{border-color:#dd8e0a!important}.border-top-gamboge{border-top:1px solid;border-color:#dd8e0a!important}.border-right-gamboge{border-right:1px solid;border-color:#dd8e0a!important}.border-bottom-gamboge{border-bottom:1px solid;border-color:#dd8e0a!important}.border-left-gamboge{border-left:1px solid;border-color:#dd8e0a!important}.valencia{color:#d73d3d!important}.fill-valencia{background-color:#d73d3d!important}.border-valencia{border-color:#d73d3d!important}.border-top-valencia{border-top:1px solid;border-color:#d73d3d!important}.border-right-valencia{border-right:1px solid;border-color:#d73d3d!important}.border-bottom-valencia{border-bottom:1px solid;border-color:#d73d3d!important}.border-left-valencia{border-left:1px solid;border-color:#d73d3d!important}:host{display:block}:host.small{width:16px;height:16px;font-size:8px}:host.small .avatar fw-icon{font-size:12px}:host.medium{width:32px;height:32px;font-size:14px}:host.medium .avatar fw-icon{font-size:18px}:host.large{width:40px;height:40px;font-size:14px}:host.large .avatar fw-icon{font-size:24px}:host.rounded{border-radius:4px}:host.circular{border-radius:64px}.avatar{display:flex;flex-direction:row;justify-content:center;align-items:center;background-color:#1b68fa;width:inherit;height:inherit;border-radius:inherit;font-size:inherit}.avatar fw-icon{color:#fff;font-size:inherit}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.avatar .initial{font-family:Inter;font-style:normal;font-weight:500;color:#fff;font-size:inherit}.avatar-primary{background:#1b68fa}.avatar-slate{background:#5d6877}.avatar-red{background:#de584c}.avatar-light-slate{background:#9ea8b5}.avatar-secondary{background:#b080fc}.avatar-warning{background:#dd8e0a}.avatar-success{background:#1B9E4B}\n"] }]
81
+ }], propDecorators: { color: [{
82
+ type: Input
83
+ }], variant: [{
84
+ type: Input
85
+ }], content: [{
86
+ type: Input
87
+ }], size: [{
88
+ type: Input
89
+ }], initial: [{
90
+ type: Input
91
+ }], imageUrl: [{
92
+ type: Input
93
+ }], imageAltText: [{
94
+ type: Input
95
+ }], icon: [{
96
+ type: Input
97
+ }] } });
98
+
99
+ class FwIconModule {
100
+ }
101
+ FwIconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
102
+ FwIconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwIconModule, declarations: [FwIconComponent], imports: [CommonModule], exports: [FwIconComponent] });
103
+ FwIconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwIconModule, imports: [[
104
+ CommonModule,
105
+ ]] });
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwIconModule, decorators: [{
107
+ type: NgModule,
108
+ args: [{
109
+ imports: [
110
+ CommonModule,
111
+ ],
112
+ exports: [
113
+ FwIconComponent,
114
+ ],
115
+ declarations: [
116
+ FwIconComponent,
117
+ ],
118
+ }]
119
+ }] });
120
+
121
+ class FwAvatarModule {
122
+ }
123
+ FwAvatarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
124
+ FwAvatarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwAvatarModule, declarations: [FwAvatarComponent], imports: [CommonModule,
125
+ FwIconModule], exports: [FwAvatarComponent] });
126
+ FwAvatarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwAvatarModule, imports: [[
127
+ CommonModule,
128
+ FwIconModule
129
+ ]] });
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwAvatarModule, decorators: [{
131
+ type: NgModule,
132
+ args: [{
133
+ imports: [
134
+ CommonModule,
135
+ FwIconModule
136
+ ],
137
+ exports: [
138
+ FwAvatarComponent,
139
+ ],
140
+ declarations: [
141
+ FwAvatarComponent,
142
+ ],
143
+ entryComponents: [
144
+ FwAvatarComponent,
145
+ ],
146
+ }]
147
+ }] });
148
+
149
+ class FwButtonGroupComponent {
150
+ constructor() {
151
+ this.layout = 'basic';
152
+ this.size = 'medium';
153
+ }
154
+ }
155
+ FwButtonGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
156
+ FwButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwButtonGroupComponent, selector: "fw-button-group", inputs: { layout: "layout", size: "size" }, host: { properties: { "class.small": "size === \"small\"", "class.medium": "size === \"medium\"", "class.large": "size === \"large\"", "class.compact": "layout === \"compact\"" }, classAttribute: "fw-button-group" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: ["fw-button-group.fw-button-group{border-radius:4px;display:inline-flex;align-items:stretch}fw-button-group.fw-button-group.compact button{line-height:24px;height:24px}fw-button-group.fw-button-group.small button{font-size:12px}fw-button-group.fw-button-group.medium button{font-size:14px}fw-button-group.fw-button-group.large button{font-size:18px}fw-button-group.fw-button-group button{min-width:0;margin:0!important;border-radius:0}fw-button-group.fw-button-group>fw-button:first-of-type>button,fw-button-group.fw-button-group>button:first-of-type{border-top-left-radius:4px;border-bottom-left-radius:4px}fw-button-group.fw-button-group>fw-button:last-of-type>button,fw-button-group.fw-button-group>button:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]+fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button[type=stroked]>button,fw-button-group.fw-button-group>fw-button[type=stroked]+fw-button[type=stroked]>button,fw-button-group.fw-button-group>button.mat-stroked-button,fw-button-group.fw-button-group>button.mat-stroked-button+button.mat-stroke-button{border-right-width:0}fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]:last-of-type>button,fw-button-group.fw-button-group>fw-button[type=stroked]:last-of-type>button,fw-button-group.fw-button-group>button.mat-stroked-button:last-of-type{border-right-width:1px!important}fw-button-group.fw-button-group>fw-button:not([ng-reflect-type=stroked])+fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button:not([type=stroked])+fw-button[type=stroked]>button,fw-button-group.fw-button-group>button:not(.mat-stroked-button)+button.mat-stroked-button{border-left-width:0}\n"], encapsulation: i0.ViewEncapsulation.None });
157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwButtonGroupComponent, decorators: [{
158
+ type: Component,
159
+ args: [{ host: {
160
+ 'class': 'fw-button-group',
161
+ '[class.small]': 'size === "small"',
162
+ '[class.medium]': 'size === "medium"',
163
+ '[class.large]': 'size === "large"',
164
+ '[class.compact]': 'layout === "compact"',
165
+ }, selector: 'fw-button-group', template: `<ng-content></ng-content>`, encapsulation: ViewEncapsulation.None, styles: ["fw-button-group.fw-button-group{border-radius:4px;display:inline-flex;align-items:stretch}fw-button-group.fw-button-group.compact button{line-height:24px;height:24px}fw-button-group.fw-button-group.small button{font-size:12px}fw-button-group.fw-button-group.medium button{font-size:14px}fw-button-group.fw-button-group.large button{font-size:18px}fw-button-group.fw-button-group button{min-width:0;margin:0!important;border-radius:0}fw-button-group.fw-button-group>fw-button:first-of-type>button,fw-button-group.fw-button-group>button:first-of-type{border-top-left-radius:4px;border-bottom-left-radius:4px}fw-button-group.fw-button-group>fw-button:last-of-type>button,fw-button-group.fw-button-group>button:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]+fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button[type=stroked]>button,fw-button-group.fw-button-group>fw-button[type=stroked]+fw-button[type=stroked]>button,fw-button-group.fw-button-group>button.mat-stroked-button,fw-button-group.fw-button-group>button.mat-stroked-button+button.mat-stroke-button{border-right-width:0}fw-button-group.fw-button-group>fw-button[ng-reflect-type=stroked]:last-of-type>button,fw-button-group.fw-button-group>fw-button[type=stroked]:last-of-type>button,fw-button-group.fw-button-group>button.mat-stroked-button:last-of-type{border-right-width:1px!important}fw-button-group.fw-button-group>fw-button:not([ng-reflect-type=stroked])+fw-button[ng-reflect-type=stroked]>button,fw-button-group.fw-button-group>fw-button:not([type=stroked])+fw-button[type=stroked]>button,fw-button-group.fw-button-group>button:not(.mat-stroked-button)+button.mat-stroked-button{border-left-width:0}\n"] }]
166
+ }], propDecorators: { layout: [{
167
+ type: Input
168
+ }], size: [{
169
+ type: Input
170
+ }] } });
171
+
172
+ class FwButtonGroupModule {
173
+ }
174
+ FwButtonGroupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
175
+ FwButtonGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwButtonGroupModule, declarations: [FwButtonGroupComponent], exports: [FwButtonGroupComponent] });
176
+ FwButtonGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwButtonGroupModule });
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwButtonGroupModule, decorators: [{
178
+ type: NgModule,
179
+ args: [{
180
+ exports: [
181
+ FwButtonGroupComponent,
182
+ ],
183
+ declarations: [
184
+ FwButtonGroupComponent,
185
+ ],
186
+ entryComponents: [
187
+ FwButtonGroupComponent,
188
+ ]
189
+ }]
190
+ }] });
191
+
192
+ class FwButtonComponent {
193
+ constructor() {
194
+ this.layout = 'basic';
195
+ this.size = 'medium';
196
+ this.type = 'ghost';
197
+ this.disabled = false;
198
+ this.leftIcon = false;
199
+ this.rightIcon = false;
200
+ this.leftIconSwap = '';
201
+ this.rightIconSwap = '';
202
+ this.dropDown = false;
203
+ this.showText = true;
204
+ this.dropDownValue = 'chevron-down';
205
+ }
206
+ }
207
+ FwButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
208
+ FwButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwButtonComponent, selector: "fw-button", inputs: { color: "color", layout: "layout", size: "size", type: "type", disabled: "disabled", leftIcon: "leftIcon", rightIcon: "rightIcon", leftIconSwap: "leftIconSwap", rightIconSwap: "rightIconSwap", dropDown: "dropDown", showText: "showText" }, host: { properties: { "class.small": "size === \"small\"", "class.medium": "size === \"medium\"", "class.large": "size === \"large\"", "class.compact": "layout === \"compact\"" }, classAttribute: "fw-button" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n <button *ngSwitchCase=\"'outline'\" [class]=\"color + '-button'\" [ngClass]=\"{\n 'invisible': !showText && !rightIcon && !leftIcon && !dropDown, \n 'button-disabled': disabled,\n 'text-color border-color': true }\" mat-stroked-button>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n <button *ngSwitchCase=\"'solid'\" [class]=\"color + '-button'\" [ngClass]=\"{\n 'button-disabled': disabled,\n 'w-28': !showText && !rightIcon && !leftIcon && !dropDown }\" mat-flat-button>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n <button *ngSwitchCase=\"'ghost'\" [class]=\"color + '-button'\" [ngClass]=\"{\n 'hidden': !showText && !rightIcon && !leftIcon && !dropDown, \n 'button-disabled': disabled,\n 'text-color': true }\" mat-button>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n</ng-container>\n\n<ng-template #content>\n <fw-icon [class.pr-2]=\"showText\" *ngIf=\"leftIcon\">{{ leftIconSwap }}</fw-icon>\n <ng-content *ngIf=\"showText\"></ng-content>\n <fw-icon [class.pl-2]=\"showText\" *ngIf=\"rightIcon && !leftIcon\">{{ rightIconSwap }}</fw-icon>\n <fw-icon [class.pl-2]=\"showText || rightIcon || leftIcon\" *ngIf=\"dropDown\">{{ dropDownValue }}</fw-icon>\n</ng-template>", styles: [".white{color:#fff!important}.fill-white{background-color:#fff!important}.border-white{border-color:#fff!important}.border-top-white{border-top:1px solid;border-color:#fff!important}.border-right-white{border-right:1px solid;border-color:#fff!important}.border-bottom-white{border-bottom:1px solid;border-color:#fff!important}.border-left-white{border-left:1px solid;border-color:#fff!important}.black{color:#000!important}.fill-black{background-color:#000!important}.border-black{border-color:#000!important}.border-top-black{border-top:1px solid;border-color:#000!important}.border-right-black{border-right:1px solid;border-color:#000!important}.border-bottom-black{border-bottom:1px solid;border-color:#000!important}.border-left-black{border-left:1px solid;border-color:#000!important}.green{color:#59b96b!important}.fill-green{background-color:#59b96b!important}.border-green{border-color:#59b96b!important}.border-top-green{border-top:1px solid;border-color:#59b96b!important}.border-right-green{border-right:1px solid;border-color:#59b96b!important}.border-bottom-green{border-bottom:1px solid;border-color:#59b96b!important}.border-left-green{border-left:1px solid;border-color:#59b96b!important}.orange{color:#f7941d!important}.fill-orange{background-color:#f7941d!important}.border-orange{border-color:#f7941d!important}.border-top-orange{border-top:1px solid;border-color:#f7941d!important}.border-right-orange{border-right:1px solid;border-color:#f7941d!important}.border-bottom-orange{border-bottom:1px solid;border-color:#f7941d!important}.border-left-orange{border-left:1px solid;border-color:#f7941d!important}.red{color:#de584c!important}.fill-red{background-color:#de584c!important}.border-red{border-color:#de584c!important}.border-top-red{border-top:1px solid;border-color:#de584c!important}.border-right-red{border-right:1px solid;border-color:#de584c!important}.border-bottom-red{border-bottom:1px solid;border-color:#de584c!important}.border-left-red{border-left:1px solid;border-color:#de584c!important}.light-red{color:#f8e5e4!important}.fill-light-red{background-color:#f8e5e4!important}.border-light-red{border-color:#f8e5e4!important}.border-top-light-red{border-top:1px solid;border-color:#f8e5e4!important}.border-right-light-red{border-right:1px solid;border-color:#f8e5e4!important}.border-bottom-light-red{border-bottom:1px solid;border-color:#f8e5e4!important}.border-left-light-red{border-left:1px solid;border-color:#f8e5e4!important}.blue{color:#5871a2!important}.fill-blue{background-color:#5871a2!important}.border-blue{border-color:#5871a2!important}.border-top-blue{border-top:1px solid;border-color:#5871a2!important}.border-right-blue{border-right:1px solid;border-color:#5871a2!important}.border-bottom-blue{border-bottom:1px solid;border-color:#5871a2!important}.border-left-blue{border-left:1px solid;border-color:#5871a2!important}.focus-blue{color:#23527c!important}.fill-focus-blue{background-color:#23527c!important}.border-focus-blue{border-color:#23527c!important}.border-top-focus-blue{border-top:1px solid;border-color:#23527c!important}.border-right-focus-blue{border-right:1px solid;border-color:#23527c!important}.border-bottom-focus-blue{border-bottom:1px solid;border-color:#23527c!important}.border-left-focus-blue{border-left:1px solid;border-color:#23527c!important}.dark-blue{color:#394256!important}.fill-dark-blue{background-color:#394256!important}.border-dark-blue{border-color:#394256!important}.border-top-dark-blue{border-top:1px solid;border-color:#394256!important}.border-right-dark-blue{border-right:1px solid;border-color:#394256!important}.border-bottom-dark-blue{border-bottom:1px solid;border-color:#394256!important}.border-left-dark-blue{border-left:1px solid;border-color:#394256!important}.light-blue{color:#e7effe!important}.fill-light-blue{background-color:#e7effe!important}.border-light-blue{border-color:#e7effe!important}.border-top-light-blue{border-top:1px solid;border-color:#e7effe!important}.border-right-light-blue{border-right:1px solid;border-color:#e7effe!important}.border-bottom-light-blue{border-bottom:1px solid;border-color:#e7effe!important}.border-left-light-blue{border-left:1px solid;border-color:#e7effe!important}.bright-blue{color:#1b68fa!important}.fill-bright-blue{background-color:#1b68fa!important}.border-bright-blue{border-color:#1b68fa!important}.border-top-bright-blue{border-top:1px solid;border-color:#1b68fa!important}.border-right-bright-blue{border-right:1px solid;border-color:#1b68fa!important}.border-bottom-bright-blue{border-bottom:1px solid;border-color:#1b68fa!important}.border-left-bright-blue{border-left:1px solid;border-color:#1b68fa!important}.admin-black{color:#01010a!important}.fill-admin-black{background-color:#01010a!important}.border-admin-black{border-color:#01010a!important}.border-top-admin-black{border-top:1px solid;border-color:#01010a!important}.border-right-admin-black{border-right:1px solid;border-color:#01010a!important}.border-bottom-admin-black{border-bottom:1px solid;border-color:#01010a!important}.border-left-admin-black{border-left:1px solid;border-color:#01010a!important}.accent-purple{color:#b080fc!important}.fill-accent-purple{background-color:#b080fc!important}.border-accent-purple{border-color:#b080fc!important}.border-top-accent-purple{border-top:1px solid;border-color:#b080fc!important}.border-right-accent-purple{border-right:1px solid;border-color:#b080fc!important}.border-bottom-accent-purple{border-bottom:1px solid;border-color:#b080fc!important}.border-left-accent-purple{border-left:1px solid;border-color:#b080fc!important}.grey{color:#58595b!important}.fill-grey{background-color:#58595b!important}.border-grey{border-color:#58595b!important}.border-top-grey{border-top:1px solid;border-color:#58595b!important}.border-right-grey{border-right:1px solid;border-color:#58595b!important}.border-bottom-grey{border-bottom:1px solid;border-color:#58595b!important}.border-left-grey{border-left:1px solid;border-color:#58595b!important}.soft-grey{color:#dddede!important}.fill-soft-grey{background-color:#dddede!important}.border-soft-grey{border-color:#dddede!important}.border-top-soft-grey{border-top:1px solid;border-color:#dddede!important}.border-right-soft-grey{border-right:1px solid;border-color:#dddede!important}.border-bottom-soft-grey{border-bottom:1px solid;border-color:#dddede!important}.border-left-soft-grey{border-left:1px solid;border-color:#dddede!important}.light-grey{color:#eee!important}.fill-light-grey{background-color:#eee!important}.border-light-grey{border-color:#eee!important}.border-top-light-grey{border-top:1px solid;border-color:#eee!important}.border-right-light-grey{border-right:1px solid;border-color:#eee!important}.border-bottom-light-grey{border-bottom:1px solid;border-color:#eee!important}.border-left-light-grey{border-left:1px solid;border-color:#eee!important}.medium-grey{color:#ccc!important}.fill-medium-grey{background-color:#ccc!important}.border-medium-grey{border-color:#ccc!important}.border-top-medium-grey{border-top:1px solid;border-color:#ccc!important}.border-right-medium-grey{border-right:1px solid;border-color:#ccc!important}.border-bottom-medium-grey{border-bottom:1px solid;border-color:#ccc!important}.border-left-medium-grey{border-left:1px solid;border-color:#ccc!important}.medium-dark-grey{color:#999!important}.fill-medium-dark-grey{background-color:#999!important}.border-medium-dark-grey{border-color:#999!important}.border-top-medium-dark-grey{border-top:1px solid;border-color:#999!important}.border-right-medium-dark-grey{border-right:1px solid;border-color:#999!important}.border-bottom-medium-dark-grey{border-bottom:1px solid;border-color:#999!important}.border-left-medium-dark-grey{border-left:1px solid;border-color:#999!important}.dark-grey{color:#222!important}.fill-dark-grey{background-color:#222!important}.border-dark-grey{border-color:#222!important}.border-top-dark-grey{border-top:1px solid;border-color:#222!important}.border-right-dark-grey{border-right:1px solid;border-color:#222!important}.border-bottom-dark-grey{border-bottom:1px solid;border-color:#222!important}.border-left-dark-grey{border-left:1px solid;border-color:#222!important}.shuttle-gray{color:#5d6877!important}.fill-shuttle-gray{background-color:#5d6877!important}.border-shuttle-gray{border-color:#5d6877!important}.border-top-shuttle-gray{border-top:1px solid;border-color:#5d6877!important}.border-right-shuttle-gray{border-right:1px solid;border-color:#5d6877!important}.border-bottom-shuttle-gray{border-bottom:1px solid;border-color:#5d6877!important}.border-left-shuttle-gray{border-left:1px solid;border-color:#5d6877!important}.gull-gray{color:#9ea8b5!important}.fill-gull-gray{background-color:#9ea8b5!important}.border-gull-gray{border-color:#9ea8b5!important}.border-top-gull-gray{border-top:1px solid;border-color:#9ea8b5!important}.border-right-gull-gray{border-right:1px solid;border-color:#9ea8b5!important}.border-bottom-gull-gray{border-bottom:1px solid;border-color:#9ea8b5!important}.border-left-gull-gray{border-left:1px solid;border-color:#9ea8b5!important}.soft-blue{color:#eff1f5!important}.fill-soft-blue{background-color:#eff1f5!important}.border-soft-blue{border-color:#eff1f5!important}.border-top-soft-blue{border-top:1px solid;border-color:#eff1f5!important}.border-right-soft-blue{border-right:1px solid;border-color:#eff1f5!important}.border-bottom-soft-blue{border-bottom:1px solid;border-color:#eff1f5!important}.border-left-soft-blue{border-left:1px solid;border-color:#eff1f5!important}.dark-soft-blue{color:#e9ecf1!important}.fill-dark-soft-blue{background-color:#e9ecf1!important}.border-dark-soft-blue{border-color:#e9ecf1!important}.border-top-dark-soft-blue{border-top:1px solid;border-color:#e9ecf1!important}.border-right-dark-soft-blue{border-right:1px solid;border-color:#e9ecf1!important}.border-bottom-dark-soft-blue{border-bottom:1px solid;border-color:#e9ecf1!important}.border-left-dark-soft-blue{border-left:1px solid;border-color:#e9ecf1!important}.darker-soft-blue{color:#e6e9ef!important}.fill-darker-soft-blue{background-color:#e6e9ef!important}.border-darker-soft-blue{border-color:#e6e9ef!important}.border-top-darker-soft-blue{border-top:1px solid;border-color:#e6e9ef!important}.border-right-darker-soft-blue{border-right:1px solid;border-color:#e6e9ef!important}.border-bottom-darker-soft-blue{border-bottom:1px solid;border-color:#e6e9ef!important}.border-left-darker-soft-blue{border-left:1px solid;border-color:#e6e9ef!important}.light-soft-blue{color:#f5f6f9!important}.fill-light-soft-blue{background-color:#f5f6f9!important}.border-light-soft-blue{border-color:#f5f6f9!important}.border-top-light-soft-blue{border-top:1px solid;border-color:#f5f6f9!important}.border-right-light-soft-blue{border-right:1px solid;border-color:#f5f6f9!important}.border-bottom-light-soft-blue{border-bottom:1px solid;border-color:#f5f6f9!important}.border-left-light-soft-blue{border-left:1px solid;border-color:#f5f6f9!important}.lighter-soft-blue{color:#f8f9fb!important}.fill-lighter-soft-blue{background-color:#f8f9fb!important}.border-lighter-soft-blue{border-color:#f8f9fb!important}.border-top-lighter-soft-blue{border-top:1px solid;border-color:#f8f9fb!important}.border-right-lighter-soft-blue{border-right:1px solid;border-color:#f8f9fb!important}.border-bottom-lighter-soft-blue{border-bottom:1px solid;border-color:#f8f9fb!important}.border-left-lighter-soft-blue{border-left:1px solid;border-color:#f8f9fb!important}.eucalyptus{color:#1b9e4b!important}.fill-eucalyptus{background-color:#1b9e4b!important}.border-eucalyptus{border-color:#1b9e4b!important}.border-top-eucalyptus{border-top:1px solid;border-color:#1b9e4b!important}.border-right-eucalyptus{border-right:1px solid;border-color:#1b9e4b!important}.border-bottom-eucalyptus{border-bottom:1px solid;border-color:#1b9e4b!important}.border-left-eucalyptus{border-left:1px solid;border-color:#1b9e4b!important}.gamboge{color:#dd8e0a!important}.fill-gamboge{background-color:#dd8e0a!important}.border-gamboge{border-color:#dd8e0a!important}.border-top-gamboge{border-top:1px solid;border-color:#dd8e0a!important}.border-right-gamboge{border-right:1px solid;border-color:#dd8e0a!important}.border-bottom-gamboge{border-bottom:1px solid;border-color:#dd8e0a!important}.border-left-gamboge{border-left:1px solid;border-color:#dd8e0a!important}.valencia{color:#d73d3d!important}.fill-valencia{background-color:#d73d3d!important}.border-valencia{border-color:#d73d3d!important}.border-top-valencia{border-top:1px solid;border-color:#d73d3d!important}.border-right-valencia{border-right:1px solid;border-color:#d73d3d!important}.border-bottom-valencia{border-bottom:1px solid;border-color:#d73d3d!important}.border-left-valencia{border-left:1px solid;border-color:#d73d3d!important}:host.compact>button{line-height:24px;min-height:24px}:host.small{font-size:12px}:host.medium{font-size:14px}:host.large{font-size:18px}button{font-size:inherit;padding:0 12px;min-height:36px;min-width:44px}.primary-button{background:#1b68fa;color:#fff}.primary-button.text-color{color:#1b68fa;background:none}.primary-button.text-color:hover{background:#e4edfe}.primary-button.text-color:active{background:#bbd2fe}.primary-button.border-color{border:1px solid var(--color-shuttle-gray-100)}.primary-button.border-color:hover,.primary-button.border-color:active{border:1px solid #ebefff}.primary-button:hover{background:#104bf8}.primary-button:active{background:#083af6}.secondary-button{background:#b080fc;color:#fff}.secondary-button.text-color{color:#b080fc;background:none}.secondary-button.text-color:hover{background:#f6f0ff}.secondary-button.text-color:active{background:#e7d9fe}.secondary-button.border-color{border:1px solid var(--color-shuttle-gray-100)}.secondary-button.border-color:hover,.secondary-button.border-color:active{border:1px solid #e3d7ff}.secondary-button:hover{background:#a06dfb}.secondary-button:active{background:#9763fb}.danger-button{background:#d73d3d;color:#fff}.danger-button.text-color{color:#d73d3d;background:none}.danger-button.text-color:hover{background:#faeae9}.danger-button.text-color:active{background:#f4cbc9}.danger-button.border-color{border:1px solid var(--color-shuttle-gray-100)}.danger-button.border-color:hover,.danger-button.border-color:active{border:1px solid #ffcac9}.danger-button:hover{background:#d9534b}.danger-button:active{background:#d54c44}.slate-button{background:var(--color-shuttle-gray-400);color:#fff}.slate-button.text-color{color:var(--color-shuttle-gray-400);background:none}.slate-button.text-color:hover{background:var(--color-shuttle-gray-100)}.slate-button.text-color:active{background:var(--color-shuttle-gray-200)}.slate-button.border-color,.slate-button.border-color:hover,.slate-button.border-color:active{border:1px solid var(--color-shuttle-gray-100)}.slate-button:hover{background:var(--color-shuttle-gray-500)}.slate-button:active{background:var(--color-shuttle-gray-700)}.skeleton-button{background:var(--color-shuttle-gray-400);color:#fff}.skeleton-button.text-color{color:var(--color-shuttle-gray-400);background:none}.skeleton-button.text-color:hover{background:var(--color-shuttle-gray-100)}.skeleton-button.text-color:active{background:var(--color-shuttle-gray-200)}.skeleton-button.border-color,.skeleton-button.border-color:hover,.skeleton-button.border-color:active{border:1px solid var(--color-shuttle-gray-100)}.skeleton-button:hover{background:var(--color-shuttle-gray-500)}.skeleton-button:active{background:var(--color-shuttle-gray-700)}.warning-button{background:var(--color-gamboge-500);color:#fff}.warning-button.text-color{color:var(--color-gamboge-500);background:none}.warning-button.text-color:hover{background:var(--color-gamboge-50)}.warning-button.text-color:active{background:var(--color-gamboge-100)}.warning-button.border-color{border:1px solid var(--color-shuttle-gray-100)}.warning-button.border-color:hover,.warning-button.border-color:active{border:1px solid var(--color-gamboge-A200)}.warning-button:hover{background:var(--color-gamboge-600)}.warning-button:active{background:var(--color-gamboge-700)}.success-button{background:#1B9E4B;color:#fff}.success-button.text-color{color:#1b9e4b;background:none}.success-button.text-color:hover{background:#cdead3}.success-button.text-color:active{background:#acdcb5}.success-button.border-color{border:1px solid var(--color-shuttle-gray-100)}.success-button.border-color:hover,.success-button.border-color:active{border:1px solid #d9ffde}.success-button:hover{background:#3ea24e}.success-button:active{background:#2e933c}.button-disabled{opacity:.4}\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: FwIconComponent, selector: "fw-icon" }], directives: [{ type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwButtonComponent, decorators: [{
210
+ type: Component,
211
+ args: [{ host: {
212
+ 'class': 'fw-button',
213
+ '[class.small]': 'size === "small"',
214
+ '[class.medium]': 'size === "medium"',
215
+ '[class.large]': 'size === "large"',
216
+ '[class.compact]': 'layout === "compact"',
217
+ }, selector: 'fw-button', template: "<ng-container [ngSwitch]=\"type\">\n <button *ngSwitchCase=\"'outline'\" [class]=\"color + '-button'\" [ngClass]=\"{\n 'invisible': !showText && !rightIcon && !leftIcon && !dropDown, \n 'button-disabled': disabled,\n 'text-color border-color': true }\" mat-stroked-button>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n <button *ngSwitchCase=\"'solid'\" [class]=\"color + '-button'\" [ngClass]=\"{\n 'button-disabled': disabled,\n 'w-28': !showText && !rightIcon && !leftIcon && !dropDown }\" mat-flat-button>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n <button *ngSwitchCase=\"'ghost'\" [class]=\"color + '-button'\" [ngClass]=\"{\n 'hidden': !showText && !rightIcon && !leftIcon && !dropDown, \n 'button-disabled': disabled,\n 'text-color': true }\" mat-button>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n</ng-container>\n\n<ng-template #content>\n <fw-icon [class.pr-2]=\"showText\" *ngIf=\"leftIcon\">{{ leftIconSwap }}</fw-icon>\n <ng-content *ngIf=\"showText\"></ng-content>\n <fw-icon [class.pl-2]=\"showText\" *ngIf=\"rightIcon && !leftIcon\">{{ rightIconSwap }}</fw-icon>\n <fw-icon [class.pl-2]=\"showText || rightIcon || leftIcon\" *ngIf=\"dropDown\">{{ dropDownValue }}</fw-icon>\n</ng-template>", styles: [".white{color:#fff!important}.fill-white{background-color:#fff!important}.border-white{border-color:#fff!important}.border-top-white{border-top:1px solid;border-color:#fff!important}.border-right-white{border-right:1px solid;border-color:#fff!important}.border-bottom-white{border-bottom:1px solid;border-color:#fff!important}.border-left-white{border-left:1px solid;border-color:#fff!important}.black{color:#000!important}.fill-black{background-color:#000!important}.border-black{border-color:#000!important}.border-top-black{border-top:1px solid;border-color:#000!important}.border-right-black{border-right:1px solid;border-color:#000!important}.border-bottom-black{border-bottom:1px solid;border-color:#000!important}.border-left-black{border-left:1px solid;border-color:#000!important}.green{color:#59b96b!important}.fill-green{background-color:#59b96b!important}.border-green{border-color:#59b96b!important}.border-top-green{border-top:1px solid;border-color:#59b96b!important}.border-right-green{border-right:1px solid;border-color:#59b96b!important}.border-bottom-green{border-bottom:1px solid;border-color:#59b96b!important}.border-left-green{border-left:1px solid;border-color:#59b96b!important}.orange{color:#f7941d!important}.fill-orange{background-color:#f7941d!important}.border-orange{border-color:#f7941d!important}.border-top-orange{border-top:1px solid;border-color:#f7941d!important}.border-right-orange{border-right:1px solid;border-color:#f7941d!important}.border-bottom-orange{border-bottom:1px solid;border-color:#f7941d!important}.border-left-orange{border-left:1px solid;border-color:#f7941d!important}.red{color:#de584c!important}.fill-red{background-color:#de584c!important}.border-red{border-color:#de584c!important}.border-top-red{border-top:1px solid;border-color:#de584c!important}.border-right-red{border-right:1px solid;border-color:#de584c!important}.border-bottom-red{border-bottom:1px solid;border-color:#de584c!important}.border-left-red{border-left:1px solid;border-color:#de584c!important}.light-red{color:#f8e5e4!important}.fill-light-red{background-color:#f8e5e4!important}.border-light-red{border-color:#f8e5e4!important}.border-top-light-red{border-top:1px solid;border-color:#f8e5e4!important}.border-right-light-red{border-right:1px solid;border-color:#f8e5e4!important}.border-bottom-light-red{border-bottom:1px solid;border-color:#f8e5e4!important}.border-left-light-red{border-left:1px solid;border-color:#f8e5e4!important}.blue{color:#5871a2!important}.fill-blue{background-color:#5871a2!important}.border-blue{border-color:#5871a2!important}.border-top-blue{border-top:1px solid;border-color:#5871a2!important}.border-right-blue{border-right:1px solid;border-color:#5871a2!important}.border-bottom-blue{border-bottom:1px solid;border-color:#5871a2!important}.border-left-blue{border-left:1px solid;border-color:#5871a2!important}.focus-blue{color:#23527c!important}.fill-focus-blue{background-color:#23527c!important}.border-focus-blue{border-color:#23527c!important}.border-top-focus-blue{border-top:1px solid;border-color:#23527c!important}.border-right-focus-blue{border-right:1px solid;border-color:#23527c!important}.border-bottom-focus-blue{border-bottom:1px solid;border-color:#23527c!important}.border-left-focus-blue{border-left:1px solid;border-color:#23527c!important}.dark-blue{color:#394256!important}.fill-dark-blue{background-color:#394256!important}.border-dark-blue{border-color:#394256!important}.border-top-dark-blue{border-top:1px solid;border-color:#394256!important}.border-right-dark-blue{border-right:1px solid;border-color:#394256!important}.border-bottom-dark-blue{border-bottom:1px solid;border-color:#394256!important}.border-left-dark-blue{border-left:1px solid;border-color:#394256!important}.light-blue{color:#e7effe!important}.fill-light-blue{background-color:#e7effe!important}.border-light-blue{border-color:#e7effe!important}.border-top-light-blue{border-top:1px solid;border-color:#e7effe!important}.border-right-light-blue{border-right:1px solid;border-color:#e7effe!important}.border-bottom-light-blue{border-bottom:1px solid;border-color:#e7effe!important}.border-left-light-blue{border-left:1px solid;border-color:#e7effe!important}.bright-blue{color:#1b68fa!important}.fill-bright-blue{background-color:#1b68fa!important}.border-bright-blue{border-color:#1b68fa!important}.border-top-bright-blue{border-top:1px solid;border-color:#1b68fa!important}.border-right-bright-blue{border-right:1px solid;border-color:#1b68fa!important}.border-bottom-bright-blue{border-bottom:1px solid;border-color:#1b68fa!important}.border-left-bright-blue{border-left:1px solid;border-color:#1b68fa!important}.admin-black{color:#01010a!important}.fill-admin-black{background-color:#01010a!important}.border-admin-black{border-color:#01010a!important}.border-top-admin-black{border-top:1px solid;border-color:#01010a!important}.border-right-admin-black{border-right:1px solid;border-color:#01010a!important}.border-bottom-admin-black{border-bottom:1px solid;border-color:#01010a!important}.border-left-admin-black{border-left:1px solid;border-color:#01010a!important}.accent-purple{color:#b080fc!important}.fill-accent-purple{background-color:#b080fc!important}.border-accent-purple{border-color:#b080fc!important}.border-top-accent-purple{border-top:1px solid;border-color:#b080fc!important}.border-right-accent-purple{border-right:1px solid;border-color:#b080fc!important}.border-bottom-accent-purple{border-bottom:1px solid;border-color:#b080fc!important}.border-left-accent-purple{border-left:1px solid;border-color:#b080fc!important}.grey{color:#58595b!important}.fill-grey{background-color:#58595b!important}.border-grey{border-color:#58595b!important}.border-top-grey{border-top:1px solid;border-color:#58595b!important}.border-right-grey{border-right:1px solid;border-color:#58595b!important}.border-bottom-grey{border-bottom:1px solid;border-color:#58595b!important}.border-left-grey{border-left:1px solid;border-color:#58595b!important}.soft-grey{color:#dddede!important}.fill-soft-grey{background-color:#dddede!important}.border-soft-grey{border-color:#dddede!important}.border-top-soft-grey{border-top:1px solid;border-color:#dddede!important}.border-right-soft-grey{border-right:1px solid;border-color:#dddede!important}.border-bottom-soft-grey{border-bottom:1px solid;border-color:#dddede!important}.border-left-soft-grey{border-left:1px solid;border-color:#dddede!important}.light-grey{color:#eee!important}.fill-light-grey{background-color:#eee!important}.border-light-grey{border-color:#eee!important}.border-top-light-grey{border-top:1px solid;border-color:#eee!important}.border-right-light-grey{border-right:1px solid;border-color:#eee!important}.border-bottom-light-grey{border-bottom:1px solid;border-color:#eee!important}.border-left-light-grey{border-left:1px solid;border-color:#eee!important}.medium-grey{color:#ccc!important}.fill-medium-grey{background-color:#ccc!important}.border-medium-grey{border-color:#ccc!important}.border-top-medium-grey{border-top:1px solid;border-color:#ccc!important}.border-right-medium-grey{border-right:1px solid;border-color:#ccc!important}.border-bottom-medium-grey{border-bottom:1px solid;border-color:#ccc!important}.border-left-medium-grey{border-left:1px solid;border-color:#ccc!important}.medium-dark-grey{color:#999!important}.fill-medium-dark-grey{background-color:#999!important}.border-medium-dark-grey{border-color:#999!important}.border-top-medium-dark-grey{border-top:1px solid;border-color:#999!important}.border-right-medium-dark-grey{border-right:1px solid;border-color:#999!important}.border-bottom-medium-dark-grey{border-bottom:1px solid;border-color:#999!important}.border-left-medium-dark-grey{border-left:1px solid;border-color:#999!important}.dark-grey{color:#222!important}.fill-dark-grey{background-color:#222!important}.border-dark-grey{border-color:#222!important}.border-top-dark-grey{border-top:1px solid;border-color:#222!important}.border-right-dark-grey{border-right:1px solid;border-color:#222!important}.border-bottom-dark-grey{border-bottom:1px solid;border-color:#222!important}.border-left-dark-grey{border-left:1px solid;border-color:#222!important}.shuttle-gray{color:#5d6877!important}.fill-shuttle-gray{background-color:#5d6877!important}.border-shuttle-gray{border-color:#5d6877!important}.border-top-shuttle-gray{border-top:1px solid;border-color:#5d6877!important}.border-right-shuttle-gray{border-right:1px solid;border-color:#5d6877!important}.border-bottom-shuttle-gray{border-bottom:1px solid;border-color:#5d6877!important}.border-left-shuttle-gray{border-left:1px solid;border-color:#5d6877!important}.gull-gray{color:#9ea8b5!important}.fill-gull-gray{background-color:#9ea8b5!important}.border-gull-gray{border-color:#9ea8b5!important}.border-top-gull-gray{border-top:1px solid;border-color:#9ea8b5!important}.border-right-gull-gray{border-right:1px solid;border-color:#9ea8b5!important}.border-bottom-gull-gray{border-bottom:1px solid;border-color:#9ea8b5!important}.border-left-gull-gray{border-left:1px solid;border-color:#9ea8b5!important}.soft-blue{color:#eff1f5!important}.fill-soft-blue{background-color:#eff1f5!important}.border-soft-blue{border-color:#eff1f5!important}.border-top-soft-blue{border-top:1px solid;border-color:#eff1f5!important}.border-right-soft-blue{border-right:1px solid;border-color:#eff1f5!important}.border-bottom-soft-blue{border-bottom:1px solid;border-color:#eff1f5!important}.border-left-soft-blue{border-left:1px solid;border-color:#eff1f5!important}.dark-soft-blue{color:#e9ecf1!important}.fill-dark-soft-blue{background-color:#e9ecf1!important}.border-dark-soft-blue{border-color:#e9ecf1!important}.border-top-dark-soft-blue{border-top:1px solid;border-color:#e9ecf1!important}.border-right-dark-soft-blue{border-right:1px solid;border-color:#e9ecf1!important}.border-bottom-dark-soft-blue{border-bottom:1px solid;border-color:#e9ecf1!important}.border-left-dark-soft-blue{border-left:1px solid;border-color:#e9ecf1!important}.darker-soft-blue{color:#e6e9ef!important}.fill-darker-soft-blue{background-color:#e6e9ef!important}.border-darker-soft-blue{border-color:#e6e9ef!important}.border-top-darker-soft-blue{border-top:1px solid;border-color:#e6e9ef!important}.border-right-darker-soft-blue{border-right:1px solid;border-color:#e6e9ef!important}.border-bottom-darker-soft-blue{border-bottom:1px solid;border-color:#e6e9ef!important}.border-left-darker-soft-blue{border-left:1px solid;border-color:#e6e9ef!important}.light-soft-blue{color:#f5f6f9!important}.fill-light-soft-blue{background-color:#f5f6f9!important}.border-light-soft-blue{border-color:#f5f6f9!important}.border-top-light-soft-blue{border-top:1px solid;border-color:#f5f6f9!important}.border-right-light-soft-blue{border-right:1px solid;border-color:#f5f6f9!important}.border-bottom-light-soft-blue{border-bottom:1px solid;border-color:#f5f6f9!important}.border-left-light-soft-blue{border-left:1px solid;border-color:#f5f6f9!important}.lighter-soft-blue{color:#f8f9fb!important}.fill-lighter-soft-blue{background-color:#f8f9fb!important}.border-lighter-soft-blue{border-color:#f8f9fb!important}.border-top-lighter-soft-blue{border-top:1px solid;border-color:#f8f9fb!important}.border-right-lighter-soft-blue{border-right:1px solid;border-color:#f8f9fb!important}.border-bottom-lighter-soft-blue{border-bottom:1px solid;border-color:#f8f9fb!important}.border-left-lighter-soft-blue{border-left:1px solid;border-color:#f8f9fb!important}.eucalyptus{color:#1b9e4b!important}.fill-eucalyptus{background-color:#1b9e4b!important}.border-eucalyptus{border-color:#1b9e4b!important}.border-top-eucalyptus{border-top:1px solid;border-color:#1b9e4b!important}.border-right-eucalyptus{border-right:1px solid;border-color:#1b9e4b!important}.border-bottom-eucalyptus{border-bottom:1px solid;border-color:#1b9e4b!important}.border-left-eucalyptus{border-left:1px solid;border-color:#1b9e4b!important}.gamboge{color:#dd8e0a!important}.fill-gamboge{background-color:#dd8e0a!important}.border-gamboge{border-color:#dd8e0a!important}.border-top-gamboge{border-top:1px solid;border-color:#dd8e0a!important}.border-right-gamboge{border-right:1px solid;border-color:#dd8e0a!important}.border-bottom-gamboge{border-bottom:1px solid;border-color:#dd8e0a!important}.border-left-gamboge{border-left:1px solid;border-color:#dd8e0a!important}.valencia{color:#d73d3d!important}.fill-valencia{background-color:#d73d3d!important}.border-valencia{border-color:#d73d3d!important}.border-top-valencia{border-top:1px solid;border-color:#d73d3d!important}.border-right-valencia{border-right:1px solid;border-color:#d73d3d!important}.border-bottom-valencia{border-bottom:1px solid;border-color:#d73d3d!important}.border-left-valencia{border-left:1px solid;border-color:#d73d3d!important}:host.compact>button{line-height:24px;min-height:24px}:host.small{font-size:12px}:host.medium{font-size:14px}:host.large{font-size:18px}button{font-size:inherit;padding:0 12px;min-height:36px;min-width:44px}.primary-button{background:#1b68fa;color:#fff}.primary-button.text-color{color:#1b68fa;background:none}.primary-button.text-color:hover{background:#e4edfe}.primary-button.text-color:active{background:#bbd2fe}.primary-button.border-color{border:1px solid var(--color-shuttle-gray-100)}.primary-button.border-color:hover,.primary-button.border-color:active{border:1px solid #ebefff}.primary-button:hover{background:#104bf8}.primary-button:active{background:#083af6}.secondary-button{background:#b080fc;color:#fff}.secondary-button.text-color{color:#b080fc;background:none}.secondary-button.text-color:hover{background:#f6f0ff}.secondary-button.text-color:active{background:#e7d9fe}.secondary-button.border-color{border:1px solid var(--color-shuttle-gray-100)}.secondary-button.border-color:hover,.secondary-button.border-color:active{border:1px solid #e3d7ff}.secondary-button:hover{background:#a06dfb}.secondary-button:active{background:#9763fb}.danger-button{background:#d73d3d;color:#fff}.danger-button.text-color{color:#d73d3d;background:none}.danger-button.text-color:hover{background:#faeae9}.danger-button.text-color:active{background:#f4cbc9}.danger-button.border-color{border:1px solid var(--color-shuttle-gray-100)}.danger-button.border-color:hover,.danger-button.border-color:active{border:1px solid #ffcac9}.danger-button:hover{background:#d9534b}.danger-button:active{background:#d54c44}.slate-button{background:var(--color-shuttle-gray-400);color:#fff}.slate-button.text-color{color:var(--color-shuttle-gray-400);background:none}.slate-button.text-color:hover{background:var(--color-shuttle-gray-100)}.slate-button.text-color:active{background:var(--color-shuttle-gray-200)}.slate-button.border-color,.slate-button.border-color:hover,.slate-button.border-color:active{border:1px solid var(--color-shuttle-gray-100)}.slate-button:hover{background:var(--color-shuttle-gray-500)}.slate-button:active{background:var(--color-shuttle-gray-700)}.skeleton-button{background:var(--color-shuttle-gray-400);color:#fff}.skeleton-button.text-color{color:var(--color-shuttle-gray-400);background:none}.skeleton-button.text-color:hover{background:var(--color-shuttle-gray-100)}.skeleton-button.text-color:active{background:var(--color-shuttle-gray-200)}.skeleton-button.border-color,.skeleton-button.border-color:hover,.skeleton-button.border-color:active{border:1px solid var(--color-shuttle-gray-100)}.skeleton-button:hover{background:var(--color-shuttle-gray-500)}.skeleton-button:active{background:var(--color-shuttle-gray-700)}.warning-button{background:var(--color-gamboge-500);color:#fff}.warning-button.text-color{color:var(--color-gamboge-500);background:none}.warning-button.text-color:hover{background:var(--color-gamboge-50)}.warning-button.text-color:active{background:var(--color-gamboge-100)}.warning-button.border-color{border:1px solid var(--color-shuttle-gray-100)}.warning-button.border-color:hover,.warning-button.border-color:active{border:1px solid var(--color-gamboge-A200)}.warning-button:hover{background:var(--color-gamboge-600)}.warning-button:active{background:var(--color-gamboge-700)}.success-button{background:#1B9E4B;color:#fff}.success-button.text-color{color:#1b9e4b;background:none}.success-button.text-color:hover{background:#cdead3}.success-button.text-color:active{background:#acdcb5}.success-button.border-color{border:1px solid var(--color-shuttle-gray-100)}.success-button.border-color:hover,.success-button.border-color:active{border:1px solid #d9ffde}.success-button:hover{background:#3ea24e}.success-button:active{background:#2e933c}.button-disabled{opacity:.4}\n"] }]
218
+ }], propDecorators: { color: [{
219
+ type: Input
220
+ }], layout: [{
221
+ type: Input
222
+ }], size: [{
223
+ type: Input
224
+ }], type: [{
225
+ type: Input
226
+ }], disabled: [{
227
+ type: Input
228
+ }], leftIcon: [{
229
+ type: Input
230
+ }], rightIcon: [{
231
+ type: Input
232
+ }], leftIconSwap: [{
233
+ type: Input
234
+ }], rightIconSwap: [{
235
+ type: Input
236
+ }], dropDown: [{
237
+ type: Input
238
+ }], showText: [{
239
+ type: Input
240
+ }] } });
241
+
242
+ class FwButtonModule {
243
+ }
244
+ FwButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
245
+ FwButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwButtonModule, declarations: [FwButtonComponent], imports: [CommonModule,
246
+ MatButtonModule,
247
+ FwIconModule], exports: [FwButtonComponent] });
248
+ FwButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwButtonModule, imports: [[
249
+ CommonModule,
250
+ MatButtonModule,
251
+ FwIconModule
252
+ ]] });
253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwButtonModule, decorators: [{
254
+ type: NgModule,
255
+ args: [{
256
+ imports: [
257
+ CommonModule,
258
+ MatButtonModule,
259
+ FwIconModule
260
+ ],
261
+ exports: [
262
+ FwButtonComponent,
263
+ ],
264
+ declarations: [
265
+ FwButtonComponent,
266
+ ],
267
+ entryComponents: [
268
+ FwButtonComponent,
269
+ ],
270
+ }]
271
+ }] });
272
+
273
+ class FwChoiceDialog {
274
+ constructor(data) {
275
+ this.data = data;
276
+ this.alignActions = this.data.alignActions
277
+ ? this.data.alignActions === 'start'
278
+ ? null
279
+ : this.data.alignActions
280
+ : 'center';
281
+ this.choices = this.data.choices;
282
+ this.closeValue = this.data.closeValue;
283
+ this.content = this.data.content;
284
+ this.title = this.data.title;
285
+ }
286
+ get showCloseButton() {
287
+ return 'closeValue' in this.data;
288
+ }
289
+ getTestId(choice) {
290
+ var _a;
291
+ return choice.testId || `${String((_a = choice.label) !== null && _a !== void 0 ? _a : choice.value).toLowerCase()}-button`;
292
+ }
293
+ }
294
+ FwChoiceDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwChoiceDialog, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
295
+ FwChoiceDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwChoiceDialog, selector: "fw-choice-dialog", host: { attributes: { "test-id": "choice-dialog" }, classAttribute: "mat-dialog-component" }, ngImport: i0, template: `
296
+ <h1 mat-dialog-title *ngIf="title">{{ title }}</h1>
297
+ <button *ngIf="showCloseButton" test-id="dialog-close-corner" mat-icon-button
298
+ [mat-dialog-close]="closeValue" [class]="{'mat-dialog-close-button': true, 'no-title': !title}">
299
+ <mat-icon>close</mat-icon>
300
+ </button>
301
+ <div mat-dialog-content>{{ content }}</div>
302
+ <div mat-dialog-actions [align]="alignActions">
303
+ <ng-container *ngFor="let choice of choices" [ngSwitch]="choice.variant">
304
+ <button *ngSwitchCase="'raised'" mat-raised-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
305
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
306
+ <button *ngSwitchCase="'stroked'" mat-stroked-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
307
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
308
+ <button *ngSwitchCase="'flat'" mat-flat-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
309
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
310
+ <ng-container *ngSwitchDefault>
311
+ <button *ngIf="choice.color" mat-flat-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
312
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
313
+ <button *ngIf="!choice.color" mat-stroked-button [attr.test-id]="getTestId(choice)"
314
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
315
+ </ng-container>
316
+ </ng-container>
317
+ </div>
318
+ `, isInline: true, 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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
319
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwChoiceDialog, decorators: [{
320
+ type: Component,
321
+ args: [{
322
+ host: {
323
+ class: 'mat-dialog-component',
324
+ 'test-id': 'choice-dialog',
325
+ },
326
+ selector: 'fw-choice-dialog',
327
+ template: `
328
+ <h1 mat-dialog-title *ngIf="title">{{ title }}</h1>
329
+ <button *ngIf="showCloseButton" test-id="dialog-close-corner" mat-icon-button
330
+ [mat-dialog-close]="closeValue" [class]="{'mat-dialog-close-button': true, 'no-title': !title}">
331
+ <mat-icon>close</mat-icon>
332
+ </button>
333
+ <div mat-dialog-content>{{ content }}</div>
334
+ <div mat-dialog-actions [align]="alignActions">
335
+ <ng-container *ngFor="let choice of choices" [ngSwitch]="choice.variant">
336
+ <button *ngSwitchCase="'raised'" mat-raised-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
337
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
338
+ <button *ngSwitchCase="'stroked'" mat-stroked-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
339
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
340
+ <button *ngSwitchCase="'flat'" mat-flat-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
341
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
342
+ <ng-container *ngSwitchDefault>
343
+ <button *ngIf="choice.color" mat-flat-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
344
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
345
+ <button *ngIf="!choice.color" mat-stroked-button [attr.test-id]="getTestId(choice)"
346
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
347
+ </ng-container>
348
+ </ng-container>
349
+ </div>
350
+ `,
351
+ }]
352
+ }], ctorParameters: function () {
353
+ return [{ type: undefined, decorators: [{
354
+ type: Inject,
355
+ args: [MAT_DIALOG_DATA]
356
+ }] }];
357
+ } });
358
+
359
+ class TrustHtmlPipe {
360
+ constructor(sanitizer) {
361
+ this.sanitizer = sanitizer;
362
+ }
363
+ transform(html) {
364
+ return this.sanitizer.bypassSecurityTrustHtml(html);
365
+ }
366
+ }
367
+ TrustHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TrustHtmlPipe, deps: [{ token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
368
+ TrustHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TrustHtmlPipe, name: "trusthtml" });
369
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TrustHtmlPipe, decorators: [{
370
+ type: Pipe,
371
+ args: [{
372
+ name: 'trusthtml',
373
+ pure: true,
374
+ }]
375
+ }], ctorParameters: function () { return [{ type: i1$1.DomSanitizer }]; } });
376
+
377
+ class TranslationService {
378
+ }
379
+ /**
380
+ * Very basic i18n implementation. Consumer apps can provide their own implementation of TranslationService to override.
381
+ */
382
+ class MinimalTranslationService {
383
+ getMessage(key, silent) {
384
+ return of(MinimalTranslationService.messages[key]);
385
+ }
386
+ }
387
+ MinimalTranslationService.messages = {
388
+ 'common.actions.close': 'Close',
389
+ 'confirmDialog.body': 'Are you sure?',
390
+ 'confirmDialog.no': 'No',
391
+ 'confirmDialog.yes': 'Yes',
392
+ };
393
+ MinimalTranslationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MinimalTranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
394
+ MinimalTranslationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MinimalTranslationService });
395
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MinimalTranslationService, decorators: [{
396
+ type: Injectable
397
+ }] });
398
+
399
+ /**
400
+ * Translate a message given a nested key to a location in the loaded locale copy.
401
+ */
402
+ class TranslatePipe {
403
+ constructor(cdr, translationService) {
404
+ this.cdr = cdr;
405
+ this.translationService = translationService;
406
+ this.subscriptions = {};
407
+ this.messages = {};
408
+ }
409
+ ngOnDestroy() {
410
+ for (const subscription of Object.values(this.subscriptions)) {
411
+ subscription.unsubscribe();
412
+ }
413
+ }
414
+ transform(key, silent = false) {
415
+ if (!(key in this.subscriptions)) {
416
+ this.subscriptions[key] = this.translationService.getMessage(key, silent).subscribe(message => {
417
+ this.messages[key] = message;
418
+ // trigger change detection to support components with ChangeDetectionStrategy.OnPush
419
+ this.cdr.markForCheck();
420
+ });
421
+ }
422
+ return this.messages[key] || '';
423
+ }
424
+ }
425
+ TranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TranslatePipe, deps: [{ token: i0.ChangeDetectorRef }, { token: TranslationService }], target: i0.ɵɵFactoryTarget.Pipe });
426
+ TranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TranslatePipe, name: "translate", pure: false });
427
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TranslatePipe, decorators: [{
428
+ type: Pipe,
429
+ args: [{
430
+ name: 'translate',
431
+ pure: false,
432
+ }]
433
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: TranslationService }]; } });
434
+
435
+ class FwConfirmDialog {
436
+ constructor(data) {
437
+ this.data = data;
438
+ this.title = this.data.title;
439
+ this.content = this.data.content;
440
+ this.html = this.data.html;
441
+ }
442
+ }
443
+ FwConfirmDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwConfirmDialog, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
444
+ FwConfirmDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwConfirmDialog, selector: "fw-confirm-dialog", host: { attributes: { "test-id": "confirm-dialog" }, classAttribute: "mat-dialog-component" }, ngImport: i0, template: `
445
+ <h1 mat-dialog-title *ngIf="title">{{ title }}</h1>
446
+ <div mat-dialog-content *ngIf="html" class="markup" [innerHTML]="html | trusthtml"></div>
447
+ <div mat-dialog-content *ngIf="!html">{{ content || ('confirmDialog.body' | translate ) }}</div>
448
+ <div mat-dialog-actions align="center">
449
+ <button test-id="no-button" mat-stroked-button [mat-dialog-close]="false">{{ 'confirmDialog.no' | translate }}</button>
450
+ <button test-id="yes-button" mat-flat-button color="primary" [mat-dialog-close]="true">{{ 'confirmDialog.yes' | translate }}</button>
451
+ </div>
452
+ `, isInline: true, styles: ["[mat-dialog-content]{text-align:center}[mat-dialog-content].markup{text-align:inherit}\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"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "trusthtml": TrustHtmlPipe, "translate": TranslatePipe } });
453
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwConfirmDialog, decorators: [{
454
+ type: Component,
455
+ args: [{
456
+ host: {
457
+ class: 'mat-dialog-component',
458
+ 'test-id': 'confirm-dialog',
459
+ },
460
+ selector: 'fw-confirm-dialog',
461
+ template: `
462
+ <h1 mat-dialog-title *ngIf="title">{{ title }}</h1>
463
+ <div mat-dialog-content *ngIf="html" class="markup" [innerHTML]="html | trusthtml"></div>
464
+ <div mat-dialog-content *ngIf="!html">{{ content || ('confirmDialog.body' | translate ) }}</div>
465
+ <div mat-dialog-actions align="center">
466
+ <button test-id="no-button" mat-stroked-button [mat-dialog-close]="false">{{ 'confirmDialog.no' | translate }}</button>
467
+ <button test-id="yes-button" mat-flat-button color="primary" [mat-dialog-close]="true">{{ 'confirmDialog.yes' | translate }}</button>
468
+ </div>
469
+ `,
470
+ styles: [`
471
+ [mat-dialog-content] {
472
+ text-align: center;
473
+ }
474
+ [mat-dialog-content].markup {
475
+ text-align: inherit;
476
+ }
477
+ `],
478
+ }]
479
+ }], ctorParameters: function () {
480
+ return [{ type: undefined, decorators: [{
481
+ type: Inject,
482
+ args: [MAT_DIALOG_DATA]
483
+ }] }];
484
+ } });
485
+
486
+ class FwDialogService {
487
+ constructor(matDialog) {
488
+ this.matDialog = matDialog;
489
+ this.dialogs = [];
490
+ this.config = new Map();
491
+ }
492
+ closeAll(component) {
493
+ if (component) {
494
+ this.dialogs
495
+ .filter((el) => el.component === component)
496
+ .forEach((el) => el.ref.close());
497
+ }
498
+ else {
499
+ this.matDialog.closeAll();
500
+ }
501
+ }
502
+ open(component, config) {
503
+ const index = this.dialogs.findIndex(el => el.component === component);
504
+ let ref = null;
505
+ const baseConfig = Object.assign({ multi: 'allow' }, this.config.get(component));
506
+ switch (baseConfig.multi) {
507
+ case 'ignore':
508
+ // if an existing dialog of the same type doesn't exist, open one
509
+ if (index === -1) {
510
+ ref = this.matDialog.open(component, Object.assign(Object.assign({}, baseConfig), config));
511
+ this.dialogs.push({ component, ref });
512
+ }
513
+ break;
514
+ case 'replace':
515
+ // if an existing dialog of the same type exists, replace it.
516
+ if (index > -1) {
517
+ this.dialogs[index].ref.close();
518
+ ref = this.matDialog.open(component, Object.assign(Object.assign({}, baseConfig), config));
519
+ this.dialogs.splice(index, 1, { component, ref });
520
+ }
521
+ else {
522
+ ref = this.matDialog.open(component, Object.assign(Object.assign({}, baseConfig), config));
523
+ this.dialogs.push({ component, ref });
524
+ }
525
+ break;
526
+ default:
527
+ ref = this.matDialog.open(component, Object.assign(Object.assign({}, baseConfig), config));
528
+ this.dialogs.push({ component, ref });
529
+ break;
530
+ }
531
+ if (ref) {
532
+ ref.afterClosed().subscribe(() => {
533
+ // clean up open dialog reference
534
+ const index = this.dialogs.findIndex(el => el.ref === ref);
535
+ if (index >= 0) {
536
+ this.dialogs.splice(index, 1);
537
+ }
538
+ });
539
+ }
540
+ return ref;
541
+ }
542
+ registerDialog(component, config) {
543
+ this.config.set(component, config);
544
+ }
545
+ }
546
+ FwDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwDialogService, deps: [{ token: i4.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
547
+ FwDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwDialogService });
548
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwDialogService, decorators: [{
549
+ type: Injectable
550
+ }], ctorParameters: function () { return [{ type: i4.MatDialog }]; } });
551
+
552
+ class FwErrorDialog {
553
+ constructor(data, ref) {
554
+ this.data = data;
555
+ this.ref = ref;
556
+ this.message = this.data.message;
557
+ this.ref.disableClose = false;
558
+ }
559
+ }
560
+ FwErrorDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwErrorDialog, deps: [{ token: MAT_DIALOG_DATA }, { token: i4.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
561
+ FwErrorDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwErrorDialog, selector: "fw-error-dialog", host: { attributes: { "test-id": "error-dialog" }, classAttribute: "mat-dialog-component" }, ngImport: i0, template: `
562
+ <div mat-dialog-content>{{ message }}</div>
563
+ <div mat-dialog-actions align="end">
564
+ <button test-id="close-button" mat-stroked-button mat-dialog-close>
565
+ {{ 'common.actions.close' | translate }}
566
+ </button>
567
+ </div>
568
+ `, isInline: true, 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"] }], directives: [{ type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "translate": TranslatePipe } });
569
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwErrorDialog, decorators: [{
570
+ type: Component,
571
+ args: [{
572
+ host: {
573
+ class: 'mat-dialog-component',
574
+ 'test-id': 'error-dialog',
575
+ },
576
+ selector: 'fw-error-dialog',
577
+ template: `
578
+ <div mat-dialog-content>{{ message }}</div>
579
+ <div mat-dialog-actions align="end">
580
+ <button test-id="close-button" mat-stroked-button mat-dialog-close>
581
+ {{ 'common.actions.close' | translate }}
582
+ </button>
583
+ </div>
584
+ `,
585
+ }]
586
+ }], ctorParameters: function () {
587
+ return [{ type: undefined, decorators: [{
588
+ type: Inject,
589
+ args: [MAT_DIALOG_DATA]
590
+ }] }, { type: i4.MatDialogRef }];
591
+ } });
592
+
593
+ class FwPortalDialog {
594
+ constructor(data, viewContainerRef) {
595
+ this.data = data;
596
+ this.viewContainerRef = viewContainerRef;
597
+ this.content = this.data.content;
598
+ this.title = this.data.title;
599
+ this.destroyed$ = new Subject();
600
+ if (this.data.component) {
601
+ this.portal = new ComponentPortal(this.data.component.type, this.viewContainerRef);
602
+ }
603
+ else if (this.data.template) {
604
+ this.portal = new TemplatePortal(this.data.template, this.viewContainerRef);
605
+ }
606
+ else {
607
+ throw new Error('One of [component, template] was not provided.');
608
+ }
609
+ }
610
+ ngOnDestroy() {
611
+ this.destroyed$.next(undefined);
612
+ }
613
+ attached(ref) {
614
+ var _a, _b;
615
+ if (this.data.component) {
616
+ ref = ref;
617
+ if (this.data.component.outputs) {
618
+ for (const [key, observer] of Object.entries(this.data.component.outputs)) {
619
+ const output$ = ref[key];
620
+ if (typeof (output$ === null || output$ === void 0 ? void 0 : output$.pipe) === 'function' && typeof output$.subscribe === 'function') {
621
+ output$.pipe(takeUntil(this.destroyed$)).subscribe(observer);
622
+ }
623
+ }
624
+ }
625
+ if (this.data.component.inputs) {
626
+ const changes = {};
627
+ for (const [key, value] of Object.entries(this.data.component.inputs)) {
628
+ ref.instance[key] = value;
629
+ changes[key] = new SimpleChange(value, value, true);
630
+ }
631
+ (_b = (_a = ref.instance).ngOnChanges) === null || _b === void 0 ? void 0 : _b.call(_a, changes);
632
+ ref.changeDetectorRef.markForCheck();
633
+ }
634
+ }
635
+ }
636
+ }
637
+ FwPortalDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPortalDialog, deps: [{ token: MAT_DIALOG_DATA }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
638
+ FwPortalDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwPortalDialog, selector: "fw-portal-dialog", host: { attributes: { "test-id": "portal-dialog" }, classAttribute: "mat-dialog-component" }, ngImport: i0, template: `
639
+ <ng-container *ngIf="title">
640
+ <h1 mat-dialog-title>{{ title }}</h1>
641
+ <button test-id="dialog-close-corner" mat-icon-button mat-dialog-close>
642
+ <mat-icon>close</mat-icon>
643
+ </button>
644
+ </ng-container>
645
+ <mat-dialog-content>
646
+ <p *ngIf="content" class="content">{{ content }}</p>
647
+ <ng-template [cdkPortalOutlet]="portal" (attached)="attached($event)"></ng-template>
648
+ </mat-dialog-content>
649
+ <mat-dialog-actions align="end">
650
+ <button test-id="dialog-close-button" mat-stroked-button mat-dialog-close>
651
+ {{ 'common.actions.close' | translate }}
652
+ </button>
653
+ </mat-dialog-actions>
654
+ `, isInline: true, styles: [":host{min-width:200px}.content{margin-bottom:30px}\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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }], pipes: { "translate": TranslatePipe } });
655
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPortalDialog, decorators: [{
656
+ type: Component,
657
+ args: [{
658
+ host: {
659
+ class: 'mat-dialog-component',
660
+ 'test-id': 'portal-dialog',
661
+ },
662
+ selector: 'fw-portal-dialog',
663
+ template: `
664
+ <ng-container *ngIf="title">
665
+ <h1 mat-dialog-title>{{ title }}</h1>
666
+ <button test-id="dialog-close-corner" mat-icon-button mat-dialog-close>
667
+ <mat-icon>close</mat-icon>
668
+ </button>
669
+ </ng-container>
670
+ <mat-dialog-content>
671
+ <p *ngIf="content" class="content">{{ content }}</p>
672
+ <ng-template [cdkPortalOutlet]="portal" (attached)="attached($event)"></ng-template>
673
+ </mat-dialog-content>
674
+ <mat-dialog-actions align="end">
675
+ <button test-id="dialog-close-button" mat-stroked-button mat-dialog-close>
676
+ {{ 'common.actions.close' | translate }}
677
+ </button>
678
+ </mat-dialog-actions>
679
+ `,
680
+ styles: [`
681
+ :host {
682
+ min-width: 200px;
683
+ }
684
+ .content {
685
+ margin-bottom: 30px;
686
+ }
687
+ `],
688
+ }]
689
+ }], ctorParameters: function () {
690
+ return [{ type: undefined, decorators: [{
691
+ type: Inject,
692
+ args: [MAT_DIALOG_DATA]
693
+ }] }, { type: i0.ViewContainerRef }];
694
+ } });
695
+
696
+ const exports = [
697
+ TranslatePipe,
698
+ TrustHtmlPipe,
699
+ ];
700
+ class PipesModule {
701
+ }
702
+ PipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
703
+ PipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PipesModule, declarations: [TranslatePipe,
704
+ TrustHtmlPipe], exports: [TranslatePipe,
705
+ TrustHtmlPipe] });
706
+ PipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PipesModule, providers: [
707
+ {
708
+ provide: TranslationService,
709
+ useClass: MinimalTranslationService,
710
+ },
711
+ ] });
712
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PipesModule, decorators: [{
713
+ type: NgModule,
714
+ args: [{
715
+ declarations: exports,
716
+ exports: exports,
717
+ providers: [
718
+ {
719
+ provide: TranslationService,
720
+ useClass: MinimalTranslationService,
721
+ },
722
+ ],
723
+ }]
724
+ }] });
725
+
726
+ class FwDialogModule {
727
+ }
728
+ FwDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
729
+ FwDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwDialogModule, declarations: [FwChoiceDialog,
730
+ FwConfirmDialog,
731
+ FwErrorDialog,
732
+ FwPortalDialog], imports: [CommonModule,
733
+ MatButtonModule,
734
+ MatDialogModule,
735
+ MatIconModule,
736
+ PipesModule,
737
+ PortalModule] });
738
+ FwDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwDialogModule, providers: [
739
+ FwDialogService,
740
+ {
741
+ provide: MAT_DIALOG_DEFAULT_OPTIONS,
742
+ useValue: {
743
+ disableClose: true,
744
+ hasBackdrop: true,
745
+ }
746
+ }
747
+ ], imports: [[
748
+ CommonModule,
749
+ MatButtonModule,
750
+ MatDialogModule,
751
+ MatIconModule,
752
+ PipesModule,
753
+ PortalModule,
754
+ ]] });
755
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwDialogModule, decorators: [{
756
+ type: NgModule,
757
+ args: [{
758
+ declarations: [
759
+ FwChoiceDialog,
760
+ FwConfirmDialog,
761
+ FwErrorDialog,
762
+ FwPortalDialog,
763
+ ],
764
+ imports: [
765
+ CommonModule,
766
+ MatButtonModule,
767
+ MatDialogModule,
768
+ MatIconModule,
769
+ PipesModule,
770
+ PortalModule,
771
+ ],
772
+ providers: [
773
+ FwDialogService,
774
+ {
775
+ provide: MAT_DIALOG_DEFAULT_OPTIONS,
776
+ useValue: {
777
+ disableClose: true,
778
+ hasBackdrop: true,
779
+ }
780
+ }
781
+ ],
782
+ }]
783
+ }] });
784
+
785
+ function genId() {
786
+ return String.prototype.padStart(24, Math.floor(Math.random() * Date.now()).toString(16));
787
+ }
788
+ class FwNotificationService {
789
+ constructor() {
790
+ this.notifications$ = new BehaviorSubject([]);
791
+ this.notificationQueue = [];
792
+ }
793
+ show(notification) {
794
+ if (!notification.id) {
795
+ notification.id = genId();
796
+ }
797
+ this.notificationQueue.push(notification);
798
+ this.notifications$.next(this.notificationQueue);
799
+ }
800
+ dismiss(notificationId) {
801
+ this.notificationQueue = this.notificationQueue.filter((v) => v.id !== notificationId);
802
+ this.notifications$.next(this.notificationQueue);
803
+ }
804
+ dismissAll() {
805
+ this.notificationQueue = [];
806
+ this.notifications$.next(this.notificationQueue);
807
+ }
808
+ }
809
+ FwNotificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
810
+ FwNotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationService, providedIn: 'root' });
811
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationService, decorators: [{
812
+ type: Injectable,
813
+ args: [{
814
+ providedIn: 'root'
815
+ }]
816
+ }] });
817
+
818
+ class FwNotificationTimerService {
819
+ constructor() {
820
+ this.now = 0;
821
+ this.remainingDuration = 0;
822
+ }
823
+ start(duration) {
824
+ return new Promise((resolve) => {
825
+ this.remainingDuration = duration;
826
+ this.resolver = resolve;
827
+ this.continue();
828
+ });
829
+ }
830
+ stop() {
831
+ clearTimeout(this.timerId);
832
+ this.remainingDuration = 0;
833
+ }
834
+ pause() {
835
+ clearTimeout(this.timerId);
836
+ this.remainingDuration =
837
+ this.remainingDuration - new Date().getTime() - this.now;
838
+ }
839
+ continue() {
840
+ this.now = new Date().getTime();
841
+ this.timerId = window.setTimeout(() => {
842
+ this.resolver();
843
+ }, this.remainingDuration);
844
+ }
845
+ }
846
+
847
+ var FwNotificationType;
848
+ (function (FwNotificationType) {
849
+ FwNotificationType["Error"] = "error";
850
+ FwNotificationType["Info"] = "info";
851
+ FwNotificationType["Success"] = "success";
852
+ FwNotificationType["Wait"] = "wait";
853
+ FwNotificationType["Warning"] = "warning";
854
+ })(FwNotificationType || (FwNotificationType = {}));
855
+
856
+ class FwNotificationComponent {
857
+ constructor(cdr, timerService) {
858
+ this.cdr = cdr;
859
+ this.timerService = timerService;
860
+ this.notificationDuration = 9000;
861
+ this.ready = new EventEmitter();
862
+ this.dismiss = new EventEmitter();
863
+ }
864
+ get cssClass() {
865
+ var _a;
866
+ let cssClass = 'fw-notification';
867
+ switch ((_a = this.notification) === null || _a === void 0 ? void 0 : _a.type) {
868
+ case FwNotificationType.Error:
869
+ return cssClass += ' error';
870
+ case FwNotificationType.Info:
871
+ return cssClass += ' info';
872
+ case FwNotificationType.Success:
873
+ return cssClass += ' success';
874
+ case FwNotificationType.Wait:
875
+ return cssClass += ' wait';
876
+ case FwNotificationType.Warning:
877
+ return cssClass += ' warning';
878
+ default:
879
+ return cssClass;
880
+ }
881
+ }
882
+ ngAfterViewInit() {
883
+ this.ready.emit(this);
884
+ this.cdr.markForCheck();
885
+ }
886
+ startTimer() {
887
+ this.timerService.start(this.notificationDuration).then(() => {
888
+ this.onClickDismiss();
889
+ this.cdr.markForCheck();
890
+ });
891
+ }
892
+ stopTimer() {
893
+ this.timerService.stop();
894
+ this.cdr.markForCheck();
895
+ }
896
+ onClickDismiss() {
897
+ this.dismiss.emit(this.notification.id);
898
+ this.cdr.markForCheck();
899
+ }
900
+ }
901
+ FwNotificationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: FwNotificationTimerService }], target: i0.ɵɵFactoryTarget.Component });
902
+ FwNotificationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwNotificationComponent, selector: "fw-notification", inputs: { notification: "notification", notificationDuration: "notificationDuration" }, outputs: { ready: "ready", dismiss: "dismiss" }, host: { listeners: { "click": "onClickDismiss()" }, properties: { "class": "this.cssClass" } }, providers: [FwNotificationTimerService], ngImport: i0, template: `{{ notification?.message }}`, isInline: true, styles: ["fw-notification{display:block;border-radius:4px;box-sizing:border-box;margin:5px 24px;max-width:33vw;min-width:344px;padding:14px 16px;transform-origin:center;background-color:#2f96b4;border:1px solid rgba(255,255,255,.7019607843);box-shadow:0 0 12px #999;color:#fff;opacity:.99;white-space:pre-wrap}fw-notification.error{background-color:#bd362f}fw-notification.info{background-color:#2f96b4}fw-notification.success{background-color:#51a351}fw-notification.wait{background-color:#2f96b4}fw-notification.warning{background-color:#f89406}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
903
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationComponent, decorators: [{
904
+ type: Component,
905
+ args: [{ host: {
906
+ '(click)': 'onClickDismiss()'
907
+ }, selector: 'fw-notification', template: `{{ notification?.message }}`, providers: [FwNotificationTimerService], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["fw-notification{display:block;border-radius:4px;box-sizing:border-box;margin:5px 24px;max-width:33vw;min-width:344px;padding:14px 16px;transform-origin:center;background-color:#2f96b4;border:1px solid rgba(255,255,255,.7019607843);box-shadow:0 0 12px #999;color:#fff;opacity:.99;white-space:pre-wrap}fw-notification.error{background-color:#bd362f}fw-notification.info{background-color:#2f96b4}fw-notification.success{background-color:#51a351}fw-notification.wait{background-color:#2f96b4}fw-notification.warning{background-color:#f89406}\n"] }]
908
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: FwNotificationTimerService }]; }, propDecorators: { notification: [{
909
+ type: Input
910
+ }], notificationDuration: [{
911
+ type: Input
912
+ }], ready: [{
913
+ type: Output
914
+ }], dismiss: [{
915
+ type: Output
916
+ }], cssClass: [{
917
+ type: HostBinding,
918
+ args: ['class']
919
+ }] } });
920
+
921
+ class FwNotificationContainerComponent {
922
+ constructor(cdr, notificationService) {
923
+ this.cdr = cdr;
924
+ this.notificationService = notificationService;
925
+ this.limit = 3;
926
+ this.notifications = [];
927
+ this.expanded = false;
928
+ this.subscriptions = {
929
+ notifications: Subscription.EMPTY,
930
+ };
931
+ this.subscriptions.notifications = this.notificationService.notifications$.subscribe((notifications) => {
932
+ this.notifications = notifications;
933
+ if (notifications.length === 0) {
934
+ this.expanded = false;
935
+ }
936
+ this.cdr.markForCheck();
937
+ });
938
+ }
939
+ ngOnDestroy() {
940
+ for (const subscription of Object.values(this.subscriptions)) {
941
+ subscription.unsubscribe();
942
+ }
943
+ }
944
+ notificationClass(index) {
945
+ let cssClass;
946
+ const level = this.notifications.length > this.limit
947
+ ? index - (this.notifications.length - this.limit)
948
+ : index;
949
+ if (this.expanded) {
950
+ cssClass = 'default';
951
+ }
952
+ else {
953
+ cssClass = level >= 0 ? `level-${level}` : 'hidden';
954
+ }
955
+ return cssClass;
956
+ }
957
+ getEmptyNotification(notification) {
958
+ return Object.assign(Object.assign({}, notification), { message: ' ' }); // take up a line but show no content
959
+ }
960
+ onReady(notification) {
961
+ const currentNotification = this.notifications[this.notifications.length - 1];
962
+ currentNotification.ref = notification;
963
+ notification.startTimer();
964
+ }
965
+ onDismiss(notificationId) {
966
+ const notification = this.notifications.find(currentNotification => currentNotification.id === notificationId);
967
+ if (notification === null || notification === void 0 ? void 0 : notification.ref) {
968
+ notification.ref.stopTimer();
969
+ }
970
+ if (notification === null || notification === void 0 ? void 0 : notification.id) {
971
+ this.notificationService.dismiss(notification.id);
972
+ }
973
+ this.cdr.markForCheck();
974
+ }
975
+ clearAll() {
976
+ this.notificationService.dismissAll();
977
+ this.cdr.markForCheck();
978
+ }
979
+ onShowMore() {
980
+ this.expanded = true;
981
+ this.cdr.markForCheck();
982
+ }
983
+ onShowLess() {
984
+ this.expanded = false;
985
+ this.cdr.markForCheck();
986
+ }
987
+ }
988
+ FwNotificationContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationContainerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: FwNotificationService }], target: i0.ɵɵFactoryTarget.Component });
989
+ FwNotificationContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwNotificationContainerComponent, selector: "fw-notification-container", host: { properties: { "class.duo": "notifications.length === 2", "class.triple": "notifications.length >= 3" }, classAttribute: "fw-notification-container" }, ngImport: i0, template: "<div role=\"list\">\n <fw-notification *ngFor=\"let notification of notifications; index as $index\"\n (ready)=\"onReady($event)\"\n (dismiss)=\"onDismiss($event)\"\n [class]=\"notificationClass($index)\"\n [notification]=\"expanded || $index === notifications.length - 1 ? notification : getEmptyNotification(notification)\"\n [attr.aria-label]=\"notification.type + ' : ' + notification.message\"\n role=\"listitem\"\n ></fw-notification>\n <div class=\"buttons\">\n <fw-button *ngIf=\"expanded\" (click)=\"onShowLess()\" mat-button aria-label=\"show less\" layout=\"compact\" size=\"small\">\n <mat-icon>expand_less</mat-icon>\n </fw-button>\n <fw-button *ngIf=\"!expanded && notifications.length > 1\" (click)=\"onShowMore()\" mat-button aria-label=\"show more\" layout=\"compact\" size=\"small\">\n <mat-icon>expand_more</mat-icon>\n </fw-button>\n <fw-button (click)=\"clearAll()\" mat-button class=\"clear-all\" aria-label=\"clear all\" layout=\"compact\" size=\"small\">\n Clear All\n </fw-button>\n </div>\n</div>\n", styles: ["fw-notification-container{position:absolute;right:0;top:0;margin-top:20px;z-index:999999}fw-notification-container>div{display:flex;flex-direction:column-reverse}fw-notification-container .buttons{display:none;position:absolute;top:-5px;right:25px}fw-notification-container .buttons button{color:#fff;background-color:#919292;margin-left:2px}fw-notification-container .buttons button.mat-button{line-height:24px!important;margin:0 0 0 2px!important}fw-notification-container:hover .buttons{display:flex}fw-notification-container .hidden{display:none}fw-notification-container fw-notification:last-of-type{margin-top:24px}fw-notification-container.duo fw-notification.level-0{transform:scale(.95) translateY(-51px)}fw-notification-container.triple fw-notification.level-1{transform:scale(.95) translateY(-51px)}fw-notification-container.triple fw-notification.level-0{transform:scale(.9) translateY(-108px)}\n"], components: [{ type: FwNotificationComponent, selector: "fw-notification", inputs: ["notification", "notificationDuration"], outputs: ["ready", "dismiss"] }, { type: FwButtonComponent, selector: "fw-button", inputs: ["color", "layout", "size", "type", "disabled", "leftIcon", "rightIcon", "leftIconSwap", "rightIconSwap", "dropDown", "showText"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
990
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationContainerComponent, decorators: [{
991
+ type: Component,
992
+ args: [{ host: {
993
+ 'class': 'fw-notification-container',
994
+ '[class.duo]': 'notifications.length === 2',
995
+ '[class.triple]': 'notifications.length >= 3',
996
+ }, selector: 'fw-notification-container', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div role=\"list\">\n <fw-notification *ngFor=\"let notification of notifications; index as $index\"\n (ready)=\"onReady($event)\"\n (dismiss)=\"onDismiss($event)\"\n [class]=\"notificationClass($index)\"\n [notification]=\"expanded || $index === notifications.length - 1 ? notification : getEmptyNotification(notification)\"\n [attr.aria-label]=\"notification.type + ' : ' + notification.message\"\n role=\"listitem\"\n ></fw-notification>\n <div class=\"buttons\">\n <fw-button *ngIf=\"expanded\" (click)=\"onShowLess()\" mat-button aria-label=\"show less\" layout=\"compact\" size=\"small\">\n <mat-icon>expand_less</mat-icon>\n </fw-button>\n <fw-button *ngIf=\"!expanded && notifications.length > 1\" (click)=\"onShowMore()\" mat-button aria-label=\"show more\" layout=\"compact\" size=\"small\">\n <mat-icon>expand_more</mat-icon>\n </fw-button>\n <fw-button (click)=\"clearAll()\" mat-button class=\"clear-all\" aria-label=\"clear all\" layout=\"compact\" size=\"small\">\n Clear All\n </fw-button>\n </div>\n</div>\n", styles: ["fw-notification-container{position:absolute;right:0;top:0;margin-top:20px;z-index:999999}fw-notification-container>div{display:flex;flex-direction:column-reverse}fw-notification-container .buttons{display:none;position:absolute;top:-5px;right:25px}fw-notification-container .buttons button{color:#fff;background-color:#919292;margin-left:2px}fw-notification-container .buttons button.mat-button{line-height:24px!important;margin:0 0 0 2px!important}fw-notification-container:hover .buttons{display:flex}fw-notification-container .hidden{display:none}fw-notification-container fw-notification:last-of-type{margin-top:24px}fw-notification-container.duo fw-notification.level-0{transform:scale(.95) translateY(-51px)}fw-notification-container.triple fw-notification.level-1{transform:scale(.95) translateY(-51px)}fw-notification-container.triple fw-notification.level-0{transform:scale(.9) translateY(-108px)}\n"] }]
997
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: FwNotificationService }]; } });
998
+
999
+ class FwNotificationModule {
1000
+ }
1001
+ FwNotificationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1002
+ FwNotificationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationModule, declarations: [FwNotificationComponent,
1003
+ FwNotificationContainerComponent], imports: [CommonModule,
1004
+ FwButtonModule,
1005
+ FwButtonGroupModule,
1006
+ MatButtonModule,
1007
+ MatIconModule], exports: [FwNotificationComponent,
1008
+ FwNotificationContainerComponent] });
1009
+ FwNotificationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationModule, providers: [
1010
+ FwNotificationService,
1011
+ ], imports: [[
1012
+ CommonModule,
1013
+ FwButtonModule,
1014
+ FwButtonGroupModule,
1015
+ MatButtonModule,
1016
+ MatIconModule,
1017
+ ]] });
1018
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationModule, decorators: [{
1019
+ type: NgModule,
1020
+ args: [{
1021
+ imports: [
1022
+ CommonModule,
1023
+ FwButtonModule,
1024
+ FwButtonGroupModule,
1025
+ MatButtonModule,
1026
+ MatIconModule,
1027
+ ],
1028
+ exports: [
1029
+ FwNotificationComponent,
1030
+ FwNotificationContainerComponent
1031
+ ],
1032
+ declarations: [
1033
+ FwNotificationComponent,
1034
+ FwNotificationContainerComponent,
1035
+ ],
1036
+ entryComponents: [
1037
+ FwNotificationComponent,
1038
+ ],
1039
+ providers: [
1040
+ FwNotificationService,
1041
+ ]
1042
+ }]
1043
+ }] });
1044
+
1045
+ class FwPopoverTriggerDirective {
1046
+ constructor(element, overlay, viewContainerRef) {
1047
+ this.element = element;
1048
+ this.overlay = overlay;
1049
+ this.viewContainerRef = viewContainerRef;
1050
+ this.popoverMargin = 15;
1051
+ this.positionMap = {
1052
+ 'left': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },
1053
+ 'right': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },
1054
+ 'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom' },
1055
+ 'below': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top' },
1056
+ };
1057
+ this.position = 'below';
1058
+ this.subscriptions = {
1059
+ positionChanges: Subscription.EMPTY,
1060
+ };
1061
+ }
1062
+ ngOnChanges(changes) {
1063
+ if (changes.position && this.overlayRef) {
1064
+ this.overlayRef.dispose();
1065
+ this.overlayRef = null;
1066
+ }
1067
+ }
1068
+ ngOnDestroy() {
1069
+ if (this.overlayRef) {
1070
+ this.overlayRef.dispose();
1071
+ this.overlayRef = null;
1072
+ }
1073
+ for (const subscription of Object.values(this.subscriptions)) {
1074
+ subscription.unsubscribe();
1075
+ }
1076
+ }
1077
+ showPopover() {
1078
+ var _a;
1079
+ if ((_a = this.popover) === null || _a === void 0 ? void 0 : _a.templateRef) {
1080
+ this.getOverlay().attach(new TemplatePortal(this.popover.templateRef, this.viewContainerRef));
1081
+ }
1082
+ }
1083
+ hidePopover(e) {
1084
+ var _a;
1085
+ if (!((_a = e.relatedTarget) === null || _a === void 0 ? void 0 : _a.classList.contains('fw-popover-panel'))) {
1086
+ this.getOverlay().detach();
1087
+ }
1088
+ }
1089
+ setPopoverCaretPosition(position) {
1090
+ const caret = this.overlayRef.overlayElement.querySelector('.fw-popover-caret');
1091
+ const caretRect = this.overlayRef.overlayElement.getBoundingClientRect();
1092
+ const triggerRect = this.element.nativeElement.getBoundingClientRect();
1093
+ this.overlayRef.overlayElement.querySelector('.fw-popover-content-wrapper').style.margin = `${this.popoverMargin}px`;
1094
+ if (['left', 'right', 'before', 'after'].includes(position)) {
1095
+ caret.style.top = `${triggerRect.top - caretRect.top - this.popoverMargin + (triggerRect.height / 2)}px`;
1096
+ }
1097
+ else {
1098
+ caret.style.left = `${triggerRect.left - caretRect.left - this.popoverMargin + (triggerRect.width / 2)}px`;
1099
+ }
1100
+ }
1101
+ setPopoverPosition(positionChange) {
1102
+ const position = this.positionMap[this.mainPosition] === positionChange.connectionPair
1103
+ ? this.mainPosition
1104
+ : this.positionMap[this.fallbackPosition] === positionChange.connectionPair
1105
+ ? this.fallbackPosition
1106
+ : this.mainPosition;
1107
+ this.overlayRef.removePanelClass(['fw-popover-above', 'fw-popover-below', 'fw-popover-left', 'fw-popover-right']);
1108
+ this.overlayRef.addPanelClass(`fw-popover-${position}`);
1109
+ this.setPopoverCaretPosition(position);
1110
+ }
1111
+ getOverlay() {
1112
+ if (!this.overlayRef) {
1113
+ this.overlayRef = this.overlay.create({
1114
+ positionStrategy: this.overlay.position()
1115
+ .flexibleConnectedTo(this.element)
1116
+ .withPositions(this.getPositions()),
1117
+ panelClass: 'fw-popover-panel',
1118
+ });
1119
+ this.overlayRef.overlayElement.addEventListener('mouseleave', e => this.hidePopover(e));
1120
+ this.subscriptions.positionChanges = this.overlayRef.getConfig().positionStrategy.positionChanges
1121
+ .subscribe(positionChange => this.setPopoverPosition(positionChange));
1122
+ }
1123
+ return this.overlayRef;
1124
+ }
1125
+ getMainPosition() {
1126
+ return this.mainPosition =
1127
+ ['left', 'before'].includes(this.position)
1128
+ ? 'left'
1129
+ : ['right', 'after'].includes(this.position)
1130
+ ? 'right'
1131
+ : this.position === 'above'
1132
+ ? 'above'
1133
+ : 'below';
1134
+ }
1135
+ getFallbackPosition() {
1136
+ return this.fallbackPosition =
1137
+ ['left', 'before'].includes(this.position)
1138
+ ? 'right'
1139
+ : ['right', 'after'].includes(this.position)
1140
+ ? 'left'
1141
+ : this.position === 'above'
1142
+ ? 'below'
1143
+ : 'above';
1144
+ }
1145
+ getPositions() {
1146
+ return [
1147
+ // main position
1148
+ this.positionMap[this.getMainPosition()],
1149
+ // fallback position (inverse of main)
1150
+ this.positionMap[this.getFallbackPosition()],
1151
+ ];
1152
+ }
1153
+ }
1154
+ FwPopoverTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverTriggerDirective, deps: [{ token: i0.ElementRef }, { token: i1$2.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
1155
+ FwPopoverTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: FwPopoverTriggerDirective, selector: "[fwPopoverTriggerFor]", inputs: { popover: ["fwPopoverTriggerFor", "popover"], position: ["fwPopoverPosition", "position"] }, host: { listeners: { "mouseenter": "showPopover()", "mouseleave": "hidePopover($event)" }, classAttribute: "fw-popover-trigger" }, exportAs: ["fwPopoverTrigger"], usesOnChanges: true, ngImport: i0 });
1156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverTriggerDirective, decorators: [{
1157
+ type: Directive,
1158
+ args: [{
1159
+ host: {
1160
+ 'class': 'fw-popover-trigger',
1161
+ '(mouseenter)': 'showPopover()',
1162
+ '(mouseleave)': 'hidePopover($event)',
1163
+ },
1164
+ selector: '[fwPopoverTriggerFor]',
1165
+ exportAs: 'fwPopoverTrigger',
1166
+ }]
1167
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$2.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { popover: [{
1168
+ type: Input,
1169
+ args: ['fwPopoverTriggerFor']
1170
+ }], position: [{
1171
+ type: Input,
1172
+ args: ['fwPopoverPosition']
1173
+ }] } });
1174
+
1175
+ class FwPopoverTriggerComponent extends FwPopoverTriggerDirective {
1176
+ constructor(element, overlay, viewContainerRef) {
1177
+ super(element, overlay, viewContainerRef);
1178
+ this.element = element;
1179
+ this.overlay = overlay;
1180
+ this.viewContainerRef = viewContainerRef;
1181
+ this.position = 'below';
1182
+ }
1183
+ showPopover() {
1184
+ const overlay = this.getOverlay();
1185
+ overlay.detach();
1186
+ if (this.popoverId) {
1187
+ // as a web component it is not possible to have a reference to this.popover
1188
+ this.popoverHTML = document.querySelector(`fw-popover#${this.popoverId}`).innerHTML;
1189
+ overlay.attach(new TemplatePortal(this.popoverTemplateRef, this.viewContainerRef));
1190
+ }
1191
+ }
1192
+ }
1193
+ FwPopoverTriggerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverTriggerComponent, deps: [{ token: i0.ElementRef }, { token: i1$2.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
1194
+ FwPopoverTriggerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwPopoverTriggerComponent, selector: "fw-popover-trigger", inputs: { popoverId: ["trigger-for", "popoverId"], position: "position" }, host: { listeners: { "mouseenter": "showPopover()", "mouseleave": "hidePopover($event)" }, classAttribute: "fw-popover-trigger" }, viewQueries: [{ propertyName: "popoverTemplateRef", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>
1195
+ <!-- for web component support -->
1196
+ <ng-template>
1197
+ <div [innerHTML]="popoverHTML"></div>
1198
+ </ng-template>`, isInline: true });
1199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverTriggerComponent, decorators: [{
1200
+ type: Component,
1201
+ args: [{
1202
+ host: {
1203
+ 'class': 'fw-popover-trigger',
1204
+ '(mouseenter)': 'showPopover()',
1205
+ '(mouseleave)': 'hidePopover($event)',
1206
+ },
1207
+ selector: 'fw-popover-trigger',
1208
+ template: `<ng-content></ng-content>
1209
+ <!-- for web component support -->
1210
+ <ng-template>
1211
+ <div [innerHTML]="popoverHTML"></div>
1212
+ </ng-template>`,
1213
+ }]
1214
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$2.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { popoverId: [{
1215
+ type: Input,
1216
+ args: ['trigger-for']
1217
+ }], position: [{
1218
+ type: Input,
1219
+ args: ['position']
1220
+ }], popoverTemplateRef: [{
1221
+ type: ViewChild,
1222
+ args: [TemplateRef]
1223
+ }] } });
1224
+
1225
+ class FwPopoverComponent {
1226
+ }
1227
+ FwPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1228
+ FwPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwPopoverComponent, selector: "fw-popover", host: { classAttribute: "fw-popover" }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: `
1229
+ <ng-container *ngTemplateOutlet="content"></ng-container>
1230
+ <ng-template #content>
1231
+ <div class="fw-popover-content-wrapper">
1232
+ <ng-content></ng-content>
1233
+ <div class="fw-popover-caret"></div>
1234
+ </div>
1235
+ </ng-template>`, isInline: true, styles: [".white{color:#fff!important}.fill-white{background-color:#fff!important}.border-white{border-color:#fff!important}.border-top-white{border-top:1px solid;border-color:#fff!important}.border-right-white{border-right:1px solid;border-color:#fff!important}.border-bottom-white{border-bottom:1px solid;border-color:#fff!important}.border-left-white{border-left:1px solid;border-color:#fff!important}.black{color:#000!important}.fill-black{background-color:#000!important}.border-black{border-color:#000!important}.border-top-black{border-top:1px solid;border-color:#000!important}.border-right-black{border-right:1px solid;border-color:#000!important}.border-bottom-black{border-bottom:1px solid;border-color:#000!important}.border-left-black{border-left:1px solid;border-color:#000!important}.green{color:#59b96b!important}.fill-green{background-color:#59b96b!important}.border-green{border-color:#59b96b!important}.border-top-green{border-top:1px solid;border-color:#59b96b!important}.border-right-green{border-right:1px solid;border-color:#59b96b!important}.border-bottom-green{border-bottom:1px solid;border-color:#59b96b!important}.border-left-green{border-left:1px solid;border-color:#59b96b!important}.orange{color:#f7941d!important}.fill-orange{background-color:#f7941d!important}.border-orange{border-color:#f7941d!important}.border-top-orange{border-top:1px solid;border-color:#f7941d!important}.border-right-orange{border-right:1px solid;border-color:#f7941d!important}.border-bottom-orange{border-bottom:1px solid;border-color:#f7941d!important}.border-left-orange{border-left:1px solid;border-color:#f7941d!important}.red{color:#de584c!important}.fill-red{background-color:#de584c!important}.border-red{border-color:#de584c!important}.border-top-red{border-top:1px solid;border-color:#de584c!important}.border-right-red{border-right:1px solid;border-color:#de584c!important}.border-bottom-red{border-bottom:1px solid;border-color:#de584c!important}.border-left-red{border-left:1px solid;border-color:#de584c!important}.light-red{color:#f8e5e4!important}.fill-light-red{background-color:#f8e5e4!important}.border-light-red{border-color:#f8e5e4!important}.border-top-light-red{border-top:1px solid;border-color:#f8e5e4!important}.border-right-light-red{border-right:1px solid;border-color:#f8e5e4!important}.border-bottom-light-red{border-bottom:1px solid;border-color:#f8e5e4!important}.border-left-light-red{border-left:1px solid;border-color:#f8e5e4!important}.blue{color:#5871a2!important}.fill-blue{background-color:#5871a2!important}.border-blue{border-color:#5871a2!important}.border-top-blue{border-top:1px solid;border-color:#5871a2!important}.border-right-blue{border-right:1px solid;border-color:#5871a2!important}.border-bottom-blue{border-bottom:1px solid;border-color:#5871a2!important}.border-left-blue{border-left:1px solid;border-color:#5871a2!important}.focus-blue{color:#23527c!important}.fill-focus-blue{background-color:#23527c!important}.border-focus-blue{border-color:#23527c!important}.border-top-focus-blue{border-top:1px solid;border-color:#23527c!important}.border-right-focus-blue{border-right:1px solid;border-color:#23527c!important}.border-bottom-focus-blue{border-bottom:1px solid;border-color:#23527c!important}.border-left-focus-blue{border-left:1px solid;border-color:#23527c!important}.dark-blue{color:#394256!important}.fill-dark-blue{background-color:#394256!important}.border-dark-blue{border-color:#394256!important}.border-top-dark-blue{border-top:1px solid;border-color:#394256!important}.border-right-dark-blue{border-right:1px solid;border-color:#394256!important}.border-bottom-dark-blue{border-bottom:1px solid;border-color:#394256!important}.border-left-dark-blue{border-left:1px solid;border-color:#394256!important}.light-blue{color:#e7effe!important}.fill-light-blue{background-color:#e7effe!important}.border-light-blue{border-color:#e7effe!important}.border-top-light-blue{border-top:1px solid;border-color:#e7effe!important}.border-right-light-blue{border-right:1px solid;border-color:#e7effe!important}.border-bottom-light-blue{border-bottom:1px solid;border-color:#e7effe!important}.border-left-light-blue{border-left:1px solid;border-color:#e7effe!important}.bright-blue{color:#1b68fa!important}.fill-bright-blue{background-color:#1b68fa!important}.border-bright-blue{border-color:#1b68fa!important}.border-top-bright-blue{border-top:1px solid;border-color:#1b68fa!important}.border-right-bright-blue{border-right:1px solid;border-color:#1b68fa!important}.border-bottom-bright-blue{border-bottom:1px solid;border-color:#1b68fa!important}.border-left-bright-blue{border-left:1px solid;border-color:#1b68fa!important}.admin-black{color:#01010a!important}.fill-admin-black{background-color:#01010a!important}.border-admin-black{border-color:#01010a!important}.border-top-admin-black{border-top:1px solid;border-color:#01010a!important}.border-right-admin-black{border-right:1px solid;border-color:#01010a!important}.border-bottom-admin-black{border-bottom:1px solid;border-color:#01010a!important}.border-left-admin-black{border-left:1px solid;border-color:#01010a!important}.accent-purple{color:#b080fc!important}.fill-accent-purple{background-color:#b080fc!important}.border-accent-purple{border-color:#b080fc!important}.border-top-accent-purple{border-top:1px solid;border-color:#b080fc!important}.border-right-accent-purple{border-right:1px solid;border-color:#b080fc!important}.border-bottom-accent-purple{border-bottom:1px solid;border-color:#b080fc!important}.border-left-accent-purple{border-left:1px solid;border-color:#b080fc!important}.grey{color:#58595b!important}.fill-grey{background-color:#58595b!important}.border-grey{border-color:#58595b!important}.border-top-grey{border-top:1px solid;border-color:#58595b!important}.border-right-grey{border-right:1px solid;border-color:#58595b!important}.border-bottom-grey{border-bottom:1px solid;border-color:#58595b!important}.border-left-grey{border-left:1px solid;border-color:#58595b!important}.soft-grey{color:#dddede!important}.fill-soft-grey{background-color:#dddede!important}.border-soft-grey{border-color:#dddede!important}.border-top-soft-grey{border-top:1px solid;border-color:#dddede!important}.border-right-soft-grey{border-right:1px solid;border-color:#dddede!important}.border-bottom-soft-grey{border-bottom:1px solid;border-color:#dddede!important}.border-left-soft-grey{border-left:1px solid;border-color:#dddede!important}.light-grey{color:#eee!important}.fill-light-grey{background-color:#eee!important}.border-light-grey{border-color:#eee!important}.border-top-light-grey{border-top:1px solid;border-color:#eee!important}.border-right-light-grey{border-right:1px solid;border-color:#eee!important}.border-bottom-light-grey{border-bottom:1px solid;border-color:#eee!important}.border-left-light-grey{border-left:1px solid;border-color:#eee!important}.medium-grey{color:#ccc!important}.fill-medium-grey{background-color:#ccc!important}.border-medium-grey{border-color:#ccc!important}.border-top-medium-grey{border-top:1px solid;border-color:#ccc!important}.border-right-medium-grey{border-right:1px solid;border-color:#ccc!important}.border-bottom-medium-grey{border-bottom:1px solid;border-color:#ccc!important}.border-left-medium-grey{border-left:1px solid;border-color:#ccc!important}.medium-dark-grey{color:#999!important}.fill-medium-dark-grey{background-color:#999!important}.border-medium-dark-grey{border-color:#999!important}.border-top-medium-dark-grey{border-top:1px solid;border-color:#999!important}.border-right-medium-dark-grey{border-right:1px solid;border-color:#999!important}.border-bottom-medium-dark-grey{border-bottom:1px solid;border-color:#999!important}.border-left-medium-dark-grey{border-left:1px solid;border-color:#999!important}.dark-grey{color:#222!important}.fill-dark-grey{background-color:#222!important}.border-dark-grey{border-color:#222!important}.border-top-dark-grey{border-top:1px solid;border-color:#222!important}.border-right-dark-grey{border-right:1px solid;border-color:#222!important}.border-bottom-dark-grey{border-bottom:1px solid;border-color:#222!important}.border-left-dark-grey{border-left:1px solid;border-color:#222!important}.shuttle-gray{color:#5d6877!important}.fill-shuttle-gray{background-color:#5d6877!important}.border-shuttle-gray{border-color:#5d6877!important}.border-top-shuttle-gray{border-top:1px solid;border-color:#5d6877!important}.border-right-shuttle-gray{border-right:1px solid;border-color:#5d6877!important}.border-bottom-shuttle-gray{border-bottom:1px solid;border-color:#5d6877!important}.border-left-shuttle-gray{border-left:1px solid;border-color:#5d6877!important}.gull-gray{color:#9ea8b5!important}.fill-gull-gray{background-color:#9ea8b5!important}.border-gull-gray{border-color:#9ea8b5!important}.border-top-gull-gray{border-top:1px solid;border-color:#9ea8b5!important}.border-right-gull-gray{border-right:1px solid;border-color:#9ea8b5!important}.border-bottom-gull-gray{border-bottom:1px solid;border-color:#9ea8b5!important}.border-left-gull-gray{border-left:1px solid;border-color:#9ea8b5!important}.soft-blue{color:#eff1f5!important}.fill-soft-blue{background-color:#eff1f5!important}.border-soft-blue{border-color:#eff1f5!important}.border-top-soft-blue{border-top:1px solid;border-color:#eff1f5!important}.border-right-soft-blue{border-right:1px solid;border-color:#eff1f5!important}.border-bottom-soft-blue{border-bottom:1px solid;border-color:#eff1f5!important}.border-left-soft-blue{border-left:1px solid;border-color:#eff1f5!important}.dark-soft-blue{color:#e9ecf1!important}.fill-dark-soft-blue{background-color:#e9ecf1!important}.border-dark-soft-blue{border-color:#e9ecf1!important}.border-top-dark-soft-blue{border-top:1px solid;border-color:#e9ecf1!important}.border-right-dark-soft-blue{border-right:1px solid;border-color:#e9ecf1!important}.border-bottom-dark-soft-blue{border-bottom:1px solid;border-color:#e9ecf1!important}.border-left-dark-soft-blue{border-left:1px solid;border-color:#e9ecf1!important}.darker-soft-blue{color:#e6e9ef!important}.fill-darker-soft-blue{background-color:#e6e9ef!important}.border-darker-soft-blue{border-color:#e6e9ef!important}.border-top-darker-soft-blue{border-top:1px solid;border-color:#e6e9ef!important}.border-right-darker-soft-blue{border-right:1px solid;border-color:#e6e9ef!important}.border-bottom-darker-soft-blue{border-bottom:1px solid;border-color:#e6e9ef!important}.border-left-darker-soft-blue{border-left:1px solid;border-color:#e6e9ef!important}.light-soft-blue{color:#f5f6f9!important}.fill-light-soft-blue{background-color:#f5f6f9!important}.border-light-soft-blue{border-color:#f5f6f9!important}.border-top-light-soft-blue{border-top:1px solid;border-color:#f5f6f9!important}.border-right-light-soft-blue{border-right:1px solid;border-color:#f5f6f9!important}.border-bottom-light-soft-blue{border-bottom:1px solid;border-color:#f5f6f9!important}.border-left-light-soft-blue{border-left:1px solid;border-color:#f5f6f9!important}.lighter-soft-blue{color:#f8f9fb!important}.fill-lighter-soft-blue{background-color:#f8f9fb!important}.border-lighter-soft-blue{border-color:#f8f9fb!important}.border-top-lighter-soft-blue{border-top:1px solid;border-color:#f8f9fb!important}.border-right-lighter-soft-blue{border-right:1px solid;border-color:#f8f9fb!important}.border-bottom-lighter-soft-blue{border-bottom:1px solid;border-color:#f8f9fb!important}.border-left-lighter-soft-blue{border-left:1px solid;border-color:#f8f9fb!important}.eucalyptus{color:#1b9e4b!important}.fill-eucalyptus{background-color:#1b9e4b!important}.border-eucalyptus{border-color:#1b9e4b!important}.border-top-eucalyptus{border-top:1px solid;border-color:#1b9e4b!important}.border-right-eucalyptus{border-right:1px solid;border-color:#1b9e4b!important}.border-bottom-eucalyptus{border-bottom:1px solid;border-color:#1b9e4b!important}.border-left-eucalyptus{border-left:1px solid;border-color:#1b9e4b!important}.gamboge{color:#dd8e0a!important}.fill-gamboge{background-color:#dd8e0a!important}.border-gamboge{border-color:#dd8e0a!important}.border-top-gamboge{border-top:1px solid;border-color:#dd8e0a!important}.border-right-gamboge{border-right:1px solid;border-color:#dd8e0a!important}.border-bottom-gamboge{border-bottom:1px solid;border-color:#dd8e0a!important}.border-left-gamboge{border-left:1px solid;border-color:#dd8e0a!important}.valencia{color:#d73d3d!important}.fill-valencia{background-color:#d73d3d!important}.border-valencia{border-color:#d73d3d!important}.border-top-valencia{border-top:1px solid;border-color:#d73d3d!important}.border-right-valencia{border-right:1px solid;border-color:#d73d3d!important}.border-bottom-valencia{border-bottom:1px solid;border-color:#d73d3d!important}.border-left-valencia{border-left:1px solid;border-color:#d73d3d!important}fw-popover{display:none}.fw-popover-panel .fw-popover-content-wrapper{position:relative;background:#ffffff;border-radius:4px;box-shadow:0 1px 4px #00000026!important;border:1px solid #d6dbe5;padding:16px}.fw-popover-panel .fw-popover-content-wrapper .fw-popover-caret{position:absolute;overflow:hidden;width:25px;height:25px}.fw-popover-panel .fw-popover-content-wrapper .fw-popover-caret:after{display:block;content:\"\";width:16px;height:16px;background:#ffffff;box-shadow:0 1px 4px #00000026!important;border:1px solid #d6dbe5;transform:rotate(45deg);position:relative}.fw-popover-panel.fw-popover-above{margin-bottom:-20px;padding-bottom:20px}.fw-popover-panel.fw-popover-above .fw-popover-caret{left:0;bottom:-16px;height:16px}.fw-popover-panel.fw-popover-above .fw-popover-caret:after{margin:-8px auto}.fw-popover-panel.fw-popover-below{margin-top:-20px;padding-top:20px}.fw-popover-panel.fw-popover-below .fw-popover-caret{left:0;top:-16px;height:16px}.fw-popover-panel.fw-popover-below .fw-popover-caret:after{top:16px;margin:-8px auto}.fw-popover-panel.fw-popover-left{margin-right:-20px;padding-right:20px}.fw-popover-panel.fw-popover-left .fw-popover-caret{right:-16px;top:0;width:16px}.fw-popover-panel.fw-popover-left .fw-popover-caret:after{top:calc(50% - 8px);left:-8px}.fw-popover-panel.fw-popover-right{margin-left:-20px;padding-left:20px}.fw-popover-panel.fw-popover-right .fw-popover-caret{left:-16px;top:0;width:16px}.fw-popover-panel.fw-popover-right .fw-popover-caret:after{top:calc(50% - 8px);right:-8px}\n"], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], encapsulation: i0.ViewEncapsulation.None });
1236
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverComponent, decorators: [{
1237
+ type: Component,
1238
+ args: [{ host: { 'class': 'fw-popover' }, selector: 'fw-popover', template: `
1239
+ <ng-container *ngTemplateOutlet="content"></ng-container>
1240
+ <ng-template #content>
1241
+ <div class="fw-popover-content-wrapper">
1242
+ <ng-content></ng-content>
1243
+ <div class="fw-popover-caret"></div>
1244
+ </div>
1245
+ </ng-template>`, encapsulation: ViewEncapsulation.None, styles: [".white{color:#fff!important}.fill-white{background-color:#fff!important}.border-white{border-color:#fff!important}.border-top-white{border-top:1px solid;border-color:#fff!important}.border-right-white{border-right:1px solid;border-color:#fff!important}.border-bottom-white{border-bottom:1px solid;border-color:#fff!important}.border-left-white{border-left:1px solid;border-color:#fff!important}.black{color:#000!important}.fill-black{background-color:#000!important}.border-black{border-color:#000!important}.border-top-black{border-top:1px solid;border-color:#000!important}.border-right-black{border-right:1px solid;border-color:#000!important}.border-bottom-black{border-bottom:1px solid;border-color:#000!important}.border-left-black{border-left:1px solid;border-color:#000!important}.green{color:#59b96b!important}.fill-green{background-color:#59b96b!important}.border-green{border-color:#59b96b!important}.border-top-green{border-top:1px solid;border-color:#59b96b!important}.border-right-green{border-right:1px solid;border-color:#59b96b!important}.border-bottom-green{border-bottom:1px solid;border-color:#59b96b!important}.border-left-green{border-left:1px solid;border-color:#59b96b!important}.orange{color:#f7941d!important}.fill-orange{background-color:#f7941d!important}.border-orange{border-color:#f7941d!important}.border-top-orange{border-top:1px solid;border-color:#f7941d!important}.border-right-orange{border-right:1px solid;border-color:#f7941d!important}.border-bottom-orange{border-bottom:1px solid;border-color:#f7941d!important}.border-left-orange{border-left:1px solid;border-color:#f7941d!important}.red{color:#de584c!important}.fill-red{background-color:#de584c!important}.border-red{border-color:#de584c!important}.border-top-red{border-top:1px solid;border-color:#de584c!important}.border-right-red{border-right:1px solid;border-color:#de584c!important}.border-bottom-red{border-bottom:1px solid;border-color:#de584c!important}.border-left-red{border-left:1px solid;border-color:#de584c!important}.light-red{color:#f8e5e4!important}.fill-light-red{background-color:#f8e5e4!important}.border-light-red{border-color:#f8e5e4!important}.border-top-light-red{border-top:1px solid;border-color:#f8e5e4!important}.border-right-light-red{border-right:1px solid;border-color:#f8e5e4!important}.border-bottom-light-red{border-bottom:1px solid;border-color:#f8e5e4!important}.border-left-light-red{border-left:1px solid;border-color:#f8e5e4!important}.blue{color:#5871a2!important}.fill-blue{background-color:#5871a2!important}.border-blue{border-color:#5871a2!important}.border-top-blue{border-top:1px solid;border-color:#5871a2!important}.border-right-blue{border-right:1px solid;border-color:#5871a2!important}.border-bottom-blue{border-bottom:1px solid;border-color:#5871a2!important}.border-left-blue{border-left:1px solid;border-color:#5871a2!important}.focus-blue{color:#23527c!important}.fill-focus-blue{background-color:#23527c!important}.border-focus-blue{border-color:#23527c!important}.border-top-focus-blue{border-top:1px solid;border-color:#23527c!important}.border-right-focus-blue{border-right:1px solid;border-color:#23527c!important}.border-bottom-focus-blue{border-bottom:1px solid;border-color:#23527c!important}.border-left-focus-blue{border-left:1px solid;border-color:#23527c!important}.dark-blue{color:#394256!important}.fill-dark-blue{background-color:#394256!important}.border-dark-blue{border-color:#394256!important}.border-top-dark-blue{border-top:1px solid;border-color:#394256!important}.border-right-dark-blue{border-right:1px solid;border-color:#394256!important}.border-bottom-dark-blue{border-bottom:1px solid;border-color:#394256!important}.border-left-dark-blue{border-left:1px solid;border-color:#394256!important}.light-blue{color:#e7effe!important}.fill-light-blue{background-color:#e7effe!important}.border-light-blue{border-color:#e7effe!important}.border-top-light-blue{border-top:1px solid;border-color:#e7effe!important}.border-right-light-blue{border-right:1px solid;border-color:#e7effe!important}.border-bottom-light-blue{border-bottom:1px solid;border-color:#e7effe!important}.border-left-light-blue{border-left:1px solid;border-color:#e7effe!important}.bright-blue{color:#1b68fa!important}.fill-bright-blue{background-color:#1b68fa!important}.border-bright-blue{border-color:#1b68fa!important}.border-top-bright-blue{border-top:1px solid;border-color:#1b68fa!important}.border-right-bright-blue{border-right:1px solid;border-color:#1b68fa!important}.border-bottom-bright-blue{border-bottom:1px solid;border-color:#1b68fa!important}.border-left-bright-blue{border-left:1px solid;border-color:#1b68fa!important}.admin-black{color:#01010a!important}.fill-admin-black{background-color:#01010a!important}.border-admin-black{border-color:#01010a!important}.border-top-admin-black{border-top:1px solid;border-color:#01010a!important}.border-right-admin-black{border-right:1px solid;border-color:#01010a!important}.border-bottom-admin-black{border-bottom:1px solid;border-color:#01010a!important}.border-left-admin-black{border-left:1px solid;border-color:#01010a!important}.accent-purple{color:#b080fc!important}.fill-accent-purple{background-color:#b080fc!important}.border-accent-purple{border-color:#b080fc!important}.border-top-accent-purple{border-top:1px solid;border-color:#b080fc!important}.border-right-accent-purple{border-right:1px solid;border-color:#b080fc!important}.border-bottom-accent-purple{border-bottom:1px solid;border-color:#b080fc!important}.border-left-accent-purple{border-left:1px solid;border-color:#b080fc!important}.grey{color:#58595b!important}.fill-grey{background-color:#58595b!important}.border-grey{border-color:#58595b!important}.border-top-grey{border-top:1px solid;border-color:#58595b!important}.border-right-grey{border-right:1px solid;border-color:#58595b!important}.border-bottom-grey{border-bottom:1px solid;border-color:#58595b!important}.border-left-grey{border-left:1px solid;border-color:#58595b!important}.soft-grey{color:#dddede!important}.fill-soft-grey{background-color:#dddede!important}.border-soft-grey{border-color:#dddede!important}.border-top-soft-grey{border-top:1px solid;border-color:#dddede!important}.border-right-soft-grey{border-right:1px solid;border-color:#dddede!important}.border-bottom-soft-grey{border-bottom:1px solid;border-color:#dddede!important}.border-left-soft-grey{border-left:1px solid;border-color:#dddede!important}.light-grey{color:#eee!important}.fill-light-grey{background-color:#eee!important}.border-light-grey{border-color:#eee!important}.border-top-light-grey{border-top:1px solid;border-color:#eee!important}.border-right-light-grey{border-right:1px solid;border-color:#eee!important}.border-bottom-light-grey{border-bottom:1px solid;border-color:#eee!important}.border-left-light-grey{border-left:1px solid;border-color:#eee!important}.medium-grey{color:#ccc!important}.fill-medium-grey{background-color:#ccc!important}.border-medium-grey{border-color:#ccc!important}.border-top-medium-grey{border-top:1px solid;border-color:#ccc!important}.border-right-medium-grey{border-right:1px solid;border-color:#ccc!important}.border-bottom-medium-grey{border-bottom:1px solid;border-color:#ccc!important}.border-left-medium-grey{border-left:1px solid;border-color:#ccc!important}.medium-dark-grey{color:#999!important}.fill-medium-dark-grey{background-color:#999!important}.border-medium-dark-grey{border-color:#999!important}.border-top-medium-dark-grey{border-top:1px solid;border-color:#999!important}.border-right-medium-dark-grey{border-right:1px solid;border-color:#999!important}.border-bottom-medium-dark-grey{border-bottom:1px solid;border-color:#999!important}.border-left-medium-dark-grey{border-left:1px solid;border-color:#999!important}.dark-grey{color:#222!important}.fill-dark-grey{background-color:#222!important}.border-dark-grey{border-color:#222!important}.border-top-dark-grey{border-top:1px solid;border-color:#222!important}.border-right-dark-grey{border-right:1px solid;border-color:#222!important}.border-bottom-dark-grey{border-bottom:1px solid;border-color:#222!important}.border-left-dark-grey{border-left:1px solid;border-color:#222!important}.shuttle-gray{color:#5d6877!important}.fill-shuttle-gray{background-color:#5d6877!important}.border-shuttle-gray{border-color:#5d6877!important}.border-top-shuttle-gray{border-top:1px solid;border-color:#5d6877!important}.border-right-shuttle-gray{border-right:1px solid;border-color:#5d6877!important}.border-bottom-shuttle-gray{border-bottom:1px solid;border-color:#5d6877!important}.border-left-shuttle-gray{border-left:1px solid;border-color:#5d6877!important}.gull-gray{color:#9ea8b5!important}.fill-gull-gray{background-color:#9ea8b5!important}.border-gull-gray{border-color:#9ea8b5!important}.border-top-gull-gray{border-top:1px solid;border-color:#9ea8b5!important}.border-right-gull-gray{border-right:1px solid;border-color:#9ea8b5!important}.border-bottom-gull-gray{border-bottom:1px solid;border-color:#9ea8b5!important}.border-left-gull-gray{border-left:1px solid;border-color:#9ea8b5!important}.soft-blue{color:#eff1f5!important}.fill-soft-blue{background-color:#eff1f5!important}.border-soft-blue{border-color:#eff1f5!important}.border-top-soft-blue{border-top:1px solid;border-color:#eff1f5!important}.border-right-soft-blue{border-right:1px solid;border-color:#eff1f5!important}.border-bottom-soft-blue{border-bottom:1px solid;border-color:#eff1f5!important}.border-left-soft-blue{border-left:1px solid;border-color:#eff1f5!important}.dark-soft-blue{color:#e9ecf1!important}.fill-dark-soft-blue{background-color:#e9ecf1!important}.border-dark-soft-blue{border-color:#e9ecf1!important}.border-top-dark-soft-blue{border-top:1px solid;border-color:#e9ecf1!important}.border-right-dark-soft-blue{border-right:1px solid;border-color:#e9ecf1!important}.border-bottom-dark-soft-blue{border-bottom:1px solid;border-color:#e9ecf1!important}.border-left-dark-soft-blue{border-left:1px solid;border-color:#e9ecf1!important}.darker-soft-blue{color:#e6e9ef!important}.fill-darker-soft-blue{background-color:#e6e9ef!important}.border-darker-soft-blue{border-color:#e6e9ef!important}.border-top-darker-soft-blue{border-top:1px solid;border-color:#e6e9ef!important}.border-right-darker-soft-blue{border-right:1px solid;border-color:#e6e9ef!important}.border-bottom-darker-soft-blue{border-bottom:1px solid;border-color:#e6e9ef!important}.border-left-darker-soft-blue{border-left:1px solid;border-color:#e6e9ef!important}.light-soft-blue{color:#f5f6f9!important}.fill-light-soft-blue{background-color:#f5f6f9!important}.border-light-soft-blue{border-color:#f5f6f9!important}.border-top-light-soft-blue{border-top:1px solid;border-color:#f5f6f9!important}.border-right-light-soft-blue{border-right:1px solid;border-color:#f5f6f9!important}.border-bottom-light-soft-blue{border-bottom:1px solid;border-color:#f5f6f9!important}.border-left-light-soft-blue{border-left:1px solid;border-color:#f5f6f9!important}.lighter-soft-blue{color:#f8f9fb!important}.fill-lighter-soft-blue{background-color:#f8f9fb!important}.border-lighter-soft-blue{border-color:#f8f9fb!important}.border-top-lighter-soft-blue{border-top:1px solid;border-color:#f8f9fb!important}.border-right-lighter-soft-blue{border-right:1px solid;border-color:#f8f9fb!important}.border-bottom-lighter-soft-blue{border-bottom:1px solid;border-color:#f8f9fb!important}.border-left-lighter-soft-blue{border-left:1px solid;border-color:#f8f9fb!important}.eucalyptus{color:#1b9e4b!important}.fill-eucalyptus{background-color:#1b9e4b!important}.border-eucalyptus{border-color:#1b9e4b!important}.border-top-eucalyptus{border-top:1px solid;border-color:#1b9e4b!important}.border-right-eucalyptus{border-right:1px solid;border-color:#1b9e4b!important}.border-bottom-eucalyptus{border-bottom:1px solid;border-color:#1b9e4b!important}.border-left-eucalyptus{border-left:1px solid;border-color:#1b9e4b!important}.gamboge{color:#dd8e0a!important}.fill-gamboge{background-color:#dd8e0a!important}.border-gamboge{border-color:#dd8e0a!important}.border-top-gamboge{border-top:1px solid;border-color:#dd8e0a!important}.border-right-gamboge{border-right:1px solid;border-color:#dd8e0a!important}.border-bottom-gamboge{border-bottom:1px solid;border-color:#dd8e0a!important}.border-left-gamboge{border-left:1px solid;border-color:#dd8e0a!important}.valencia{color:#d73d3d!important}.fill-valencia{background-color:#d73d3d!important}.border-valencia{border-color:#d73d3d!important}.border-top-valencia{border-top:1px solid;border-color:#d73d3d!important}.border-right-valencia{border-right:1px solid;border-color:#d73d3d!important}.border-bottom-valencia{border-bottom:1px solid;border-color:#d73d3d!important}.border-left-valencia{border-left:1px solid;border-color:#d73d3d!important}fw-popover{display:none}.fw-popover-panel .fw-popover-content-wrapper{position:relative;background:#ffffff;border-radius:4px;box-shadow:0 1px 4px #00000026!important;border:1px solid #d6dbe5;padding:16px}.fw-popover-panel .fw-popover-content-wrapper .fw-popover-caret{position:absolute;overflow:hidden;width:25px;height:25px}.fw-popover-panel .fw-popover-content-wrapper .fw-popover-caret:after{display:block;content:\"\";width:16px;height:16px;background:#ffffff;box-shadow:0 1px 4px #00000026!important;border:1px solid #d6dbe5;transform:rotate(45deg);position:relative}.fw-popover-panel.fw-popover-above{margin-bottom:-20px;padding-bottom:20px}.fw-popover-panel.fw-popover-above .fw-popover-caret{left:0;bottom:-16px;height:16px}.fw-popover-panel.fw-popover-above .fw-popover-caret:after{margin:-8px auto}.fw-popover-panel.fw-popover-below{margin-top:-20px;padding-top:20px}.fw-popover-panel.fw-popover-below .fw-popover-caret{left:0;top:-16px;height:16px}.fw-popover-panel.fw-popover-below .fw-popover-caret:after{top:16px;margin:-8px auto}.fw-popover-panel.fw-popover-left{margin-right:-20px;padding-right:20px}.fw-popover-panel.fw-popover-left .fw-popover-caret{right:-16px;top:0;width:16px}.fw-popover-panel.fw-popover-left .fw-popover-caret:after{top:calc(50% - 8px);left:-8px}.fw-popover-panel.fw-popover-right{margin-left:-20px;padding-left:20px}.fw-popover-panel.fw-popover-right .fw-popover-caret{left:-16px;top:0;width:16px}.fw-popover-panel.fw-popover-right .fw-popover-caret:after{top:calc(50% - 8px);right:-8px}\n"] }]
1246
+ }], propDecorators: { templateRef: [{
1247
+ type: ViewChild,
1248
+ args: ['content']
1249
+ }] } });
1250
+
1251
+ class FwPopoverModule {
1252
+ }
1253
+ FwPopoverModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1254
+ FwPopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverModule, declarations: [FwPopoverComponent,
1255
+ FwPopoverTriggerComponent,
1256
+ FwPopoverTriggerDirective], imports: [CommonModule], exports: [FwPopoverComponent,
1257
+ FwPopoverTriggerComponent,
1258
+ FwPopoverTriggerDirective] });
1259
+ FwPopoverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverModule, providers: [
1260
+ Overlay,
1261
+ ], imports: [[
1262
+ CommonModule,
1263
+ ]] });
1264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverModule, decorators: [{
1265
+ type: NgModule,
1266
+ args: [{
1267
+ imports: [
1268
+ CommonModule,
1269
+ ],
1270
+ exports: [
1271
+ FwPopoverComponent,
1272
+ FwPopoverTriggerComponent,
1273
+ FwPopoverTriggerDirective,
1274
+ ],
1275
+ declarations: [
1276
+ FwPopoverComponent,
1277
+ FwPopoverTriggerComponent,
1278
+ FwPopoverTriggerDirective,
1279
+ ],
1280
+ entryComponents: [
1281
+ FwPopoverComponent,
1282
+ FwPopoverTriggerComponent,
1283
+ ],
1284
+ providers: [
1285
+ Overlay,
1286
+ ],
1287
+ }]
1288
+ }] });
1289
+
1290
+ class FwTableComponent {
1291
+ constructor(changeDetectorRef) {
1292
+ this.changeDetectorRef = changeDetectorRef;
1293
+ this.columns = [];
1294
+ this.dataSource = [];
1295
+ this.layout = 'basic';
1296
+ this.pageSize = null;
1297
+ this.webCompPageSize = null;
1298
+ this.sort = null;
1299
+ this.sortColumn = '';
1300
+ this.sortOrder = 'asc';
1301
+ this.displayedColumns = [];
1302
+ this.filters = new FormGroup({});
1303
+ // to support updating column header labels
1304
+ this.trackByIndex = i => i;
1305
+ }
1306
+ ngOnInit() {
1307
+ this.setDataSource();
1308
+ this.setColumns();
1309
+ this.addFilterControls();
1310
+ this.setFilter();
1311
+ this.matDataSource.filterPredicate = (row, filter) => {
1312
+ const filters = JSON.parse(filter);
1313
+ for (const filter in filters) {
1314
+ const filterValue = filters[filter];
1315
+ const rowValue = row[filter];
1316
+ // multi-select
1317
+ if (Array.isArray(filterValue) && filterValue.length > 0 && !filterValue.includes(rowValue)) {
1318
+ return false;
1319
+ }
1320
+ // input or select
1321
+ if (!Array.isArray(filterValue) && !String(rowValue).toLowerCase().includes(String(filterValue !== null && filterValue !== void 0 ? filterValue : '').toLowerCase())) {
1322
+ return false;
1323
+ }
1324
+ }
1325
+ return true;
1326
+ };
1327
+ this.filters.valueChanges.pipe(debounceTime(200)).subscribe(() => this.setFilter());
1328
+ }
1329
+ ngAfterViewInit() {
1330
+ this.setSort();
1331
+ this.setPaginator();
1332
+ }
1333
+ ngOnChanges(changes) {
1334
+ if (changes.columns) {
1335
+ this.setColumns();
1336
+ }
1337
+ if (changes.dataSource) {
1338
+ this.setDataSource();
1339
+ }
1340
+ if (changes.sort || changes.dataSource) {
1341
+ this.setSort();
1342
+ }
1343
+ if (changes.pageSize || changes['page-size']) {
1344
+ this.setPaginator();
1345
+ }
1346
+ }
1347
+ get isCompact() {
1348
+ return this.layout === 'compact';
1349
+ }
1350
+ get paginationSize() {
1351
+ return this.pageSize || this.webCompPageSize || 0;
1352
+ }
1353
+ get isSortEnabled() {
1354
+ return this.sort !== null;
1355
+ }
1356
+ addFilterControls() {
1357
+ for (const column of this.columns) {
1358
+ this.filters.addControl(column.key, new FormControl());
1359
+ }
1360
+ }
1361
+ setDataSource() {
1362
+ this.matDataSource = new MatTableDataSource(this.dataSource);
1363
+ }
1364
+ setColumns() {
1365
+ this.displayedColumns = this.columns.map(column => column.key);
1366
+ }
1367
+ setFilter() {
1368
+ this.matDataSource.filter = JSON.stringify(this.filters.value);
1369
+ }
1370
+ setSort() {
1371
+ if (!this.matSort || this.sort === null) {
1372
+ return;
1373
+ }
1374
+ const sortSplit = this.sort.split(' ');
1375
+ this.sortColumn = sortSplit[0];
1376
+ if (['asc', 'desc'].includes(sortSplit[1])) {
1377
+ this.sortOrder = sortSplit[1];
1378
+ }
1379
+ else {
1380
+ console.warn(`Sort order '${sortSplit[1]}' is not 'asc' or 'desc', defaulting to 'asc'`);
1381
+ }
1382
+ if (this.sortColumn) {
1383
+ this.matSort.sort({ id: this.sortColumn, start: this.sortOrder, disableClear: false });
1384
+ const sortHeader = this.matSort.sortables.get(this.sortColumn);
1385
+ if (sortHeader) {
1386
+ sortHeader._setAnimationTransitionState({ toState: 'active' });
1387
+ }
1388
+ else {
1389
+ console.warn(`Unable to find sort column '${this.sortColumn}'. Initial sort failed.`);
1390
+ }
1391
+ }
1392
+ this.matDataSource.sort = this.matSort;
1393
+ }
1394
+ setPaginator() {
1395
+ // ensures ui updates correctly when paginator options change
1396
+ this.changeDetectorRef.detectChanges();
1397
+ this.matDataSource.paginator = this.matPaginator;
1398
+ }
1399
+ // necessary for web component to trigger this.filter.valueChanges
1400
+ onInputFilter(event, column) {
1401
+ // defer setting filter control as event.target.value is not set yet
1402
+ setTimeout(() => this.filters.get(column.key).setValue(event.target.value));
1403
+ }
1404
+ // necessary for web component to trigger this.filter.valueChanges
1405
+ onSelectFilter(event, column) {
1406
+ const innerText = event.target.innerText;
1407
+ this.filters.get(column.key).setValue(innerText === '- none -' ? null : innerText);
1408
+ }
1409
+ // necessary for web component to trigger this.filter.valueChanges
1410
+ onMultiSelectFilter(event, column) {
1411
+ let value = this.filters.controls[column.key].value || [];
1412
+ const innerText = event.target.parentElement.innerText;
1413
+ if (value.includes(innerText)) {
1414
+ value = value.filter(v => v !== innerText);
1415
+ }
1416
+ else {
1417
+ value.push(innerText);
1418
+ }
1419
+ this.filters.get(column.key).setValue(value.length === 1 && innerText === ''
1420
+ ? null // when all checboxes have been deselected
1421
+ : value);
1422
+ }
1423
+ }
1424
+ FwTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1425
+ FwTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwTableComponent, selector: "fw-table", inputs: { columns: "columns", dataSource: "dataSource", layout: "layout", pageSize: "pageSize", webCompPageSize: ["page-size", "webCompPageSize"], sort: "sort" }, host: { properties: { "class.compact": "isCompact" }, classAttribute: "fw-table" }, viewQueries: [{ propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "matSort", first: true, predicate: MatSort, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<table mat-table [dataSource]=\"matDataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByIndex\">\n <ng-container [matColumnDef]=\"column.key\">\n\n <ng-template #tableHeaders>\n <ng-container [ngSwitch]=\"column.filter?.control\">\n <ng-container *ngSwitchCase=\"'input'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <input matInput [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" (keydown)=\"$event.stopPropagation(); onInputFilter($event, column);\">\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\">\n <mat-option (click)=\"onSelectFilter($event, column);\">- none -</mat-option>\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" multiple=\"true\">\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onMultiSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchDefault>{{ column.label }}</ng-container>\n </ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"!isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <td mat-cell *matCellDef=\"let element\"> {{ element[column.key] }} </td>\n </ng-container>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n</table>\n<mat-paginator *ngIf=\"paginationSize > 0\" [pageSize]=\"paginationSize\"></mat-paginator>\n\n\n\n", styles: [":host{display:block;width:100%}:host:not(.compact) table.mat-table tr.mat-header-row,:host:not(.compact) table.mat-table tr.mat-row{height:56px}:host.compact table.mat-table tr.mat-header-row,:host.compact table.mat-table tr.mat-row{height:32px}:host.compact mat-paginator.mat-paginator{align-items:center;display:flex;height:32px;justify-content:flex-end}table.mat-table{width:100%}table.mat-table th,table.mat-table td{vertical-align:middle}table.mat-table th.mat-header-cell,table.mat-table th.mat-cell,table.mat-table td.mat-header-cell,table.mat-table td.mat-cell{border-bottom-color:var(--color-gray)}\n"], components: [{ type: i1$3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3$1.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i4$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i5$1.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { type: i1$3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i1$3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { type: i6.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], directives: [{ type: i5$1.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$3.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.MatLabel, selector: "mat-label" }, { type: i8.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: i9.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i1$3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i1$3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1$3.MatCellDef, selector: "[matCellDef]" }, { type: i1$3.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i1$3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i1$3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }] });
1426
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableComponent, decorators: [{
1427
+ type: Component,
1428
+ args: [{ host: {
1429
+ 'class': 'fw-table',
1430
+ '[class.compact]': 'isCompact',
1431
+ }, selector: 'fw-table', template: "<table mat-table [dataSource]=\"matDataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByIndex\">\n <ng-container [matColumnDef]=\"column.key\">\n\n <ng-template #tableHeaders>\n <ng-container [ngSwitch]=\"column.filter?.control\">\n <ng-container *ngSwitchCase=\"'input'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <input matInput [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" (keydown)=\"$event.stopPropagation(); onInputFilter($event, column);\">\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\">\n <mat-option (click)=\"onSelectFilter($event, column);\">- none -</mat-option>\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" multiple=\"true\">\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onMultiSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchDefault>{{ column.label }}</ng-container>\n </ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"!isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <td mat-cell *matCellDef=\"let element\"> {{ element[column.key] }} </td>\n </ng-container>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n</table>\n<mat-paginator *ngIf=\"paginationSize > 0\" [pageSize]=\"paginationSize\"></mat-paginator>\n\n\n\n", styles: [":host{display:block;width:100%}:host:not(.compact) table.mat-table tr.mat-header-row,:host:not(.compact) table.mat-table tr.mat-row{height:56px}:host.compact table.mat-table tr.mat-header-row,:host.compact table.mat-table tr.mat-row{height:32px}:host.compact mat-paginator.mat-paginator{align-items:center;display:flex;height:32px;justify-content:flex-end}table.mat-table{width:100%}table.mat-table th,table.mat-table td{vertical-align:middle}table.mat-table th.mat-header-cell,table.mat-table th.mat-cell,table.mat-table td.mat-header-cell,table.mat-table td.mat-cell{border-bottom-color:var(--color-gray)}\n"] }]
1432
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
1433
+ type: Input
1434
+ }], dataSource: [{
1435
+ type: Input
1436
+ }], layout: [{
1437
+ type: Input
1438
+ }], pageSize: [{
1439
+ type: Input
1440
+ }], webCompPageSize: [{
1441
+ type: Input,
1442
+ args: ['page-size']
1443
+ }], sort: [{
1444
+ type: Input
1445
+ }], matPaginator: [{
1446
+ type: ViewChild,
1447
+ args: [MatPaginator]
1448
+ }], matSort: [{
1449
+ type: ViewChild,
1450
+ args: [MatSort]
1451
+ }] } });
1452
+
1453
+ class FwTableModule {
1454
+ }
1455
+ FwTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1456
+ FwTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableModule, declarations: [FwTableComponent], imports: [CommonModule,
1457
+ FormsModule,
1458
+ ReactiveFormsModule,
1459
+ MatInputModule,
1460
+ MatPaginatorModule,
1461
+ MatSelectModule,
1462
+ MatSortModule,
1463
+ MatTableModule], exports: [FwTableComponent] });
1464
+ FwTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableModule, imports: [[
1465
+ CommonModule,
1466
+ FormsModule,
1467
+ ReactiveFormsModule,
1468
+ MatInputModule,
1469
+ MatPaginatorModule,
1470
+ MatSelectModule,
1471
+ MatSortModule,
1472
+ MatTableModule,
1473
+ ]] });
1474
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableModule, decorators: [{
1475
+ type: NgModule,
1476
+ args: [{
1477
+ imports: [
1478
+ CommonModule,
1479
+ FormsModule,
1480
+ ReactiveFormsModule,
1481
+ MatInputModule,
1482
+ MatPaginatorModule,
1483
+ MatSelectModule,
1484
+ MatSortModule,
1485
+ MatTableModule,
1486
+ ],
1487
+ exports: [
1488
+ FwTableComponent,
1489
+ ],
1490
+ declarations: [
1491
+ FwTableComponent,
1492
+ ],
1493
+ entryComponents: [
1494
+ FwTableComponent,
1495
+ ]
1496
+ }]
1497
+ }] });
1498
+
1499
+ /**
1500
+ * Generated bundle index. Do not edit.
1501
+ */
1502
+
1503
+ export { FwAvatarComponent, FwAvatarModule, FwButtonComponent, FwButtonGroupComponent, FwButtonGroupModule, FwButtonModule, FwChoiceDialog, FwConfirmDialog, FwDialogModule, FwDialogService, FwErrorDialog, FwIconComponent, FwIconModule, FwNotificationComponent, FwNotificationContainerComponent, FwNotificationModule, FwNotificationService, FwNotificationType, FwPopoverComponent, FwPopoverModule, FwPopoverTriggerComponent, FwPopoverTriggerDirective, FwPortalDialog, FwTableComponent, FwTableModule, MinimalTranslationService, TranslationService, genId };
1504
+ //# sourceMappingURL=flywheel-io-vision.mjs.map