@fundamental-ngx/core 0.42.0-rc.8 → 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 (448) hide show
  1. package/alert/alert.component.d.ts +5 -4
  2. package/alert/alert.module.d.ts +2 -1
  3. package/avatar/avatar.component.d.ts +2 -4
  4. package/avatar-group/directives/avatar-group-focusable-avatar.directive.d.ts +2 -6
  5. package/avatar-group/directives/avatar-group-overflow-button.directive.d.ts +2 -4
  6. package/bar/bar.component.d.ts +2 -4
  7. package/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.d.ts +2 -4
  8. package/button/button.component.d.ts +2 -6
  9. package/card/card-content.component.d.ts +2 -4
  10. package/card/card-counter.directive.d.ts +2 -4
  11. package/card/card-header.component.d.ts +2 -4
  12. package/card/card-loader.component.d.ts +2 -4
  13. package/card/card-second-subtitle.directive.d.ts +2 -4
  14. package/card/card-subtitle.directive.d.ts +2 -4
  15. package/card/card-title.directive.d.ts +2 -4
  16. package/card/card.component.d.ts +3 -5
  17. package/card/kpi/card-kpi-analytics-content.directive.d.ts +2 -4
  18. package/card/kpi/card-kpi-analytics-label.directive.d.ts +2 -4
  19. package/card/kpi/card-kpi-analytics.directive.d.ts +2 -4
  20. package/card/kpi/card-kpi-header.component.d.ts +2 -4
  21. package/card/kpi/card-kpi-scale-icon.directive.d.ts +2 -4
  22. package/card/kpi/card-kpi-scale-text.directive.d.ts +2 -4
  23. package/card/kpi/card-kpi-value.directive.d.ts +2 -4
  24. package/combobox/combobox.module.d.ts +2 -1
  25. package/dialog/base/dialog-base.class.d.ts +2 -2
  26. package/dialog/dialog-body/dialog-body.component.d.ts +2 -4
  27. package/dialog/dialog-container/dialog-container.component.d.ts +0 -2
  28. package/dialog/dialog-service/dialog.service.d.ts +4 -0
  29. package/dialog/dialog.component.d.ts +0 -2
  30. package/dynamic-page/dynamic-page-content/dynamic-page-content.component.d.ts +4 -6
  31. package/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.d.ts +2 -4
  32. package/dynamic-side-content/dynamic-side-content.component.d.ts +3 -5
  33. package/esm2020/alert/alert.component.mjs +7 -19
  34. package/esm2020/alert/alert.module.mjs +5 -4
  35. package/esm2020/avatar/avatar.component.mjs +6 -10
  36. package/esm2020/avatar-group/directives/avatar-group-focusable-avatar.directive.mjs +4 -12
  37. package/esm2020/avatar-group/directives/avatar-group-overflow-body.directive.mjs +2 -2
  38. package/esm2020/avatar-group/directives/avatar-group-overflow-button.directive.mjs +3 -7
  39. package/esm2020/bar/bar.component.mjs +3 -7
  40. package/esm2020/breadcrumb/breadcrumb-item.component.mjs +2 -2
  41. package/esm2020/breadcrumb/breadcrumb.component.mjs +2 -2
  42. package/esm2020/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.mjs +4 -8
  43. package/esm2020/button/button.component.mjs +3 -9
  44. package/esm2020/card/card-content.component.mjs +3 -7
  45. package/esm2020/card/card-counter.directive.mjs +3 -7
  46. package/esm2020/card/card-header.component.mjs +4 -8
  47. package/esm2020/card/card-loader.component.mjs +3 -7
  48. package/esm2020/card/card-second-subtitle.directive.mjs +3 -7
  49. package/esm2020/card/card-subtitle.directive.mjs +3 -7
  50. package/esm2020/card/card-title.directive.mjs +3 -7
  51. package/esm2020/card/card.component.mjs +3 -7
  52. package/esm2020/card/kpi/card-kpi-analytics-content.directive.mjs +3 -7
  53. package/esm2020/card/kpi/card-kpi-analytics-label.directive.mjs +3 -7
  54. package/esm2020/card/kpi/card-kpi-analytics.directive.mjs +3 -7
  55. package/esm2020/card/kpi/card-kpi-header.component.mjs +3 -7
  56. package/esm2020/card/kpi/card-kpi-scale-icon.directive.mjs +3 -7
  57. package/esm2020/card/kpi/card-kpi-scale-text.directive.mjs +3 -7
  58. package/esm2020/card/kpi/card-kpi-value.directive.mjs +3 -7
  59. package/esm2020/checkbox/checkbox/checkbox.component.mjs +5 -5
  60. package/esm2020/combobox/combobox.component.mjs +5 -4
  61. package/esm2020/combobox/combobox.module.mjs +8 -4
  62. package/esm2020/content-density/services/content-density-observer.service.mjs +3 -3
  63. package/esm2020/datetime-picker/datetime-picker.component.mjs +7 -4
  64. package/esm2020/dialog/base/dialog-base.class.mjs +4 -4
  65. package/esm2020/dialog/dialog-body/dialog-body.component.mjs +3 -7
  66. package/esm2020/dialog/dialog-container/dialog-container.component.mjs +1 -5
  67. package/esm2020/dialog/dialog-service/dialog.service.mjs +10 -2
  68. package/esm2020/dialog/dialog.component.mjs +3 -7
  69. package/esm2020/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +4 -8
  70. package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.mjs +5 -9
  71. package/esm2020/dynamic-side-content/dynamic-side-content.component.mjs +3 -7
  72. package/esm2020/facets/content/facet-content.component.mjs +4 -8
  73. package/esm2020/facets/facet/facet.component.mjs +13 -19
  74. package/esm2020/feed-input/directives/feed-input-avatar.directive.mjs +3 -7
  75. package/esm2020/feed-list-item/components/item/feed-list-item.component.mjs +3 -7
  76. package/esm2020/feed-list-item/components/list/feed-list.component.mjs +3 -7
  77. package/esm2020/form/form-control/form-control.component.mjs +3 -7
  78. package/esm2020/form/form-group/form-group.component.mjs +3 -7
  79. package/esm2020/form/form-message/form-message.component.mjs +3 -7
  80. package/esm2020/grid-list/components/grid-list-item/grid-list-item.component.mjs +3 -3
  81. package/esm2020/icon/icon.component.mjs +3 -7
  82. package/esm2020/illustrated-message/illustrated-message.component.mjs +3 -7
  83. package/esm2020/info-label/info-label.component.mjs +3 -7
  84. package/esm2020/inline-help/inline-help.directive.mjs +26 -15
  85. package/esm2020/input-group/input-group-directives.mjs +6 -14
  86. package/esm2020/input-group/input-group.component.mjs +2 -2
  87. package/esm2020/layout-grid/directives/layout-grid-col.directive.mjs +3 -7
  88. package/esm2020/layout-grid/layout-grid.component.mjs +3 -7
  89. package/esm2020/layout-panel/layout-panel-footer/layout-panel-footer.component.mjs +3 -7
  90. package/esm2020/link/link.component.mjs +9 -13
  91. package/esm2020/list/directives/list-icon.directive.mjs +3 -7
  92. package/esm2020/list/directives/list-navigation-item-text.directive.mjs +3 -7
  93. package/esm2020/list/list-message.directive.mjs +3 -7
  94. package/esm2020/menu/menu-mobile/menu-mobile.component.mjs +2 -2
  95. package/esm2020/message-box/message-box-container/message-box-container.component.mjs +1 -5
  96. package/esm2020/message-box/message-box.component.mjs +1 -5
  97. package/esm2020/message-page/message-page.component.mjs +3 -7
  98. package/esm2020/message-strip/alert/default-config.mjs +11 -0
  99. package/esm2020/message-strip/alert/index.mjs +6 -0
  100. package/esm2020/message-strip/alert/message-strip-alert/message-strip-alert.component.mjs +68 -0
  101. package/esm2020/message-strip/alert/message-strip-alert-container/message-strip-alert-container.component.mjs +57 -0
  102. package/esm2020/message-strip/alert/message-strip-alert-container-footer/message-strip-alert-container-footer.component.mjs +65 -0
  103. package/esm2020/message-strip/alert/message-strip-alert.position.mjs +2 -0
  104. package/esm2020/message-strip/alert/message-strip-alert.ref.mjs +3 -0
  105. package/esm2020/message-strip/alert/message-strip-alert.service.mjs +195 -0
  106. package/esm2020/message-strip/alert/message-strip-configuration-type.mjs +2 -0
  107. package/esm2020/message-strip/alert/open-message-strip-alert.config.mjs +2 -0
  108. package/esm2020/message-strip/alert/tokens.mjs +14 -0
  109. package/esm2020/message-strip/auto-dismiss-message-strip.directive.mjs +98 -0
  110. package/esm2020/message-strip/fundamental-ngx-core-message-strip.mjs +2 -2
  111. package/esm2020/message-strip/index.mjs +6 -0
  112. package/esm2020/message-strip/message-strip-type.mjs +2 -0
  113. package/esm2020/message-strip/message-strip.component.mjs +16 -20
  114. package/esm2020/message-strip/message-strip.module.mjs +6 -9
  115. package/esm2020/multi-combobox/multi-combobox.component.mjs +6 -6
  116. package/esm2020/multi-input/multi-input.component.mjs +33 -19
  117. package/esm2020/notification/directives/notification-indicator.directive.mjs +3 -7
  118. package/esm2020/notification/notification-group/notification-group.component.mjs +3 -7
  119. package/esm2020/notification/notification-utils/notification-group-base.mjs +2 -2
  120. package/esm2020/object-marker/object-marker.component.mjs +3 -7
  121. package/esm2020/object-number/object-number.component.mjs +3 -7
  122. package/esm2020/object-status/object-status.component.mjs +3 -7
  123. package/esm2020/panel/panel.component.mjs +3 -7
  124. package/esm2020/product-switch/product-switch-body/product-switch-body.component.mjs +1 -1
  125. package/esm2020/radio/radio-button/radio-button.component.mjs +2 -2
  126. package/esm2020/rating-indicator/components/rating-indicator.component.mjs +3 -7
  127. package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +4 -8
  128. package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +3 -7
  129. package/esm2020/segmented-button/segmented-button.component.mjs +4 -4
  130. package/esm2020/select/select.component.mjs +3 -3
  131. package/esm2020/slider/slider.component.mjs +3 -7
  132. package/esm2020/status-indicator/status-indicator.component.mjs +4 -8
  133. package/esm2020/table/directives/table-cell.directive.mjs +31 -26
  134. package/esm2020/table/directives/table-icon.directive.mjs +3 -9
  135. package/esm2020/table/directives/table-row.directive.mjs +34 -19
  136. package/esm2020/table/table-wrapper.component.mjs +2 -2
  137. package/esm2020/table/table.component.mjs +1 -1
  138. package/esm2020/tabs/tab-item/tab-item.directive.mjs +3 -7
  139. package/esm2020/tabs/tab-nav/tab-nav.component.mjs +3 -9
  140. package/esm2020/tabs/tab-utils/tab-directives.mjs +3 -9
  141. package/esm2020/tile/directives/numeric-content.directives.mjs +14 -34
  142. package/esm2020/tile/directives/tile.directives.mjs +9 -21
  143. package/esm2020/tile/tile.component.mjs +2 -2
  144. package/esm2020/token/token-input.directive.mjs +3 -7
  145. package/esm2020/token/tokenizer.component.mjs +20 -22
  146. package/esm2020/toolbar/toolbar.component.mjs +2 -2
  147. package/esm2020/tree/components/tree-item/tree-item.component.mjs +1 -1
  148. package/esm2020/tree/models/base-tree-item.class.mjs +2 -6
  149. package/esm2020/tree/tree.component.mjs +3 -7
  150. package/esm2020/upload-collection/upload-collection-item.directive.mjs +2 -2
  151. package/esm2020/wizard/wizard.component.mjs +2 -2
  152. package/facets/content/facet-content.component.d.ts +2 -4
  153. package/facets/facet/facet.component.d.ts +2 -6
  154. package/feed-input/directives/feed-input-avatar.directive.d.ts +2 -4
  155. package/feed-list-item/components/item/feed-list-item.component.d.ts +2 -4
  156. package/feed-list-item/components/list/feed-list.component.d.ts +2 -4
  157. package/fesm2015/fundamental-ngx-core-alert.mjs +48 -58
  158. package/fesm2015/fundamental-ngx-core-alert.mjs.map +1 -1
  159. package/fesm2015/fundamental-ngx-core-avatar-group.mjs +6 -18
  160. package/fesm2015/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  161. package/fesm2015/fundamental-ngx-core-avatar.mjs +5 -9
  162. package/fesm2015/fundamental-ngx-core-avatar.mjs.map +1 -1
  163. package/fesm2015/fundamental-ngx-core-bar.mjs +2 -6
  164. package/fesm2015/fundamental-ngx-core-bar.mjs.map +1 -1
  165. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs +2 -2
  166. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  167. package/fesm2015/fundamental-ngx-core-busy-indicator.mjs +3 -7
  168. package/fesm2015/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  169. package/fesm2015/fundamental-ngx-core-button.mjs +2 -8
  170. package/fesm2015/fundamental-ngx-core-button.mjs.map +1 -1
  171. package/fesm2015/fundamental-ngx-core-card.mjs +31 -91
  172. package/fesm2015/fundamental-ngx-core-card.mjs.map +1 -1
  173. package/fesm2015/fundamental-ngx-core-checkbox.mjs +4 -4
  174. package/fesm2015/fundamental-ngx-core-checkbox.mjs.map +1 -1
  175. package/fesm2015/fundamental-ngx-core-combobox.mjs +10 -5
  176. package/fesm2015/fundamental-ngx-core-combobox.mjs.map +1 -1
  177. package/fesm2015/fundamental-ngx-core-content-density.mjs +2 -2
  178. package/fesm2015/fundamental-ngx-core-content-density.mjs.map +1 -1
  179. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs +6 -3
  180. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  181. package/fesm2015/fundamental-ngx-core-dialog.mjs +16 -21
  182. package/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
  183. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs +7 -15
  184. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  185. package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs +2 -6
  186. package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
  187. package/fesm2015/fundamental-ngx-core-facets.mjs +15 -25
  188. package/fesm2015/fundamental-ngx-core-facets.mjs.map +1 -1
  189. package/fesm2015/fundamental-ngx-core-feed-input.mjs +2 -6
  190. package/fesm2015/fundamental-ngx-core-feed-input.mjs.map +1 -1
  191. package/fesm2015/fundamental-ngx-core-feed-list-item.mjs +4 -12
  192. package/fesm2015/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  193. package/fesm2015/fundamental-ngx-core-form.mjs +6 -18
  194. package/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  195. package/fesm2015/fundamental-ngx-core-grid-list.mjs +2 -2
  196. package/fesm2015/fundamental-ngx-core-grid-list.mjs.map +1 -1
  197. package/fesm2015/fundamental-ngx-core-icon.mjs +2 -6
  198. package/fesm2015/fundamental-ngx-core-icon.mjs.map +1 -1
  199. package/fesm2015/fundamental-ngx-core-illustrated-message.mjs +2 -6
  200. package/fesm2015/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  201. package/fesm2015/fundamental-ngx-core-info-label.mjs +2 -6
  202. package/fesm2015/fundamental-ngx-core-info-label.mjs.map +1 -1
  203. package/fesm2015/fundamental-ngx-core-inline-help.mjs +24 -13
  204. package/fesm2015/fundamental-ngx-core-inline-help.mjs.map +1 -1
  205. package/fesm2015/fundamental-ngx-core-input-group.mjs +6 -14
  206. package/fesm2015/fundamental-ngx-core-input-group.mjs.map +1 -1
  207. package/fesm2015/fundamental-ngx-core-layout-grid.mjs +4 -12
  208. package/fesm2015/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  209. package/fesm2015/fundamental-ngx-core-layout-panel.mjs +2 -6
  210. package/fesm2015/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  211. package/fesm2015/fundamental-ngx-core-link.mjs +8 -12
  212. package/fesm2015/fundamental-ngx-core-link.mjs.map +1 -1
  213. package/fesm2015/fundamental-ngx-core-list.mjs +6 -18
  214. package/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
  215. package/fesm2015/fundamental-ngx-core-menu.mjs +1 -1
  216. package/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
  217. package/fesm2015/fundamental-ngx-core-message-box.mjs +0 -8
  218. package/fesm2015/fundamental-ngx-core-message-box.mjs.map +1 -1
  219. package/fesm2015/fundamental-ngx-core-message-page.mjs +2 -6
  220. package/fesm2015/fundamental-ngx-core-message-page.mjs.map +1 -1
  221. package/fesm2015/fundamental-ngx-core-message-strip.mjs +488 -28
  222. package/fesm2015/fundamental-ngx-core-message-strip.mjs.map +1 -1
  223. package/fesm2015/fundamental-ngx-core-multi-combobox.mjs +5 -5
  224. package/fesm2015/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  225. package/fesm2015/fundamental-ngx-core-multi-input.mjs +33 -17
  226. package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
  227. package/fesm2015/fundamental-ngx-core-notification.mjs +5 -13
  228. package/fesm2015/fundamental-ngx-core-notification.mjs.map +1 -1
  229. package/fesm2015/fundamental-ngx-core-object-marker.mjs +2 -6
  230. package/fesm2015/fundamental-ngx-core-object-marker.mjs.map +1 -1
  231. package/fesm2015/fundamental-ngx-core-object-number.mjs +2 -6
  232. package/fesm2015/fundamental-ngx-core-object-number.mjs.map +1 -1
  233. package/fesm2015/fundamental-ngx-core-object-status.mjs +2 -6
  234. package/fesm2015/fundamental-ngx-core-object-status.mjs.map +1 -1
  235. package/fesm2015/fundamental-ngx-core-panel.mjs +2 -6
  236. package/fesm2015/fundamental-ngx-core-panel.mjs.map +1 -1
  237. package/fesm2015/fundamental-ngx-core-product-switch.mjs +1 -1
  238. package/fesm2015/fundamental-ngx-core-product-switch.mjs.map +1 -1
  239. package/fesm2015/fundamental-ngx-core-radio.mjs +1 -1
  240. package/fesm2015/fundamental-ngx-core-radio.mjs.map +1 -1
  241. package/fesm2015/fundamental-ngx-core-rating-indicator.mjs +2 -6
  242. package/fesm2015/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  243. package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs +5 -13
  244. package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  245. package/fesm2015/fundamental-ngx-core-segmented-button.mjs +3 -3
  246. package/fesm2015/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  247. package/fesm2015/fundamental-ngx-core-select.mjs +2 -2
  248. package/fesm2015/fundamental-ngx-core-select.mjs.map +1 -1
  249. package/fesm2015/fundamental-ngx-core-slider.mjs +2 -6
  250. package/fesm2015/fundamental-ngx-core-slider.mjs.map +1 -1
  251. package/fesm2015/fundamental-ngx-core-status-indicator.mjs +3 -7
  252. package/fesm2015/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  253. package/fesm2015/fundamental-ngx-core-table.mjs +64 -48
  254. package/fesm2015/fundamental-ngx-core-table.mjs.map +1 -1
  255. package/fesm2015/fundamental-ngx-core-tabs.mjs +6 -22
  256. package/fesm2015/fundamental-ngx-core-tabs.mjs.map +1 -1
  257. package/fesm2015/fundamental-ngx-core-tile.mjs +22 -54
  258. package/fesm2015/fundamental-ngx-core-tile.mjs.map +1 -1
  259. package/fesm2015/fundamental-ngx-core-token.mjs +22 -28
  260. package/fesm2015/fundamental-ngx-core-token.mjs.map +1 -1
  261. package/fesm2015/fundamental-ngx-core-toolbar.mjs +1 -1
  262. package/fesm2015/fundamental-ngx-core-toolbar.mjs.map +1 -1
  263. package/fesm2015/fundamental-ngx-core-tree.mjs +3 -11
  264. package/fesm2015/fundamental-ngx-core-tree.mjs.map +1 -1
  265. package/fesm2015/fundamental-ngx-core-upload-collection.mjs +1 -1
  266. package/fesm2015/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  267. package/fesm2015/fundamental-ngx-core-wizard.mjs +1 -1
  268. package/fesm2015/fundamental-ngx-core-wizard.mjs.map +1 -1
  269. package/fesm2020/fundamental-ngx-core-alert.mjs +48 -58
  270. package/fesm2020/fundamental-ngx-core-alert.mjs.map +1 -1
  271. package/fesm2020/fundamental-ngx-core-avatar-group.mjs +6 -18
  272. package/fesm2020/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  273. package/fesm2020/fundamental-ngx-core-avatar.mjs +5 -9
  274. package/fesm2020/fundamental-ngx-core-avatar.mjs.map +1 -1
  275. package/fesm2020/fundamental-ngx-core-bar.mjs +2 -6
  276. package/fesm2020/fundamental-ngx-core-bar.mjs.map +1 -1
  277. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs +2 -2
  278. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  279. package/fesm2020/fundamental-ngx-core-busy-indicator.mjs +3 -7
  280. package/fesm2020/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  281. package/fesm2020/fundamental-ngx-core-button.mjs +2 -8
  282. package/fesm2020/fundamental-ngx-core-button.mjs.map +1 -1
  283. package/fesm2020/fundamental-ngx-core-card.mjs +31 -91
  284. package/fesm2020/fundamental-ngx-core-card.mjs.map +1 -1
  285. package/fesm2020/fundamental-ngx-core-checkbox.mjs +4 -4
  286. package/fesm2020/fundamental-ngx-core-checkbox.mjs.map +1 -1
  287. package/fesm2020/fundamental-ngx-core-combobox.mjs +10 -5
  288. package/fesm2020/fundamental-ngx-core-combobox.mjs.map +1 -1
  289. package/fesm2020/fundamental-ngx-core-content-density.mjs +2 -2
  290. package/fesm2020/fundamental-ngx-core-content-density.mjs.map +1 -1
  291. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs +6 -3
  292. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  293. package/fesm2020/fundamental-ngx-core-dialog.mjs +16 -21
  294. package/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
  295. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs +7 -15
  296. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  297. package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs +2 -6
  298. package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
  299. package/fesm2020/fundamental-ngx-core-facets.mjs +15 -25
  300. package/fesm2020/fundamental-ngx-core-facets.mjs.map +1 -1
  301. package/fesm2020/fundamental-ngx-core-feed-input.mjs +2 -6
  302. package/fesm2020/fundamental-ngx-core-feed-input.mjs.map +1 -1
  303. package/fesm2020/fundamental-ngx-core-feed-list-item.mjs +4 -12
  304. package/fesm2020/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  305. package/fesm2020/fundamental-ngx-core-form.mjs +6 -18
  306. package/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  307. package/fesm2020/fundamental-ngx-core-grid-list.mjs +2 -2
  308. package/fesm2020/fundamental-ngx-core-grid-list.mjs.map +1 -1
  309. package/fesm2020/fundamental-ngx-core-icon.mjs +2 -6
  310. package/fesm2020/fundamental-ngx-core-icon.mjs.map +1 -1
  311. package/fesm2020/fundamental-ngx-core-illustrated-message.mjs +2 -6
  312. package/fesm2020/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  313. package/fesm2020/fundamental-ngx-core-info-label.mjs +2 -6
  314. package/fesm2020/fundamental-ngx-core-info-label.mjs.map +1 -1
  315. package/fesm2020/fundamental-ngx-core-inline-help.mjs +24 -13
  316. package/fesm2020/fundamental-ngx-core-inline-help.mjs.map +1 -1
  317. package/fesm2020/fundamental-ngx-core-input-group.mjs +6 -14
  318. package/fesm2020/fundamental-ngx-core-input-group.mjs.map +1 -1
  319. package/fesm2020/fundamental-ngx-core-layout-grid.mjs +4 -12
  320. package/fesm2020/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  321. package/fesm2020/fundamental-ngx-core-layout-panel.mjs +2 -6
  322. package/fesm2020/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  323. package/fesm2020/fundamental-ngx-core-link.mjs +8 -12
  324. package/fesm2020/fundamental-ngx-core-link.mjs.map +1 -1
  325. package/fesm2020/fundamental-ngx-core-list.mjs +6 -18
  326. package/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
  327. package/fesm2020/fundamental-ngx-core-menu.mjs +1 -1
  328. package/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
  329. package/fesm2020/fundamental-ngx-core-message-box.mjs +0 -8
  330. package/fesm2020/fundamental-ngx-core-message-box.mjs.map +1 -1
  331. package/fesm2020/fundamental-ngx-core-message-page.mjs +2 -6
  332. package/fesm2020/fundamental-ngx-core-message-page.mjs.map +1 -1
  333. package/fesm2020/fundamental-ngx-core-message-strip.mjs +493 -28
  334. package/fesm2020/fundamental-ngx-core-message-strip.mjs.map +1 -1
  335. package/fesm2020/fundamental-ngx-core-multi-combobox.mjs +5 -5
  336. package/fesm2020/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  337. package/fesm2020/fundamental-ngx-core-multi-input.mjs +31 -17
  338. package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
  339. package/fesm2020/fundamental-ngx-core-notification.mjs +5 -13
  340. package/fesm2020/fundamental-ngx-core-notification.mjs.map +1 -1
  341. package/fesm2020/fundamental-ngx-core-object-marker.mjs +2 -6
  342. package/fesm2020/fundamental-ngx-core-object-marker.mjs.map +1 -1
  343. package/fesm2020/fundamental-ngx-core-object-number.mjs +2 -6
  344. package/fesm2020/fundamental-ngx-core-object-number.mjs.map +1 -1
  345. package/fesm2020/fundamental-ngx-core-object-status.mjs +2 -6
  346. package/fesm2020/fundamental-ngx-core-object-status.mjs.map +1 -1
  347. package/fesm2020/fundamental-ngx-core-panel.mjs +2 -6
  348. package/fesm2020/fundamental-ngx-core-panel.mjs.map +1 -1
  349. package/fesm2020/fundamental-ngx-core-product-switch.mjs +1 -1
  350. package/fesm2020/fundamental-ngx-core-product-switch.mjs.map +1 -1
  351. package/fesm2020/fundamental-ngx-core-radio.mjs +1 -1
  352. package/fesm2020/fundamental-ngx-core-radio.mjs.map +1 -1
  353. package/fesm2020/fundamental-ngx-core-rating-indicator.mjs +2 -6
  354. package/fesm2020/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  355. package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs +5 -13
  356. package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  357. package/fesm2020/fundamental-ngx-core-segmented-button.mjs +3 -3
  358. package/fesm2020/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  359. package/fesm2020/fundamental-ngx-core-select.mjs +2 -2
  360. package/fesm2020/fundamental-ngx-core-select.mjs.map +1 -1
  361. package/fesm2020/fundamental-ngx-core-slider.mjs +2 -6
  362. package/fesm2020/fundamental-ngx-core-slider.mjs.map +1 -1
  363. package/fesm2020/fundamental-ngx-core-status-indicator.mjs +3 -7
  364. package/fesm2020/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  365. package/fesm2020/fundamental-ngx-core-table.mjs +64 -48
  366. package/fesm2020/fundamental-ngx-core-table.mjs.map +1 -1
  367. package/fesm2020/fundamental-ngx-core-tabs.mjs +6 -22
  368. package/fesm2020/fundamental-ngx-core-tabs.mjs.map +1 -1
  369. package/fesm2020/fundamental-ngx-core-tile.mjs +22 -54
  370. package/fesm2020/fundamental-ngx-core-tile.mjs.map +1 -1
  371. package/fesm2020/fundamental-ngx-core-token.mjs +21 -27
  372. package/fesm2020/fundamental-ngx-core-token.mjs.map +1 -1
  373. package/fesm2020/fundamental-ngx-core-toolbar.mjs +1 -1
  374. package/fesm2020/fundamental-ngx-core-toolbar.mjs.map +1 -1
  375. package/fesm2020/fundamental-ngx-core-tree.mjs +3 -11
  376. package/fesm2020/fundamental-ngx-core-tree.mjs.map +1 -1
  377. package/fesm2020/fundamental-ngx-core-upload-collection.mjs +1 -1
  378. package/fesm2020/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  379. package/fesm2020/fundamental-ngx-core-wizard.mjs +1 -1
  380. package/fesm2020/fundamental-ngx-core-wizard.mjs.map +1 -1
  381. package/form/form-control/form-control.component.d.ts +2 -4
  382. package/form/form-group/form-group.component.d.ts +2 -4
  383. package/form/form-message/form-message.component.d.ts +2 -4
  384. package/fundamental-ngx-core-v0.42.0.tgz +0 -0
  385. package/icon/icon.component.d.ts +2 -4
  386. package/illustrated-message/illustrated-message.component.d.ts +2 -4
  387. package/info-label/info-label.component.d.ts +2 -4
  388. package/inline-help/inline-help.directive.d.ts +9 -3
  389. package/input-group/input-group-directives.d.ts +5 -9
  390. package/layout-grid/directives/layout-grid-col.directive.d.ts +2 -4
  391. package/layout-grid/layout-grid.component.d.ts +2 -4
  392. package/layout-panel/layout-panel-footer/layout-panel-footer.component.d.ts +4 -6
  393. package/link/link.component.d.ts +2 -4
  394. package/list/directives/list-icon.directive.d.ts +4 -5
  395. package/list/directives/list-navigation-item-text.directive.d.ts +2 -4
  396. package/list/list-message.directive.d.ts +2 -4
  397. package/message-box/message-box-container/message-box-container.component.d.ts +0 -2
  398. package/message-box/message-box.component.d.ts +0 -2
  399. package/message-page/message-page.component.d.ts +2 -4
  400. package/message-strip/alert/default-config.d.ts +5 -0
  401. package/message-strip/alert/index.d.ts +9 -0
  402. package/message-strip/alert/message-strip-alert/message-strip-alert.component.d.ts +52 -0
  403. package/message-strip/alert/message-strip-alert-container/message-strip-alert-container.component.d.ts +28 -0
  404. package/message-strip/alert/message-strip-alert-container-footer/message-strip-alert-container-footer.component.d.ts +36 -0
  405. package/message-strip/alert/message-strip-alert.position.d.ts +3 -0
  406. package/message-strip/alert/message-strip-alert.ref.d.ts +14 -0
  407. package/message-strip/alert/message-strip-alert.service.d.ts +52 -0
  408. package/message-strip/alert/message-strip-configuration-type.d.ts +15 -0
  409. package/message-strip/alert/open-message-strip-alert.config.d.ts +22 -0
  410. package/message-strip/alert/tokens.d.ts +20 -0
  411. package/message-strip/auto-dismiss-message-strip.directive.d.ts +35 -0
  412. package/message-strip/index.d.ts +5 -5
  413. package/message-strip/message-strip-type.d.ts +2 -0
  414. package/message-strip/message-strip.component.d.ts +7 -9
  415. package/message-strip/message-strip.module.d.ts +2 -4
  416. package/multi-combobox/multi-combobox.component.d.ts +1 -1
  417. package/multi-input/multi-input.component.d.ts +10 -6
  418. package/notification/directives/notification-indicator.directive.d.ts +2 -4
  419. package/notification/notification-group/notification-group.component.d.ts +2 -4
  420. package/object-marker/object-marker.component.d.ts +2 -4
  421. package/object-number/object-number.component.d.ts +2 -4
  422. package/object-status/object-status.component.d.ts +2 -4
  423. package/package.json +3 -3
  424. package/panel/panel.component.d.ts +2 -4
  425. package/radio/radio-button/radio-button.component.d.ts +1 -1
  426. package/rating-indicator/components/rating-indicator.component.d.ts +2 -4
  427. package/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.d.ts +2 -4
  428. package/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.d.ts +2 -4
  429. package/schematics/add-dependencies/index.js +4 -4
  430. package/slider/slider.component.d.ts +2 -4
  431. package/status-indicator/status-indicator.component.d.ts +2 -4
  432. package/table/directives/table-cell.directive.d.ts +6 -12
  433. package/table/directives/table-icon.directive.d.ts +2 -6
  434. package/table/directives/table-row.directive.d.ts +10 -10
  435. package/tabs/tab-item/tab-item.directive.d.ts +2 -4
  436. package/tabs/tab-nav/tab-nav.component.d.ts +4 -8
  437. package/tabs/tab-utils/tab-directives.d.ts +2 -6
  438. package/tile/directives/numeric-content.directives.d.ts +10 -20
  439. package/tile/directives/tile.directives.d.ts +6 -12
  440. package/tile/tile.component.d.ts +1 -1
  441. package/token/token-input.directive.d.ts +2 -4
  442. package/token/tokenizer.component.d.ts +2 -4
  443. package/toolbar/toolbar.component.d.ts +1 -1
  444. package/tree/models/base-tree-item.class.d.ts +1 -3
  445. package/tree/tree.component.d.ts +1 -3
  446. package/esm2020/message-strip/public_api.mjs +0 -3
  447. package/fundamental-ngx-core-v0.42.0-rc.8.tgz +0 -0
  448. package/message-strip/public_api.d.ts +0 -2
