@fundamental-ngx/core 0.42.0-rc.9 → 0.42.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 (446) hide show
  1. package/alert/alert.module.d.ts +1 -1
  2. package/avatar/avatar.component.d.ts +2 -4
  3. package/avatar-group/directives/avatar-group-focusable-avatar.directive.d.ts +2 -6
  4. package/avatar-group/directives/avatar-group-overflow-button.directive.d.ts +2 -4
  5. package/bar/bar.component.d.ts +2 -4
  6. package/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.d.ts +2 -4
  7. package/button/button.component.d.ts +2 -6
  8. package/card/card-content.component.d.ts +2 -4
  9. package/card/card-counter.directive.d.ts +2 -4
  10. package/card/card-header.component.d.ts +2 -4
  11. package/card/card-loader.component.d.ts +2 -4
  12. package/card/card-second-subtitle.directive.d.ts +2 -4
  13. package/card/card-subtitle.directive.d.ts +2 -4
  14. package/card/card-title.directive.d.ts +2 -4
  15. package/card/card.component.d.ts +3 -5
  16. package/card/kpi/card-kpi-analytics-content.directive.d.ts +2 -4
  17. package/card/kpi/card-kpi-analytics-label.directive.d.ts +2 -4
  18. package/card/kpi/card-kpi-analytics.directive.d.ts +2 -4
  19. package/card/kpi/card-kpi-header.component.d.ts +2 -4
  20. package/card/kpi/card-kpi-scale-icon.directive.d.ts +2 -4
  21. package/card/kpi/card-kpi-scale-text.directive.d.ts +2 -4
  22. package/card/kpi/card-kpi-value.directive.d.ts +2 -4
  23. package/combobox/combobox.module.d.ts +2 -1
  24. package/dialog/base/dialog-base.class.d.ts +2 -2
  25. package/dialog/dialog-body/dialog-body.component.d.ts +2 -4
  26. package/dialog/dialog-container/dialog-container.component.d.ts +0 -2
  27. package/dialog/dialog-service/dialog.service.d.ts +4 -0
  28. package/dialog/dialog.component.d.ts +0 -2
  29. package/dynamic-page/dynamic-page-content/dynamic-page-content.component.d.ts +4 -6
  30. package/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.d.ts +2 -4
  31. package/dynamic-side-content/dynamic-side-content.component.d.ts +3 -5
  32. package/esm2020/alert/alert.module.mjs +5 -5
  33. package/esm2020/avatar/avatar.component.mjs +6 -10
  34. package/esm2020/avatar-group/directives/avatar-group-focusable-avatar.directive.mjs +4 -12
  35. package/esm2020/avatar-group/directives/avatar-group-overflow-body.directive.mjs +2 -2
  36. package/esm2020/avatar-group/directives/avatar-group-overflow-button.directive.mjs +3 -7
  37. package/esm2020/bar/bar.component.mjs +3 -7
  38. package/esm2020/breadcrumb/breadcrumb-item.component.mjs +2 -2
  39. package/esm2020/breadcrumb/breadcrumb.component.mjs +2 -2
  40. package/esm2020/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.mjs +4 -8
  41. package/esm2020/button/button.component.mjs +3 -9
  42. package/esm2020/card/card-content.component.mjs +3 -7
  43. package/esm2020/card/card-counter.directive.mjs +3 -7
  44. package/esm2020/card/card-header.component.mjs +4 -8
  45. package/esm2020/card/card-loader.component.mjs +3 -7
  46. package/esm2020/card/card-second-subtitle.directive.mjs +3 -7
  47. package/esm2020/card/card-subtitle.directive.mjs +3 -7
  48. package/esm2020/card/card-title.directive.mjs +3 -7
  49. package/esm2020/card/card.component.mjs +3 -7
  50. package/esm2020/card/kpi/card-kpi-analytics-content.directive.mjs +3 -7
  51. package/esm2020/card/kpi/card-kpi-analytics-label.directive.mjs +3 -7
  52. package/esm2020/card/kpi/card-kpi-analytics.directive.mjs +3 -7
  53. package/esm2020/card/kpi/card-kpi-header.component.mjs +3 -7
  54. package/esm2020/card/kpi/card-kpi-scale-icon.directive.mjs +3 -7
  55. package/esm2020/card/kpi/card-kpi-scale-text.directive.mjs +3 -7
  56. package/esm2020/card/kpi/card-kpi-value.directive.mjs +3 -7
  57. package/esm2020/checkbox/checkbox/checkbox.component.mjs +5 -5
  58. package/esm2020/combobox/combobox.component.mjs +5 -4
  59. package/esm2020/combobox/combobox.module.mjs +8 -4
  60. package/esm2020/content-density/services/content-density-observer.service.mjs +3 -3
  61. package/esm2020/datetime-picker/datetime-picker.component.mjs +7 -4
  62. package/esm2020/dialog/base/dialog-base.class.mjs +4 -4
  63. package/esm2020/dialog/dialog-body/dialog-body.component.mjs +3 -7
  64. package/esm2020/dialog/dialog-container/dialog-container.component.mjs +1 -5
  65. package/esm2020/dialog/dialog-service/dialog.service.mjs +10 -2
  66. package/esm2020/dialog/dialog.component.mjs +3 -7
  67. package/esm2020/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +4 -8
  68. package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.mjs +5 -9
  69. package/esm2020/dynamic-side-content/dynamic-side-content.component.mjs +3 -7
  70. package/esm2020/facets/content/facet-content.component.mjs +4 -8
  71. package/esm2020/facets/facet/facet.component.mjs +13 -19
  72. package/esm2020/feed-input/directives/feed-input-avatar.directive.mjs +3 -7
  73. package/esm2020/feed-list-item/components/item/feed-list-item.component.mjs +3 -7
  74. package/esm2020/feed-list-item/components/list/feed-list.component.mjs +3 -7
  75. package/esm2020/form/form-control/form-control.component.mjs +3 -7
  76. package/esm2020/form/form-group/form-group.component.mjs +3 -7
  77. package/esm2020/form/form-message/form-message.component.mjs +3 -7
  78. package/esm2020/grid-list/components/grid-list-item/grid-list-item.component.mjs +3 -3
  79. package/esm2020/icon/icon.component.mjs +3 -7
  80. package/esm2020/illustrated-message/illustrated-message.component.mjs +3 -7
  81. package/esm2020/info-label/info-label.component.mjs +3 -7
  82. package/esm2020/inline-help/inline-help.directive.mjs +26 -15
  83. package/esm2020/input-group/input-group-directives.mjs +6 -14
  84. package/esm2020/input-group/input-group.component.mjs +2 -2
  85. package/esm2020/layout-grid/directives/layout-grid-col.directive.mjs +3 -7
  86. package/esm2020/layout-grid/layout-grid.component.mjs +3 -7
  87. package/esm2020/layout-panel/layout-panel-footer/layout-panel-footer.component.mjs +3 -7
  88. package/esm2020/link/link.component.mjs +9 -13
  89. package/esm2020/list/directives/list-icon.directive.mjs +3 -7
  90. package/esm2020/list/directives/list-navigation-item-text.directive.mjs +3 -7
  91. package/esm2020/list/list-message.directive.mjs +3 -7
  92. package/esm2020/menu/menu-mobile/menu-mobile.component.mjs +2 -2
  93. package/esm2020/message-box/message-box-container/message-box-container.component.mjs +1 -5
  94. package/esm2020/message-box/message-box.component.mjs +1 -5
  95. package/esm2020/message-page/message-page.component.mjs +3 -7
  96. package/esm2020/message-strip/alert/default-config.mjs +11 -0
  97. package/esm2020/message-strip/alert/index.mjs +6 -0
  98. package/esm2020/message-strip/alert/message-strip-alert/message-strip-alert.component.mjs +68 -0
  99. package/esm2020/message-strip/alert/message-strip-alert-container/message-strip-alert-container.component.mjs +57 -0
  100. package/esm2020/message-strip/alert/message-strip-alert-container-footer/message-strip-alert-container-footer.component.mjs +65 -0
  101. package/esm2020/message-strip/alert/message-strip-alert.position.mjs +2 -0
  102. package/esm2020/message-strip/alert/message-strip-alert.ref.mjs +3 -0
  103. package/esm2020/message-strip/alert/message-strip-alert.service.mjs +195 -0
  104. package/esm2020/message-strip/alert/message-strip-configuration-type.mjs +2 -0
  105. package/esm2020/message-strip/alert/open-message-strip-alert.config.mjs +2 -0
  106. package/esm2020/message-strip/alert/tokens.mjs +14 -0
  107. package/esm2020/message-strip/auto-dismiss-message-strip.directive.mjs +98 -0
  108. package/esm2020/message-strip/fundamental-ngx-core-message-strip.mjs +2 -2
  109. package/esm2020/message-strip/index.mjs +6 -0
  110. package/esm2020/message-strip/message-strip-type.mjs +2 -0
  111. package/esm2020/message-strip/message-strip.component.mjs +16 -20
  112. package/esm2020/message-strip/message-strip.module.mjs +6 -9
  113. package/esm2020/multi-combobox/multi-combobox.component.mjs +6 -6
  114. package/esm2020/multi-input/multi-input.component.mjs +33 -19
  115. package/esm2020/notification/directives/notification-indicator.directive.mjs +3 -7
  116. package/esm2020/notification/notification-group/notification-group.component.mjs +3 -7
  117. package/esm2020/notification/notification-utils/notification-group-base.mjs +2 -2
  118. package/esm2020/object-marker/object-marker.component.mjs +3 -7
  119. package/esm2020/object-number/object-number.component.mjs +3 -7
  120. package/esm2020/object-status/object-status.component.mjs +3 -7
  121. package/esm2020/panel/panel.component.mjs +3 -7
  122. package/esm2020/product-switch/product-switch-body/product-switch-body.component.mjs +1 -1
  123. package/esm2020/radio/radio-button/radio-button.component.mjs +2 -2
  124. package/esm2020/rating-indicator/components/rating-indicator.component.mjs +3 -7
  125. package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +4 -8
  126. package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +3 -7
  127. package/esm2020/segmented-button/segmented-button.component.mjs +4 -4
  128. package/esm2020/select/select.component.mjs +3 -3
  129. package/esm2020/slider/slider.component.mjs +3 -7
  130. package/esm2020/status-indicator/status-indicator.component.mjs +4 -8
  131. package/esm2020/table/directives/table-cell.directive.mjs +31 -26
  132. package/esm2020/table/directives/table-icon.directive.mjs +3 -9
  133. package/esm2020/table/directives/table-row.directive.mjs +34 -19
  134. package/esm2020/table/table-wrapper.component.mjs +2 -2
  135. package/esm2020/table/table.component.mjs +1 -1
  136. package/esm2020/tabs/tab-item/tab-item.directive.mjs +3 -7
  137. package/esm2020/tabs/tab-nav/tab-nav.component.mjs +3 -9
  138. package/esm2020/tabs/tab-utils/tab-directives.mjs +3 -9
  139. package/esm2020/tile/directives/numeric-content.directives.mjs +14 -34
  140. package/esm2020/tile/directives/tile.directives.mjs +9 -21
  141. package/esm2020/tile/tile.component.mjs +2 -2
  142. package/esm2020/token/token-input.directive.mjs +3 -7
  143. package/esm2020/token/tokenizer.component.mjs +20 -22
  144. package/esm2020/toolbar/toolbar.component.mjs +2 -2
  145. package/esm2020/tree/components/tree-item/tree-item.component.mjs +1 -1
  146. package/esm2020/tree/models/base-tree-item.class.mjs +2 -6
  147. package/esm2020/tree/tree.component.mjs +3 -7
  148. package/esm2020/upload-collection/upload-collection-item.directive.mjs +2 -2
  149. package/esm2020/wizard/wizard.component.mjs +2 -2
  150. package/facets/content/facet-content.component.d.ts +2 -4
  151. package/facets/facet/facet.component.d.ts +2 -6
  152. package/feed-input/directives/feed-input-avatar.directive.d.ts +2 -4
  153. package/feed-list-item/components/item/feed-list-item.component.d.ts +2 -4
  154. package/feed-list-item/components/list/feed-list.component.d.ts +2 -4
  155. package/fesm2015/fundamental-ngx-core-alert.mjs +4 -4
  156. package/fesm2015/fundamental-ngx-core-alert.mjs.map +1 -1
  157. package/fesm2015/fundamental-ngx-core-avatar-group.mjs +6 -18
  158. package/fesm2015/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  159. package/fesm2015/fundamental-ngx-core-avatar.mjs +5 -9
  160. package/fesm2015/fundamental-ngx-core-avatar.mjs.map +1 -1
  161. package/fesm2015/fundamental-ngx-core-bar.mjs +2 -6
  162. package/fesm2015/fundamental-ngx-core-bar.mjs.map +1 -1
  163. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs +2 -2
  164. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  165. package/fesm2015/fundamental-ngx-core-busy-indicator.mjs +3 -7
  166. package/fesm2015/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  167. package/fesm2015/fundamental-ngx-core-button.mjs +2 -8
  168. package/fesm2015/fundamental-ngx-core-button.mjs.map +1 -1
  169. package/fesm2015/fundamental-ngx-core-card.mjs +31 -91
  170. package/fesm2015/fundamental-ngx-core-card.mjs.map +1 -1
  171. package/fesm2015/fundamental-ngx-core-checkbox.mjs +4 -4
  172. package/fesm2015/fundamental-ngx-core-checkbox.mjs.map +1 -1
  173. package/fesm2015/fundamental-ngx-core-combobox.mjs +10 -5
  174. package/fesm2015/fundamental-ngx-core-combobox.mjs.map +1 -1
  175. package/fesm2015/fundamental-ngx-core-content-density.mjs +2 -2
  176. package/fesm2015/fundamental-ngx-core-content-density.mjs.map +1 -1
  177. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs +6 -3
  178. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  179. package/fesm2015/fundamental-ngx-core-dialog.mjs +16 -21
  180. package/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
  181. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs +7 -15
  182. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  183. package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs +2 -6
  184. package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
  185. package/fesm2015/fundamental-ngx-core-facets.mjs +15 -25
  186. package/fesm2015/fundamental-ngx-core-facets.mjs.map +1 -1
  187. package/fesm2015/fundamental-ngx-core-feed-input.mjs +2 -6
  188. package/fesm2015/fundamental-ngx-core-feed-input.mjs.map +1 -1
  189. package/fesm2015/fundamental-ngx-core-feed-list-item.mjs +4 -12
  190. package/fesm2015/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  191. package/fesm2015/fundamental-ngx-core-form.mjs +6 -18
  192. package/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  193. package/fesm2015/fundamental-ngx-core-grid-list.mjs +2 -2
  194. package/fesm2015/fundamental-ngx-core-grid-list.mjs.map +1 -1
  195. package/fesm2015/fundamental-ngx-core-icon.mjs +2 -6
  196. package/fesm2015/fundamental-ngx-core-icon.mjs.map +1 -1
  197. package/fesm2015/fundamental-ngx-core-illustrated-message.mjs +2 -6
  198. package/fesm2015/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  199. package/fesm2015/fundamental-ngx-core-info-label.mjs +2 -6
  200. package/fesm2015/fundamental-ngx-core-info-label.mjs.map +1 -1
  201. package/fesm2015/fundamental-ngx-core-inline-help.mjs +24 -13
  202. package/fesm2015/fundamental-ngx-core-inline-help.mjs.map +1 -1
  203. package/fesm2015/fundamental-ngx-core-input-group.mjs +6 -14
  204. package/fesm2015/fundamental-ngx-core-input-group.mjs.map +1 -1
  205. package/fesm2015/fundamental-ngx-core-layout-grid.mjs +4 -12
  206. package/fesm2015/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  207. package/fesm2015/fundamental-ngx-core-layout-panel.mjs +2 -6
  208. package/fesm2015/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  209. package/fesm2015/fundamental-ngx-core-link.mjs +8 -12
  210. package/fesm2015/fundamental-ngx-core-link.mjs.map +1 -1
  211. package/fesm2015/fundamental-ngx-core-list.mjs +6 -18
  212. package/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
  213. package/fesm2015/fundamental-ngx-core-menu.mjs +1 -1
  214. package/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
  215. package/fesm2015/fundamental-ngx-core-message-box.mjs +0 -8
  216. package/fesm2015/fundamental-ngx-core-message-box.mjs.map +1 -1
  217. package/fesm2015/fundamental-ngx-core-message-page.mjs +2 -6
  218. package/fesm2015/fundamental-ngx-core-message-page.mjs.map +1 -1
  219. package/fesm2015/fundamental-ngx-core-message-strip.mjs +488 -28
  220. package/fesm2015/fundamental-ngx-core-message-strip.mjs.map +1 -1
  221. package/fesm2015/fundamental-ngx-core-multi-combobox.mjs +5 -5
  222. package/fesm2015/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  223. package/fesm2015/fundamental-ngx-core-multi-input.mjs +33 -17
  224. package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
  225. package/fesm2015/fundamental-ngx-core-notification.mjs +5 -13
  226. package/fesm2015/fundamental-ngx-core-notification.mjs.map +1 -1
  227. package/fesm2015/fundamental-ngx-core-object-marker.mjs +2 -6
  228. package/fesm2015/fundamental-ngx-core-object-marker.mjs.map +1 -1
  229. package/fesm2015/fundamental-ngx-core-object-number.mjs +2 -6
  230. package/fesm2015/fundamental-ngx-core-object-number.mjs.map +1 -1
  231. package/fesm2015/fundamental-ngx-core-object-status.mjs +2 -6
  232. package/fesm2015/fundamental-ngx-core-object-status.mjs.map +1 -1
  233. package/fesm2015/fundamental-ngx-core-panel.mjs +2 -6
  234. package/fesm2015/fundamental-ngx-core-panel.mjs.map +1 -1
  235. package/fesm2015/fundamental-ngx-core-product-switch.mjs +1 -1
  236. package/fesm2015/fundamental-ngx-core-product-switch.mjs.map +1 -1
  237. package/fesm2015/fundamental-ngx-core-radio.mjs +1 -1
  238. package/fesm2015/fundamental-ngx-core-radio.mjs.map +1 -1
  239. package/fesm2015/fundamental-ngx-core-rating-indicator.mjs +2 -6
  240. package/fesm2015/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  241. package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs +5 -13
  242. package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  243. package/fesm2015/fundamental-ngx-core-segmented-button.mjs +3 -3
  244. package/fesm2015/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  245. package/fesm2015/fundamental-ngx-core-select.mjs +2 -2
  246. package/fesm2015/fundamental-ngx-core-select.mjs.map +1 -1
  247. package/fesm2015/fundamental-ngx-core-slider.mjs +2 -6
  248. package/fesm2015/fundamental-ngx-core-slider.mjs.map +1 -1
  249. package/fesm2015/fundamental-ngx-core-status-indicator.mjs +3 -7
  250. package/fesm2015/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  251. package/fesm2015/fundamental-ngx-core-table.mjs +64 -48
  252. package/fesm2015/fundamental-ngx-core-table.mjs.map +1 -1
  253. package/fesm2015/fundamental-ngx-core-tabs.mjs +6 -22
  254. package/fesm2015/fundamental-ngx-core-tabs.mjs.map +1 -1
  255. package/fesm2015/fundamental-ngx-core-tile.mjs +22 -54
  256. package/fesm2015/fundamental-ngx-core-tile.mjs.map +1 -1
  257. package/fesm2015/fundamental-ngx-core-token.mjs +22 -28
  258. package/fesm2015/fundamental-ngx-core-token.mjs.map +1 -1
  259. package/fesm2015/fundamental-ngx-core-toolbar.mjs +1 -1
  260. package/fesm2015/fundamental-ngx-core-toolbar.mjs.map +1 -1
  261. package/fesm2015/fundamental-ngx-core-tree.mjs +3 -11
  262. package/fesm2015/fundamental-ngx-core-tree.mjs.map +1 -1
  263. package/fesm2015/fundamental-ngx-core-upload-collection.mjs +1 -1
  264. package/fesm2015/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  265. package/fesm2015/fundamental-ngx-core-wizard.mjs +1 -1
  266. package/fesm2015/fundamental-ngx-core-wizard.mjs.map +1 -1
  267. package/fesm2020/fundamental-ngx-core-alert.mjs +4 -4
  268. package/fesm2020/fundamental-ngx-core-alert.mjs.map +1 -1
  269. package/fesm2020/fundamental-ngx-core-avatar-group.mjs +6 -18
  270. package/fesm2020/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  271. package/fesm2020/fundamental-ngx-core-avatar.mjs +5 -9
  272. package/fesm2020/fundamental-ngx-core-avatar.mjs.map +1 -1
  273. package/fesm2020/fundamental-ngx-core-bar.mjs +2 -6
  274. package/fesm2020/fundamental-ngx-core-bar.mjs.map +1 -1
  275. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs +2 -2
  276. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  277. package/fesm2020/fundamental-ngx-core-busy-indicator.mjs +3 -7
  278. package/fesm2020/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  279. package/fesm2020/fundamental-ngx-core-button.mjs +2 -8
  280. package/fesm2020/fundamental-ngx-core-button.mjs.map +1 -1
  281. package/fesm2020/fundamental-ngx-core-card.mjs +31 -91
  282. package/fesm2020/fundamental-ngx-core-card.mjs.map +1 -1
  283. package/fesm2020/fundamental-ngx-core-checkbox.mjs +4 -4
  284. package/fesm2020/fundamental-ngx-core-checkbox.mjs.map +1 -1
  285. package/fesm2020/fundamental-ngx-core-combobox.mjs +10 -5
  286. package/fesm2020/fundamental-ngx-core-combobox.mjs.map +1 -1
  287. package/fesm2020/fundamental-ngx-core-content-density.mjs +2 -2
  288. package/fesm2020/fundamental-ngx-core-content-density.mjs.map +1 -1
  289. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs +6 -3
  290. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  291. package/fesm2020/fundamental-ngx-core-dialog.mjs +16 -21
  292. package/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
  293. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs +7 -15
  294. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  295. package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs +2 -6
  296. package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
  297. package/fesm2020/fundamental-ngx-core-facets.mjs +15 -25
  298. package/fesm2020/fundamental-ngx-core-facets.mjs.map +1 -1
  299. package/fesm2020/fundamental-ngx-core-feed-input.mjs +2 -6
  300. package/fesm2020/fundamental-ngx-core-feed-input.mjs.map +1 -1
  301. package/fesm2020/fundamental-ngx-core-feed-list-item.mjs +4 -12
  302. package/fesm2020/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  303. package/fesm2020/fundamental-ngx-core-form.mjs +6 -18
  304. package/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  305. package/fesm2020/fundamental-ngx-core-grid-list.mjs +2 -2
  306. package/fesm2020/fundamental-ngx-core-grid-list.mjs.map +1 -1
  307. package/fesm2020/fundamental-ngx-core-icon.mjs +2 -6
  308. package/fesm2020/fundamental-ngx-core-icon.mjs.map +1 -1
  309. package/fesm2020/fundamental-ngx-core-illustrated-message.mjs +2 -6
  310. package/fesm2020/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  311. package/fesm2020/fundamental-ngx-core-info-label.mjs +2 -6
  312. package/fesm2020/fundamental-ngx-core-info-label.mjs.map +1 -1
  313. package/fesm2020/fundamental-ngx-core-inline-help.mjs +24 -13
  314. package/fesm2020/fundamental-ngx-core-inline-help.mjs.map +1 -1
  315. package/fesm2020/fundamental-ngx-core-input-group.mjs +6 -14
  316. package/fesm2020/fundamental-ngx-core-input-group.mjs.map +1 -1
  317. package/fesm2020/fundamental-ngx-core-layout-grid.mjs +4 -12
  318. package/fesm2020/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  319. package/fesm2020/fundamental-ngx-core-layout-panel.mjs +2 -6
  320. package/fesm2020/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  321. package/fesm2020/fundamental-ngx-core-link.mjs +8 -12
  322. package/fesm2020/fundamental-ngx-core-link.mjs.map +1 -1
  323. package/fesm2020/fundamental-ngx-core-list.mjs +6 -18
  324. package/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
  325. package/fesm2020/fundamental-ngx-core-menu.mjs +1 -1
  326. package/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
  327. package/fesm2020/fundamental-ngx-core-message-box.mjs +0 -8
  328. package/fesm2020/fundamental-ngx-core-message-box.mjs.map +1 -1
  329. package/fesm2020/fundamental-ngx-core-message-page.mjs +2 -6
  330. package/fesm2020/fundamental-ngx-core-message-page.mjs.map +1 -1
  331. package/fesm2020/fundamental-ngx-core-message-strip.mjs +493 -28
  332. package/fesm2020/fundamental-ngx-core-message-strip.mjs.map +1 -1
  333. package/fesm2020/fundamental-ngx-core-multi-combobox.mjs +5 -5
  334. package/fesm2020/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  335. package/fesm2020/fundamental-ngx-core-multi-input.mjs +31 -17
  336. package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
  337. package/fesm2020/fundamental-ngx-core-notification.mjs +5 -13
  338. package/fesm2020/fundamental-ngx-core-notification.mjs.map +1 -1
  339. package/fesm2020/fundamental-ngx-core-object-marker.mjs +2 -6
  340. package/fesm2020/fundamental-ngx-core-object-marker.mjs.map +1 -1
  341. package/fesm2020/fundamental-ngx-core-object-number.mjs +2 -6
  342. package/fesm2020/fundamental-ngx-core-object-number.mjs.map +1 -1
  343. package/fesm2020/fundamental-ngx-core-object-status.mjs +2 -6
  344. package/fesm2020/fundamental-ngx-core-object-status.mjs.map +1 -1
  345. package/fesm2020/fundamental-ngx-core-panel.mjs +2 -6
  346. package/fesm2020/fundamental-ngx-core-panel.mjs.map +1 -1
  347. package/fesm2020/fundamental-ngx-core-product-switch.mjs +1 -1
  348. package/fesm2020/fundamental-ngx-core-product-switch.mjs.map +1 -1
  349. package/fesm2020/fundamental-ngx-core-radio.mjs +1 -1
  350. package/fesm2020/fundamental-ngx-core-radio.mjs.map +1 -1
  351. package/fesm2020/fundamental-ngx-core-rating-indicator.mjs +2 -6
  352. package/fesm2020/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  353. package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs +5 -13
  354. package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  355. package/fesm2020/fundamental-ngx-core-segmented-button.mjs +3 -3
  356. package/fesm2020/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  357. package/fesm2020/fundamental-ngx-core-select.mjs +2 -2
  358. package/fesm2020/fundamental-ngx-core-select.mjs.map +1 -1
  359. package/fesm2020/fundamental-ngx-core-slider.mjs +2 -6
  360. package/fesm2020/fundamental-ngx-core-slider.mjs.map +1 -1
  361. package/fesm2020/fundamental-ngx-core-status-indicator.mjs +3 -7
  362. package/fesm2020/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  363. package/fesm2020/fundamental-ngx-core-table.mjs +64 -48
  364. package/fesm2020/fundamental-ngx-core-table.mjs.map +1 -1
  365. package/fesm2020/fundamental-ngx-core-tabs.mjs +6 -22
  366. package/fesm2020/fundamental-ngx-core-tabs.mjs.map +1 -1
  367. package/fesm2020/fundamental-ngx-core-tile.mjs +22 -54
  368. package/fesm2020/fundamental-ngx-core-tile.mjs.map +1 -1
  369. package/fesm2020/fundamental-ngx-core-token.mjs +21 -27
  370. package/fesm2020/fundamental-ngx-core-token.mjs.map +1 -1
  371. package/fesm2020/fundamental-ngx-core-toolbar.mjs +1 -1
  372. package/fesm2020/fundamental-ngx-core-toolbar.mjs.map +1 -1
  373. package/fesm2020/fundamental-ngx-core-tree.mjs +3 -11
  374. package/fesm2020/fundamental-ngx-core-tree.mjs.map +1 -1
  375. package/fesm2020/fundamental-ngx-core-upload-collection.mjs +1 -1
  376. package/fesm2020/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  377. package/fesm2020/fundamental-ngx-core-wizard.mjs +1 -1
  378. package/fesm2020/fundamental-ngx-core-wizard.mjs.map +1 -1
  379. package/form/form-control/form-control.component.d.ts +2 -4
  380. package/form/form-group/form-group.component.d.ts +2 -4
  381. package/form/form-message/form-message.component.d.ts +2 -4
  382. package/fundamental-ngx-core-v0.42.0.tgz +0 -0
  383. package/icon/icon.component.d.ts +2 -4
  384. package/illustrated-message/illustrated-message.component.d.ts +2 -4
  385. package/info-label/info-label.component.d.ts +2 -4
  386. package/inline-help/inline-help.directive.d.ts +9 -3
  387. package/input-group/input-group-directives.d.ts +5 -9
  388. package/layout-grid/directives/layout-grid-col.directive.d.ts +2 -4
  389. package/layout-grid/layout-grid.component.d.ts +2 -4
  390. package/layout-panel/layout-panel-footer/layout-panel-footer.component.d.ts +4 -6
  391. package/link/link.component.d.ts +2 -4
  392. package/list/directives/list-icon.directive.d.ts +4 -5
  393. package/list/directives/list-navigation-item-text.directive.d.ts +2 -4
  394. package/list/list-message.directive.d.ts +2 -4
  395. package/message-box/message-box-container/message-box-container.component.d.ts +0 -2
  396. package/message-box/message-box.component.d.ts +0 -2
  397. package/message-page/message-page.component.d.ts +2 -4
  398. package/message-strip/alert/default-config.d.ts +5 -0
  399. package/message-strip/alert/index.d.ts +9 -0
  400. package/message-strip/alert/message-strip-alert/message-strip-alert.component.d.ts +52 -0
  401. package/message-strip/alert/message-strip-alert-container/message-strip-alert-container.component.d.ts +28 -0
  402. package/message-strip/alert/message-strip-alert-container-footer/message-strip-alert-container-footer.component.d.ts +36 -0
  403. package/message-strip/alert/message-strip-alert.position.d.ts +3 -0
  404. package/message-strip/alert/message-strip-alert.ref.d.ts +14 -0
  405. package/message-strip/alert/message-strip-alert.service.d.ts +52 -0
  406. package/message-strip/alert/message-strip-configuration-type.d.ts +15 -0
  407. package/message-strip/alert/open-message-strip-alert.config.d.ts +22 -0
  408. package/message-strip/alert/tokens.d.ts +20 -0
  409. package/message-strip/auto-dismiss-message-strip.directive.d.ts +35 -0
  410. package/message-strip/index.d.ts +5 -5
  411. package/message-strip/message-strip-type.d.ts +2 -0
  412. package/message-strip/message-strip.component.d.ts +6 -9
  413. package/message-strip/message-strip.module.d.ts +2 -4
  414. package/multi-combobox/multi-combobox.component.d.ts +1 -1
  415. package/multi-input/multi-input.component.d.ts +10 -6
  416. package/notification/directives/notification-indicator.directive.d.ts +2 -4
  417. package/notification/notification-group/notification-group.component.d.ts +2 -4
  418. package/object-marker/object-marker.component.d.ts +2 -4
  419. package/object-number/object-number.component.d.ts +2 -4
  420. package/object-status/object-status.component.d.ts +2 -4
  421. package/package.json +3 -3
  422. package/panel/panel.component.d.ts +2 -4
  423. package/radio/radio-button/radio-button.component.d.ts +1 -1
  424. package/rating-indicator/components/rating-indicator.component.d.ts +2 -4
  425. package/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.d.ts +2 -4
  426. package/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.d.ts +2 -4
  427. package/schematics/add-dependencies/index.js +4 -4
  428. package/slider/slider.component.d.ts +2 -4
  429. package/status-indicator/status-indicator.component.d.ts +2 -4
  430. package/table/directives/table-cell.directive.d.ts +6 -12
  431. package/table/directives/table-icon.directive.d.ts +2 -6
  432. package/table/directives/table-row.directive.d.ts +10 -10
  433. package/tabs/tab-item/tab-item.directive.d.ts +2 -4
  434. package/tabs/tab-nav/tab-nav.component.d.ts +4 -8
  435. package/tabs/tab-utils/tab-directives.d.ts +2 -6
  436. package/tile/directives/numeric-content.directives.d.ts +10 -20
  437. package/tile/directives/tile.directives.d.ts +6 -12
  438. package/tile/tile.component.d.ts +1 -1
  439. package/token/token-input.directive.d.ts +2 -4
  440. package/token/tokenizer.component.d.ts +2 -4
  441. package/toolbar/toolbar.component.d.ts +1 -1
  442. package/tree/models/base-tree-item.class.d.ts +1 -3
  443. package/tree/tree.component.d.ts +1 -3
  444. package/esm2020/message-strip/public_api.mjs +0 -3
  445. package/fundamental-ngx-core-v0.42.0-rc.9.tgz +0 -0
  446. package/message-strip/public_api.d.ts +0 -2
