@fundamental-ngx/core 0.42.0-rc.2 → 0.42.0-rc.21

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 (397) 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/dialog/base/dialog-base.class.d.ts +2 -2
  25. package/dialog/dialog-body/dialog-body.component.d.ts +2 -4
  26. package/dialog/dialog-container/dialog-container.component.d.ts +0 -2
  27. package/dialog/dialog-service/dialog.service.d.ts +4 -0
  28. package/dialog/dialog.component.d.ts +0 -2
  29. package/dynamic-page/dynamic-page-content/dynamic-page-content.component.d.ts +4 -6
  30. package/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.d.ts +2 -4
  31. package/dynamic-side-content/dynamic-side-content.component.d.ts +3 -5
  32. package/esm2020/alert/alert.component.mjs +7 -19
  33. package/esm2020/alert/alert.module.mjs +5 -4
  34. package/esm2020/avatar/avatar.component.mjs +6 -10
  35. package/esm2020/avatar-group/directives/avatar-group-focusable-avatar.directive.mjs +4 -12
  36. package/esm2020/avatar-group/directives/avatar-group-overflow-body.directive.mjs +2 -2
  37. package/esm2020/avatar-group/directives/avatar-group-overflow-button.directive.mjs +3 -7
  38. package/esm2020/bar/bar.component.mjs +3 -7
  39. package/esm2020/breadcrumb/breadcrumb-item.component.mjs +2 -2
  40. package/esm2020/breadcrumb/breadcrumb.component.mjs +2 -2
  41. package/esm2020/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.mjs +4 -8
  42. package/esm2020/button/button.component.mjs +3 -9
  43. package/esm2020/card/card-content.component.mjs +3 -7
  44. package/esm2020/card/card-counter.directive.mjs +3 -7
  45. package/esm2020/card/card-header.component.mjs +4 -8
  46. package/esm2020/card/card-loader.component.mjs +3 -7
  47. package/esm2020/card/card-second-subtitle.directive.mjs +3 -7
  48. package/esm2020/card/card-subtitle.directive.mjs +3 -7
  49. package/esm2020/card/card-title.directive.mjs +3 -7
  50. package/esm2020/card/card.component.mjs +3 -7
  51. package/esm2020/card/kpi/card-kpi-analytics-content.directive.mjs +3 -7
  52. package/esm2020/card/kpi/card-kpi-analytics-label.directive.mjs +3 -7
  53. package/esm2020/card/kpi/card-kpi-analytics.directive.mjs +3 -7
  54. package/esm2020/card/kpi/card-kpi-header.component.mjs +3 -7
  55. package/esm2020/card/kpi/card-kpi-scale-icon.directive.mjs +3 -7
  56. package/esm2020/card/kpi/card-kpi-scale-text.directive.mjs +3 -7
  57. package/esm2020/card/kpi/card-kpi-value.directive.mjs +3 -7
  58. package/esm2020/checkbox/checkbox/checkbox.component.mjs +3 -3
  59. package/esm2020/content-density/services/content-density-observer.service.mjs +3 -3
  60. package/esm2020/dialog/base/dialog-base.class.mjs +6 -6
  61. package/esm2020/dialog/dialog-body/dialog-body.component.mjs +3 -7
  62. package/esm2020/dialog/dialog-container/dialog-container.component.mjs +1 -5
  63. package/esm2020/dialog/dialog-service/dialog.service.mjs +10 -2
  64. package/esm2020/dialog/dialog.component.mjs +3 -7
  65. package/esm2020/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +4 -8
  66. package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.mjs +5 -9
  67. package/esm2020/dynamic-side-content/dynamic-side-content.component.mjs +3 -7
  68. package/esm2020/facets/content/facet-content.component.mjs +4 -8
  69. package/esm2020/facets/facet/facet.component.mjs +13 -19
  70. package/esm2020/feed-input/directives/feed-input-avatar.directive.mjs +3 -7
  71. package/esm2020/feed-list-item/components/item/feed-list-item.component.mjs +3 -7
  72. package/esm2020/feed-list-item/components/list/feed-list.component.mjs +3 -7
  73. package/esm2020/form/form-control/form-control.component.mjs +3 -7
  74. package/esm2020/form/form-group/form-group.component.mjs +3 -7
  75. package/esm2020/form/form-message/form-message.component.mjs +3 -7
  76. package/esm2020/icon/icon.component.mjs +3 -7
  77. package/esm2020/illustrated-message/illustrated-message.component.mjs +3 -7
  78. package/esm2020/info-label/info-label.component.mjs +3 -7
  79. package/esm2020/inline-help/inline-help.directive.mjs +26 -15
  80. package/esm2020/input-group/input-group-directives.mjs +6 -14
  81. package/esm2020/input-group/input-group.component.mjs +2 -2
  82. package/esm2020/layout-grid/directives/layout-grid-col.directive.mjs +3 -7
  83. package/esm2020/layout-grid/layout-grid.component.mjs +3 -7
  84. package/esm2020/layout-panel/layout-panel-footer/layout-panel-footer.component.mjs +3 -7
  85. package/esm2020/link/link.component.mjs +9 -13
  86. package/esm2020/list/directives/list-icon.directive.mjs +3 -7
  87. package/esm2020/list/directives/list-navigation-item-text.directive.mjs +3 -7
  88. package/esm2020/list/list-message.directive.mjs +3 -7
  89. package/esm2020/menu/menu-mobile/menu-mobile.component.mjs +2 -2
  90. package/esm2020/message-box/message-box-container/message-box-container.component.mjs +1 -5
  91. package/esm2020/message-box/message-box.component.mjs +1 -5
  92. package/esm2020/message-page/message-page.component.mjs +3 -7
  93. package/esm2020/message-strip/message-strip.component.mjs +5 -9
  94. package/esm2020/multi-input/multi-input.component.mjs +31 -17
  95. package/esm2020/notification/directives/notification-indicator.directive.mjs +3 -7
  96. package/esm2020/notification/notification-group/notification-group.component.mjs +3 -7
  97. package/esm2020/notification/notification-utils/notification-group-base.mjs +2 -2
  98. package/esm2020/object-marker/object-marker.component.mjs +3 -7
  99. package/esm2020/object-number/object-number.component.mjs +3 -7
  100. package/esm2020/object-status/object-status.component.mjs +3 -7
  101. package/esm2020/panel/panel.component.mjs +3 -7
  102. package/esm2020/popover/popover-body/popover-body.component.mjs +5 -2
  103. package/esm2020/product-switch/product-switch-body/product-switch-body.component.mjs +1 -1
  104. package/esm2020/radio/radio-button/radio-button.component.mjs +2 -2
  105. package/esm2020/rating-indicator/components/rating-indicator.component.mjs +3 -7
  106. package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +4 -8
  107. package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +3 -7
  108. package/esm2020/segmented-button/segmented-button.component.mjs +4 -4
  109. package/esm2020/select/select.component.mjs +4 -4
  110. package/esm2020/slider/slider.component.mjs +3 -7
  111. package/esm2020/status-indicator/status-indicator.component.mjs +4 -8
  112. package/esm2020/table/directives/table-cell.directive.mjs +31 -26
  113. package/esm2020/table/directives/table-icon.directive.mjs +3 -9
  114. package/esm2020/table/directives/table-row.directive.mjs +34 -19
  115. package/esm2020/table/table-wrapper.component.mjs +2 -2
  116. package/esm2020/table/table.component.mjs +1 -1
  117. package/esm2020/tabs/tab-item/tab-item.directive.mjs +3 -7
  118. package/esm2020/tabs/tab-nav/tab-nav.component.mjs +3 -9
  119. package/esm2020/tabs/tab-utils/tab-directives.mjs +3 -9
  120. package/esm2020/tile/directives/numeric-content.directives.mjs +14 -34
  121. package/esm2020/tile/directives/tile.directives.mjs +9 -21
  122. package/esm2020/tile/tile.component.mjs +2 -2
  123. package/esm2020/token/token-input.directive.mjs +3 -7
  124. package/esm2020/token/tokenizer.component.mjs +12 -16
  125. package/esm2020/toolbar/toolbar.component.mjs +2 -2
  126. package/esm2020/tree/components/tree-item/tree-item.component.mjs +1 -1
  127. package/esm2020/tree/models/base-tree-item.class.mjs +2 -6
  128. package/esm2020/tree/tree.component.mjs +3 -7
  129. package/esm2020/upload-collection/upload-collection-item.directive.mjs +2 -2
  130. package/esm2020/wizard/wizard.component.mjs +2 -2
  131. package/facets/content/facet-content.component.d.ts +2 -4
  132. package/facets/facet/facet.component.d.ts +2 -6
  133. package/feed-input/directives/feed-input-avatar.directive.d.ts +2 -4
  134. package/feed-list-item/components/item/feed-list-item.component.d.ts +2 -4
  135. package/feed-list-item/components/list/feed-list.component.d.ts +2 -4
  136. package/fesm2015/fundamental-ngx-core-alert.mjs +48 -58
  137. package/fesm2015/fundamental-ngx-core-alert.mjs.map +1 -1
  138. package/fesm2015/fundamental-ngx-core-avatar-group.mjs +6 -18
  139. package/fesm2015/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  140. package/fesm2015/fundamental-ngx-core-avatar.mjs +5 -9
  141. package/fesm2015/fundamental-ngx-core-avatar.mjs.map +1 -1
  142. package/fesm2015/fundamental-ngx-core-bar.mjs +2 -6
  143. package/fesm2015/fundamental-ngx-core-bar.mjs.map +1 -1
  144. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs +2 -2
  145. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  146. package/fesm2015/fundamental-ngx-core-busy-indicator.mjs +3 -7
  147. package/fesm2015/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  148. package/fesm2015/fundamental-ngx-core-button.mjs +2 -8
  149. package/fesm2015/fundamental-ngx-core-button.mjs.map +1 -1
  150. package/fesm2015/fundamental-ngx-core-card.mjs +31 -91
  151. package/fesm2015/fundamental-ngx-core-card.mjs.map +1 -1
  152. package/fesm2015/fundamental-ngx-core-checkbox.mjs +2 -2
  153. package/fesm2015/fundamental-ngx-core-checkbox.mjs.map +1 -1
  154. package/fesm2015/fundamental-ngx-core-content-density.mjs +2 -2
  155. package/fesm2015/fundamental-ngx-core-content-density.mjs.map +1 -1
  156. package/fesm2015/fundamental-ngx-core-dialog.mjs +18 -23
  157. package/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
  158. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs +7 -15
  159. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  160. package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs +2 -6
  161. package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
  162. package/fesm2015/fundamental-ngx-core-facets.mjs +15 -25
  163. package/fesm2015/fundamental-ngx-core-facets.mjs.map +1 -1
  164. package/fesm2015/fundamental-ngx-core-feed-input.mjs +2 -6
  165. package/fesm2015/fundamental-ngx-core-feed-input.mjs.map +1 -1
  166. package/fesm2015/fundamental-ngx-core-feed-list-item.mjs +4 -12
  167. package/fesm2015/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  168. package/fesm2015/fundamental-ngx-core-form.mjs +6 -18
  169. package/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  170. package/fesm2015/fundamental-ngx-core-icon.mjs +2 -6
  171. package/fesm2015/fundamental-ngx-core-icon.mjs.map +1 -1
  172. package/fesm2015/fundamental-ngx-core-illustrated-message.mjs +2 -6
  173. package/fesm2015/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  174. package/fesm2015/fundamental-ngx-core-info-label.mjs +2 -6
  175. package/fesm2015/fundamental-ngx-core-info-label.mjs.map +1 -1
  176. package/fesm2015/fundamental-ngx-core-inline-help.mjs +24 -13
  177. package/fesm2015/fundamental-ngx-core-inline-help.mjs.map +1 -1
  178. package/fesm2015/fundamental-ngx-core-input-group.mjs +6 -14
  179. package/fesm2015/fundamental-ngx-core-input-group.mjs.map +1 -1
  180. package/fesm2015/fundamental-ngx-core-layout-grid.mjs +4 -12
  181. package/fesm2015/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  182. package/fesm2015/fundamental-ngx-core-layout-panel.mjs +2 -6
  183. package/fesm2015/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  184. package/fesm2015/fundamental-ngx-core-link.mjs +8 -12
  185. package/fesm2015/fundamental-ngx-core-link.mjs.map +1 -1
  186. package/fesm2015/fundamental-ngx-core-list.mjs +6 -18
  187. package/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
  188. package/fesm2015/fundamental-ngx-core-menu.mjs +1 -1
  189. package/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
  190. package/fesm2015/fundamental-ngx-core-message-box.mjs +0 -8
  191. package/fesm2015/fundamental-ngx-core-message-box.mjs.map +1 -1
  192. package/fesm2015/fundamental-ngx-core-message-page.mjs +2 -6
  193. package/fesm2015/fundamental-ngx-core-message-page.mjs.map +1 -1
  194. package/fesm2015/fundamental-ngx-core-message-strip.mjs +4 -8
  195. package/fesm2015/fundamental-ngx-core-message-strip.mjs.map +1 -1
  196. package/fesm2015/fundamental-ngx-core-multi-input.mjs +31 -15
  197. package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
  198. package/fesm2015/fundamental-ngx-core-notification.mjs +5 -13
  199. package/fesm2015/fundamental-ngx-core-notification.mjs.map +1 -1
  200. package/fesm2015/fundamental-ngx-core-object-marker.mjs +2 -6
  201. package/fesm2015/fundamental-ngx-core-object-marker.mjs.map +1 -1
  202. package/fesm2015/fundamental-ngx-core-object-number.mjs +2 -6
  203. package/fesm2015/fundamental-ngx-core-object-number.mjs.map +1 -1
  204. package/fesm2015/fundamental-ngx-core-object-status.mjs +2 -6
  205. package/fesm2015/fundamental-ngx-core-object-status.mjs.map +1 -1
  206. package/fesm2015/fundamental-ngx-core-panel.mjs +2 -6
  207. package/fesm2015/fundamental-ngx-core-panel.mjs.map +1 -1
  208. package/fesm2015/fundamental-ngx-core-popover.mjs +4 -1
  209. package/fesm2015/fundamental-ngx-core-popover.mjs.map +1 -1
  210. package/fesm2015/fundamental-ngx-core-product-switch.mjs +1 -1
  211. package/fesm2015/fundamental-ngx-core-product-switch.mjs.map +1 -1
  212. package/fesm2015/fundamental-ngx-core-radio.mjs +1 -1
  213. package/fesm2015/fundamental-ngx-core-radio.mjs.map +1 -1
  214. package/fesm2015/fundamental-ngx-core-rating-indicator.mjs +2 -6
  215. package/fesm2015/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  216. package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs +5 -13
  217. package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  218. package/fesm2015/fundamental-ngx-core-segmented-button.mjs +3 -3
  219. package/fesm2015/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  220. package/fesm2015/fundamental-ngx-core-select.mjs +3 -3
  221. package/fesm2015/fundamental-ngx-core-select.mjs.map +1 -1
  222. package/fesm2015/fundamental-ngx-core-slider.mjs +2 -6
  223. package/fesm2015/fundamental-ngx-core-slider.mjs.map +1 -1
  224. package/fesm2015/fundamental-ngx-core-status-indicator.mjs +3 -7
  225. package/fesm2015/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  226. package/fesm2015/fundamental-ngx-core-table.mjs +64 -48
  227. package/fesm2015/fundamental-ngx-core-table.mjs.map +1 -1
  228. package/fesm2015/fundamental-ngx-core-tabs.mjs +6 -22
  229. package/fesm2015/fundamental-ngx-core-tabs.mjs.map +1 -1
  230. package/fesm2015/fundamental-ngx-core-tile.mjs +22 -54
  231. package/fesm2015/fundamental-ngx-core-tile.mjs.map +1 -1
  232. package/fesm2015/fundamental-ngx-core-token.mjs +13 -21
  233. package/fesm2015/fundamental-ngx-core-token.mjs.map +1 -1
  234. package/fesm2015/fundamental-ngx-core-toolbar.mjs +1 -1
  235. package/fesm2015/fundamental-ngx-core-toolbar.mjs.map +1 -1
  236. package/fesm2015/fundamental-ngx-core-tree.mjs +3 -11
  237. package/fesm2015/fundamental-ngx-core-tree.mjs.map +1 -1
  238. package/fesm2015/fundamental-ngx-core-upload-collection.mjs +1 -1
  239. package/fesm2015/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  240. package/fesm2015/fundamental-ngx-core-wizard.mjs +1 -1
  241. package/fesm2015/fundamental-ngx-core-wizard.mjs.map +1 -1
  242. package/fesm2020/fundamental-ngx-core-alert.mjs +48 -58
  243. package/fesm2020/fundamental-ngx-core-alert.mjs.map +1 -1
  244. package/fesm2020/fundamental-ngx-core-avatar-group.mjs +6 -18
  245. package/fesm2020/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  246. package/fesm2020/fundamental-ngx-core-avatar.mjs +5 -9
  247. package/fesm2020/fundamental-ngx-core-avatar.mjs.map +1 -1
  248. package/fesm2020/fundamental-ngx-core-bar.mjs +2 -6
  249. package/fesm2020/fundamental-ngx-core-bar.mjs.map +1 -1
  250. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs +2 -2
  251. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  252. package/fesm2020/fundamental-ngx-core-busy-indicator.mjs +3 -7
  253. package/fesm2020/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  254. package/fesm2020/fundamental-ngx-core-button.mjs +2 -8
  255. package/fesm2020/fundamental-ngx-core-button.mjs.map +1 -1
  256. package/fesm2020/fundamental-ngx-core-card.mjs +31 -91
  257. package/fesm2020/fundamental-ngx-core-card.mjs.map +1 -1
  258. package/fesm2020/fundamental-ngx-core-checkbox.mjs +2 -2
  259. package/fesm2020/fundamental-ngx-core-checkbox.mjs.map +1 -1
  260. package/fesm2020/fundamental-ngx-core-content-density.mjs +2 -2
  261. package/fesm2020/fundamental-ngx-core-content-density.mjs.map +1 -1
  262. package/fesm2020/fundamental-ngx-core-dialog.mjs +18 -23
  263. package/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
  264. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs +7 -15
  265. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  266. package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs +2 -6
  267. package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
  268. package/fesm2020/fundamental-ngx-core-facets.mjs +15 -25
  269. package/fesm2020/fundamental-ngx-core-facets.mjs.map +1 -1
  270. package/fesm2020/fundamental-ngx-core-feed-input.mjs +2 -6
  271. package/fesm2020/fundamental-ngx-core-feed-input.mjs.map +1 -1
  272. package/fesm2020/fundamental-ngx-core-feed-list-item.mjs +4 -12
  273. package/fesm2020/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  274. package/fesm2020/fundamental-ngx-core-form.mjs +6 -18
  275. package/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  276. package/fesm2020/fundamental-ngx-core-icon.mjs +2 -6
  277. package/fesm2020/fundamental-ngx-core-icon.mjs.map +1 -1
  278. package/fesm2020/fundamental-ngx-core-illustrated-message.mjs +2 -6
  279. package/fesm2020/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  280. package/fesm2020/fundamental-ngx-core-info-label.mjs +2 -6
  281. package/fesm2020/fundamental-ngx-core-info-label.mjs.map +1 -1
  282. package/fesm2020/fundamental-ngx-core-inline-help.mjs +24 -13
  283. package/fesm2020/fundamental-ngx-core-inline-help.mjs.map +1 -1
  284. package/fesm2020/fundamental-ngx-core-input-group.mjs +6 -14
  285. package/fesm2020/fundamental-ngx-core-input-group.mjs.map +1 -1
  286. package/fesm2020/fundamental-ngx-core-layout-grid.mjs +4 -12
  287. package/fesm2020/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  288. package/fesm2020/fundamental-ngx-core-layout-panel.mjs +2 -6
  289. package/fesm2020/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  290. package/fesm2020/fundamental-ngx-core-link.mjs +8 -12
  291. package/fesm2020/fundamental-ngx-core-link.mjs.map +1 -1
  292. package/fesm2020/fundamental-ngx-core-list.mjs +6 -18
  293. package/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
  294. package/fesm2020/fundamental-ngx-core-menu.mjs +1 -1
  295. package/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
  296. package/fesm2020/fundamental-ngx-core-message-box.mjs +0 -8
  297. package/fesm2020/fundamental-ngx-core-message-box.mjs.map +1 -1
  298. package/fesm2020/fundamental-ngx-core-message-page.mjs +2 -6
  299. package/fesm2020/fundamental-ngx-core-message-page.mjs.map +1 -1
  300. package/fesm2020/fundamental-ngx-core-message-strip.mjs +4 -8
  301. package/fesm2020/fundamental-ngx-core-message-strip.mjs.map +1 -1
  302. package/fesm2020/fundamental-ngx-core-multi-input.mjs +29 -15
  303. package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
  304. package/fesm2020/fundamental-ngx-core-notification.mjs +5 -13
  305. package/fesm2020/fundamental-ngx-core-notification.mjs.map +1 -1
  306. package/fesm2020/fundamental-ngx-core-object-marker.mjs +2 -6
  307. package/fesm2020/fundamental-ngx-core-object-marker.mjs.map +1 -1
  308. package/fesm2020/fundamental-ngx-core-object-number.mjs +2 -6
  309. package/fesm2020/fundamental-ngx-core-object-number.mjs.map +1 -1
  310. package/fesm2020/fundamental-ngx-core-object-status.mjs +2 -6
  311. package/fesm2020/fundamental-ngx-core-object-status.mjs.map +1 -1
  312. package/fesm2020/fundamental-ngx-core-panel.mjs +2 -6
  313. package/fesm2020/fundamental-ngx-core-panel.mjs.map +1 -1
  314. package/fesm2020/fundamental-ngx-core-popover.mjs +4 -1
  315. package/fesm2020/fundamental-ngx-core-popover.mjs.map +1 -1
  316. package/fesm2020/fundamental-ngx-core-product-switch.mjs +1 -1
  317. package/fesm2020/fundamental-ngx-core-product-switch.mjs.map +1 -1
  318. package/fesm2020/fundamental-ngx-core-radio.mjs +1 -1
  319. package/fesm2020/fundamental-ngx-core-radio.mjs.map +1 -1
  320. package/fesm2020/fundamental-ngx-core-rating-indicator.mjs +2 -6
  321. package/fesm2020/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  322. package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs +5 -13
  323. package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  324. package/fesm2020/fundamental-ngx-core-segmented-button.mjs +3 -3
  325. package/fesm2020/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  326. package/fesm2020/fundamental-ngx-core-select.mjs +3 -3
  327. package/fesm2020/fundamental-ngx-core-select.mjs.map +1 -1
  328. package/fesm2020/fundamental-ngx-core-slider.mjs +2 -6
  329. package/fesm2020/fundamental-ngx-core-slider.mjs.map +1 -1
  330. package/fesm2020/fundamental-ngx-core-status-indicator.mjs +3 -7
  331. package/fesm2020/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  332. package/fesm2020/fundamental-ngx-core-table.mjs +64 -48
  333. package/fesm2020/fundamental-ngx-core-table.mjs.map +1 -1
  334. package/fesm2020/fundamental-ngx-core-tabs.mjs +6 -22
  335. package/fesm2020/fundamental-ngx-core-tabs.mjs.map +1 -1
  336. package/fesm2020/fundamental-ngx-core-tile.mjs +22 -54
  337. package/fesm2020/fundamental-ngx-core-tile.mjs.map +1 -1
  338. package/fesm2020/fundamental-ngx-core-token.mjs +13 -21
  339. package/fesm2020/fundamental-ngx-core-token.mjs.map +1 -1
  340. package/fesm2020/fundamental-ngx-core-toolbar.mjs +1 -1
  341. package/fesm2020/fundamental-ngx-core-toolbar.mjs.map +1 -1
  342. package/fesm2020/fundamental-ngx-core-tree.mjs +3 -11
  343. package/fesm2020/fundamental-ngx-core-tree.mjs.map +1 -1
  344. package/fesm2020/fundamental-ngx-core-upload-collection.mjs +1 -1
  345. package/fesm2020/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  346. package/fesm2020/fundamental-ngx-core-wizard.mjs +1 -1
  347. package/fesm2020/fundamental-ngx-core-wizard.mjs.map +1 -1
  348. package/form/form-control/form-control.component.d.ts +2 -4
  349. package/form/form-group/form-group.component.d.ts +2 -4
  350. package/form/form-message/form-message.component.d.ts +2 -4
  351. package/fundamental-ngx-core-v0.42.0-rc.21.tgz +0 -0
  352. package/icon/icon.component.d.ts +2 -4
  353. package/illustrated-message/illustrated-message.component.d.ts +2 -4
  354. package/info-label/info-label.component.d.ts +2 -4
  355. package/inline-help/inline-help.directive.d.ts +9 -3
  356. package/input-group/input-group-directives.d.ts +5 -9
  357. package/layout-grid/directives/layout-grid-col.directive.d.ts +2 -4
  358. package/layout-grid/layout-grid.component.d.ts +2 -4
  359. package/layout-panel/layout-panel-footer/layout-panel-footer.component.d.ts +4 -6
  360. package/link/link.component.d.ts +2 -4
  361. package/list/directives/list-icon.directive.d.ts +4 -5
  362. package/list/directives/list-navigation-item-text.directive.d.ts +2 -4
  363. package/list/list-message.directive.d.ts +2 -4
  364. package/message-box/message-box-container/message-box-container.component.d.ts +0 -2
  365. package/message-box/message-box.component.d.ts +0 -2
  366. package/message-page/message-page.component.d.ts +2 -4
  367. package/message-strip/message-strip.component.d.ts +4 -5
  368. package/multi-input/multi-input.component.d.ts +9 -5
  369. package/notification/directives/notification-indicator.directive.d.ts +2 -4
  370. package/notification/notification-group/notification-group.component.d.ts +2 -4
  371. package/object-marker/object-marker.component.d.ts +2 -4
  372. package/object-number/object-number.component.d.ts +2 -4
  373. package/object-status/object-status.component.d.ts +2 -4
  374. package/package.json +4 -4
  375. package/panel/panel.component.d.ts +2 -4
  376. package/radio/radio-button/radio-button.component.d.ts +1 -1
  377. package/rating-indicator/components/rating-indicator.component.d.ts +2 -4
  378. package/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.d.ts +2 -4
  379. package/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.d.ts +2 -4
  380. package/schematics/add-dependencies/index.js +6 -6
  381. package/slider/slider.component.d.ts +2 -4
  382. package/status-indicator/status-indicator.component.d.ts +2 -4
  383. package/table/directives/table-cell.directive.d.ts +6 -12
  384. package/table/directives/table-icon.directive.d.ts +2 -6
  385. package/table/directives/table-row.directive.d.ts +10 -10
  386. package/tabs/tab-item/tab-item.directive.d.ts +2 -4
  387. package/tabs/tab-nav/tab-nav.component.d.ts +4 -8
  388. package/tabs/tab-utils/tab-directives.d.ts +2 -6
  389. package/tile/directives/numeric-content.directives.d.ts +10 -20
  390. package/tile/directives/tile.directives.d.ts +6 -12
  391. package/tile/tile.component.d.ts +1 -1
  392. package/token/token-input.directive.d.ts +2 -4
  393. package/token/tokenizer.component.d.ts +2 -4
  394. package/toolbar/toolbar.component.d.ts +1 -1
  395. package/tree/models/base-tree-item.class.d.ts +1 -3
  396. package/tree/tree.component.d.ts +1 -3
  397. package/fundamental-ngx-core-v0.42.0-rc.2.tgz +0 -0