@@ -1,14 +1,20 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, NgModule } from '@angular/core';
3
- import * as i1 from '@angular/common';
4
- import { CommonModule } from '@angular/common';
2
+ import { EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, inject, ElementRef, isDevMode, Directive, NgModule, InjectionToken, ViewContainerRef, Renderer2, TemplateRef, ViewChild, Injector, ViewChildren, Injectable } from '@angular/core';
5
3
  import { __decorate, __metadata } from 'tslib';
6
- import { applyCssClass } from '@fundamental-ngx/cdk/utils';
7
- import * as i2 from '@fundamental-ngx/core/button';
8
- import { ButtonModule } from '@fundamental-ngx/core/button';
9
- import * as i3 from '@fundamental-ngx/core/content-density';
10
- import * as i4 from '@fundamental-ngx/i18n';
4
+ import { applyCssClass, DestroyedService, ViewportSizeObservable, ResponsiveBreakpoints } from '@fundamental-ngx/cdk/utils';
5
+ import * as i3 from '@fundamental-ngx/i18n';
11
6
  import { I18nModule } from '@fundamental-ngx/i18n';
7
+ import * as i2 from '@fundamental-ngx/core/content-density';
8
+ import { ContentDensityDirective } from '@fundamental-ngx/core/content-density';
9
+ import * as i1 from '@fundamental-ngx/core/button';
10
+ import { ButtonModule } from '@fundamental-ngx/core/button';
11
+ import { NgIf, NgFor, AsyncPipe } from '@angular/common';
12
+ import { merge, fromEvent, map, startWith, Observable, of, takeUntil, BehaviorSubject, tap, Subject, combineLatest } from 'rxjs';
13
+ import { switchMap, takeUntil as takeUntil$1 } from 'rxjs/operators';
14
+ import { Overlay } from '@angular/cdk/overlay';
15
+ import * as i1$1 from '@angular/cdk/portal';
16
+ import { DomPortal, TemplatePortal, ComponentPortal, PortalModule, CdkPortalOutlet } from '@angular/cdk/portal';
17
+ import { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';
12
18
 
13
19
  let messageStripUniqueId = 0;
14
20
  /**
@@ -16,8 +22,8 @@ let messageStripUniqueId = 0;
16
22
  */
17
23
  class MessageStripComponent {
18
24
  /** @hidden */
19
- constructor(_elementRef) {
20
- this._elementRef = _elementRef;
25
+ constructor(elementRef) {
26
+ this.elementRef = elementRef;
21
27
  /** User's custom classes */
22
28
  this.class = '';
23
29
  /** Whether the message strip is dismissible. */
@@ -30,7 +36,6 @@ class MessageStripComponent {
30
36
  /** Id for the message-strip component. If omitted, a unique one is generated. */
31
37
  this.id = 'fd-message-strip-' + messageStripUniqueId++;
32
38
  /** Event fired when the message-strip is dismissed. */
33
- // eslint-disable-next-line @angular-eslint/no-output-on-prefix
34
39
  this.onDismiss = new EventEmitter();
35
40
  }
36
41
  /** @hidden */
@@ -41,16 +46,12 @@ class MessageStripComponent {
41
46
  ngOnChanges() {
42
47
  this.buildComponentCssClass();
43
48
  }
44
- /** @hidden */
45
- elementRef() {
46
- return this._elementRef;
47
- }
48
49
  /**
49
50
  * Dismisses the message-strip.
50
51
  */
51
52
  dismiss() {
52
- this._elementRef.nativeElement.classList.add('fd-has-display-none');
53
- this._elementRef.nativeElement.classList.remove('fd-has-display-block');
53
+ this.elementRef.nativeElement.classList.add('fd-has-display-none');
54
+ this.elementRef.nativeElement.classList.remove('fd-has-display-block');
54
55
  this.onDismiss.emit();
55
56
  }
56
57
  /** @hidden
@@ -69,7 +70,7 @@ class MessageStripComponent {
69
70
  }
70
71
  }
71
72
  MessageStripComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
72
- MessageStripComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: MessageStripComponent, selector: "fd-message-strip", inputs: { class: "class", dismissible: "dismissible", noIcon: "noIcon", type: "type", id: "id", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", dismissLabel: "dismissLabel", width: "width", minWidth: "minWidth", marginBottom: "marginBottom" }, outputs: { onDismiss: "onDismiss" }, host: { attributes: { "role": "alert" }, properties: { "attr.aria-labelledby": "ariaLabelledBy", "attr.aria-label": "ariaLabel", "style.width": "width", "style.min-width": "minWidth", "style.margin-bottom": "marginBottom", "attr.id": "id" } }, usesOnChanges: true, ngImport: i0, template: "<button\n class=\"fd-message-strip__close\"\n fd-button\n glyph=\"decline\"\n fdType=\"transparent\"\n fdCompact\n *ngIf=\"dismissible\"\n (click)=\"dismiss()\"\n [attr.aria-controls]=\"id\"\n [attr.aria-label]=\"dismissLabel || ('coreMessageStrip.dismissLabel' | fdTranslate)\"\n [attr.title]=\"dismissLabel || ('coreMessageStrip.dismissLabel' | fdTranslate)\"\n></button>\n<p class=\"fd-message-strip__text\">\n <ng-content></ng-content>\n</p>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-message-strip+(--information, --success, --warning, --error, --no-icon)\n .fd-message__close\n*/.fd-message-strip{-webkit-box-sizing:border-box;align-items:center;background-color:var(--sapNeutralBackground);border:0;border-color:var(--fdMessageStrip_Border_Color_Neutral);border-radius:var(--fdMessageStrip_Border_Radius);border-style:solid;border-width:var(--fdMessageStrip_Border_Width);box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;min-height:2rem;padding:.4375rem 1rem;position:relative}.fd-message-strip:after,.fd-message-strip:before{box-sizing:inherit;font-size:inherit}.fd-message-strip .fd-message-strip__close{position:absolute;right:.125rem;top:.125rem}.fd-message-strip .fd-message-strip__close[dir=rtl],[dir=rtl] .fd-message-strip .fd-message-strip__close{left:.125rem;right:auto}.fd-message-strip--dismissible{padding-right:2.5rem}.fd-message-strip--dismissible[dir=rtl],[dir=rtl] .fd-message-strip--dismissible{padding-left:2.5rem;padding-right:1rem}.fd-message-strip--error,.fd-message-strip--information,.fd-message-strip--success,.fd-message-strip--warning{padding-left:2.5rem}.fd-message-strip--error:after,.fd-message-strip--error:before,.fd-message-strip--information:after,.fd-message-strip--information:before,.fd-message-strip--success:after,.fd-message-strip--success:before,.fd-message-strip--warning:after,.fd-message-strip--warning:before{left:0;line-height:1;position:absolute;top:.5rem;width:2.5rem}.fd-message-strip--error[dir=rtl],.fd-message-strip--information[dir=rtl],.fd-message-strip--success[dir=rtl],.fd-message-strip--warning[dir=rtl],[dir=rtl] .fd-message-strip--error,[dir=rtl] .fd-message-strip--information,[dir=rtl] .fd-message-strip--success,[dir=rtl] .fd-message-strip--warning{padding-left:1rem;padding-right:2.5rem}.fd-message-strip--error[dir=rtl]:before,.fd-message-strip--information[dir=rtl]:before,.fd-message-strip--success[dir=rtl]:before,.fd-message-strip--warning[dir=rtl]:before,[dir=rtl] .fd-message-strip--error:before,[dir=rtl] .fd-message-strip--information:before,[dir=rtl] .fd-message-strip--success:before,[dir=rtl] .fd-message-strip--warning:before{display:none}.fd-message-strip--error.fd-message-strip--dismissible,.fd-message-strip--information.fd-message-strip--dismissible,.fd-message-strip--success.fd-message-strip--dismissible,.fd-message-strip--warning.fd-message-strip--dismissible{padding-right:2.5rem}.fd-message-strip--error.fd-message-strip--dismissible[dir=rtl],.fd-message-strip--information.fd-message-strip--dismissible[dir=rtl],.fd-message-strip--success.fd-message-strip--dismissible[dir=rtl],.fd-message-strip--warning.fd-message-strip--dismissible[dir=rtl],[dir=rtl] .fd-message-strip--error.fd-message-strip--dismissible,[dir=rtl] .fd-message-strip--information.fd-message-strip--dismissible,[dir=rtl] .fd-message-strip--success.fd-message-strip--dismissible,[dir=rtl] .fd-message-strip--warning.fd-message-strip--dismissible{padding-left:2.5rem}.fd-message-strip--error[dir=rtl]:after,.fd-message-strip--information[dir=rtl]:after,.fd-message-strip--success[dir=rtl]:after,.fd-message-strip--warning[dir=rtl]:after,[dir=rtl] .fd-message-strip--error:after,[dir=rtl] .fd-message-strip--information:after,[dir=rtl] .fd-message-strip--success:after,[dir=rtl] .fd-message-strip--warning:after{font-family:SAP-icons;position:absolute;right:0;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--warning{background-color:var(--sapWarningBackground);border-color:var(--fdMessageStrip_Border_Color_Warning)}.fd-message-strip--warning:after,.fd-message-strip--warning:before{color:var(--fdMessageStrip_Icon_Color_Warning)}.fd-message-strip--warning:before{content:\"\\e053\";font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--warning[dir=rtl]:before,[dir=rtl] .fd-message-strip--warning:before{display:none}.fd-message-strip--warning[dir=rtl]:after,[dir=rtl] .fd-message-strip--warning:after{content:\"\\e053\";font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--error{background-color:var(--sapErrorBackground);border-color:var(--fdMessageStrip_Border_Color_Error)}.fd-message-strip--error:after,.fd-message-strip--error:before{color:var(--fdMessageStrip_Icon_Color_Error)}.fd-message-strip--error:before{content:\"\\e1ec\"}.fd-message-strip--error:before,.fd-message-strip--error[dir=rtl]:after,[dir=rtl] .fd-message-strip--error:after{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--error[dir=rtl]:after,[dir=rtl] .fd-message-strip--error:after{content:\"\\e1ec\"}.fd-message-strip--success{background-color:var(--sapSuccessBackground);border-color:var(--fdMessageStrip_Border_Color_Success)}.fd-message-strip--success:after,.fd-message-strip--success:before{color:var(--fdMessageStrip_Icon_Color_Success)}.fd-message-strip--success:before{content:\"\\e1c1\"}.fd-message-strip--success:before,.fd-message-strip--success[dir=rtl]:after,[dir=rtl] .fd-message-strip--success:after{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--success[dir=rtl]:after,[dir=rtl] .fd-message-strip--success:after{content:\"\\e1c1\"}.fd-message-strip--information{background-color:var(--sapInformationBackground);border-color:var(--fdMessageStrip_Border_Color_Informative)}.fd-message-strip--information:after,.fd-message-strip--information:before{color:var(--fdMessageStrip_Icon_Color_Information)}.fd-message-strip--information:before{content:\"\\e289\"}.fd-message-strip--information:before,.fd-message-strip--information[dir=rtl]:after,[dir=rtl] .fd-message-strip--information:after{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--information[dir=rtl]:after,[dir=rtl] .fd-message-strip--information:after{content:\"\\e289\"}.fd-message-strip--no-icon{padding-left:1rem}.fd-message-strip--no-icon:before{display:none}.fd-message-strip--no-icon[dir=rtl],[dir=rtl] .fd-message-strip--no-icon{padding-right:1rem}.fd-message-strip--no-icon[dir=rtl]:after,[dir=rtl] .fd-message-strip--no-icon:after{display:none}.fd-message-strip__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:1rem;margin:0;padding:0}.fd-message-strip__text:after,.fd-message-strip__text:before{box-sizing:inherit;font-size:inherit}.fd-message-strip,.fd-has-display-block{display:block}.fd-has-display-none{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: i3.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "pipe", type: i4.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
73
+ MessageStripComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: MessageStripComponent, isStandalone: true, selector: "fd-message-strip", inputs: { class: "class", dismissible: "dismissible", noIcon: "noIcon", type: "type", id: "id", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", dismissLabel: "dismissLabel", width: "width", minWidth: "minWidth", marginBottom: "marginBottom" }, outputs: { onDismiss: "onDismiss" }, host: { attributes: { "role": "alert" }, properties: { "attr.aria-labelledby": "ariaLabelledBy", "attr.aria-label": "ariaLabel", "style.width": "width", "style.min-width": "minWidth", "style.margin-bottom": "marginBottom", "attr.id": "id" } }, usesOnChanges: true, ngImport: i0, template: "<button\n class=\"fd-message-strip__close\"\n fd-button\n glyph=\"decline\"\n fdType=\"transparent\"\n fdCompact\n *ngIf=\"dismissible\"\n (click)=\"dismiss()\"\n [attr.aria-controls]=\"id\"\n [attr.aria-label]=\"dismissLabel || ('coreMessageStrip.dismissLabel' | fdTranslate)\"\n [attr.title]=\"dismissLabel || ('coreMessageStrip.dismissLabel' | fdTranslate)\"\n></button>\n<p class=\"fd-message-strip__text\">\n <ng-content></ng-content>\n</p>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-message-strip+(--information, --success, --warning, --error, --no-icon)\n .fd-message__close\n*/.fd-message-strip{-webkit-box-sizing:border-box;align-items:center;background-color:var(--sapNeutralBackground);border:0;border-color:var(--fdMessageStrip_Border_Color_Neutral);border-radius:var(--fdMessageStrip_Border_Radius);border-style:solid;border-width:var(--fdMessageStrip_Border_Width);box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;min-height:2rem;padding:.4375rem 1rem;position:relative}.fd-message-strip:after,.fd-message-strip:before{box-sizing:inherit;font-size:inherit}.fd-message-strip .fd-message-strip__close{position:absolute;right:.125rem;top:.125rem}.fd-message-strip .fd-message-strip__close[dir=rtl],[dir=rtl] .fd-message-strip .fd-message-strip__close{left:.125rem;right:auto}.fd-message-strip--dismissible{padding-right:2.5rem}.fd-message-strip--dismissible[dir=rtl],[dir=rtl] .fd-message-strip--dismissible{padding-left:2.5rem;padding-right:1rem}.fd-message-strip--error,.fd-message-strip--information,.fd-message-strip--success,.fd-message-strip--warning{padding-left:2.5rem}.fd-message-strip--error:after,.fd-message-strip--error:before,.fd-message-strip--information:after,.fd-message-strip--information:before,.fd-message-strip--success:after,.fd-message-strip--success:before,.fd-message-strip--warning:after,.fd-message-strip--warning:before{left:0;line-height:1;position:absolute;top:.5rem;width:2.5rem}.fd-message-strip--error[dir=rtl],.fd-message-strip--information[dir=rtl],.fd-message-strip--success[dir=rtl],.fd-message-strip--warning[dir=rtl],[dir=rtl] .fd-message-strip--error,[dir=rtl] .fd-message-strip--information,[dir=rtl] .fd-message-strip--success,[dir=rtl] .fd-message-strip--warning{padding-left:1rem;padding-right:2.5rem}.fd-message-strip--error[dir=rtl]:before,.fd-message-strip--information[dir=rtl]:before,.fd-message-strip--success[dir=rtl]:before,.fd-message-strip--warning[dir=rtl]:before,[dir=rtl] .fd-message-strip--error:before,[dir=rtl] .fd-message-strip--information:before,[dir=rtl] .fd-message-strip--success:before,[dir=rtl] .fd-message-strip--warning:before{display:none}.fd-message-strip--error.fd-message-strip--dismissible,.fd-message-strip--information.fd-message-strip--dismissible,.fd-message-strip--success.fd-message-strip--dismissible,.fd-message-strip--warning.fd-message-strip--dismissible{padding-right:2.5rem}.fd-message-strip--error.fd-message-strip--dismissible[dir=rtl],.fd-message-strip--information.fd-message-strip--dismissible[dir=rtl],.fd-message-strip--success.fd-message-strip--dismissible[dir=rtl],.fd-message-strip--warning.fd-message-strip--dismissible[dir=rtl],[dir=rtl] .fd-message-strip--error.fd-message-strip--dismissible,[dir=rtl] .fd-message-strip--information.fd-message-strip--dismissible,[dir=rtl] .fd-message-strip--success.fd-message-strip--dismissible,[dir=rtl] .fd-message-strip--warning.fd-message-strip--dismissible{padding-left:2.5rem}.fd-message-strip--error[dir=rtl]:after,.fd-message-strip--information[dir=rtl]:after,.fd-message-strip--success[dir=rtl]:after,.fd-message-strip--warning[dir=rtl]:after,[dir=rtl] .fd-message-strip--error:after,[dir=rtl] .fd-message-strip--information:after,[dir=rtl] .fd-message-strip--success:after,[dir=rtl] .fd-message-strip--warning:after{font-family:SAP-icons;position:absolute;right:0;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--warning{background-color:var(--sapWarningBackground);border-color:var(--fdMessageStrip_Border_Color_Warning)}.fd-message-strip--warning:after,.fd-message-strip--warning:before{color:var(--fdMessageStrip_Icon_Color_Warning)}.fd-message-strip--warning:before{content:\"\\e053\";font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--warning[dir=rtl]:before,[dir=rtl] .fd-message-strip--warning:before{display:none}.fd-message-strip--warning[dir=rtl]:after,[dir=rtl] .fd-message-strip--warning:after{content:\"\\e053\";font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--error{background-color:var(--sapErrorBackground);border-color:var(--fdMessageStrip_Border_Color_Error)}.fd-message-strip--error:after,.fd-message-strip--error:before{color:var(--fdMessageStrip_Icon_Color_Error)}.fd-message-strip--error:before{content:\"\\e1ec\"}.fd-message-strip--error:before,.fd-message-strip--error[dir=rtl]:after,[dir=rtl] .fd-message-strip--error:after{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--error[dir=rtl]:after,[dir=rtl] .fd-message-strip--error:after{content:\"\\e1ec\"}.fd-message-strip--success{background-color:var(--sapSuccessBackground);border-color:var(--fdMessageStrip_Border_Color_Success)}.fd-message-strip--success:after,.fd-message-strip--success:before{color:var(--fdMessageStrip_Icon_Color_Success)}.fd-message-strip--success:before{content:\"\\e1c1\"}.fd-message-strip--success:before,.fd-message-strip--success[dir=rtl]:after,[dir=rtl] .fd-message-strip--success:after{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--success[dir=rtl]:after,[dir=rtl] .fd-message-strip--success:after{content:\"\\e1c1\"}.fd-message-strip--information{background-color:var(--sapInformationBackground);border-color:var(--fdMessageStrip_Border_Color_Informative)}.fd-message-strip--information:after,.fd-message-strip--information:before{color:var(--fdMessageStrip_Icon_Color_Information)}.fd-message-strip--information:before{content:\"\\e289\"}.fd-message-strip--information:before,.fd-message-strip--information[dir=rtl]:after,[dir=rtl] .fd-message-strip--information:after{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--information[dir=rtl]:after,[dir=rtl] .fd-message-strip--information:after{content:\"\\e289\"}.fd-message-strip--no-icon{padding-left:1rem}.fd-message-strip--no-icon:before{display:none}.fd-message-strip--no-icon[dir=rtl],[dir=rtl] .fd-message-strip--no-icon{padding-right:1rem}.fd-message-strip--no-icon[dir=rtl]:after,[dir=rtl] .fd-message-strip--no-icon:after{display:none}.fd-message-strip__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:1rem;margin:0;padding:0}.fd-message-strip__text:after,.fd-message-strip__text:before{box-sizing:inherit;font-size:inherit}.fd-message-strip,.fd-has-display-block{display:block}.fd-has-display-none{display:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: i2.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "ngmodule", type: I18nModule }, { kind: "pipe", type: i3.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
73
74
  __decorate([
74
75
  applyCssClass,
75
76
  __metadata("design:type", Function),
@@ -86,7 +87,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
86
87
  '[style.margin-bottom]': 'marginBottom',
87
88
  role: 'alert',
88
89
  '[attr.id]': 'id'
89
- }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n class=\"fd-message-strip__close\"\n fd-button\n glyph=\"decline\"\n fdType=\"transparent\"\n fdCompact\n *ngIf=\"dismissible\"\n (click)=\"dismiss()\"\n [attr.aria-controls]=\"id\"\n [attr.aria-label]=\"dismissLabel || ('coreMessageStrip.dismissLabel' | fdTranslate)\"\n [attr.title]=\"dismissLabel || ('coreMessageStrip.dismissLabel' | fdTranslate)\"\n></button>\n<p class=\"fd-message-strip__text\">\n <ng-content></ng-content>\n</p>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-message-strip+(--information, --success, --warning, --error, --no-icon)\n .fd-message__close\n*/.fd-message-strip{-webkit-box-sizing:border-box;align-items:center;background-color:var(--sapNeutralBackground);border:0;border-color:var(--fdMessageStrip_Border_Color_Neutral);border-radius:var(--fdMessageStrip_Border_Radius);border-style:solid;border-width:var(--fdMessageStrip_Border_Width);box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;min-height:2rem;padding:.4375rem 1rem;position:relative}.fd-message-strip:after,.fd-message-strip:before{box-sizing:inherit;font-size:inherit}.fd-message-strip .fd-message-strip__close{position:absolute;right:.125rem;top:.125rem}.fd-message-strip .fd-message-strip__close[dir=rtl],[dir=rtl] .fd-message-strip .fd-message-strip__close{left:.125rem;right:auto}.fd-message-strip--dismissible{padding-right:2.5rem}.fd-message-strip--dismissible[dir=rtl],[dir=rtl] .fd-message-strip--dismissible{padding-left:2.5rem;padding-right:1rem}.fd-message-strip--error,.fd-message-strip--information,.fd-message-strip--success,.fd-message-strip--warning{padding-left:2.5rem}.fd-message-strip--error:after,.fd-message-strip--error:before,.fd-message-strip--information:after,.fd-message-strip--information:before,.fd-message-strip--success:after,.fd-message-strip--success:before,.fd-message-strip--warning:after,.fd-message-strip--warning:before{left:0;line-height:1;position:absolute;top:.5rem;width:2.5rem}.fd-message-strip--error[dir=rtl],.fd-message-strip--information[dir=rtl],.fd-message-strip--success[dir=rtl],.fd-message-strip--warning[dir=rtl],[dir=rtl] .fd-message-strip--error,[dir=rtl] .fd-message-strip--information,[dir=rtl] .fd-message-strip--success,[dir=rtl] .fd-message-strip--warning{padding-left:1rem;padding-right:2.5rem}.fd-message-strip--error[dir=rtl]:before,.fd-message-strip--information[dir=rtl]:before,.fd-message-strip--success[dir=rtl]:before,.fd-message-strip--warning[dir=rtl]:before,[dir=rtl] .fd-message-strip--error:before,[dir=rtl] .fd-message-strip--information:before,[dir=rtl] .fd-message-strip--success:before,[dir=rtl] .fd-message-strip--warning:before{display:none}.fd-message-strip--error.fd-message-strip--dismissible,.fd-message-strip--information.fd-message-strip--dismissible,.fd-message-strip--success.fd-message-strip--dismissible,.fd-message-strip--warning.fd-message-strip--dismissible{padding-right:2.5rem}.fd-message-strip--error.fd-message-strip--dismissible[dir=rtl],.fd-message-strip--information.fd-message-strip--dismissible[dir=rtl],.fd-message-strip--success.fd-message-strip--dismissible[dir=rtl],.fd-message-strip--warning.fd-message-strip--dismissible[dir=rtl],[dir=rtl] .fd-message-strip--error.fd-message-strip--dismissible,[dir=rtl] .fd-message-strip--information.fd-message-strip--dismissible,[dir=rtl] .fd-message-strip--success.fd-message-strip--dismissible,[dir=rtl] .fd-message-strip--warning.fd-message-strip--dismissible{padding-left:2.5rem}.fd-message-strip--error[dir=rtl]:after,.fd-message-strip--information[dir=rtl]:after,.fd-message-strip--success[dir=rtl]:after,.fd-message-strip--warning[dir=rtl]:after,[dir=rtl] .fd-message-strip--error:after,[dir=rtl] .fd-message-strip--information:after,[dir=rtl] .fd-message-strip--success:after,[dir=rtl] .fd-message-strip--warning:after{font-family:SAP-icons;position:absolute;right:0;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--warning{background-color:var(--sapWarningBackground);border-color:var(--fdMessageStrip_Border_Color_Warning)}.fd-message-strip--warning:after,.fd-message-strip--warning:before{color:var(--fdMessageStrip_Icon_Color_Warning)}.fd-message-strip--warning:before{content:\"\\e053\";font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--warning[dir=rtl]:before,[dir=rtl] .fd-message-strip--warning:before{display:none}.fd-message-strip--warning[dir=rtl]:after,[dir=rtl] .fd-message-strip--warning:after{content:\"\\e053\";font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--error{background-color:var(--sapErrorBackground);border-color:var(--fdMessageStrip_Border_Color_Error)}.fd-message-strip--error:after,.fd-message-strip--error:before{color:var(--fdMessageStrip_Icon_Color_Error)}.fd-message-strip--error:before{content:\"\\e1ec\"}.fd-message-strip--error:before,.fd-message-strip--error[dir=rtl]:after,[dir=rtl] .fd-message-strip--error:after{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--error[dir=rtl]:after,[dir=rtl] .fd-message-strip--error:after{content:\"\\e1ec\"}.fd-message-strip--success{background-color:var(--sapSuccessBackground);border-color:var(--fdMessageStrip_Border_Color_Success)}.fd-message-strip--success:after,.fd-message-strip--success:before{color:var(--fdMessageStrip_Icon_Color_Success)}.fd-message-strip--success:before{content:\"\\e1c1\"}.fd-message-strip--success:before,.fd-message-strip--success[dir=rtl]:after,[dir=rtl] .fd-message-strip--success:after{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--success[dir=rtl]:after,[dir=rtl] .fd-message-strip--success:after{content:\"\\e1c1\"}.fd-message-strip--information{background-color:var(--sapInformationBackground);border-color:var(--fdMessageStrip_Border_Color_Informative)}.fd-message-strip--information:after,.fd-message-strip--information:before{color:var(--fdMessageStrip_Icon_Color_Information)}.fd-message-strip--information:before{content:\"\\e289\"}.fd-message-strip--information:before,.fd-message-strip--information[dir=rtl]:after,[dir=rtl] .fd-message-strip--information:after{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--information[dir=rtl]:after,[dir=rtl] .fd-message-strip--information:after{content:\"\\e289\"}.fd-message-strip--no-icon{padding-left:1rem}.fd-message-strip--no-icon:before{display:none}.fd-message-strip--no-icon[dir=rtl],[dir=rtl] .fd-message-strip--no-icon{padding-right:1rem}.fd-message-strip--no-icon[dir=rtl]:after,[dir=rtl] .fd-message-strip--no-icon:after{display:none}.fd-message-strip__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:1rem;margin:0;padding:0}.fd-message-strip__text:after,.fd-message-strip__text:before{box-sizing:inherit;font-size:inherit}.fd-message-strip,.fd-has-display-block{display:block}.fd-has-display-none{display:none}\n"] }]
90
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, ButtonModule, ContentDensityDirective, I18nModule], template: "<button\n class=\"fd-message-strip__close\"\n fd-button\n glyph=\"decline\"\n fdType=\"transparent\"\n fdCompact\n *ngIf=\"dismissible\"\n (click)=\"dismiss()\"\n [attr.aria-controls]=\"id\"\n [attr.aria-label]=\"dismissLabel || ('coreMessageStrip.dismissLabel' | fdTranslate)\"\n [attr.title]=\"dismissLabel || ('coreMessageStrip.dismissLabel' | fdTranslate)\"\n></button>\n<p class=\"fd-message-strip__text\">\n <ng-content></ng-content>\n</p>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-message-strip+(--information, --success, --warning, --error, --no-icon)\n .fd-message__close\n*/.fd-message-strip{-webkit-box-sizing:border-box;align-items:center;background-color:var(--sapNeutralBackground);border:0;border-color:var(--fdMessageStrip_Border_Color_Neutral);border-radius:var(--fdMessageStrip_Border_Radius);border-style:solid;border-width:var(--fdMessageStrip_Border_Width);box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;min-height:2rem;padding:.4375rem 1rem;position:relative}.fd-message-strip:after,.fd-message-strip:before{box-sizing:inherit;font-size:inherit}.fd-message-strip .fd-message-strip__close{position:absolute;right:.125rem;top:.125rem}.fd-message-strip .fd-message-strip__close[dir=rtl],[dir=rtl] .fd-message-strip .fd-message-strip__close{left:.125rem;right:auto}.fd-message-strip--dismissible{padding-right:2.5rem}.fd-message-strip--dismissible[dir=rtl],[dir=rtl] .fd-message-strip--dismissible{padding-left:2.5rem;padding-right:1rem}.fd-message-strip--error,.fd-message-strip--information,.fd-message-strip--success,.fd-message-strip--warning{padding-left:2.5rem}.fd-message-strip--error:after,.fd-message-strip--error:before,.fd-message-strip--information:after,.fd-message-strip--information:before,.fd-message-strip--success:after,.fd-message-strip--success:before,.fd-message-strip--warning:after,.fd-message-strip--warning:before{left:0;line-height:1;position:absolute;top:.5rem;width:2.5rem}.fd-message-strip--error[dir=rtl],.fd-message-strip--information[dir=rtl],.fd-message-strip--success[dir=rtl],.fd-message-strip--warning[dir=rtl],[dir=rtl] .fd-message-strip--error,[dir=rtl] .fd-message-strip--information,[dir=rtl] .fd-message-strip--success,[dir=rtl] .fd-message-strip--warning{padding-left:1rem;padding-right:2.5rem}.fd-message-strip--error[dir=rtl]:before,.fd-message-strip--information[dir=rtl]:before,.fd-message-strip--success[dir=rtl]:before,.fd-message-strip--warning[dir=rtl]:before,[dir=rtl] .fd-message-strip--error:before,[dir=rtl] .fd-message-strip--information:before,[dir=rtl] .fd-message-strip--success:before,[dir=rtl] .fd-message-strip--warning:before{display:none}.fd-message-strip--error.fd-message-strip--dismissible,.fd-message-strip--information.fd-message-strip--dismissible,.fd-message-strip--success.fd-message-strip--dismissible,.fd-message-strip--warning.fd-message-strip--dismissible{padding-right:2.5rem}.fd-message-strip--error.fd-message-strip--dismissible[dir=rtl],.fd-message-strip--information.fd-message-strip--dismissible[dir=rtl],.fd-message-strip--success.fd-message-strip--dismissible[dir=rtl],.fd-message-strip--warning.fd-message-strip--dismissible[dir=rtl],[dir=rtl] .fd-message-strip--error.fd-message-strip--dismissible,[dir=rtl] .fd-message-strip--information.fd-message-strip--dismissible,[dir=rtl] .fd-message-strip--success.fd-message-strip--dismissible,[dir=rtl] .fd-message-strip--warning.fd-message-strip--dismissible{padding-left:2.5rem}.fd-message-strip--error[dir=rtl]:after,.fd-message-strip--information[dir=rtl]:after,.fd-message-strip--success[dir=rtl]:after,.fd-message-strip--warning[dir=rtl]:after,[dir=rtl] .fd-message-strip--error:after,[dir=rtl] .fd-message-strip--information:after,[dir=rtl] .fd-message-strip--success:after,[dir=rtl] .fd-message-strip--warning:after{font-family:SAP-icons;position:absolute;right:0;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--warning{background-color:var(--sapWarningBackground);border-color:var(--fdMessageStrip_Border_Color_Warning)}.fd-message-strip--warning:after,.fd-message-strip--warning:before{color:var(--fdMessageStrip_Icon_Color_Warning)}.fd-message-strip--warning:before{content:\"\\e053\";font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--warning[dir=rtl]:before,[dir=rtl] .fd-message-strip--warning:before{display:none}.fd-message-strip--warning[dir=rtl]:after,[dir=rtl] .fd-message-strip--warning:after{content:\"\\e053\";font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--error{background-color:var(--sapErrorBackground);border-color:var(--fdMessageStrip_Border_Color_Error)}.fd-message-strip--error:after,.fd-message-strip--error:before{color:var(--fdMessageStrip_Icon_Color_Error)}.fd-message-strip--error:before{content:\"\\e1ec\"}.fd-message-strip--error:before,.fd-message-strip--error[dir=rtl]:after,[dir=rtl] .fd-message-strip--error:after{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--error[dir=rtl]:after,[dir=rtl] .fd-message-strip--error:after{content:\"\\e1ec\"}.fd-message-strip--success{background-color:var(--sapSuccessBackground);border-color:var(--fdMessageStrip_Border_Color_Success)}.fd-message-strip--success:after,.fd-message-strip--success:before{color:var(--fdMessageStrip_Icon_Color_Success)}.fd-message-strip--success:before{content:\"\\e1c1\"}.fd-message-strip--success:before,.fd-message-strip--success[dir=rtl]:after,[dir=rtl] .fd-message-strip--success:after{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--success[dir=rtl]:after,[dir=rtl] .fd-message-strip--success:after{content:\"\\e1c1\"}.fd-message-strip--information{background-color:var(--sapInformationBackground);border-color:var(--fdMessageStrip_Border_Color_Informative)}.fd-message-strip--information:after,.fd-message-strip--information:before{color:var(--fdMessageStrip_Icon_Color_Information)}.fd-message-strip--information:before{content:\"\\e289\"}.fd-message-strip--information:before,.fd-message-strip--information[dir=rtl]:after,[dir=rtl] .fd-message-strip--information:after{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-message-strip--information[dir=rtl]:after,[dir=rtl] .fd-message-strip--information:after{content:\"\\e289\"}.fd-message-strip--no-icon{padding-left:1rem}.fd-message-strip--no-icon:before{display:none}.fd-message-strip--no-icon[dir=rtl],[dir=rtl] .fd-message-strip--no-icon{padding-right:1rem}.fd-message-strip--no-icon[dir=rtl]:after,[dir=rtl] .fd-message-strip--no-icon:after{display:none}.fd-message-strip__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:1rem;margin:0;padding:0}.fd-message-strip__text:after,.fd-message-strip__text:before{box-sizing:inherit;font-size:inherit}.fd-message-strip,.fd-has-display-block{display:block}.fd-has-display-none{display:none}\n"] }]
90
91
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { class: [{
91
92
  type: Input
92
93
  }], dismissible: [{
@@ -109,29 +110,488 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
109
110
  type: Input
110
111
  }], marginBottom: [{
111
112
  type: Input
112
- }],
113
- // eslint-disable-next-line @angular-eslint/no-output-on-prefix
114
- onDismiss: [{
113
+ }], onDismiss: [{
115
114
  type: Output
116
115
  }], buildComponentCssClass: [] } });
