@flywheel-io/vision 2.10.2 → 19.0.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 (270) hide show
  1. package/README.md +5 -5
  2. package/components/alert/alert.component.d.ts +1 -1
  3. package/components/alert/alert.module.d.ts +8 -5
  4. package/components/app-icon/app-icon.component.d.ts +1 -1
  5. package/components/app-icon/app-icon.module.d.ts +7 -4
  6. package/components/avatar/avatar.component.d.ts +1 -1
  7. package/components/avatar/avatar.module.d.ts +7 -4
  8. package/components/badge/badge.component.d.ts +1 -1
  9. package/components/badge/badge.module.d.ts +6 -3
  10. package/components/breadcrumbs/breadcrumbs.component.d.ts +1 -1
  11. package/components/breadcrumbs/breadcrumbs.module.d.ts +8 -5
  12. package/components/breadcrumbs/crumb.component.d.ts +1 -1
  13. package/components/button/button.component.d.ts +1 -1
  14. package/components/button/button.directives.d.ts +5 -5
  15. package/components/button/button.module.d.ts +9 -6
  16. package/components/button-group/button-group.component.d.ts +1 -1
  17. package/components/button-group/button-group.module.d.ts +8 -5
  18. package/components/button-toggle/button-toggle-item/button-toggle-item.component.d.ts +1 -1
  19. package/components/button-toggle/button-toggle.component.d.ts +1 -1
  20. package/components/button-toggle/button-toggle.module.d.ts +8 -5
  21. package/components/card/card-attribute/card-attribute.component.d.ts +1 -1
  22. package/components/card/card-author/card-author.component.d.ts +1 -1
  23. package/components/card/card-content/card-content.component.d.ts +1 -1
  24. package/components/card/card-footer/card-footer.component.d.ts +1 -1
  25. package/components/card/card-header/card-header.component.d.ts +1 -1
  26. package/components/card/card.component.d.ts +1 -1
  27. package/components/card/card.module.d.ts +13 -10
  28. package/components/checkbox/checkbox.component.d.ts +1 -1
  29. package/components/checkbox/checkbox.module.d.ts +7 -4
  30. package/components/chip/chip.component.d.ts +1 -1
  31. package/components/chip/chip.module.d.ts +8 -5
  32. package/components/contained-input/contained-input.component.d.ts +1 -1
  33. package/components/contained-input/contained-input.module.d.ts +10 -7
  34. package/components/date-input/date-input.component.d.ts +1 -1
  35. package/components/date-input/date-input.module.d.ts +8 -5
  36. package/components/dialog/dialog-actions.component.d.ts +1 -1
  37. package/components/dialog/dialog-confirm.component.d.ts +1 -1
  38. package/components/dialog/dialog-content.component.d.ts +1 -1
  39. package/components/dialog/dialog-header.component.d.ts +1 -1
  40. package/components/dialog/dialog-simple.component.d.ts +1 -1
  41. package/components/dialog/dialog.component.d.ts +1 -1
  42. package/components/dialog/dialogs.module.d.ts +16 -13
  43. package/components/form-heading/form-heading.component.d.ts +1 -1
  44. package/components/form-heading/form-heading.module.d.ts +9 -6
  45. package/components/icon/icon.component.d.ts +1 -1
  46. package/components/icon/icon.module.d.ts +6 -3
  47. package/components/icon-button/icon-button.component.d.ts +1 -1
  48. package/components/icon-button/icon-button.module.d.ts +7 -4
  49. package/components/layouts/context/context.component.d.ts +1 -1
  50. package/components/layouts/grid/grid.component.d.ts +2 -2
  51. package/components/layouts/layout-group.component.d.ts +1 -1
  52. package/components/layouts/layouts.module.d.ts +12 -9
  53. package/components/layouts/panel/panel.component.d.ts +1 -1
  54. package/components/layouts/sidebar/sidebar.component.d.ts +1 -1
  55. package/components/layouts/toolbar/toolbar.component.d.ts +1 -1
  56. package/components/menu/menu-close-triggers.directive.d.ts +1 -1
  57. package/components/menu/menu-container/menu-container.component.d.ts +1 -1
  58. package/components/menu/menu-header/menu-header.component.d.ts +1 -1
  59. package/components/menu/menu-item/menu-item.component.d.ts +1 -1
  60. package/components/menu/menu-item-group/menu-item-group.component.d.ts +1 -1
  61. package/components/menu/menu-separator/menu-separator.component.d.ts +1 -1
  62. package/components/menu/menu-sub-item/menu-sub-item.component.d.ts +1 -1
  63. package/components/menu/menu.component.d.ts +1 -1
  64. package/components/menu/menu.module.d.ts +22 -19
  65. package/components/navbar/navbar-header/navbar-header.component.d.ts +1 -1
  66. package/components/navbar/navbar-item/navbar-item.component.d.ts +1 -1
  67. package/components/navbar/navbar-sub-item/navbar-sub-item.component.d.ts +1 -1
  68. package/components/navbar/navbar.component.d.ts +1 -1
  69. package/components/navbar/navbar.module.d.ts +16 -13
  70. package/components/number-input/number-input.component.d.ts +1 -1
  71. package/components/number-input/number-input.module.d.ts +8 -5
  72. package/components/paginator/paginator-advanced/paginator-advanced.component.d.ts +1 -1
  73. package/components/paginator/paginator.component.d.ts +1 -1
  74. package/components/paginator/paginator.module.d.ts +12 -9
  75. package/components/phone-input/phone-input.component.d.ts +1 -1
  76. package/components/phone-input/phone-input.module.d.ts +11 -8
  77. package/components/popover/popover-panel/popover-panel.component.d.ts +1 -1
  78. package/components/popover/popover.component.d.ts +2 -2
  79. package/components/popover/popover.module.d.ts +9 -6
  80. package/components/progress/bar/bar.component.d.ts +1 -1
  81. package/components/progress/progress.module.d.ts +7 -4
  82. package/components/progress/spinner/spinner.component.d.ts +1 -1
  83. package/components/radio/radio-group.component.d.ts +1 -1
  84. package/components/radio/radio.component.d.ts +1 -1
  85. package/components/radio/radio.module.d.ts +8 -5
  86. package/components/section-heading/back-button/back-button.component.d.ts +1 -1
  87. package/components/section-heading/section-heading.component.d.ts +1 -1
  88. package/components/section-heading/section-heading.module.d.ts +10 -7
  89. package/components/section-heading/subsection-heading/subsection-heading.component.d.ts +1 -1
  90. package/components/select-menu/multi-select-menu/multi-select-menu.component.d.ts +1 -1
  91. package/components/select-menu/select-menu.component.d.ts +1 -1
  92. package/components/select-menu/select-menu.module.d.ts +15 -12
  93. package/components/shared/pipes/pipes.module.d.ts +4 -1
  94. package/components/shared/pipes/translate.pipe.d.ts +1 -1
  95. package/components/shared/pipes/trusthtml.pipe.d.ts +1 -1
  96. package/components/snackbar/snackbar/snackbar.component.d.ts +2 -2
  97. package/components/snackbar/snackbar-container/snackbar-container.component.d.ts +1 -1
  98. package/components/snackbar/snackbar.module.d.ts +10 -7
  99. package/components/stepper/step.component.d.ts +2 -2
  100. package/components/stepper/stepper.component.d.ts +1 -1
  101. package/components/stepper/stepper.module.d.ts +9 -6
  102. package/components/switch/switch.component.d.ts +1 -1
  103. package/components/switch/switch.module.d.ts +6 -3
  104. package/components/table/row.d.ts +7 -7
  105. package/components/table/table-dense.component.d.ts +1 -1
  106. package/components/table/table.component.d.ts +1 -1
  107. package/components/table/table.module.d.ts +10 -7
  108. package/components/tabs/tab/tab.component.d.ts +1 -1
  109. package/components/tabs/tab-panel/tab-panel.component.d.ts +1 -1
  110. package/components/tabs/tabs.component.d.ts +1 -1
  111. package/components/tabs/tabs.module.d.ts +9 -6
  112. package/components/tag/tag.component.d.ts +1 -1
  113. package/components/tag/tag.module.d.ts +7 -4
  114. package/components/text-input/text-input.component.d.ts +1 -1
  115. package/components/text-input/text-input.module.d.ts +9 -6
  116. package/components/textarea-input/textarea-input.component.d.ts +1 -1
  117. package/components/textarea-input/textarea-input.module.d.ts +9 -6
  118. package/components/tooltip/tooltip-panel/tooltip-panel.component.d.ts +1 -1
  119. package/components/tooltip/tooltip.component.d.ts +1 -1
  120. package/components/tooltip/tooltip.module.d.ts +11 -8
  121. package/components/wrapped-input/wrapped-input.component.d.ts +1 -1
  122. package/components/wrapped-input/wrapped-input.module.d.ts +7 -4
  123. package/fesm2022/flywheel-io-vision.mjs +1087 -836
  124. package/fesm2022/flywheel-io-vision.mjs.map +1 -1
  125. package/package.json +14 -7
  126. package/scss/icons/_icon-font-face.scss +5 -5
  127. package/scss/icons/_icon-glyphs.scss +2 -2
  128. package/scss/icons/_icon-variables.scss +350 -349
  129. package/styles.css +0 -1
  130. package/esm2022/color.utils.mjs +0 -27
  131. package/esm2022/components/alert/alert.component.mjs +0 -34
  132. package/esm2022/components/alert/alert.module.mjs +0 -32
  133. package/esm2022/components/app-icon/app-icon.component.mjs +0 -63
  134. package/esm2022/components/app-icon/app-icon.module.mjs +0 -28
  135. package/esm2022/components/avatar/avatar.component.mjs +0 -82
  136. package/esm2022/components/avatar/avatar.module.mjs +0 -28
  137. package/esm2022/components/avatar-list/avatar-list.component.mjs +0 -87
  138. package/esm2022/components/badge/badge.component.mjs +0 -45
  139. package/esm2022/components/badge/badge.module.mjs +0 -24
  140. package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +0 -22
  141. package/esm2022/components/breadcrumbs/breadcrumbs.module.mjs +0 -33
  142. package/esm2022/components/breadcrumbs/crumb.component.mjs +0 -34
  143. package/esm2022/components/button/button.component.mjs +0 -59
  144. package/esm2022/components/button/button.directives.mjs +0 -129
  145. package/esm2022/components/button/button.module.mjs +0 -53
  146. package/esm2022/components/button-group/button-group.component.mjs +0 -131
  147. package/esm2022/components/button-group/button-group.module.mjs +0 -32
  148. package/esm2022/components/button-toggle/button-toggle-item/button-toggle-item.component.mjs +0 -56
  149. package/esm2022/components/button-toggle/button-toggle.component.mjs +0 -137
  150. package/esm2022/components/button-toggle/button-toggle.module.mjs +0 -33
  151. package/esm2022/components/card/card-attribute/card-attribute.component.mjs +0 -17
  152. package/esm2022/components/card/card-author/card-author.component.mjs +0 -15
  153. package/esm2022/components/card/card-content/card-content.component.mjs +0 -11
  154. package/esm2022/components/card/card-footer/card-footer.component.mjs +0 -29
  155. package/esm2022/components/card/card-header/card-header.component.mjs +0 -24
  156. package/esm2022/components/card/card.component.mjs +0 -27
  157. package/esm2022/components/card/card.module.mjs +0 -57
  158. package/esm2022/components/checkbox/checkbox.component.mjs +0 -79
  159. package/esm2022/components/checkbox/checkbox.module.mjs +0 -31
  160. package/esm2022/components/chip/chip.component.mjs +0 -55
  161. package/esm2022/components/chip/chip.module.mjs +0 -32
  162. package/esm2022/components/chip-list/chip-list.component.mjs +0 -96
  163. package/esm2022/components/contained-input/contained-input.component.mjs +0 -86
  164. package/esm2022/components/contained-input/contained-input.module.mjs +0 -40
  165. package/esm2022/components/date-input/date-input.component.mjs +0 -139
  166. package/esm2022/components/date-input/date-input.module.mjs +0 -32
  167. package/esm2022/components/dialog/dialog-actions.component.mjs +0 -32
  168. package/esm2022/components/dialog/dialog-confirm.component.mjs +0 -120
  169. package/esm2022/components/dialog/dialog-content.component.mjs +0 -38
  170. package/esm2022/components/dialog/dialog-header.component.mjs +0 -35
  171. package/esm2022/components/dialog/dialog-simple.component.mjs +0 -105
  172. package/esm2022/components/dialog/dialog.component.mjs +0 -93
  173. package/esm2022/components/dialog/dialog.service.mjs +0 -103
  174. package/esm2022/components/dialog/dialogs.module.mjs +0 -75
  175. package/esm2022/components/form-heading/form-heading.component.mjs +0 -30
  176. package/esm2022/components/form-heading/form-heading.module.mjs +0 -36
  177. package/esm2022/components/forms/validators.mjs +0 -81
  178. package/esm2022/components/icon/icon.component.mjs +0 -69
  179. package/esm2022/components/icon/icon.module.mjs +0 -24
  180. package/esm2022/components/icon/icon.types.mjs +0 -352
  181. package/esm2022/components/icon-button/icon-button.component.mjs +0 -40
  182. package/esm2022/components/icon-button/icon-button.module.mjs +0 -28
  183. package/esm2022/components/layouts/context/context.component.mjs +0 -46
  184. package/esm2022/components/layouts/grid/grid.component.mjs +0 -62
  185. package/esm2022/components/layouts/layout-group.component.mjs +0 -36
  186. package/esm2022/components/layouts/layouts.module.mjs +0 -57
  187. package/esm2022/components/layouts/panel/panel.component.mjs +0 -32
  188. package/esm2022/components/layouts/sidebar/sidebar.component.mjs +0 -26
  189. package/esm2022/components/layouts/toolbar/toolbar.component.mjs +0 -21
  190. package/esm2022/components/menu/menu-close-triggers.directive.mjs +0 -44
  191. package/esm2022/components/menu/menu-container/menu-container.component.mjs +0 -126
  192. package/esm2022/components/menu/menu-header/menu-header.component.mjs +0 -11
  193. package/esm2022/components/menu/menu-item/menu-item.component.mjs +0 -152
  194. package/esm2022/components/menu/menu-item-group/menu-item-group.component.mjs +0 -31
  195. package/esm2022/components/menu/menu-separator/menu-separator.component.mjs +0 -11
  196. package/esm2022/components/menu/menu-sub-item/menu-sub-item.component.mjs +0 -103
  197. package/esm2022/components/menu/menu.component.mjs +0 -132
  198. package/esm2022/components/menu/menu.module.mjs +0 -95
  199. package/esm2022/components/navbar/navbar-header/navbar-header.component.mjs +0 -11
  200. package/esm2022/components/navbar/navbar-item/navbar-item.component.mjs +0 -95
  201. package/esm2022/components/navbar/navbar-sub-item/navbar-sub-item.component.mjs +0 -76
  202. package/esm2022/components/navbar/navbar.component.mjs +0 -75
  203. package/esm2022/components/navbar/navbar.module.mjs +0 -67
  204. package/esm2022/components/number-input/number-input.component.mjs +0 -122
  205. package/esm2022/components/number-input/number-input.module.mjs +0 -32
  206. package/esm2022/components/paginator/paginator-advanced/paginator-advanced.component.mjs +0 -123
  207. package/esm2022/components/paginator/paginator.component.mjs +0 -133
  208. package/esm2022/components/paginator/paginator.model.mjs +0 -2
  209. package/esm2022/components/paginator/paginator.module.mjs +0 -49
  210. package/esm2022/components/phone-input/country-code.data.mjs +0 -495
  211. package/esm2022/components/phone-input/phone-input.component.mjs +0 -285
  212. package/esm2022/components/phone-input/phone-input.model.mjs +0 -2
  213. package/esm2022/components/phone-input/phone-input.module.mjs +0 -47
  214. package/esm2022/components/popover/popover-panel/popover-panel.component.mjs +0 -32
  215. package/esm2022/components/popover/popover.component.mjs +0 -164
  216. package/esm2022/components/popover/popover.module.mjs +0 -42
  217. package/esm2022/components/progress/bar/bar.component.mjs +0 -83
  218. package/esm2022/components/progress/progress.module.mjs +0 -29
  219. package/esm2022/components/progress/spinner/spinner.component.mjs +0 -101
  220. package/esm2022/components/radio/radio-group.component.mjs +0 -117
  221. package/esm2022/components/radio/radio.component.mjs +0 -48
  222. package/esm2022/components/radio/radio.module.mjs +0 -36
  223. package/esm2022/components/section-heading/back-button/back-button.component.mjs +0 -30
  224. package/esm2022/components/section-heading/section-heading.component.mjs +0 -31
  225. package/esm2022/components/section-heading/section-heading.module.mjs +0 -42
  226. package/esm2022/components/section-heading/subsection-heading/subsection-heading.component.mjs +0 -19
  227. package/esm2022/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +0 -374
  228. package/esm2022/components/select-menu/select-menu.component.mjs +0 -343
  229. package/esm2022/components/select-menu/select-menu.module.mjs +0 -60
  230. package/esm2022/components/shared/pipes/pipes.module.mjs +0 -36
  231. package/esm2022/components/shared/pipes/translate.pipe.mjs +0 -40
  232. package/esm2022/components/shared/pipes/trusthtml.pipe.mjs +0 -21
  233. package/esm2022/components/shared/services/menu-manager.service.mjs +0 -27
  234. package/esm2022/components/shared/translation.service.mjs +0 -26
  235. package/esm2022/components/snackbar/snackbar/snackbar.component.mjs +0 -95
  236. package/esm2022/components/snackbar/snackbar-container/snackbar-container.component.mjs +0 -63
  237. package/esm2022/components/snackbar/snackbar-message.model.mjs +0 -2
  238. package/esm2022/components/snackbar/snackbar-timer.service.mjs +0 -29
  239. package/esm2022/components/snackbar/snackbar.module.mjs +0 -41
  240. package/esm2022/components/snackbar/snackbar.service.mjs +0 -36
  241. package/esm2022/components/stepper/step.component.mjs +0 -113
  242. package/esm2022/components/stepper/stepper.component.mjs +0 -95
  243. package/esm2022/components/stepper/stepper.module.mjs +0 -41
  244. package/esm2022/components/switch/switch.component.mjs +0 -73
  245. package/esm2022/components/switch/switch.module.mjs +0 -24
  246. package/esm2022/components/table/cell.mjs +0 -151
  247. package/esm2022/components/table/row.mjs +0 -164
  248. package/esm2022/components/table/table-dense.component.mjs +0 -38
  249. package/esm2022/components/table/table.component.mjs +0 -38
  250. package/esm2022/components/table/table.module.mjs +0 -91
  251. package/esm2022/components/tabs/tab/tab.component.mjs +0 -79
  252. package/esm2022/components/tabs/tab-panel/tab-panel.component.mjs +0 -19
  253. package/esm2022/components/tabs/tabs.component.mjs +0 -68
  254. package/esm2022/components/tabs/tabs.module.mjs +0 -38
  255. package/esm2022/components/tag/tag.component.mjs +0 -25
  256. package/esm2022/components/tag/tag.module.mjs +0 -28
  257. package/esm2022/components/text-input/text-input.component.mjs +0 -129
  258. package/esm2022/components/text-input/text-input.module.mjs +0 -35
  259. package/esm2022/components/textarea-input/textarea-input.component.mjs +0 -95
  260. package/esm2022/components/textarea-input/textarea-input.module.mjs +0 -36
  261. package/esm2022/components/tooltip/tooltip-panel/tooltip-panel.component.mjs +0 -92
  262. package/esm2022/components/tooltip/tooltip.component.mjs +0 -59
  263. package/esm2022/components/tooltip/tooltip.directive.mjs +0 -177
  264. package/esm2022/components/tooltip/tooltip.module.mjs +0 -50
  265. package/esm2022/components/typeahead/typeahead.component.mjs +0 -264
  266. package/esm2022/components/wrapped-input/wrapped-input.component.mjs +0 -34
  267. package/esm2022/components/wrapped-input/wrapped-input.module.mjs +0 -28
  268. package/esm2022/directives/menu-register.directive.mjs +0 -38
  269. package/esm2022/flywheel-io-vision.mjs +0 -5
  270. package/esm2022/public-api.mjs +0 -132
