@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,1494 @@
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
+ return choice.testId || `${String(choice.label ?? choice.value).toLowerCase()}-button`;
291
+ }
292
+ }
293
+ 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 });
294
+ 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: `
295
+ <h1 mat-dialog-title *ngIf="title">{{ title }}</h1>
296
+ <button *ngIf="showCloseButton" test-id="dialog-close-corner" mat-icon-button
297
+ [mat-dialog-close]="closeValue" [class]="{'mat-dialog-close-button': true, 'no-title': !title}">
298
+ <mat-icon>close</mat-icon>
299
+ </button>
300
+ <div mat-dialog-content>{{ content }}</div>
301
+ <div mat-dialog-actions [align]="alignActions">
302
+ <ng-container *ngFor="let choice of choices" [ngSwitch]="choice.variant">
303
+ <button *ngSwitchCase="'raised'" mat-raised-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
304
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
305
+ <button *ngSwitchCase="'stroked'" mat-stroked-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
306
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
307
+ <button *ngSwitchCase="'flat'" mat-flat-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
308
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
309
+ <ng-container *ngSwitchDefault>
310
+ <button *ngIf="choice.color" mat-flat-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
311
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
312
+ <button *ngIf="!choice.color" mat-stroked-button [attr.test-id]="getTestId(choice)"
313
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
314
+ </ng-container>
315
+ </ng-container>
316
+ </div>
317
+ `, 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]" }] });
318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwChoiceDialog, decorators: [{
319
+ type: Component,
320
+ args: [{
321
+ host: {
322
+ class: 'mat-dialog-component',
323
+ 'test-id': 'choice-dialog',
324
+ },
325
+ selector: 'fw-choice-dialog',
326
+ template: `
327
+ <h1 mat-dialog-title *ngIf="title">{{ title }}</h1>
328
+ <button *ngIf="showCloseButton" test-id="dialog-close-corner" mat-icon-button
329
+ [mat-dialog-close]="closeValue" [class]="{'mat-dialog-close-button': true, 'no-title': !title}">
330
+ <mat-icon>close</mat-icon>
331
+ </button>
332
+ <div mat-dialog-content>{{ content }}</div>
333
+ <div mat-dialog-actions [align]="alignActions">
334
+ <ng-container *ngFor="let choice of choices" [ngSwitch]="choice.variant">
335
+ <button *ngSwitchCase="'raised'" mat-raised-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
336
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
337
+ <button *ngSwitchCase="'stroked'" mat-stroked-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
338
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
339
+ <button *ngSwitchCase="'flat'" mat-flat-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
340
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
341
+ <ng-container *ngSwitchDefault>
342
+ <button *ngIf="choice.color" mat-flat-button [color]="choice.color" [attr.test-id]="getTestId(choice)"
343
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
344
+ <button *ngIf="!choice.color" mat-stroked-button [attr.test-id]="getTestId(choice)"
345
+ [mat-dialog-close]="choice.value">{{ choice.label }}</button>
346
+ </ng-container>
347
+ </ng-container>
348
+ </div>
349
+ `,
350
+ }]
351
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
352
+ type: Inject,
353
+ args: [MAT_DIALOG_DATA]
354
+ }] }]; } });
355
+
356
+ class TrustHtmlPipe {
357
+ constructor(sanitizer) {
358
+ this.sanitizer = sanitizer;
359
+ }
360
+ transform(html) {
361
+ return this.sanitizer.bypassSecurityTrustHtml(html);
362
+ }
363
+ }
364
+ 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 });
365
+ TrustHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TrustHtmlPipe, name: "trusthtml" });
366
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TrustHtmlPipe, decorators: [{
367
+ type: Pipe,
368
+ args: [{
369
+ name: 'trusthtml',
370
+ pure: true,
371
+ }]
372
+ }], ctorParameters: function () { return [{ type: i1$1.DomSanitizer }]; } });
373
+
374
+ class TranslationService {
375
+ }
376
+ /**
377
+ * Very basic i18n implementation. Consumer apps can provide their own implementation of TranslationService to override.
378
+ */
379
+ class MinimalTranslationService {
380
+ getMessage(key, silent) {
381
+ return of(MinimalTranslationService.messages[key]);
382
+ }
383
+ }
384
+ MinimalTranslationService.messages = {
385
+ 'common.actions.close': 'Close',
386
+ 'confirmDialog.body': 'Are you sure?',
387
+ 'confirmDialog.no': 'No',
388
+ 'confirmDialog.yes': 'Yes',
389
+ };
390
+ MinimalTranslationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MinimalTranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
391
+ MinimalTranslationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MinimalTranslationService });
392
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MinimalTranslationService, decorators: [{
393
+ type: Injectable
394
+ }] });
395
+
396
+ /**
397
+ * Translate a message given a nested key to a location in the loaded locale copy.
398
+ */
399
+ class TranslatePipe {
400
+ constructor(cdr, translationService) {
401
+ this.cdr = cdr;
402
+ this.translationService = translationService;
403
+ this.subscriptions = {};
404
+ this.messages = {};
405
+ }
406
+ ngOnDestroy() {
407
+ for (const subscription of Object.values(this.subscriptions)) {
408
+ subscription.unsubscribe();
409
+ }
410
+ }
411
+ transform(key, silent = false) {
412
+ if (!(key in this.subscriptions)) {
413
+ this.subscriptions[key] = this.translationService.getMessage(key, silent).subscribe(message => {
414
+ this.messages[key] = message;
415
+ // trigger change detection to support components with ChangeDetectionStrategy.OnPush
416
+ this.cdr.markForCheck();
417
+ });
418
+ }
419
+ return this.messages[key] || '';
420
+ }
421
+ }
422
+ 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 });
423
+ TranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TranslatePipe, name: "translate", pure: false });
424
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TranslatePipe, decorators: [{
425
+ type: Pipe,
426
+ args: [{
427
+ name: 'translate',
428
+ pure: false,
429
+ }]
430
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: TranslationService }]; } });
431
+
432
+ class FwConfirmDialog {
433
+ constructor(data) {
434
+ this.data = data;
435
+ this.title = this.data.title;
436
+ this.content = this.data.content;
437
+ this.html = this.data.html;
438
+ }
439
+ }
440
+ 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 });
441
+ 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: `
442
+ <h1 mat-dialog-title *ngIf="title">{{ title }}</h1>
443
+ <div mat-dialog-content *ngIf="html" class="markup" [innerHTML]="html | trusthtml"></div>
444
+ <div mat-dialog-content *ngIf="!html">{{ content || ('confirmDialog.body' | translate ) }}</div>
445
+ <div mat-dialog-actions align="center">
446
+ <button test-id="no-button" mat-stroked-button [mat-dialog-close]="false">{{ 'confirmDialog.no' | translate }}</button>
447
+ <button test-id="yes-button" mat-flat-button color="primary" [mat-dialog-close]="true">{{ 'confirmDialog.yes' | translate }}</button>
448
+ </div>
449
+ `, 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 } });
450
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwConfirmDialog, decorators: [{
451
+ type: Component,
452
+ args: [{
453
+ host: {
454
+ class: 'mat-dialog-component',
455
+ 'test-id': 'confirm-dialog',
456
+ },
457
+ selector: 'fw-confirm-dialog',
458
+ template: `
459
+ <h1 mat-dialog-title *ngIf="title">{{ title }}</h1>
460
+ <div mat-dialog-content *ngIf="html" class="markup" [innerHTML]="html | trusthtml"></div>
461
+ <div mat-dialog-content *ngIf="!html">{{ content || ('confirmDialog.body' | translate ) }}</div>
462
+ <div mat-dialog-actions align="center">
463
+ <button test-id="no-button" mat-stroked-button [mat-dialog-close]="false">{{ 'confirmDialog.no' | translate }}</button>
464
+ <button test-id="yes-button" mat-flat-button color="primary" [mat-dialog-close]="true">{{ 'confirmDialog.yes' | translate }}</button>
465
+ </div>
466
+ `,
467
+ styles: [`
468
+ [mat-dialog-content] {
469
+ text-align: center;
470
+ }
471
+ [mat-dialog-content].markup {
472
+ text-align: inherit;
473
+ }
474
+ `],
475
+ }]
476
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
477
+ type: Inject,
478
+ args: [MAT_DIALOG_DATA]
479
+ }] }]; } });
480
+
481
+ class FwDialogService {
482
+ constructor(matDialog) {
483
+ this.matDialog = matDialog;
484
+ this.dialogs = [];
485
+ this.config = new Map();
486
+ }
487
+ closeAll(component) {
488
+ if (component) {
489
+ this.dialogs
490
+ .filter((el) => el.component === component)
491
+ .forEach((el) => el.ref.close());
492
+ }
493
+ else {
494
+ this.matDialog.closeAll();
495
+ }
496
+ }
497
+ open(component, config) {
498
+ const index = this.dialogs.findIndex(el => el.component === component);
499
+ let ref = null;
500
+ const baseConfig = {
501
+ multi: 'allow',
502
+ ...this.config.get(component),
503
+ };
504
+ switch (baseConfig.multi) {
505
+ case 'ignore':
506
+ // if an existing dialog of the same type doesn't exist, open one
507
+ if (index === -1) {
508
+ ref = this.matDialog.open(component, { ...baseConfig, ...config });
509
+ this.dialogs.push({ component, ref });
510
+ }
511
+ break;
512
+ case 'replace':
513
+ // if an existing dialog of the same type exists, replace it.
514
+ if (index > -1) {
515
+ this.dialogs[index].ref.close();
516
+ ref = this.matDialog.open(component, { ...baseConfig, ...config });
517
+ this.dialogs.splice(index, 1, { component, ref });
518
+ }
519
+ else {
520
+ ref = this.matDialog.open(component, { ...baseConfig, ...config });
521
+ this.dialogs.push({ component, ref });
522
+ }
523
+ break;
524
+ default:
525
+ ref = this.matDialog.open(component, { ...baseConfig, ...config });
526
+ this.dialogs.push({ component, ref });
527
+ break;
528
+ }
529
+ if (ref) {
530
+ ref.afterClosed().subscribe(() => {
531
+ // clean up open dialog reference
532
+ const index = this.dialogs.findIndex(el => el.ref === ref);
533
+ if (index >= 0) {
534
+ this.dialogs.splice(index, 1);
535
+ }
536
+ });
537
+ }
538
+ return ref;
539
+ }
540
+ registerDialog(component, config) {
541
+ this.config.set(component, config);
542
+ }
543
+ }
544
+ FwDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwDialogService, deps: [{ token: i4.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
545
+ FwDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwDialogService });
546
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwDialogService, decorators: [{
547
+ type: Injectable
548
+ }], ctorParameters: function () { return [{ type: i4.MatDialog }]; } });
549
+
550
+ class FwErrorDialog {
551
+ constructor(data, ref) {
552
+ this.data = data;
553
+ this.ref = ref;
554
+ this.message = this.data.message;
555
+ this.ref.disableClose = false;
556
+ }
557
+ }
558
+ 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 });
559
+ 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: `
560
+ <div mat-dialog-content>{{ message }}</div>
561
+ <div mat-dialog-actions align="end">
562
+ <button test-id="close-button" mat-stroked-button mat-dialog-close>
563
+ {{ 'common.actions.close' | translate }}
564
+ </button>
565
+ </div>
566
+ `, 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 } });
567
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwErrorDialog, decorators: [{
568
+ type: Component,
569
+ args: [{
570
+ host: {
571
+ class: 'mat-dialog-component',
572
+ 'test-id': 'error-dialog',
573
+ },
574
+ selector: 'fw-error-dialog',
575
+ template: `
576
+ <div mat-dialog-content>{{ message }}</div>
577
+ <div mat-dialog-actions align="end">
578
+ <button test-id="close-button" mat-stroked-button mat-dialog-close>
579
+ {{ 'common.actions.close' | translate }}
580
+ </button>
581
+ </div>
582
+ `,
583
+ }]
584
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
585
+ type: Inject,
586
+ args: [MAT_DIALOG_DATA]
587
+ }] }, { type: i4.MatDialogRef }]; } });
588
+
589
+ class FwPortalDialog {
590
+ constructor(data, viewContainerRef) {
591
+ this.data = data;
592
+ this.viewContainerRef = viewContainerRef;
593
+ this.content = this.data.content;
594
+ this.title = this.data.title;
595
+ this.destroyed$ = new Subject();
596
+ if (this.data.component) {
597
+ this.portal = new ComponentPortal(this.data.component.type, this.viewContainerRef);
598
+ }
599
+ else if (this.data.template) {
600
+ this.portal = new TemplatePortal(this.data.template, this.viewContainerRef);
601
+ }
602
+ else {
603
+ throw new Error('One of [component, template] was not provided.');
604
+ }
605
+ }
606
+ ngOnDestroy() {
607
+ this.destroyed$.next(undefined);
608
+ }
609
+ attached(ref) {
610
+ if (this.data.component) {
611
+ ref = ref;
612
+ if (this.data.component.outputs) {
613
+ for (const [key, observer] of Object.entries(this.data.component.outputs)) {
614
+ const output$ = ref[key];
615
+ if (typeof output$?.pipe === 'function' && typeof output$.subscribe === 'function') {
616
+ output$.pipe(takeUntil(this.destroyed$)).subscribe(observer);
617
+ }
618
+ }
619
+ }
620
+ if (this.data.component.inputs) {
621
+ const changes = {};
622
+ for (const [key, value] of Object.entries(this.data.component.inputs)) {
623
+ ref.instance[key] = value;
624
+ changes[key] = new SimpleChange(value, value, true);
625
+ }
626
+ ref.instance.ngOnChanges?.(changes);
627
+ ref.changeDetectorRef.markForCheck();
628
+ }
629
+ }
630
+ }
631
+ }
632
+ 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 });
633
+ 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: `
634
+ <ng-container *ngIf="title">
635
+ <h1 mat-dialog-title>{{ title }}</h1>
636
+ <button test-id="dialog-close-corner" mat-icon-button mat-dialog-close>
637
+ <mat-icon>close</mat-icon>
638
+ </button>
639
+ </ng-container>
640
+ <mat-dialog-content>
641
+ <p *ngIf="content" class="content">{{ content }}</p>
642
+ <ng-template [cdkPortalOutlet]="portal" (attached)="attached($event)"></ng-template>
643
+ </mat-dialog-content>
644
+ <mat-dialog-actions align="end">
645
+ <button test-id="dialog-close-button" mat-stroked-button mat-dialog-close>
646
+ {{ 'common.actions.close' | translate }}
647
+ </button>
648
+ </mat-dialog-actions>
649
+ `, 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 } });
650
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPortalDialog, decorators: [{
651
+ type: Component,
652
+ args: [{
653
+ host: {
654
+ class: 'mat-dialog-component',
655
+ 'test-id': 'portal-dialog',
656
+ },
657
+ selector: 'fw-portal-dialog',
658
+ template: `
659
+ <ng-container *ngIf="title">
660
+ <h1 mat-dialog-title>{{ title }}</h1>
661
+ <button test-id="dialog-close-corner" mat-icon-button mat-dialog-close>
662
+ <mat-icon>close</mat-icon>
663
+ </button>
664
+ </ng-container>
665
+ <mat-dialog-content>
666
+ <p *ngIf="content" class="content">{{ content }}</p>
667
+ <ng-template [cdkPortalOutlet]="portal" (attached)="attached($event)"></ng-template>
668
+ </mat-dialog-content>
669
+ <mat-dialog-actions align="end">
670
+ <button test-id="dialog-close-button" mat-stroked-button mat-dialog-close>
671
+ {{ 'common.actions.close' | translate }}
672
+ </button>
673
+ </mat-dialog-actions>
674
+ `,
675
+ styles: [`
676
+ :host {
677
+ min-width: 200px;
678
+ }
679
+ .content {
680
+ margin-bottom: 30px;
681
+ }
682
+ `],
683
+ }]
684
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
685
+ type: Inject,
686
+ args: [MAT_DIALOG_DATA]
687
+ }] }, { type: i0.ViewContainerRef }]; } });
688
+
689
+ const exports = [
690
+ TranslatePipe,
691
+ TrustHtmlPipe,
692
+ ];
693
+ class PipesModule {
694
+ }
695
+ PipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
696
+ PipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PipesModule, declarations: [TranslatePipe,
697
+ TrustHtmlPipe], exports: [TranslatePipe,
698
+ TrustHtmlPipe] });
699
+ PipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PipesModule, providers: [
700
+ {
701
+ provide: TranslationService,
702
+ useClass: MinimalTranslationService,
703
+ },
704
+ ] });
705
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PipesModule, decorators: [{
706
+ type: NgModule,
707
+ args: [{
708
+ declarations: exports,
709
+ exports: exports,
710
+ providers: [
711
+ {
712
+ provide: TranslationService,
713
+ useClass: MinimalTranslationService,
714
+ },
715
+ ],
716
+ }]
717
+ }] });
718
+
719
+ class FwDialogModule {
720
+ }
721
+ FwDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
722
+ FwDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwDialogModule, declarations: [FwChoiceDialog,
723
+ FwConfirmDialog,
724
+ FwErrorDialog,
725
+ FwPortalDialog], imports: [CommonModule,
726
+ MatButtonModule,
727
+ MatDialogModule,
728
+ MatIconModule,
729
+ PipesModule,
730
+ PortalModule] });
731
+ FwDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwDialogModule, providers: [
732
+ FwDialogService,
733
+ {
734
+ provide: MAT_DIALOG_DEFAULT_OPTIONS,
735
+ useValue: {
736
+ disableClose: true,
737
+ hasBackdrop: true,
738
+ }
739
+ }
740
+ ], imports: [[
741
+ CommonModule,
742
+ MatButtonModule,
743
+ MatDialogModule,
744
+ MatIconModule,
745
+ PipesModule,
746
+ PortalModule,
747
+ ]] });
748
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwDialogModule, decorators: [{
749
+ type: NgModule,
750
+ args: [{
751
+ declarations: [
752
+ FwChoiceDialog,
753
+ FwConfirmDialog,
754
+ FwErrorDialog,
755
+ FwPortalDialog,
756
+ ],
757
+ imports: [
758
+ CommonModule,
759
+ MatButtonModule,
760
+ MatDialogModule,
761
+ MatIconModule,
762
+ PipesModule,
763
+ PortalModule,
764
+ ],
765
+ providers: [
766
+ FwDialogService,
767
+ {
768
+ provide: MAT_DIALOG_DEFAULT_OPTIONS,
769
+ useValue: {
770
+ disableClose: true,
771
+ hasBackdrop: true,
772
+ }
773
+ }
774
+ ],
775
+ }]
776
+ }] });
777
+
778
+ function genId() {
779
+ return String.prototype.padStart(24, Math.floor(Math.random() * Date.now()).toString(16));
780
+ }
781
+ class FwNotificationService {
782
+ constructor() {
783
+ this.notifications$ = new BehaviorSubject([]);
784
+ this.notificationQueue = [];
785
+ }
786
+ show(notification) {
787
+ if (!notification.id) {
788
+ notification.id = genId();
789
+ }
790
+ this.notificationQueue.push(notification);
791
+ this.notifications$.next(this.notificationQueue);
792
+ }
793
+ dismiss(notificationId) {
794
+ this.notificationQueue = this.notificationQueue.filter((v) => v.id !== notificationId);
795
+ this.notifications$.next(this.notificationQueue);
796
+ }
797
+ dismissAll() {
798
+ this.notificationQueue = [];
799
+ this.notifications$.next(this.notificationQueue);
800
+ }
801
+ }
802
+ FwNotificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
803
+ FwNotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationService, providedIn: 'root' });
804
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationService, decorators: [{
805
+ type: Injectable,
806
+ args: [{
807
+ providedIn: 'root'
808
+ }]
809
+ }] });
810
+
811
+ class FwNotificationTimerService {
812
+ constructor() {
813
+ this.now = 0;
814
+ this.remainingDuration = 0;
815
+ }
816
+ start(duration) {
817
+ return new Promise((resolve) => {
818
+ this.remainingDuration = duration;
819
+ this.resolver = resolve;
820
+ this.continue();
821
+ });
822
+ }
823
+ stop() {
824
+ clearTimeout(this.timerId);
825
+ this.remainingDuration = 0;
826
+ }
827
+ pause() {
828
+ clearTimeout(this.timerId);
829
+ this.remainingDuration =
830
+ this.remainingDuration - new Date().getTime() - this.now;
831
+ }
832
+ continue() {
833
+ this.now = new Date().getTime();
834
+ this.timerId = window.setTimeout(() => {
835
+ this.resolver();
836
+ }, this.remainingDuration);
837
+ }
838
+ }
839
+
840
+ var FwNotificationType;
841
+ (function (FwNotificationType) {
842
+ FwNotificationType["Error"] = "error";
843
+ FwNotificationType["Info"] = "info";
844
+ FwNotificationType["Success"] = "success";
845
+ FwNotificationType["Wait"] = "wait";
846
+ FwNotificationType["Warning"] = "warning";
847
+ })(FwNotificationType || (FwNotificationType = {}));
848
+
849
+ class FwNotificationComponent {
850
+ constructor(cdr, timerService) {
851
+ this.cdr = cdr;
852
+ this.timerService = timerService;
853
+ this.notificationDuration = 9000;
854
+ this.ready = new EventEmitter();
855
+ this.dismiss = new EventEmitter();
856
+ }
857
+ get cssClass() {
858
+ let cssClass = 'fw-notification';
859
+ switch (this.notification?.type) {
860
+ case FwNotificationType.Error:
861
+ return cssClass += ' error';
862
+ case FwNotificationType.Info:
863
+ return cssClass += ' info';
864
+ case FwNotificationType.Success:
865
+ return cssClass += ' success';
866
+ case FwNotificationType.Wait:
867
+ return cssClass += ' wait';
868
+ case FwNotificationType.Warning:
869
+ return cssClass += ' warning';
870
+ default:
871
+ return cssClass;
872
+ }
873
+ }
874
+ ngAfterViewInit() {
875
+ this.ready.emit(this);
876
+ this.cdr.markForCheck();
877
+ }
878
+ startTimer() {
879
+ this.timerService.start(this.notificationDuration).then(() => {
880
+ this.onClickDismiss();
881
+ this.cdr.markForCheck();
882
+ });
883
+ }
884
+ stopTimer() {
885
+ this.timerService.stop();
886
+ this.cdr.markForCheck();
887
+ }
888
+ onClickDismiss() {
889
+ this.dismiss.emit(this.notification.id);
890
+ this.cdr.markForCheck();
891
+ }
892
+ }
893
+ 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 });
894
+ 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 });
895
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationComponent, decorators: [{
896
+ type: Component,
897
+ args: [{ host: {
898
+ '(click)': 'onClickDismiss()'
899
+ }, 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"] }]
900
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: FwNotificationTimerService }]; }, propDecorators: { notification: [{
901
+ type: Input
902
+ }], notificationDuration: [{
903
+ type: Input
904
+ }], ready: [{
905
+ type: Output
906
+ }], dismiss: [{
907
+ type: Output
908
+ }], cssClass: [{
909
+ type: HostBinding,
910
+ args: ['class']
911
+ }] } });
912
+
913
+ class FwNotificationContainerComponent {
914
+ constructor(cdr, notificationService) {
915
+ this.cdr = cdr;
916
+ this.notificationService = notificationService;
917
+ this.limit = 3;
918
+ this.notifications = [];
919
+ this.expanded = false;
920
+ this.subscriptions = {
921
+ notifications: Subscription.EMPTY,
922
+ };
923
+ this.subscriptions.notifications = this.notificationService.notifications$.subscribe((notifications) => {
924
+ this.notifications = notifications;
925
+ if (notifications.length === 0) {
926
+ this.expanded = false;
927
+ }
928
+ this.cdr.markForCheck();
929
+ });
930
+ }
931
+ ngOnDestroy() {
932
+ for (const subscription of Object.values(this.subscriptions)) {
933
+ subscription.unsubscribe();
934
+ }
935
+ }
936
+ notificationClass(index) {
937
+ let cssClass;
938
+ const level = this.notifications.length > this.limit
939
+ ? index - (this.notifications.length - this.limit)
940
+ : index;
941
+ if (this.expanded) {
942
+ cssClass = 'default';
943
+ }
944
+ else {
945
+ cssClass = level >= 0 ? `level-${level}` : 'hidden';
946
+ }
947
+ return cssClass;
948
+ }
949
+ getEmptyNotification(notification) {
950
+ return { ...notification, message: ' ' }; // take up a line but show no content
951
+ }
952
+ onReady(notification) {
953
+ const currentNotification = this.notifications[this.notifications.length - 1];
954
+ currentNotification.ref = notification;
955
+ notification.startTimer();
956
+ }
957
+ onDismiss(notificationId) {
958
+ const notification = this.notifications.find(currentNotification => currentNotification.id === notificationId);
959
+ if (notification?.ref) {
960
+ notification.ref.stopTimer();
961
+ }
962
+ if (notification?.id) {
963
+ this.notificationService.dismiss(notification.id);
964
+ }
965
+ this.cdr.markForCheck();
966
+ }
967
+ clearAll() {
968
+ this.notificationService.dismissAll();
969
+ this.cdr.markForCheck();
970
+ }
971
+ onShowMore() {
972
+ this.expanded = true;
973
+ this.cdr.markForCheck();
974
+ }
975
+ onShowLess() {
976
+ this.expanded = false;
977
+ this.cdr.markForCheck();
978
+ }
979
+ }
980
+ 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 });
981
+ 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 });
982
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationContainerComponent, decorators: [{
983
+ type: Component,
984
+ args: [{ host: {
985
+ 'class': 'fw-notification-container',
986
+ '[class.duo]': 'notifications.length === 2',
987
+ '[class.triple]': 'notifications.length >= 3',
988
+ }, 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"] }]
989
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: FwNotificationService }]; } });
990
+
991
+ class FwNotificationModule {
992
+ }
993
+ FwNotificationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
994
+ FwNotificationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationModule, declarations: [FwNotificationComponent,
995
+ FwNotificationContainerComponent], imports: [CommonModule,
996
+ FwButtonModule,
997
+ FwButtonGroupModule,
998
+ MatButtonModule,
999
+ MatIconModule], exports: [FwNotificationComponent,
1000
+ FwNotificationContainerComponent] });
1001
+ FwNotificationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationModule, providers: [
1002
+ FwNotificationService,
1003
+ ], imports: [[
1004
+ CommonModule,
1005
+ FwButtonModule,
1006
+ FwButtonGroupModule,
1007
+ MatButtonModule,
1008
+ MatIconModule,
1009
+ ]] });
1010
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwNotificationModule, decorators: [{
1011
+ type: NgModule,
1012
+ args: [{
1013
+ imports: [
1014
+ CommonModule,
1015
+ FwButtonModule,
1016
+ FwButtonGroupModule,
1017
+ MatButtonModule,
1018
+ MatIconModule,
1019
+ ],
1020
+ exports: [
1021
+ FwNotificationComponent,
1022
+ FwNotificationContainerComponent
1023
+ ],
1024
+ declarations: [
1025
+ FwNotificationComponent,
1026
+ FwNotificationContainerComponent,
1027
+ ],
1028
+ entryComponents: [
1029
+ FwNotificationComponent,
1030
+ ],
1031
+ providers: [
1032
+ FwNotificationService,
1033
+ ]
1034
+ }]
1035
+ }] });
1036
+
1037
+ class FwPopoverTriggerDirective {
1038
+ constructor(element, overlay, viewContainerRef) {
1039
+ this.element = element;
1040
+ this.overlay = overlay;
1041
+ this.viewContainerRef = viewContainerRef;
1042
+ this.popoverMargin = 15;
1043
+ this.positionMap = {
1044
+ 'left': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },
1045
+ 'right': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },
1046
+ 'above': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom' },
1047
+ 'below': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top' },
1048
+ };
1049
+ this.position = 'below';
1050
+ this.subscriptions = {
1051
+ positionChanges: Subscription.EMPTY,
1052
+ };
1053
+ }
1054
+ ngOnChanges(changes) {
1055
+ if (changes.position && this.overlayRef) {
1056
+ this.overlayRef.dispose();
1057
+ this.overlayRef = null;
1058
+ }
1059
+ }
1060
+ ngOnDestroy() {
1061
+ if (this.overlayRef) {
1062
+ this.overlayRef.dispose();
1063
+ this.overlayRef = null;
1064
+ }
1065
+ for (const subscription of Object.values(this.subscriptions)) {
1066
+ subscription.unsubscribe();
1067
+ }
1068
+ }
1069
+ showPopover() {
1070
+ if (this.popover?.templateRef) {
1071
+ this.getOverlay().attach(new TemplatePortal(this.popover.templateRef, this.viewContainerRef));
1072
+ }
1073
+ }
1074
+ hidePopover(e) {
1075
+ if (!e.relatedTarget?.classList.contains('fw-popover-panel')) {
1076
+ this.getOverlay().detach();
1077
+ }
1078
+ }
1079
+ setPopoverCaretPosition(position) {
1080
+ const caret = this.overlayRef.overlayElement.querySelector('.fw-popover-caret');
1081
+ const caretRect = this.overlayRef.overlayElement.getBoundingClientRect();
1082
+ const triggerRect = this.element.nativeElement.getBoundingClientRect();
1083
+ this.overlayRef.overlayElement.querySelector('.fw-popover-content-wrapper').style.margin = `${this.popoverMargin}px`;
1084
+ if (['left', 'right', 'before', 'after'].includes(position)) {
1085
+ caret.style.top = `${triggerRect.top - caretRect.top - this.popoverMargin + (triggerRect.height / 2)}px`;
1086
+ }
1087
+ else {
1088
+ caret.style.left = `${triggerRect.left - caretRect.left - this.popoverMargin + (triggerRect.width / 2)}px`;
1089
+ }
1090
+ }
1091
+ setPopoverPosition(positionChange) {
1092
+ const position = this.positionMap[this.mainPosition] === positionChange.connectionPair
1093
+ ? this.mainPosition
1094
+ : this.positionMap[this.fallbackPosition] === positionChange.connectionPair
1095
+ ? this.fallbackPosition
1096
+ : this.mainPosition;
1097
+ this.overlayRef.removePanelClass(['fw-popover-above', 'fw-popover-below', 'fw-popover-left', 'fw-popover-right']);
1098
+ this.overlayRef.addPanelClass(`fw-popover-${position}`);
1099
+ this.setPopoverCaretPosition(position);
1100
+ }
1101
+ getOverlay() {
1102
+ if (!this.overlayRef) {
1103
+ this.overlayRef = this.overlay.create({
1104
+ positionStrategy: this.overlay.position()
1105
+ .flexibleConnectedTo(this.element)
1106
+ .withPositions(this.getPositions()),
1107
+ panelClass: 'fw-popover-panel',
1108
+ });
1109
+ this.overlayRef.overlayElement.addEventListener('mouseleave', e => this.hidePopover(e));
1110
+ this.subscriptions.positionChanges = this.overlayRef.getConfig().positionStrategy.positionChanges
1111
+ .subscribe(positionChange => this.setPopoverPosition(positionChange));
1112
+ }
1113
+ return this.overlayRef;
1114
+ }
1115
+ getMainPosition() {
1116
+ return this.mainPosition =
1117
+ ['left', 'before'].includes(this.position)
1118
+ ? 'left'
1119
+ : ['right', 'after'].includes(this.position)
1120
+ ? 'right'
1121
+ : this.position === 'above'
1122
+ ? 'above'
1123
+ : 'below';
1124
+ }
1125
+ getFallbackPosition() {
1126
+ return this.fallbackPosition =
1127
+ ['left', 'before'].includes(this.position)
1128
+ ? 'right'
1129
+ : ['right', 'after'].includes(this.position)
1130
+ ? 'left'
1131
+ : this.position === 'above'
1132
+ ? 'below'
1133
+ : 'above';
1134
+ }
1135
+ getPositions() {
1136
+ return [
1137
+ // main position
1138
+ this.positionMap[this.getMainPosition()],
1139
+ // fallback position (inverse of main)
1140
+ this.positionMap[this.getFallbackPosition()],
1141
+ ];
1142
+ }
1143
+ }
1144
+ 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 });
1145
+ 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 });
1146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverTriggerDirective, decorators: [{
1147
+ type: Directive,
1148
+ args: [{
1149
+ host: {
1150
+ 'class': 'fw-popover-trigger',
1151
+ '(mouseenter)': 'showPopover()',
1152
+ '(mouseleave)': 'hidePopover($event)',
1153
+ },
1154
+ selector: '[fwPopoverTriggerFor]',
1155
+ exportAs: 'fwPopoverTrigger',
1156
+ }]
1157
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$2.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { popover: [{
1158
+ type: Input,
1159
+ args: ['fwPopoverTriggerFor']
1160
+ }], position: [{
1161
+ type: Input,
1162
+ args: ['fwPopoverPosition']
1163
+ }] } });
1164
+
1165
+ class FwPopoverTriggerComponent extends FwPopoverTriggerDirective {
1166
+ constructor(element, overlay, viewContainerRef) {
1167
+ super(element, overlay, viewContainerRef);
1168
+ this.element = element;
1169
+ this.overlay = overlay;
1170
+ this.viewContainerRef = viewContainerRef;
1171
+ this.position = 'below';
1172
+ }
1173
+ showPopover() {
1174
+ const overlay = this.getOverlay();
1175
+ overlay.detach();
1176
+ if (this.popoverId) {
1177
+ // as a web component it is not possible to have a reference to this.popover
1178
+ this.popoverHTML = document.querySelector(`fw-popover#${this.popoverId}`).innerHTML;
1179
+ overlay.attach(new TemplatePortal(this.popoverTemplateRef, this.viewContainerRef));
1180
+ }
1181
+ }
1182
+ }
1183
+ 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 });
1184
+ 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>
1185
+ <!-- for web component support -->
1186
+ <ng-template>
1187
+ <div [innerHTML]="popoverHTML"></div>
1188
+ </ng-template>`, isInline: true });
1189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverTriggerComponent, decorators: [{
1190
+ type: Component,
1191
+ args: [{
1192
+ host: {
1193
+ 'class': 'fw-popover-trigger',
1194
+ '(mouseenter)': 'showPopover()',
1195
+ '(mouseleave)': 'hidePopover($event)',
1196
+ },
1197
+ selector: 'fw-popover-trigger',
1198
+ template: `<ng-content></ng-content>
1199
+ <!-- for web component support -->
1200
+ <ng-template>
1201
+ <div [innerHTML]="popoverHTML"></div>
1202
+ </ng-template>`,
1203
+ }]
1204
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$2.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { popoverId: [{
1205
+ type: Input,
1206
+ args: ['trigger-for']
1207
+ }], position: [{
1208
+ type: Input,
1209
+ args: ['position']
1210
+ }], popoverTemplateRef: [{
1211
+ type: ViewChild,
1212
+ args: [TemplateRef]
1213
+ }] } });
1214
+
1215
+ class FwPopoverComponent {
1216
+ }
1217
+ FwPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1218
+ 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: `
1219
+ <ng-container *ngTemplateOutlet="content"></ng-container>
1220
+ <ng-template #content>
1221
+ <div class="fw-popover-content-wrapper">
1222
+ <ng-content></ng-content>
1223
+ <div class="fw-popover-caret"></div>
1224
+ </div>
1225
+ </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 });
1226
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverComponent, decorators: [{
1227
+ type: Component,
1228
+ args: [{ host: { 'class': 'fw-popover' }, selector: 'fw-popover', 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>`, 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"] }]
1236
+ }], propDecorators: { templateRef: [{
1237
+ type: ViewChild,
1238
+ args: ['content']
1239
+ }] } });
1240
+
1241
+ class FwPopoverModule {
1242
+ }
1243
+ FwPopoverModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1244
+ FwPopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverModule, declarations: [FwPopoverComponent,
1245
+ FwPopoverTriggerComponent,
1246
+ FwPopoverTriggerDirective], imports: [CommonModule], exports: [FwPopoverComponent,
1247
+ FwPopoverTriggerComponent,
1248
+ FwPopoverTriggerDirective] });
1249
+ FwPopoverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverModule, providers: [
1250
+ Overlay,
1251
+ ], imports: [[
1252
+ CommonModule,
1253
+ ]] });
1254
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverModule, decorators: [{
1255
+ type: NgModule,
1256
+ args: [{
1257
+ imports: [
1258
+ CommonModule,
1259
+ ],
1260
+ exports: [
1261
+ FwPopoverComponent,
1262
+ FwPopoverTriggerComponent,
1263
+ FwPopoverTriggerDirective,
1264
+ ],
1265
+ declarations: [
1266
+ FwPopoverComponent,
1267
+ FwPopoverTriggerComponent,
1268
+ FwPopoverTriggerDirective,
1269
+ ],
1270
+ entryComponents: [
1271
+ FwPopoverComponent,
1272
+ FwPopoverTriggerComponent,
1273
+ ],
1274
+ providers: [
1275
+ Overlay,
1276
+ ],
1277
+ }]
1278
+ }] });
1279
+
1280
+ class FwTableComponent {
1281
+ constructor(changeDetectorRef) {
1282
+ this.changeDetectorRef = changeDetectorRef;
1283
+ this.columns = [];
1284
+ this.dataSource = [];
1285
+ this.layout = 'basic';
1286
+ this.pageSize = null;
1287
+ this.webCompPageSize = null;
1288
+ this.sort = null;
1289
+ this.sortColumn = '';
1290
+ this.sortOrder = 'asc';
1291
+ this.displayedColumns = [];
1292
+ this.filters = new FormGroup({});
1293
+ // to support updating column header labels
1294
+ this.trackByIndex = i => i;
1295
+ }
1296
+ ngOnInit() {
1297
+ this.setDataSource();
1298
+ this.setColumns();
1299
+ this.addFilterControls();
1300
+ this.setFilter();
1301
+ this.matDataSource.filterPredicate = (row, filter) => {
1302
+ const filters = JSON.parse(filter);
1303
+ for (const filter in filters) {
1304
+ const filterValue = filters[filter];
1305
+ const rowValue = row[filter];
1306
+ // multi-select
1307
+ if (Array.isArray(filterValue) && filterValue.length > 0 && !filterValue.includes(rowValue)) {
1308
+ return false;
1309
+ }
1310
+ // input or select
1311
+ if (!Array.isArray(filterValue) && !String(rowValue).toLowerCase().includes(String(filterValue ?? '').toLowerCase())) {
1312
+ return false;
1313
+ }
1314
+ }
1315
+ return true;
1316
+ };
1317
+ this.filters.valueChanges.pipe(debounceTime(200)).subscribe(() => this.setFilter());
1318
+ }
1319
+ ngAfterViewInit() {
1320
+ this.setSort();
1321
+ this.setPaginator();
1322
+ }
1323
+ ngOnChanges(changes) {
1324
+ if (changes.columns) {
1325
+ this.setColumns();
1326
+ }
1327
+ if (changes.dataSource) {
1328
+ this.setDataSource();
1329
+ }
1330
+ if (changes.sort || changes.dataSource) {
1331
+ this.setSort();
1332
+ }
1333
+ if (changes.pageSize || changes['page-size']) {
1334
+ this.setPaginator();
1335
+ }
1336
+ }
1337
+ get isCompact() {
1338
+ return this.layout === 'compact';
1339
+ }
1340
+ get paginationSize() {
1341
+ return this.pageSize || this.webCompPageSize || 0;
1342
+ }
1343
+ get isSortEnabled() {
1344
+ return this.sort !== null;
1345
+ }
1346
+ addFilterControls() {
1347
+ for (const column of this.columns) {
1348
+ this.filters.addControl(column.key, new FormControl());
1349
+ }
1350
+ }
1351
+ setDataSource() {
1352
+ this.matDataSource = new MatTableDataSource(this.dataSource);
1353
+ }
1354
+ setColumns() {
1355
+ this.displayedColumns = this.columns.map(column => column.key);
1356
+ }
1357
+ setFilter() {
1358
+ this.matDataSource.filter = JSON.stringify(this.filters.value);
1359
+ }
1360
+ setSort() {
1361
+ if (!this.matSort || this.sort === null) {
1362
+ return;
1363
+ }
1364
+ const sortSplit = this.sort.split(' ');
1365
+ this.sortColumn = sortSplit[0];
1366
+ if (['asc', 'desc'].includes(sortSplit[1])) {
1367
+ this.sortOrder = sortSplit[1];
1368
+ }
1369
+ else {
1370
+ console.warn(`Sort order '${sortSplit[1]}' is not 'asc' or 'desc', defaulting to 'asc'`);
1371
+ }
1372
+ if (this.sortColumn) {
1373
+ this.matSort.sort({ id: this.sortColumn, start: this.sortOrder, disableClear: false });
1374
+ const sortHeader = this.matSort.sortables.get(this.sortColumn);
1375
+ if (sortHeader) {
1376
+ sortHeader._setAnimationTransitionState({ toState: 'active' });
1377
+ }
1378
+ else {
1379
+ console.warn(`Unable to find sort column '${this.sortColumn}'. Initial sort failed.`);
1380
+ }
1381
+ }
1382
+ this.matDataSource.sort = this.matSort;
1383
+ }
1384
+ setPaginator() {
1385
+ // ensures ui updates correctly when paginator options change
1386
+ this.changeDetectorRef.detectChanges();
1387
+ this.matDataSource.paginator = this.matPaginator;
1388
+ }
1389
+ // necessary for web component to trigger this.filter.valueChanges
1390
+ onInputFilter(event, column) {
1391
+ // defer setting filter control as event.target.value is not set yet
1392
+ setTimeout(() => this.filters.get(column.key).setValue(event.target.value));
1393
+ }
1394
+ // necessary for web component to trigger this.filter.valueChanges
1395
+ onSelectFilter(event, column) {
1396
+ const innerText = event.target.innerText;
1397
+ this.filters.get(column.key).setValue(innerText === '- none -' ? null : innerText);
1398
+ }
1399
+ // necessary for web component to trigger this.filter.valueChanges
1400
+ onMultiSelectFilter(event, column) {
1401
+ let value = this.filters.controls[column.key].value || [];
1402
+ const innerText = event.target.parentElement.innerText;
1403
+ if (value.includes(innerText)) {
1404
+ value = value.filter(v => v !== innerText);
1405
+ }
1406
+ else {
1407
+ value.push(innerText);
1408
+ }
1409
+ this.filters.get(column.key).setValue(value.length === 1 && innerText === ''
1410
+ ? null // when all checboxes have been deselected
1411
+ : value);
1412
+ }
1413
+ }
1414
+ FwTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1415
+ 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"] }] });
1416
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableComponent, decorators: [{
1417
+ type: Component,
1418
+ args: [{ host: {
1419
+ 'class': 'fw-table',
1420
+ '[class.compact]': 'isCompact',
1421
+ }, 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"] }]
1422
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
1423
+ type: Input
1424
+ }], dataSource: [{
1425
+ type: Input
1426
+ }], layout: [{
1427
+ type: Input
1428
+ }], pageSize: [{
1429
+ type: Input
1430
+ }], webCompPageSize: [{
1431
+ type: Input,
1432
+ args: ['page-size']
1433
+ }], sort: [{
1434
+ type: Input
1435
+ }], matPaginator: [{
1436
+ type: ViewChild,
1437
+ args: [MatPaginator]
1438
+ }], matSort: [{
1439
+ type: ViewChild,
1440
+ args: [MatSort]
1441
+ }] } });
1442
+
1443
+ class FwTableModule {
1444
+ }
1445
+ FwTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1446
+ FwTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableModule, declarations: [FwTableComponent], imports: [CommonModule,
1447
+ FormsModule,
1448
+ ReactiveFormsModule,
1449
+ MatInputModule,
1450
+ MatPaginatorModule,
1451
+ MatSelectModule,
1452
+ MatSortModule,
1453
+ MatTableModule], exports: [FwTableComponent] });
1454
+ FwTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableModule, imports: [[
1455
+ CommonModule,
1456
+ FormsModule,
1457
+ ReactiveFormsModule,
1458
+ MatInputModule,
1459
+ MatPaginatorModule,
1460
+ MatSelectModule,
1461
+ MatSortModule,
1462
+ MatTableModule,
1463
+ ]] });
1464
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableModule, decorators: [{
1465
+ type: NgModule,
1466
+ args: [{
1467
+ imports: [
1468
+ CommonModule,
1469
+ FormsModule,
1470
+ ReactiveFormsModule,
1471
+ MatInputModule,
1472
+ MatPaginatorModule,
1473
+ MatSelectModule,
1474
+ MatSortModule,
1475
+ MatTableModule,
1476
+ ],
1477
+ exports: [
1478
+ FwTableComponent,
1479
+ ],
1480
+ declarations: [
1481
+ FwTableComponent,
1482
+ ],
1483
+ entryComponents: [
1484
+ FwTableComponent,
1485
+ ]
1486
+ }]
1487
+ }] });
1488
+
1489
+ /**
1490
+ * Generated bundle index. Do not edit.
1491
+ */
1492
+
1493
+ 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 };
1494
+ //# sourceMappingURL=flywheel-io-vision.mjs.map