117
116
 
117
+ class AutoDismissMessageStripDirective {
118
+ constructor() {
119
+ /** @hidden */
120
+ this.messageStripComponent = inject(MessageStripComponent, { optional: false, host: true });
121
+ /** Whether the message strip is dismissible */
122
+ this.dismissible = true;
123
+ /** Whether the alert should be automatically dismissed. */
124
+ this.autoDismiss = true;
125
+ /** Duration of time *in milliseconds* that the alert will be visible. Set to -1 for indefinite. */
126
+ this.duration = 10000;
127
+ /** Whether the alert should stay open if the mouse is hovering over it. */
128
+ this.mousePersist = false;
129
+ /** Whether the message strip is currently opened. */
130
+ this.opened = false;
131
+ /** @hidden */
132
+ this.elementRef = inject(ElementRef);
133
+ /** @hidden */
134
+ this.destroy$ = inject(DestroyedService);
135
+ /**
136
+ * Mouse is hovering over the message strip.
137
+ * */
138
+ this.mouseIn$ = merge(fromEvent(this.elementRef.nativeElement, 'mouseenter').pipe(map(() => true)), fromEvent(this.elementRef.nativeElement, 'mouseleave').pipe(map(() => false))).pipe(startWith(false));
139
+ /** @hidden */
140
+ this.stopAutoDismiss = () => {
141
+ if (this.autoDismissTimeout) {
142
+ clearTimeout(this.autoDismissTimeout);
143
+ this.autoDismissTimeout = undefined;
144
+ }
145
+ };
146
+ /** @hidden */
147
+ this.dismiss = () => this.messageStripComponent.dismiss();
148
+ }
149
+ /** @hidden */
150
+ open() {
151
+ this.opened = true;
152
+ this.elementRef.nativeElement.classList.remove('fd-has-display-block');
153
+ this.elementRef.nativeElement.classList.remove('fd-has-display-none');
154
+ this.stopAutoDismiss();
155
+ if (this.autoDismiss && !this.dismissible && isDevMode()) {
156
+ console.warn('Auto dismiss is enabled but the message strip is not dismissible. Please set the dismissible input to true.');
157
+ }
158
+ if (this.autoDismiss && this.dismissible) {
159
+ this.startAutoDismiss();
160
+ }
161
+ }
162
+ /** @hidden */
163
+ startAutoDismiss() {
164
+ // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
165
+ const startAutoDismissTimer$ = new Observable((res) => {
166
+ this.autoDismissTimeout = setTimeout(() => {
167
+ this.dismiss();
168
+ res.next();
169
+ }, this.duration);
170
+ return this.stopAutoDismiss;
171
+ });
172
+ if (this.duration > -1) {
173
+ const source$ = this.mousePersist
174
+ ? this.mouseIn$.pipe(switchMap((mouseIn) => {
175
+ if (mouseIn) {
176
+ return of(null);
177
+ }
178
+ return startAutoDismissTimer$;
179
+ }))
180
+ : startAutoDismissTimer$;
181
+ source$.pipe(takeUntil(merge(this.destroy$, this.messageStripComponent.onDismiss))).subscribe();
182
+ }
183
+ }
184
+ }
185
+ AutoDismissMessageStripDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AutoDismissMessageStripDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
186
+ AutoDismissMessageStripDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: AutoDismissMessageStripDirective, isStandalone: true, selector: "fd-message-strip[mousePersist], fd-message-strip[duration], fd-message-strip[autoDismiss]", inputs: { dismissible: "dismissible", autoDismiss: "autoDismiss", duration: "duration", mousePersist: "mousePersist" }, host: { properties: { "style.display": "!opened ? \"none\" : null" } }, providers: [DestroyedService], exportAs: ["fdAutoDismissMessageStrip"], ngImport: i0 });
187
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AutoDismissMessageStripDirective, decorators: [{
188
+ type: Directive,
189
+ args: [{
190
+ // eslint-disable-next-line @angular-eslint/directive-selector
191
+ selector: 'fd-message-strip[mousePersist], fd-message-strip[duration], fd-message-strip[autoDismiss]',
192
+ exportAs: 'fdAutoDismissMessageStrip',
193
+ standalone: true,
194
+ providers: [DestroyedService],
195
+ host: {
196
+ '[style.display]': '!opened ? "none" : null'
197
+ }
198
+ }]
199
+ }], propDecorators: { dismissible: [{
200
+ type: Input
201
+ }], autoDismiss: [{
202
+ type: Input
203
+ }], duration: [{
204
+ type: Input
205
+ }], mousePersist: [{
206
+ type: Input
207
+ }] } });
208
+
118
209
  class MessageStripModule {
119
210
  }