@@ -0,0 +1,68 @@
1
+ import { Component, inject, Renderer2, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';
2
+ import { ComponentPortal, DomPortal, PortalModule, TemplatePortal } from '@angular/cdk/portal';
3
+ import { MessageStripComponent } from '../../message-strip.component';
4
+ import { MessageStripAlertRef } from '../message-strip-alert.ref';
5
+ import { MessageStripAlertComponentData } from '../tokens';
6
+ import { AutoDismissMessageStripDirective } from '../../auto-dismiss-message-strip.directive';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/cdk/portal";
9
+ /**
10
+ * The wrapper component, which is wrapping the Message Strip and passes
11
+ * configuration to it, also generates the content which will appear in it.
12
+ */
13
+ export class MessageStripAlertComponent {
14
+ /** @hidden */
15
+ constructor() {
16
+ /** User provided data. Full of it */
17
+ this.data = inject(MessageStripAlertComponentData);
18
+ /** @hidden */
19
+ this.viewContainerRef = inject(ViewContainerRef);
20
+ /** @hidden */
21
+ this.renderer2 = inject(Renderer2);
22
+ /**
23
+ * Reference to the message strip alert, which is used to close it from the outside, or access the data and/or the component instance
24
+ * */
25
+ this.alertRef = inject(MessageStripAlertRef);
26
+ this.messageStripConfig = this.data.messageStripConfig;
27
+ this.contentPortal = this.getPortal(this.data.content);
28
+ }
29
+ /**
30
+ * Handler for the dismiss button click.
31
+ * */
32
+ onDismissHandler() {
33
+ this.messageStripConfig.onDismiss();
34
+ }
35
+ /** @hidden */
36
+ ngOnDestroy() {
37
+ clearTimeout(this.autoDismissTimeout);
38
+ }
39
+ /** @hidden */
40
+ ngAfterViewInit() {
41
+ this.autoDismissMessageStripDirective.open();
42
+ }
43
+ /**
44
+ * Method, which is responsible for generating the portal, which will be rendered inside the message strip.
45
+ * It can be any type of the portal, depending on the user provided content.
46
+ * */
47
+ getPortal(content) {
48
+ if (typeof content === 'string') {
49
+ const textEl = this.renderer2.createText(content);
50
+ this.renderer2.appendChild(this.viewContainerRef.element.nativeElement, textEl);
51
+ return new DomPortal(textEl);
52
+ }
53
+ if (content instanceof TemplateRef) {
54
+ return new TemplatePortal(content, this.viewContainerRef, { $implicit: this.alertRef });
55
+ }
56
+ return new ComponentPortal(content);
57
+ }
58
+ }
59
+ MessageStripAlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
60
+ MessageStripAlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: MessageStripAlertComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "autoDismissMessageStripDirective", first: true, predicate: AutoDismissMessageStripDirective, descendants: true }], ngImport: i0, template: "<fd-message-strip\n [class]=\"messageStripConfig.class\"\n [dismissible]=\"messageStripConfig.dismissible\"\n [autoDismiss]=\"messageStripConfig.duration > 0\"\n [mousePersist]=\"messageStripConfig.mousePersist\"\n [duration]=\"messageStripConfig.duration\"\n [noIcon]=\"messageStripConfig.noIcon\"\n [type]=\"messageStripConfig.type\"\n [id]=\"messageStripConfig.id\"\n [ariaLabelledBy]=\"messageStripConfig.ariaLabelledBy\"\n [ariaLabel]=\"messageStripConfig.ariaLabel\"\n [dismissLabel]=\"messageStripConfig.dismissLabel\"\n (onDismiss)=\"onDismissHandler()\"\n>\n <ng-template [cdkPortalOutlet]=\"contentPortal\"></ng-template>\n</fd-message-strip>\n", dependencies: [{ kind: "component", type: MessageStripComponent, selector: "fd-message-strip", inputs: ["class", "dismissible", "noIcon", "type", "id", "ariaLabelledBy", "ariaLabel", "dismissLabel", "width", "minWidth", "marginBottom"], outputs: ["onDismiss"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: AutoDismissMessageStripDirective, selector: "fd-message-strip[mousePersist], fd-message-strip[duration], fd-message-strip[autoDismiss]", inputs: ["dismissible", "autoDismiss", "duration", "mousePersist"], exportAs: ["fdAutoDismissMessageStrip"] }] });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertComponent, decorators: [{
62
+ type: Component,
63
+ args: [{ standalone: true, imports: [MessageStripComponent, PortalModule, AutoDismissMessageStripDirective], template: "<fd-message-strip\n [class]=\"messageStripConfig.class\"\n [dismissible]=\"messageStripConfig.dismissible\"\n [autoDismiss]=\"messageStripConfig.duration > 0\"\n [mousePersist]=\"messageStripConfig.mousePersist\"\n [duration]=\"messageStripConfig.duration\"\n [noIcon]=\"messageStripConfig.noIcon\"\n [type]=\"messageStripConfig.type\"\n [id]=\"messageStripConfig.id\"\n [ariaLabelledBy]=\"messageStripConfig.ariaLabelledBy\"\n [ariaLabel]=\"messageStripConfig.ariaLabel\"\n [dismissLabel]=\"messageStripConfig.dismissLabel\"\n (onDismiss)=\"onDismissHandler()\"\n>\n <ng-template [cdkPortalOutlet]=\"contentPortal\"></ng-template>\n</fd-message-strip>\n" }]
64
+ }], ctorParameters: function () { return []; }, propDecorators: { autoDismissMessageStripDirective: [{
65
+ type: ViewChild,
66
+ args: [AutoDismissMessageStripDirective]
67
+ }] } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1zdHJpcC1hbGVydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9tZXNzYWdlLXN0cmlwL2FsZXJ0L21lc3NhZ2Utc3RyaXAtYWxlcnQvbWVzc2FnZS1zdHJpcC1hbGVydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9tZXNzYWdlLXN0cmlwL2FsZXJ0L21lc3NhZ2Utc3RyaXAtYWxlcnQvbWVzc2FnZS1zdHJpcC1hbGVydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULE1BQU0sRUFFTixTQUFTLEVBQ1QsV0FBVyxFQUVYLFNBQVMsRUFDVCxnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQVUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7O0FBRTlGOzs7R0FHRztBQU1ILE1BQU0sT0FBTywwQkFBMEI7SUE0Qm5DLGNBQWM7SUFDZDtRQXhCQSxxQ0FBcUM7UUFDckMsU0FBSSxHQUFHLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBTTlDLGNBQWM7UUFDTixxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwRCxjQUFjO1FBQ04sY0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQVF0Qzs7Y0FFTTtRQUNHLGFBQVEsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUk3QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7O1VBRU07SUFDTixnQkFBZ0I7UUFDWixJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXO1FBQ1AsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxjQUFjO0lBQ2QsZUFBZTtRQUNYLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztVQUdNO0lBQ0UsU0FBUyxDQUNiLE9BS3lCO1FBT3pCLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQzdCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2hGLE9BQU8sSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDaEM7UUFDRCxJQUFJLE9BQU8sWUFBWSxXQUFXLEVBQUU7WUFDaEMsT0FBTyxJQUFJLGNBQWMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQzNGO1FBQ0QsT0FBTyxJQUFJLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDOzt1SEE3RVEsMEJBQTBCOzJHQUExQiwwQkFBMEIsMElBRXhCLGdDQUFnQyxnREM3Qi9DLHVyQkFnQkEsNENEU2MscUJBQXFCLGtPQUFFLFlBQVksa01BQUUsZ0NBQWdDOzJGQUV0RSwwQkFBMEI7a0JBTHRDLFNBQVM7aUNBRU0sSUFBSSxXQUNQLENBQUMscUJBQXFCLEVBQUUsWUFBWSxFQUFFLGdDQUFnQyxDQUFDOzBFQUtoRixnQ0FBZ0M7c0JBRC9CLFNBQVM7dUJBQUMsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBpbmplY3QsXG4gICAgT25EZXN0cm95LFxuICAgIFJlbmRlcmVyMixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBUeXBlLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZVN0cmlwQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL21lc3NhZ2Utc3RyaXAtY29uZmlndXJhdGlvbi10eXBlJztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgRG9tUG9ydGFsLCBQb3J0YWwsIFBvcnRhbE1vZHVsZSwgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IE1lc3NhZ2VTdHJpcENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21lc3NhZ2Utc3RyaXAuY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2VTdHJpcEFsZXJ0UmVmIH0gZnJvbSAnLi4vbWVzc2FnZS1zdHJpcC1hbGVydC5yZWYnO1xuaW1wb3J0IHsgTWVzc2FnZVN0cmlwQWxlcnRDb21wb25lbnREYXRhIH0gZnJvbSAnLi4vdG9rZW5zJztcbmltcG9ydCB7IEF1dG9EaXNtaXNzTWVzc2FnZVN0cmlwRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vYXV0by1kaXNtaXNzLW1lc3NhZ2Utc3RyaXAuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBUaGUgd3JhcHBlciBjb21wb25lbnQsIHdoaWNoIGlzIHdyYXBwaW5nIHRoZSBNZXNzYWdlIFN0cmlwIGFuZCBwYXNzZXNcbiAqIGNvbmZpZ3VyYXRpb24gdG8gaXQsIGFsc28gZ2VuZXJhdGVzIHRoZSBjb250ZW50IHdoaWNoIHdpbGwgYXBwZWFyIGluIGl0LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogYC4vbWVzc2FnZS1zdHJpcC1hbGVydC5jb21wb25lbnQuaHRtbGAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTWVzc2FnZVN0cmlwQ29tcG9uZW50LCBQb3J0YWxNb2R1bGUsIEF1dG9EaXNtaXNzTWVzc2FnZVN0cmlwRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlU3RyaXBBbGVydENvbXBvbmVudDxDb21wb25lbnRUeXBlID0gdW5rbm93bj4gaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZChBdXRvRGlzbWlzc01lc3NhZ2VTdHJpcERpcmVjdGl2ZSlcbiAgICBhdXRvRGlzbWlzc01lc3NhZ2VTdHJpcERpcmVjdGl2ZTogQXV0b0Rpc21pc3NNZXNzYWdlU3RyaXBEaXJlY3RpdmU7XG5cbiAgICAvKiogVXNlciBwcm92aWRlZCBkYXRhLiBGdWxsIG9mIGl0ICovXG4gICAgZGF0YSA9IGluamVjdChNZXNzYWdlU3RyaXBBbGVydENvbXBvbmVudERhdGEpO1xuICAgIC8qKiBDb25maWd1cmF0aW9uIGZvciB0aGUgbWVzc2FnZSBzdHJpcCBhcHBlYXJhbmNlICovXG4gICAgbWVzc2FnZVN0cmlwQ29uZmlnOiBNZXNzYWdlU3RyaXBDb25maWd1cmF0aW9uO1xuICAgIC8qKiBQb3J0YWwsIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciBjb3JyZWN0bHkgcmVuZGVyaW5nIHVzZXIgcHJvdmlkZWQgY29udGVudC4gSXQgY2FuIGJlIGFueSB0eXBlIG9mIHRoZSBwb3J0YWwgKi9cbiAgICBjb250ZW50UG9ydGFsOiBQb3J0YWw8dW5rbm93bj47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVuZGVyZXIyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgICAvKipcbiAgICAgKiBUaW1lb3V0LCB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgYXV0by1kaXNtaXNzaW5nIHRoZSBtZXNzYWdlIHN0cmlwLlxuICAgICAqIEl0IHNob3VsZCBiZSBwcm9wZXJseSBjbGVhcmVkIG9uIGNvbXBvbmVudCBkZXN0cm95LlxuICAgICAqL1xuICAgIHByaXZhdGUgYXV0b0Rpc21pc3NUaW1lb3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcblxuICAgIC8qKlxuICAgICAqIFJlZmVyZW5jZSB0byB0aGUgbWVzc2FnZSBzdHJpcCBhbGVydCwgd2hpY2ggaXMgdXNlZCB0byBjbG9zZSBpdCBmcm9tIHRoZSBvdXRzaWRlLCBvciBhY2Nlc3MgdGhlIGRhdGEgYW5kL29yIHRoZSBjb21wb25lbnQgaW5zdGFuY2VcbiAgICAgKiAgKi9cbiAgICByZWFkb25seSBhbGVydFJlZiA9IGluamVjdChNZXNzYWdlU3RyaXBBbGVydFJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTdHJpcENvbmZpZyA9IHRoaXMuZGF0YS5tZXNzYWdlU3RyaXBDb25maWc7XG4gICAgICAgIHRoaXMuY29udGVudFBvcnRhbCA9IHRoaXMuZ2V0UG9ydGFsKHRoaXMuZGF0YS5jb250ZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGVyIGZvciB0aGUgZGlzbWlzcyBidXR0b24gY2xpY2suXG4gICAgICogICovXG4gICAgb25EaXNtaXNzSGFuZGxlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlU3RyaXBDb25maWcub25EaXNtaXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuYXV0b0Rpc21pc3NUaW1lb3V0KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hdXRvRGlzbWlzc01lc3NhZ2VTdHJpcERpcmVjdGl2ZS5vcGVuKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kLCB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgZ2VuZXJhdGluZyB0aGUgcG9ydGFsLCB3aGljaCB3aWxsIGJlIHJlbmRlcmVkIGluc2lkZSB0aGUgbWVzc2FnZSBzdHJpcC5cbiAgICAgKiBJdCBjYW4gYmUgYW55IHR5cGUgb2YgdGhlIHBvcnRhbCwgZGVwZW5kaW5nIG9uIHRoZSB1c2VyIHByb3ZpZGVkIGNvbnRlbnQuXG4gICAgICogICovXG4gICAgcHJpdmF0ZSBnZXRQb3J0YWwoXG4gICAgICAgIGNvbnRlbnQ6XG4gICAgICAgICAgICB8IHN0cmluZ1xuICAgICAgICAgICAgfCBUZW1wbGF0ZVJlZjx7XG4gICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IE1lc3NhZ2VTdHJpcEFsZXJ0UmVmPENvbXBvbmVudFR5cGU+O1xuICAgICAgICAgICAgICB9PlxuICAgICAgICAgICAgfCBUeXBlPENvbXBvbmVudFR5cGU+XG4gICAgKTpcbiAgICAgICAgfCBEb21Qb3J0YWxcbiAgICAgICAgfCBUZW1wbGF0ZVBvcnRhbDx7XG4gICAgICAgICAgICAgICRpbXBsaWNpdDogTWVzc2FnZVN0cmlwQWxlcnRSZWY8Q29tcG9uZW50VHlwZT47XG4gICAgICAgICAgfT5cbiAgICAgICAgfCBDb21wb25lbnRQb3J0YWw8Q29tcG9uZW50VHlwZT4ge1xuICAgICAgICBpZiAodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0RWwgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVUZXh0KGNvbnRlbnQpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlcjIuYXBwZW5kQ2hpbGQodGhpcy52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGV4dEVsKTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRG9tUG9ydGFsKHRleHRFbCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBUZW1wbGF0ZVBvcnRhbChjb250ZW50LCB0aGlzLnZpZXdDb250YWluZXJSZWYsIHsgJGltcGxpY2l0OiB0aGlzLmFsZXJ0UmVmIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgQ29tcG9uZW50UG9ydGFsKGNvbnRlbnQpO1xuICAgIH1cbn1cbiIsIjxmZC1tZXNzYWdlLXN0cmlwXG4gICAgW2NsYXNzXT1cIm1lc3NhZ2VTdHJpcENvbmZpZy5jbGFzc1wiXG4gICAgW2Rpc21pc3NpYmxlXT1cIm1lc3NhZ2VTdHJpcENvbmZpZy5kaXNtaXNzaWJsZVwiXG4gICAgW2F1dG9EaXNtaXNzXT1cIm1lc3NhZ2VTdHJpcENvbmZpZy5kdXJhdGlvbiA+IDBcIlxuICAgIFttb3VzZVBlcnNpc3RdPVwibWVzc2FnZVN0cmlwQ29uZmlnLm1vdXNlUGVyc2lzdFwiXG4gICAgW2R1cmF0aW9uXT1cIm1lc3NhZ2VTdHJpcENvbmZpZy5kdXJhdGlvblwiXG4gICAgW25vSWNvbl09XCJtZXNzYWdlU3RyaXBDb25maWcubm9JY29uXCJcbiAgICBbdHlwZV09XCJtZXNzYWdlU3RyaXBDb25maWcudHlwZVwiXG4gICAgW2lkXT1cIm1lc3NhZ2VTdHJpcENvbmZpZy5pZFwiXG4gICAgW2FyaWFMYWJlbGxlZEJ5XT1cIm1lc3NhZ2VTdHJpcENvbmZpZy5hcmlhTGFiZWxsZWRCeVwiXG4gICAgW2FyaWFMYWJlbF09XCJtZXNzYWdlU3RyaXBDb25maWcuYXJpYUxhYmVsXCJcbiAgICBbZGlzbWlzc0xhYmVsXT1cIm1lc3NhZ2VTdHJpcENvbmZpZy5kaXNtaXNzTGFiZWxcIlxuICAgIChvbkRpc21pc3MpPVwib25EaXNtaXNzSGFuZGxlcigpXCJcbj5cbiAgICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJjb250ZW50UG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbjwvZmQtbWVzc2FnZS1zdHJpcD5cbiJdfQ==
@@ -0,0 +1,57 @@
1
+ import { Component, QueryList, ViewChildren, ViewEncapsulation } from '@angular/core';
2
+ import { CdkPortalOutlet, PortalModule } from '@angular/cdk/portal';
3
+ import { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';
4
+ import { MessageStripAlertComponent } from '../message-strip-alert/message-strip-alert.component';
5
+ import { AsyncPipe, NgFor } from '@angular/common';
6
+ import { MessageStripAlertContainerFooterComponent } from '../message-strip-alert-container-footer/message-strip-alert-container-footer.component';
7
+ import { map, startWith } from 'rxjs';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/cdk/portal";
10
+ /**
11
+ * This will be rendered in the overlay. It is responsible for rendering the alerts and the footer.
12
+ */
13
+ export class MessageStripAlertContainerComponent {
14
+ constructor() {
15
+ /**
16
+ * The list of the elements that are attached to the container.
17
+ */
18
+ this.attachedElements = [];
19
+ }
20
+ /** @hidden */
21
+ ngAfterViewInit() {
22
+ this.alertRefs$ = this.portalOutlets.changes.pipe(startWith(this.portalOutlets), map(() => this.portalOutlets
23
+ .toArray()
24
+ .map((p) => p.attachedRef?.instance.alertRef)));
25
+ }
26
+ }
27
+ MessageStripAlertContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
+ MessageStripAlertContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: MessageStripAlertContainerComponent, isStandalone: true, selector: "fd-message-strip-alert-container", viewQueries: [{ propertyName: "portalOutlets", predicate: CdkPortalOutlet, descendants: true }, { propertyName: "alerts", predicate: MessageStripAlertComponent, descendants: true }], ngImport: i0, template: `
29
+ <div fdScrollbar>
30
+ <ng-container *ngFor="let portal of attachedElements">
31
+ <ng-template [cdkPortalOutlet]="portal"></ng-template>
32
+ </ng-container>
33
+ </div>
34
+ <fd-message-strip-alert-container-footer
35
+ [alertRefs]="alertRefs$ | async"
36
+ ></fd-message-strip-alert-container-footer>
37
+ `, isInline: true, styles: [".fd-message-strip-alert-overlay{max-width:33.33vw;padding:.5rem}.fd-message-strip-alert-overlay--top{top:0;max-height:100vh}.fd-message-strip-alert-overlay--top.fd-message-strip-alert-overlay--bottom-opened{max-height:50vh}.fd-message-strip-alert-overlay--bottom{top:initial;bottom:0;max-height:100vh}.fd-message-strip-alert-overlay--bottom fd-message-strip-alert-container{flex-direction:column-reverse}.fd-message-strip-alert-overlay--bottom.fd-message-strip-alert-overlay--top-opened{max-height:50vh}.fd-message-strip-alert-overlay--start{left:0}.fd-message-strip-alert-overlay--middle{left:33.33vw;width:33.33vw}@media screen and (max-width: 992px){.fd-message-strip-alert-overlay--middle{left:5vw;width:90vw;max-width:90vw}}.fd-message-strip-alert-overlay--middle fd-message-strip-alert-container{width:100%}.fd-message-strip-alert-overlay--middle fd-message-strip-alert-container>.fd-scrollbar>*{width:-moz-fit-content;width:fit-content;margin:0 auto}.fd-message-strip-alert-overlay--end{right:0}.fd-message-strip-alert-overlay fd-message-strip-alert-container{display:flex;flex-direction:column}.fd-message-strip-alert-overlay fd-message-strip-alert-container div[fdscrollbar]{width:100%;display:flex;padding:.5rem;gap:.75rem;flex-direction:column;max-height:100%}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible", "overrideTabindex"] }, { kind: "component", type: MessageStripAlertContainerFooterComponent, selector: "fd-message-strip-alert-container-footer", inputs: ["alertRefs"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertContainerComponent, decorators: [{
39
+ type: Component,
40
+ args: [{ selector: 'fd-message-strip-alert-container', template: `
41
+ <div fdScrollbar>
42
+ <ng-container *ngFor="let portal of attachedElements">
43
+ <ng-template [cdkPortalOutlet]="portal"></ng-template>
44
+ </ng-container>
45
+ </div>
46
+ <fd-message-strip-alert-container-footer
47
+ [alertRefs]="alertRefs$ | async"
48
+ ></fd-message-strip-alert-container-footer>
49
+ `, encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgFor, PortalModule, ScrollbarDirective, MessageStripAlertContainerFooterComponent, AsyncPipe], styles: [".fd-message-strip-alert-overlay{max-width:33.33vw;padding:.5rem}.fd-message-strip-alert-overlay--top{top:0;max-height:100vh}.fd-message-strip-alert-overlay--top.fd-message-strip-alert-overlay--bottom-opened{max-height:50vh}.fd-message-strip-alert-overlay--bottom{top:initial;bottom:0;max-height:100vh}.fd-message-strip-alert-overlay--bottom fd-message-strip-alert-container{flex-direction:column-reverse}.fd-message-strip-alert-overlay--bottom.fd-message-strip-alert-overlay--top-opened{max-height:50vh}.fd-message-strip-alert-overlay--start{left:0}.fd-message-strip-alert-overlay--middle{left:33.33vw;width:33.33vw}@media screen and (max-width: 992px){.fd-message-strip-alert-overlay--middle{left:5vw;width:90vw;max-width:90vw}}.fd-message-strip-alert-overlay--middle fd-message-strip-alert-container{width:100%}.fd-message-strip-alert-overlay--middle fd-message-strip-alert-container>.fd-scrollbar>*{width:-moz-fit-content;width:fit-content;margin:0 auto}.fd-message-strip-alert-overlay--end{right:0}.fd-message-strip-alert-overlay fd-message-strip-alert-container{display:flex;flex-direction:column}.fd-message-strip-alert-overlay fd-message-strip-alert-container div[fdscrollbar]{width:100%;display:flex;padding:.5rem;gap:.75rem;flex-direction:column;max-height:100%}\n"] }]
50
+ }], propDecorators: { portalOutlets: [{
51
+ type: ViewChildren,
52
+ args: [CdkPortalOutlet]
53
+ }], alerts: [{
54
+ type: ViewChildren,
55
+ args: [MessageStripAlertComponent]
56
+ }] } });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1zdHJpcC1hbGVydC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbWVzc2FnZS1zdHJpcC9hbGVydC9tZXNzYWdlLXN0cmlwLWFsZXJ0LWNvbnRhaW5lci9tZXNzYWdlLXN0cmlwLWFsZXJ0LWNvbnRhaW5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLGVBQWUsRUFBbUIsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSx3RkFBd0YsQ0FBQztBQUNuSixPQUFPLEVBQUUsR0FBRyxFQUFjLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBSWxEOztHQUVHO0FBa0JILE1BQU0sT0FBTyxtQ0FBbUM7SUFqQmhEO1FBa0JJOztXQUVHO1FBQ0gscUJBQWdCLEdBQWtELEVBQUUsQ0FBQztLQTJCeEU7SUFYRyxjQUFjO0lBQ2QsZUFBZTtRQUNYLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUM3QyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUM3QixHQUFHLENBQUMsR0FBRyxFQUFFLENBQ0wsSUFBSSxDQUFDLGFBQWE7YUFDYixPQUFPLEVBQUU7YUFDVCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFFLENBQUMsQ0FBQyxXQUF3RCxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FDbEcsQ0FDSixDQUFDO0lBQ04sQ0FBQzs7Z0lBOUJRLG1DQUFtQztvSEFBbkMsbUNBQW1DLDhIQWE5QixlQUFlLDREQUlmLDBCQUEwQixnREFoQzlCOzs7Ozs7Ozs7S0FTVCxtMENBSVMsS0FBSyxrSEFBRSxZQUFZLGtNQUFFLGtCQUFrQixtS0FBRSx5Q0FBeUMsc0dBQUUsU0FBUzsyRkFFOUYsbUNBQW1DO2tCQWpCL0MsU0FBUzsrQkFDSSxrQ0FBa0MsWUFDbEM7Ozs7Ozs7OztLQVNULGlCQUVjLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSx5Q0FBeUMsRUFBRSxTQUFTLENBQUM7OEJBZ0J4RyxhQUFhO3NCQURaLFlBQVk7dUJBQUMsZUFBZTtnQkFLN0IsTUFBTTtzQkFETCxZQUFZO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ29tcG9uZW50UmVmLCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENka1BvcnRhbE91dGxldCwgQ29tcG9uZW50UG9ydGFsLCBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IFNjcm9sbGJhckRpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zY3JvbGxiYXInO1xuaW1wb3J0IHsgTWVzc2FnZVN0cmlwQWxlcnRDb21wb25lbnQgfSBmcm9tICcuLi9tZXNzYWdlLXN0cmlwLWFsZXJ0L21lc3NhZ2Utc3RyaXAtYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWVzc2FnZVN0cmlwQWxlcnRDb250YWluZXJGb290ZXJDb21wb25lbnQgfSBmcm9tICcuLi9tZXNzYWdlLXN0cmlwLWFsZXJ0LWNvbnRhaW5lci1mb290ZXIvbWVzc2FnZS1zdHJpcC1hbGVydC1jb250YWluZXItZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBNZXNzYWdlU3RyaXBBbGVydFJlZiB9IGZyb20gJy4uL21lc3NhZ2Utc3RyaXAtYWxlcnQucmVmJztcblxuLyoqXG4gKiBUaGlzIHdpbGwgYmUgcmVuZGVyZWQgaW4gdGhlIG92ZXJsYXkuIEl0IGlzIHJlc3BvbnNpYmxlIGZvciByZW5kZXJpbmcgdGhlIGFsZXJ0cyBhbmQgdGhlIGZvb3Rlci5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1tZXNzYWdlLXN0cmlwLWFsZXJ0LWNvbnRhaW5lcicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiBmZFNjcm9sbGJhcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHBvcnRhbCBvZiBhdHRhY2hlZEVsZW1lbnRzXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwicG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGZkLW1lc3NhZ2Utc3RyaXAtYWxlcnQtY29udGFpbmVyLWZvb3RlclxuICAgICAgICAgICAgW2FsZXJ0UmVmc109XCJhbGVydFJlZnMkIHwgYXN5bmNcIlxuICAgICAgICA+PC9mZC1tZXNzYWdlLXN0cmlwLWFsZXJ0LWNvbnRhaW5lci1mb290ZXI+XG4gICAgYCxcbiAgICBzdHlsZVVybHM6IFsnLi9tZXNzYWdlLXN0cmlwLWFsZXJ0LWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdGb3IsIFBvcnRhbE1vZHVsZSwgU2Nyb2xsYmFyRGlyZWN0aXZlLCBNZXNzYWdlU3RyaXBBbGVydENvbnRhaW5lckZvb3RlckNvbXBvbmVudCwgQXN5bmNQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlU3RyaXBBbGVydENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIC8qKlxuICAgICAqIFRoZSBsaXN0IG9mIHRoZSBlbGVtZW50cyB0aGF0IGFyZSBhdHRhY2hlZCB0byB0aGUgY29udGFpbmVyLlxuICAgICAqL1xuICAgIGF0dGFjaGVkRWxlbWVudHM6IENvbXBvbmVudFBvcnRhbDxNZXNzYWdlU3RyaXBBbGVydENvbXBvbmVudD5bXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogTGlzdCBvZiB0aGUgcmVuZGVyZWQgbWVzc2FnZSBzdHJpcCBhbGVydHMuIEl0IGlzIHVzZWQgaW4gdGhlIGZvb3RlciBhbmQgaXMgaW5qZWN0ZWQgaW50byB0aGVcbiAgICAgKiB1c2VyLXByb3ZpZGVkIGZvb3RlciBjb21wb25lbnQgcG9ydGFsLiBUaGlzIHdheSwgdXNlciBoYXMgZnVsbCBjb250cm9sIG92ZXIgdGhlIGNvbnRhaW5lciBhbGVydHMuXG4gICAgICovXG4gICAgYWxlcnRSZWZzJCE6IE9ic2VydmFibGU8TWVzc2FnZVN0cmlwQWxlcnRSZWZbXT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oQ2RrUG9ydGFsT3V0bGV0KVxuICAgIHBvcnRhbE91dGxldHM6IFF1ZXJ5TGlzdDxDZGtQb3J0YWxPdXRsZXQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkcmVuKE1lc3NhZ2VTdHJpcEFsZXJ0Q29tcG9uZW50KVxuICAgIGFsZXJ0czogUXVlcnlMaXN0PE1lc3NhZ2VTdHJpcEFsZXJ0Q29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFsZXJ0UmVmcyQgPSB0aGlzLnBvcnRhbE91dGxldHMuY2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMucG9ydGFsT3V0bGV0cyksXG4gICAgICAgICAgICBtYXAoKCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLnBvcnRhbE91dGxldHNcbiAgICAgICAgICAgICAgICAgICAgLnRvQXJyYXkoKVxuICAgICAgICAgICAgICAgICAgICAubWFwKChwKSA9PiAocC5hdHRhY2hlZFJlZiBhcyBDb21wb25lbnRSZWY8TWVzc2FnZVN0cmlwQWxlcnRDb21wb25lbnQ+KT8uaW5zdGFuY2UuYWxlcnRSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,65 @@
1
+ import { Component, inject, Injector, Input } from '@angular/core';
2
+ import { MessageStripAlertService } from '../message-strip-alert.service';
3
+ import { DestroyedService } from '@fundamental-ngx/cdk/utils';
4
+ import { takeUntil } from 'rxjs/operators';
5
+ import { BehaviorSubject, map, tap } from 'rxjs';
6
+ import { ComponentPortal, PortalModule } from '@angular/cdk/portal';
7
+ import { MessageStripAlertContainerAlertRefs, MessageStripAlertContainerPosition } from '../tokens';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/cdk/portal";
10
+ /**
11
+ * The component that represents the footer of the message strip alert container.
12
+ * if user has provided the footer component through service, then this component
13
+ * will render it inside itself.
14
+ * Bear in mind that this component is always created, just sometimes if there is nothing to render
15
+ * it will be empty.
16
+ */
17
+ export class MessageStripAlertContainerFooterComponent {
18
+ constructor() {
19
+ /**
20
+ * Position of the overlay in which this component is rendered.
21
+ */
22
+ this.position = inject(MessageStripAlertContainerPosition);
23
+ /** @hidden */
24
+ this.destroyed = inject(DestroyedService);
25
+ /** @hidden */
26
+ this.messageStripAlertService = inject(MessageStripAlertService);
27
+ /**
28
+ * Observable that emits the alert references that are currently rendered in the container.
29
+ */
30
+ this.alertRefs$ = new BehaviorSubject([]);
31
+ }
32
+ /** @hidden */
33
+ set alertRefs(alertRefs) {
34
+ this.alertRefs$.next(alertRefs);
35
+ }
36
+ /** @hidden */
37
+ ngAfterViewInit() {
38
+ this.messageStripAlertService.footerComponents$
39
+ .pipe(map((components) => components[this.position]), tap((footerComponent) => {
40
+ if (footerComponent) {
41
+ this.footerComponentPortal = new ComponentPortal(footerComponent, null, Injector.create({
42
+ providers: [
43
+ {
44
+ provide: MessageStripAlertContainerAlertRefs,
45
+ useValue: this.alertRefs$.pipe(takeUntil(this.destroyed))
46
+ }
47
+ ]
48
+ }));
49
+ }
50
+ else {
51
+ this.footerComponentPortal = undefined;
52
+ }
53
+ }), takeUntil(this.destroyed))
54
+ .subscribe();
55
+ }
56
+ }
57
+ MessageStripAlertContainerFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertContainerFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
58
+ MessageStripAlertContainerFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: MessageStripAlertContainerFooterComponent, isStandalone: true, selector: "fd-message-strip-alert-container-footer", inputs: { alertRefs: "alertRefs" }, providers: [DestroyedService], ngImport: i0, template: ` <ng-template [cdkPortalOutlet]="footerComponentPortal"></ng-template> `, isInline: true, styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertContainerFooterComponent, decorators: [{
60
+ type: Component,
61
+ args: [{ selector: 'fd-message-strip-alert-container-footer', template: ` <ng-template [cdkPortalOutlet]="footerComponentPortal"></ng-template> `, standalone: true, imports: [PortalModule], providers: [DestroyedService], styles: [":host{display:block}\n"] }]
62
+ }], propDecorators: { alertRefs: [{
63
+ type: Input
64
+ }] } });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1zdHJpcC1hbGVydC1jb250YWluZXItZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL21lc3NhZ2Utc3RyaXAvYWxlcnQvbWVzc2FnZS1zdHJpcC1hbGVydC1jb250YWluZXItZm9vdGVyL21lc3NhZ2Utc3RyaXAtYWxlcnQtY29udGFpbmVyLWZvb3Rlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFZLE1BQU0sNEJBQTRCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBRXBHOzs7Ozs7R0FNRztBQWVILE1BQU0sT0FBTyx5Q0FBeUM7SUFkdEQ7UUEwQkk7O1dBRUc7UUFDSyxhQUFRLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFFOUQsY0FBYztRQUNOLGNBQVMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUU3QyxjQUFjO1FBQ04sNkJBQXdCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFFcEU7O1dBRUc7UUFDSyxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQW1DLEVBQUUsQ0FBQyxDQUFDO0tBNkJsRjtJQXRERyxjQUFjO0lBQ2QsSUFDSSxTQUFTLENBQUMsU0FBMkM7UUFDckQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQXVCRCxjQUFjO0lBQ2QsZUFBZTtRQUNYLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUI7YUFDMUMsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUM5QyxHQUFHLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUNwQixJQUFJLGVBQWUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksZUFBZSxDQUM1QyxlQUFlLEVBQ2YsSUFBSSxFQUNKLFFBQVEsQ0FBQyxNQUFNLENBQUM7b0JBQ1osU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxtQ0FBbUM7NEJBQzVDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO3lCQUM1RDtxQkFDSjtpQkFDSixDQUFDLENBQ0wsQ0FBQzthQUNMO2lCQUFNO2dCQUNILElBQUksQ0FBQyxxQkFBcUIsR0FBRyxTQUFTLENBQUM7YUFDMUM7UUFDTCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUM1QjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7O3NJQXREUSx5Q0FBeUM7MEhBQXpDLHlDQUF5QywwSEFGdkMsQ0FBQyxnQkFBZ0IsQ0FBQywwQkFWbkIseUVBQXlFLCtGQVN6RSxZQUFZOzJGQUdiLHlDQUF5QztrQkFkckQsU0FBUzsrQkFDSSx5Q0FBeUMsWUFDekMseUVBQXlFLGNBUXZFLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxhQUNaLENBQUMsZ0JBQWdCLENBQUM7OEJBS3pCLFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgaW5qZWN0LCBJbmplY3RvciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2VTdHJpcEFsZXJ0U2VydmljZSB9IGZyb20gJy4uL21lc3NhZ2Utc3RyaXAtYWxlcnQuc2VydmljZSc7XG5pbXBvcnQgeyBEZXN0cm95ZWRTZXJ2aWNlLCBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBNZXNzYWdlU3RyaXBBbGVydFJlZiB9IGZyb20gJy4uL21lc3NhZ2Utc3RyaXAtYWxlcnQucmVmJztcbmltcG9ydCB7IE1lc3NhZ2VTdHJpcEFsZXJ0Q29udGFpbmVyQWxlcnRSZWZzLCBNZXNzYWdlU3RyaXBBbGVydENvbnRhaW5lclBvc2l0aW9uIH0gZnJvbSAnLi4vdG9rZW5zJztcblxuLyoqXG4gKiBUaGUgY29tcG9uZW50IHRoYXQgcmVwcmVzZW50cyB0aGUgZm9vdGVyIG9mIHRoZSBtZXNzYWdlIHN0cmlwIGFsZXJ0IGNvbnRhaW5lci5cbiAqIGlmIHVzZXIgaGFzIHByb3ZpZGVkIHRoZSBmb290ZXIgY29tcG9uZW50IHRocm91Z2ggc2VydmljZSwgdGhlbiB0aGlzIGNvbXBvbmVudFxuICogd2lsbCByZW5kZXIgaXQgaW5zaWRlIGl0c2VsZi5cbiAqIEJlYXIgaW4gbWluZCB0aGF0IHRoaXMgY29tcG9uZW50IGlzIGFsd2F5cyBjcmVhdGVkLCBqdXN0IHNvbWV0aW1lcyBpZiB0aGVyZSBpcyBub3RoaW5nIHRvIHJlbmRlclxuICogaXQgd2lsbCBiZSBlbXB0eS5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1tZXNzYWdlLXN0cmlwLWFsZXJ0LWNvbnRhaW5lci1mb290ZXInLFxuICAgIHRlbXBsYXRlOiBgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cImZvb3RlckNvbXBvbmVudFBvcnRhbFwiPjwvbmctdGVtcGxhdGU+IGAsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbUG9ydGFsTW9kdWxlXSxcbiAgICBwcm92aWRlcnM6IFtEZXN0cm95ZWRTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlU3RyaXBBbGVydENvbnRhaW5lckZvb3RlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQElucHV0KClcbiAgICBzZXQgYWxlcnRSZWZzKGFsZXJ0UmVmczogTnVsbGFibGU8TWVzc2FnZVN0cmlwQWxlcnRSZWZbXT4pIHtcbiAgICAgICAgdGhpcy5hbGVydFJlZnMkLm5leHQoYWxlcnRSZWZzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWZlcmVuY2UgdG8gdGhlIHVzZXIgcHJvdmlkZWQgY29tcG9uZW50J3MgcG9ydGFsLlxuICAgICAqL1xuICAgIGZvb3RlckNvbXBvbmVudFBvcnRhbD86IENvbXBvbmVudFBvcnRhbDxhbnk+O1xuXG4gICAgLyoqXG4gICAgICogUG9zaXRpb24gb2YgdGhlIG92ZXJsYXkgaW4gd2hpY2ggdGhpcyBjb21wb25lbnQgaXMgcmVuZGVyZWQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBwb3NpdGlvbiA9IGluamVjdChNZXNzYWdlU3RyaXBBbGVydENvbnRhaW5lclBvc2l0aW9uKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBpbmplY3QoRGVzdHJveWVkU2VydmljZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgbWVzc2FnZVN0cmlwQWxlcnRTZXJ2aWNlID0gaW5qZWN0KE1lc3NhZ2VTdHJpcEFsZXJ0U2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGFsZXJ0IHJlZmVyZW5jZXMgdGhhdCBhcmUgY3VycmVudGx5IHJlbmRlcmVkIGluIHRoZSBjb250YWluZXIuXG4gICAgICovXG4gICAgcHJpdmF0ZSBhbGVydFJlZnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOdWxsYWJsZTxNZXNzYWdlU3RyaXBBbGVydFJlZltdPj4oW10pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVzc2FnZVN0cmlwQWxlcnRTZXJ2aWNlLmZvb3RlckNvbXBvbmVudHMkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGNvbXBvbmVudHMpID0+IGNvbXBvbmVudHNbdGhpcy5wb3NpdGlvbl0pLFxuICAgICAgICAgICAgICAgIHRhcCgoZm9vdGVyQ29tcG9uZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmb290ZXJDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9vdGVyQ29tcG9uZW50UG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb290ZXJDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBNZXNzYWdlU3RyaXBBbGVydENvbnRhaW5lckFsZXJ0UmVmcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogdGhpcy5hbGVydFJlZnMkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb290ZXJDb21wb25lbnRQb3J0YWwgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1zdHJpcC1hbGVydC5wb3NpdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL21lc3NhZ2Utc3RyaXAvYWxlcnQvbWVzc2FnZS1zdHJpcC1hbGVydC5wb3NpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgTWVzc2FnZVN0cmlwQWxlcnRWZXJ0aWNhbFBvc2l0aW9uID0gJ3RvcCcgfCAnYm90dG9tJztcbmV4cG9ydCB0eXBlIE1lc3NhZ2VTdHJpcEFsZXJ0SG9yaXpvbnRhbFBvc2l0aW9uID0gJ3N0YXJ0JyB8ICdtaWRkbGUnIHwgJ2VuZCc7XG5leHBvcnQgdHlwZSBNZXNzYWdlU3RyaXBBbGVydFBvc2l0aW9uID0gYCR7TWVzc2FnZVN0cmlwQWxlcnRWZXJ0aWNhbFBvc2l0aW9ufS0ke01lc3NhZ2VTdHJpcEFsZXJ0SG9yaXpvbnRhbFBvc2l0aW9ufWA7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export class MessageStripAlertRef {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1zdHJpcC1hbGVydC5yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9tZXNzYWdlLXN0cmlwL2FsZXJ0L21lc3NhZ2Utc3RyaXAtYWxlcnQucmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBZ0Isb0JBQW9CO0NBVXpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBNZXNzYWdlU3RyaXBBbGVydENvbXBvbmVudCB9IGZyb20gJy4vbWVzc2FnZS1zdHJpcC1hbGVydC9tZXNzYWdlLXN0cmlwLWFsZXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNZXNzYWdlU3RyaXBBbGVydFJlZjxDb21wb25lbnRUeXBlID0gdW5rbm93bj4ge1xuICAgIC8qKiBNZXNzYWdlIHN0cmlwIGFsZXJ0IGNvbXBvbmVudCBwb3J0YWwgd2hpY2ggaXMgcmVuZGVyZWQgaW4gdGhlIGNvbnRhaW5lciAqL1xuICAgIGFic3RyYWN0IHBvcnRhbDogQ29tcG9uZW50UG9ydGFsPE1lc3NhZ2VTdHJpcEFsZXJ0Q29tcG9uZW50PENvbXBvbmVudFR5cGU+PjtcbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiwgd2hpY2ggZGlzbWlzc2VzIHRoZSBhbGVydCwgaXQgY2FsbHMgdGhlIHVzZXItcHJvdmlkZWQgZnVuY3Rpb25cbiAgICAgKiBhZnRlciBkaXNtaXNzaW5nIHRoZSBhY3R1YWwgYWxlcnRcbiAgICAgKi9cbiAgICBhYnN0cmFjdCBkaXNtaXNzOiAoKSA9PiB2b2lkO1xuICAgIC8qKiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgd2hlbiB0aGUgYWxlcnQgaXMgZGlzbWlzc2VkICovXG4gICAgYWJzdHJhY3Qgb25EaXNtaXNzJDogT2JzZXJ2YWJsZTx2b2lkPjtcbn1cbiJdfQ==
@@ -0,0 +1,195 @@
1
+ import { inject, Injectable, Injector } from '@angular/core';
2
+ import { Overlay } from '@angular/cdk/overlay';
3
+ import { ComponentPortal } from '@angular/cdk/portal';
4
+ import { BehaviorSubject, combineLatest, map, Subject, tap } from 'rxjs';
5
+ import { ResponsiveBreakpoints, ViewportSizeObservable } from '@fundamental-ngx/cdk/utils';
6
+ import { MessageStripAlertContainerComponent } from './message-strip-alert-container/message-strip-alert-container.component';
7
+ import { MessageStripAlertComponent } from './message-strip-alert/message-strip-alert.component';
8
+ import { MessageStripAlertRef } from './message-strip-alert.ref';
9
+ import { MessageStripAlertComponentData, MessageStripAlertContainerPosition } from './tokens';
10
+ import { applyDefaultConfig } from './default-config';
11
+ import * as i0 from "@angular/core";
12
+ /**
13
+ * Service that is responsible for opening and closing message strip alerts.
14
+ * This should be only created once in entire application.
15
+ * Service is responsible for creating and managing the overlays for the
16
+ * message strip alerts. This also manages the footer components for any
17
+ * given position.
18
+ */
19
+ export class MessageStripAlertService {
20
+ /** @hidden */
21
+ constructor() {
22
+ /** @hidden */
23
+ this.injector = inject(Injector);
24
+ /** @hidden */
25
+ this._overlay = inject(Overlay);
26
+ /** @hidden */
27
+ this.viewportSize$ = inject(ViewportSizeObservable);
28
+ /** @hidden */
29
+ this._messageStripAlertService = inject(MessageStripAlertService, { optional: true, skipSelf: true });
30
+ /** @hidden */
31
+ this._messageAlerts$ = new BehaviorSubject([]);
32
+ /** @hidden */
33
+ this._overlayRefs = {};
34
+ /** @hidden */
35
+ this._messageStripAlertContainerFooters$ = new BehaviorSubject({});
36
+ /** @hidden */
37
+ this.footerComponents$ = this._messageStripAlertContainerFooters$.asObservable();
38
+ if (this._messageStripAlertService) {
39
+ throw new Error('MessageStripAlertService is already provided');
40
+ }
41
+ this.listenToItemsChanges();
42
+ }
43
+ /**
44
+ * Set the footer component for a given position.
45
+ */
46
+ setFooterComponent(position, component) {
47
+ this._messageStripAlertContainerFooters$.next({
48
+ ...this._messageStripAlertContainerFooters$.value,
49
+ [position]: component
50
+ });
51
+ }
52
+ /**
53
+ * Open a message strip alert with given configuration
54
+ */
55
+ open(c) {
56
+ const config = applyDefaultConfig(c);
57
+ const alertRef = this.getMessageStripAlertRef(config);
58
+ this._messageAlerts$.next([{ ...config, portal: alertRef.portal }, ...this._messageAlerts$.value]);
59
+ return alertRef;
60
+ }
61
+ /** @hidden */
62
+ getMessageStripAlertRef(config) {
63
+ const onDismiss$ = new Subject();
64
+ const alertRef = {
65
+ portal: new ComponentPortal((MessageStripAlertComponent), null, Injector.create({
66
+ providers: [
67
+ {
68
+ provide: MessageStripAlertComponentData,
69
+ useValue: {
70
+ content: config.content,
71
+ messageStripConfig: {
72
+ ...config.messageStrip,
73
+ onDismiss: () => {
74
+ this._messageAlerts$.next(this._messageAlerts$.value.filter((item) => item.portal !== alertRef.portal));
75
+ config.messageStrip &&
76
+ config.messageStrip.onDismiss &&
77
+ config.messageStrip.onDismiss();
78
+ onDismiss$.next();
79
+ }
80
+ }
81
+ }
82
+ },
83
+ {
84
+ provide: MessageStripAlertRef,
85
+ useFactory: () => alertRef
86
+ }
87
+ ],
88
+ parent: this.injector
89
+ })),
90
+ dismiss: () => {
91
+ this._messageAlerts$.next(this._messageAlerts$.value.filter((item) => item.portal !== alertRef.portal));
92
+ config.messageStrip && config.messageStrip.onDismiss && config.messageStrip.onDismiss();
93
+ onDismiss$.next();
94
+ onDismiss$.complete();
95
+ },
96
+ onDismiss$: onDismiss$.asObservable()
97
+ };
98
+ return alertRef;
99
+ }
100
+ /** @hidden */
101
+ listenToItemsChanges() {
102
+ combineLatest([this.viewportSize$, this._messageAlerts$.asObservable()])
103
+ .pipe(map(([viewportSize, messageAlerts]) => {
104
+ if (viewportSize < ResponsiveBreakpoints.M) {
105
+ return messageAlerts.reduce((acc, next) => {
106
+ const position = next.position?.startsWith('top') ? 'top-middle' : 'bottom-middle';
107
+ acc[position] = [...(acc[position] || []), next.portal];
108
+ return acc;
109
+ }, {});
110
+ }
111
+ return messageAlerts.reduce((acc, next) => {
112
+ acc[next.position] = [...(acc[next.position] || []), next.portal];
113
+ return acc;
114
+ }, {});
115
+ }), tap((messageAlertsByPosition) => {
116
+ let topSectionIsOpened = false;
117
+ let bottomSectionIsOpened = false;
118
+ Object.entries(messageAlertsByPosition).forEach(([position, portals]) => {
119
+ topSectionIsOpened = topSectionIsOpened || position.startsWith('top');
120
+ bottomSectionIsOpened = bottomSectionIsOpened || position.startsWith('bottom');
121
+ const { containerRef } = this.getOverlayRef(position);
122
+ containerRef.instance.attachedElements = portals;
123
+ containerRef.changeDetectorRef.detectChanges();
124
+ });
125
+ this.syncExistingOverlays(messageAlertsByPosition, bottomSectionIsOpened, topSectionIsOpened);
126
+ }))
127
+ .subscribe();
128
+ }
129
+ /** @hidden */
130
+ syncExistingOverlays(messageAlertsByPosition, bottomSectionIsOpened, topSectionIsOpened) {
131
+ Object.keys(this._overlayRefs).forEach((position) => {
132
+ if (!messageAlertsByPosition[position]) {
133
+ this._overlayRefs[position].ref.dispose();
134
+ delete this._overlayRefs[position];
135
+ }
136
+ else {
137
+ const ref = this._overlayRefs[position].ref;
138
+ if (position.startsWith('top')) {
139
+ if (bottomSectionIsOpened) {
140
+ ref.overlayElement.classList.add('fd-message-strip-alert-overlay--bottom-opened');
141
+ }
142
+ else {
143
+ ref.overlayElement.classList.remove('fd-message-strip-alert-overlay--bottom-opened');
144
+ }
145
+ }
146
+ if (position.startsWith('bottom')) {
147
+ if (topSectionIsOpened) {
148
+ ref.overlayElement.classList.add('fd-message-strip-alert-overlay--top-opened');
149
+ }
150
+ else {
151
+ ref.overlayElement.classList.remove('fd-message-strip-alert-overlay--top-opened');
152
+ }
153
+ }
154
+ }
155
+ });
156
+ }
157
+ /** @hidden */
158
+ getOverlayRef(position) {
159
+ if (!this._overlayRefs[position]) {
160
+ const [verticalPosition, horizontalPosition] = position.split('-');
161
+ const overlayRef = this.createOverlay(verticalPosition, horizontalPosition);
162
+ const containerRef = overlayRef.attach(new ComponentPortal(MessageStripAlertContainerComponent, null, Injector.create({
163
+ parent: this.injector,
164
+ providers: [
165
+ {
166
+ provide: MessageStripAlertContainerPosition,
167
+ useValue: position
168
+ }
169
+ ]
170
+ })));
171
+ this._overlayRefs[position] = { ref: overlayRef, containerRef };
172
+ }
173
+ return this._overlayRefs[position];
174
+ }
175
+ /** @hidden */
176
+ createOverlay(verticalPosition, horizontalPosition) {
177
+ return this._overlay.create({
178
+ panelClass: [
179
+ 'fd-message-strip-alert-overlay',
180
+ `fd-message-strip-alert-overlay--${verticalPosition}`,
181
+ `fd-message-strip-alert-overlay--${horizontalPosition}`
182
+ ],
183
+ hasBackdrop: false
184
+ });
185
+ }
186
+ }
187
+ MessageStripAlertService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
188
+ MessageStripAlertService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertService, providedIn: 'root' });
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertService, decorators: [{
190
+ type: Injectable,
191
+ args: [{
192
+ providedIn: 'root'
193
+ }]
194
+ }], ctorParameters: function () { return []; } });
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1zdHJpcC1hbGVydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbWVzc2FnZS1zdHJpcC9hbGVydC9tZXNzYWdlLXN0cmlwLWFsZXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUsT0FBTyxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQzlILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBR2pHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFdEQ7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFPLHdCQUF3QjtJQXlDakMsY0FBYztJQUNkO1FBekNBLGNBQWM7UUFDTixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXBDLGNBQWM7UUFDRyxhQUFRLEdBQVksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXJELGNBQWM7UUFDTixrQkFBYSxHQUFHLE1B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c0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBpbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgU3ViamVjdCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZXNwb25zaXZlQnJlYWtwb2ludHMsIFZpZXdwb3J0U2l6ZU9ic2VydmFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBNZXNzYWdlU3RyaXBBbGVydENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vbWVzc2FnZS1zdHJpcC1hbGVydC1jb250YWluZXIvbWVzc2FnZS1zdHJpcC1hbGVydC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2VTdHJpcEFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdlLXN0cmlwLWFsZXJ0L21lc3NhZ2Utc3RyaXAtYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2VTdHJpcEFsZXJ0UG9zaXRpb24gfSBmcm9tICcuL21lc3NhZ2Utc3RyaXAtYWxlcnQucG9zaXRpb24nO1xuaW1wb3J0IHsgT3Blbk1lc3NhZ2VTdHJpcEFsZXJ0Q29uZmlnIH0gZnJvbSAnLi9vcGVuLW1lc3NhZ2Utc3RyaXAtYWxlcnQuY29uZmlnJztcbmltcG9ydCB7IE1lc3NhZ2VTdHJpcEFsZXJ0UmVmIH0gZnJvbSAnLi9tZXNzYWdlLXN0cmlwLWFsZXJ0LnJlZic7XG5pbXBvcnQgeyBNZXNzYWdlU3RyaXBBbGVydENvbXBvbmVudERhdGEsIE1lc3NhZ2VTdHJpcEFsZXJ0Q29udGFpbmVyUG9zaXRpb24gfSBmcm9tICcuL3Rva2Vucyc7XG5pbXBvcnQgeyBhcHBseURlZmF1bHRDb25maWcgfSBmcm9tICcuL2RlZmF1bHQtY29uZmlnJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIG9wZW5pbmcgYW5kIGNsb3NpbmcgbWVzc2FnZSBzdHJpcCBhbGVydHMuXG4gKiBUaGlzIHNob3VsZCBiZSBvbmx5IGNyZWF0ZWQgb25jZSBpbiBlbnRpcmUgYXBwbGljYXRpb24uXG4gKiBTZXJ2aWNlIGlzIHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyBhbmQgbWFuYWdpbmcgdGhlIG92ZXJsYXlzIGZvciB0aGVcbiAqIG1lc3NhZ2Ugc3RyaXAgYWxlcnRzLiBUaGlzIGFsc28gbWFuYWdlcyB0aGUgZm9vdGVyIGNvbXBvbmVudHMgZm9yIGFueVxuICogZ2l2ZW4gcG9zaXRpb24uXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZVN0cmlwQWxlcnRTZXJ2aWNlIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vdmVybGF5OiBPdmVybGF5ID0gaW5qZWN0KE92ZXJsYXkpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHZpZXdwb3J0U2l6ZSQgPSBpbmplY3QoVmlld3BvcnRTaXplT2JzZXJ2YWJsZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX21lc3NhZ2VTdHJpcEFsZXJ0U2VydmljZSA9IGluamVjdChNZXNzYWdlU3RyaXBBbGVydFNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUsIHNraXBTZWxmOiB0cnVlIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9tZXNzYWdlQWxlcnRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8XG4gICAgICAgIEFycmF5PFxuICAgICAgICAgICAgUmVxdWlyZWQ8T3Blbk1lc3NhZ2VTdHJpcEFsZXJ0Q29uZmlnPiAmIHtcbiAgICAgICAgICAgICAgICBwb3J0YWw6IENvbXBvbmVudFBvcnRhbDxNZXNzYWdlU3RyaXBBbGVydENvbXBvbmVudD47XG4gICAgICAgICAgICB9XG4gICAgICAgID5cbiAgICA+KFtdKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfb3ZlcmxheVJlZnM6IFBhcnRpYWw8XG4gICAgICAgIFJlY29yZDxcbiAgICAgICAgICAgIE1lc3NhZ2VTdHJpcEFsZXJ0UG9zaXRpb24sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmVmOiBPdmVybGF5UmVmO1xuICAgICAgICAgICAgICAgIGNvbnRhaW5lclJlZjogQ29tcG9uZW50UmVmPE1lc3NhZ2VTdHJpcEFsZXJ0Q29udGFpbmVyQ29tcG9uZW50PjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgPlxuICAgID4gPSB7fTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbWVzc2FnZVN0cmlwQWxlcnRDb250YWluZXJGb290ZXJzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8XG4gICAgICAgIFBhcnRpYWw8UmVjb3JkPE1lc3NhZ2VTdHJpcEFsZXJ0UG9zaXRpb24sIFR5cGU8YW55Pj4+XG4gICAgPih7fSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGZvb3RlckNvbXBvbmVudHMkID0gdGhpcy5fbWVzc2FnZVN0cmlwQWxlcnRDb250YWluZXJGb290ZXJzJC5hc09ic2VydmFibGUoKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGlmICh0aGlzLl9tZXNzYWdlU3RyaXBBbGVydFNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTWVzc2FnZVN0cmlwQWxlcnRTZXJ2aWNlIGlzIGFscmVhZHkgcHJvdmlkZWQnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxpc3RlblRvSXRlbXNDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBmb290ZXIgY29tcG9uZW50IGZvciBhIGdpdmVuIHBvc2l0aW9uLlxuICAgICAqL1xuICAgIHNldEZvb3RlckNvbXBvbmVudChwb3NpdGlvbjogTWVzc2FnZVN0cmlwQWxlcnRQb3NpdGlvbiwgY29tcG9uZW50OiBUeXBlPGFueT4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbWVzc2FnZVN0cmlwQWxlcnRDb250YWluZXJGb290ZXJzJC5uZXh0KHtcbiAgICAgICAgICAgIC4uLnRoaXMuX21lc3NhZ2VTdHJpcEFsZXJ0Q29udGFpbmVyRm9vdGVycyQudmFsdWUsXG4gICAgICAgICAgICBbcG9zaXRpb25dOiBjb21wb25lbnRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT3BlbiBhIG1lc3NhZ2Ugc3RyaXAgYWxlcnQgd2l0aCBnaXZlbiBjb25maWd1cmF0aW9uXG4gICAgICovXG4gICAgb3BlbjxDb21wb25lbnRUeXBlID0gdW5rbm93bj4oYzogT3Blbk1lc3NhZ2VTdHJpcEFsZXJ0Q29uZmlnPENvbXBvbmVudFR5cGU+KTogTWVzc2FnZVN0cmlwQWxlcnRSZWY8Q29tcG9uZW50VHlwZT4ge1xuICAgICAgICBjb25zdCBjb25maWcgPSBhcHBseURlZmF1bHRDb25maWc8Q29tcG9uZW50VHlwZT4oYyk7XG4gICAgICAgIGNvbnN0IGFsZXJ0UmVmID0gdGhpcy5nZXRNZXNzYWdlU3RyaXBBbGVydFJlZihjb25maWcpO1xuICAgICAgICB0aGlzLl9tZXNzYWdlQWxlcnRzJC5uZXh0KFt7IC4uLmNvbmZpZywgcG9ydGFsOiBhbGVydFJlZi5wb3J0YWwgfSwgLi4udGhpcy5fbWVzc2FnZUFsZXJ0cyQudmFsdWVdKTtcbiAgICAgICAgcmV0dXJuIGFsZXJ0UmVmO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXRNZXNzYWdlU3RyaXBBbGVydFJlZjxDb21wb25lbnRUeXBlID0gdW5rbm93bj4oXG4gICAgICAgIGNvbmZpZzogUmVxdWlyZWQ8T3Blbk1lc3NhZ2VTdHJpcEFsZXJ0Q29uZmlnPENvbXBvbmVudFR5cGU+PlxuICAgICk6IE1lc3NhZ2VTdHJpcEFsZXJ0UmVmPENvbXBvbmVudFR5cGU+IHtcbiAgICAgICAgY29uc3Qgb25EaXNtaXNzJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgICAgIGNvbnN0IGFsZXJ0UmVmID0ge1xuICAgICAgICAgICAgcG9ydGFsOiBuZXcgQ29tcG9uZW50UG9ydGFsKFxuICAgICAgICAgICAgICAgIE1lc3NhZ2VTdHJpcEFsZXJ0Q29tcG9uZW50PENvbXBvbmVudFR5cGU+LFxuICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogTWVzc2FnZVN0cmlwQWxlcnRDb21wb25lbnREYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGNvbmZpZy5jb250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlU3RyaXBDb25maWc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmNvbmZpZy5tZXNzYWdlU3RyaXAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkRpc21pc3M6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9tZXNzYWdlQWxlcnRzJC5uZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9tZXNzYWdlQWxlcnRzJC52YWx1ZS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0ucG9ydGFsICE9PSBhbGVydFJlZi5wb3J0YWwpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWcubWVzc2FnZVN0cmlwICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZy5tZXNzYWdlU3RyaXAub25EaXNtaXNzICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZy5tZXNzYWdlU3RyaXAub25EaXNtaXNzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25EaXNtaXNzJC5uZXh0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IE1lc3NhZ2VTdHJpcEFsZXJ0UmVmLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IGFsZXJ0UmVmXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvclxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZGlzbWlzczogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX21lc3NhZ2VBbGVydHMkLm5leHQodGhpcy5fbWVzc2FnZUFsZXJ0cyQudmFsdWUuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnBvcnRhbCAhPT0gYWxlcnRSZWYucG9ydGFsKSk7XG4gICAgICAgICAgICAgICAgY29uZmlnLm1lc3NhZ2VTdHJpcCAmJiBjb25maWcubWVzc2FnZVN0cmlwLm9uRGlzbWlzcyAmJiBjb25maWcubWVzc2FnZVN0cmlwLm9uRGlzbWlzcygpO1xuICAgICAgICAgICAgICAgIG9uRGlzbWlzcyQubmV4dCgpO1xuICAgICAgICAgICAgICAgIG9uRGlzbWlzcyQuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvbkRpc21pc3MkOiBvbkRpc21pc3MkLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBhbGVydFJlZjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgbGlzdGVuVG9JdGVtc0NoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMudmlld3BvcnRTaXplJCwgdGhpcy5fbWVzc2FnZUFsZXJ0cyQuYXNPYnNlcnZhYmxlKCldKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICAoW3ZpZXdwb3J0U2l6ZSwgbWVzc2FnZUFsZXJ0c10pOiBSZWNvcmQ8XG4gICAgICAgICAgICAgICAgICAgICAgICBNZXNzYWdlU3RyaXBBbGVydFBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXk8Q29tcG9uZW50UG9ydGFsPE1lc3NhZ2VTdHJpcEFsZXJ0Q29tcG9uZW50Pj5cbiAgICAgICAgICAgICAgICAgICAgPiA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodmlld3BvcnRTaXplIDwgUmVzcG9uc2l2ZUJyZWFrcG9pbnRzLk0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWVzc2FnZUFsZXJ0cy5yZWR1Y2UoKGFjYywgbmV4dCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwb3NpdGlvbiA9IG5leHQucG9zaXRpb24/LnN0YXJ0c1dpdGgoJ3RvcCcpID8gJ3RvcC1taWRkbGUnIDogJ2JvdHRvbS1taWRkbGUnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NbcG9zaXRpb25dID0gWy4uLihhY2NbcG9zaXRpb25dIHx8IFtdKSwgbmV4dC5wb3J0YWxdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHt9IGFzIFJlY29yZDxNZXNzYWdlU3RyaXBBbGVydFBvc2l0aW9uLCBBcnJheTxDb21wb25lbnRQb3J0YWw8TWVzc2FnZVN0cmlwQWxlcnRDb21wb25lbnQ+Pj4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1lc3NhZ2VBbGVydHMucmVkdWNlKChhY2MsIG5leHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NbbmV4dC5wb3NpdGlvbl0gPSBbLi4uKGFjY1tuZXh0LnBvc2l0aW9uXSB8fCBbXSksIG5leHQucG9ydGFsXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSwge30gYXMgUmVjb3JkPE1lc3NhZ2VTdHJpcEFsZXJ0UG9zaXRpb24sIEFycmF5PENvbXBvbmVudFBvcnRhbDxNZXNzYWdlU3RyaXBBbGVydENvbXBvbmVudD4+Pik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHRhcChcbiAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZUFsZXJ0c0J5UG9zaXRpb246IFBhcnRpYWw8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVjb3JkPE1lc3NhZ2VTdHJpcEFsZXJ0UG9zaXRpb24sIEFycmF5PENvbXBvbmVudFBvcnRhbDxNZXNzYWdlU3RyaXBBbGVydENvbXBvbmVudD4+PlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0b3BTZWN0aW9uSXNPcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBib3R0b21TZWN0aW9uSXNPcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhtZXNzYWdlQWxlcnRzQnlQb3NpdGlvbikgYXMgQXJyYXk8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtNZXNzYWdlU3RyaXBBbGVydFBvc2l0aW9uLCBDb21wb25lbnRQb3J0YWw8TWVzc2FnZVN0cmlwQWxlcnRDb21wb25lbnQ+W11dXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgKS5mb3JFYWNoKChbcG9zaXRpb24sIHBvcnRhbHNdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wU2VjdGlvbklzT3BlbmVkID0gdG9wU2VjdGlvbklzT3BlbmVkIHx8IHBvc2l0aW9uLnN0YXJ0c1dpdGgoJ3RvcCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbVNlY3Rpb25Jc09wZW5lZCA9IGJvdHRvbVNlY3Rpb25Jc09wZW5lZCB8fCBwb3NpdGlvbi5zdGFydHNXaXRoKCdib3R0b20nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGNvbnRhaW5lclJlZiB9ID0gdGhpcy5nZXRPdmVybGF5UmVmKHBvc2l0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJSZWYuaW5zdGFuY2UuYXR0YWNoZWRFbGVtZW50cyA9IHBvcnRhbHM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyUmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zeW5jRXhpc3RpbmdPdmVybGF5cyhtZXNzYWdlQWxlcnRzQnlQb3NpdGlvbiwgYm90dG9tU2VjdGlvbklzT3BlbmVkLCB0b3BTZWN0aW9uSXNPcGVuZWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBzeW5jRXhpc3RpbmdPdmVybGF5cyhcbiAgICAgICAgbWVzc2FnZUFsZXJ0c0J5UG9zaXRpb246IFBhcnRpYWw8XG4gICAgICAgICAgICBSZWNvcmQ8TWVzc2FnZVN0cmlwQWxlcnRQb3NpdGlvbiwgQ29tcG9uZW50UG9ydGFsPE1lc3NhZ2VTdHJpcEFsZXJ0Q29tcG9uZW50PltdPlxuICAgICAgICA+LFxuICAgICAgICBib3R0b21TZWN0aW9uSXNPcGVuZWQ6IGJvb2xlYW4sXG4gICAgICAgIHRvcFNlY3Rpb25Jc09wZW5lZDogYm9vbGVhblxuICAgICk6IHZvaWQge1xuICAgICAgICAoT2JqZWN0LmtleXModGhpcy5fb3ZlcmxheVJlZnMpIGFzIE1lc3NhZ2VTdHJpcEFsZXJ0UG9zaXRpb25bXSkuZm9yRWFjaCgocG9zaXRpb24pID0+IHtcbiAgICAgICAgICAgIGlmICghbWVzc2FnZUFsZXJ0c0J5UG9zaXRpb25bcG9zaXRpb25dKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZnNbcG9zaXRpb25dIS5yZWYuZGlzcG9zZSgpO1xuICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9vdmVybGF5UmVmc1twb3NpdGlvbl07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlZiA9IHRoaXMuX292ZXJsYXlSZWZzW3Bvc2l0aW9uXSEucmVmO1xuICAgICAgICAgICAgICAgIGlmIChwb3NpdGlvbi5zdGFydHNXaXRoKCd0b3AnKSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoYm90dG9tU2VjdGlvbklzT3BlbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWYub3ZlcmxheUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZmQtbWVzc2FnZS1zdHJpcC1hbGVydC1vdmVybGF5LS1ib3R0b20tb3BlbmVkJyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWYub3ZlcmxheUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnZmQtbWVzc2FnZS1zdHJpcC1hbGVydC1vdmVybGF5LS1ib3R0b20tb3BlbmVkJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHBvc2l0aW9uLnN0YXJ0c1dpdGgoJ2JvdHRvbScpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0b3BTZWN0aW9uSXNPcGVuZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZi5vdmVybGF5RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdmZC1tZXNzYWdlLXN0cmlwLWFsZXJ0LW92ZXJsYXktLXRvcC1vcGVuZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZi5vdmVybGF5RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdmZC1tZXNzYWdlLXN0cmlwLWFsZXJ0LW92ZXJsYXktLXRvcC1vcGVuZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGdldE92ZXJsYXlSZWYocG9zaXRpb246IE1lc3NhZ2VTdHJpcEFsZXJ0UG9zaXRpb24pOiB7XG4gICAgICAgIHJlZjogT3ZlcmxheVJlZjtcbiAgICAgICAgY29udGFpbmVyUmVmOiBDb21wb25lbnRSZWY8TWVzc2FnZVN0cmlwQWxlcnRDb250YWluZXJDb21wb25lbnQ+O1xuICAgIH0ge1xuICAgICAgICBpZiAoIXRoaXMuX292ZXJsYXlSZWZzW3Bvc2l0aW9uXSkge1xuICAgICAgICAgICAgY29uc3QgW3ZlcnRpY2FsUG9zaXRpb24sIGhvcml6b250YWxQb3NpdGlvbl0gPSBwb3NpdGlvbi5zcGxpdCgnLScpO1xuICAgICAgICAgICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMuY3JlYXRlT3ZlcmxheSh2ZXJ0aWNhbFBvc2l0aW9uLCBob3Jpem9udGFsUG9zaXRpb24pO1xuICAgICAgICAgICAgY29uc3QgY29udGFpbmVyUmVmID0gb3ZlcmxheVJlZi5hdHRhY2goXG4gICAgICAgICAgICAgICAgbmV3IENvbXBvbmVudFBvcnRhbChcbiAgICAgICAgICAgICAgICAgICAgTWVzc2FnZVN0cmlwQWxlcnRDb250YWluZXJDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAgICAgIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IE1lc3NhZ2VTdHJpcEFsZXJ0Q29udGFpbmVyUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZnNbcG9zaXRpb25dID0geyByZWY6IG92ZXJsYXlSZWYsIGNvbnRhaW5lclJlZiB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9vdmVybGF5UmVmc1twb3NpdGlvbl0hO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBjcmVhdGVPdmVybGF5KHZlcnRpY2FsUG9zaXRpb246IHN0cmluZywgaG9yaXpvbnRhbFBvc2l0aW9uOiBzdHJpbmcpOiBPdmVybGF5UmVmIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6IFtcbiAgICAgICAgICAgICAgICAnZmQtbWVzc2FnZS1zdHJpcC1hbGVydC1vdmVybGF5JyxcbiAgICAgICAgICAgICAgICBgZmQtbWVzc2FnZS1zdHJpcC1hbGVydC1vdmVybGF5LS0ke3ZlcnRpY2FsUG9zaXRpb259YCxcbiAgICAgICAgICAgICAgICBgZmQtbWVzc2FnZS1zdHJpcC1hbGVydC1vdmVybGF5LS0ke2hvcml6b250YWxQb3NpdGlvbn1gXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1zdHJpcC1jb25maWd1cmF0aW9uLXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9tZXNzYWdlLXN0cmlwL2FsZXJ0L21lc3NhZ2Utc3RyaXAtY29uZmlndXJhdGlvbi10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE1lc3NhZ2VTdHJpcFR5cGUgfSBmcm9tICcuLi9tZXNzYWdlLXN0cmlwLXR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VTdHJpcENvbmZpZ3VyYXRpb24ge1xuICAgIGNsYXNzOiBzdHJpbmc7XG4gICAgZGlzbWlzc2libGU6IGJvb2xlYW47XG4gICAgbW91c2VQZXJzaXN0OiBib29sZWFuO1xuICAgIGR1cmF0aW9uOiBudW1iZXI7XG4gICAgbm9JY29uOiBib29sZWFuO1xuICAgIHR5cGU6IE1lc3NhZ2VTdHJpcFR5cGU7XG4gICAgaWQ6IHN0cmluZztcbiAgICBhcmlhTGFiZWxsZWRCeTogTnVsbGFibGU8c3RyaW5nPjtcbiAgICBhcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz47XG4gICAgZGlzbWlzc0xhYmVsOiBzdHJpbmc7XG4gICAgb25EaXNtaXNzOiAoKSA9PiB2b2lkO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1tZXNzYWdlLXN0cmlwLWFsZXJ0LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL21lc3NhZ2Utc3RyaXAvYWxlcnQvb3Blbi1tZXNzYWdlLXN0cmlwLWFsZXJ0LmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZVN0cmlwQWxlcnRQb3NpdGlvbiB9IGZyb20gJy4vbWVzc2FnZS1zdHJpcC1hbGVydC5wb3NpdGlvbic7XG5pbXBvcnQgeyBUZW1wbGF0ZVJlZiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZVN0cmlwQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vbWVzc2FnZS1zdHJpcC1jb25maWd1cmF0aW9uLXR5cGUnO1xuXG5pbXBvcnQgeyBNZXNzYWdlU3RyaXBBbGVydFJlZiB9IGZyb20gJy4vbWVzc2FnZS1zdHJpcC1hbGVydC5yZWYnO1xuXG4vKipcbiAqIFRoZSBjb25maWd1cmF0aW9uIHR5cGUgd2hpY2ggaXMgZXhwZWN0ZWQgZnJvbSB0aGUgdXNlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9wZW5NZXNzYWdlU3RyaXBBbGVydENvbmZpZzxDb21wb25lbnRUeXBlID0gdW5rbm93bj4ge1xuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSBtZXNzYWdlIHN0cmlwIGFsZXJ0IGNvbnRhaW5lci5cbiAgICAgKiBFdmVyeSB0b3AtKiBhbmQgYm90dG9tLSogb25lcyB3aWxsIGJlIG1lcmdlZCBpbnRvIHRoZSB0b3AtbWlkZGxlXG4gICAgICogYW5kIGJvdHRvbS1taWRkbGUgc2VjdGlvbnMgcmVzcGVjdGl2ZWx5IGFuZCB3aWxsIGJlIHNvcnRlZCBieSB0aGVcbiAgICAgKiBvcmRlciBvZiBhcHBlYXJhbmNlLlxuICAgICAqL1xuICAgIHBvc2l0aW9uPzogTWVzc2FnZVN0cmlwQWxlcnRQb3NpdGlvbjtcbiAgICAvKiogQ29udGVudCwgdGhhdCB3aWxsIGJlIHJlbmRlcmVkIGluc2lkZSB0aGUgbWVzc2FnZSBzdHJpcCB3aGVuIGl0IGFwcGVhcnMgKi9cbiAgICBjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogTWVzc2FnZVN0cmlwQWxlcnRSZWY8Q29tcG9uZW50VHlwZT4gfT4gfCBUeXBlPENvbXBvbmVudFR5cGU+O1xuICAgIC8qKiBDb25maWd1cmF0aW9uIGZvciB0aGUgbWVzc2FnZSBzdHJpcCBjb21wb25lbnQgKi9cbiAgICBtZXNzYWdlU3RyaXA/OiBQYXJ0aWFsPE1lc3NhZ2VTdHJpcENvbmZpZ3VyYXRpb24+O1xufVxuIl19
@@ -0,0 +1,14 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ /**
3
+ * Injection token for getting the position of the message strip alert container.
4
+ * Is available in any of the message strip alert components and in footer component.
5
+ */
6
+ export const MessageStripAlertContainerPosition = new InjectionToken('MessageStripAlertContainerPosition');
7
+ /**
8
+ * Injection token for getting the list of the message strip alert refs
9
+ * in the given container. Is available in the footer component injection
10
+ * context.
11
+ */
12
+ export const MessageStripAlertContainerAlertRefs = new InjectionToken('MessageStripAlertContainerAlertRefs');
13
+ export const MessageStripAlertComponentData = new InjectionToken('MessageStripAlertComponentData');
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbWVzc2FnZS1zdHJpcC9hbGVydC90b2tlbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFPbEU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsSUFBSSxjQUFjLENBQ2hFLG9DQUFvQyxDQUN2QyxDQUFDO0FBQ0Y7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLElBQUksY0FBYyxDQUNqRSxxQ0FBcUMsQ0FDeEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLElBQUksY0FBYyxDQUc3RCxnQ0FBZ0MsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFRlbXBsYXRlUmVmLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlU3RyaXBBbGVydFBvc2l0aW9uIH0gZnJvbSAnLi9tZXNzYWdlLXN0cmlwLWFsZXJ0LnBvc2l0aW9uJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgTWVzc2FnZVN0cmlwQWxlcnRSZWYgfSBmcm9tICcuL21lc3NhZ2Utc3RyaXAtYWxlcnQucmVmJztcbmltcG9ydCB7IE1lc3NhZ2VTdHJpcENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL21lc3NhZ2Utc3RyaXAtY29uZmlndXJhdGlvbi10eXBlJztcblxuLyoqXG4gKiBJbmplY3Rpb24gdG9rZW4gZm9yIGdldHRpbmcgdGhlIHBvc2l0aW9uIG9mIHRoZSBtZXNzYWdlIHN0cmlwIGFsZXJ0IGNvbnRhaW5lci5cbiAqIElzIGF2YWlsYWJsZSBpbiBhbnkgb2YgdGhlIG1lc3NhZ2Ugc3RyaXAgYWxlcnQgY29tcG9uZW50cyBhbmQgaW4gZm9vdGVyIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1lc3NhZ2VTdHJpcEFsZXJ0Q29udGFpbmVyUG9zaXRpb24gPSBuZXcgSW5qZWN0aW9uVG9rZW48TWVzc2FnZVN0cmlwQWxlcnRQb3NpdGlvbj4oXG4gICAgJ01lc3NhZ2VTdHJpcEFsZXJ0Q29udGFpbmVyUG9zaXRpb24nXG4pO1xuLyoqXG4gKiBJbmplY3Rpb24gdG9rZW4gZm9yIGdldHRpbmcgdGhlIGxpc3Qgb2YgdGhlIG1lc3NhZ2Ugc3RyaXAgYWxlcnQgcmVmc1xuICogaW4gdGhlIGdpdmVuIGNvbnRhaW5lci4gSXMgYXZhaWxhYmxlIGluIHRoZSBmb290ZXIgY29tcG9uZW50IGluamVjdGlvblxuICogY29udGV4dC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1lc3NhZ2VTdHJpcEFsZXJ0Q29udGFpbmVyQWxlcnRSZWZzID0gbmV3IEluamVjdGlvblRva2VuPE9ic2VydmFibGU8TnVsbGFibGU8TWVzc2FnZVN0cmlwQWxlcnRSZWZbXT4+PihcbiAgICAnTWVzc2FnZVN0cmlwQWxlcnRDb250YWluZXJBbGVydFJlZnMnXG4pO1xuXG5leHBvcnQgY29uc3QgTWVzc2FnZVN0cmlwQWxlcnRDb21wb25lbnREYXRhID0gbmV3IEluamVjdGlvblRva2VuPHtcbiAgICBjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgVHlwZTxhbnk+O1xuICAgIG1lc3NhZ2VTdHJpcENvbmZpZzogTWVzc2FnZVN0cmlwQ29uZmlndXJhdGlvbjtcbn0+KCdNZXNzYWdlU3RyaXBBbGVydENvbXBvbmVudERhdGEnKTtcbiJdfQ==