@@ -1,26 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { of } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class TranslationService {
5
- }
6
- /**
7
- * Very basic i18n implementation. Consumer apps can provide their own implementation of TranslationService to override.
8
- */
9
- export class MinimalTranslationService {
10
- static { this.messages = {
11
- 'common.actions.close': 'Close',
12
- 'confirmDialog.body': 'Are you sure?',
13
- 'confirmDialog.no': 'No',
14
- 'confirmDialog.yes': 'Yes',
15
- }; }
16
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
17
- getMessage(key, silent) {
18
- return of(MinimalTranslationService.messages[key]);
19
- }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MinimalTranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
21
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MinimalTranslationService }); }
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MinimalTranslationService, decorators: [{
24
- type: Injectable
25
- }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NoYXJlZC90cmFuc2xhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFdEMsTUFBTSxPQUFnQixrQkFBa0I7Q0FFdkM7QUFFRDs7R0FFRztBQUVILE1BQU0sT0FBTyx5QkFBeUI7YUFDckIsYUFBUSxHQUFHO1FBQ3hCLHNCQUFzQixFQUFFLE9BQU87UUFDL0Isb0JBQW9CLEVBQUUsZUFBZTtRQUNyQyxrQkFBa0IsRUFBRSxJQUFJO1FBQ3hCLG1CQUFtQixFQUFFLEtBQUs7S0FDM0IsQUFMc0IsQ0FLckI7SUFFRiw2REFBNkQ7SUFDN0QsVUFBVSxDQUFDLEdBQVcsRUFBRSxNQUFnQjtRQUN0QyxPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDOytHQVhVLHlCQUF5QjttSEFBekIseUJBQXlCOzs0RkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zbGF0aW9uU2VydmljZSB7XG4gIGFic3RyYWN0IGdldE1lc3NhZ2Uoa2V5OiBzdHJpbmcsIHNpbGVudD86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPHN0cmluZz5cbn1cblxuLyoqXG4gKiBWZXJ5IGJhc2ljIGkxOG4gaW1wbGVtZW50YXRpb24uIENvbnN1bWVyIGFwcHMgY2FuIHByb3ZpZGUgdGhlaXIgb3duIGltcGxlbWVudGF0aW9uIG9mIFRyYW5zbGF0aW9uU2VydmljZSB0byBvdmVycmlkZS5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1pbmltYWxUcmFuc2xhdGlvblNlcnZpY2UgaW1wbGVtZW50cyBUcmFuc2xhdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIHN0YXRpYyBtZXNzYWdlcyA9IHtcbiAgICAnY29tbW9uLmFjdGlvbnMuY2xvc2UnOiAnQ2xvc2UnLFxuICAgICdjb25maXJtRGlhbG9nLmJvZHknOiAnQXJlIHlvdSBzdXJlPycsXG4gICAgJ2NvbmZpcm1EaWFsb2cubm8nOiAnTm8nLFxuICAgICdjb25maXJtRGlhbG9nLnllcyc6ICdZZXMnLFxuICB9O1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgZ2V0TWVzc2FnZShrZXk6IHN0cmluZywgc2lsZW50PzogYm9vbGVhbik6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIG9mKE1pbmltYWxUcmFuc2xhdGlvblNlcnZpY2UubWVzc2FnZXNba2V5XSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,95 +0,0 @@
1
- /* eslint-disable @rx-angular/no-explicit-change-detection-apis */
2
- import { ChangeDetectionStrategy, Component, computed, HostBinding, input, output, TemplateRef, ViewEncapsulation, } from '@angular/core';
3
- import { FwSnackbarTimerService } from '../snackbar-timer.service';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../snackbar-timer.service";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "../../button/button.component";
8
- import * as i4 from "../../icon-button/icon-button.component";
9
- import * as i5 from "../../icon/icon.component";
10
- export class FwSnackbarComponent {
11
- get cssClass() {
12
- const cssClass = 'fw-snackbar';
13
- const severity = this.message()?.severity;
14
- if (severity) {
15
- return cssClass + ' ' + this.color();
16
- }
17
- else {
18
- return cssClass;
19
- }
20
- }
21
- constructor(cdr, timerService) {
22
- this.cdr = cdr;
23
- this.timerService = timerService;
24
- this.message = input.required();
25
- this.messageDuration = input(9000);
26
- this.ready = output();
27
- this.dismiss = output();
28
- this.action = output();
29
- this.defaultIcons = {
30
- success: 'done-check-tracked',
31
- warning: 'warning-circle',
32
- error: 'warning',
33
- info: 'information-circle',
34
- };
35
- this.icon = computed(() => this.message().icon || this.defaultIcons[this.message().severity]);
36
- this.showClose = computed(() => {
37
- const msg = this.message();
38
- return msg.showClose !== undefined ? msg.showClose : msg.severity === 'error';
39
- });
40
- this.duration = computed(() => {
41
- const msg = this.message();
42
- if (msg.duration) {
43
- return msg.duration;
44
- }
45
- return msg.severity === 'error' ? 29000 : this.messageDuration();
46
- });
47
- this.color = computed(() => {
48
- const severity = this.message().severity;
49
- const colors = {
50
- success: 'success',
51
- warning: 'warning',
52
- error: 'danger',
53
- info: 'primary',
54
- };
55
- return colors[severity] || 'primary';
56
- });
57
- this.isTemplateRef = computed(() => this.message().message instanceof TemplateRef);
58
- }
59
- ngAfterViewInit() {
60
- this.ready.emit(this);
61
- this.cdr.markForCheck();
62
- }
63
- startTimer() {
64
- this.timerService.start(this.duration()).then(() => {
65
- this.handleDismiss();
66
- this.cdr.markForCheck();
67
- });
68
- }
69
- stopTimer() {
70
- this.timerService.stop();
71
- this.cdr.markForCheck();
72
- }
73
- handleDismiss() {
74
- this.dismiss.emit(this.message().id);
75
- this.cdr.markForCheck();
76
- }
77
- handleAction() {
78
- const msg = this.message();
79
- this.action.emit(msg.id);
80
- if (msg.action) {
81
- msg.action();
82
- }
83
- this.cdr.markForCheck();
84
- }
85
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FwSnackbarTimerService }], target: i0.ɵɵFactoryTarget.Component }); }
86
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FwSnackbarComponent, selector: "fw-snackbar", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null }, messageDuration: { classPropertyName: "messageDuration", publicName: "messageDuration", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ready: "ready", dismiss: "dismiss", action: "action" }, host: { properties: { "class": "this.cssClass" } }, providers: [FwSnackbarTimerService], ngImport: i0, template: "@if (message(); as msg) {\n @if (icon()) {\n <fw-icon>{{ icon() }}</fw-icon>\n }\n @if (isTemplateRef()) {\n <ng-container *ngTemplateOutlet=\"$any(msg.message); context: msg.templateContext\"></ng-container>\n } @else {\n @if (msg.message) {\n <h4 class=\"vision-h4\">{{ msg.message }}</h4>\n }\n }\n @if (msg.actionText) {\n <fw-button\n size=\"small\"\n variant=\"ghost\"\n [color]=\"color()\"\n (click)=\"handleAction()\"\n >\n {{ msg.actionText }}\n </fw-button>\n }\n @if (showClose()) {\n <fw-icon-button\n icon=\"close\"\n size=\"small\"\n [color]=\"msg.severity\"\n (click)=\"handleDismiss()\"\n ></fw-icon-button>\n }\n @if (!msg.actionText && !showClose()) {\n <div></div>\n }\n}\n", styles: [".vision-shadow-extra-large{box-shadow:0 8px 25px #0000001a}.vision-shadow-large,fw-snackbar{box-shadow:0 5px 15px #0000001a}.vision-shadow-medium{box-shadow:0 2px 5px #0000001a}.vision-shadow-small{box-shadow:0 1px 2px #0000000d}.vision-shadow-inner{box-shadow:0 2px 4px #00000014 inset}fw-snackbar{display:flex;align-items:flex-start;box-sizing:border-box;max-width:320px;min-width:200px;min-height:30px;padding:8px 8px 8px 16px;gap:8px;transform-origin:center;background-color:var(--card-header);color:var(--typography-base);white-space:pre-wrap;border-radius:4px;border:1px solid var(--separations-border);margin:8px}fw-snackbar>fw-icon{width:24px;height:24px;font-size:24px;white-space:nowrap;margin:3px 0}fw-snackbar h4{margin:6px 0 0;flex:1}fw-snackbar.primary fw-icon{color:var(--primary-base)}fw-snackbar.danger fw-icon{color:var(--red-base)}fw-snackbar.success fw-icon{color:var(--green-base)}fw-snackbar.warning fw-icon{color:var(--orange-base)}\n"], dependencies: [{ kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.FwButtonComponent, selector: "fw-button", inputs: ["color", "size", "variant", "type", "disabled", "fullWidth", "leftIcon", "rightIcon"] }, { kind: "component", type: i4.FwIconButtonComponent, selector: "fw-icon-button", inputs: ["color", "icon", "size", "disabled", "selected", "border"] }, { kind: "component", type: i5.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
87
- }
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarComponent, decorators: [{
89
- type: Component,
90
- args: [{ selector: 'fw-snackbar', providers: [FwSnackbarTimerService], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (message(); as msg) {\n @if (icon()) {\n <fw-icon>{{ icon() }}</fw-icon>\n }\n @if (isTemplateRef()) {\n <ng-container *ngTemplateOutlet=\"$any(msg.message); context: msg.templateContext\"></ng-container>\n } @else {\n @if (msg.message) {\n <h4 class=\"vision-h4\">{{ msg.message }}</h4>\n }\n }\n @if (msg.actionText) {\n <fw-button\n size=\"small\"\n variant=\"ghost\"\n [color]=\"color()\"\n (click)=\"handleAction()\"\n >\n {{ msg.actionText }}\n </fw-button>\n }\n @if (showClose()) {\n <fw-icon-button\n icon=\"close\"\n size=\"small\"\n [color]=\"msg.severity\"\n (click)=\"handleDismiss()\"\n ></fw-icon-button>\n }\n @if (!msg.actionText && !showClose()) {\n <div></div>\n }\n}\n", styles: [".vision-shadow-extra-large{box-shadow:0 8px 25px #0000001a}.vision-shadow-large,fw-snackbar{box-shadow:0 5px 15px #0000001a}.vision-shadow-medium{box-shadow:0 2px 5px #0000001a}.vision-shadow-small{box-shadow:0 1px 2px #0000000d}.vision-shadow-inner{box-shadow:0 2px 4px #00000014 inset}fw-snackbar{display:flex;align-items:flex-start;box-sizing:border-box;max-width:320px;min-width:200px;min-height:30px;padding:8px 8px 8px 16px;gap:8px;transform-origin:center;background-color:var(--card-header);color:var(--typography-base);white-space:pre-wrap;border-radius:4px;border:1px solid var(--separations-border);margin:8px}fw-snackbar>fw-icon{width:24px;height:24px;font-size:24px;white-space:nowrap;margin:3px 0}fw-snackbar h4{margin:6px 0 0;flex:1}fw-snackbar.primary fw-icon{color:var(--primary-base)}fw-snackbar.danger fw-icon{color:var(--red-base)}fw-snackbar.success fw-icon{color:var(--green-base)}fw-snackbar.warning fw-icon{color:var(--orange-base)}\n"] }]
91
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.FwSnackbarTimerService }], propDecorators: { cssClass: [{
92
- type: HostBinding,
93
- args: ['class']
94
- }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIvc25hY2tiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIvc25hY2tiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0VBQWtFO0FBQ2xFLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFFBQVEsRUFDUixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEVBQ1gsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7O0FBV25FLE1BQU0sT0FBTyxtQkFBbUI7SUEwQzlCLElBQTBCLFFBQVE7UUFDaEMsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDO1FBQy9CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLENBQUM7UUFDMUMsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE9BQU8sUUFBUSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQW9CLEdBQXNCLEVBQVUsWUFBb0M7UUFBcEUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBd0I7UUFuRHhGLFlBQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFxQixDQUFDO1FBQzlDLG9CQUFlLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLFVBQUssR0FBRyxNQUFNLEVBQXVCLENBQUM7UUFD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QUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QixJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNmLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNmLENBQUM7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7K0dBcEZVLG1CQUFtQjttR0FBbkIsbUJBQW1CLDRiQUxuQixDQUFDLHNCQUFzQixDQUFDLDBCQ3ZCckMsaXhCQWlDQTs7NEZETGEsbUJBQW1CO2tCQVQvQixTQUFTOytCQUNFLGFBQWEsYUFHWixDQUFDLHNCQUFzQixDQUFDLGlCQUNwQixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzJIQTZDckIsUUFBUTtzQkFBakMsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHJ4LWFuZ3VsYXIvbm8tZXhwbGljaXQtY2hhbmdlLWRldGVjdGlvbi1hcGlzICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIEhvc3RCaW5kaW5nLFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGd0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vLi4vaWNvbi9pY29uLnR5cGVzJztcbmltcG9ydCB7IEZ3U25hY2tiYXJNZXNzYWdlIH0gZnJvbSAnLi4vc25hY2tiYXItbWVzc2FnZS5tb2RlbCc7XG5pbXBvcnQgeyBGd1NuYWNrYmFyVGltZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc25hY2tiYXItdGltZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z3LXNuYWNrYmFyJyxcbiAgc3R5bGVVcmxzOiBbJy4vc25hY2tiYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NuYWNrYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbRndTbmFja2JhclRpbWVyU2VydmljZV0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcblxuZXhwb3J0IGNsYXNzIEZ3U25hY2tiYXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgbWVzc2FnZSA9IGlucHV0LnJlcXVpcmVkPEZ3U25hY2tiYXJNZXNzYWdlPigpO1xuICBtZXNzYWdlRHVyYXRpb24gPSBpbnB1dCg5MDAwKTtcbiAgcmVhZHkgPSBvdXRwdXQ8RndTbmFja2JhckNvbXBvbmVudD4oKTtcbiAgZGlzbWlzcyA9IG91dHB1dDxzdHJpbmc+KCk7XG4gIGFjdGlvbiA9IG91dHB1dDxzdHJpbmc+KCk7XG5cbiAgcHJpdmF0ZSBkZWZhdWx0SWNvbnM6IFJlY29yZDxGd1NuYWNrYmFyTWVzc2FnZVsnc2V2ZXJpdHknXSwgSWNvblR5cGU+ID0ge1xuICAgIHN1Y2Nlc3M6ICdkb25lLWNoZWNrLXRyYWNrZWQnLFxuICAgIHdhcm5pbmc6ICd3YXJuaW5nLWNpcmNsZScsXG4gICAgZXJyb3I6ICd3YXJuaW5nJyxcbiAgICBpbmZvOiAnaW5mb3JtYXRpb24tY2lyY2xlJyxcbiAgfTtcblxuICBpY29uID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5tZXNzYWdlKCkuaWNvbiB8fCB0aGlzLmRlZmF1bHRJY29uc1t0aGlzLm1lc3NhZ2UoKS5zZXZlcml0eV0pO1xuXG4gIHNob3dDbG9zZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBtc2cgPSB0aGlzLm1lc3NhZ2UoKTtcbiAgICByZXR1cm4gbXNnLnNob3dDbG9zZSAhPT0gdW5kZWZpbmVkID8gbXNnLnNob3dDbG9zZSA6IG1zZy5zZXZlcml0eSA9PT0gJ2Vycm9yJztcbiAgfSk7XG5cbiAgZHVyYXRpb24gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgbXNnID0gdGhpcy5tZXNzYWdlKCk7XG4gICAgaWYgKG1zZy5kdXJhdGlvbikge1xuICAgICAgcmV0dXJuIG1zZy5kdXJhdGlvbjtcbiAgICB9XG4gICAgcmV0dXJuIG1zZy5zZXZlcml0eSA9PT0gJ2Vycm9yJyA/IDI5MDAwIDogdGhpcy5tZXNzYWdlRHVyYXRpb24oKTtcbiAgfSk7XG5cbiAgY29sb3IgPSBjb21wdXRlZDxGd0J1dHRvbkNvbXBvbmVudFsnY29sb3InXT4oKCkgPT4ge1xuICAgIGNvbnN0IHNldmVyaXR5ID0gdGhpcy5tZXNzYWdlKCkuc2V2ZXJpdHk7XG4gICAgY29uc3QgY29sb3JzOiBSZWNvcmQ8RndTbmFja2Jhck1lc3NhZ2VbJ3NldmVyaXR5J10sIEZ3QnV0dG9uQ29tcG9uZW50Wydjb2xvciddPiA9IHtcbiAgICAgIHN1Y2Nlc3M6ICdzdWNjZXNzJyxcbiAgICAgIHdhcm5pbmc6ICd3YXJuaW5nJyxcbiAgICAgIGVycm9yOiAnZGFuZ2VyJyxcbiAgICAgIGluZm86ICdwcmltYXJ5JyxcbiAgICB9XG4gICAgcmV0dXJuIGNvbG9yc1tzZXZlcml0eV0gfHwgJ3ByaW1hcnknO1xuICB9KTtcblxuICBpc1RlbXBsYXRlUmVmID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5tZXNzYWdlKCkubWVzc2FnZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGNzc0NsYXNzKCk6IHN0cmluZyB7XG4gICAgY29uc3QgY3NzQ2xhc3MgPSAnZnctc25hY2tiYXInO1xuICAgIGNvbnN0IHNldmVyaXR5ID0gdGhpcy5tZXNzYWdlKCk/LnNldmVyaXR5O1xuICAgIGlmIChzZXZlcml0eSkge1xuICAgICAgcmV0dXJuIGNzc0NsYXNzICsgJyAnICsgdGhpcy5jb2xvcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY3NzQ2xhc3M7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHRpbWVyU2VydmljZTogRndTbmFja2JhclRpbWVyU2VydmljZSkge1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVhZHkuZW1pdCh0aGlzKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHN0YXJ0VGltZXIoKTogdm9pZCB7XG4gICAgdGhpcy50aW1lclNlcnZpY2Uuc3RhcnQodGhpcy5kdXJhdGlvbigpKS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlRGlzbWlzcygpO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBzdG9wVGltZXIoKTogdm9pZCB7XG4gICAgdGhpcy50aW1lclNlcnZpY2Uuc3RvcCgpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgaGFuZGxlRGlzbWlzcygpOiB2b2lkIHtcbiAgICB0aGlzLmRpc21pc3MuZW1pdCh0aGlzLm1lc3NhZ2UoKS5pZCk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBoYW5kbGVBY3Rpb24oKTogdm9pZCB7XG4gICAgY29uc3QgbXNnID0gdGhpcy5tZXNzYWdlKCk7XG4gICAgdGhpcy5hY3Rpb24uZW1pdChtc2cuaWQpO1xuICAgIGlmIChtc2cuYWN0aW9uKSB7XG4gICAgICBtc2cuYWN0aW9uKCk7XG4gICAgfVxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbn1cbiIsIkBpZiAobWVzc2FnZSgpOyBhcyBtc2cpIHtcbiAgQGlmIChpY29uKCkpIHtcbiAgICA8ZnctaWNvbj57eyBpY29uKCkgfX08L2Z3LWljb24+XG4gIH1cbiAgQGlmIChpc1RlbXBsYXRlUmVmKCkpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiJGFueShtc2cubWVzc2FnZSk7IGNvbnRleHQ6IG1zZy50ZW1wbGF0ZUNvbnRleHRcIj48L25nLWNvbnRhaW5lcj5cbiAgfSBAZWxzZSB7XG4gICAgQGlmIChtc2cubWVzc2FnZSkge1xuICAgICAgPGg0IGNsYXNzPVwidmlzaW9uLWg0XCI+e3sgbXNnLm1lc3NhZ2UgfX08L2g0PlxuICAgIH1cbiAgfVxuICBAaWYgKG1zZy5hY3Rpb25UZXh0KSB7XG4gICAgPGZ3LWJ1dHRvblxuICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICBbY29sb3JdPVwiY29sb3IoKVwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlQWN0aW9uKClcIlxuICAgID5cbiAgICAgIHt7IG1zZy5hY3Rpb25UZXh0IH19XG4gICAgPC9mdy1idXR0b24+XG4gIH1cbiAgQGlmIChzaG93Q2xvc2UoKSkge1xuICAgIDxmdy1pY29uLWJ1dHRvblxuICAgICAgaWNvbj1cImNsb3NlXCJcbiAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICBbY29sb3JdPVwibXNnLnNldmVyaXR5XCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVEaXNtaXNzKClcIlxuICAgID48L2Z3LWljb24tYnV0dG9uPlxuICB9XG4gIEBpZiAoIW1zZy5hY3Rpb25UZXh0ICYmICFzaG93Q2xvc2UoKSkge1xuICAgIDxkaXY+PC9kaXY+XG4gIH1cbn1cbiJdfQ==
@@ -1,63 +0,0 @@
1
- import { Component, HostBinding, ViewEncapsulation, } from '@angular/core';
2
- import { Subscription } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../snackbar.service";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "../../button/button.component";
7
- import * as i4 from "../snackbar/snackbar.component";
8
- export class FwSnackbarContainerComponent {
9
- get classes() {
10
- return 'fw-snackbar-container';
11
- }
12
- ;
13
- constructor(cdr, snackbarService) {
14
- this.cdr = cdr;
15
- this.snackbarService = snackbarService;
16
- this.limit = 10;
17
- this.messages = [];
18
- this.subscriptions = {
19
- messages: Subscription.EMPTY,
20
- };
21
- this.subscriptions.messages = this.snackbarService.messages$.subscribe((messages) => {
22
- this.messages = messages;
23
- // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis
24
- this.cdr.markForCheck();
25
- });
26
- }
27
- ngOnDestroy() {
28
- for (const subscription of Object.values(this.subscriptions)) {
29
- subscription.unsubscribe();
30
- }
31
- }
32
- onReady(snackbar) {
33
- const currentMessage = this.messages[this.messages.length - 1];
34
- currentMessage.ref = snackbar;
35
- snackbar.startTimer();
36
- }
37
- onDismiss(messageId) {
38
- const message = this.messages.find(currentMessage => currentMessage.id === messageId);
39
- if (message?.ref) {
40
- message.ref.stopTimer();
41
- }
42
- if (message?.id) {
43
- this.snackbarService.dismiss(message.id);
44
- }
45
- // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis
46
- this.cdr.markForCheck();
47
- }
48
- clearAll() {
49
- this.snackbarService.dismissAll();
50
- // eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis
51
- this.cdr.markForCheck();
52
- }
53
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarContainerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FwSnackbarService }], target: i0.ɵɵFactoryTarget.Component }); }
54
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwSnackbarContainerComponent, selector: "fw-snackbar-container", host: { properties: { "attr.class": "this.classes" } }, ngImport: i0, template: "<div role=\"list\">\n <div class=\"buttons\">\n <fw-button\n *ngIf=\"messages.length > 0\" (click)=\"clearAll()\"\n class=\"clear-all\" aria-label=\"clear all\"\n color=\"slate\" size=\"small\" variant=\"ghost\">\n Clear All\n </fw-button>\n </div>\n <fw-snackbar\n *ngFor=\"let message of messages; index as $index\"\n (ready)=\"onReady($event)\"\n (dismiss)=\"onDismiss($event)\"\n [message]=\"message\"\n [attr.aria-label]=\"message.message\"\n role=\"listitem\"\n ></fw-snackbar>\n</div>\n", styles: ["fw-snackbar-container{position:fixed;right:6px;bottom:10px;z-index:999999}fw-snackbar-container .buttons{text-align:right;padding-right:10px}fw-snackbar-container .buttons fw-button{transition:opacity .1s ease-in;opacity:0}fw-snackbar-container:hover .buttons>fw-button{opacity:1}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.FwButtonComponent, selector: "fw-button", inputs: ["color", "size", "variant", "type", "disabled", "fullWidth", "leftIcon", "rightIcon"] }, { kind: "component", type: i4.FwSnackbarComponent, selector: "fw-snackbar", inputs: ["message", "messageDuration"], outputs: ["ready", "dismiss", "action"] }], encapsulation: i0.ViewEncapsulation.None }); }
55
- }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarContainerComponent, decorators: [{
57
- type: Component,
58
- args: [{ selector: 'fw-snackbar-container', encapsulation: ViewEncapsulation.None, template: "<div role=\"list\">\n <div class=\"buttons\">\n <fw-button\n *ngIf=\"messages.length > 0\" (click)=\"clearAll()\"\n class=\"clear-all\" aria-label=\"clear all\"\n color=\"slate\" size=\"small\" variant=\"ghost\">\n Clear All\n </fw-button>\n </div>\n <fw-snackbar\n *ngFor=\"let message of messages; index as $index\"\n (ready)=\"onReady($event)\"\n (dismiss)=\"onDismiss($event)\"\n [message]=\"message\"\n [attr.aria-label]=\"message.message\"\n role=\"listitem\"\n ></fw-snackbar>\n</div>\n", styles: ["fw-snackbar-container{position:fixed;right:6px;bottom:10px;z-index:999999}fw-snackbar-container .buttons{text-align:right;padding-right:10px}fw-snackbar-container .buttons fw-button{transition:opacity .1s ease-in;opacity:0}fw-snackbar-container:hover .buttons>fw-button{opacity:1}\n"] }]
59
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.FwSnackbarService }], propDecorators: { classes: [{
60
- type: HostBinding,
61
- args: ['attr.class']
62
- }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXItY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLWNvbnRhaW5lci9zbmFja2Jhci1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXItY29udGFpbmVyL3NuYWNrYmFyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFdBQVcsRUFFWCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBWXBDLE1BQU0sT0FBTyw0QkFBNEI7SUFDdkMsSUFBK0IsT0FBTztRQUNwQyxPQUFPLHVCQUF1QixDQUFDO0lBQ2pDLENBQUM7SUFBQSxDQUFDO0lBU0YsWUFBb0IsR0FBc0IsRUFBVSxlQUFrQztRQUFsRSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQVB0RixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsYUFBUSxHQUF3QixFQUFFLENBQUM7UUFFM0Isa0JBQWEsR0FBRztZQUN0QixRQUFRLEVBQUUsWUFBWSxDQUFDLEtBQUs7U0FDN0IsQ0FBQztRQUdBLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQTZCLEVBQUUsRUFBRTtZQUN2RyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztZQUN6Qix5RUFBeUU7WUFDekUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsS0FBSyxNQUFNLFlBQVksSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQzdELFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUE2QjtRQUNuQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQy9ELGNBQWMsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDO1FBQzlCLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsU0FBUyxDQUFDLFNBQWlCO1FBQ3pCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUN0RixJQUFJLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFDRCxJQUFJLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUNELHlFQUF5RTtRQUN6RSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQyx5RUFBeUU7UUFDekUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDOytHQWhEVSw0QkFBNEI7bUdBQTVCLDRCQUE0QixxSENuQnpDLCtoQkFrQkE7OzRGRENhLDRCQUE0QjtrQkFOeEMsU0FBUzsrQkFDRSx1QkFBdUIsaUJBR2xCLGlCQUFpQixDQUFDLElBQUk7c0hBR04sT0FBTztzQkFBckMsV0FBVzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIE9uRGVzdHJveSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZ3U25hY2tiYXJTZXJ2aWNlIH0gZnJvbSAnLi4vc25hY2tiYXIuc2VydmljZSc7XG5pbXBvcnQgeyBGd1NuYWNrYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vc25hY2tiYXIvc25hY2tiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZ3U25hY2tiYXJNZXNzYWdlIH0gZnJvbSAnLi4vc25hY2tiYXItbWVzc2FnZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z3LXNuYWNrYmFyLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbmFja2Jhci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zbmFja2Jhci1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRndTbmFja2JhckNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBIb3N0QmluZGluZygnYXR0ci5jbGFzcycpIGdldCBjbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdmdy1zbmFja2Jhci1jb250YWluZXInO1xuICB9O1xuXG4gIGxpbWl0ID0gMTA7XG4gIG1lc3NhZ2VzOiBGd1NuYWNrYmFyTWVzc2FnZVtdID0gW107XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zID0ge1xuICAgIG1lc3NhZ2VzOiBTdWJzY3JpcHRpb24uRU1QVFksXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHNuYWNrYmFyU2VydmljZTogRndTbmFja2JhclNlcnZpY2UpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMubWVzc2FnZXMgPSB0aGlzLnNuYWNrYmFyU2VydmljZS5tZXNzYWdlcyQuc3Vic2NyaWJlKChtZXNzYWdlczogRndTbmFja2Jhck1lc3NhZ2VbXSkgPT4ge1xuICAgICAgdGhpcy5tZXNzYWdlcyA9IG1lc3NhZ2VzO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEByeC1hbmd1bGFyL25vLWV4cGxpY2l0LWNoYW5nZS1kZXRlY3Rpb24tYXBpc1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiBPYmplY3QudmFsdWVzKHRoaXMuc3Vic2NyaXB0aW9ucykpIHtcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uUmVhZHkoc25hY2tiYXI6IEZ3U25hY2tiYXJDb21wb25lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50TWVzc2FnZSA9IHRoaXMubWVzc2FnZXNbdGhpcy5tZXNzYWdlcy5sZW5ndGggLSAxXTtcbiAgICBjdXJyZW50TWVzc2FnZS5yZWYgPSBzbmFja2JhcjtcbiAgICBzbmFja2Jhci5zdGFydFRpbWVyKCk7XG4gIH1cblxuICBvbkRpc21pc3MobWVzc2FnZUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5tZXNzYWdlcy5maW5kKGN1cnJlbnRNZXNzYWdlID0+IGN1cnJlbnRNZXNzYWdlLmlkID09PSBtZXNzYWdlSWQpO1xuICAgIGlmIChtZXNzYWdlPy5yZWYpIHtcbiAgICAgIG1lc3NhZ2UucmVmLnN0b3BUaW1lcigpO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZT8uaWQpIHtcbiAgICAgIHRoaXMuc25hY2tiYXJTZXJ2aWNlLmRpc21pc3MobWVzc2FnZS5pZCk7XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAcngtYW5ndWxhci9uby1leHBsaWNpdC1jaGFuZ2UtZGV0ZWN0aW9uLWFwaXNcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGNsZWFyQWxsKCk6IHZvaWQge1xuICAgIHRoaXMuc25hY2tiYXJTZXJ2aWNlLmRpc21pc3NBbGwoKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHJ4LWFuZ3VsYXIvbm8tZXhwbGljaXQtY2hhbmdlLWRldGVjdGlvbi1hcGlzXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxkaXYgcm9sZT1cImxpc3RcIj5cbiAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cbiAgICA8ZnctYnV0dG9uXG4gICAgICAqbmdJZj1cIm1lc3NhZ2VzLmxlbmd0aCA+IDBcIiAoY2xpY2spPVwiY2xlYXJBbGwoKVwiXG4gICAgICBjbGFzcz1cImNsZWFyLWFsbFwiIGFyaWEtbGFiZWw9XCJjbGVhciBhbGxcIlxuICAgICAgY29sb3I9XCJzbGF0ZVwiIHNpemU9XCJzbWFsbFwiIHZhcmlhbnQ9XCJnaG9zdFwiPlxuICAgICAgQ2xlYXIgQWxsXG4gICAgPC9mdy1idXR0b24+XG4gIDwvZGl2PlxuICA8Znctc25hY2tiYXJcbiAgICAqbmdGb3I9XCJsZXQgbWVzc2FnZSBvZiBtZXNzYWdlczsgaW5kZXggYXMgJGluZGV4XCJcbiAgICAocmVhZHkpPVwib25SZWFkeSgkZXZlbnQpXCJcbiAgICAoZGlzbWlzcyk9XCJvbkRpc21pc3MoJGV2ZW50KVwiXG4gICAgW21lc3NhZ2VdPVwibWVzc2FnZVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJtZXNzYWdlLm1lc3NhZ2VcIlxuICAgIHJvbGU9XCJsaXN0aXRlbVwiXG4gID48L2Z3LXNuYWNrYmFyPlxuPC9kaXY+XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXItbWVzc2FnZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLW1lc3NhZ2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZ3U25hY2tiYXJDb21wb25lbnQgfSBmcm9tICcuL3NuYWNrYmFyL3NuYWNrYmFyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRndTbmFja2Jhck1lc3NhZ2Uge1xuICBpZD86IHN0cmluZztcbiAgc2V2ZXJpdHk6ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdlcnJvcic7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIG1lc3NhZ2U6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG4gIGljb24/OiBzdHJpbmc7XG4gIHNob3dDbG9zZT86IGJvb2xlYW47XG4gIGFjdGlvblRleHQ/OiBzdHJpbmcsXG4gIGFjdGlvbj86ICgpID0+IHZvaWQ7XG4gIGR1cmF0aW9uPzogbnVtYmVyO1xuICByZWY/OiBGd1NuYWNrYmFyQ29tcG9uZW50O1xuICB0ZW1wbGF0ZUNvbnRleHQ/OiBvYmplY3Q7XG59XG4iXX0=
@@ -1,29 +0,0 @@
1
- export class FwSnackbarTimerService {
2
- constructor() {
3
- this.now = 0;
4
- this.remainingDuration = 0;
5
- }
6
- start(duration) {
7
- return new Promise((resolve) => {
8
- this.remainingDuration = duration;
9
- this.resolver = resolve;
10
- this.continue();
11
- });
12
- }
13
- stop() {
14
- clearTimeout(this.timerId);
15
- this.remainingDuration = 0;
16
- }
17
- pause() {
18
- clearTimeout(this.timerId);
19
- this.remainingDuration =
20
- this.remainingDuration - new Date().getTime() - this.now;
21
- }
22
- continue() {
23
- this.now = new Date().getTime();
24
- this.timerId = window.setTimeout(() => {
25
- this.resolver();
26
- }, this.remainingDuration);
27
- }
28
- }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXItdGltZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLXRpbWVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLHNCQUFzQjtJQUFuQztRQUVVLFFBQUcsR0FBRyxDQUFDLENBQUM7UUFDUixzQkFBaUIsR0FBRyxDQUFDLENBQUM7SUE0QmhDLENBQUM7SUF6QkMsS0FBSyxDQUFDLFFBQWdCO1FBQ3BCLE9BQU8sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJO1FBQ0YsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxLQUFLO1FBQ0gsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsaUJBQWlCO1lBQ3BCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDN0QsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNwQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzdCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBGd1NuYWNrYmFyVGltZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSB0aW1lcklkOiBudW1iZXI7XG4gIHByaXZhdGUgbm93ID0gMDtcbiAgcHJpdmF0ZSByZW1haW5pbmdEdXJhdGlvbiA9IDA7XG4gIHByaXZhdGUgcmVzb2x2ZXI6ICgpID0+IHZvaWQ7XG5cbiAgc3RhcnQoZHVyYXRpb246IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuICAgICAgdGhpcy5yZW1haW5pbmdEdXJhdGlvbiA9IGR1cmF0aW9uO1xuICAgICAgdGhpcy5yZXNvbHZlciA9IHJlc29sdmU7XG4gICAgICB0aGlzLmNvbnRpbnVlKCk7XG4gICAgfSk7XG4gIH1cblxuICBzdG9wKCk6IHZvaWQge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVySWQpO1xuICAgIHRoaXMucmVtYWluaW5nRHVyYXRpb24gPSAwO1xuICB9XG5cbiAgcGF1c2UoKTogdm9pZCB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZXJJZCk7XG4gICAgdGhpcy5yZW1haW5pbmdEdXJhdGlvbiA9XG4gICAgICB0aGlzLnJlbWFpbmluZ0R1cmF0aW9uIC0gbmV3IERhdGUoKS5nZXRUaW1lKCkgLSB0aGlzLm5vdztcbiAgfVxuXG4gIGNvbnRpbnVlKCk6IHZvaWQge1xuICAgIHRoaXMubm93ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgdGhpcy50aW1lcklkID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5yZXNvbHZlcigpO1xuICAgIH0sIHRoaXMucmVtYWluaW5nRHVyYXRpb24pO1xuICB9XG59XG4iXX0=
@@ -1,41 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { FwButtonModule } from '../button/button.module';
4
- import { FwIconModule } from '../icon/icon.module';
5
- import { FwIconButtonModule } from '../icon-button/icon-button.module';
6
- import { FwSnackbarComponent } from './snackbar/snackbar.component';
7
- import { FwSnackbarContainerComponent } from './snackbar-container/snackbar-container.component';
8
- import * as i0 from "@angular/core";
9
- export class FwSnackbarModule {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarModule, declarations: [FwSnackbarComponent,
12
- FwSnackbarContainerComponent], imports: [CommonModule,
13
- FwButtonModule,
14
- FwIconButtonModule,
15
- FwIconModule], exports: [FwSnackbarComponent,
16
- FwSnackbarContainerComponent] }); }
17
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarModule, imports: [CommonModule,
18
- FwButtonModule,
19
- FwIconButtonModule,
20
- FwIconModule] }); }
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarModule, decorators: [{
23
- type: NgModule,
24
- args: [{
25
- imports: [
26
- CommonModule,
27
- FwButtonModule,
28
- FwIconButtonModule,
29
- FwIconModule,
30
- ],
31
- exports: [
32
- FwSnackbarComponent,
33
- FwSnackbarContainerComponent,
34
- ],
35
- declarations: [
36
- FwSnackbarComponent,
37
- FwSnackbarContainerComponent,
38
- ],
39
- }]
40
- }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbURBQW1ELENBQUM7O0FBa0JqRyxNQUFNLE9BQU8sZ0JBQWdCOytHQUFoQixnQkFBZ0I7Z0hBQWhCLGdCQUFnQixpQkFKekIsbUJBQW1CO1lBQ25CLDRCQUE0QixhQVg1QixZQUFZO1lBQ1osY0FBYztZQUNkLGtCQUFrQjtZQUNsQixZQUFZLGFBR1osbUJBQW1CO1lBQ25CLDRCQUE0QjtnSEFPbkIsZ0JBQWdCLFlBZHpCLFlBQVk7WUFDWixjQUFjO1lBQ2Qsa0JBQWtCO1lBQ2xCLFlBQVk7OzRGQVdILGdCQUFnQjtrQkFoQjVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIsNEJBQTRCO3FCQUM3QjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osbUJBQW1CO3dCQUNuQiw0QkFBNEI7cUJBQzdCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZ3QnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgRndJY29uTW9kdWxlIH0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZHVsZSc7XG5pbXBvcnQgeyBGd0ljb25CdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgRndTbmFja2JhckNvbXBvbmVudCB9IGZyb20gJy4vc25hY2tiYXIvc25hY2tiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZ3U25hY2tiYXJDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3NuYWNrYmFyLWNvbnRhaW5lci9zbmFja2Jhci1jb250YWluZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGd0J1dHRvbk1vZHVsZSxcbiAgICBGd0ljb25CdXR0b25Nb2R1bGUsXG4gICAgRndJY29uTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRndTbmFja2JhckNvbXBvbmVudCxcbiAgICBGd1NuYWNrYmFyQ29udGFpbmVyQ29tcG9uZW50LFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGd1NuYWNrYmFyQ29tcG9uZW50LFxuICAgIEZ3U25hY2tiYXJDb250YWluZXJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZ3U25hY2tiYXJNb2R1bGUge1xufVxuIl19
@@ -1,36 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export function genMessageId() {
5
- return String.prototype.padStart(24, Math.floor(Math.random() * Date.now()).toString(16));
6
- }
7
- export class FwSnackbarService {
8
- constructor() {
9
- this.messages$ = new BehaviorSubject([]);
10
- this.messageQueue = [];
11
- }
12
- show(message) {
13
- if (!message.id) {
14
- message.id = genMessageId();
15
- }
16
- this.messageQueue.push(message);
17
- this.messages$.next(this.messageQueue);
18
- }
19
- dismiss(messageId) {
20
- this.messageQueue = this.messageQueue.filter((v) => v.id !== messageId);
21
- this.messages$.next(this.messageQueue);
22
- }
23
- dismissAll() {
24
- this.messageQueue = [];
25
- this.messages$.next(this.messageQueue);
26
- }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
28
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarService, providedIn: 'root' }); }
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarService, decorators: [{
31
- type: Injectable,
32
- args: [{
33
- providedIn: 'root',
34
- }]
35
- }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUl2QyxNQUFNLFVBQVUsWUFBWTtJQUMxQixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM1RixDQUFDO0FBS0QsTUFBTSxPQUFPLGlCQUFpQjtJQUg5QjtRQUlXLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBc0IsRUFBRSxDQUFDLENBQUM7UUFDMUQsaUJBQVksR0FBd0IsRUFBRSxDQUFDO0tBb0JoRDtJQWxCQyxJQUFJLENBQUMsT0FBMEI7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsRUFBRSxHQUFHLFlBQVksRUFBRSxDQUFDO1FBQzlCLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE9BQU8sQ0FBQyxTQUFpQjtRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6QyxDQUFDOytHQXJCVSxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQUZoQixNQUFNOzs0RkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZ3U25hY2tiYXJNZXNzYWdlIH0gZnJvbSAnLi9zbmFja2Jhci1tZXNzYWdlLm1vZGVsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdlbk1lc3NhZ2VJZCgpOiBzdHJpbmcge1xuICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS5wYWRTdGFydCgyNCwgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogRGF0ZS5ub3coKSkudG9TdHJpbmcoMTYpKTtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZ3U25hY2tiYXJTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgbWVzc2FnZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGd1NuYWNrYmFyTWVzc2FnZVtdPihbXSk7XG4gIHByaXZhdGUgbWVzc2FnZVF1ZXVlOiBGd1NuYWNrYmFyTWVzc2FnZVtdID0gW107XG5cbiAgc2hvdyhtZXNzYWdlOiBGd1NuYWNrYmFyTWVzc2FnZSk6IHZvaWQge1xuICAgIGlmICghbWVzc2FnZS5pZCkge1xuICAgICAgbWVzc2FnZS5pZCA9IGdlbk1lc3NhZ2VJZCgpO1xuICAgIH1cblxuICAgIHRoaXMubWVzc2FnZVF1ZXVlLnB1c2gobWVzc2FnZSk7XG4gICAgdGhpcy5tZXNzYWdlcyQubmV4dCh0aGlzLm1lc3NhZ2VRdWV1ZSk7XG4gIH1cblxuICBkaXNtaXNzKG1lc3NhZ2VJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5tZXNzYWdlUXVldWUgPSB0aGlzLm1lc3NhZ2VRdWV1ZS5maWx0ZXIoKHYpID0+IHYuaWQgIT09IG1lc3NhZ2VJZCk7XG4gICAgdGhpcy5tZXNzYWdlcyQubmV4dCh0aGlzLm1lc3NhZ2VRdWV1ZSk7XG4gIH1cblxuICBkaXNtaXNzQWxsKCk6IHZvaWQge1xuICAgIHRoaXMubWVzc2FnZVF1ZXVlID0gW107XG4gICAgdGhpcy5tZXNzYWdlcyQubmV4dCh0aGlzLm1lc3NhZ2VRdWV1ZSk7XG4gIH1cbn1cblxuIl19
@@ -1,113 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "../icon/icon.component";
5
- export class FwStepComponent {
6
- constructor() {
7
- this.color = 'slate';
8
- this.variant = 'number';
9
- this.alignment = 'left';
10
- this.backgroundColor = 'var(--card-background)';
11
- // eslint-disable-next-line @angular-eslint/no-output-native
12
- this.select = new EventEmitter();
13
- }
14
- handleClick() {
15
- if (this.completed && !this.done && !this.disabled) {
16
- this.select.emit(this.stepNumber);
17
- }
18
- }
19
- ngOnChanges(changes) {
20
- if (changes.status) {
21
- this.active = false;
22
- this.disabled = false;
23
- this.completed = false;
24
- this.done = false;
25
- this.color = 'slate';
26
- switch (changes.status.currentValue) {
27
- case 'active':
28
- this.active = true;
29
- break;
30
- case 'completed':
31
- this.completed = true;
32
- break;
33
- case 'done':
34
- this.done = true;
35
- break;
36
- case 'disabled':
37
- this.disabled = true;
38
- break;
39
- case 'error':
40
- this.color = 'error';
41
- break;
42
- case 'warning':
43
- this.color = 'warning';
44
- break;
45
- case 'info':
46
- this.color = 'info';
47
- break;
48
- case 'default':
49
- default:
50
- // handled in init
51
- break;
52
- }
53
- }
54
- if (changes.active && changes.active.previousValue === false) {
55
- this.status = 'active';
56
- }
57
- if (changes.completed && changes.completed.previousValue === false) {
58
- this.status = 'completed';
59
- }
60
- if (changes.done && changes.done.previousValue === false) {
61
- this.status = 'done';
62
- }
63
- if (changes.disabled && changes.disabled.previousValue === false) {
64
- this.status = 'disabled';
65
- }
66
- if (this.color === 'slate' && !this.active && !this.completed && !this.done && !this.disabled) {
67
- this.status = 'default';
68
- }
69
- }
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwStepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwStepComponent, selector: "fw-step", inputs: { stepNumber: "stepNumber", color: "color", variant: "variant", alignment: "alignment", backgroundColor: "backgroundColor", title: "title", description: "description", icon: "icon", disabled: "disabled", active: "active", completed: "completed", done: "done", status: "status" }, outputs: { select: "select" }, usesOnChanges: true, ngImport: i0, template: "<div\n [ngClass]=\"['step-wrapper', 'step-color-'+color, 'step-alignment-'+alignment]\"\n [class.disabled]=\"disabled\"\n [class.active]=\"active\"\n [class.completed]=\"completed\"\n [class.done]=\"done\"\n (click)=\"handleClick()\">\n <div class=\"step-connector\"></div>\n <div class=\"step-content\" [style]=\"{backgroundColor: backgroundColor}\">\n <div\n class=\"step-decorator-wrapper\"\n [style]=\"{outlineColor: backgroundColor, backgroundColor: backgroundColor}\">\n <div *ngIf=\"done; else notDone\" class=\"step-done\" [style]=\"{outlineColor: backgroundColor}\">\n <fw-icon size=\"small\">done-check</fw-icon>\n </div>\n </div>\n <ng-template #notDone>\n <div *ngIf=\"variant==='number'\" class=\"step-number\">\n <h5 class=\"vision-h5\">{{ stepNumber }}</h5>\n </div>\n <div *ngIf=\"variant==='icon'\" class=\"step-icon\">\n <fw-icon size=\"small\">{{ icon }}</fw-icon>\n </div>\n <div *ngIf=\"variant==='decorator'\" class=\"step-decorator\">\n <ng-content select=\"fw-step-decorator\"></ng-content>\n </div>\n </ng-template>\n <div class=\"step-text\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n </div>\n</div>\n", styles: [":host{box-sizing:border-box;position:relative;flex:1;display:flex;align-items:flex-start;justify-content:center}:host .step-connector{position:absolute;left:-50%;right:0;top:17px;height:1px;width:100%;background-color:var(--separations-base);z-index:49}:host:first-of-type .step-connector{display:none}:host .step-content{position:relative;z-index:50}:host .step-number{box-sizing:border-box;display:flex;width:24px;height:24px;margin:5px 8px;padding:9px;flex-direction:column;justify-content:center;align-items:center;border-radius:64px;border:1px solid var(--separations-base);background:var(--slate-hover)}:host .step-number h5{color:inherit;margin:0}:host .step-icon{box-sizing:border-box;display:flex;width:24px;height:24px;margin:5px 8px;flex-direction:column;justify-content:center;align-items:center;background-color:var(--card-background);color:var(--typography-muted);font-size:24px}:host .step-decorator{box-sizing:border-box;display:flex;width:24px;height:24px;margin:5px 8px;flex-direction:column;justify-content:center;align-items:center;background-color:var(--card-background);font-size:24px}:host .step-done{box-sizing:border-box;display:flex;width:24px;height:24px;margin:5px 8px;flex-direction:column;justify-content:center;align-items:center;border-radius:64px;color:var(--typography-contrast);background-color:var(--green-base);font-size:16px}:host .step-text{flex:1;display:flex;flex-direction:column;justify-content:center;color:var(--typography-muted);font-size:14px;font-weight:500;line-height:130%}:host .step-text h4{margin:0;white-space:nowrap;color:var(--typography-muted)}:host .step-text p{margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-y:hidden;text-overflow:ellipsis}:host .step-text .description{color:var(--typography-muted);font-size:10px;font-weight:400;line-height:12px}:host .step-alignment-center .step-content{background-color:transparent!important;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}:host .step-alignment-center .step-content .step-text{align-items:center}:host .step-alignment-left .step-content{background-color:var(--card-background);padding-right:10px;display:flex;flex-direction:row}:host .active .step-number{background-color:transparent;border:1px solid var(--primary-base);color:var(--primary-base)}:host .active .step-icon{color:var(--primary-base)}:host .active .step-text{color:var(--primary-base)}:host .active .step-text h4{color:var(--primary-base)}:host .active .step-connector{background-color:var(--primary-base)}:host .completed .step-number,:host .completed .step-icon{background-color:var(--primary-base);border:1px solid var(--primary-base);color:var(--typography-contrast)}:host .completed .step-icon{background-color:transparent;border:none;color:var(--primary-base)}:host .completed .step-text{color:var(--typography-base)}:host .completed .step-text h4{color:var(--typography-base)}:host .completed .step-connector{background-color:var(--primary-base)}:host .completed:not(.done){cursor:pointer}:host .done .step-connector{background-color:var(--green-base)}:host .step-color-error .step-number{background-color:var(--red-hover);color:var(--red-base)}:host .step-color-error .step-icon{color:var(--red-base)}:host .step-color-error .step-text{color:var(--red-base)}:host .step-color-error .step-text h4{color:var(--red-base)}:host .step-color-error .step-text .description{color:var(--red-base)}:host .step-color-error.active{color:var(--red-base)}:host .step-color-error.active .step-number{border-color:var(--red-base);color:var(--red-base)}:host .step-color-error.completed .step-number{color:var(--typography-contrast);border-color:var(--red-base);background-color:var(--red-base)}:host .step-color-error.completed .step-icon{background-color:transparent;border:none}:host .step-color-warning .step-number{background-color:var(--orange-hover);color:var(--orange-base)}:host .step-color-warning .step-icon{color:var(--orange-base)}:host .step-color-warning .step-text{color:var(--orange-base)}:host .step-color-warning .step-text h4{color:var(--orange-base)}:host .step-color-warning .step-text .description{color:var(--orange-base)}:host .step-color-warning.active{color:var(--orange-base)}:host .step-color-warning.active .step-number{border-color:var(--orange-base);color:var(--orange-base)}:host .step-color-warning.completed .step-number{color:var(--typography-contrast);border-color:var(--orange-base);background-color:var(--orange-base)}:host .step-color-warning.completed .step-icon{background-color:transparent;border:none}:host .step-color-success .step-number{background-color:var(--green-hover);color:var(--green-base)}:host .step-color-success .step-icon{color:var(--green-base)}:host .step-color-success .step-text{color:var(--green-base)}:host .step-color-success .step-text h4{color:var(--green-base)}:host .step-color-success .step-text .description{color:var(--green-base)}:host .step-color-success.active{color:var(--green-base)}:host .step-color-success.active .step-number{border-color:var(--green-base);color:var(--green-base)}:host .step-color-success.completed .step-number{color:var(--typography-contrast);border-color:var(--green-base);background-color:var(--green-base)}:host .step-color-success.completed .step-icon{background-color:transparent;border:none}:host .step-color-info .step-number{background-color:var(--primary-hover);color:var(--primary-base)}:host .step-color-info .step-icon{color:var(--primary-base)}:host .step-color-info .step-text{color:var(--primary-base)}:host .step-color-info .step-text h4{color:var(--primary-base)}:host .step-color-info .step-text .description{color:var(--primary-base)}:host .step-color-info.active{color:var(--primary-base)}:host .step-color-info.active .step-number{background-color:var(--typography-contrast);border-color:var(--primary-base);color:var(--primary-base)}:host .step-color-info.completed .step-number{color:var(--typography-contrast);border-color:var(--primary-base);background-color:var(--primary-base)}:host .step-color-info.completed .step-icon{background-color:transparent;border:none}:host .disabled .step-text{color:var(--typography-muted);opacity:.4}:host .disabled .step-text h4{color:var(--typography-muted)}:host .disabled .step-text .description{color:var(--typography-muted)}:host .disabled .step-number{color:var(--typography-muted);border-color:var(--separations-base);background-color:var(--slate-focus)}:host .disabled .step-icon{opacity:.4;color:var(--typography-muted);background-color:var(--typography-contrast);border-color:var(--typography-contrast)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }] }); }
72
- }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwStepComponent, decorators: [{
74
- type: Component,
75
- args: [{ selector: 'fw-step', template: "<div\n [ngClass]=\"['step-wrapper', 'step-color-'+color, 'step-alignment-'+alignment]\"\n [class.disabled]=\"disabled\"\n [class.active]=\"active\"\n [class.completed]=\"completed\"\n [class.done]=\"done\"\n (click)=\"handleClick()\">\n <div class=\"step-connector\"></div>\n <div class=\"step-content\" [style]=\"{backgroundColor: backgroundColor}\">\n <div\n class=\"step-decorator-wrapper\"\n [style]=\"{outlineColor: backgroundColor, backgroundColor: backgroundColor}\">\n <div *ngIf=\"done; else notDone\" class=\"step-done\" [style]=\"{outlineColor: backgroundColor}\">\n <fw-icon size=\"small\">done-check</fw-icon>\n </div>\n </div>\n <ng-template #notDone>\n <div *ngIf=\"variant==='number'\" class=\"step-number\">\n <h5 class=\"vision-h5\">{{ stepNumber }}</h5>\n </div>\n <div *ngIf=\"variant==='icon'\" class=\"step-icon\">\n <fw-icon size=\"small\">{{ icon }}</fw-icon>\n </div>\n <div *ngIf=\"variant==='decorator'\" class=\"step-decorator\">\n <ng-content select=\"fw-step-decorator\"></ng-content>\n </div>\n </ng-template>\n <div class=\"step-text\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n </div>\n</div>\n", styles: [":host{box-sizing:border-box;position:relative;flex:1;display:flex;align-items:flex-start;justify-content:center}:host .step-connector{position:absolute;left:-50%;right:0;top:17px;height:1px;width:100%;background-color:var(--separations-base);z-index:49}:host:first-of-type .step-connector{display:none}:host .step-content{position:relative;z-index:50}:host .step-number{box-sizing:border-box;display:flex;width:24px;height:24px;margin:5px 8px;padding:9px;flex-direction:column;justify-content:center;align-items:center;border-radius:64px;border:1px solid var(--separations-base);background:var(--slate-hover)}:host .step-number h5{color:inherit;margin:0}:host .step-icon{box-sizing:border-box;display:flex;width:24px;height:24px;margin:5px 8px;flex-direction:column;justify-content:center;align-items:center;background-color:var(--card-background);color:var(--typography-muted);font-size:24px}:host .step-decorator{box-sizing:border-box;display:flex;width:24px;height:24px;margin:5px 8px;flex-direction:column;justify-content:center;align-items:center;background-color:var(--card-background);font-size:24px}:host .step-done{box-sizing:border-box;display:flex;width:24px;height:24px;margin:5px 8px;flex-direction:column;justify-content:center;align-items:center;border-radius:64px;color:var(--typography-contrast);background-color:var(--green-base);font-size:16px}:host .step-text{flex:1;display:flex;flex-direction:column;justify-content:center;color:var(--typography-muted);font-size:14px;font-weight:500;line-height:130%}:host .step-text h4{margin:0;white-space:nowrap;color:var(--typography-muted)}:host .step-text p{margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-y:hidden;text-overflow:ellipsis}:host .step-text .description{color:var(--typography-muted);font-size:10px;font-weight:400;line-height:12px}:host .step-alignment-center .step-content{background-color:transparent!important;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}:host .step-alignment-center .step-content .step-text{align-items:center}:host .step-alignment-left .step-content{background-color:var(--card-background);padding-right:10px;display:flex;flex-direction:row}:host .active .step-number{background-color:transparent;border:1px solid var(--primary-base);color:var(--primary-base)}:host .active .step-icon{color:var(--primary-base)}:host .active .step-text{color:var(--primary-base)}:host .active .step-text h4{color:var(--primary-base)}:host .active .step-connector{background-color:var(--primary-base)}:host .completed .step-number,:host .completed .step-icon{background-color:var(--primary-base);border:1px solid var(--primary-base);color:var(--typography-contrast)}:host .completed .step-icon{background-color:transparent;border:none;color:var(--primary-base)}:host .completed .step-text{color:var(--typography-base)}:host .completed .step-text h4{color:var(--typography-base)}:host .completed .step-connector{background-color:var(--primary-base)}:host .completed:not(.done){cursor:pointer}:host .done .step-connector{background-color:var(--green-base)}:host .step-color-error .step-number{background-color:var(--red-hover);color:var(--red-base)}:host .step-color-error .step-icon{color:var(--red-base)}:host .step-color-error .step-text{color:var(--red-base)}:host .step-color-error .step-text h4{color:var(--red-base)}:host .step-color-error .step-text .description{color:var(--red-base)}:host .step-color-error.active{color:var(--red-base)}:host .step-color-error.active .step-number{border-color:var(--red-base);color:var(--red-base)}:host .step-color-error.completed .step-number{color:var(--typography-contrast);border-color:var(--red-base);background-color:var(--red-base)}:host .step-color-error.completed .step-icon{background-color:transparent;border:none}:host .step-color-warning .step-number{background-color:var(--orange-hover);color:var(--orange-base)}:host .step-color-warning .step-icon{color:var(--orange-base)}:host .step-color-warning .step-text{color:var(--orange-base)}:host .step-color-warning .step-text h4{color:var(--orange-base)}:host .step-color-warning .step-text .description{color:var(--orange-base)}:host .step-color-warning.active{color:var(--orange-base)}:host .step-color-warning.active .step-number{border-color:var(--orange-base);color:var(--orange-base)}:host .step-color-warning.completed .step-number{color:var(--typography-contrast);border-color:var(--orange-base);background-color:var(--orange-base)}:host .step-color-warning.completed .step-icon{background-color:transparent;border:none}:host .step-color-success .step-number{background-color:var(--green-hover);color:var(--green-base)}:host .step-color-success .step-icon{color:var(--green-base)}:host .step-color-success .step-text{color:var(--green-base)}:host .step-color-success .step-text h4{color:var(--green-base)}:host .step-color-success .step-text .description{color:var(--green-base)}:host .step-color-success.active{color:var(--green-base)}:host .step-color-success.active .step-number{border-color:var(--green-base);color:var(--green-base)}:host .step-color-success.completed .step-number{color:var(--typography-contrast);border-color:var(--green-base);background-color:var(--green-base)}:host .step-color-success.completed .step-icon{background-color:transparent;border:none}:host .step-color-info .step-number{background-color:var(--primary-hover);color:var(--primary-base)}:host .step-color-info .step-icon{color:var(--primary-base)}:host .step-color-info .step-text{color:var(--primary-base)}:host .step-color-info .step-text h4{color:var(--primary-base)}:host .step-color-info .step-text .description{color:var(--primary-base)}:host .step-color-info.active{color:var(--primary-base)}:host .step-color-info.active .step-number{background-color:var(--typography-contrast);border-color:var(--primary-base);color:var(--primary-base)}:host .step-color-info.completed .step-number{color:var(--typography-contrast);border-color:var(--primary-base);background-color:var(--primary-base)}:host .step-color-info.completed .step-icon{background-color:transparent;border:none}:host .disabled .step-text{color:var(--typography-muted);opacity:.4}:host .disabled .step-text h4{color:var(--typography-muted)}:host .disabled .step-text .description{color:var(--typography-muted)}:host .disabled .step-number{color:var(--typography-muted);border-color:var(--separations-base);background-color:var(--slate-focus)}:host .disabled .step-icon{opacity:.4;color:var(--typography-muted);background-color:var(--typography-contrast);border-color:var(--typography-contrast)}\n"] }]
76
- }], propDecorators: { stepNumber: [{
77
- type: Input
78
- }], color: [{
79
- type: Input
80
- }], variant: [{
81
- type: Input
82
- }], alignment: [{
83
- type: Input
84
- }], backgroundColor: [{
85
- type: Input
86
- }], title: [{
87
- type: Input
88
- }], description: [{
89
- type: Input
90
- }], icon: [{
91
- type: Input
92
- }], disabled: [{
93
- type: Input
94
- }], active: [{
95
- type: Input
96
- }], completed: [{
97
- type: Input
98
- }], done: [{
99
- type: Input
100
- }], status: [{
101
- type: Input
102
- }], select: [{
103
- type: Output
104
- }] } });
105
- export class FwStepDecoratorComponent {
106
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwStepDecoratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
107
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwStepDecoratorComponent, selector: "fw-step-decorator", ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
108
- }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwStepDecoratorComponent, decorators: [{
110
- type: Component,
111
- args: [{ selector: 'fw-step-decorator', template: '<ng-content></ng-content>' }]
112
- }] });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9zdGVwcGVyL3N0ZXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc3RlcHBlci9zdGVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7O0FBU2pHLE1BQU0sT0FBTyxlQUFlO0lBTDVCO1FBT1csVUFBSyxHQUF3RCxPQUFPLENBQUM7UUFDckUsWUFBTyxHQUFxQyxRQUFRLENBQUM7UUFDckQsY0FBUyxHQUF1QixNQUFNLENBQUM7UUFDdkMsb0JBQWUsR0FBWSx3QkFBd0IsQ0FBQztRQVM3RCw0REFBNEQ7UUFDbEQsV0FBTSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0tBMkRyRTtJQXpEQyxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7WUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7WUFDckIsUUFB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RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vaWNvbi9pY29uLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctc3RlcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGVwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3RlcC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGd1N0ZXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBzdGVwTnVtYmVyOiBudW1iZXI7XG4gIEBJbnB1dCgpIGNvbG9yPzogJ3NsYXRlJyB8ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAnd2FybmluZycgfCAnaW5mbycgPSAnc2xhdGUnO1xuICBASW5wdXQoKSB2YXJpYW50PzogJ251bWJlcicgfCAnaWNvbicgfCAnZGVjb3JhdG9yJyA9ICdudW1iZXInO1xuICBASW5wdXQoKSBhbGlnbm1lbnQ/OiAnbGVmdCcgfCAnY2VudGVyJyA9ICdsZWZ0JztcbiAgQElucHV0KCkgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nID0gJ3ZhcigtLWNhcmQtYmFja2dyb3VuZCknO1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgQElucHV0KCkgaWNvbj86IEljb25UeXBlO1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFjdGl2ZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNvbXBsZXRlZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRvbmU/OiBib29sZWFuO1xuICBASW5wdXQoKSBzdGF0dXM/OiAnZGVmYXVsdCcgfCAnYWN0aXZlJyB8ICdjb21wbGV0ZWQnIHwgJ2RvbmUnIHwgJ2Rpc2FibGVkJyB8ICdlcnJvcicgfCAnd2FybmluZycgfCAnaW5mbyc7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgc2VsZWN0OiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGhhbmRsZUNsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbXBsZXRlZCAmJiAhdGhpcy5kb25lICYmICF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnNlbGVjdC5lbWl0KHRoaXMuc3RlcE51bWJlcik7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLnN0YXR1cykge1xuICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuY29tcGxldGVkID0gZmFsc2U7XG4gICAgICB0aGlzLmRvbmUgPSBmYWxzZTtcbiAgICAgIHRoaXMuY29sb3IgPSAnc2xhdGUnO1xuICAgICAgc3dpdGNoIChjaGFuZ2VzLnN0YXR1cy5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgY2FzZSAnYWN0aXZlJzpcbiAgICAgICAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2NvbXBsZXRlZCc6XG4gICAgICAgICAgdGhpcy5jb21wbGV0ZWQgPSB0cnVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdkb25lJzpcbiAgICAgICAgICB0aGlzLmRvbmUgPSB0cnVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdkaXNhYmxlZCc6XG4gICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgICB0aGlzLmNvbG9yID0gJ2Vycm9yJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgICAgdGhpcy5jb2xvciA9ICd3YXJuaW5nJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgdGhpcy5jb2xvciA9ICdpbmZvJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnZGVmYXVsdCc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgLy8gaGFuZGxlZCBpbiBpbml0XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmFjdGl2ZSAmJiBjaGFuZ2VzLmFjdGl2ZS5wcmV2aW91c1ZhbHVlID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5zdGF0dXMgPSAnYWN0aXZlJztcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuY29tcGxldGVkICYmIGNoYW5nZXMuY29tcGxldGVkLnByZXZpb3VzVmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLnN0YXR1cyA9ICdjb21wbGV0ZWQnO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5kb25lICYmIGNoYW5nZXMuZG9uZS5wcmV2aW91c1ZhbHVlID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5zdGF0dXMgPSAnZG9uZSc7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmRpc2FibGVkICYmIGNoYW5nZXMuZGlzYWJsZWQucHJldmlvdXNWYWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuc3RhdHVzID0gJ2Rpc2FibGVkJztcbiAgICB9XG4gICAgaWYgKHRoaXMuY29sb3IgPT09ICdzbGF0ZScgJiYgIXRoaXMuYWN0aXZlICYmICF0aGlzLmNvbXBsZXRlZCAmJiAhdGhpcy5kb25lICYmICF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnN0YXR1cyA9ICdkZWZhdWx0JztcbiAgICB9XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctc3RlcC1kZWNvcmF0b3InLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdHlsZVVybHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBGd1N0ZXBEZWNvcmF0b3JDb21wb25lbnQge1xufVxuIiwiPGRpdlxuICBbbmdDbGFzc109XCJbJ3N0ZXAtd3JhcHBlcicsICdzdGVwLWNvbG9yLScrY29sb3IsICdzdGVwLWFsaWdubWVudC0nK2FsaWdubWVudF1cIlxuICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVwiXG4gIFtjbGFzcy5jb21wbGV0ZWRdPVwiY29tcGxldGVkXCJcbiAgW2NsYXNzLmRvbmVdPVwiZG9uZVwiXG4gIChjbGljayk9XCJoYW5kbGVDbGljaygpXCI+XG4gIDxkaXYgY2xhc3M9XCJzdGVwLWNvbm5lY3RvclwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic3RlcC1jb250ZW50XCIgW3N0eWxlXT1cIntiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRDb2xvcn1cIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInN0ZXAtZGVjb3JhdG9yLXdyYXBwZXJcIlxuICAgICAgW3N0eWxlXT1cIntvdXRsaW5lQ29sb3I6IGJhY2tncm91bmRDb2xvciwgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kQ29sb3J9XCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZG9uZTsgZWxzZSBub3REb25lXCIgY2xhc3M9XCJzdGVwLWRvbmVcIiBbc3R5bGVdPVwie291dGxpbmVDb2xvcjogYmFja2dyb3VuZENvbG9yfVwiPlxuICAgICAgICA8ZnctaWNvbiBzaXplPVwic21hbGxcIj5kb25lLWNoZWNrPC9mdy1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG5nLXRlbXBsYXRlICNub3REb25lPlxuICAgICAgPGRpdiAqbmdJZj1cInZhcmlhbnQ9PT0nbnVtYmVyJ1wiIGNsYXNzPVwic3RlcC1udW1iZXJcIj5cbiAgICAgICAgPGg1IGNsYXNzPVwidmlzaW9uLWg1XCI+e3sgc3RlcE51bWJlciB9fTwvaDU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJ2YXJpYW50PT09J2ljb24nXCIgY2xhc3M9XCJzdGVwLWljb25cIj5cbiAgICAgICAgPGZ3LWljb24gc2l6ZT1cInNtYWxsXCI+e3sgaWNvbiB9fTwvZnctaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cInZhcmlhbnQ9PT0nZGVjb3JhdG9yJ1wiIGNsYXNzPVwic3RlcC1kZWNvcmF0b3JcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctc3RlcC1kZWNvcmF0b3JcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJzdGVwLXRleHRcIj5cbiAgICAgIDxoNCBjbGFzcz1cInZpc2lvbi1oNFwiPnt7IHRpdGxlIH19PC9oND5cbiAgICAgIDxwICpuZ0lmPVwiZGVzY3JpcHRpb25cIiBjbGFzcz1cInZpc2lvbi1wNCBkZXNjcmlwdGlvblwiPnt7IGRlc2NyaXB0aW9uIH19PC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19