@bravura/ui 3.8.1 → 5.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 (276) hide show
  1. package/CHANGELOG.md +585 -565
  2. package/LICENSE +6 -6
  3. package/README.md +3 -1
  4. package/alert/alert-container.component.d.ts +1 -1
  5. package/alert/alert-message.component.d.ts +1 -1
  6. package/behavior/await.directive.d.ts +1 -1
  7. package/behavior/observe-content-class.directive.d.ts +1 -1
  8. package/behavior/sizing.directive.d.ts +1 -1
  9. package/clip-note/clip-note.directive.d.ts +1 -1
  10. package/currency-input/currency-input.directive.d.ts +1 -1
  11. package/decimal-input/decimal-input.directive.d.ts +1 -1
  12. package/discrete-input/discrete-input.component.d.ts +1 -1
  13. package/esm2022/alert/alert-container.component.mjs +207 -0
  14. package/esm2022/alert/alert-message.component.mjs +101 -0
  15. package/esm2022/alert/alert.module.mjs +22 -0
  16. package/{esm2020 → esm2022}/alert/public-api.mjs +1 -1
  17. package/esm2022/alert/testing/test-api.mjs +44 -0
  18. package/esm2022/behavior/await.directive.mjs +133 -0
  19. package/esm2022/behavior/behavior.module.mjs +37 -0
  20. package/esm2022/behavior/observe-content-class.directive.mjs +63 -0
  21. package/{esm2020 → esm2022}/behavior/public-api.mjs +1 -1
  22. package/esm2022/behavior/sizing-monitor.directive.mjs +31 -0
  23. package/esm2022/behavior/sizing.directive.mjs +256 -0
  24. package/esm2022/clip-note/clip-note.component.mjs +216 -0
  25. package/esm2022/clip-note/clip-note.directive.mjs +141 -0
  26. package/esm2022/clip-note/clip-note.module.mjs +32 -0
  27. package/{esm2020 → esm2022}/clip-note/public-api.mjs +1 -1
  28. package/{esm2020 → esm2022}/common/common-utils.mjs +1 -1
  29. package/esm2022/common/common.module.mjs +53 -0
  30. package/{esm2020 → esm2022}/common/public-api.mjs +1 -1
  31. package/esm2022/currency-input/currency-input.directive.mjs +276 -0
  32. package/esm2022/currency-input/currency-input.module.mjs +19 -0
  33. package/{esm2020 → esm2022}/currency-input/public-api.mjs +1 -1
  34. package/esm2022/decimal-input/decimal-input.directive.mjs +122 -0
  35. package/{esm2020 → esm2022}/decimal-input/decimal-input.module.mjs +5 -5
  36. package/esm2022/discrete-input/discrete-input.component.mjs +337 -0
  37. package/esm2022/discrete-input/discrete-input.module.mjs +21 -0
  38. package/{esm2020 → esm2022}/discrete-input/public-api.mjs +1 -1
  39. package/esm2022/file-upload/file-upload.component.mjs +400 -0
  40. package/esm2022/file-upload/file-upload.module.mjs +44 -0
  41. package/esm2022/file-upload/file-upload.service.mjs +29 -0
  42. package/{esm2020 → esm2022}/file-upload/public-api.mjs +1 -1
  43. package/esm2022/form-field/form-field.component.mjs +82 -0
  44. package/esm2022/form-field/form-field.module.mjs +33 -0
  45. package/{esm2020 → esm2022}/form-field/public-api.mjs +1 -1
  46. package/esm2022/icon-font/icon-font.module.mjs +22 -0
  47. package/esm2022/icon-font/icon.directive.mjs +102 -0
  48. package/{esm2020 → esm2022}/icon-font/public-api.mjs +1 -1
  49. package/esm2022/icon-font/utilities.mjs +51 -0
  50. package/esm2022/panel/panel-section.component.mjs +41 -0
  51. package/esm2022/panel/panel.component.mjs +87 -0
  52. package/esm2022/panel/panel.module.mjs +23 -0
  53. package/{esm2020 → esm2022}/panel/public-api.mjs +1 -1
  54. package/esm2022/panel/tinted.directive.mjs +60 -0
  55. package/esm2022/phone-number/phone-number.directive.mjs +188 -0
  56. package/{esm2020 → esm2022}/phone-number/phone-number.module.mjs +5 -5
  57. package/esm2022/phone-number/phone-number.pipe.mjs +47 -0
  58. package/esm2022/phone-number/phone-number.validator.mjs +64 -0
  59. package/{esm2020 → esm2022}/phone-number/public-api.mjs +1 -1
  60. package/{esm2020 → esm2022}/public-api.mjs +1 -1
  61. package/esm2022/radio-panel/radio-panel-item.component.mjs +93 -0
  62. package/esm2022/radio-panel/radio-panel.component.mjs +81 -0
  63. package/{esm2020 → esm2022}/radio-panel/radio-panel.module.mjs +5 -5
  64. package/esm2022/radio-panel/testing/test-api.mjs +46 -0
  65. package/{esm2020 → esm2022}/selection-panel/public-api.mjs +1 -1
  66. package/esm2022/selection-panel/selection-panel-item.component.mjs +166 -0
  67. package/esm2022/selection-panel/selection-panel.directive.mjs +119 -0
  68. package/esm2022/selection-panel/selection-panel.module.mjs +23 -0
  69. package/{esm2020 → esm2022}/skeletons/public-api.mjs +1 -1
  70. package/esm2022/skeletons/skeleton-loader-presets.directive.mjs +83 -0
  71. package/esm2022/skeletons/skeleton-loader.component.mjs +76 -0
  72. package/esm2022/skeletons/skeletons.module.mjs +35 -0
  73. package/{esm2020 → esm2022}/stepper/public-api.mjs +1 -1
  74. package/{esm2020 → esm2022}/stepper/stepper-animation.mjs +1 -1
  75. package/esm2022/stepper/stepper.component.mjs +176 -0
  76. package/esm2022/stepper/stepper.module.mjs +52 -0
  77. package/{esm2020 → esm2022}/tooltip/public-api.mjs +1 -1
  78. package/esm2022/tooltip/tooltip.component.mjs +63 -0
  79. package/esm2022/tooltip/tooltip.directive.mjs +148 -0
  80. package/esm2022/tooltip/tooltip.module.mjs +25 -0
  81. package/{fesm2020 → fesm2022}/bravura-ui-alert-testing.mjs +2 -2
  82. package/fesm2022/bravura-ui-alert-testing.mjs.map +1 -0
  83. package/fesm2022/bravura-ui-alert.mjs +327 -0
  84. package/fesm2022/bravura-ui-alert.mjs.map +1 -0
  85. package/{fesm2020 → fesm2022}/bravura-ui-behavior.mjs +45 -45
  86. package/fesm2022/bravura-ui-behavior.mjs.map +1 -0
  87. package/{fesm2020 → fesm2022}/bravura-ui-clip-note.mjs +70 -70
  88. package/fesm2022/bravura-ui-clip-note.mjs.map +1 -0
  89. package/{fesm2020 → fesm2022}/bravura-ui-common.mjs +6 -6
  90. package/fesm2022/bravura-ui-common.mjs.map +1 -0
  91. package/{fesm2020 → fesm2022}/bravura-ui-currency-input.mjs +11 -11
  92. package/fesm2022/bravura-ui-currency-input.mjs.map +1 -0
  93. package/{fesm2020 → fesm2022}/bravura-ui-decimal-input.mjs +12 -12
  94. package/fesm2022/bravura-ui-decimal-input.mjs.map +1 -0
  95. package/{fesm2020 → fesm2022}/bravura-ui-discrete-input.mjs +48 -48
  96. package/fesm2022/bravura-ui-discrete-input.mjs.map +1 -0
  97. package/fesm2022/bravura-ui-file-upload.mjs +474 -0
  98. package/fesm2022/bravura-ui-file-upload.mjs.map +1 -0
  99. package/{fesm2020 → fesm2022}/bravura-ui-form-field.mjs +19 -19
  100. package/fesm2022/bravura-ui-form-field.mjs.map +1 -0
  101. package/{fesm2020 → fesm2022}/bravura-ui-icon-font.mjs +8 -8
  102. package/fesm2022/bravura-ui-icon-font.mjs.map +1 -0
  103. package/fesm2022/bravura-ui-panel.mjs +206 -0
  104. package/fesm2022/bravura-ui-panel.mjs.map +1 -0
  105. package/{fesm2020 → fesm2022}/bravura-ui-phone-number.mjs +30 -30
  106. package/fesm2022/bravura-ui-phone-number.mjs.map +1 -0
  107. package/{fesm2020 → fesm2022}/bravura-ui-radio-panel-testing.mjs +5 -6
  108. package/fesm2022/bravura-ui-radio-panel-testing.mjs.map +1 -0
  109. package/{fesm2020 → fesm2022}/bravura-ui-radio-panel.mjs +32 -32
  110. package/fesm2022/bravura-ui-radio-panel.mjs.map +1 -0
  111. package/fesm2022/bravura-ui-selection-panel.mjs +306 -0
  112. package/fesm2022/bravura-ui-selection-panel.mjs.map +1 -0
  113. package/{fesm2020 → fesm2022}/bravura-ui-skeletons.mjs +43 -43
  114. package/fesm2022/bravura-ui-skeletons.mjs.map +1 -0
  115. package/fesm2022/bravura-ui-stepper.mjs +251 -0
  116. package/fesm2022/bravura-ui-stepper.mjs.map +1 -0
  117. package/{fesm2020 → fesm2022}/bravura-ui-tooltip.mjs +32 -24
  118. package/fesm2022/bravura-ui-tooltip.mjs.map +1 -0
  119. package/fesm2022/bravura-ui.mjs.map +1 -0
  120. package/file-upload/file-upload.component.d.ts +1 -1
  121. package/form-field/form-field.component.d.ts +1 -1
  122. package/icon-font/icon.directive.d.ts +1 -1
  123. package/package.json +88 -132
  124. package/panel/panel.component.d.ts +1 -1
  125. package/panel/tinted.directive.d.ts +1 -1
  126. package/phone-number/phone-number.directive.d.ts +1 -1
  127. package/phone-number/phone-number.validator.d.ts +2 -2
  128. package/radio-panel/radio-panel-item.component.d.ts +1 -1
  129. package/radio-panel/radio-panel.component.d.ts +1 -1
  130. package/radio-panel/testing/test-api.d.ts +2 -3
  131. package/selection-panel/selection-panel-item.component.d.ts +1 -1
  132. package/selection-panel/selection-panel.directive.d.ts +1 -1
  133. package/skeletons/skeleton-loader-presets.directive.d.ts +3 -3
  134. package/stepper/stepper.component.d.ts +1 -1
  135. package/theme/_bui-card.scss +56 -56
  136. package/theme/_ui-theme.scss +3 -3
  137. package/theme/global-style-by-bootstrap.scss +3 -3
  138. package/theme/global-style-by-tailwind.scss +3 -3
  139. package/theme/scrollbar.scss +40 -40
  140. package/tooltip/tooltip.component.d.ts +2 -0
  141. package/tooltip/tooltip.directive.d.ts +3 -5
  142. package/esm2020/alert/alert-container.component.mjs +0 -207
  143. package/esm2020/alert/alert-message.component.mjs +0 -102
  144. package/esm2020/alert/alert.module.mjs +0 -22
  145. package/esm2020/alert/testing/test-api.mjs +0 -44
  146. package/esm2020/behavior/await.directive.mjs +0 -133
  147. package/esm2020/behavior/behavior.module.mjs +0 -37
  148. package/esm2020/behavior/observe-content-class.directive.mjs +0 -63
  149. package/esm2020/behavior/sizing-monitor.directive.mjs +0 -31
  150. package/esm2020/behavior/sizing.directive.mjs +0 -256
  151. package/esm2020/clip-note/clip-note.component.mjs +0 -216
  152. package/esm2020/clip-note/clip-note.directive.mjs +0 -141
  153. package/esm2020/clip-note/clip-note.module.mjs +0 -32
  154. package/esm2020/common/common.module.mjs +0 -53
  155. package/esm2020/currency-input/currency-input.directive.mjs +0 -276
  156. package/esm2020/currency-input/currency-input.module.mjs +0 -19
  157. package/esm2020/decimal-input/decimal-input.directive.mjs +0 -122
  158. package/esm2020/discrete-input/discrete-input.component.mjs +0 -337
  159. package/esm2020/discrete-input/discrete-input.module.mjs +0 -21
  160. package/esm2020/file-upload/file-upload.component.mjs +0 -400
  161. package/esm2020/file-upload/file-upload.module.mjs +0 -44
  162. package/esm2020/file-upload/file-upload.service.mjs +0 -29
  163. package/esm2020/form-field/form-field.component.mjs +0 -82
  164. package/esm2020/form-field/form-field.module.mjs +0 -33
  165. package/esm2020/icon-font/icon-font.module.mjs +0 -22
  166. package/esm2020/icon-font/icon.directive.mjs +0 -102
  167. package/esm2020/icon-font/utilities.mjs +0 -51
  168. package/esm2020/panel/panel-section.component.mjs +0 -41
  169. package/esm2020/panel/panel.component.mjs +0 -87
  170. package/esm2020/panel/panel.module.mjs +0 -23
  171. package/esm2020/panel/tinted.directive.mjs +0 -60
  172. package/esm2020/phone-number/phone-number.directive.mjs +0 -188
  173. package/esm2020/phone-number/phone-number.pipe.mjs +0 -47
  174. package/esm2020/phone-number/phone-number.validator.mjs +0 -64
  175. package/esm2020/radio-panel/radio-panel-item.component.mjs +0 -93
  176. package/esm2020/radio-panel/radio-panel.component.mjs +0 -81
  177. package/esm2020/radio-panel/testing/test-api.mjs +0 -47
  178. package/esm2020/selection-panel/selection-panel-item.component.mjs +0 -166
  179. package/esm2020/selection-panel/selection-panel.directive.mjs +0 -119
  180. package/esm2020/selection-panel/selection-panel.module.mjs +0 -23
  181. package/esm2020/skeletons/skeleton-loader-presets.directive.mjs +0 -83
  182. package/esm2020/skeletons/skeleton-loader.component.mjs +0 -76
  183. package/esm2020/skeletons/skeletons.module.mjs +0 -35
  184. package/esm2020/stepper/stepper.component.mjs +0 -176
  185. package/esm2020/stepper/stepper.module.mjs +0 -52
  186. package/esm2020/tooltip/tooltip.component.mjs +0 -54
  187. package/esm2020/tooltip/tooltip.directive.mjs +0 -149
  188. package/esm2020/tooltip/tooltip.module.mjs +0 -25
  189. package/fesm2015/bravura-ui-alert-testing.mjs +0 -64
  190. package/fesm2015/bravura-ui-alert-testing.mjs.map +0 -1
  191. package/fesm2015/bravura-ui-alert.mjs +0 -340
  192. package/fesm2015/bravura-ui-alert.mjs.map +0 -1
  193. package/fesm2015/bravura-ui-behavior.mjs +0 -515
  194. package/fesm2015/bravura-ui-behavior.mjs.map +0 -1
  195. package/fesm2015/bravura-ui-clip-note.mjs +0 -393
  196. package/fesm2015/bravura-ui-clip-note.mjs.map +0 -1
  197. package/fesm2015/bravura-ui-common.mjs +0 -96
  198. package/fesm2015/bravura-ui-common.mjs.map +0 -1
  199. package/fesm2015/bravura-ui-currency-input.mjs +0 -300
  200. package/fesm2015/bravura-ui-currency-input.mjs.map +0 -1
  201. package/fesm2015/bravura-ui-decimal-input.mjs +0 -145
  202. package/fesm2015/bravura-ui-decimal-input.mjs.map +0 -1
  203. package/fesm2015/bravura-ui-discrete-input.mjs +0 -365
  204. package/fesm2015/bravura-ui-discrete-input.mjs.map +0 -1
  205. package/fesm2015/bravura-ui-file-upload.mjs +0 -478
  206. package/fesm2015/bravura-ui-file-upload.mjs.map +0 -1
  207. package/fesm2015/bravura-ui-form-field.mjs +0 -120
  208. package/fesm2015/bravura-ui-form-field.mjs.map +0 -1
  209. package/fesm2015/bravura-ui-icon-font.mjs +0 -178
  210. package/fesm2015/bravura-ui-icon-font.mjs.map +0 -1
  211. package/fesm2015/bravura-ui-panel.mjs +0 -210
  212. package/fesm2015/bravura-ui-panel.mjs.map +0 -1
  213. package/fesm2015/bravura-ui-phone-number.mjs +0 -327
  214. package/fesm2015/bravura-ui-phone-number.mjs.map +0 -1
  215. package/fesm2015/bravura-ui-radio-panel-testing.mjs +0 -63
  216. package/fesm2015/bravura-ui-radio-panel-testing.mjs.map +0 -1
  217. package/fesm2015/bravura-ui-radio-panel.mjs +0 -200
  218. package/fesm2015/bravura-ui-radio-panel.mjs.map +0 -1
  219. package/fesm2015/bravura-ui-selection-panel.mjs +0 -311
  220. package/fesm2015/bravura-ui-selection-panel.mjs.map +0 -1
  221. package/fesm2015/bravura-ui-skeletons.mjs +0 -195
  222. package/fesm2015/bravura-ui-skeletons.mjs.map +0 -1
  223. package/fesm2015/bravura-ui-stepper.mjs +0 -253
  224. package/fesm2015/bravura-ui-stepper.mjs.map +0 -1
  225. package/fesm2015/bravura-ui-tooltip.mjs +0 -229
  226. package/fesm2015/bravura-ui-tooltip.mjs.map +0 -1
  227. package/fesm2015/bravura-ui.mjs.map +0 -1
  228. package/fesm2020/bravura-ui-alert-testing.mjs.map +0 -1
  229. package/fesm2020/bravura-ui-alert.mjs +0 -328
  230. package/fesm2020/bravura-ui-alert.mjs.map +0 -1
  231. package/fesm2020/bravura-ui-behavior.mjs.map +0 -1
  232. package/fesm2020/bravura-ui-clip-note.mjs.map +0 -1
  233. package/fesm2020/bravura-ui-common.mjs.map +0 -1
  234. package/fesm2020/bravura-ui-currency-input.mjs.map +0 -1
  235. package/fesm2020/bravura-ui-decimal-input.mjs.map +0 -1
  236. package/fesm2020/bravura-ui-discrete-input.mjs.map +0 -1
  237. package/fesm2020/bravura-ui-file-upload.mjs +0 -474
  238. package/fesm2020/bravura-ui-file-upload.mjs.map +0 -1
  239. package/fesm2020/bravura-ui-form-field.mjs.map +0 -1
  240. package/fesm2020/bravura-ui-icon-font.mjs.map +0 -1
  241. package/fesm2020/bravura-ui-panel.mjs +0 -206
  242. package/fesm2020/bravura-ui-panel.mjs.map +0 -1
  243. package/fesm2020/bravura-ui-phone-number.mjs.map +0 -1
  244. package/fesm2020/bravura-ui-radio-panel-testing.mjs.map +0 -1
  245. package/fesm2020/bravura-ui-radio-panel.mjs.map +0 -1
  246. package/fesm2020/bravura-ui-selection-panel.mjs +0 -306
  247. package/fesm2020/bravura-ui-selection-panel.mjs.map +0 -1
  248. package/fesm2020/bravura-ui-skeletons.mjs.map +0 -1
  249. package/fesm2020/bravura-ui-stepper.mjs +0 -251
  250. package/fesm2020/bravura-ui-stepper.mjs.map +0 -1
  251. package/fesm2020/bravura-ui-tooltip.mjs.map +0 -1
  252. package/fesm2020/bravura-ui.mjs +0 -8
  253. package/fesm2020/bravura-ui.mjs.map +0 -1
  254. /package/{esm2020 → esm2022}/alert/bravura-ui-alert.mjs +0 -0
  255. /package/{esm2020 → esm2022}/alert/testing/bravura-ui-alert-testing.mjs +0 -0
  256. /package/{esm2020 → esm2022}/behavior/bravura-ui-behavior.mjs +0 -0
  257. /package/{esm2020 → esm2022}/bravura-ui.mjs +0 -0
  258. /package/{esm2020 → esm2022}/clip-note/bravura-ui-clip-note.mjs +0 -0
  259. /package/{esm2020 → esm2022}/common/bravura-ui-common.mjs +0 -0
  260. /package/{esm2020 → esm2022}/currency-input/bravura-ui-currency-input.mjs +0 -0
  261. /package/{esm2020 → esm2022}/decimal-input/bravura-ui-decimal-input.mjs +0 -0
  262. /package/{esm2020 → esm2022}/decimal-input/public-api.mjs +0 -0
  263. /package/{esm2020 → esm2022}/discrete-input/bravura-ui-discrete-input.mjs +0 -0
  264. /package/{esm2020 → esm2022}/file-upload/bravura-ui-file-upload.mjs +0 -0
  265. /package/{esm2020 → esm2022}/form-field/bravura-ui-form-field.mjs +0 -0
  266. /package/{esm2020 → esm2022}/icon-font/bravura-ui-icon-font.mjs +0 -0
  267. /package/{esm2020 → esm2022}/panel/bravura-ui-panel.mjs +0 -0
  268. /package/{esm2020 → esm2022}/phone-number/bravura-ui-phone-number.mjs +0 -0
  269. /package/{esm2020 → esm2022}/radio-panel/bravura-ui-radio-panel.mjs +0 -0
  270. /package/{esm2020 → esm2022}/radio-panel/public-api.mjs +0 -0
  271. /package/{esm2020 → esm2022}/radio-panel/testing/bravura-ui-radio-panel-testing.mjs +0 -0
  272. /package/{esm2020 → esm2022}/selection-panel/bravura-ui-selection-panel.mjs +0 -0
  273. /package/{esm2020 → esm2022}/skeletons/bravura-ui-skeletons.mjs +0 -0
  274. /package/{esm2020 → esm2022}/stepper/bravura-ui-stepper.mjs +0 -0
  275. /package/{esm2020 → esm2022}/tooltip/bravura-ui-tooltip.mjs +0 -0
  276. /package/{fesm2015 → fesm2022}/bravura-ui.mjs +0 -0