120
211
  MessageStripModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
121
- MessageStripModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: MessageStripModule, declarations: [MessageStripComponent], imports: [CommonModule, ButtonModule, I18nModule], exports: [MessageStripComponent] });
122
- MessageStripModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripModule, imports: [CommonModule, ButtonModule, I18nModule] });
212
+ MessageStripModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: MessageStripModule, imports: [MessageStripComponent, AutoDismissMessageStripDirective], exports: [MessageStripComponent, AutoDismissMessageStripDirective] });
213
+ MessageStripModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripModule, imports: [MessageStripComponent] });
123
214
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripModule, decorators: [{
124
215
  type: NgModule,
125
216
  args: [{
126
- declarations: [MessageStripComponent],
127
- imports: [CommonModule, ButtonModule, I18nModule],
128
- exports: [MessageStripComponent]
217
+ imports: [MessageStripComponent, AutoDismissMessageStripDirective],
218
+ exports: [MessageStripComponent, AutoDismissMessageStripDirective]
129
219
  }]
130
220
  }] });
131
221
 
222
+ class MessageStripAlertRef {
223
+ }
224
+
225
+ /**
226
+ * Injection token for getting the position of the message strip alert container.
227
+ * Is available in any of the message strip alert components and in footer component.
228
+ */
229
+ const MessageStripAlertContainerPosition = new InjectionToken('MessageStripAlertContainerPosition');
230
+ /**
231
+ * Injection token for getting the list of the message strip alert refs
232
+ * in the given container. Is available in the footer component injection
233
+ * context.
234
+ */
235
+ const MessageStripAlertContainerAlertRefs = new InjectionToken('MessageStripAlertContainerAlertRefs');
236
+ const MessageStripAlertComponentData = new InjectionToken('MessageStripAlertComponentData');
237
+
238
+ /**
239
+ * The wrapper component, which is wrapping the Message Strip and passes
240
+ * configuration to it, also generates the content which will appear in it.
241
+ */
242
+ class MessageStripAlertComponent {
243
+ /** @hidden */
244
+ constructor() {
245
+ /** User provided data. Full of it */
246
+ this.data = inject(MessageStripAlertComponentData);
247
+ /** @hidden */
248
+ this.viewContainerRef = inject(ViewContainerRef);
249
+ /** @hidden */
250
+ this.renderer2 = inject(Renderer2);
251
+ /**
252
+ * Reference to the message strip alert, which is used to close it from the outside, or access the data and/or the component instance
253
+ * */
254
+ this.alertRef = inject(MessageStripAlertRef);
255
+ this.messageStripConfig = this.data.messageStripConfig;
256
+ this.contentPortal = this.getPortal(this.data.content);
257
+ }
258
+ /**
259
+ * Handler for the dismiss button click.
260
+ * */
261
+ onDismissHandler() {
262
+ this.messageStripConfig.onDismiss();
263
+ }
264
+ /** @hidden */
265
+ ngOnDestroy() {
266
+ clearTimeout(this.autoDismissTimeout);
267
+ }
268
+ /** @hidden */
269
+ ngAfterViewInit() {
270
+ this.autoDismissMessageStripDirective.open();
271
+ }
272
+ /**
273
+ * Method, which is responsible for generating the portal, which will be rendered inside the message strip.
274
+ * It can be any type of the portal, depending on the user provided content.
275
+ * */
276
+ getPortal(content) {
277
+ if (typeof content === 'string') {
278
+ const textEl = this.renderer2.createText(content);
279
+ this.renderer2.appendChild(this.viewContainerRef.element.nativeElement, textEl);
280
+ return new DomPortal(textEl);
281
+ }
282
+ if (content instanceof TemplateRef) {
283
+ return new TemplatePortal(content, this.viewContainerRef, { $implicit: this.alertRef });
284
+ }
285
+ return new ComponentPortal(content);
286
+ }
287
+ }
288
+ MessageStripAlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
289
+ 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$1.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"] }] });
290
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertComponent, decorators: [{
291
+ type: Component,
292
+ 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" }]
293
+ }], ctorParameters: function () { return []; }, propDecorators: { autoDismissMessageStripDirective: [{
294
+ type: ViewChild,
295
+ args: [AutoDismissMessageStripDirective]
296
+ }] } });
297
+
298
+ /**
299
+ * The component that represents the footer of the message strip alert container.
300
+ * if user has provided the footer component through service, then this component
301
+ * will render it inside itself.
302
+ * Bear in mind that this component is always created, just sometimes if there is nothing to render
303
+ * it will be empty.
304
+ */
305
+ class MessageStripAlertContainerFooterComponent {
306
+ constructor() {
307
+ /**
308
+ * Position of the overlay in which this component is rendered.
309
+ */
310
+ this.position = inject(MessageStripAlertContainerPosition);
311
+ /** @hidden */
312
+ this.destroyed = inject(DestroyedService);
313
+ /** @hidden */
314
+ this.messageStripAlertService = inject(MessageStripAlertService);
315
+ /**
316
+ * Observable that emits the alert references that are currently rendered in the container.
317
+ */
318
+ this.alertRefs$ = new BehaviorSubject([]);
319
+ }
320
+ /** @hidden */
321
+ set alertRefs(alertRefs) {
322
+ this.alertRefs$.next(alertRefs);
323
+ }
324
+ /** @hidden */
325
+ ngAfterViewInit() {
326
+ this.messageStripAlertService.footerComponents$
327
+ .pipe(map((components) => components[this.position]), tap((footerComponent) => {
328
+ if (footerComponent) {
329
+ this.footerComponentPortal = new ComponentPortal(footerComponent, null, Injector.create({
330
+ providers: [
331
+ {
332
+ provide: MessageStripAlertContainerAlertRefs,
333
+ useValue: this.alertRefs$.pipe(takeUntil$1(this.destroyed))
334
+ }
335
+ ]
336
+ }));
337
+ }
338
+ else {
339
+ this.footerComponentPortal = undefined;
340
+ }
341
+ }), takeUntil$1(this.destroyed))
342
+ .subscribe();
343
+ }
344
+ }
345
+ MessageStripAlertContainerFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertContainerFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
346
+ 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$1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }] });
347
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertContainerFooterComponent, decorators: [{
348
+ type: Component,
349
+ 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"] }]
350
+ }], propDecorators: { alertRefs: [{
351
+ type: Input
352
+ }] } });
353
+
354
+ /**
355
+ * This will be rendered in the overlay. It is responsible for rendering the alerts and the footer.
356
+ */
357
+ class MessageStripAlertContainerComponent {
358
+ constructor() {
359
+ /**
360
+ * The list of the elements that are attached to the container.
361
+ */
362
+ this.attachedElements = [];
363
+ }
364
+ /** @hidden */
365
+ ngAfterViewInit() {
366
+ this.alertRefs$ = this.portalOutlets.changes.pipe(startWith(this.portalOutlets), map(() => this.portalOutlets
367
+ .toArray()
368
+ .map((p) => { var _a; return (_a = p.attachedRef) === null || _a === void 0 ? void 0 : _a.instance.alertRef; })));
369
+ }
370
+ }
371
+ MessageStripAlertContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
372
+ 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: `
373
+ <div fdScrollbar>
374
+ <ng-container *ngFor="let portal of attachedElements">
375
+ <ng-template [cdkPortalOutlet]="portal"></ng-template>
376
+ </ng-container>
377
+ </div>
378
+ <fd-message-strip-alert-container-footer
379
+ [alertRefs]="alertRefs$ | async"
380
+ ></fd-message-strip-alert-container-footer>
381
+ `, 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$1.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 });
382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertContainerComponent, decorators: [{
383
+ type: Component,
384
+ args: [{ selector: 'fd-message-strip-alert-container', template: `
385
+ <div fdScrollbar>
386
+ <ng-container *ngFor="let portal of attachedElements">
387
+ <ng-template [cdkPortalOutlet]="portal"></ng-template>
388
+ </ng-container>
389
+ </div>
390
+ <fd-message-strip-alert-container-footer
391
+ [alertRefs]="alertRefs$ | async"
392
+ ></fd-message-strip-alert-container-footer>
393
+ `, 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"] }]
394
+ }], propDecorators: { portalOutlets: [{
395
+ type: ViewChildren,
396
+ args: [CdkPortalOutlet]
397
+ }], alerts: [{
398
+ type: ViewChildren,
399
+ args: [MessageStripAlertComponent]
400
+ }] } });
401
+
402
+ const defaultConfig = {
403
+ position: 'top-middle',
404
+ messageStrip: {}
405
+ };
406
+ /**
407
+ * Applies default config to the given config
408
+ */
409
+ function applyDefaultConfig(config) {
410
+ return Object.assign(Object.assign({}, defaultConfig), config);
411
+ }
412
+
413
+ /**
414
+ * Service that is responsible for opening and closing message strip alerts.
415
+ * This should be only created once in entire application.
416
+ * Service is responsible for creating and managing the overlays for the
417
+ * message strip alerts. This also manages the footer components for any
418
+ * given position.
419
+ */
420
+ class MessageStripAlertService {
421
+ /** @hidden */
422
+ constructor() {
423
+ /** @hidden */
424
+ this.injector = inject(Injector);
425
+ /** @hidden */
426
+ this._overlay = inject(Overlay);
427
+ /** @hidden */
428
+ this.viewportSize$ = inject(ViewportSizeObservable);
429
+ /** @hidden */
430
+ this._messageStripAlertService = inject(MessageStripAlertService, { optional: true, skipSelf: true });
431
+ /** @hidden */
432
+ this._messageAlerts$ = new BehaviorSubject([]);
433
+ /** @hidden */
434
+ this._overlayRefs = {};
435
+ /** @hidden */
436
+ this._messageStripAlertContainerFooters$ = new BehaviorSubject({});
437
+ /** @hidden */
438
+ this.footerComponents$ = this._messageStripAlertContainerFooters$.asObservable();
439
+ if (this._messageStripAlertService) {
440
+ throw new Error('MessageStripAlertService is already provided');
441
+ }
442
+ this.listenToItemsChanges();
443
+ }
444
+ /**
445
+ * Set the footer component for a given position.
446
+ */
447
+ setFooterComponent(position, component) {
448
+ this._messageStripAlertContainerFooters$.next(Object.assign(Object.assign({}, this._messageStripAlertContainerFooters$.value), { [position]: component }));
449
+ }
450
+ /**
451
+ * Open a message strip alert with given configuration
452
+ */
453
+ open(c) {
454
+ const config = applyDefaultConfig(c);
455
+ const alertRef = this.getMessageStripAlertRef(config);
456
+ this._messageAlerts$.next([Object.assign(Object.assign({}, config), { portal: alertRef.portal }), ...this._messageAlerts$.value]);
457
+ return alertRef;
458
+ }
459
+ /** @hidden */
460
+ getMessageStripAlertRef(config) {
461
+ const onDismiss$ = new Subject();
462
+ const alertRef = {
463
+ portal: new ComponentPortal((MessageStripAlertComponent), null, Injector.create({
464
+ providers: [
465
+ {
466
+ provide: MessageStripAlertComponentData,
467
+ useValue: {
468
+ content: config.content,
469
+ messageStripConfig: Object.assign(Object.assign({}, config.messageStrip), { onDismiss: () => {
470
+ this._messageAlerts$.next(this._messageAlerts$.value.filter((item) => item.portal !== alertRef.portal));
471
+ config.messageStrip &&
472
+ config.messageStrip.onDismiss &&
473
+ config.messageStrip.onDismiss();
474
+ onDismiss$.next();
475
+ } })
476
+ }
477
+ },
478
+ {
479
+ provide: MessageStripAlertRef,
480
+ useFactory: () => alertRef
481
+ }
482
+ ],
483
+ parent: this.injector
484
+ })),
485
+ dismiss: () => {
486
+ this._messageAlerts$.next(this._messageAlerts$.value.filter((item) => item.portal !== alertRef.portal));
487
+ config.messageStrip && config.messageStrip.onDismiss && config.messageStrip.onDismiss();
488
+ onDismiss$.next();
489
+ onDismiss$.complete();
490
+ },
491
+ onDismiss$: onDismiss$.asObservable()
492
+ };
493
+ return alertRef;
494
+ }
495
+ /** @hidden */
496
+ listenToItemsChanges() {
497
+ combineLatest([this.viewportSize$, this._messageAlerts$.asObservable()])
498
+ .pipe(map(([viewportSize, messageAlerts]) => {
499
+ if (viewportSize < ResponsiveBreakpoints.M) {
500
+ return messageAlerts.reduce((acc, next) => {
501
+ var _a;
502
+ const position = ((_a = next.position) === null || _a === void 0 ? void 0 : _a.startsWith('top')) ? 'top-middle' : 'bottom-middle';
503
+ acc[position] = [...(acc[position] || []), next.portal];
504
+ return acc;
505
+ }, {});
506
+ }
507
+ return messageAlerts.reduce((acc, next) => {
508
+ acc[next.position] = [...(acc[next.position] || []), next.portal];
509
+ return acc;
510
+ }, {});
511
+ }), tap((messageAlertsByPosition) => {
512
+ let topSectionIsOpened = false;
513
+ let bottomSectionIsOpened = false;
514
+ Object.entries(messageAlertsByPosition).forEach(([position, portals]) => {
515
+ topSectionIsOpened = topSectionIsOpened || position.startsWith('top');
516
+ bottomSectionIsOpened = bottomSectionIsOpened || position.startsWith('bottom');
517
+ const { containerRef } = this.getOverlayRef(position);
518
+ containerRef.instance.attachedElements = portals;
519
+ containerRef.changeDetectorRef.detectChanges();
520
+ });
521
+ this.syncExistingOverlays(messageAlertsByPosition, bottomSectionIsOpened, topSectionIsOpened);
522
+ }))
523
+ .subscribe();
524
+ }
525
+ /** @hidden */
526
+ syncExistingOverlays(messageAlertsByPosition, bottomSectionIsOpened, topSectionIsOpened) {
527
+ Object.keys(this._overlayRefs).forEach((position) => {
528
+ if (!messageAlertsByPosition[position]) {
529
+ this._overlayRefs[position].ref.dispose();
530
+ delete this._overlayRefs[position];
531
+ }
532
+ else {
533
+ const ref = this._overlayRefs[position].ref;
534
+ if (position.startsWith('top')) {
535
+ if (bottomSectionIsOpened) {
536
+ ref.overlayElement.classList.add('fd-message-strip-alert-overlay--bottom-opened');
537
+ }
538
+ else {
539
+ ref.overlayElement.classList.remove('fd-message-strip-alert-overlay--bottom-opened');
540
+ }
541
+ }
542
+ if (position.startsWith('bottom')) {
543
+ if (topSectionIsOpened) {
544
+ ref.overlayElement.classList.add('fd-message-strip-alert-overlay--top-opened');
545
+ }
546
+ else {
547
+ ref.overlayElement.classList.remove('fd-message-strip-alert-overlay--top-opened');
548
+ }
549
+ }
550
+ }
551
+ });
552
+ }
553
+ /** @hidden */
554
+ getOverlayRef(position) {
555
+ if (!this._overlayRefs[position]) {
556
+ const [verticalPosition, horizontalPosition] = position.split('-');
557
+ const overlayRef = this.createOverlay(verticalPosition, horizontalPosition);
558
+ const containerRef = overlayRef.attach(new ComponentPortal(MessageStripAlertContainerComponent, null, Injector.create({
559
+ parent: this.injector,
560
+ providers: [
561
+ {
562
+ provide: MessageStripAlertContainerPosition,
563
+ useValue: position
564
+ }
565
+ ]
566
+ })));
567
+ this._overlayRefs[position] = { ref: overlayRef, containerRef };
568
+ }
569
+ return this._overlayRefs[position];
570
+ }
571
+ /** @hidden */
572
+ createOverlay(verticalPosition, horizontalPosition) {
573
+ return this._overlay.create({
574
+ panelClass: [
575
+ 'fd-message-strip-alert-overlay',
576
+ `fd-message-strip-alert-overlay--${verticalPosition}`,
577
+ `fd-message-strip-alert-overlay--${horizontalPosition}`
578
+ ],
579
+ hasBackdrop: false
580
+ });
581
+ }
582
+ }
583
+ MessageStripAlertService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
584
+ MessageStripAlertService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertService, providedIn: 'root' });
585
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MessageStripAlertService, decorators: [{
586
+ type: Injectable,
587
+ args: [{
588
+ providedIn: 'root'
589
+ }]
590
+ }], ctorParameters: function () { return []; } });
591
+
132
592
  /**
133
593
  * Generated bundle index. Do not edit.
134
594
  */
135
595
 
136
- export { MessageStripComponent, MessageStripModule };
596
+ export { AutoDismissMessageStripDirective, MessageStripAlertContainerAlertRefs, MessageStripAlertContainerPosition, MessageStripAlertRef, MessageStripAlertService, MessageStripComponent, MessageStripModule };
137
597
  //# sourceMappingURL=fundamental-ngx-core-message-strip.mjs.map