@@ -1,51 +1,13 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Type, TemplateRef, ViewContainerRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Optional, ViewChild, Input, Output, HostListener, HostBinding, Injectable, NgModule } from '@angular/core';
3
- import * as i3 from '@angular/common';
2
+ import { EventEmitter, Type, TemplateRef, ViewContainerRef, Component, ChangeDetectionStrategy, Optional, ViewChild, Input, Output, HostListener, ViewEncapsulation, HostBinding, Injectable, NgModule } from '@angular/core';
4
3
  import { CommonModule } from '@angular/common';
5
- import { trigger, transition, style, animate } from '@angular/animations';
6
4
  import * as i1 from '@fundamental-ngx/cdk/utils';
7
5
  import { AbstractFdNgxClass, DynamicComponentService } from '@fundamental-ngx/cdk/utils';
8
6
  import { Subject } from 'rxjs';
9
- import * as i4 from '@fundamental-ngx/core/button';
7
+ import * as i3 from '@fundamental-ngx/core/message-strip';
8
+ import { MessageStripModule } from '@fundamental-ngx/core/message-strip';
9
+ import { trigger, transition, style, animate } from '@angular/animations';
10
10
  import { ButtonModule } from '@fundamental-ngx/core/button';
11
- import * as i5 from '@fundamental-ngx/core/content-density';
12
-
13
- /**
14
- * @deprecated
15
- * Alert component is depricated since version 0.16.0
16
- * Message Strip component should be used instead.
17
- */
18
- const alertFadeNgIf = trigger('fadeAlertNgIf', [
19
- transition(':enter', [
20
- style({
21
- opacity: 0
22
- }),
23
- animate('250ms ease-in-out', style({
24
- opacity: 1
25
- }))
26
- ]),
27
- transition(':leave', [
28
- style({
29
- opacity: 1,
30
- marginTop: '*',
31
- paddingTop: '*',
32
- paddingBottom: '*',
33
- height: '*',
34
- overflow: 'hidden'
35
- }),
36
- animate('400ms ease-in-out', style({
37
- opacity: 0,
38
- marginTop: 0,
39
- paddingTop: 0,
40
- paddingBottom: 0,
41
- height: 0,
42
- overflow: 'hidden'
43
- }))
44
- ])
45
- ]);
46
- const alertContainerNgIf = trigger('alertContainerNgIf', [
47
- transition(':leave', [style({ opacity: 1 }), animate('400ms ease-in-out', style({ opacity: 0 }))])
48
- ]);
49
11
 