package/LICENSE CHANGED
@@ -1,7 +1,7 @@
1
- ISC License
2
-
3
- Copyright 2021 Bravura Solutions
4
-
5
- Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
6
-
1
+ ISC License
2
+
3
+ Copyright 2021 Bravura Solutions
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
6
+
7
7
  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
package/README.md CHANGED
@@ -2,12 +2,14 @@
2
2
 
3
3
  This package contains a set of UI components built on top of [Angular Material library and Component Development Kit](https://material.angular.io/). It supplements Angular Material in implementing Bravura UX Design System, which is an extension of the latest [Material Design Specification](https://material.io/design).
4
4
 
5
- [Storybook on Chromatic](https://master--611486a592e16a003b62f4ad.chromatic.com)
5
+ [Storybook on Chromatic](https://master--66d58f6d169fef41a850c874.chromatic.com)
6
6
 
7
7
  ## Angular version compatibility
8
8
 
9
9
  | BUI versions | Compatible Angular versions |
10
10
  | ------------ | --------------------------- |
11
+ | ^5.0.0 | 18 |
12
+ | ^4.0.0 | 17 |
11
13
  | ^3.0.0 | 15, 16 |
12
14
  | ^2.0.0 | 14 |
13
15
  | ^1.15.x | 12, 13 |
@@ -66,6 +66,6 @@ export declare class AlertContainerComponent implements OnInit, OnDestroy {
66
66
  clear(): Promise<void>;
67
67
  private _endFloating;
68
68
  static ɵfac: i0.ɵɵFactoryDeclaration<AlertContainerComponent, never>;
69
- static ɵcmp: i0.ɵɵComponentDeclaration<AlertContainerComponent, "bui-alert-container", never, { "max": "max"; "outsideViewportBehavior": "outsideViewportBehavior"; "floatDuration": "floatDuration"; }, { "init": "init"; }, never, never, false, never>;
69
+ static ɵcmp: i0.ɵɵComponentDeclaration<AlertContainerComponent, "bui-alert-container", never, { "max": { "alias": "max"; "required": false; }; "outsideViewportBehavior": { "alias": "outsideViewportBehavior"; "required": false; }; "floatDuration": { "alias": "floatDuration"; "required": false; }; }, { "init": "init"; }, never, never, false, never>;
70
70
  }
71
71
  export {};
@@ -43,5 +43,5 @@ export declare class AlertMessageComponent implements OnInit {
43
43
  /** @ignore */
44
44
  _dismiss(): void;
45
45
  static ɵfac: i0.ɵɵFactoryDeclaration<AlertMessageComponent, never>;
46
- static ɵcmp: i0.ɵɵComponentDeclaration<AlertMessageComponent, "bui-alert", never, { "type": "type"; "message": "message"; "politeness": "politeness"; "dismissible": "dismissible"; "_id": "id"; }, { "dismissed": "dismissed"; "initialised": "initialised"; }, never, ["*"], false, never>;
46
+ static ɵcmp: i0.ɵɵComponentDeclaration<AlertMessageComponent, "bui-alert", never, { "type": { "alias": "type"; "required": false; }; "message": { "alias": "message"; "required": false; }; "politeness": { "alias": "politeness"; "required": false; }; "dismissible": { "alias": "dismissible"; "required": false; }; "_id": { "alias": "id"; "required": false; }; }, { "dismissed": "dismissed"; "initialised": "initialised"; }, never, ["*"], false, never>;
47
47
  }
@@ -67,5 +67,5 @@ export declare class AwaitDirective implements AfterViewInit, DoCheck {
67
67
  private get _isDeterminate();
68
68
  private _statusChanged;
69
69
  static ɵfac: i0.ɵɵFactoryDeclaration<AwaitDirective, [null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, null, null]>;
70
- static ɵdir: i0.ɵɵDirectiveDeclaration<AwaitDirective, "[buiAwait]", never, { "buiAwait": "buiAwait"; "buiAwaitAriaLabel": "buiAwaitAriaLabel"; "buiAwaitDiameter": "buiAwaitDiameter"; }, {}, never, never, false, never>;
70
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AwaitDirective, "[buiAwait]", never, { "buiAwait": { "alias": "buiAwait"; "required": false; }; "buiAwaitAriaLabel": { "alias": "buiAwaitAriaLabel"; "required": false; }; "buiAwaitDiameter": { "alias": "buiAwaitDiameter"; "required": false; }; }, {}, never, never, false, never>;
71
71
  }
@@ -25,5 +25,5 @@ export declare class ObserveContentClassDirective implements OnDestroy, OnInit {
25
25
  private checkClassWith;
26
26
  private addClass;
27
27
  static ɵfac: i0.ɵɵFactoryDeclaration<ObserveContentClassDirective, never>;
28
- static ɵdir: i0.ɵɵDirectiveDeclaration<ObserveContentClassDirective, "[bui-class.empty],[bui-class.not-empty],[bui-class.no-text],[bui-class.has-text]", never, { "classEmpty": "bui-class.empty"; "classNotEmpty": "bui-class.not-empty"; "classNoText": "bui-class.no-text"; "classHasText": "bui-class.has-text"; }, {}, never, never, false, never>;
28
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ObserveContentClassDirective, "[bui-class.empty],[bui-class.not-empty],[bui-class.no-text],[bui-class.has-text]", never, { "classEmpty": { "alias": "bui-class.empty"; "required": false; }; "classNotEmpty": { "alias": "bui-class.not-empty"; "required": false; }; "classNoText": { "alias": "bui-class.no-text"; "required": false; }; "classHasText": { "alias": "bui-class.has-text"; "required": false; }; }, {}, never, never, false, never>;
29
29
  }
@@ -94,5 +94,5 @@ export declare class SizingDirective implements OnChanges, OnDestroy {
94
94
  private _reflowHeight;
95
95
  private _toNumber;
96
96
  static ɵfac: i0.ɵɵFactoryDeclaration<SizingDirective, [null, { optional: true; }, null, null]>;
97
- static ɵdir: i0.ɵɵDirectiveDeclaration<SizingDirective, "[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]", never, { "buiSizing": "buiSizing"; "sizingBy": "sizingBy"; "buiSizingBy": "buiSizingBy"; "buiFixedHeight": "buiFixedHeight"; }, { "buiResized": "buiResized"; }, never, never, false, never>;
97
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SizingDirective, "[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]", never, { "buiSizing": { "alias": "buiSizing"; "required": false; }; "sizingBy": { "alias": "sizingBy"; "required": false; }; "buiSizingBy": { "alias": "buiSizingBy"; "required": false; }; "buiFixedHeight": { "alias": "buiFixedHeight"; "required": false; }; }, { "buiResized": "buiResized"; }, never, never, false, never>;
98
98
  }
@@ -65,5 +65,5 @@ export declare class ClipNoteDirective implements AfterViewInit {
65
65
  close(): void;
66
66
  private _processContent;
67
67
  static ɵfac: i0.ɵɵFactoryDeclaration<ClipNoteDirective, [{ host: true; }, null, null]>;
68
- static ɵdir: i0.ɵɵDirectiveDeclaration<ClipNoteDirective, "[buiClipNote]", ["buiClipNote"], { "buiClipNote": "buiClipNote"; "buiClipNoteColor": "buiClipNoteColor"; "buiClipNoteIcon": "buiClipNoteIcon"; "buiClipNoteCaption": "buiClipNoteCaption"; }, { "buiClipNoteOpened": "buiClipNoteOpened"; "buiClipNoteClosed": "buiClipNoteClosed"; }, never, never, false, never>;
68
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClipNoteDirective, "[buiClipNote]", ["buiClipNote"], { "buiClipNote": { "alias": "buiClipNote"; "required": false; }; "buiClipNoteColor": { "alias": "buiClipNoteColor"; "required": false; }; "buiClipNoteIcon": { "alias": "buiClipNoteIcon"; "required": false; }; "buiClipNoteCaption": { "alias": "buiClipNoteCaption"; "required": false; }; }, { "buiClipNoteOpened": "buiClipNoteOpened"; "buiClipNoteClosed": "buiClipNoteClosed"; }, never, never, false, never>;
69
69
  }
@@ -58,5 +58,5 @@ export declare class CurrencyInputDirective implements OnInit, OnChanges, Contro
58
58
  private _convert;
59
59
  private get _0Text();
60
60
  static ɵfac: i0.ɵɵFactoryDeclaration<CurrencyInputDirective, [{ self: true; }, null, null, null, { optional: true; }]>;
61
- static ɵdir: i0.ɵɵDirectiveDeclaration<CurrencyInputDirective, "input[buiCurrencyInput],input[currencyCode],input[data-type=currency]", never, { "allowNegative": "allowNegative"; "currencyCode": "currencyCode"; "baseUnitOnly": "baseUnitOnly"; "format": "format"; }, {}, never, never, false, never>;
61
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CurrencyInputDirective, "input[buiCurrencyInput],input[currencyCode],input[data-type=currency]", never, { "allowNegative": { "alias": "allowNegative"; "required": false; }; "currencyCode": { "alias": "currencyCode"; "required": false; }; "baseUnitOnly": { "alias": "baseUnitOnly"; "required": false; }; "format": { "alias": "format"; "required": false; }; }, {}, never, never, false, never>;
62
62
  }
@@ -28,5 +28,5 @@ export declare class DecimalInputDirective implements OnChanges, ControlValueAcc
28
28
  registerOnTouched(fn: any): void;
29
29
  private _resetDecimalPlaces;
30
30
  static ɵfac: i0.ɵɵFactoryDeclaration<DecimalInputDirective, [{ self: true; }, null]>;
31
- static ɵdir: i0.ɵɵDirectiveDeclaration<DecimalInputDirective, "input[buiDecimalInput]", never, { "buiDecimalInput": "buiDecimalInput"; }, {}, never, never, false, never>;
31
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DecimalInputDirective, "input[buiDecimalInput]", never, { "buiDecimalInput": { "alias": "buiDecimalInput"; "required": false; }; }, {}, never, never, false, never>;
32
32
  }
@@ -136,6 +136,6 @@ export declare class DiscreteInputComponent extends _DiscreteInputBase implement
136
136
  ngDoCheck(): void;
137
137
  private _replaceText;
138
138
  static ɵfac: i0.ɵɵFactoryDeclaration<DiscreteInputComponent, [null, null, { optional: true; }, { optional: true; self: true; }, { optional: true; }, { optional: true; }, null]>;
139
- static ɵcmp: i0.ɵɵComponentDeclaration<DiscreteInputComponent, "bui-discrete-input", never, { "type": "type"; "separator": "separator"; "accept": "accept"; "userAriaDescribedBy": "aria-describedby"; "autocomplete": "autocomplete"; "sizeSpec": "sizeSpec"; "placeholder": "placeholder"; "required": "required"; "disabled": "disabled"; "value": "value"; }, {}, never, never, false, never>;
139
+ static ɵcmp: i0.ɵɵComponentDeclaration<DiscreteInputComponent, "bui-discrete-input", never, { "type": { "alias": "type"; "required": false; }; "separator": { "alias": "separator"; "required": false; }; "accept": { "alias": "accept"; "required": false; }; "userAriaDescribedBy": { "alias": "aria-describedby"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "sizeSpec": { "alias": "sizeSpec"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, never, false, never>;
140
140
  }
141
141
  export {};
@@ -0,0 +1,207 @@
1
+ import { animate, state, style, transition, trigger } from '@angular/animations';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
3
+ import { generateID, isElementInViewport } from '@bravura/ui/common';
4
+ import { Subject, timer } from 'rxjs';
5
+ import { delay, take, takeUntil, tap } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/cdk/scrolling";
8
+ import * as i2 from "@angular/common";
9
+ import * as i3 from "./alert-message.component";
10
+ /**@internal */
11
+ class InternalAlertOject {
12
+ constructor(type, message) {
13
+ this.type = type;
14
+ this.message = message;
15
+ this.deleted = false;
16
+ this.id = `bui-alert-cont-alert-${generateID()}`;
17
+ }
18
+ }
19
+ /**
20
+ * Use this component in a designated area of a page for displaying notification messages
21
+ *
22
+ */
23
+ export class AlertContainerComponent {
24
+ constructor(zone, cdRef, _elementRef, scroll) {
25
+ this.zone = zone;
26
+ this.cdRef = cdRef;
27
+ this._elementRef = _elementRef;
28
+ this.scroll = scroll;
29
+ /** The maximum number of messages displayed in the container area. */
30
+ this.max = 5;
31
+ /**
32
+ * This property determines the behavior for displaying the notifications when the container is outside the viewport.
33
+ *
34
+ * `scroll`: The component will try to scroll to reveal the new notifications.
35
+ * `float`: The component will float the alert panel to the center of the screen for a couple of seconds and move it back to the original position.
36
+ */
37
+ this.outsideViewportBehavior = 'float';
38
+ /**
39
+ * The number of milliseconds for which the alert container will be floated when new notification arrives.
40
+ *
41
+ * This will only take effect when `outsideViewportBehavior` is set to `float` and the container is outside the viewport.
42
+ */
43
+ this.floatDuration = 2000;
44
+ /**@internal */
45
+ this._alerts = [];
46
+ /**@internal */
47
+ this._floated = false;
48
+ /**@internal */
49
+ this._floatPanelHidden = true;
50
+ /** @ignore Emits whenever the animation is started. */
51
+ this._animationStarted = new Subject();
52
+ /** @ignore Emits whenever the animation is done. */
53
+ this._animationEnded = new Subject();
54
+ this._destroyed$ = new Subject();
55
+ /** Emits the component instance after initialisation. */
56
+ this.init = new EventEmitter();
57
+ }
58
+ ngOnInit() {
59
+ const checkScroll = () => {
60
+ if (isElementInViewport(this._elementRef.nativeElement)) {
61
+ this._endFloating();
62
+ }
63
+ };
64
+ this.scroll
65
+ .ancestorScrolled(this._elementRef.nativeElement)
66
+ .pipe(takeUntil(this._destroyed$))
67
+ .subscribe(checkScroll);
68
+ checkScroll();
69
+ this.init.emit(this);
70
+ this.init.complete();
71
+ }
72
+ ngOnDestroy() {
73
+ this._destroyed$.next();
74
+ this._destroyed$.complete();
75
+ this._endFloatingSub?.unsubscribe();
76
+ }
77
+ /**@internal */
78
+ get _remaining() {
79
+ return this._alerts.filter(a => !a.deleted);
80
+ }
81
+ /**@internal */
82
+ get _width() {
83
+ return this._elementRef.nativeElement.clientWidth;
84
+ }
85
+ /** Add a message to the notification area */
86
+ async notify(type, message) {
87
+ this._endFloatingSub?.unsubscribe();
88
+ const duplicate = this._remaining.find(_a => message === _a.message);
89
+ if (duplicate) {
90
+ this._dismiss(duplicate);
91
+ }
92
+ const remaining = this._remaining;
93
+ if (remaining.length >= this.max) {
94
+ this._dismiss(remaining[0]);
95
+ }
96
+ const a = new InternalAlertOject(type, message);
97
+ await this._checkViewport();
98
+ this.zone.run(() => {
99
+ this._alerts.push(a);
100
+ this.cdRef.markForCheck();
101
+ });
102
+ }
103
+ /**@ignore */
104
+ async _checkViewport() {
105
+ if (!isElementInViewport(this._elementRef.nativeElement)) {
106
+ if (this.outsideViewportBehavior === 'float') {
107
+ const d = this._floated ? 0 : 100;
108
+ this._floated = true;
109
+ this._floatPanelHidden = false;
110
+ this._endFloating(this.floatDuration);
111
+ this.cdRef.markForCheck();
112
+ await timer(d).toPromise();
113
+ }
114
+ else {
115
+ this._elementRef.nativeElement.scrollIntoView({ block: 'start', behavior: 'smooth' });
116
+ }
117
+ }
118
+ }
119
+ /**@ignore */
120
+ async _dismiss(a) {
121
+ const id = a.id;
122
+ a.deleted = true;
123
+ this.cdRef.markForCheck();
124
+ await this._animationEnded.pipe(take(1)).toPromise();
125
+ this.zone.run(() => {
126
+ this._alerts = this._alerts.filter(_a => _a.id !== id);
127
+ this.cdRef.markForCheck();
128
+ });
129
+ }
130
+ /** Remove all messages currently displayed. */
131
+ async clear() {
132
+ await Promise.all(this._remaining.map(a => this._dismiss(a)));
133
+ this._endFloating();
134
+ }
135
+ _endFloating(_delay = 0) {
136
+ if (!this._floated) {
137
+ return;
138
+ }
139
+ this._endFloatingSub?.unsubscribe();
140
+ this._endFloatingSub = timer(_delay)
141
+ .pipe(tap(() => {
142
+ this._floated = false;
143
+ this.zone.run(() => this.cdRef.markForCheck());
144
+ }), delay(400))
145
+ .subscribe(() => {
146
+ this._floatPanelHidden = true;
147
+ this.zone.run(() => this.cdRef.markForCheck());
148
+ });
149
+ }
150
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: AlertContainerComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.ScrollDispatcher }], target: i0.ɵɵFactoryTarget.Component }); }
151
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: AlertContainerComponent, selector: "bui-alert-container", inputs: { max: "max", outsideViewportBehavior: "outsideViewportBehavior", floatDuration: "floatDuration" }, outputs: { init: "init" }, host: { properties: { "class": "'bui-alert-container bui-host bui-alert-container-' + (_remaining.length ? 'not-empty': 'empty')" } }, ngImport: i0, template: "<div\r\n\tclass=\"bui-alert-fixed-panel\"\r\n\t[style.opacity]=\"_floatPanelHidden ? 1 : 0\"\r\n\t[class.bui-alert-fixed-panel-blink]=\"outsideViewportBehavior === 'scroll'\"\r\n>\r\n\t<bui-alert\r\n\t\t*ngFor=\"let a of _alerts\"\r\n\t\t[id]=\"a.id\"\r\n\t\t[type]=\"a.type\"\r\n\t\t[message]=\"a.message\"\r\n\t\tdismissible\r\n\t\t[@alertTransition]=\"a.deleted ? 'hidden' : 'visible'\"\r\n\t\t(@alertTransition.start)=\"_animationStarted.next($event)\"\r\n\t\t(@alertTransition.done)=\"_animationEnded.next($event)\"\r\n\t\t(dismissed)=\"_dismiss(a)\"\r\n\t></bui-alert>\r\n</div>\r\n\r\n<div class=\"bui-alert-float-panel-frame\" [hidden]=\"_floatPanelHidden\" [class.bui-alert-float-panel-shaded]=\"_floated\">\r\n\t<div class=\"bui-alert-float-panel\" [style.max-width]=\"_width + 'px'\" [@floatTransition]=\"'visible'\" *ngIf=\"_floated\">\r\n\t\t<bui-alert\r\n\t\t\t*ngFor=\"let a of _alerts\"\r\n\t\t\t[id]=\"a.id\"\r\n\t\t\t[type]=\"a.type\"\r\n\t\t\t[message]=\"a.message\"\r\n\t\t\t[@alertTransition]=\"a.deleted ? 'hidden' : 'visible'\"\r\n\t\t></bui-alert>\r\n\t</div>\r\n</div>\r\n", styles: [".bui-alert:not(:first-of-type){margin-top:.5rem}:host(:not([hidden])){display:block}.bui-alert-fixed-panel{transition:opacity .2s ease-in}.bui-alert-fixed-panel.bui-alert-fixed-panel-blink .bui-alert:last-of-type{animation:blink 1s ease-in forwards}.bui-alert-float-panel-frame{position:fixed;z-index:1000;inset:0;justify-content:center;align-items:center;flex-direction:column;transition:background-color .4s cubic-bezier(.25,0,.55,.2)}.bui-alert-float-panel-frame:not([hidden]){display:flex}.bui-alert-float-panel-frame.bui-alert-float-panel-shaded{background-color:#00000080}.bui-alert-float-panel-frame .bui-alert{background-color:var(--bui-bg-card)}@keyframes blink{60%{opacity:1}70%{opacity:0}80%{opacity:1}90%{opacity:0}}\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.AlertMessageComponent, selector: "bui-alert", inputs: ["type", "message", "politeness", "dismissible", "id"], outputs: ["dismissed", "initialised"] }], animations: [
152
+ trigger('floatTransition', [
153
+ transition(':enter', [style({ opacity: '0', transform: 'translateY(-10vh)' }), animate('.3s ease-in')]),
154
+ transition(':leave', [animate('.4s ease-out', style({ transform: 'translateY(-10vh)', opacity: '0' }))])
155
+ ]),
156
+ trigger('alertTransition', [
157
+ state('visible', style({})),
158
+ state('hidden', style({
159
+ height: 0,
160
+ overflow: 'hidden',
161
+ transform: 'scaleY(0)',
162
+ opacity: 0,
163
+ 'margin-top': '-1rem'
164
+ })),
165
+ transition('void => visible', [
166
+ style({ transform: 'translateY(100%)', height: 0, opacity: '0', overflow: 'hidden' }),
167
+ animate('250ms cubic-bezier(0.42, 0.0, 0.58, 1.0)')
168
+ ]),
169
+ transition('visible => hidden', [animate('250ms cubic-bezier(0.25, 0, 0.3, 1.0)')])
170
+ ])
171
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
172
+ }
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: AlertContainerComponent, decorators: [{
174
+ type: Component,
175
+ args: [{ selector: 'bui-alert-container', host: {
176
+ '[class]': `'bui-alert-container bui-host bui-alert-container-' + (_remaining.length ? 'not-empty': 'empty')`
177
+ }, changeDetection: ChangeDetectionStrategy.OnPush, animations: [
178
+ trigger('floatTransition', [
179
+ transition(':enter', [style({ opacity: '0', transform: 'translateY(-10vh)' }), animate('.3s ease-in')]),
180
+ transition(':leave', [animate('.4s ease-out', style({ transform: 'translateY(-10vh)', opacity: '0' }))])
181
+ ]),
182
+ trigger('alertTransition', [
183
+ state('visible', style({})),
184
+ state('hidden', style({
185
+ height: 0,
186
+ overflow: 'hidden',
187
+ transform: 'scaleY(0)',
188
+ opacity: 0,
189
+ 'margin-top': '-1rem'
190
+ })),
191
+ transition('void => visible', [
192
+ style({ transform: 'translateY(100%)', height: 0, opacity: '0', overflow: 'hidden' }),
193
+ animate('250ms cubic-bezier(0.42, 0.0, 0.58, 1.0)')
194
+ ]),
195
+ transition('visible => hidden', [animate('250ms cubic-bezier(0.25, 0, 0.3, 1.0)')])
196
+ ])
197
+ ], template: "<div\r\n\tclass=\"bui-alert-fixed-panel\"\r\n\t[style.opacity]=\"_floatPanelHidden ? 1 : 0\"\r\n\t[class.bui-alert-fixed-panel-blink]=\"outsideViewportBehavior === 'scroll'\"\r\n>\r\n\t<bui-alert\r\n\t\t*ngFor=\"let a of _alerts\"\r\n\t\t[id]=\"a.id\"\r\n\t\t[type]=\"a.type\"\r\n\t\t[message]=\"a.message\"\r\n\t\tdismissible\r\n\t\t[@alertTransition]=\"a.deleted ? 'hidden' : 'visible'\"\r\n\t\t(@alertTransition.start)=\"_animationStarted.next($event)\"\r\n\t\t(@alertTransition.done)=\"_animationEnded.next($event)\"\r\n\t\t(dismissed)=\"_dismiss(a)\"\r\n\t></bui-alert>\r\n</div>\r\n\r\n<div class=\"bui-alert-float-panel-frame\" [hidden]=\"_floatPanelHidden\" [class.bui-alert-float-panel-shaded]=\"_floated\">\r\n\t<div class=\"bui-alert-float-panel\" [style.max-width]=\"_width + 'px'\" [@floatTransition]=\"'visible'\" *ngIf=\"_floated\">\r\n\t\t<bui-alert\r\n\t\t\t*ngFor=\"let a of _alerts\"\r\n\t\t\t[id]=\"a.id\"\r\n\t\t\t[type]=\"a.type\"\r\n\t\t\t[message]=\"a.message\"\r\n\t\t\t[@alertTransition]=\"a.deleted ? 'hidden' : 'visible'\"\r\n\t\t></bui-alert>\r\n\t</div>\r\n</div>\r\n", styles: [".bui-alert:not(:first-of-type){margin-top:.5rem}:host(:not([hidden])){display:block}.bui-alert-fixed-panel{transition:opacity .2s ease-in}.bui-alert-fixed-panel.bui-alert-fixed-panel-blink .bui-alert:last-of-type{animation:blink 1s ease-in forwards}.bui-alert-float-panel-frame{position:fixed;z-index:1000;inset:0;justify-content:center;align-items:center;flex-direction:column;transition:background-color .4s cubic-bezier(.25,0,.55,.2)}.bui-alert-float-panel-frame:not([hidden]){display:flex}.bui-alert-float-panel-frame.bui-alert-float-panel-shaded{background-color:#00000080}.bui-alert-float-panel-frame .bui-alert{background-color:var(--bui-bg-card)}@keyframes blink{60%{opacity:1}70%{opacity:0}80%{opacity:1}90%{opacity:0}}\n"] }]
198
+ }], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.ScrollDispatcher }], propDecorators: { max: [{
199
+ type: Input
200
+ }], outsideViewportBehavior: [{
201
+ type: Input
202
+ }], floatDuration: [{
203
+ type: Input
204
+ }], init: [{
205
+ type: Output
206
+ }] } });
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2FsZXJ0L2FsZXJ0LWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9hbGVydC9hbGVydC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQWtCLE1BQU0scUJBQXFCLENBQUM7QUFFakcsT0FBTyxFQUNOLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxPQUFPLEVBQWdCLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBRTdELGVBQWU7QUFDZixNQUFNLGtCQUFrQjtJQUd2QixZQUE0QixJQUEyQyxFQUFrQixPQUFlO1FBQTVFLFNBQUksR0FBSixJQUFJLENBQXVDO1FBQWtCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFEeEcsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVmLElBQUksQ0FBQyxFQUFFLEdBQUcsd0JBQXdCLFVBQVUsRUFBRSxFQUFFLENBQUM7SUFDbEQsQ0FBQztDQUNEO0FBRUQ7OztHQUdHO0FBa0NILE1BQU0sT0FBTyx1QkFBdUI7SUF5Q25DLFlBQ1MsSUFBWSxFQUNaLEtBQXdCLEVBQ3hCLFdBQW9DLEVBQ3BDLE1BQXdCO1FBSHhCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixV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QUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUM7Z0NBQ3JGLE9BQU8sQ0FBQywwQ0FBMEMsQ0FBQzs2QkFDbkQsQ0FBQzs0QkFDRixVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxPQUFPLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxDQUFDO3lCQUNuRixDQUFDO3FCQUNGO21LQUtELEdBQUc7c0JBREYsS0FBSztnQkFVTix1QkFBdUI7c0JBRHRCLEtBQUs7Z0JBU04sYUFBYTtzQkFEWixLQUFLO2dCQW9CRSxJQUFJO3NCQURYLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIsIEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IFNjcm9sbERpc3BhdGNoZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuaW1wb3J0IHtcclxuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuXHRDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRDb21wb25lbnQsXHJcblx0RWxlbWVudFJlZixcclxuXHRFdmVudEVtaXR0ZXIsXHJcblx0SW5wdXQsXHJcblx0Tmdab25lLFxyXG5cdE9uRGVzdHJveSxcclxuXHRPbkluaXQsXHJcblx0T3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGdlbmVyYXRlSUQsIGlzRWxlbWVudEluVmlld3BvcnQgfSBmcm9tICdAYnJhdnVyYS91aS9jb21tb24nO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIHRpbWVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlbGF5LCB0YWtlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbi8qKkBpbnRlcm5hbCAqL1xyXG5jbGFzcyBJbnRlcm5hbEFsZXJ0T2plY3Qge1xyXG5cdGlkOiBzdHJpbmc7XHJcblx0ZGVsZXRlZCA9IGZhbHNlO1xyXG5cdGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSB0eXBlOiAnc3VjY2VzcycgfCAnaW5mbycgfCAnd2FybicgfCAnZXJyb3InLCBwdWJsaWMgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nKSB7XHJcblx0XHR0aGlzLmlkID0gYGJ1aS1hbGVydC1jb250LWFsZXJ0LSR7Z2VuZXJhdGVJRCgpfWA7XHJcblx0fVxyXG59XHJcblxyXG4vKipcclxuICogVXNlIHRoaXMgY29tcG9uZW50IGluIGEgZGVzaWduYXRlZCBhcmVhIG9mIGEgcGFnZSBmb3IgZGlzcGxheWluZyBub3RpZmljYXRpb24gbWVzc2FnZXNcclxuICpcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYnVpLWFsZXJ0LWNvbnRhaW5lcicsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2FsZXJ0LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vYWxlcnQtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXHJcblx0aG9zdDoge1xyXG5cdFx0J1tjbGFzc10nOiBgJ2J1aS1hbGVydC1jb250YWluZXIgYnVpLWhvc3QgYnVpLWFsZXJ0LWNvbnRhaW5lci0nICsgKF9yZW1haW5pbmcubGVuZ3RoID8gJ25vdC1lbXB0eSc6ICdlbXB0eScpYFxyXG5cdH0sXHJcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcblx0YW5pbWF0aW9uczogW1xyXG5cdFx0dHJpZ2dlcignZmxvYXRUcmFuc2l0aW9uJywgW1xyXG5cdFx0XHR0cmFuc2l0aW9uKCc6ZW50ZXInLCBbc3R5bGUoeyBvcGFjaXR5OiAnMCcsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwdmgpJyB9KSwgYW5pbWF0ZSgnLjNzIGVhc2UtaW4nKV0pLFxyXG5cdFx0XHR0cmFuc2l0aW9uKCc6bGVhdmUnLCBbYW5pbWF0ZSgnLjRzIGVhc2Utb3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0xMHZoKScsIG9wYWNpdHk6ICcwJyB9KSldKVxyXG5cdFx0XSksXHJcblx0XHR0cmlnZ2VyKCdhbGVydFRyYW5zaXRpb24nLCBbXHJcblx0XHRcdHN0YXRlKCd2aXNpYmxlJywgc3R5bGUoe30pKSxcclxuXHRcdFx0c3RhdGUoXHJcblx0XHRcdFx0J2hpZGRlbicsXHJcblx0XHRcdFx0c3R5bGUoe1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAwLFxyXG5cdFx0XHRcdFx0b3ZlcmZsb3c6ICdoaWRkZW4nLFxyXG5cdFx0XHRcdFx0dHJhbnNmb3JtOiAnc2NhbGVZKDApJyxcclxuXHRcdFx0XHRcdG9wYWNpdHk6IDAsXHJcblx0XHRcdFx0XHQnbWFyZ2luLXRvcCc6ICctMXJlbSdcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHQpLFxyXG5cdFx0XHR0cmFuc2l0aW9uKCd2b2lkID0+IHZpc2libGUnLCBbXHJcblx0XHRcdFx0c3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDEwMCUpJywgaGVpZ2h0OiAwLCBvcGFjaXR5OiAnMCcsIG92ZXJmbG93OiAnaGlkZGVuJyB9KSxcclxuXHRcdFx0XHRhbmltYXRlKCcyNTBtcyBjdWJpYy1iZXppZXIoMC40MiwgMC4wLCAwLjU4LCAxLjApJylcclxuXHRcdFx0XSksXHJcblx0XHRcdHRyYW5zaXRpb24oJ3Zpc2libGUgPT4gaGlkZGVuJywgW2FuaW1hdGUoJzI1MG1zIGN1YmljLWJlemllcigwLjI1LCAwLCAwLjMsIDEuMCknKV0pXHJcblx0XHRdKVxyXG5cdF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFsZXJ0Q29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cdC8qKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgbWVzc2FnZXMgZGlzcGxheWVkIGluIHRoZSBjb250YWluZXIgYXJlYS4gKi9cclxuXHRASW5wdXQoKVxyXG5cdG1heCA9IDU7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoaXMgcHJvcGVydHkgZGV0ZXJtaW5lcyB0aGUgYmVoYXZpb3IgZm9yIGRpc3BsYXlpbmcgdGhlIG5vdGlmaWNhdGlvbnMgd2hlbiB0aGUgY29udGFpbmVyIGlzIG91dHNpZGUgdGhlIHZpZXdwb3J0LlxyXG5cdCAqXHJcblx0ICogYHNjcm9sbGA6IFRoZSBjb21wb25lbnQgd2lsbCB0cnkgdG8gc2Nyb2xsIHRvIHJldmVhbCB0aGUgbmV3IG5vdGlmaWNhdGlvbnMuXHJcblx0ICogYGZsb2F0YDogVGhlIGNvbXBvbmVudCB3aWxsIGZsb2F0IHRoZSBhbGVydCBwYW5lbCB0byB0aGUgY2VudGVyIG9mIHRoZSBzY3JlZW4gZm9yIGEgY291cGxlIG9mIHNlY29uZHMgYW5kIG1vdmUgaXQgYmFjayB0byB0aGUgb3JpZ2luYWwgcG9zaXRpb24uXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRvdXRzaWRlVmlld3BvcnRCZWhhdmlvcjogJ3Njcm9sbCcgfCAnZmxvYXQnID0gJ2Zsb2F0JztcclxuXHJcblx0LyoqXHJcblx0ICogVGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgZm9yIHdoaWNoIHRoZSBhbGVydCBjb250YWluZXIgd2lsbCBiZSBmbG9hdGVkIHdoZW4gbmV3IG5vdGlmaWNhdGlvbiBhcnJpdmVzLlxyXG5cdCAqXHJcblx0ICogVGhpcyB3aWxsIG9ubHkgdGFrZSBlZmZlY3Qgd2hlbiBgb3V0c2lkZVZpZXdwb3J0QmVoYXZpb3JgIGlzIHNldCB0byBgZmxvYXRgIGFuZCB0aGUgY29udGFpbmVyIGlzIG91dHNpZGUgdGhlIHZpZXdwb3J0LlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0ZmxvYXREdXJhdGlvbiA9IDIwMDA7XHJcblxyXG5cdC8qKkBpbnRlcm5hbCAqL1xyXG5cdF9hbGVydHM6IEludGVybmFsQWxlcnRPamVjdFtdID0gW107XHJcblx0LyoqQGludGVybmFsICovXHJcblx0X2Zsb2F0ZWQgPSBmYWxzZTtcclxuXHQvKipAaW50ZXJuYWwgKi9cclxuXHRfZmxvYXRQYW5lbEhpZGRlbiA9IHRydWU7XHJcblxyXG5cdC8qKiBAaWdub3JlIEVtaXRzIHdoZW5ldmVyIHRoZSBhbmltYXRpb24gaXMgc3RhcnRlZC4gKi9cclxuXHRyZWFkb25seSBfYW5pbWF0aW9uU3RhcnRlZCA9IG5ldyBTdWJqZWN0PEFuaW1hdGlvbkV2ZW50PigpO1xyXG5cdC8qKiBAaWdub3JlIEVtaXRzIHdoZW5ldmVyIHRoZSBhbmltYXRpb24gaXMgZG9uZS4gKi9cclxuXHRyZWFkb25seSBfYW5pbWF0aW9uRW5kZWQgPSBuZXcgU3ViamVjdDxBbmltYXRpb25FdmVudD4oKTtcclxuXHJcblx0cHJpdmF0ZSBfZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblx0cHJpdmF0ZSBfZW5kRmxvYXRpbmdTdWI/OiBTdWJzY3JpcHRpb247XHJcblxyXG5cdC8qKiBFbWl0cyB0aGUgY29tcG9uZW50IGluc3RhbmNlIGFmdGVyIGluaXRpYWxpc2F0aW9uLiAqL1xyXG5cdEBPdXRwdXQoKVxyXG5cdHByaXZhdGUgaW5pdCA9IG5ldyBFdmVudEVtaXR0ZXI8QWxlcnRDb250YWluZXJDb21wb25lbnQ+KCk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSB6b25lOiBOZ1pvbmUsXHJcblx0XHRwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRcdHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG5cdFx0cHJpdmF0ZSBzY3JvbGw6IFNjcm9sbERpc3BhdGNoZXJcclxuXHQpIHt9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0Y29uc3QgY2hlY2tTY3JvbGwgPSAoKSA9PiB7XHJcblx0XHRcdGlmIChpc0VsZW1lbnRJblZpZXdwb3J0KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkpIHtcclxuXHRcdFx0XHR0aGlzLl9lbmRGbG9hdGluZygpO1xyXG5cdFx0XHR9XHJcblx0XHR9O1xyXG5cdFx0dGhpcy5zY3JvbGxcclxuXHRcdFx0LmFuY2VzdG9yU2Nyb2xsZWQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KVxyXG5cdFx0XHQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkJCkpXHJcblx0XHRcdC5zdWJzY3JpYmUoY2hlY2tTY3JvbGwpO1xyXG5cdFx0Y2hlY2tTY3JvbGwoKTtcclxuXHRcdHRoaXMuaW5pdC5lbWl0KHRoaXMpO1xyXG5cdFx0dGhpcy5pbml0LmNvbXBsZXRlKCk7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuXHRcdHRoaXMuX2Rlc3Ryb3llZCQubmV4dCgpO1xyXG5cdFx0dGhpcy5fZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xyXG5cdFx0dGhpcy5fZW5kRmxvYXRpbmdTdWI/LnVuc3Vic2NyaWJlKCk7XHJcblx0fVxyXG5cclxuXHQvKipAaW50ZXJuYWwgKi9cclxuXHRnZXQgX3JlbWFpbmluZygpIHtcclxuXHRcdHJldHVybiB0aGlzLl9hbGVydHMuZmlsdGVyKGEgPT4gIWEuZGVsZXRlZCk7XHJcblx0fVxyXG5cclxuXHQvKipAaW50ZXJuYWwgKi9cclxuXHRnZXQgX3dpZHRoKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcclxuXHR9XHJcblxyXG5cdC8qKiBBZGQgYSBtZXNzYWdlIHRvIHRoZSBub3RpZmljYXRpb24gYXJlYSAqL1xyXG5cdGFzeW5jIG5vdGlmeSh0eXBlOiAnc3VjY2VzcycgfCAnaW5mbycgfCAnd2FybicgfCAnZXJyb3InLCBtZXNzYWdlOiBzdHJpbmcpIHtcclxuXHRcdHRoaXMuX2VuZEZsb2F0aW5nU3ViPy51bnN1YnNjcmliZSgpO1xyXG5cdFx0Y29uc3QgZHVwbGljYXRlID0gdGhpcy5fcmVtYWluaW5nLmZpbmQoX2EgPT4gbWVzc2FnZSA9PT0gX2EubWVzc2FnZSk7XHJcblx0XHRpZiAoZHVwbGljYXRlKSB7XHJcblx0XHRcdHRoaXMuX2Rpc21pc3MoZHVwbGljYXRlKTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCByZW1haW5pbmcgPSB0aGlzLl9yZW1haW5pbmc7XHJcblx0XHRpZiAocmVtYWluaW5nLmxlbmd0aCA+PSB0aGlzLm1heCkge1xyXG5cdFx0XHR0aGlzLl9kaXNtaXNzKHJlbWFpbmluZ1swXSk7XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgYSA9IG5ldyBJbnRlcm5hbEFsZXJ0T2plY3QodHlwZSwgbWVzc2FnZSk7XHJcblx0XHRhd2FpdCB0aGlzLl9jaGVja1ZpZXdwb3J0KCk7XHJcblx0XHR0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuXHRcdFx0dGhpcy5fYWxlcnRzLnB1c2goYSk7XHJcblx0XHRcdHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8qKkBpZ25vcmUgKi9cclxuXHRhc3luYyBfY2hlY2tWaWV3cG9ydCgpIHtcclxuXHRcdGlmICghaXNFbGVtZW50SW5WaWV3cG9ydCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpKSB7XHJcblx0XHRcdGlmICh0aGlzLm91dHNpZGVWaWV3cG9ydEJlaGF2aW9yID09PSAnZmxvYXQnKSB7XHJcblx0XHRcdFx0Y29uc3QgZCA9IHRoaXMuX2Zsb2F0ZWQgPyAwIDogMTAwO1xyXG5cdFx0XHRcdHRoaXMuX2Zsb2F0ZWQgPSB0cnVlO1xyXG5cdFx0XHRcdHRoaXMuX2Zsb2F0UGFuZWxIaWRkZW4gPSBmYWxzZTtcclxuXHRcdFx0XHR0aGlzLl9lbmRGbG9hdGluZyh0aGlzLmZsb2F0RHVyYXRpb24pO1xyXG5cdFx0XHRcdHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XHJcblx0XHRcdFx0YXdhaXQgdGltZXIoZCkudG9Qcm9taXNlKCk7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICdzdGFydCcsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqQGlnbm9yZSAqL1xyXG5cdGFzeW5jIF9kaXNtaXNzKGE6IEludGVybmFsQWxlcnRPamVjdCkge1xyXG5cdFx0Y29uc3QgaWQgPSBhLmlkO1xyXG5cdFx0YS5kZWxldGVkID0gdHJ1ZTtcclxuXHRcdHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XHJcblx0XHRhd2FpdCB0aGlzLl9hbmltYXRpb25FbmRlZC5waXBlKHRha2UoMSkpLnRvUHJvbWlzZSgpO1xyXG5cdFx0dGhpcy56b25lLnJ1bigoKSA9PiB7XHJcblx0XHRcdHRoaXMuX2FsZXJ0cyA9IHRoaXMuX2FsZXJ0cy5maWx0ZXIoX2EgPT4gX2EuaWQgIT09IGlkKTtcclxuXHRcdFx0dGhpcy5jZFJlZi5tYXJrRm9yQ2hlY2soKTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0LyoqIFJlbW92ZSBhbGwgbWVzc2FnZXMgY3VycmVudGx5IGRpc3BsYXllZC4gKi9cclxuXHRhc3luYyBjbGVhcigpIHtcclxuXHRcdGF3YWl0IFByb21pc2UuYWxsKHRoaXMuX3JlbWFpbmluZy5tYXAoYSA9PiB0aGlzLl9kaXNtaXNzKGEpKSk7XHJcblx0XHR0aGlzLl9lbmRGbG9hdGluZygpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfZW5kRmxvYXRpbmcoX2RlbGF5ID0gMCkge1xyXG5cdFx0aWYgKCF0aGlzLl9mbG9hdGVkKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRoaXMuX2VuZEZsb2F0aW5nU3ViPy51bnN1YnNjcmliZSgpO1xyXG5cdFx0dGhpcy5fZW5kRmxvYXRpbmdTdWIgPSB0aW1lcihfZGVsYXkpXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdHRhcCgoKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLl9mbG9hdGVkID0gZmFsc2U7XHJcblx0XHRcdFx0XHR0aGlzLnpvbmUucnVuKCgpID0+IHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCkpO1xyXG5cdFx0XHRcdH0pLFxyXG5cdFx0XHRcdGRlbGF5KDQwMClcclxuXHRcdFx0KVxyXG5cdFx0XHQuc3Vic2NyaWJlKCgpID0+IHtcclxuXHRcdFx0XHR0aGlzLl9mbG9hdFBhbmVsSGlkZGVuID0gdHJ1ZTtcclxuXHRcdFx0XHR0aGlzLnpvbmUucnVuKCgpID0+IHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCkpO1xyXG5cdFx0XHR9KTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdlxyXG5cdGNsYXNzPVwiYnVpLWFsZXJ0LWZpeGVkLXBhbmVsXCJcclxuXHRbc3R5bGUub3BhY2l0eV09XCJfZmxvYXRQYW5lbEhpZGRlbiA/IDEgOiAwXCJcclxuXHRbY2xhc3MuYnVpLWFsZXJ0LWZpeGVkLXBhbmVsLWJsaW5rXT1cIm91dHNpZGVWaWV3cG9ydEJlaGF2aW9yID09PSAnc2Nyb2xsJ1wiXHJcbj5cclxuXHQ8YnVpLWFsZXJ0XHJcblx0XHQqbmdGb3I9XCJsZXQgYSBvZiBfYWxlcnRzXCJcclxuXHRcdFtpZF09XCJhLmlkXCJcclxuXHRcdFt0eXBlXT1cImEudHlwZVwiXHJcblx0XHRbbWVzc2FnZV09XCJhLm1lc3NhZ2VcIlxyXG5cdFx0ZGlzbWlzc2libGVcclxuXHRcdFtAYWxlcnRUcmFuc2l0aW9uXT1cImEuZGVsZXRlZCA/ICdoaWRkZW4nIDogJ3Zpc2libGUnXCJcclxuXHRcdChAYWxlcnRUcmFuc2l0aW9uLnN0YXJ0KT1cIl9hbmltYXRpb25TdGFydGVkLm5leHQoJGV2ZW50KVwiXHJcblx0XHQoQGFsZXJ0VHJhbnNpdGlvbi5kb25lKT1cIl9hbmltYXRpb25FbmRlZC5uZXh0KCRldmVudClcIlxyXG5cdFx0KGRpc21pc3NlZCk9XCJfZGlzbWlzcyhhKVwiXHJcblx0PjwvYnVpLWFsZXJ0PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJidWktYWxlcnQtZmxvYXQtcGFuZWwtZnJhbWVcIiBbaGlkZGVuXT1cIl9mbG9hdFBhbmVsSGlkZGVuXCIgW2NsYXNzLmJ1aS1hbGVydC1mbG9hdC1wYW5lbC1zaGFkZWRdPVwiX2Zsb2F0ZWRcIj5cclxuXHQ8ZGl2IGNsYXNzPVwiYnVpLWFsZXJ0LWZsb2F0LXBhbmVsXCIgW3N0eWxlLm1heC13aWR0aF09XCJfd2lkdGggKyAncHgnXCIgW0BmbG9hdFRyYW5zaXRpb25dPVwiJ3Zpc2libGUnXCIgKm5nSWY9XCJfZmxvYXRlZFwiPlxyXG5cdFx0PGJ1aS1hbGVydFxyXG5cdFx0XHQqbmdGb3I9XCJsZXQgYSBvZiBfYWxlcnRzXCJcclxuXHRcdFx0W2lkXT1cImEuaWRcIlxyXG5cdFx0XHRbdHlwZV09XCJhLnR5cGVcIlxyXG5cdFx0XHRbbWVzc2FnZV09XCJhLm1lc3NhZ2VcIlxyXG5cdFx0XHRbQGFsZXJ0VHJhbnNpdGlvbl09XCJhLmRlbGV0ZWQgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJ1wiXHJcblx0XHQ+PC9idWktYWxlcnQ+XHJcblx0PC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,101 @@
1
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
3
+ import { generateID } from '@bravura/ui/common';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/material/icon";
7
+ import * as i3 from "@bravura/ui/icon-font";
8
+ import * as i4 from "@angular/material/button";
9
+ /** @ignore */
10
+ const ICONS = {
11
+ success: 'check_circle',
12
+ info: 'info',
13
+ warn: 'report_problem',
14
+ error: 'cancel'
15
+ };
16
+ /** @ignore */
17
+ const DEFAULT_POLITENESS = {
18
+ success: 'polite',
19
+ info: 'polite',
20
+ warn: 'assertive',
21
+ error: 'assertive'
22
+ };
23
+ /**
24
+ * An alert style message usually appears in a global notification area.
25
+ *
26
+ * The base color of the message is determined by the `type` of the message and a list of predefined
27
+ * CSS custom properties.
28
+ *
29
+ * ```scss
30
+ * --bui-color-success: #519602;
31
+ * --bui-color-info: #0dcaf0;
32
+ * --bui-color-warning: #ffc107;
33
+ * --bui-color-error: #dc3545;
34
+ * ```
35
+ *
36
+ *
37
+ */
38
+ export class AlertMessageComponent {
39
+ /** Whether to display the button to fire the `dismissed` event. */
40
+ get dismissible() {
41
+ return this._dismissible;
42
+ }
43
+ set dismissible(value) {
44
+ this._dismissible = coerceBooleanProperty(value);
45
+ }
46
+ constructor() {
47
+ /** The type of the message, used to derive the icon and base color. */
48
+ this.type = 'error';
49
+ /** The message to be displayed, HTML supported. */
50
+ this.message = '';
51
+ /** To be emitted when the user choose to dismiss the message. The event object is the ID of the element. */
52
+ this.dismissed = new EventEmitter();
53
+ /** To be emitted when the component finishes initialisation. The event object is the ID of the element. */
54
+ this.initialised = new EventEmitter();
55
+ this._id = `bui-alert-${generateID()}`;
56
+ this._dismissible = false;
57
+ }
58
+ ngOnInit() {
59
+ this.politeness = this.politeness || DEFAULT_POLITENESS[this.type];
60
+ this.initialised.emit(this._id);
61
+ }
62
+ /** @ignore */
63
+ get iconName() {
64
+ return ICONS[this.type];
65
+ }
66
+ /** @ignore */
67
+ _dismiss() {
68
+ this.dismissed.emit(this._id);
69
+ }
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: AlertMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
71
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: AlertMessageComponent, selector: "bui-alert", inputs: { type: "type", message: "message", politeness: "politeness", dismissible: "dismissible", _id: ["id", "_id"] }, outputs: { dismissed: "dismissed", initialised: "initialised" }, host: { properties: { "class": "'bui-alert bui-host bui-alert-' + (type === 'warn' ? 'warning' : type) + (dismissible ? ' bui-alert-dismissible' : '')", "role": "politeness === 'off' ? 'region' : 'alert'", "attr.aria-live": "politeness === 'assertive' ? undefined : politeness", "id": "this._id" } }, ngImport: i0, template: "<div class=\"bui-alert-backdrop\"></div>\r\n<div class=\"bui-alert-frame\"></div>\r\n\r\n<div class=\"bui-alert-wrapper\">\r\n\t<div class=\"bui-alert-icon-area\">\r\n\t\t<mat-icon [buiIcon]=\"iconName\" variant=\"outlined\"></mat-icon>\r\n\t</div>\r\n\t<div class=\"bui-alert-content\">\r\n\t\t<div [innerHTML]=\"message\" *ngIf=\"message\"></div>\r\n\t\t<ng-content></ng-content>\r\n\t</div>\r\n</div>\r\n\r\n<div class=\"bui-alert-button-area\" *ngIf=\"dismissible\">\r\n\t<div class=\"bui-alert-button-backdrop\"></div>\r\n\t<button mat-icon-button class=\"bui-alert-button\" (click)=\"_dismiss()\" aria-label=\"dismiss alert\">\r\n\t\t<mat-icon>cancel</mat-icon>\r\n\t</button>\r\n</div>\r\n", styles: [":host(:not([hidden])){display:block;padding:12px 14px 12px 19px;position:relative;border-radius:5px}:host-context([dir=rtl]) :host(:not([hidden])){padding:12px 19px 12px 14px}:host(:not([hidden])),:host(:not([hidden])) *{box-sizing:border-box}.bui-alert-backdrop,.bui-alert-frame{position:absolute;inset:0}.bui-alert-backdrop{opacity:.1}:host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 18.75px) 18.75px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0,18.75px 18.75px)}.bui-alert-frame{border-radius:5px;border-width:1px 1px 1px 5px;border-style:solid}:host-context([dir=rtl]) .bui-alert-frame{border-width:1px 5px 1px 1px}:host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 25px) 25px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0)}.bui-alert-button-area{position:absolute;right:-15px;top:-15px;width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center}:host-context([dir=rtl]) .bui-alert-button-area{right:unset;left:-15px}.bui-alert-button-backdrop{position:absolute;border-radius:20px;width:100%;height:100%;clip-path:polygon(0 15px,25px 15px,25px 100%,0% 100%)}:host-context([dir=rtl]) .bui-alert-button-backdrop{clip-path:polygon(15px 15px,15px 100%,100% 100%,100% 15px)}.bui-alert-wrapper{display:flex;align-items:stretch}.bui-alert-icon-area{flex-shrink:0;display:flex;justify-content:center;align-items:center;border-radius:5px;width:30px;height:30px;margin-right:14px;color:var(--bui-bg-card)}:host-context([dir=rtl]) .bui-alert-icon-area{margin-right:unset;margin-left:14px}.bui-alert-content{z-index:1;flex-grow:1;display:flex;flex-direction:column;justify-content:center;gap:1rem}:host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 13px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 13px,0 100%,100% 100%,100% 0,11px 0)}:host(.bui-alert-success) .bui-alert-frame{border-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-backdrop,:host(.bui-alert-success) .bui-alert-icon-area{background-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-button-backdrop{border:1px var(--bui-color-success) solid}:host(.bui-alert-success) .bui-alert-button{color:var(--bui-color-success)}:host(.bui-alert-info) .bui-alert-frame{border-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-backdrop,:host(.bui-alert-info) .bui-alert-icon-area{background-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-button-backdrop{border:1px var(--bui-color-info) solid}:host(.bui-alert-info) .bui-alert-button{color:var(--bui-color-info)}:host(.bui-alert-warning) .bui-alert-frame{border-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-backdrop,:host(.bui-alert-warning) .bui-alert-icon-area{background-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-button-backdrop{border:1px var(--bui-color-warning) solid}:host(.bui-alert-warning) .bui-alert-button{color:var(--bui-color-warning)}:host(.bui-alert-error) .bui-alert-frame{border-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-backdrop,:host(.bui-alert-error) .bui-alert-icon-area{background-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-button-backdrop{border:1px var(--bui-color-error) solid}:host(.bui-alert-error) .bui-alert-button{color:var(--bui-color-error)}.bui-alert-button{width:40px;height:40px;padding:8px;overflow:hidden}@polyfill-unscoped-rule{content: \".bui-alert .bui-alert-content > div > *:first-child\"; margin-top: 0;}@polyfill-unscoped-rule{content: \".bui-alert .bui-alert-content > div > *:last-child\"; margin-bottom: 0;}@polyfill-unscoped-rule{content: \".bui-alert .bui-alert-content > *:first-child\"; margin-top: 0;}@polyfill-unscoped-rule{content: \".bui-alert .bui-alert-content > *:last-child\"; margin-bottom: 0;}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.IconDirective, selector: "[buiIcon]", inputs: ["buiIcon", "size", "variant"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
72
+ }
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: AlertMessageComponent, decorators: [{
74
+ type: Component,
75
+ args: [{ selector: 'bui-alert', host: {
76
+ '[class]': `'bui-alert bui-host bui-alert-' + (type === 'warn' ? 'warning' : type) + (dismissible ? ' bui-alert-dismissible' : '')`,
77
+ '[role]': `politeness === 'off' ? 'region' : 'alert'`,
78
+ '[attr.aria-live]': `politeness === 'assertive' ? undefined : politeness`
79
+ }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bui-alert-backdrop\"></div>\r\n<div class=\"bui-alert-frame\"></div>\r\n\r\n<div class=\"bui-alert-wrapper\">\r\n\t<div class=\"bui-alert-icon-area\">\r\n\t\t<mat-icon [buiIcon]=\"iconName\" variant=\"outlined\"></mat-icon>\r\n\t</div>\r\n\t<div class=\"bui-alert-content\">\r\n\t\t<div [innerHTML]=\"message\" *ngIf=\"message\"></div>\r\n\t\t<ng-content></ng-content>\r\n\t</div>\r\n</div>\r\n\r\n<div class=\"bui-alert-button-area\" *ngIf=\"dismissible\">\r\n\t<div class=\"bui-alert-button-backdrop\"></div>\r\n\t<button mat-icon-button class=\"bui-alert-button\" (click)=\"_dismiss()\" aria-label=\"dismiss alert\">\r\n\t\t<mat-icon>cancel</mat-icon>\r\n\t</button>\r\n</div>\r\n", styles: [":host(:not([hidden])){display:block;padding:12px 14px 12px 19px;position:relative;border-radius:5px}:host-context([dir=rtl]) :host(:not([hidden])){padding:12px 19px 12px 14px}:host(:not([hidden])),:host(:not([hidden])) *{box-sizing:border-box}.bui-alert-backdrop,.bui-alert-frame{position:absolute;inset:0}.bui-alert-backdrop{opacity:.1}:host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 18.75px) 18.75px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0,18.75px 18.75px)}.bui-alert-frame{border-radius:5px;border-width:1px 1px 1px 5px;border-style:solid}:host-context([dir=rtl]) .bui-alert-frame{border-width:1px 5px 1px 1px}:host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 25px) 25px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0)}.bui-alert-button-area{position:absolute;right:-15px;top:-15px;width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center}:host-context([dir=rtl]) .bui-alert-button-area{right:unset;left:-15px}.bui-alert-button-backdrop{position:absolute;border-radius:20px;width:100%;height:100%;clip-path:polygon(0 15px,25px 15px,25px 100%,0% 100%)}:host-context([dir=rtl]) .bui-alert-button-backdrop{clip-path:polygon(15px 15px,15px 100%,100% 100%,100% 15px)}.bui-alert-wrapper{display:flex;align-items:stretch}.bui-alert-icon-area{flex-shrink:0;display:flex;justify-content:center;align-items:center;border-radius:5px;width:30px;height:30px;margin-right:14px;color:var(--bui-bg-card)}:host-context([dir=rtl]) .bui-alert-icon-area{margin-right:unset;margin-left:14px}.bui-alert-content{z-index:1;flex-grow:1;display:flex;flex-direction:column;justify-content:center;gap:1rem}:host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 13px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 13px,0 100%,100% 100%,100% 0,11px 0)}:host(.bui-alert-success) .bui-alert-frame{border-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-backdrop,:host(.bui-alert-success) .bui-alert-icon-area{background-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-button-backdrop{border:1px var(--bui-color-success) solid}:host(.bui-alert-success) .bui-alert-button{color:var(--bui-color-success)}:host(.bui-alert-info) .bui-alert-frame{border-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-backdrop,:host(.bui-alert-info) .bui-alert-icon-area{background-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-button-backdrop{border:1px var(--bui-color-info) solid}:host(.bui-alert-info) .bui-alert-button{color:var(--bui-color-info)}:host(.bui-alert-warning) .bui-alert-frame{border-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-backdrop,:host(.bui-alert-warning) .bui-alert-icon-area{background-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-button-backdrop{border:1px var(--bui-color-warning) solid}:host(.bui-alert-warning) .bui-alert-button{color:var(--bui-color-warning)}:host(.bui-alert-error) .bui-alert-frame{border-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-backdrop,:host(.bui-alert-error) .bui-alert-icon-area{background-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-button-backdrop{border:1px var(--bui-color-error) solid}:host(.bui-alert-error) .bui-alert-button{color:var(--bui-color-error)}.bui-alert-button{width:40px;height:40px;padding:8px;overflow:hidden}@polyfill-unscoped-rule{content: \".bui-alert .bui-alert-content > div > *:first-child\"; margin-top: 0;}@polyfill-unscoped-rule{content: \".bui-alert .bui-alert-content > div > *:last-child\"; margin-bottom: 0;}@polyfill-unscoped-rule{content: \".bui-alert .bui-alert-content > *:first-child\"; margin-top: 0;}@polyfill-unscoped-rule{content: \".bui-alert .bui-alert-content > *:last-child\"; margin-bottom: 0;}\n"] }]
80
+ }], ctorParameters: () => [], propDecorators: { type: [{
81
+ type: Input
82
+ }], message: [{
83
+ type: Input
84
+ }], politeness: [{
85
+ type: Input
86
+ }], dismissible: [{
87
+ type: Input
88
+ }], dismissed: [{
89
+ type: Output
90
+ }], initialised: [{
91
+ type: Output
92
+ }],
93
+ /** @ignore */
94
+ _id: [{
95
+ type: Input,
96
+ args: ['id']
97
+ }, {
98
+ type: HostBinding,
99
+ args: ['id']
100
+ }] } });
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtbWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9hbGVydC9hbGVydC1tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2FsZXJ0L2FsZXJ0LW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7QUFFaEQsY0FBYztBQUNkLE1BQU0sS0FBSyxHQUFRO0lBQ2xCLE9BQU8sRUFBRSxjQUFjO0lBQ3ZCLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLGdCQUFnQjtJQUN0QixLQUFLLEVBQUUsUUFBUTtDQUNmLENBQUM7QUFFRixjQUFjO0FBQ2QsTUFBTSxrQkFBa0IsR0FBRztJQUMxQixPQUFPLEVBQUUsUUFBUTtJQUNqQixJQUFJLEVBQUUsUUFBUTtJQUNkLElBQUksRUFBRSxXQUFXO0lBQ2pCLEtBQUssRUFBRSxXQUFXO0NBQ2xCLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQVlILE1BQU0sT0FBTyxxQkFBcUI7SUFrQmpDLG1FQUFtRTtJQUNuRSxJQUNJLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksV0FBVyxDQUFDLEtBQVU7UUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBaUJEO1FBcENBLHdFQUF3RTtRQUV4RSxTQUFJLEdBQTBDLE9BQU8sQ0FBQztRQUV0RCxvREFBb0Q7UUFFcEQsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQWViLDZHQUE2RztRQUU3RyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV2Qyw0R0FBNEc7UUFFNUcsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBS3pDLFFBQUcsR0FBRyxhQUFhLFVBQVUsRUFBRSxFQUFFLENBQUM7UUFFMUIsaUJBQVksR0FBRyxLQUFLLENBQUM7SUFFZCxDQUFDO0lBRWhCLFFBQVE7UUFDUCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsY0FBYztJQUNkLElBQUksUUFBUTtRQUNYLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsY0FBYztJQUNkLFFBQVE7UUFDUCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs4R0F6RFcscUJBQXFCO2tHQUFyQixxQkFBcUIsdWhCQzlDbEMsMHJCQW1CQTs7MkZEMkJhLHFCQUFxQjtrQkFYakMsU0FBUzsrQkFDQyxXQUFXLFFBR2Y7d0JBQ0wsU0FBUyxFQUFFLHdIQUF3SDt3QkFDbkksUUFBUSxFQUFFLDJDQUEyQzt3QkFDckQsa0JBQWtCLEVBQUUscURBQXFEO3FCQUN6RSxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTt3REFVL0MsSUFBSTtzQkFESCxLQUFLO2dCQUtOLE9BQU87c0JBRE4sS0FBSztnQkFLTixVQUFVO3NCQURULEtBQUs7Z0JBS0YsV0FBVztzQkFEZCxLQUFLO2dCQVVOLFNBQVM7c0JBRFIsTUFBTTtnQkFLUCxXQUFXO3NCQURWLE1BQU07O1FBS1AsY0FBYztRQUNkLEdBQUc7c0JBSEYsS0FBSzt1QkFBQyxJQUFJOztzQkFDVixXQUFXO3VCQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZ2VuZXJhdGVJRCB9IGZyb20gJ0BicmF2dXJhL3VpL2NvbW1vbic7XHJcblxyXG4vKiogQGlnbm9yZSAqL1xyXG5jb25zdCBJQ09OUzogYW55ID0ge1xyXG5cdHN1Y2Nlc3M6ICdjaGVja19jaXJjbGUnLFxyXG5cdGluZm86ICdpbmZvJyxcclxuXHR3YXJuOiAncmVwb3J0X3Byb2JsZW0nLFxyXG5cdGVycm9yOiAnY2FuY2VsJ1xyXG59O1xyXG5cclxuLyoqIEBpZ25vcmUgKi9cclxuY29uc3QgREVGQVVMVF9QT0xJVEVORVNTID0ge1xyXG5cdHN1Y2Nlc3M6ICdwb2xpdGUnLFxyXG5cdGluZm86ICdwb2xpdGUnLFxyXG5cdHdhcm46ICdhc3NlcnRpdmUnLFxyXG5cdGVycm9yOiAnYXNzZXJ0aXZlJ1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEFuIGFsZXJ0IHN0eWxlIG1lc3NhZ2UgdXN1YWxseSBhcHBlYXJzIGluIGEgZ2xvYmFsIG5vdGlmaWNhdGlvbiBhcmVhLlxyXG4gKlxyXG4gKiBUaGUgYmFzZSBjb2xvciBvZiB0aGUgbWVzc2FnZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBgdHlwZWAgb2YgdGhlIG1lc3NhZ2UgYW5kIGEgbGlzdCBvZiBwcmVkZWZpbmVkXHJcbiAqIENTUyBjdXN0b20gcHJvcGVydGllcy5cclxuICpcclxuICogYGBgc2Nzc1xyXG4gKiAtLWJ1aS1jb2xvci1zdWNjZXNzOiAjNTE5NjAyO1xyXG4gKiAtLWJ1aS1jb2xvci1pbmZvOiAjMGRjYWYwO1xyXG4gKiAtLWJ1aS1jb2xvci13YXJuaW5nOiAjZmZjMTA3O1xyXG4gKiAtLWJ1aS1jb2xvci1lcnJvcjogI2RjMzU0NTtcclxuICogYGBgXHJcbiAqXHJcbiAqXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2J1aS1hbGVydCcsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2FsZXJ0LW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL2FsZXJ0LW1lc3NhZ2UuY29tcG9uZW50LnNjc3MnXSxcclxuXHRob3N0OiB7XHJcblx0XHQnW2NsYXNzXSc6IGAnYnVpLWFsZXJ0IGJ1aS1ob3N0IGJ1aS1hbGVydC0nICsgKHR5cGUgPT09ICd3YXJuJyA/ICd3YXJuaW5nJyA6IHR5cGUpICsgKGRpc21pc3NpYmxlID8gJyBidWktYWxlcnQtZGlzbWlzc2libGUnIDogJycpYCxcclxuXHRcdCdbcm9sZV0nOiBgcG9saXRlbmVzcyA9PT0gJ29mZicgPyAncmVnaW9uJyA6ICdhbGVydCdgLFxyXG5cdFx0J1thdHRyLmFyaWEtbGl2ZV0nOiBgcG9saXRlbmVzcyA9PT0gJ2Fzc2VydGl2ZScgPyB1bmRlZmluZWQgOiBwb2xpdGVuZXNzYFxyXG5cdH0sXHJcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEFsZXJ0TWVzc2FnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblx0LyoqIEBpZ25vcmUgKi9cclxuXHRzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZGlzbWlzc2libGU6IGJvb2xlYW4gfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xyXG5cdC8qKiBAaWdub3JlICovXHJcblx0c3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2JsaW5rOiBib29sZWFuIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcclxuXHJcblx0LyoqIFRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlLCB1c2VkIHRvIGRlcml2ZSB0aGUgaWNvbiBhbmQgYmFzZSBjb2xvci4gICovXHJcblx0QElucHV0KClcclxuXHR0eXBlOiAnc3VjY2VzcycgfCAnaW5mbycgfCAnd2FybicgfCAnZXJyb3InID0gJ2Vycm9yJztcclxuXHJcblx0LyoqIFRoZSBtZXNzYWdlIHRvIGJlIGRpc3BsYXllZCwgSFRNTCBzdXBwb3J0ZWQuICAqL1xyXG5cdEBJbnB1dCgpXHJcblx0bWVzc2FnZSA9ICcnO1xyXG5cclxuXHQvKiogU3BlY2lmaWVzIHRoZSBBUklBIGxpdmUgcmVnaW9uIHBvbGl0ZW5lc3MuICovXHJcblx0QElucHV0KClcclxuXHRwb2xpdGVuZXNzITogJ29mZicgfCAncG9saXRlJyB8ICdhc3NlcnRpdmUnO1xyXG5cclxuXHQvKiogV2hldGhlciB0byBkaXNwbGF5IHRoZSBidXR0b24gdG8gZmlyZSB0aGUgYGRpc21pc3NlZGAgZXZlbnQuICovXHJcblx0QElucHV0KClcclxuXHRnZXQgZGlzbWlzc2libGUoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fZGlzbWlzc2libGU7XHJcblx0fVxyXG5cdHNldCBkaXNtaXNzaWJsZSh2YWx1ZTogYW55KSB7XHJcblx0XHR0aGlzLl9kaXNtaXNzaWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcblx0fVxyXG5cclxuXHQvKiogVG8gYmUgZW1pdHRlZCB3aGVuIHRoZSB1c2VyIGNob29zZSB0byBkaXNtaXNzIHRoZSBtZXNzYWdlLiBUaGUgZXZlbnQgb2JqZWN0IGlzIHRoZSBJRCBvZiB0aGUgZWxlbWVudC4gICovXHJcblx0QE91dHB1dCgpXHJcblx0ZGlzbWlzc2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG5cdC8qKiBUbyBiZSBlbWl0dGVkIHdoZW4gdGhlIGNvbXBvbmVudCBmaW5pc2hlcyBpbml0aWFsaXNhdGlvbi4gVGhlIGV2ZW50IG9iamVjdCBpcyB0aGUgSUQgb2YgdGhlIGVsZW1lbnQuICAqL1xyXG5cdEBPdXRwdXQoKVxyXG5cdGluaXRpYWxpc2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG5cdEBJbnB1dCgnaWQnKVxyXG5cdEBIb3N0QmluZGluZygnaWQnKVxyXG5cdC8qKiBAaWdub3JlICovXHJcblx0X2lkID0gYGJ1aS1hbGVydC0ke2dlbmVyYXRlSUQoKX1gO1xyXG5cclxuXHRwcml2YXRlIF9kaXNtaXNzaWJsZSA9IGZhbHNlO1xyXG5cclxuXHRjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5wb2xpdGVuZXNzID0gdGhpcy5wb2xpdGVuZXNzIHx8IERFRkFVTFRfUE9MSVRFTkVTU1t0aGlzLnR5cGVdO1xyXG5cdFx0dGhpcy5pbml0aWFsaXNlZC5lbWl0KHRoaXMuX2lkKTtcclxuXHR9XHJcblxyXG5cdC8qKiBAaWdub3JlICovXHJcblx0Z2V0IGljb25OYW1lKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gSUNPTlNbdGhpcy50eXBlXTtcclxuXHR9XHJcblxyXG5cdC8qKiBAaWdub3JlICovXHJcblx0X2Rpc21pc3MoKSB7XHJcblx0XHR0aGlzLmRpc21pc3NlZC5lbWl0KHRoaXMuX2lkKTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImJ1aS1hbGVydC1iYWNrZHJvcFwiPjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiYnVpLWFsZXJ0LWZyYW1lXCI+PC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwiYnVpLWFsZXJ0LXdyYXBwZXJcIj5cclxuXHQ8ZGl2IGNsYXNzPVwiYnVpLWFsZXJ0LWljb24tYXJlYVwiPlxyXG5cdFx0PG1hdC1pY29uIFtidWlJY29uXT1cImljb25OYW1lXCIgdmFyaWFudD1cIm91dGxpbmVkXCI+PC9tYXQtaWNvbj5cclxuXHQ8L2Rpdj5cclxuXHQ8ZGl2IGNsYXNzPVwiYnVpLWFsZXJ0LWNvbnRlbnRcIj5cclxuXHRcdDxkaXYgW2lubmVySFRNTF09XCJtZXNzYWdlXCIgKm5nSWY9XCJtZXNzYWdlXCI+PC9kaXY+XHJcblx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcblx0PC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImJ1aS1hbGVydC1idXR0b24tYXJlYVwiICpuZ0lmPVwiZGlzbWlzc2libGVcIj5cclxuXHQ8ZGl2IGNsYXNzPVwiYnVpLWFsZXJ0LWJ1dHRvbi1iYWNrZHJvcFwiPjwvZGl2PlxyXG5cdDxidXR0b24gbWF0LWljb24tYnV0dG9uIGNsYXNzPVwiYnVpLWFsZXJ0LWJ1dHRvblwiIChjbGljayk9XCJfZGlzbWlzcygpXCIgYXJpYS1sYWJlbD1cImRpc21pc3MgYWxlcnRcIj5cclxuXHRcdDxtYXQtaWNvbj5jYW5jZWw8L21hdC1pY29uPlxyXG5cdDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,22 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { MatButtonModule } from '@angular/material/button';
4
+ import { IconFontModule } from '@bravura/ui/icon-font';
5
+ import { AlertContainerComponent } from './alert-container.component';
6
+ import { AlertMessageComponent } from './alert-message.component';
7
+ import * as i0 from "@angular/core";
8
+ export class AlertModule {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: AlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: AlertModule, declarations: [AlertMessageComponent, AlertContainerComponent], imports: [CommonModule, IconFontModule, MatButtonModule], exports: [AlertMessageComponent, AlertContainerComponent] }); }
11
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: AlertModule, imports: [CommonModule, IconFontModule, MatButtonModule] }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: AlertModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ declarations: [AlertMessageComponent, AlertContainerComponent],
17
+ imports: [CommonModule, IconFontModule, MatButtonModule],
18
+ exports: [AlertMessageComponent, AlertContainerComponent]
19
+ }]
20
+ }] });
21
+ export { AlertMessageComponent, AlertContainerComponent };
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvYWxlcnQvYWxlcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBT2xFLE1BQU0sT0FBTyxXQUFXOzhHQUFYLFdBQVc7K0dBQVgsV0FBVyxpQkFKUixxQkFBcUIsRUFBRSx1QkFBdUIsYUFDbkQsWUFBWSxFQUFFLGNBQWMsRUFBRSxlQUFlLGFBQzdDLHFCQUFxQixFQUFFLHVCQUF1QjsrR0FFNUMsV0FBVyxZQUhiLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZTs7MkZBRzNDLFdBQVc7a0JBTHZCLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFLENBQUMscUJBQXFCLEVBQUUsdUJBQXVCLENBQUM7b0JBQzlELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxDQUFDO29CQUN4RCxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSx1QkFBdUIsQ0FBQztpQkFDekQ7O0FBR0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHVCQUF1QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBJY29uRm9udE1vZHVsZSB9IGZyb20gJ0BicmF2dXJhL3VpL2ljb24tZm9udCc7XHJcbmltcG9ydCB7IEFsZXJ0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9hbGVydC1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWxlcnRNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9hbGVydC1tZXNzYWdlLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG5cdGRlY2xhcmF0aW9uczogW0FsZXJ0TWVzc2FnZUNvbXBvbmVudCwgQWxlcnRDb250YWluZXJDb21wb25lbnRdLFxyXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEljb25Gb250TW9kdWxlLCBNYXRCdXR0b25Nb2R1bGVdLFxyXG5cdGV4cG9ydHM6IFtBbGVydE1lc3NhZ2VDb21wb25lbnQsIEFsZXJ0Q29udGFpbmVyQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWxlcnRNb2R1bGUge31cclxuXHJcbmV4cG9ydCB7IEFsZXJ0TWVzc2FnZUNvbXBvbmVudCwgQWxlcnRDb250YWluZXJDb21wb25lbnQgfTtcclxuIl19
@@ -1,2 +1,2 @@
1
1
  export * from './alert.module';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2FsZXJ0L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWxlcnQubW9kdWxlJztcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2FsZXJ0L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWxlcnQubW9kdWxlJztcclxuIl19
@@ -0,0 +1,44 @@
1
+ import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
2
+ export class AlertMessageHarness extends ComponentHarness {
3
+ constructor() {
4
+ super(...arguments);
5
+ this._getBackdrop = this.locatorFor('.bui-alert-backdrop');
6
+ this._getDeleteButton = this.locatorFor('.bui-alert-button');
7
+ this._getContentDiv = this.locatorFor('.bui-alert-content');
8
+ }
9
+ static { this.hostSelector = '.bui-alert'; }
10
+ static with(options = {}) {
11
+ return new HarnessPredicate(this, options).addOption('content', options.content, AlertMessageHarness.filterByContent);
12
+ }
13
+ async getColor() {
14
+ return (await this._getBackdrop()).getCssValue('background-color');
15
+ }
16
+ async delete() {
17
+ await (await this._getDeleteButton()).click();
18
+ }
19
+ async getContent(options) {
20
+ return (await this._getContentDiv()).text(options);
21
+ }
22
+ static async filterByContent(harness, content) {
23
+ const contentText = await harness.getContent();
24
+ return content.test(contentText);
25
+ }
26
+ }
27
+ export class AlertContainerHarness extends ComponentHarness {
28
+ constructor() {
29
+ super(...arguments);
30
+ this._items = this.locatorForAll(AlertMessageHarness.with({ ancestor: '.bui-alert-fixed-panel' }));
31
+ this._floatingFrame = this.locatorFor('.bui-alert-float-panel-frame');
32
+ }
33
+ static { this.hostSelector = '.bui-alert-container'; }
34
+ getAlertItem(content) {
35
+ return this.locatorForOptional(AlertMessageHarness.with({ ancestor: '.bui-alert-fixed-panel', content }))();
36
+ }
37
+ async countAlertItems() {
38
+ return (await this._items()).length;
39
+ }
40
+ async isFloated() {
41
+ return (await (await this._floatingFrame()).getCssValue('display')) !== 'none';
42
+ }
43
+ }
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9hbGVydC90ZXN0aW5nL3Rlc3QtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixnQkFBZ0IsRUFJaEIsZ0JBQWdCLEVBQ2hCLE1BQU0sc0JBQXNCLENBQUM7QUFPOUIsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGdCQUFnQjtJQUF6RDs7UUFFUyxpQkFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN0RCxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDeEQsbUJBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUE2QmhFLENBQUM7YUFoQ08saUJBQVksR0FBRyxZQUFZLEFBQWYsQ0FBZ0I7SUFLbkMsTUFBTSxDQUFDLElBQUksQ0FFVixVQUFzQyxFQUFFO1FBRXhDLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUNuRCxTQUFTLEVBQ1QsT0FBTyxDQUFDLE9BQU8sRUFDZixtQkFBbUIsQ0FBQyxlQUFlLENBQ25DLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDYixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU07UUFDWCxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQXFCO1FBQ3JDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBNEIsRUFBRSxPQUFlO1FBQ2pGLE1BQU0sV0FBVyxHQUFHLE1BQU0sT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQy9DLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsQyxDQUFDOztBQUdGLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxnQkFBZ0I7SUFBM0Q7O1FBR1MsV0FBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzlGLG1CQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBYTFFLENBQUM7YUFoQk8saUJBQVksR0FBRyxzQkFBc0IsQUFBekIsQ0FBMEI7SUFLN0MsWUFBWSxDQUFDLE9BQWU7UUFDM0IsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzdHLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZTtRQUNwQixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDckMsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTO1FBQ2QsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQztJQUNoRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuXHRDb21wb25lbnRIYXJuZXNzLFxyXG5cdFRleHRPcHRpb25zLFxyXG5cdEJhc2VIYXJuZXNzRmlsdGVycyxcclxuXHRDb21wb25lbnRIYXJuZXNzQ29uc3RydWN0b3IsXHJcblx0SGFybmVzc1ByZWRpY2F0ZVxyXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQWxlcnRNZXNzYWdlSGFybmVzc0ZpbHRlcnMgZXh0ZW5kcyBCYXNlSGFybmVzc0ZpbHRlcnMge1xyXG5cdC8qKiBvbmx5IHNlbGVjdCB0aGUgYWxlcnQgd2l0aCB0aGUgY29udGVudCBtYXRjaGluZyB0aGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiAqL1xyXG5cdGNvbnRlbnQ/OiBSZWdFeHA7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBbGVydE1lc3NhZ2VIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XHJcblx0c3RhdGljIGhvc3RTZWxlY3RvciA9ICcuYnVpLWFsZXJ0JztcclxuXHRwcml2YXRlIF9nZXRCYWNrZHJvcCA9IHRoaXMubG9jYXRvckZvcignLmJ1aS1hbGVydC1iYWNrZHJvcCcpO1xyXG5cdHByaXZhdGUgX2dldERlbGV0ZUJ1dHRvbiA9IHRoaXMubG9jYXRvckZvcignLmJ1aS1hbGVydC1idXR0b24nKTtcclxuXHRwcml2YXRlIF9nZXRDb250ZW50RGl2ID0gdGhpcy5sb2NhdG9yRm9yKCcuYnVpLWFsZXJ0LWNvbnRlbnQnKTtcclxuXHJcblx0c3RhdGljIHdpdGg8VCBleHRlbmRzIEFsZXJ0TWVzc2FnZUhhcm5lc3M+KFxyXG5cdFx0dGhpczogQ29tcG9uZW50SGFybmVzc0NvbnN0cnVjdG9yPFQ+LFxyXG5cdFx0b3B0aW9uczogQWxlcnRNZXNzYWdlSGFybmVzc0ZpbHRlcnMgPSB7fVxyXG5cdCk6IEhhcm5lc3NQcmVkaWNhdGU8VD4ge1xyXG5cdFx0cmV0dXJuIG5ldyBIYXJuZXNzUHJlZGljYXRlKHRoaXMsIG9wdGlvbnMpLmFkZE9wdGlvbihcclxuXHRcdFx0J2NvbnRlbnQnLFxyXG5cdFx0XHRvcHRpb25zLmNvbnRlbnQsXHJcblx0XHRcdEFsZXJ0TWVzc2FnZUhhcm5lc3MuZmlsdGVyQnlDb250ZW50XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgZ2V0Q29sb3IoKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuXHRcdHJldHVybiAoYXdhaXQgdGhpcy5fZ2V0QmFja2Ryb3AoKSkuZ2V0Q3NzVmFsdWUoJ2JhY2tncm91bmQtY29sb3InKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGRlbGV0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuXHRcdGF3YWl0IChhd2FpdCB0aGlzLl9nZXREZWxldGVCdXR0b24oKSkuY2xpY2soKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGdldENvbnRlbnQob3B0aW9ucz86IFRleHRPcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuXHRcdHJldHVybiAoYXdhaXQgdGhpcy5fZ2V0Q29udGVudERpdigpKS50ZXh0KG9wdGlvbnMpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBzdGF0aWMgYXN5bmMgZmlsdGVyQnlDb250ZW50KGhhcm5lc3M6IEFsZXJ0TWVzc2FnZUhhcm5lc3MsIGNvbnRlbnQ6IFJlZ0V4cCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG5cdFx0Y29uc3QgY29udGVudFRleHQgPSBhd2FpdCBoYXJuZXNzLmdldENvbnRlbnQoKTtcclxuXHRcdHJldHVybiBjb250ZW50LnRlc3QoY29udGVudFRleHQpO1xyXG5cdH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFsZXJ0Q29udGFpbmVySGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xyXG5cdHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnLmJ1aS1hbGVydC1jb250YWluZXInO1xyXG5cclxuXHRwcml2YXRlIF9pdGVtcyA9IHRoaXMubG9jYXRvckZvckFsbChBbGVydE1lc3NhZ2VIYXJuZXNzLndpdGgoeyBhbmNlc3RvcjogJy5idWktYWxlcnQtZml4ZWQtcGFuZWwnIH0pKTtcclxuXHRwcml2YXRlIF9mbG9hdGluZ0ZyYW1lID0gdGhpcy5sb2NhdG9yRm9yKCcuYnVpLWFsZXJ0LWZsb2F0LXBhbmVsLWZyYW1lJyk7XHJcblxyXG5cdGdldEFsZXJ0SXRlbShjb250ZW50OiBSZWdFeHApOiBQcm9taXNlPEFsZXJ0TWVzc2FnZUhhcm5lc3MgfCBudWxsPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoQWxlcnRNZXNzYWdlSGFybmVzcy53aXRoKHsgYW5jZXN0b3I6ICcuYnVpLWFsZXJ0LWZpeGVkLXBhbmVsJywgY29udGVudCB9KSkoKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGNvdW50QWxlcnRJdGVtcygpOiBQcm9taXNlPG51bWJlcj4ge1xyXG5cdFx0cmV0dXJuIChhd2FpdCB0aGlzLl9pdGVtcygpKS5sZW5ndGg7XHJcblx0fVxyXG5cclxuXHRhc3luYyBpc0Zsb2F0ZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XHJcblx0XHRyZXR1cm4gKGF3YWl0IChhd2FpdCB0aGlzLl9mbG9hdGluZ0ZyYW1lKCkpLmdldENzc1ZhbHVlKCdkaXNwbGF5JykpICE9PSAnbm9uZSc7XHJcblx0fVxyXG59XHJcbiJdfQ==