50
12
  /**
51
13
  * @deprecated
@@ -100,7 +62,7 @@ class AlertConfig {
100
62
  let alertUniqueId = 0;
101
63
  /**
102
64
  * @deprecated
103
- * Alert component is depricated since version 0.16.0
65
+ * Alert component is deprecated since version 0.16.0
104
66
  * Message Strip component should be used instead.
105
67
  *
106
68
  * The component that represents an alert. It can be only be used inline.
@@ -240,9 +202,8 @@ class AlertComponent extends AbstractFdNgxClass {
240
202
  }
241
203
  /** @hidden */
242
204
  loadFromComponent(componentType) {
243
- const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentType);
244
205
  this.containerRef.clear();
245
- this.componentRef = this.containerRef.createComponent(componentFactory);
206
+ this.componentRef = this.containerRef.createComponent(componentType);
246
207
  }
247
208
  /** @hidden */
248
209
  loadFromString(contentString) {
@@ -257,18 +218,10 @@ class AlertComponent extends AbstractFdNgxClass {
257
218
  }
258
219
  }
259
220
  AlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AlertComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.ComponentFactoryResolver }, { token: i0.NgZone }, { token: AlertConfig, optional: true }, { token: AlertRef, optional: true }], target: i0.ɵɵFactoryTarget.Component });
260
- AlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: AlertComponent, selector: "fd-alert", inputs: { dismissible: "dismissible", type: "type", id: "id", duration: "duration", mousePersist: "mousePersist", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", dismissLabel: "dismissLabel", width: "width", minWidth: "minWidth", message: "message" }, outputs: { onDismiss: "onDismiss" }, host: { attributes: { "role": "alert" }, listeners: { "mouseenter": "handleAlertMouseEvent($event)", "mouseleave": "handleAlertMouseEvent($event)" }, properties: { "attr.aria-labelledby": "ariaLabelledBy", "attr.aria-label": "ariaLabel", "style.width": "width", "style.min-width": "minWidth", "attr.id": "id", "@fadeAlertNgIf": "" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: "<button\n class=\"fd-alert__close\"\n fd-button\n glyph=\"decline\"\n fdCompact\n fdType=\"transparent\"\n *ngIf=\"dismissible\"\n (click)=\"dismiss(undefined, true)\"\n [attr.aria-controls]=\"id\"\n [attr.aria-label]=\"dismissLabel\"\n></button>\n<p class=\"fd-alert__text\">\n <ng-container #container>{{ message }}</ng-container>\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-alert+(--information, --success, --warning, --error, --no-icon)\n .fd-alert__close\n*/.fd-alert{-webkit-box-sizing:border-box;align-items:center;background-color:var(--sapNeutralBackground);border:1px solid;border-color:var(--sapNeutralBorderColor);border-radius:.25rem;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-alert:after,.fd-alert:before{box-sizing:inherit;font-size:inherit}.fd-alert .sap-icon--message-error,.fd-alert .sap-icon--message-information,.fd-alert .sap-icon--message-success,.fd-alert .sap-icon--message-warning{display:none}.fd-alert__close{position:absolute;right:.125rem;top:.125rem}.fd-alert__close:before{content:\"\\e03e\";font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-alert__close[dir=rtl],[dir=rtl] .fd-alert__close{left:.125rem;right:auto}.fd-alert--dismissible{padding-right:2.5rem}.fd-alert--dismissible[dir=rtl],[dir=rtl] .fd-alert--dismissible{padding-left:2.5rem;padding-right:1rem}.fd-alert--error,.fd-alert--information,.fd-alert--success,.fd-alert--warning{padding-left:2.5rem}.fd-alert--error:after,.fd-alert--error:before,.fd-alert--information:after,.fd-alert--information:before,.fd-alert--success:after,.fd-alert--success:before,.fd-alert--warning:after,.fd-alert--warning:before{left:0;line-height:1rem;position:absolute;top:.4375rem;width:2.5rem}.fd-alert--error[dir=rtl],.fd-alert--information[dir=rtl],.fd-alert--success[dir=rtl],.fd-alert--warning[dir=rtl],[dir=rtl] .fd-alert--error,[dir=rtl] .fd-alert--information,[dir=rtl] .fd-alert--success,[dir=rtl] .fd-alert--warning{padding-left:1rem;padding-right:2.5rem}.fd-alert--error[dir=rtl]:after,.fd-alert--error[dir=rtl]:before,.fd-alert--information[dir=rtl]:after,.fd-alert--information[dir=rtl]:before,.fd-alert--success[dir=rtl]:after,.fd-alert--success[dir=rtl]:before,.fd-alert--warning[dir=rtl]:after,.fd-alert--warning[dir=rtl]:before,[dir=rtl] .fd-alert--error:after,[dir=rtl] .fd-alert--error:before,[dir=rtl] .fd-alert--information:after,[dir=rtl] .fd-alert--information:before,[dir=rtl] .fd-alert--success:after,[dir=rtl] .fd-alert--success:before,[dir=rtl] .fd-alert--warning:after,[dir=rtl] .fd-alert--warning:before{left:auto;right:0}.fd-alert--error.fd-alert--dismissible,.fd-alert--information.fd-alert--dismissible,.fd-alert--success.fd-alert--dismissible,.fd-alert--warning.fd-alert--dismissible{padding-right:2.5rem}.fd-alert--error.fd-alert--dismissible[dir=rtl],.fd-alert--information.fd-alert--dismissible[dir=rtl],.fd-alert--success.fd-alert--dismissible[dir=rtl],.fd-alert--warning.fd-alert--dismissible[dir=rtl],[dir=rtl] .fd-alert--error.fd-alert--dismissible,[dir=rtl] .fd-alert--information.fd-alert--dismissible,[dir=rtl] .fd-alert--success.fd-alert--dismissible,[dir=rtl] .fd-alert--warning.fd-alert--dismissible{padding-left:2.5rem}.fd-alert--error[dir=rtl]:after,.fd-alert--information[dir=rtl]:after,.fd-alert--success[dir=rtl]:after,.fd-alert--warning[dir=rtl]:after,[dir=rtl] .fd-alert--error:after,[dir=rtl] .fd-alert--information:after,[dir=rtl] .fd-alert--success:after,[dir=rtl] .fd-alert--warning:after{font-family:SAP-icons;position:absolute;right:0;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-alert--warning{background-color:var(--sapWarningBackground);border-color:var(--sapWarningBorderColor)}.fd-alert--warning:after,.fd-alert--warning:before{color:var(--sapWarningBorderColor)}.fd-alert--warning:before{content:\"\\e201\"}.fd-alert--warning:before,.fd-alert--warning[dir=rtl]:after,[dir=rtl] .fd-alert--warning:after{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-alert--warning[dir=rtl]:after,[dir=rtl] .fd-alert--warning:after{content:\"\\e201\"}.fd-alert--error{background-color:var(--sapErrorBackground);border-color:var(--sapErrorBorderColor)}.fd-alert--error:after,.fd-alert--error:before{color:var(--sapErrorBorderColor)}.fd-alert--error:before{content:\"\\e0b1\"}.fd-alert--error:before,.fd-alert--error[dir=rtl]:after,[dir=rtl] .fd-alert--error:after{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-alert--error[dir=rtl]:after,[dir=rtl] .fd-alert--error:after{content:\"\\e0b1\"}.fd-alert--success{background-color:var(--sapSuccessBackground);border-color:var(--sapSuccessBorderColor)}.fd-alert--success:after,.fd-alert--success:before{color:var(--sapSuccessBorderColor)}.fd-alert--success:before{content:\"\\e203\"}.fd-alert--success:before,.fd-alert--success[dir=rtl]:after,[dir=rtl] .fd-alert--success:after{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-alert--success[dir=rtl]:after,[dir=rtl] .fd-alert--success:after{content:\"\\e203\"}.fd-alert--information{background-color:var(--sapInformationBackground);border-color:var(--sapInformationBorderColor)}.fd-alert--information:after,.fd-alert--information:before{color:var(--sapInformationBorderColor)}.fd-alert--information:before{content:\"\\e202\"}.fd-alert--information:before,.fd-alert--information[dir=rtl]:after,[dir=rtl] .fd-alert--information:after{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-alert--information[dir=rtl]:after,[dir=rtl] .fd-alert--information:after{content:\"\\e202\"}.fd-alert--no-icon{padding-left:1rem}.fd-alert--no-icon:before{display:none}.fd-alert--no-icon[dir=rtl],[dir=rtl] .fd-alert--no-icon{padding-right:1rem}.fd-alert--no-icon[dir=rtl]:after,[dir=rtl] .fd-alert--no-icon:after{display:none}.fd-alert__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-alert__text:after,.fd-alert__text:before{box-sizing:inherit;font-size:inherit}.fd-alert{display:block}.fd-alert__close:before,.fd-alert__close:after{content:none}.fd-has-display-block{display:block}.fd-has-display-none{display:none}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: i5.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"] }], animations: [alertFadeNgIf], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
221
+ AlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: AlertComponent, selector: "fd-alert", inputs: { dismissible: "dismissible", type: "type", id: "id", duration: "duration", mousePersist: "mousePersist", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", dismissLabel: "dismissLabel", width: "width", minWidth: "minWidth", message: "message" }, outputs: { onDismiss: "onDismiss" }, host: { listeners: { "mouseenter": "handleAlertMouseEvent($event)", "mouseleave": "handleAlertMouseEvent($event)" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: "<fd-message-strip\n [dismissLabel]=\"dismissLabel\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [ariaLabel]=\"ariaLabel\"\n [width]=\"width\"\n [minWidth]=\"minWidth\"\n [dismissible]=\"dismissible\"\n [id]=\"id\"\n [type]=\"type\"\n (onDismiss)=\"onDismiss.emit($event)\"\n>\n <ng-container #container>{{ message }}</ng-container>\n <ng-content></ng-content>\n</fd-message-strip>\n", styles: [":host{display:block}:host.fd-has-display-block{display:block}:host.fd-has-display-none{display:none}\n"], dependencies: [{ kind: "component", type: i3.MessageStripComponent, selector: "fd-message-strip", inputs: ["class", "dismissible", "noIcon", "type", "id", "ariaLabelledBy", "ariaLabel", "dismissLabel", "width", "minWidth", "marginBottom"], outputs: ["onDismiss"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
261
222
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AlertComponent, decorators: [{
262
223
  type: Component,
263
- args: [{ selector: 'fd-alert', host: {
264
- '[attr.aria-labelledby]': 'ariaLabelledBy',
265
- '[attr.aria-label]': 'ariaLabel',
266
- '[style.width]': 'width',
267
- '[style.min-width]': 'minWidth',
268
- role: 'alert',
269
- '[attr.id]': 'id',
270
- '[@fadeAlertNgIf]': ''
271
- }, animations: [alertFadeNgIf], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n class=\"fd-alert__close\"\n fd-button\n glyph=\"decline\"\n fdCompact\n fdType=\"transparent\"\n *ngIf=\"dismissible\"\n (click)=\"dismiss(undefined, true)\"\n [attr.aria-controls]=\"id\"\n [attr.aria-label]=\"dismissLabel\"\n></button>\n<p class=\"fd-alert__text\">\n <ng-container #container>{{ message }}</ng-container>\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-alert+(--information, --success, --warning, --error, --no-icon)\n .fd-alert__close\n*/.fd-alert{-webkit-box-sizing:border-box;align-items:center;background-color:var(--sapNeutralBackground);border:1px solid;border-color:var(--sapNeutralBorderColor);border-radius:.25rem;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-alert:after,.fd-alert:before{box-sizing:inherit;font-size:inherit}.fd-alert .sap-icon--message-error,.fd-alert .sap-icon--message-information,.fd-alert .sap-icon--message-success,.fd-alert .sap-icon--message-warning{display:none}.fd-alert__close{position:absolute;right:.125rem;top:.125rem}.fd-alert__close:before{content:\"\\e03e\";font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-alert__close[dir=rtl],[dir=rtl] .fd-alert__close{left:.125rem;right:auto}.fd-alert--dismissible{padding-right:2.5rem}.fd-alert--dismissible[dir=rtl],[dir=rtl] .fd-alert--dismissible{padding-left:2.5rem;padding-right:1rem}.fd-alert--error,.fd-alert--information,.fd-alert--success,.fd-alert--warning{padding-left:2.5rem}.fd-alert--error:after,.fd-alert--error:before,.fd-alert--information:after,.fd-alert--information:before,.fd-alert--success:after,.fd-alert--success:before,.fd-alert--warning:after,.fd-alert--warning:before{left:0;line-height:1rem;position:absolute;top:.4375rem;width:2.5rem}.fd-alert--error[dir=rtl],.fd-alert--information[dir=rtl],.fd-alert--success[dir=rtl],.fd-alert--warning[dir=rtl],[dir=rtl] .fd-alert--error,[dir=rtl] .fd-alert--information,[dir=rtl] .fd-alert--success,[dir=rtl] .fd-alert--warning{padding-left:1rem;padding-right:2.5rem}.fd-alert--error[dir=rtl]:after,.fd-alert--error[dir=rtl]:before,.fd-alert--information[dir=rtl]:after,.fd-alert--information[dir=rtl]:before,.fd-alert--success[dir=rtl]:after,.fd-alert--success[dir=rtl]:before,.fd-alert--warning[dir=rtl]:after,.fd-alert--warning[dir=rtl]:before,[dir=rtl] .fd-alert--error:after,[dir=rtl] .fd-alert--error:before,[dir=rtl] .fd-alert--information:after,[dir=rtl] .fd-alert--information:before,[dir=rtl] .fd-alert--success:after,[dir=rtl] .fd-alert--success:before,[dir=rtl] .fd-alert--warning:after,[dir=rtl] .fd-alert--warning:before{left:auto;right:0}.fd-alert--error.fd-alert--dismissible,.fd-alert--information.fd-alert--dismissible,.fd-alert--success.fd-alert--dismissible,.fd-alert--warning.fd-alert--dismissible{padding-right:2.5rem}.fd-alert--error.fd-alert--dismissible[dir=rtl],.fd-alert--information.fd-alert--dismissible[dir=rtl],.fd-alert--success.fd-alert--dismissible[dir=rtl],.fd-alert--warning.fd-alert--dismissible[dir=rtl],[dir=rtl] .fd-alert--error.fd-alert--dismissible,[dir=rtl] .fd-alert--information.fd-alert--dismissible,[dir=rtl] .fd-alert--success.fd-alert--dismissible,[dir=rtl] .fd-alert--warning.fd-alert--dismissible{padding-left:2.5rem}.fd-alert--error[dir=rtl]:after,.fd-alert--information[dir=rtl]:after,.fd-alert--success[dir=rtl]:after,.fd-alert--warning[dir=rtl]:after,[dir=rtl] .fd-alert--error:after,[dir=rtl] .fd-alert--information:after,[dir=rtl] .fd-alert--success:after,[dir=rtl] .fd-alert--warning:after{font-family:SAP-icons;position:absolute;right:0;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-alert--warning{background-color:var(--sapWarningBackground);border-color:var(--sapWarningBorderColor)}.fd-alert--warning:after,.fd-alert--warning:before{color:var(--sapWarningBorderColor)}.fd-alert--warning:before{content:\"\\e201\"}.fd-alert--warning:before,.fd-alert--warning[dir=rtl]:after,[dir=rtl] .fd-alert--warning:after{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-alert--warning[dir=rtl]:after,[dir=rtl] .fd-alert--warning:after{content:\"\\e201\"}.fd-alert--error{background-color:var(--sapErrorBackground);border-color:var(--sapErrorBorderColor)}.fd-alert--error:after,.fd-alert--error:before{color:var(--sapErrorBorderColor)}.fd-alert--error:before{content:\"\\e0b1\"}.fd-alert--error:before,.fd-alert--error[dir=rtl]:after,[dir=rtl] .fd-alert--error:after{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-alert--error[dir=rtl]:after,[dir=rtl] .fd-alert--error:after{content:\"\\e0b1\"}.fd-alert--success{background-color:var(--sapSuccessBackground);border-color:var(--sapSuccessBorderColor)}.fd-alert--success:after,.fd-alert--success:before{color:var(--sapSuccessBorderColor)}.fd-alert--success:before{content:\"\\e203\"}.fd-alert--success:before,.fd-alert--success[dir=rtl]:after,[dir=rtl] .fd-alert--success:after{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-alert--success[dir=rtl]:after,[dir=rtl] .fd-alert--success:after{content:\"\\e203\"}.fd-alert--information{background-color:var(--sapInformationBackground);border-color:var(--sapInformationBorderColor)}.fd-alert--information:after,.fd-alert--information:before{color:var(--sapInformationBorderColor)}.fd-alert--information:before{content:\"\\e202\"}.fd-alert--information:before,.fd-alert--information[dir=rtl]:after,[dir=rtl] .fd-alert--information:after{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-alert--information[dir=rtl]:after,[dir=rtl] .fd-alert--information:after{content:\"\\e202\"}.fd-alert--no-icon{padding-left:1rem}.fd-alert--no-icon:before{display:none}.fd-alert--no-icon[dir=rtl],[dir=rtl] .fd-alert--no-icon{padding-right:1rem}.fd-alert--no-icon[dir=rtl]:after,[dir=rtl] .fd-alert--no-icon:after{display:none}.fd-alert__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-alert__text:after,.fd-alert__text:before{box-sizing:inherit;font-size:inherit}.fd-alert{display:block}.fd-alert__close:before,.fd-alert__close:after{content:none}.fd-has-display-block{display:block}.fd-has-display-none{display:none}\n"] }]
224
+ args: [{ selector: 'fd-alert', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-message-strip\n [dismissLabel]=\"dismissLabel\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [ariaLabel]=\"ariaLabel\"\n [width]=\"width\"\n [minWidth]=\"minWidth\"\n [dismissible]=\"dismissible\"\n [id]=\"id\"\n [type]=\"type\"\n (onDismiss)=\"onDismiss.emit($event)\"\n>\n <ng-container #container>{{ message }}</ng-container>\n <ng-content></ng-content>\n</fd-message-strip>\n", styles: [":host{display:block}:host.fd-has-display-block{display:block}:host.fd-has-display-none{display:none}\n"] }]
272
225
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.ComponentFactoryResolver }, { type: i0.NgZone }, { type: AlertConfig, decorators: [{
273
226
  type: Optional
274
227
  }] }, { type: AlertRef, decorators: [{
@@ -310,6 +263,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
310
263
  args: ['mouseleave', ['$event']]
311
264
  }] } });
312
265
 
266
+ /**
267
+ * @deprecated
268
+ * Alert component is depricated since version 0.16.0
269
+ * Message Strip component should be used instead.
270
+ */
271
+ const alertFadeNgIf = trigger('fadeAlertNgIf', [
272
+ transition(':enter', [
273
+ style({
274
+ opacity: 0
275
+ }),
276
+ animate('250ms ease-in-out', style({
277
+ opacity: 1
278
+ }))
279
+ ]),
280
+ transition(':leave', [
281
+ style({
282
+ opacity: 1,
283
+ marginTop: '*',
284
+ paddingTop: '*',
285
+ paddingBottom: '*',
286
+ height: '*',
287
+ overflow: 'hidden'
288
+ }),
289
+ animate('400ms ease-in-out', style({
290
+ opacity: 0,
291
+ marginTop: 0,
292
+ paddingTop: 0,
293
+ paddingBottom: 0,
294
+ height: 0,
295
+ overflow: 'hidden'
296
+ }))
297
+ ])
298
+ ]);
299
+ const alertContainerNgIf = trigger('alertContainerNgIf', [
300
+ transition(':leave', [style({ opacity: 1 }), animate('400ms ease-in-out', style({ opacity: 0 }))])
301
+ ]);
302
+
313
303
  /**
314
304
  * @deprecated
315
305
  * Alert component is depricated since version 0.16.0
@@ -417,13 +407,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
417
407
  class AlertModule {
418
408
  }
419
409
  AlertModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
420
- AlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: AlertModule, declarations: [AlertComponent, AlertContainerComponent], imports: [CommonModule, ButtonModule], exports: [AlertComponent, AlertContainerComponent] });
421
- AlertModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AlertModule, providers: [AlertService, DynamicComponentService], imports: [CommonModule, ButtonModule] });
410
+ AlertModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: AlertModule, declarations: [AlertComponent, AlertContainerComponent], imports: [CommonModule, ButtonModule, MessageStripModule], exports: [AlertComponent, AlertContainerComponent] });
411
+ AlertModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AlertModule, providers: [AlertService, DynamicComponentService], imports: [CommonModule, ButtonModule, MessageStripModule] });
422
412
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AlertModule, decorators: [{
423
413
  type: NgModule,
424
414
  args: [{
425
415
  declarations: [AlertComponent, AlertContainerComponent],
426
- imports: [CommonModule, ButtonModule],
416
+ imports: [CommonModule, ButtonModule, MessageStripModule],
427
417
  exports: [AlertComponent, AlertContainerComponent],
428
418
  providers: [AlertService, DynamicComponentService]
429
419
  }]
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-alert.mjs","sources":["../../../../libs/core/src/lib/alert/alert-utils/alert-animations.ts","../../../../libs/core/src/lib/alert/alert-utils/alert-ref.ts","../../../../libs/core/src/lib/alert/alert-utils/alert-config.ts","../../../../libs/core/src/lib/alert/alert.component.ts","../../../../libs/core/src/lib/alert/alert.component.html","../../../../libs/core/src/lib/alert/alert-utils/alert-container.component.ts","../../../../libs/core/src/lib/alert/alert-service/alert.service.ts","../../../../libs/core/src/lib/alert/alert.module.ts","../../../../libs/core/src/lib/alert/fundamental-ngx-core-alert.ts"],"sourcesContent":["import { animate, AnimationTriggerMetadata, style, transition, trigger } from '@angular/animations';\n\n/**\n * @deprecated\n * Alert component is depricated since version 0.16.0\n * Message Strip component should be used instead.\n */\nexport const alertFadeNgIf: AnimationTriggerMetadata = trigger('fadeAlertNgIf', [\n transition(':enter', [\n style({\n opacity: 0\n }),\n animate(\n '250ms ease-in-out',\n style({\n opacity: 1\n })\n )\n ]),\n transition(':leave', [\n style({\n opacity: 1,\n marginTop: '*',\n paddingTop: '*',\n paddingBottom: '*',\n height: '*',\n overflow: 'hidden'\n }),\n animate(\n '400ms ease-in-out',\n style({\n opacity: 0,\n marginTop: 0,\n paddingTop: 0,\n paddingBottom: 0,\n height: 0,\n overflow: 'hidden'\n })\n )\n ])\n]);\n\nexport const alertContainerNgIf: AnimationTriggerMetadata = trigger('alertContainerNgIf', [\n transition(':leave', [style({ opacity: 1 }), animate('400ms ease-in-out', style({ opacity: 0 }))])\n]);\n","import { Observable, Subject } from 'rxjs';\n\n/**\n * @deprecated\n * Alert component is depricated since version 0.16.0\n * Message Strip component should be used instead.\n *\n * Reference to an alert component generated via the AlertService.\n * It can be injected into the content component in the same way a service would be injected.\n * For a template, add let-alert to your ng-template tag. Now using *alert* in the template refers to this class.\n */\nexport class AlertRef {\n /** @hidden */\n private readonly _afterDismissed: Subject<any> = new Subject<any>();\n\n /** Observable that is triggered when the alert is dismissed. */\n public afterDismissed: Observable<any> = this._afterDismissed.asObservable();\n\n /** Data passed from the service open method. */\n public data: any;\n\n /**\n * Dismisses the alert.\n *\n * @param reason Data passed back to the calling component through the AfterDismissed observable.\n */\n dismiss(reason?: any): void {\n this._afterDismissed.next(reason);\n }\n}\n","import { Nullable, DynamicComponentConfig } from '@fundamental-ngx/cdk/utils';\n\n/**\n * @deprecated\n * Alert component is depricated since version 0.16.0\n * Message Strip component should be used instead.\n *\n * Configuration for opening an alert with the AlertService.\n */\nexport class AlertConfig implements DynamicComponentConfig {\n /** Whether the alert is dismissible. */\n dismissible = true;\n\n /** The type of the alert. Can be one of *warning*, *success*, *information*, *error* or null. */\n type?: string;\n\n /** Id for the alert component. If omitted, a unique one is generated. */\n id?: string;\n\n /** Width of the alert. */\n width = '33vw';\n\n /** Minimum width of the alert. */\n minWidth = '300px';\n\n /** Data being injected into the child component or template. */\n data?: any;\n\n /** Duration of time *in milliseconds* that the alert will be visible. Set to -1 for indefinite. */\n duration = 10000;\n\n /** Whether the alert should stay open if the mouse is hovering over it. */\n mousePersist = false;\n\n /** Id of the element that labels the alert. */\n ariaLabelledBy?: Nullable<string>;\n\n /** Aria label for the alert component element. */\n ariaLabel?: Nullable<string>;\n\n /** The container that the Alert is appended to. By default, it is appended to the body. */\n container?: HTMLElement | 'body' = 'body';\n}\n","import {\n Component,\n Input,\n OnInit,\n ElementRef,\n ChangeDetectorRef,\n ViewChild,\n ComponentFactoryResolver,\n ComponentRef,\n Type,\n AfterViewInit,\n ViewContainerRef,\n TemplateRef,\n Optional,\n EmbeddedViewRef,\n Output,\n EventEmitter,\n ViewEncapsulation,\n HostListener,\n NgZone,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { alertFadeNgIf } from './alert-utils/alert-animations';\nimport { AbstractFdNgxClass, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { AlertRef } from './alert-utils/alert-ref';\nimport { AlertConfig } from './alert-utils/alert-config';\n\nlet alertUniqueId = 0;\n\n/**\n * @deprecated\n * Alert component is depricated since version 0.16.0\n * Message Strip component should be used instead.\n *\n * The component that represents an alert. It can be only be used inline.\n * If the AlertService is used, this component is auto-generated.\n */\n@Component({\n selector: 'fd-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss'],\n host: {\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n '[attr.aria-label]': 'ariaLabel',\n '[style.width]': 'width',\n '[style.min-width]': 'minWidth',\n role: 'alert',\n '[attr.id]': 'id',\n '[@fadeAlertNgIf]': ''\n },\n animations: [alertFadeNgIf],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AlertComponent extends AbstractFdNgxClass implements OnInit, AfterViewInit {\n /** @hidden */\n @ViewChild('container', { read: ViewContainerRef })\n containerRef: ViewContainerRef;\n\n /** Whether the alert is dismissible. */\n @Input()\n dismissible = true;\n\n /** The type of the alert. Can be one of *warning*, *success*, *information*, *error* or null. */\n @Input()\n type: string;\n\n /** Id for the alert component. If omitted, a unique one is generated. */\n @Input()\n id: string = 'fd-alert-' + alertUniqueId++;\n\n /** Duration of time *in milliseconds* that the alert will be visible. Set to -1 for indefinite. */\n @Input()\n duration = 10000;\n\n /** Whether the alert should stay open if the mouse is hovering over it. */\n @Input()\n mousePersist = false;\n\n /** Id of the element that labels the alert. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** Aria label for the alert component element. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Aria label for the dismiss button. */\n @Input()\n dismissLabel = 'Dismiss';\n\n /** Width of the alert. */\n @Input()\n width: string;\n\n /** Minimum width of the alert. */\n @Input()\n minWidth: string;\n\n /** Alternative way of passing in a message to the alert. */\n @Input()\n message: string;\n\n /** Event fired when the alert is dismissed. */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n onDismiss: EventEmitter<undefined> = new EventEmitter<undefined>();\n\n /** @hidden */\n mouseInAlert = false;\n\n /** @hidden */\n componentRef: ComponentRef<any> | EmbeddedViewRef<any>;\n\n /** @hidden */\n childContent: Type<any> | TemplateRef<any> | string | undefined = undefined;\n\n /** @hidden */\n constructor(\n private elRef: ElementRef,\n private cdRef: ChangeDetectorRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private ngZone: NgZone,\n @Optional() private alertConfig: AlertConfig,\n @Optional() private alertRef: AlertRef\n ) {\n super(elRef);\n this._setAlertConfig(alertConfig);\n this._setProperties();\n }\n\n /** @hidden */\n ngOnInit(): void {\n if (this.alertRef) {\n this.open();\n }\n this._setProperties();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this.childContent) {\n if (this.childContent instanceof Type) {\n this.loadFromComponent(this.childContent);\n } else if (this.childContent instanceof TemplateRef) {\n this.loadFromTemplate(this.childContent);\n } else {\n this.loadFromString(this.childContent);\n }\n this.cdRef.detectChanges();\n }\n }\n\n /**\n * Dismisses the alert. If the alert was generated via the AlertService, it is removed from the DOM.\n * Otherwise, it sets the display value to none. Fires the onDismiss event.\n *\n * @param manualDismiss Set to true to skip the dismiss animation.\n * @param reason Data to pass back to the calling component. Only usable if alert is opened using the Service.\n *\n */\n dismiss(reason?: any, manualDismiss: boolean = false): void {\n if (manualDismiss) {\n this.elRef.nativeElement.classList.add('fd-has-display-none');\n this.elRef.nativeElement.classList.remove('fd-has-display-block');\n }\n if (this.alertRef) {\n this.alertRef.dismiss(reason);\n } else {\n this.elRef.nativeElement.classList.add('fd-has-display-none');\n this.elRef.nativeElement.classList.remove('fd-has-display-block');\n }\n this.onDismiss.emit();\n }\n\n /**\n * Opens the alert.\n */\n open(): void {\n if (!this.alertRef) {\n if (this.elRef.nativeElement.style.display === 'block') {\n return;\n }\n this.elRef.nativeElement.classList.remove('fd-has-display-none');\n this.elRef.nativeElement.classList.add('fd-has-display-block');\n }\n\n if (this.duration >= 0) {\n this.ngZone.runOutsideAngular(() => {\n setTimeout(() => {\n if (this.mousePersist) {\n const wait = (): void => {\n if (this.mouseInAlert === true) {\n setTimeout(wait, 500);\n } else {\n this.ngZone.run(() => this.dismiss());\n }\n };\n wait();\n } else {\n this.ngZone.run(() => this.dismiss());\n }\n }, this.duration);\n });\n }\n }\n\n /** @hidden */\n @HostListener('mouseenter', ['$event'])\n @HostListener('mouseleave', ['$event'])\n handleAlertMouseEvent(event): void {\n if (event.type === 'mouseenter') {\n this.mouseInAlert = true;\n } else if (event.type === 'mouseleave') {\n this.mouseInAlert = false;\n }\n }\n\n /** @hidden */\n _setProperties(): void {\n this._addClassToElement('fd-alert');\n if (this.type) {\n this._addClassToElement('fd-alert--' + this.type);\n }\n if (this.dismissible) {\n this._addClassToElement('fd-alert--dismissible');\n }\n }\n\n /** @hidden */\n private loadFromTemplate(template: TemplateRef<any>): void {\n const context = {\n $implicit: this.alertRef\n };\n this.componentRef = this.containerRef.createEmbeddedView(template, context);\n }\n\n /** @hidden */\n private loadFromComponent(componentType: Type<any>): void {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentType);\n this.containerRef.clear();\n this.componentRef = this.containerRef.createComponent(componentFactory);\n }\n\n /** @hidden */\n private loadFromString(contentString: string): void {\n this.containerRef.clear();\n this.message = contentString;\n }\n\n /** @hidden */\n private _setAlertConfig(alertConfig: AlertConfig): void {\n Object.keys(alertConfig || {})\n .filter((key) => key !== 'data' && key !== 'container')\n .forEach((key) => (this[key] = alertConfig[key]));\n }\n}\n","<button\n class=\"fd-alert__close\"\n fd-button\n glyph=\"decline\"\n fdCompact\n fdType=\"transparent\"\n *ngIf=\"dismissible\"\n (click)=\"dismiss(undefined, true)\"\n [attr.aria-controls]=\"id\"\n [attr.aria-label]=\"dismissLabel\"\n></button>\n<p class=\"fd-alert__text\">\n <ng-container #container>{{ message }}</ng-container>\n <ng-content></ng-content>\n</p>\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { alertContainerNgIf } from './alert-animations';\n\n/**\n * @deprecated\n * Alert component is depricated since version 0.16.0\n * Message Strip component should be used instead.\n */\n@Component({\n selector: 'fd-alert-container',\n template: ``,\n styles: [\n `\n .fd-alert-container {\n position: fixed;\n display: flex;\n flex-direction: column;\n z-index: 5000;\n align-items: center;\n top: 0;\n right: 50%;\n left: 50%;\n }\n `\n ],\n host: {\n '[@alertContainerNgIf]': ''\n },\n animations: [alertContainerNgIf],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AlertContainerComponent {\n /** @hidden */\n @HostBinding('class.fd-alert-container')\n fdAlertContainerClass = true;\n}\n","import { Injectable, ComponentRef, TemplateRef, Type } from '@angular/core';\nimport { AlertComponent } from '../alert.component';\nimport { AlertContainerComponent } from '../alert-utils/alert-container.component';\nimport { AlertConfig } from '../alert-utils/alert-config';\nimport { DynamicComponentService } from '@fundamental-ngx/cdk/utils';\nimport { AlertRef } from '../alert-utils/alert-ref';\n\n/**\n * @deprecated\n * Alert component is depricated since version 0.16.0\n * Message Strip component should be used instead.\n *\n * Service used to dynamically generate an alert as an overlay.\n */\n@Injectable()\nexport class AlertService {\n /** @hidden */\n private alerts: ComponentRef<AlertComponent>[] = [];\n\n /** @hidden */\n private alertContainerRef?: ComponentRef<AlertContainerComponent>;\n\n /** @hidden */\n constructor(private dynamicComponentService: DynamicComponentService) {}\n\n /**\n * Returns true if there are some alerts currently open. False otherwise.\n */\n public hasOpenAlerts(): boolean {\n return this.alerts && this.alerts.length > 0;\n }\n\n /**\n * Opens an alert component with a content of type TemplateRef, Component Type or String.\n * @param content Content of the alert component.\n * @param alertConfig Configuration of the alert component.\n */\n public open(\n content: TemplateRef<any> | Type<any> | string,\n alertConfig: AlertConfig = new AlertConfig()\n ): AlertRef {\n // Get default values from alert model\n alertConfig = Object.assign(new AlertConfig(), alertConfig);\n\n // Instantiate alert ref service\n const service: AlertRef = new AlertRef();\n service.data = alertConfig.data;\n\n // If empty or undefined alert array, create container\n if (!this.alerts || this.alerts.length === 0 || !this.alertContainerRef) {\n this.alertContainerRef = this.dynamicComponentService.createDynamicComponent<AlertContainerComponent>(\n content,\n AlertContainerComponent,\n alertConfig\n );\n }\n\n // Define Container to put backdrop and component to container\n alertConfig.container = this.alertContainerRef.location.nativeElement;\n\n const component = this.dynamicComponentService.createDynamicComponent<AlertComponent>(\n content,\n AlertComponent,\n alertConfig,\n { services: [service, alertConfig] }\n );\n\n component.location.nativeElement.style.marginTop = '10px';\n\n // Subscription to close alert from ref\n const refSub = service.afterDismissed.subscribe(() => {\n this.destroyAlertComponent(component);\n refSub.unsubscribe();\n });\n\n // Log new component\n this.alerts.push(component);\n return service;\n }\n\n /**\n * Dismisses all service-opened alerts.\n */\n public dismissAll(): void {\n this.alerts.forEach((ref) => {\n this.destroyAlertComponent(ref);\n });\n }\n\n /** @hidden */\n private destroyAlertComponent(alert: ComponentRef<AlertComponent>): void {\n this.alerts = this.alerts.filter((item) => item && item !== alert);\n this.dynamicComponentService.destroyComponent(alert);\n\n if (this.alertContainerRef && (!this.alerts || this.alerts.length === 0)) {\n this.destroyAlertContainer();\n }\n }\n\n /** @hidden */\n private destroyAlertContainer(): void {\n this.alertContainerRef && this.dynamicComponentService.destroyComponent(this.alertContainerRef);\n this.alertContainerRef = undefined;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AlertComponent } from './alert.component';\nimport { AlertService } from './alert-service/alert.service';\nimport { AlertContainerComponent } from './alert-utils/alert-container.component';\nimport { DynamicComponentService } from '@fundamental-ngx/cdk/utils';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\n\n/**\n * @deprecated\n * Alert component is depricated since version 0.16.0\n * Message Strip component should be used instead.\n */\n@NgModule({\n declarations: [AlertComponent, AlertContainerComponent],\n imports: [CommonModule, ButtonModule],\n exports: [AlertComponent, AlertContainerComponent],\n providers: [AlertService, DynamicComponentService]\n})\nexport class AlertModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.AlertConfig","i2.AlertRef"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-alert.mjs","sources":["../../../../libs/core/src/lib/alert/alert-utils/alert-ref.ts","../../../../libs/core/src/lib/alert/alert-utils/alert-config.ts","../../../../libs/core/src/lib/alert/alert.component.ts","../../../../libs/core/src/lib/alert/alert.component.html","../../../../libs/core/src/lib/alert/alert-utils/alert-animations.ts","../../../../libs/core/src/lib/alert/alert-utils/alert-container.component.ts","../../../../libs/core/src/lib/alert/alert-service/alert.service.ts","../../../../libs/core/src/lib/alert/alert.module.ts","../../../../libs/core/src/lib/alert/fundamental-ngx-core-alert.ts"],"sourcesContent":["import { Observable, Subject } from 'rxjs';\n\n/**\n * @deprecated\n * Alert component is depricated since version 0.16.0\n * Message Strip component should be used instead.\n *\n * Reference to an alert component generated via the AlertService.\n * It can be injected into the content component in the same way a service would be injected.\n * For a template, add let-alert to your ng-template tag. Now using *alert* in the template refers to this class.\n */\nexport class AlertRef {\n /** @hidden */\n private readonly _afterDismissed: Subject<any> = new Subject<any>();\n\n /** Observable that is triggered when the alert is dismissed. */\n public afterDismissed: Observable<any> = this._afterDismissed.asObservable();\n\n /** Data passed from the service open method. */\n public data: any;\n\n /**\n * Dismisses the alert.\n *\n * @param reason Data passed back to the calling component through the AfterDismissed observable.\n */\n dismiss(reason?: any): void {\n this._afterDismissed.next(reason);\n }\n}\n","import { Nullable, DynamicComponentConfig } from '@fundamental-ngx/cdk/utils';\n\n/**\n * @deprecated\n * Alert component is depricated since version 0.16.0\n * Message Strip component should be used instead.\n *\n * Configuration for opening an alert with the AlertService.\n */\nexport class AlertConfig implements DynamicComponentConfig {\n /** Whether the alert is dismissible. */\n dismissible = true;\n\n /** The type of the alert. Can be one of *warning*, *success*, *information*, *error* or null. */\n type?: string;\n\n /** Id for the alert component. If omitted, a unique one is generated. */\n id?: string;\n\n /** Width of the alert. */\n width = '33vw';\n\n /** Minimum width of the alert. */\n minWidth = '300px';\n\n /** Data being injected into the child component or template. */\n data?: any;\n\n /** Duration of time *in milliseconds* that the alert will be visible. Set to -1 for indefinite. */\n duration = 10000;\n\n /** Whether the alert should stay open if the mouse is hovering over it. */\n mousePersist = false;\n\n /** Id of the element that labels the alert. */\n ariaLabelledBy?: Nullable<string>;\n\n /** Aria label for the alert component element. */\n ariaLabel?: Nullable<string>;\n\n /** The container that the Alert is appended to. By default, it is appended to the body. */\n container?: HTMLElement | 'body' = 'body';\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n HostListener,\n Input,\n NgZone,\n OnInit,\n Optional,\n Output,\n TemplateRef,\n Type,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { AbstractFdNgxClass, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { AlertRef } from './alert-utils/alert-ref';\nimport { AlertConfig } from './alert-utils/alert-config';\nimport { MessageStripType } from '@fundamental-ngx/core/message-strip';\n\nlet alertUniqueId = 0;\n\n/**\n * @deprecated\n * Alert component is deprecated since version 0.16.0\n * Message Strip component should be used instead.\n *\n * The component that represents an alert. It can be only be used inline.\n * If the AlertService is used, this component is auto-generated.\n */\n@Component({\n selector: 'fd-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AlertComponent extends AbstractFdNgxClass implements OnInit, AfterViewInit {\n /** @hidden */\n @ViewChild('container', { read: ViewContainerRef })\n containerRef: ViewContainerRef;\n\n /** Whether the alert is dismissible. */\n @Input()\n dismissible = true;\n\n /** The type of the alert. Can be one of *warning*, *success*, *information*, *error* or null. */\n @Input()\n type: MessageStripType;\n\n /** Id for the alert component. If omitted, a unique one is generated. */\n @Input()\n id: string = 'fd-alert-' + alertUniqueId++;\n\n /** Duration of time *in milliseconds* that the alert will be visible. Set to -1 for indefinite. */\n @Input()\n duration = 10000;\n\n /** Whether the alert should stay open if the mouse is hovering over it. */\n @Input()\n mousePersist = false;\n\n /** Id of the element that labels the alert. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** Aria label for the alert component element. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Aria label for the dismiss button. */\n @Input()\n dismissLabel = 'Dismiss';\n\n /** Width of the alert. */\n @Input()\n width: string;\n\n /** Minimum width of the alert. */\n @Input()\n minWidth: string;\n\n /** Alternative way of passing in a message to the alert. */\n @Input()\n message: string;\n\n /** Event fired when the alert is dismissed. */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n onDismiss: EventEmitter<void> = new EventEmitter<void>();\n\n /** @hidden */\n mouseInAlert = false;\n\n /** @hidden */\n componentRef: ComponentRef<any> | EmbeddedViewRef<any>;\n\n /** @hidden */\n childContent: Type<any> | TemplateRef<any> | string | undefined = undefined;\n\n /** @hidden */\n constructor(\n private elRef: ElementRef,\n private cdRef: ChangeDetectorRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private ngZone: NgZone,\n @Optional() private alertConfig: AlertConfig,\n @Optional() private alertRef: AlertRef\n ) {\n super(elRef);\n this._setAlertConfig(alertConfig);\n this._setProperties();\n }\n\n /** @hidden */\n ngOnInit(): void {\n if (this.alertRef) {\n this.open();\n }\n this._setProperties();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this.childContent) {\n if (this.childContent instanceof Type) {\n this.loadFromComponent(this.childContent);\n } else if (this.childContent instanceof TemplateRef) {\n this.loadFromTemplate(this.childContent);\n } else {\n this.loadFromString(this.childContent);\n }\n this.cdRef.detectChanges();\n }\n }\n\n /**\n * Dismisses the alert. If the alert was generated via the AlertService, it is removed from the DOM.\n * Otherwise, it sets the display value to none. Fires the onDismiss event.\n *\n * @param manualDismiss Set to true to skip the dismiss animation.\n * @param reason Data to pass back to the calling component. Only usable if alert is opened using the Service.\n *\n */\n dismiss(reason?: any, manualDismiss: boolean = false): void {\n if (manualDismiss) {\n this.elRef.nativeElement.classList.add('fd-has-display-none');\n this.elRef.nativeElement.classList.remove('fd-has-display-block');\n }\n if (this.alertRef) {\n this.alertRef.dismiss(reason);\n } else {\n this.elRef.nativeElement.classList.add('fd-has-display-none');\n this.elRef.nativeElement.classList.remove('fd-has-display-block');\n }\n this.onDismiss.emit();\n }\n\n /**\n * Opens the alert.\n */\n open(): void {\n if (!this.alertRef) {\n if (this.elRef.nativeElement.style.display === 'block') {\n return;\n }\n this.elRef.nativeElement.classList.remove('fd-has-display-none');\n this.elRef.nativeElement.classList.add('fd-has-display-block');\n }\n\n if (this.duration >= 0) {\n this.ngZone.runOutsideAngular(() => {\n setTimeout(() => {\n if (this.mousePersist) {\n const wait = (): void => {\n if (this.mouseInAlert === true) {\n setTimeout(wait, 500);\n } else {\n this.ngZone.run(() => this.dismiss());\n }\n };\n wait();\n } else {\n this.ngZone.run(() => this.dismiss());\n }\n }, this.duration);\n });\n }\n }\n\n /** @hidden */\n @HostListener('mouseenter', ['$event'])\n @HostListener('mouseleave', ['$event'])\n handleAlertMouseEvent(event): void {\n if (event.type === 'mouseenter') {\n this.mouseInAlert = true;\n } else if (event.type === 'mouseleave') {\n this.mouseInAlert = false;\n }\n }\n\n /** @hidden */\n _setProperties(): void {\n this._addClassToElement('fd-alert');\n if (this.type) {\n this._addClassToElement('fd-alert--' + this.type);\n }\n if (this.dismissible) {\n this._addClassToElement('fd-alert--dismissible');\n }\n }\n\n /** @hidden */\n private loadFromTemplate(template: TemplateRef<any>): void {\n const context = {\n $implicit: this.alertRef\n };\n this.componentRef = this.containerRef.createEmbeddedView(template, context);\n }\n\n /** @hidden */\n private loadFromComponent(componentType: Type<any>): void {\n this.containerRef.clear();\n this.componentRef = this.containerRef.createComponent(componentType);\n }\n\n /** @hidden */\n private loadFromString(contentString: string): void {\n this.containerRef.clear();\n this.message = contentString;\n }\n\n /** @hidden */\n private _setAlertConfig(alertConfig: AlertConfig): void {\n Object.keys(alertConfig || {})\n .filter((key) => key !== 'data' && key !== 'container')\n .forEach((key) => (this[key] = alertConfig[key]));\n }\n}\n","<fd-message-strip\n [dismissLabel]=\"dismissLabel\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [ariaLabel]=\"ariaLabel\"\n [width]=\"width\"\n [minWidth]=\"minWidth\"\n [dismissible]=\"dismissible\"\n [id]=\"id\"\n [type]=\"type\"\n (onDismiss)=\"onDismiss.emit($event)\"\n>\n <ng-container #container>{{ message }}</ng-container>\n <ng-content></ng-content>\n</fd-message-strip>\n","import { animate, AnimationTriggerMetadata, style, transition, trigger } from '@angular/animations';\n\n/**\n * @deprecated\n * Alert component is depricated since version 0.16.0\n * Message Strip component should be used instead.\n */\nexport const alertFadeNgIf: AnimationTriggerMetadata = trigger('fadeAlertNgIf', [\n transition(':enter', [\n style({\n opacity: 0\n }),\n animate(\n '250ms ease-in-out',\n style({\n opacity: 1\n })\n )\n ]),\n transition(':leave', [\n style({\n opacity: 1,\n marginTop: '*',\n paddingTop: '*',\n paddingBottom: '*',\n height: '*',\n overflow: 'hidden'\n }),\n animate(\n '400ms ease-in-out',\n style({\n opacity: 0,\n marginTop: 0,\n paddingTop: 0,\n paddingBottom: 0,\n height: 0,\n overflow: 'hidden'\n })\n )\n ])\n]);\n\nexport const alertContainerNgIf: AnimationTriggerMetadata = trigger('alertContainerNgIf', [\n transition(':leave', [style({ opacity: 1 }), animate('400ms ease-in-out', style({ opacity: 0 }))])\n]);\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { alertContainerNgIf } from './alert-animations';\n\n/**\n * @deprecated\n * Alert component is depricated since version 0.16.0\n * Message Strip component should be used instead.\n */\n@Component({\n selector: 'fd-alert-container',\n template: ``,\n styles: [\n `\n .fd-alert-container {\n position: fixed;\n display: flex;\n flex-direction: column;\n z-index: 5000;\n align-items: center;\n top: 0;\n right: 50%;\n left: 50%;\n }\n `\n ],\n host: {\n '[@alertContainerNgIf]': ''\n },\n animations: [alertContainerNgIf],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AlertContainerComponent {\n /** @hidden */\n @HostBinding('class.fd-alert-container')\n fdAlertContainerClass = true;\n}\n","import { Injectable, ComponentRef, TemplateRef, Type } from '@angular/core';\nimport { AlertComponent } from '../alert.component';\nimport { AlertContainerComponent } from '../alert-utils/alert-container.component';\nimport { AlertConfig } from '../alert-utils/alert-config';\nimport { DynamicComponentService } from '@fundamental-ngx/cdk/utils';\nimport { AlertRef } from '../alert-utils/alert-ref';\n\n/**\n * @deprecated\n * Alert component is depricated since version 0.16.0\n * Message Strip component should be used instead.\n *\n * Service used to dynamically generate an alert as an overlay.\n */\n@Injectable()\nexport class AlertService {\n /** @hidden */\n private alerts: ComponentRef<AlertComponent>[] = [];\n\n /** @hidden */\n private alertContainerRef?: ComponentRef<AlertContainerComponent>;\n\n /** @hidden */\n constructor(private dynamicComponentService: DynamicComponentService) {}\n\n /**\n * Returns true if there are some alerts currently open. False otherwise.\n */\n public hasOpenAlerts(): boolean {\n return this.alerts && this.alerts.length > 0;\n }\n\n /**\n * Opens an alert component with a content of type TemplateRef, Component Type or String.\n * @param content Content of the alert component.\n * @param alertConfig Configuration of the alert component.\n */\n public open(\n content: TemplateRef<any> | Type<any> | string,\n alertConfig: AlertConfig = new AlertConfig()\n ): AlertRef {\n // Get default values from alert model\n alertConfig = Object.assign(new AlertConfig(), alertConfig);\n\n // Instantiate alert ref service\n const service: AlertRef = new AlertRef();\n service.data = alertConfig.data;\n\n // If empty or undefined alert array, create container\n if (!this.alerts || this.alerts.length === 0 || !this.alertContainerRef) {\n this.alertContainerRef = this.dynamicComponentService.createDynamicComponent<AlertContainerComponent>(\n content,\n AlertContainerComponent,\n alertConfig\n );\n }\n\n // Define Container to put backdrop and component to container\n alertConfig.container = this.alertContainerRef.location.nativeElement;\n\n const component = this.dynamicComponentService.createDynamicComponent<AlertComponent>(\n content,\n AlertComponent,\n alertConfig,\n { services: [service, alertConfig] }\n );\n\n component.location.nativeElement.style.marginTop = '10px';\n\n // Subscription to close alert from ref\n const refSub = service.afterDismissed.subscribe(() => {\n this.destroyAlertComponent(component);\n refSub.unsubscribe();\n });\n\n // Log new component\n this.alerts.push(component);\n return service;\n }\n\n /**\n * Dismisses all service-opened alerts.\n */\n public dismissAll(): void {\n this.alerts.forEach((ref) => {\n this.destroyAlertComponent(ref);\n });\n }\n\n /** @hidden */\n private destroyAlertComponent(alert: ComponentRef<AlertComponent>): void {\n this.alerts = this.alerts.filter((item) => item && item !== alert);\n this.dynamicComponentService.destroyComponent(alert);\n\n if (this.alertContainerRef && (!this.alerts || this.alerts.length === 0)) {\n this.destroyAlertContainer();\n }\n }\n\n /** @hidden */\n private destroyAlertContainer(): void {\n this.alertContainerRef && this.dynamicComponentService.destroyComponent(this.alertContainerRef);\n this.alertContainerRef = undefined;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AlertComponent } from './alert.component';\nimport { AlertService } from './alert-service/alert.service';\nimport { AlertContainerComponent } from './alert-utils/alert-container.component';\nimport { DynamicComponentService } from '@fundamental-ngx/cdk/utils';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { MessageStripModule } from '@fundamental-ngx/core/message-strip';\n\n/**\n * @deprecated\n * Alert component is depricated since version 0.16.0\n * Message Strip component should be used instead.\n */\n@NgModule({\n declarations: [AlertComponent, AlertContainerComponent],\n imports: [CommonModule, ButtonModule, MessageStripModule],\n exports: [AlertComponent, AlertContainerComponent],\n providers: [AlertService, DynamicComponentService]\n})\nexport class AlertModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.AlertConfig","i2.AlertRef"],"mappings":"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"}
@@ -281,7 +281,7 @@ class AvatarGroupOverflowBodyDirective {
281
281
  if (KeyUtil.isKeyCode(event, TAB)) {
282
282
  const index = this.overflowItems
283
283
  .toArray()
284
- .findIndex((item) => item.elementRef().nativeElement === event.target);
284
+ .findIndex((item) => item.elementRef.nativeElement === event.target);
285
285
  if (index !== -1) {
286
286
  this._keyboardEventsManager.setActiveItem(index);
287
287
  }
@@ -363,8 +363,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
363
363
 
364
364
  class AvatarGroupOverflowButtonDirective {
365
365
  /** @hidden */
366
- constructor(_elementRef) {
367
- this._elementRef = _elementRef;
366
+ constructor(elementRef) {
367
+ this.elementRef = elementRef;
368
368
  /** The size of the overflow button.
369
369
  * Should be the same as the Avatar Group and Avatar size.
370
370
  * Options include: *xs*, *s*, *m*, *l* and *xl* (default: *s*). */
@@ -392,10 +392,6 @@ class AvatarGroupOverflowButtonDirective {
392
392
  ];
393
393
  }
394
394
  /** @hidden */
395
- elementRef() {
396
- return this._elementRef;
397
- }
398
- /** @hidden */
399
395
  _getMoreButtonColorCssClass() {
400
396
  if (this.color === 'random') {
401
397
  return `fd-avatar-group__more-button--accent-color-${getRandomColorAccent()}`;
@@ -443,20 +439,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
443
439
 
444
440
  class AvatarGroupFocusableAvatarDirective {
445
441
  /** @hidden */
446
- constructor(_elementRef, _component) {
447
- this._elementRef = _elementRef;
442
+ constructor(elementRef, _component) {
443
+ this.elementRef = elementRef;
448
444
  this._component = _component;
449
445
  /** Tabindex of the Avatar. */
450
446
  this.tabindex = 0;
451
447
  }
452
- /** @hidden */
453
- elementRef() {
454
- return this._elementRef;
455
- }
456
- /** @hidden */
457
- get _element() {
458
- return this._elementRef.nativeElement;
459
- }
460
448
  /** Handler for mouse events */
461
449
  onClick() {
462
450
  if (this._component) {
@@ -465,7 +453,7 @@ class AvatarGroupFocusableAvatarDirective {
465
453
  }
466
454
  /** @hidden */
467
455
  focus() {
468
- this._element.focus();
456
+ this.elementRef.nativeElement.focus();
469
457
  }
470
458
  }
471
459
  AvatarGroupFocusableAvatarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AvatarGroupFocusableAvatarDirective, deps: [{ token: i0.ElementRef }, { token: forwardRef(() => AvatarGroupOverflowBodyDirective), optional: true }], target: i0.ɵɵFactoryTarget.Directive });
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-avatar-group.mjs","sources":["../../../../libs/core/src/lib/avatar-group/tokens.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-item.directive.ts","../../../../libs/core/src/lib/avatar-group/avatar-group.component.ts","../../../../libs/core/src/lib/avatar-group/avatar-group.component.html","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-body.directive.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-item.directive.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-button.directive.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-button-text.directive.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-focusable-avatar.directive.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-popover-control.directive.ts","../../../../libs/core/src/lib/avatar-group/avatar-group.module.ts","../../../../libs/core/src/lib/avatar-group/fundamental-ngx-core-avatar-group.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\nimport { HasElementRef } from '@fundamental-ngx/cdk/utils';\nimport { AvatarGroupInterface } from './avatar-group.interface';\n\nexport type FocusableWithElementRef = FocusableOption & HasElementRef;\n\nexport const AVATAR_GROUP_FOCUSABLE_AVATAR_DIRECTIVE = new InjectionToken<FocusableWithElementRef>(\n 'AvatarGroupFocusableAvatarDirective'\n);\n\nexport const AVATAR_GROUP_COMPONENT = new InjectionToken<AvatarGroupInterface>('AvatarGroupComponent');\n","import { Directive, ElementRef, HostListener, Inject, Optional } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\nimport { AvatarGroupInterface } from '../avatar-group.interface';\nimport { AVATAR_GROUP_COMPONENT } from '../tokens';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-item]',\n host: { class: 'fd-avatar-group__item' }\n})\nexport class AvatarGroupItemDirective implements FocusableOption {\n /** Item disable state */\n disabled = false;\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Optional() @Inject(AVATAR_GROUP_COMPONENT) private readonly _component: AvatarGroupInterface\n ) {}\n\n /** @hidden */\n get _element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._component) {\n this._component._setActiveItem(this);\n }\n }\n\n /** @hidden */\n focus(): void {\n this._element.focus();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ViewportRuler } from '@angular/cdk/overlay';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, TAB } from '@angular/cdk/keycodes';\nimport { of, Subscription } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ColorAccent, KeyUtil, RtlService, Size } from '@fundamental-ngx/cdk/utils';\nimport { AvatarGroupItemDirective } from './directives/avatar-group-item.directive';\nimport { AvatarGroupInterface } from './avatar-group.interface';\nimport { AVATAR_GROUP_COMPONENT } from './tokens';\n\nexport type AvatarGroupType = 'group' | 'individual';\nexport type AvatarGroupOverflowButtonColor = 'neutral' | 'random' | ColorAccent;\n\nlet avatarGroupCount = 0;\n\n@Component({\n selector: 'fd-avatar-group',\n templateUrl: './avatar-group.component.html',\n styleUrls: ['./avatar-group.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AVATAR_GROUP_COMPONENT,\n useExisting: forwardRef(() => AvatarGroupComponent)\n }\n ]\n})\nexport class AvatarGroupComponent implements AvatarGroupInterface, OnChanges, OnInit, AfterViewInit, OnDestroy {\n /** Id of the Avatar Group. */\n @Input()\n id = `fd-avatar-group-${avatarGroupCount++}`;\n\n /** Apply user custom class. */\n @Input()\n class: string;\n\n /** The size of the Avatar Group. Options include: *xs*, *s*, *m*, *l* and *xl* (default: *s*). */\n @Input()\n size: Size = 's';\n\n /** The type of the Avatar Group. Options include: *group* and *individual* (default: *group*). */\n @Input()\n type: AvatarGroupType = 'group';\n\n /** Aria-label for Avatar Group. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Counter for all avatars. */\n allItemsCount = 0;\n\n /** Counter for visible in overflow popover avatars. */\n overflowItemsCount = 0;\n\n /** @hidden Avatar Group items. */\n @ContentChildren(AvatarGroupItemDirective, { descendants: true })\n mainItems: QueryList<AvatarGroupItemDirective>;\n\n /** @hidden */\n @ViewChild('avatarGroupContainer')\n avatarGroupContainer: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n rootClassNames: Record<string, boolean | undefined | null>;\n\n /** @hidden */\n get isGroupType(): boolean {\n return this.type === 'group';\n }\n\n /** @hidden */\n private get _avatarGroupWidth(): number {\n return this.avatarGroupContainer?.nativeElement?.offsetWidth;\n }\n\n /** @hidden */\n private get _avatarGroupItemWidth(): number {\n return this.mainItems.first?._element.offsetWidth ?? 0;\n }\n\n /** @hidden */\n private get _avatarGroupItemWithMarginsWidth(): number {\n if (!this.mainItems.first) {\n return this._avatarGroupItemWidth;\n }\n\n const elementStyles = getComputedStyle(this.mainItems.first._element);\n\n return (\n this._avatarGroupItemWidth +\n parseInt(elementStyles.marginLeft, 10) +\n parseInt(elementStyles.marginRight, 10)\n );\n }\n\n /** @hidden FocusKeyManager instance */\n private _keyboardEventsManager: FocusKeyManager<AvatarGroupItemDirective>;\n\n /** @hidden */\n private readonly _subscription = new Subscription();\n\n /** @hidden handles rtl service */\n private _dir: 'ltr' | 'rtl' | null = 'ltr';\n\n /** @hidden */\n constructor(private readonly _viewportRuler: ViewportRuler, @Optional() private _rtlService: RtlService) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._subscription.add(this._viewportRuler.change().subscribe(() => this._onResize()));\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this._assignCssClasses();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._reset();\n\n this._subscription.add(\n of(true)\n .pipe(delay(5))\n .subscribe(() => this._collapseItems())\n );\n\n this._listenForItemChanges();\n this._setKeyboardEventsManager();\n this._subscribeToRtl();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n this._keyboardEventsManager.destroy();\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n keyUpHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this.mainItems.toArray().findIndex((item) => item._element === event.target);\n if (index !== -1) {\n this._keyboardEventsManager.setActiveItem(index);\n }\n }\n\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n event.preventDefault();\n\n // passing the event to key manager so we get a change fired\n this._keyboardEventsManager.onKeydown(event);\n }\n }\n\n /** @hidden */\n _setActiveItem(item: AvatarGroupItemDirective): void {\n this._keyboardEventsManager.setActiveItem(item);\n }\n\n /** @hidden */\n private _onResize(): void {\n this._reset();\n this._collapseItems();\n }\n\n /** @hidden */\n private _reset(): void {\n this.allItemsCount = this.mainItems.length;\n this.overflowItemsCount = 0;\n\n this.mainItems.forEach((it) => {\n it._element.style.display = 'inline-block';\n it.disabled = false;\n });\n }\n\n /** @hidden */\n private _collapseItems(): void {\n const allItemsCounter = this.mainItems?.length || 0;\n let contentWidth = 0;\n let idx = 0;\n const avatarGroupItemWidth = this._avatarGroupItemWidth;\n const avatarGroupItemWithMarginsWidth = this._avatarGroupItemWithMarginsWidth;\n\n while (idx < allItemsCounter) {\n const newContentWidth =\n idx === 0 && this.isGroupType\n ? contentWidth + avatarGroupItemWidth\n : contentWidth + avatarGroupItemWithMarginsWidth;\n\n if (newContentWidth >= this._avatarGroupWidth) {\n // -1 because the last element in the loop will be replaced by the overflow button\n const newIdx = idx - 1;\n this.overflowItemsCount = allItemsCounter - newIdx;\n const mainItemsToHide = this.mainItems.toArray().slice(newIdx);\n mainItemsToHide.forEach((it) => {\n it._element.style.display = 'none';\n it.disabled = true;\n });\n\n break;\n }\n\n contentWidth = newContentWidth;\n idx++;\n }\n }\n\n /** @hidden */\n private _listenForItemChanges(): void {\n this._subscription.add(this.mainItems.changes.subscribe(() => this._onResize()));\n }\n\n /** @hidden */\n private _assignCssClasses(): void {\n this.rootClassNames = {\n 'fd-avatar-group': true,\n [`fd-avatar-group--${this.type}-type`]: !!this.type,\n [`fd-avatar-group--${this.size}`]: !!this.size,\n [this.class]: !!this.class\n };\n }\n\n /** @hidden */\n private _setKeyboardEventsManager(): void {\n this._keyboardEventsManager?.destroy();\n this._keyboardEventsManager = new FocusKeyManager(this.mainItems)\n .withWrap()\n .withHorizontalOrientation(this._dir);\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n const rtlSub = this._rtlService.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n\n this._keyboardEventsManager = this._keyboardEventsManager.withHorizontalOrientation(this._dir);\n });\n\n this._subscription.add(rtlSub);\n }\n}\n","<div #avatarGroupContainer [class]=\"rootClassNames\" [id]=\"id\" [attr.aria-label]=\"ariaLabel\">\n <ng-content></ng-content>\n</div>\n","import {\n AfterViewInit,\n ContentChildren,\n Directive,\n HostListener,\n Input,\n OnDestroy,\n Optional,\n QueryList\n} from '@angular/core';\nimport { FocusableOption, FocusKeyManager } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, TAB, UP_ARROW } from '@angular/cdk/keycodes';\nimport { Subscription } from 'rxjs';\n\nimport { HasElementRef, KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { AVATAR_GROUP_FOCUSABLE_AVATAR_DIRECTIVE, FocusableWithElementRef } from '../tokens';\n\n// import { AvatarGroupFocusableAvatarDirective } from './avatar-group-focusable-avatar.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-body]',\n host: {\n class: 'fd-avatar-group__overflow-body',\n '[class.fd-avatar-group__overflow-body--no-padding]': 'noPadding',\n '[class.fd-avatar-group__overflow-body--no-horizontal-scroll]': 'noHorizontalScroll',\n '[class.fd-avatar-group__overflow-body--no-vertical-scroll]': 'noVerticalScroll'\n }\n})\nexport class AvatarGroupOverflowBodyDirective implements AfterViewInit, OnDestroy {\n /** Remove the padding from the overflow body. */\n @Input()\n noPadding = false;\n\n /** Hide horizontal scrollbar from the overflow body. */\n @Input()\n noHorizontalScroll = true;\n\n /** Hide vertical scrollbar from the overflow body. */\n @Input()\n noVerticalScroll = true;\n\n /** @hidden Avatar Group Overflow items. */\n @ContentChildren(AVATAR_GROUP_FOCUSABLE_AVATAR_DIRECTIVE, { descendants: true })\n overflowItems: QueryList<FocusableWithElementRef>;\n\n /** @hidden FocusKeyManager instance */\n private _keyboardEventsManager: FocusKeyManager<HasElementRef>;\n\n /** @hidden */\n private readonly _subscription = new Subscription();\n\n /** @hidden handles rtl service */\n private _dir: 'ltr' | 'rtl' | null = 'ltr';\n\n /** @hidden */\n constructor(@Optional() private _rtlService: RtlService) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenForItemChanges();\n\n this._setKeyboardEventsManager();\n\n this._subscribeToRtl();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n this._keyboardEventsManager?.destroy();\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n keyUpHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this.overflowItems\n .toArray()\n .findIndex((item) => item.elementRef().nativeElement === event.target);\n if (index !== -1) {\n this._keyboardEventsManager.setActiveItem(index);\n }\n }\n\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n // passing the event to key manager so we get a change fired\n this._keyboardEventsManager.onKeydown(event);\n }\n }\n\n /** @hidden */\n _setActiveItem(item: FocusableOption & HasElementRef): void {\n this._keyboardEventsManager.setActiveItem(item);\n }\n\n /** @hidden */\n private _listenForItemChanges(): void {\n this.overflowItems.changes.subscribe(() => this._setKeyboardEventsManager());\n }\n\n /** @hidden */\n private _setKeyboardEventsManager(): void {\n this._keyboardEventsManager?.destroy();\n this._keyboardEventsManager = new FocusKeyManager(this.overflowItems)\n .withWrap()\n .withHorizontalOrientation(this._dir);\n\n this._keyboardEventsManager.setFirstItemActive();\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n const rtlSub = this._rtlService.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n this._keyboardEventsManager.withHorizontalOrientation(this._dir);\n });\n\n this._subscription.add(rtlSub);\n }\n}\n","import { Directive } from '@angular/core';\n\nimport { AvatarGroupItemDirective } from './avatar-group-item.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-item]'\n})\nexport class AvatarGroupOverflowItemDirective extends AvatarGroupItemDirective {}\n","import { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\n\nimport { Size } from '@fundamental-ngx/cdk/utils';\nimport { applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { getRandomColorAccent } from '@fundamental-ngx/cdk/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/cdk/utils';\n\nimport { AvatarGroupOverflowButtonColor } from '../avatar-group.component';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-button]'\n})\nexport class AvatarGroupOverflowButtonDirective implements OnInit, OnChanges, CssClassBuilder {\n /** User's custom classes. */\n @Input()\n class: string;\n\n /** The size of the overflow button.\n * Should be the same as the Avatar Group and Avatar size.\n * Options include: *xs*, *s*, *m*, *l* and *xl* (default: *s*). */\n @Input()\n size: Size = 's';\n\n /** A number from 1 to 10 representing the background color of the Avatar Group's overflow button.\n * Options include: *neutral*, *random*, *1*, *2*, *3*, *4*, *5*, *6*, *7*, *8*, *9*, *10* (default: *neutral*). */\n @Input()\n color: AvatarGroupOverflowButtonColor = 'neutral';\n\n /** @hidden */\n constructor(private readonly _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-button',\n 'fd-avatar-group__more-button',\n (this.color && this._getMoreButtonColorCssClass()) || '',\n this.size ? `fd-avatar-group__more-button--${this.size}` : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n\n /** @hidden */\n private _getMoreButtonColorCssClass(): string | null {\n if (this.color === 'random') {\n return `fd-avatar-group__more-button--accent-color-${getRandomColorAccent()}`;\n }\n\n if (!Number.isNaN(parseInt(this.color as string, 10))) {\n return `fd-avatar-group__more-button--accent-color-${this.color}`;\n }\n return null;\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-button-text]',\n host: { class: 'fd-button__text fd-avatar-group__button-text' }\n})\nexport class AvatarGroupOverflowButtonTextDirective {}\n","import { Directive, ElementRef, Optional, HostBinding, HostListener, Input, Inject, forwardRef } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\nimport { HasElementRef } from '@fundamental-ngx/cdk/utils';\n\nimport { AvatarGroupOverflowBodyDirective } from './avatar-group-overflow-body.directive';\nimport { AvatarGroupInterface } from '../avatar-group.interface';\nimport { AVATAR_GROUP_FOCUSABLE_AVATAR_DIRECTIVE } from '../tokens';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-focusable-avatar]',\n host: { class: 'fd-avatar-group__focusable-avatar' },\n providers: [\n {\n provide: AVATAR_GROUP_FOCUSABLE_AVATAR_DIRECTIVE,\n useExisting: forwardRef(() => AvatarGroupFocusableAvatarDirective)\n }\n ]\n})\nexport class AvatarGroupFocusableAvatarDirective implements FocusableOption, HasElementRef {\n /** Tabindex of the Avatar. */\n @Input()\n @HostBinding('attr.tabindex')\n tabindex = 0;\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Inject(forwardRef(() => AvatarGroupOverflowBodyDirective))\n private readonly _component: AvatarGroupInterface\n ) {}\n\n /** @hidden */\n elementRef(): ElementRef {\n return this._elementRef;\n }\n\n /** @hidden */\n get _element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._component) {\n this._component._setActiveItem(this);\n }\n }\n\n /** @hidden */\n focus(): void {\n this._element.focus();\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n/** Needed to bind specific class to group type popover control. */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-popover-control]',\n host: { class: 'fd-avatar-group__popover-control' }\n})\nexport class AvatarGroupPopoverControlDirective {\n /** Tabindex of the popover control. */\n @Input()\n @HostBinding('attr.tabindex')\n tabindex = 0;\n\n /** Role of the popover control. */\n @Input()\n @HostBinding('attr.role')\n role = 'button';\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarGroupComponent } from './avatar-group.component';\nimport { AvatarGroupItemDirective } from './directives/avatar-group-item.directive';\nimport { AvatarGroupOverflowBodyDirective } from './directives/avatar-group-overflow-body.directive';\nimport { AvatarGroupOverflowItemDirective } from './directives/avatar-group-overflow-item.directive';\nimport { AvatarGroupOverflowButtonDirective } from './directives/avatar-group-overflow-button.directive';\nimport { AvatarGroupOverflowButtonTextDirective } from './directives/avatar-group-overflow-button-text.directive';\nimport { AvatarGroupFocusableAvatarDirective } from './directives/avatar-group-focusable-avatar.directive';\nimport { AvatarGroupPopoverControlDirective } from './directives/avatar-group-popover-control.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [\n AvatarGroupComponent,\n AvatarGroupItemDirective,\n AvatarGroupFocusableAvatarDirective,\n AvatarGroupPopoverControlDirective,\n AvatarGroupOverflowBodyDirective,\n AvatarGroupOverflowItemDirective,\n AvatarGroupOverflowButtonDirective,\n AvatarGroupOverflowButtonTextDirective\n ],\n declarations: [\n AvatarGroupComponent,\n AvatarGroupItemDirective,\n AvatarGroupFocusableAvatarDirective,\n AvatarGroupPopoverControlDirective,\n AvatarGroupOverflowBodyDirective,\n AvatarGroupOverflowItemDirective,\n AvatarGroupOverflowButtonDirective,\n AvatarGroupOverflowButtonTextDirective\n ]\n})\nexport class AvatarGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-avatar-group.mjs","sources":["../../../../libs/core/src/lib/avatar-group/tokens.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-item.directive.ts","../../../../libs/core/src/lib/avatar-group/avatar-group.component.ts","../../../../libs/core/src/lib/avatar-group/avatar-group.component.html","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-body.directive.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-item.directive.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-button.directive.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-button-text.directive.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-focusable-avatar.directive.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-popover-control.directive.ts","../../../../libs/core/src/lib/avatar-group/avatar-group.module.ts","../../../../libs/core/src/lib/avatar-group/fundamental-ngx-core-avatar-group.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\nimport { HasElementRef } from '@fundamental-ngx/cdk/utils';\nimport { AvatarGroupInterface } from './avatar-group.interface';\n\nexport type FocusableWithElementRef = FocusableOption & HasElementRef;\n\nexport const AVATAR_GROUP_FOCUSABLE_AVATAR_DIRECTIVE = new InjectionToken<FocusableWithElementRef>(\n 'AvatarGroupFocusableAvatarDirective'\n);\n\nexport const AVATAR_GROUP_COMPONENT = new InjectionToken<AvatarGroupInterface>('AvatarGroupComponent');\n","import { Directive, ElementRef, HostListener, Inject, Optional } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\nimport { AvatarGroupInterface } from '../avatar-group.interface';\nimport { AVATAR_GROUP_COMPONENT } from '../tokens';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-item]',\n host: { class: 'fd-avatar-group__item' }\n})\nexport class AvatarGroupItemDirective implements FocusableOption {\n /** Item disable state */\n disabled = false;\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Optional() @Inject(AVATAR_GROUP_COMPONENT) private readonly _component: AvatarGroupInterface\n ) {}\n\n /** @hidden */\n get _element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._component) {\n this._component._setActiveItem(this);\n }\n }\n\n /** @hidden */\n focus(): void {\n this._element.focus();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ViewportRuler } from '@angular/cdk/overlay';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, TAB } from '@angular/cdk/keycodes';\nimport { of, Subscription } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ColorAccent, KeyUtil, RtlService, Size } from '@fundamental-ngx/cdk/utils';\nimport { AvatarGroupItemDirective } from './directives/avatar-group-item.directive';\nimport { AvatarGroupInterface } from './avatar-group.interface';\nimport { AVATAR_GROUP_COMPONENT } from './tokens';\n\nexport type AvatarGroupType = 'group' | 'individual';\nexport type AvatarGroupOverflowButtonColor = 'neutral' | 'random' | ColorAccent;\n\nlet avatarGroupCount = 0;\n\n@Component({\n selector: 'fd-avatar-group',\n templateUrl: './avatar-group.component.html',\n styleUrls: ['./avatar-group.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AVATAR_GROUP_COMPONENT,\n useExisting: forwardRef(() => AvatarGroupComponent)\n }\n ]\n})\nexport class AvatarGroupComponent implements AvatarGroupInterface, OnChanges, OnInit, AfterViewInit, OnDestroy {\n /** Id of the Avatar Group. */\n @Input()\n id = `fd-avatar-group-${avatarGroupCount++}`;\n\n /** Apply user custom class. */\n @Input()\n class: string;\n\n /** The size of the Avatar Group. Options include: *xs*, *s*, *m*, *l* and *xl* (default: *s*). */\n @Input()\n size: Size = 's';\n\n /** The type of the Avatar Group. Options include: *group* and *individual* (default: *group*). */\n @Input()\n type: AvatarGroupType = 'group';\n\n /** Aria-label for Avatar Group. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Counter for all avatars. */\n allItemsCount = 0;\n\n /** Counter for visible in overflow popover avatars. */\n overflowItemsCount = 0;\n\n /** @hidden Avatar Group items. */\n @ContentChildren(AvatarGroupItemDirective, { descendants: true })\n mainItems: QueryList<AvatarGroupItemDirective>;\n\n /** @hidden */\n @ViewChild('avatarGroupContainer')\n avatarGroupContainer: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n rootClassNames: Record<string, boolean | undefined | null>;\n\n /** @hidden */\n get isGroupType(): boolean {\n return this.type === 'group';\n }\n\n /** @hidden */\n private get _avatarGroupWidth(): number {\n return this.avatarGroupContainer?.nativeElement?.offsetWidth;\n }\n\n /** @hidden */\n private get _avatarGroupItemWidth(): number {\n return this.mainItems.first?._element.offsetWidth ?? 0;\n }\n\n /** @hidden */\n private get _avatarGroupItemWithMarginsWidth(): number {\n if (!this.mainItems.first) {\n return this._avatarGroupItemWidth;\n }\n\n const elementStyles = getComputedStyle(this.mainItems.first._element);\n\n return (\n this._avatarGroupItemWidth +\n parseInt(elementStyles.marginLeft, 10) +\n parseInt(elementStyles.marginRight, 10)\n );\n }\n\n /** @hidden FocusKeyManager instance */\n private _keyboardEventsManager: FocusKeyManager<AvatarGroupItemDirective>;\n\n /** @hidden */\n private readonly _subscription = new Subscription();\n\n /** @hidden handles rtl service */\n private _dir: 'ltr' | 'rtl' | null = 'ltr';\n\n /** @hidden */\n constructor(private readonly _viewportRuler: ViewportRuler, @Optional() private _rtlService: RtlService) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._subscription.add(this._viewportRuler.change().subscribe(() => this._onResize()));\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this._assignCssClasses();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._reset();\n\n this._subscription.add(\n of(true)\n .pipe(delay(5))\n .subscribe(() => this._collapseItems())\n );\n\n this._listenForItemChanges();\n this._setKeyboardEventsManager();\n this._subscribeToRtl();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n this._keyboardEventsManager.destroy();\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n keyUpHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this.mainItems.toArray().findIndex((item) => item._element === event.target);\n if (index !== -1) {\n this._keyboardEventsManager.setActiveItem(index);\n }\n }\n\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n event.preventDefault();\n\n // passing the event to key manager so we get a change fired\n this._keyboardEventsManager.onKeydown(event);\n }\n }\n\n /** @hidden */\n _setActiveItem(item: AvatarGroupItemDirective): void {\n this._keyboardEventsManager.setActiveItem(item);\n }\n\n /** @hidden */\n private _onResize(): void {\n this._reset();\n this._collapseItems();\n }\n\n /** @hidden */\n private _reset(): void {\n this.allItemsCount = this.mainItems.length;\n this.overflowItemsCount = 0;\n\n this.mainItems.forEach((it) => {\n it._element.style.display = 'inline-block';\n it.disabled = false;\n });\n }\n\n /** @hidden */\n private _collapseItems(): void {\n const allItemsCounter = this.mainItems?.length || 0;\n let contentWidth = 0;\n let idx = 0;\n const avatarGroupItemWidth = this._avatarGroupItemWidth;\n const avatarGroupItemWithMarginsWidth = this._avatarGroupItemWithMarginsWidth;\n\n while (idx < allItemsCounter) {\n const newContentWidth =\n idx === 0 && this.isGroupType\n ? contentWidth + avatarGroupItemWidth\n : contentWidth + avatarGroupItemWithMarginsWidth;\n\n if (newContentWidth >= this._avatarGroupWidth) {\n // -1 because the last element in the loop will be replaced by the overflow button\n const newIdx = idx - 1;\n this.overflowItemsCount = allItemsCounter - newIdx;\n const mainItemsToHide = this.mainItems.toArray().slice(newIdx);\n mainItemsToHide.forEach((it) => {\n it._element.style.display = 'none';\n it.disabled = true;\n });\n\n break;\n }\n\n contentWidth = newContentWidth;\n idx++;\n }\n }\n\n /** @hidden */\n private _listenForItemChanges(): void {\n this._subscription.add(this.mainItems.changes.subscribe(() => this._onResize()));\n }\n\n /** @hidden */\n private _assignCssClasses(): void {\n this.rootClassNames = {\n 'fd-avatar-group': true,\n [`fd-avatar-group--${this.type}-type`]: !!this.type,\n [`fd-avatar-group--${this.size}`]: !!this.size,\n [this.class]: !!this.class\n };\n }\n\n /** @hidden */\n private _setKeyboardEventsManager(): void {\n this._keyboardEventsManager?.destroy();\n this._keyboardEventsManager = new FocusKeyManager(this.mainItems)\n .withWrap()\n .withHorizontalOrientation(this._dir);\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n const rtlSub = this._rtlService.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n\n this._keyboardEventsManager = this._keyboardEventsManager.withHorizontalOrientation(this._dir);\n });\n\n this._subscription.add(rtlSub);\n }\n}\n","<div #avatarGroupContainer [class]=\"rootClassNames\" [id]=\"id\" [attr.aria-label]=\"ariaLabel\">\n <ng-content></ng-content>\n</div>\n","import {\n AfterViewInit,\n ContentChildren,\n Directive,\n HostListener,\n Input,\n OnDestroy,\n Optional,\n QueryList\n} from '@angular/core';\nimport { FocusableOption, FocusKeyManager } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, TAB, UP_ARROW } from '@angular/cdk/keycodes';\nimport { Subscription } from 'rxjs';\n\nimport { HasElementRef, KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { AVATAR_GROUP_FOCUSABLE_AVATAR_DIRECTIVE, FocusableWithElementRef } from '../tokens';\n\n// import { AvatarGroupFocusableAvatarDirective } from './avatar-group-focusable-avatar.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-body]',\n host: {\n class: 'fd-avatar-group__overflow-body',\n '[class.fd-avatar-group__overflow-body--no-padding]': 'noPadding',\n '[class.fd-avatar-group__overflow-body--no-horizontal-scroll]': 'noHorizontalScroll',\n '[class.fd-avatar-group__overflow-body--no-vertical-scroll]': 'noVerticalScroll'\n }\n})\nexport class AvatarGroupOverflowBodyDirective implements AfterViewInit, OnDestroy {\n /** Remove the padding from the overflow body. */\n @Input()\n noPadding = false;\n\n /** Hide horizontal scrollbar from the overflow body. */\n @Input()\n noHorizontalScroll = true;\n\n /** Hide vertical scrollbar from the overflow body. */\n @Input()\n noVerticalScroll = true;\n\n /** @hidden Avatar Group Overflow items. */\n @ContentChildren(AVATAR_GROUP_FOCUSABLE_AVATAR_DIRECTIVE, { descendants: true })\n overflowItems: QueryList<FocusableWithElementRef>;\n\n /** @hidden FocusKeyManager instance */\n private _keyboardEventsManager: FocusKeyManager<HasElementRef>;\n\n /** @hidden */\n private readonly _subscription = new Subscription();\n\n /** @hidden handles rtl service */\n private _dir: 'ltr' | 'rtl' | null = 'ltr';\n\n /** @hidden */\n constructor(@Optional() private _rtlService: RtlService) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenForItemChanges();\n\n this._setKeyboardEventsManager();\n\n this._subscribeToRtl();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n this._keyboardEventsManager?.destroy();\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n keyUpHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this.overflowItems\n .toArray()\n .findIndex((item) => item.elementRef.nativeElement === event.target);\n if (index !== -1) {\n this._keyboardEventsManager.setActiveItem(index);\n }\n }\n\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n // passing the event to key manager so we get a change fired\n this._keyboardEventsManager.onKeydown(event);\n }\n }\n\n /** @hidden */\n _setActiveItem(item: FocusableOption & HasElementRef): void {\n this._keyboardEventsManager.setActiveItem(item);\n }\n\n /** @hidden */\n private _listenForItemChanges(): void {\n this.overflowItems.changes.subscribe(() => this._setKeyboardEventsManager());\n }\n\n /** @hidden */\n private _setKeyboardEventsManager(): void {\n this._keyboardEventsManager?.destroy();\n this._keyboardEventsManager = new FocusKeyManager(this.overflowItems)\n .withWrap()\n .withHorizontalOrientation(this._dir);\n\n this._keyboardEventsManager.setFirstItemActive();\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n const rtlSub = this._rtlService.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n this._keyboardEventsManager.withHorizontalOrientation(this._dir);\n });\n\n this._subscription.add(rtlSub);\n }\n}\n","import { Directive } from '@angular/core';\n\nimport { AvatarGroupItemDirective } from './avatar-group-item.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-item]'\n})\nexport class AvatarGroupOverflowItemDirective extends AvatarGroupItemDirective {}\n","import { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\n\nimport { Size } from '@fundamental-ngx/cdk/utils';\nimport { applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { getRandomColorAccent } from '@fundamental-ngx/cdk/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/cdk/utils';\n\nimport { AvatarGroupOverflowButtonColor } from '../avatar-group.component';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-button]'\n})\nexport class AvatarGroupOverflowButtonDirective implements OnInit, OnChanges, CssClassBuilder {\n /** User's custom classes. */\n @Input()\n class: string;\n\n /** The size of the overflow button.\n * Should be the same as the Avatar Group and Avatar size.\n * Options include: *xs*, *s*, *m*, *l* and *xl* (default: *s*). */\n @Input()\n size: Size = 's';\n\n /** A number from 1 to 10 representing the background color of the Avatar Group's overflow button.\n * Options include: *neutral*, *random*, *1*, *2*, *3*, *4*, *5*, *6*, *7*, *8*, *9*, *10* (default: *neutral*). */\n @Input()\n color: AvatarGroupOverflowButtonColor = 'neutral';\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-button',\n 'fd-avatar-group__more-button',\n (this.color && this._getMoreButtonColorCssClass()) || '',\n this.size ? `fd-avatar-group__more-button--${this.size}` : '',\n this.class\n ];\n }\n\n /** @hidden */\n private _getMoreButtonColorCssClass(): string | null {\n if (this.color === 'random') {\n return `fd-avatar-group__more-button--accent-color-${getRandomColorAccent()}`;\n }\n\n if (!Number.isNaN(parseInt(this.color as string, 10))) {\n return `fd-avatar-group__more-button--accent-color-${this.color}`;\n }\n return null;\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-button-text]',\n host: { class: 'fd-button__text fd-avatar-group__button-text' }\n})\nexport class AvatarGroupOverflowButtonTextDirective {}\n","import { Directive, ElementRef, Optional, HostBinding, HostListener, Input, Inject, forwardRef } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\nimport { HasElementRef } from '@fundamental-ngx/cdk/utils';\n\nimport { AvatarGroupOverflowBodyDirective } from './avatar-group-overflow-body.directive';\nimport { AvatarGroupInterface } from '../avatar-group.interface';\nimport { AVATAR_GROUP_FOCUSABLE_AVATAR_DIRECTIVE } from '../tokens';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-focusable-avatar]',\n host: { class: 'fd-avatar-group__focusable-avatar' },\n providers: [\n {\n provide: AVATAR_GROUP_FOCUSABLE_AVATAR_DIRECTIVE,\n useExisting: forwardRef(() => AvatarGroupFocusableAvatarDirective)\n }\n ]\n})\nexport class AvatarGroupFocusableAvatarDirective implements FocusableOption, HasElementRef {\n /** Tabindex of the Avatar. */\n @Input()\n @HostBinding('attr.tabindex')\n tabindex = 0;\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Inject(forwardRef(() => AvatarGroupOverflowBodyDirective))\n private readonly _component: AvatarGroupInterface\n ) {}\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._component) {\n this._component._setActiveItem(this);\n }\n }\n\n /** @hidden */\n focus(): void {\n this.elementRef.nativeElement.focus();\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n/** Needed to bind specific class to group type popover control. */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-popover-control]',\n host: { class: 'fd-avatar-group__popover-control' }\n})\nexport class AvatarGroupPopoverControlDirective {\n /** Tabindex of the popover control. */\n @Input()\n @HostBinding('attr.tabindex')\n tabindex = 0;\n\n /** Role of the popover control. */\n @Input()\n @HostBinding('attr.role')\n role = 'button';\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarGroupComponent } from './avatar-group.component';\nimport { AvatarGroupItemDirective } from './directives/avatar-group-item.directive';\nimport { AvatarGroupOverflowBodyDirective } from './directives/avatar-group-overflow-body.directive';\nimport { AvatarGroupOverflowItemDirective } from './directives/avatar-group-overflow-item.directive';\nimport { AvatarGroupOverflowButtonDirective } from './directives/avatar-group-overflow-button.directive';\nimport { AvatarGroupOverflowButtonTextDirective } from './directives/avatar-group-overflow-button-text.directive';\nimport { AvatarGroupFocusableAvatarDirective } from './directives/avatar-group-focusable-avatar.directive';\nimport { AvatarGroupPopoverControlDirective } from './directives/avatar-group-popover-control.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [\n AvatarGroupComponent,\n AvatarGroupItemDirective,\n AvatarGroupFocusableAvatarDirective,\n AvatarGroupPopoverControlDirective,\n AvatarGroupOverflowBodyDirective,\n AvatarGroupOverflowItemDirective,\n AvatarGroupOverflowButtonDirective,\n AvatarGroupOverflowButtonTextDirective\n ],\n declarations: [\n AvatarGroupComponent,\n AvatarGroupItemDirective,\n AvatarGroupFocusableAvatarDirective,\n AvatarGroupPopoverControlDirective,\n AvatarGroupOverflowBodyDirective,\n AvatarGroupOverflowItemDirective,\n AvatarGroupOverflowButtonDirective,\n AvatarGroupOverflowButtonTextDirective\n ]\n})\nexport class AvatarGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":"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"}