@fundamental-ngx/core 0.42.0-rc.8 → 0.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (448) hide show
  1. package/alert/alert.component.d.ts +5 -4
  2. package/alert/alert.module.d.ts +2 -1
  3. package/avatar/avatar.component.d.ts +2 -4
  4. package/avatar-group/directives/avatar-group-focusable-avatar.directive.d.ts +2 -6
  5. package/avatar-group/directives/avatar-group-overflow-button.directive.d.ts +2 -4
  6. package/bar/bar.component.d.ts +2 -4
  7. package/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.d.ts +2 -4
  8. package/button/button.component.d.ts +2 -6
  9. package/card/card-content.component.d.ts +2 -4
  10. package/card/card-counter.directive.d.ts +2 -4
  11. package/card/card-header.component.d.ts +2 -4
  12. package/card/card-loader.component.d.ts +2 -4
  13. package/card/card-second-subtitle.directive.d.ts +2 -4
  14. package/card/card-subtitle.directive.d.ts +2 -4
  15. package/card/card-title.directive.d.ts +2 -4
  16. package/card/card.component.d.ts +3 -5
  17. package/card/kpi/card-kpi-analytics-content.directive.d.ts +2 -4
  18. package/card/kpi/card-kpi-analytics-label.directive.d.ts +2 -4
  19. package/card/kpi/card-kpi-analytics.directive.d.ts +2 -4
  20. package/card/kpi/card-kpi-header.component.d.ts +2 -4
  21. package/card/kpi/card-kpi-scale-icon.directive.d.ts +2 -4
  22. package/card/kpi/card-kpi-scale-text.directive.d.ts +2 -4
  23. package/card/kpi/card-kpi-value.directive.d.ts +2 -4
  24. package/combobox/combobox.module.d.ts +2 -1
  25. package/dialog/base/dialog-base.class.d.ts +2 -2
  26. package/dialog/dialog-body/dialog-body.component.d.ts +2 -4
  27. package/dialog/dialog-container/dialog-container.component.d.ts +0 -2
  28. package/dialog/dialog-service/dialog.service.d.ts +4 -0
  29. package/dialog/dialog.component.d.ts +0 -2
  30. package/dynamic-page/dynamic-page-content/dynamic-page-content.component.d.ts +4 -6
  31. package/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.d.ts +2 -4
  32. package/dynamic-side-content/dynamic-side-content.component.d.ts +3 -5
  33. package/esm2020/alert/alert.component.mjs +7 -19
  34. package/esm2020/alert/alert.module.mjs +5 -4
  35. package/esm2020/avatar/avatar.component.mjs +6 -10
  36. package/esm2020/avatar-group/directives/avatar-group-focusable-avatar.directive.mjs +4 -12
  37. package/esm2020/avatar-group/directives/avatar-group-overflow-body.directive.mjs +2 -2
  38. package/esm2020/avatar-group/directives/avatar-group-overflow-button.directive.mjs +3 -7
  39. package/esm2020/bar/bar.component.mjs +3 -7
  40. package/esm2020/breadcrumb/breadcrumb-item.component.mjs +2 -2
  41. package/esm2020/breadcrumb/breadcrumb.component.mjs +2 -2
  42. package/esm2020/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.mjs +4 -8
  43. package/esm2020/button/button.component.mjs +3 -9
  44. package/esm2020/card/card-content.component.mjs +3 -7
  45. package/esm2020/card/card-counter.directive.mjs +3 -7
  46. package/esm2020/card/card-header.component.mjs +4 -8
  47. package/esm2020/card/card-loader.component.mjs +3 -7
  48. package/esm2020/card/card-second-subtitle.directive.mjs +3 -7
  49. package/esm2020/card/card-subtitle.directive.mjs +3 -7
  50. package/esm2020/card/card-title.directive.mjs +3 -7
  51. package/esm2020/card/card.component.mjs +3 -7
  52. package/esm2020/card/kpi/card-kpi-analytics-content.directive.mjs +3 -7
  53. package/esm2020/card/kpi/card-kpi-analytics-label.directive.mjs +3 -7
  54. package/esm2020/card/kpi/card-kpi-analytics.directive.mjs +3 -7
  55. package/esm2020/card/kpi/card-kpi-header.component.mjs +3 -7
  56. package/esm2020/card/kpi/card-kpi-scale-icon.directive.mjs +3 -7
  57. package/esm2020/card/kpi/card-kpi-scale-text.directive.mjs +3 -7
  58. package/esm2020/card/kpi/card-kpi-value.directive.mjs +3 -7
  59. package/esm2020/checkbox/checkbox/checkbox.component.mjs +5 -5
  60. package/esm2020/combobox/combobox.component.mjs +5 -4
  61. package/esm2020/combobox/combobox.module.mjs +8 -4
  62. package/esm2020/content-density/services/content-density-observer.service.mjs +3 -3
  63. package/esm2020/datetime-picker/datetime-picker.component.mjs +7 -4
  64. package/esm2020/dialog/base/dialog-base.class.mjs +4 -4
  65. package/esm2020/dialog/dialog-body/dialog-body.component.mjs +3 -7
  66. package/esm2020/dialog/dialog-container/dialog-container.component.mjs +1 -5
  67. package/esm2020/dialog/dialog-service/dialog.service.mjs +10 -2
  68. package/esm2020/dialog/dialog.component.mjs +3 -7
  69. package/esm2020/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +4 -8
  70. package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.mjs +5 -9
  71. package/esm2020/dynamic-side-content/dynamic-side-content.component.mjs +3 -7
  72. package/esm2020/facets/content/facet-content.component.mjs +4 -8
  73. package/esm2020/facets/facet/facet.component.mjs +13 -19
  74. package/esm2020/feed-input/directives/feed-input-avatar.directive.mjs +3 -7
  75. package/esm2020/feed-list-item/components/item/feed-list-item.component.mjs +3 -7
  76. package/esm2020/feed-list-item/components/list/feed-list.component.mjs +3 -7
  77. package/esm2020/form/form-control/form-control.component.mjs +3 -7
  78. package/esm2020/form/form-group/form-group.component.mjs +3 -7
  79. package/esm2020/form/form-message/form-message.component.mjs +3 -7
  80. package/esm2020/grid-list/components/grid-list-item/grid-list-item.component.mjs +3 -3
  81. package/esm2020/icon/icon.component.mjs +3 -7
  82. package/esm2020/illustrated-message/illustrated-message.component.mjs +3 -7
  83. package/esm2020/info-label/info-label.component.mjs +3 -7
  84. package/esm2020/inline-help/inline-help.directive.mjs +26 -15
  85. package/esm2020/input-group/input-group-directives.mjs +6 -14
  86. package/esm2020/input-group/input-group.component.mjs +2 -2
  87. package/esm2020/layout-grid/directives/layout-grid-col.directive.mjs +3 -7
  88. package/esm2020/layout-grid/layout-grid.component.mjs +3 -7
  89. package/esm2020/layout-panel/layout-panel-footer/layout-panel-footer.component.mjs +3 -7
  90. package/esm2020/link/link.component.mjs +9 -13
  91. package/esm2020/list/directives/list-icon.directive.mjs +3 -7
  92. package/esm2020/list/directives/list-navigation-item-text.directive.mjs +3 -7
  93. package/esm2020/list/list-message.directive.mjs +3 -7
  94. package/esm2020/menu/menu-mobile/menu-mobile.component.mjs +2 -2
  95. package/esm2020/message-box/message-box-container/message-box-container.component.mjs +1 -5
  96. package/esm2020/message-box/message-box.component.mjs +1 -5
  97. package/esm2020/message-page/message-page.component.mjs +3 -7
  98. package/esm2020/message-strip/alert/default-config.mjs +11 -0
  99. package/esm2020/message-strip/alert/index.mjs +6 -0
  100. package/esm2020/message-strip/alert/message-strip-alert/message-strip-alert.component.mjs +68 -0
  101. package/esm2020/message-strip/alert/message-strip-alert-container/message-strip-alert-container.component.mjs +57 -0
  102. package/esm2020/message-strip/alert/message-strip-alert-container-footer/message-strip-alert-container-footer.component.mjs +65 -0
  103. package/esm2020/message-strip/alert/message-strip-alert.position.mjs +2 -0
  104. package/esm2020/message-strip/alert/message-strip-alert.ref.mjs +3 -0
  105. package/esm2020/message-strip/alert/message-strip-alert.service.mjs +195 -0
  106. package/esm2020/message-strip/alert/message-strip-configuration-type.mjs +2 -0
  107. package/esm2020/message-strip/alert/open-message-strip-alert.config.mjs +2 -0
  108. package/esm2020/message-strip/alert/tokens.mjs +14 -0
  109. package/esm2020/message-strip/auto-dismiss-message-strip.directive.mjs +98 -0
  110. package/esm2020/message-strip/fundamental-ngx-core-message-strip.mjs +2 -2
  111. package/esm2020/message-strip/index.mjs +6 -0
  112. package/esm2020/message-strip/message-strip-type.mjs +2 -0
  113. package/esm2020/message-strip/message-strip.component.mjs +16 -20
  114. package/esm2020/message-strip/message-strip.module.mjs +6 -9
  115. package/esm2020/multi-combobox/multi-combobox.component.mjs +6 -6
  116. package/esm2020/multi-input/multi-input.component.mjs +33 -19
  117. package/esm2020/notification/directives/notification-indicator.directive.mjs +3 -7
  118. package/esm2020/notification/notification-group/notification-group.component.mjs +3 -7
  119. package/esm2020/notification/notification-utils/notification-group-base.mjs +2 -2
  120. package/esm2020/object-marker/object-marker.component.mjs +3 -7
  121. package/esm2020/object-number/object-number.component.mjs +3 -7
  122. package/esm2020/object-status/object-status.component.mjs +3 -7
  123. package/esm2020/panel/panel.component.mjs +3 -7
  124. package/esm2020/product-switch/product-switch-body/product-switch-body.component.mjs +1 -1
  125. package/esm2020/radio/radio-button/radio-button.component.mjs +2 -2
  126. package/esm2020/rating-indicator/components/rating-indicator.component.mjs +3 -7
  127. package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +4 -8
  128. package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +3 -7
  129. package/esm2020/segmented-button/segmented-button.component.mjs +4 -4
  130. package/esm2020/select/select.component.mjs +3 -3
  131. package/esm2020/slider/slider.component.mjs +3 -7
  132. package/esm2020/status-indicator/status-indicator.component.mjs +4 -8
  133. package/esm2020/table/directives/table-cell.directive.mjs +31 -26
  134. package/esm2020/table/directives/table-icon.directive.mjs +3 -9
  135. package/esm2020/table/directives/table-row.directive.mjs +34 -19
  136. package/esm2020/table/table-wrapper.component.mjs +2 -2
  137. package/esm2020/table/table.component.mjs +1 -1
  138. package/esm2020/tabs/tab-item/tab-item.directive.mjs +3 -7
  139. package/esm2020/tabs/tab-nav/tab-nav.component.mjs +3 -9
  140. package/esm2020/tabs/tab-utils/tab-directives.mjs +3 -9
  141. package/esm2020/tile/directives/numeric-content.directives.mjs +14 -34
  142. package/esm2020/tile/directives/tile.directives.mjs +9 -21
  143. package/esm2020/tile/tile.component.mjs +2 -2
  144. package/esm2020/token/token-input.directive.mjs +3 -7
  145. package/esm2020/token/tokenizer.component.mjs +20 -22
  146. package/esm2020/toolbar/toolbar.component.mjs +2 -2
  147. package/esm2020/tree/components/tree-item/tree-item.component.mjs +1 -1
  148. package/esm2020/tree/models/base-tree-item.class.mjs +2 -6
  149. package/esm2020/tree/tree.component.mjs +3 -7
  150. package/esm2020/upload-collection/upload-collection-item.directive.mjs +2 -2
  151. package/esm2020/wizard/wizard.component.mjs +2 -2
  152. package/facets/content/facet-content.component.d.ts +2 -4
  153. package/facets/facet/facet.component.d.ts +2 -6
  154. package/feed-input/directives/feed-input-avatar.directive.d.ts +2 -4
  155. package/feed-list-item/components/item/feed-list-item.component.d.ts +2 -4
  156. package/feed-list-item/components/list/feed-list.component.d.ts +2 -4
  157. package/fesm2015/fundamental-ngx-core-alert.mjs +48 -58
  158. package/fesm2015/fundamental-ngx-core-alert.mjs.map +1 -1
  159. package/fesm2015/fundamental-ngx-core-avatar-group.mjs +6 -18
  160. package/fesm2015/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  161. package/fesm2015/fundamental-ngx-core-avatar.mjs +5 -9
  162. package/fesm2015/fundamental-ngx-core-avatar.mjs.map +1 -1
  163. package/fesm2015/fundamental-ngx-core-bar.mjs +2 -6
  164. package/fesm2015/fundamental-ngx-core-bar.mjs.map +1 -1
  165. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs +2 -2
  166. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  167. package/fesm2015/fundamental-ngx-core-busy-indicator.mjs +3 -7
  168. package/fesm2015/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  169. package/fesm2015/fundamental-ngx-core-button.mjs +2 -8
  170. package/fesm2015/fundamental-ngx-core-button.mjs.map +1 -1
  171. package/fesm2015/fundamental-ngx-core-card.mjs +31 -91
  172. package/fesm2015/fundamental-ngx-core-card.mjs.map +1 -1
  173. package/fesm2015/fundamental-ngx-core-checkbox.mjs +4 -4
  174. package/fesm2015/fundamental-ngx-core-checkbox.mjs.map +1 -1
  175. package/fesm2015/fundamental-ngx-core-combobox.mjs +10 -5
  176. package/fesm2015/fundamental-ngx-core-combobox.mjs.map +1 -1
  177. package/fesm2015/fundamental-ngx-core-content-density.mjs +2 -2
  178. package/fesm2015/fundamental-ngx-core-content-density.mjs.map +1 -1
  179. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs +6 -3
  180. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  181. package/fesm2015/fundamental-ngx-core-dialog.mjs +16 -21
  182. package/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
  183. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs +7 -15
  184. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  185. package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs +2 -6
  186. package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
  187. package/fesm2015/fundamental-ngx-core-facets.mjs +15 -25
  188. package/fesm2015/fundamental-ngx-core-facets.mjs.map +1 -1
  189. package/fesm2015/fundamental-ngx-core-feed-input.mjs +2 -6
  190. package/fesm2015/fundamental-ngx-core-feed-input.mjs.map +1 -1
  191. package/fesm2015/fundamental-ngx-core-feed-list-item.mjs +4 -12
  192. package/fesm2015/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  193. package/fesm2015/fundamental-ngx-core-form.mjs +6 -18
  194. package/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  195. package/fesm2015/fundamental-ngx-core-grid-list.mjs +2 -2
  196. package/fesm2015/fundamental-ngx-core-grid-list.mjs.map +1 -1
  197. package/fesm2015/fundamental-ngx-core-icon.mjs +2 -6
  198. package/fesm2015/fundamental-ngx-core-icon.mjs.map +1 -1
  199. package/fesm2015/fundamental-ngx-core-illustrated-message.mjs +2 -6
  200. package/fesm2015/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  201. package/fesm2015/fundamental-ngx-core-info-label.mjs +2 -6
  202. package/fesm2015/fundamental-ngx-core-info-label.mjs.map +1 -1
  203. package/fesm2015/fundamental-ngx-core-inline-help.mjs +24 -13
  204. package/fesm2015/fundamental-ngx-core-inline-help.mjs.map +1 -1
  205. package/fesm2015/fundamental-ngx-core-input-group.mjs +6 -14
  206. package/fesm2015/fundamental-ngx-core-input-group.mjs.map +1 -1
  207. package/fesm2015/fundamental-ngx-core-layout-grid.mjs +4 -12
  208. package/fesm2015/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  209. package/fesm2015/fundamental-ngx-core-layout-panel.mjs +2 -6
  210. package/fesm2015/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  211. package/fesm2015/fundamental-ngx-core-link.mjs +8 -12
  212. package/fesm2015/fundamental-ngx-core-link.mjs.map +1 -1
  213. package/fesm2015/fundamental-ngx-core-list.mjs +6 -18
  214. package/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
  215. package/fesm2015/fundamental-ngx-core-menu.mjs +1 -1
  216. package/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
  217. package/fesm2015/fundamental-ngx-core-message-box.mjs +0 -8
  218. package/fesm2015/fundamental-ngx-core-message-box.mjs.map +1 -1
  219. package/fesm2015/fundamental-ngx-core-message-page.mjs +2 -6
  220. package/fesm2015/fundamental-ngx-core-message-page.mjs.map +1 -1
  221. package/fesm2015/fundamental-ngx-core-message-strip.mjs +488 -28
  222. package/fesm2015/fundamental-ngx-core-message-strip.mjs.map +1 -1
  223. package/fesm2015/fundamental-ngx-core-multi-combobox.mjs +5 -5
  224. package/fesm2015/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  225. package/fesm2015/fundamental-ngx-core-multi-input.mjs +33 -17
  226. package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
  227. package/fesm2015/fundamental-ngx-core-notification.mjs +5 -13
  228. package/fesm2015/fundamental-ngx-core-notification.mjs.map +1 -1
  229. package/fesm2015/fundamental-ngx-core-object-marker.mjs +2 -6
  230. package/fesm2015/fundamental-ngx-core-object-marker.mjs.map +1 -1
  231. package/fesm2015/fundamental-ngx-core-object-number.mjs +2 -6
  232. package/fesm2015/fundamental-ngx-core-object-number.mjs.map +1 -1
  233. package/fesm2015/fundamental-ngx-core-object-status.mjs +2 -6
  234. package/fesm2015/fundamental-ngx-core-object-status.mjs.map +1 -1
  235. package/fesm2015/fundamental-ngx-core-panel.mjs +2 -6
  236. package/fesm2015/fundamental-ngx-core-panel.mjs.map +1 -1
  237. package/fesm2015/fundamental-ngx-core-product-switch.mjs +1 -1
  238. package/fesm2015/fundamental-ngx-core-product-switch.mjs.map +1 -1
  239. package/fesm2015/fundamental-ngx-core-radio.mjs +1 -1
  240. package/fesm2015/fundamental-ngx-core-radio.mjs.map +1 -1
  241. package/fesm2015/fundamental-ngx-core-rating-indicator.mjs +2 -6
  242. package/fesm2015/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  243. package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs +5 -13
  244. package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  245. package/fesm2015/fundamental-ngx-core-segmented-button.mjs +3 -3
  246. package/fesm2015/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  247. package/fesm2015/fundamental-ngx-core-select.mjs +2 -2
  248. package/fesm2015/fundamental-ngx-core-select.mjs.map +1 -1
  249. package/fesm2015/fundamental-ngx-core-slider.mjs +2 -6
  250. package/fesm2015/fundamental-ngx-core-slider.mjs.map +1 -1
  251. package/fesm2015/fundamental-ngx-core-status-indicator.mjs +3 -7
  252. package/fesm2015/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  253. package/fesm2015/fundamental-ngx-core-table.mjs +64 -48
  254. package/fesm2015/fundamental-ngx-core-table.mjs.map +1 -1
  255. package/fesm2015/fundamental-ngx-core-tabs.mjs +6 -22
  256. package/fesm2015/fundamental-ngx-core-tabs.mjs.map +1 -1
  257. package/fesm2015/fundamental-ngx-core-tile.mjs +22 -54
  258. package/fesm2015/fundamental-ngx-core-tile.mjs.map +1 -1
  259. package/fesm2015/fundamental-ngx-core-token.mjs +22 -28
  260. package/fesm2015/fundamental-ngx-core-token.mjs.map +1 -1
  261. package/fesm2015/fundamental-ngx-core-toolbar.mjs +1 -1
  262. package/fesm2015/fundamental-ngx-core-toolbar.mjs.map +1 -1
  263. package/fesm2015/fundamental-ngx-core-tree.mjs +3 -11
  264. package/fesm2015/fundamental-ngx-core-tree.mjs.map +1 -1
  265. package/fesm2015/fundamental-ngx-core-upload-collection.mjs +1 -1
  266. package/fesm2015/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  267. package/fesm2015/fundamental-ngx-core-wizard.mjs +1 -1
  268. package/fesm2015/fundamental-ngx-core-wizard.mjs.map +1 -1
  269. package/fesm2020/fundamental-ngx-core-alert.mjs +48 -58
  270. package/fesm2020/fundamental-ngx-core-alert.mjs.map +1 -1
  271. package/fesm2020/fundamental-ngx-core-avatar-group.mjs +6 -18
  272. package/fesm2020/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  273. package/fesm2020/fundamental-ngx-core-avatar.mjs +5 -9
  274. package/fesm2020/fundamental-ngx-core-avatar.mjs.map +1 -1
  275. package/fesm2020/fundamental-ngx-core-bar.mjs +2 -6
  276. package/fesm2020/fundamental-ngx-core-bar.mjs.map +1 -1
  277. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs +2 -2
  278. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  279. package/fesm2020/fundamental-ngx-core-busy-indicator.mjs +3 -7
  280. package/fesm2020/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  281. package/fesm2020/fundamental-ngx-core-button.mjs +2 -8
  282. package/fesm2020/fundamental-ngx-core-button.mjs.map +1 -1
  283. package/fesm2020/fundamental-ngx-core-card.mjs +31 -91
  284. package/fesm2020/fundamental-ngx-core-card.mjs.map +1 -1
  285. package/fesm2020/fundamental-ngx-core-checkbox.mjs +4 -4
  286. package/fesm2020/fundamental-ngx-core-checkbox.mjs.map +1 -1
  287. package/fesm2020/fundamental-ngx-core-combobox.mjs +10 -5
  288. package/fesm2020/fundamental-ngx-core-combobox.mjs.map +1 -1
  289. package/fesm2020/fundamental-ngx-core-content-density.mjs +2 -2
  290. package/fesm2020/fundamental-ngx-core-content-density.mjs.map +1 -1
  291. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs +6 -3
  292. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  293. package/fesm2020/fundamental-ngx-core-dialog.mjs +16 -21
  294. package/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
  295. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs +7 -15
  296. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  297. package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs +2 -6
  298. package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
  299. package/fesm2020/fundamental-ngx-core-facets.mjs +15 -25
  300. package/fesm2020/fundamental-ngx-core-facets.mjs.map +1 -1
  301. package/fesm2020/fundamental-ngx-core-feed-input.mjs +2 -6
  302. package/fesm2020/fundamental-ngx-core-feed-input.mjs.map +1 -1
  303. package/fesm2020/fundamental-ngx-core-feed-list-item.mjs +4 -12
  304. package/fesm2020/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  305. package/fesm2020/fundamental-ngx-core-form.mjs +6 -18
  306. package/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  307. package/fesm2020/fundamental-ngx-core-grid-list.mjs +2 -2
  308. package/fesm2020/fundamental-ngx-core-grid-list.mjs.map +1 -1
  309. package/fesm2020/fundamental-ngx-core-icon.mjs +2 -6
  310. package/fesm2020/fundamental-ngx-core-icon.mjs.map +1 -1
  311. package/fesm2020/fundamental-ngx-core-illustrated-message.mjs +2 -6
  312. package/fesm2020/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  313. package/fesm2020/fundamental-ngx-core-info-label.mjs +2 -6
  314. package/fesm2020/fundamental-ngx-core-info-label.mjs.map +1 -1
  315. package/fesm2020/fundamental-ngx-core-inline-help.mjs +24 -13
  316. package/fesm2020/fundamental-ngx-core-inline-help.mjs.map +1 -1
  317. package/fesm2020/fundamental-ngx-core-input-group.mjs +6 -14
  318. package/fesm2020/fundamental-ngx-core-input-group.mjs.map +1 -1
  319. package/fesm2020/fundamental-ngx-core-layout-grid.mjs +4 -12
  320. package/fesm2020/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  321. package/fesm2020/fundamental-ngx-core-layout-panel.mjs +2 -6
  322. package/fesm2020/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  323. package/fesm2020/fundamental-ngx-core-link.mjs +8 -12
  324. package/fesm2020/fundamental-ngx-core-link.mjs.map +1 -1
  325. package/fesm2020/fundamental-ngx-core-list.mjs +6 -18
  326. package/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
  327. package/fesm2020/fundamental-ngx-core-menu.mjs +1 -1
  328. package/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
  329. package/fesm2020/fundamental-ngx-core-message-box.mjs +0 -8
  330. package/fesm2020/fundamental-ngx-core-message-box.mjs.map +1 -1
  331. package/fesm2020/fundamental-ngx-core-message-page.mjs +2 -6
  332. package/fesm2020/fundamental-ngx-core-message-page.mjs.map +1 -1
  333. package/fesm2020/fundamental-ngx-core-message-strip.mjs +493 -28
  334. package/fesm2020/fundamental-ngx-core-message-strip.mjs.map +1 -1
  335. package/fesm2020/fundamental-ngx-core-multi-combobox.mjs +5 -5
  336. package/fesm2020/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  337. package/fesm2020/fundamental-ngx-core-multi-input.mjs +31 -17
  338. package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
  339. package/fesm2020/fundamental-ngx-core-notification.mjs +5 -13
  340. package/fesm2020/fundamental-ngx-core-notification.mjs.map +1 -1
  341. package/fesm2020/fundamental-ngx-core-object-marker.mjs +2 -6
  342. package/fesm2020/fundamental-ngx-core-object-marker.mjs.map +1 -1
  343. package/fesm2020/fundamental-ngx-core-object-number.mjs +2 -6
  344. package/fesm2020/fundamental-ngx-core-object-number.mjs.map +1 -1
  345. package/fesm2020/fundamental-ngx-core-object-status.mjs +2 -6
  346. package/fesm2020/fundamental-ngx-core-object-status.mjs.map +1 -1
  347. package/fesm2020/fundamental-ngx-core-panel.mjs +2 -6
  348. package/fesm2020/fundamental-ngx-core-panel.mjs.map +1 -1
  349. package/fesm2020/fundamental-ngx-core-product-switch.mjs +1 -1
  350. package/fesm2020/fundamental-ngx-core-product-switch.mjs.map +1 -1
  351. package/fesm2020/fundamental-ngx-core-radio.mjs +1 -1
  352. package/fesm2020/fundamental-ngx-core-radio.mjs.map +1 -1
  353. package/fesm2020/fundamental-ngx-core-rating-indicator.mjs +2 -6
  354. package/fesm2020/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  355. package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs +5 -13
  356. package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  357. package/fesm2020/fundamental-ngx-core-segmented-button.mjs +3 -3
  358. package/fesm2020/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  359. package/fesm2020/fundamental-ngx-core-select.mjs +2 -2
  360. package/fesm2020/fundamental-ngx-core-select.mjs.map +1 -1
  361. package/fesm2020/fundamental-ngx-core-slider.mjs +2 -6
  362. package/fesm2020/fundamental-ngx-core-slider.mjs.map +1 -1
  363. package/fesm2020/fundamental-ngx-core-status-indicator.mjs +3 -7
  364. package/fesm2020/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  365. package/fesm2020/fundamental-ngx-core-table.mjs +64 -48
  366. package/fesm2020/fundamental-ngx-core-table.mjs.map +1 -1
  367. package/fesm2020/fundamental-ngx-core-tabs.mjs +6 -22
  368. package/fesm2020/fundamental-ngx-core-tabs.mjs.map +1 -1
  369. package/fesm2020/fundamental-ngx-core-tile.mjs +22 -54
  370. package/fesm2020/fundamental-ngx-core-tile.mjs.map +1 -1
  371. package/fesm2020/fundamental-ngx-core-token.mjs +21 -27
  372. package/fesm2020/fundamental-ngx-core-token.mjs.map +1 -1
  373. package/fesm2020/fundamental-ngx-core-toolbar.mjs +1 -1
  374. package/fesm2020/fundamental-ngx-core-toolbar.mjs.map +1 -1
  375. package/fesm2020/fundamental-ngx-core-tree.mjs +3 -11
  376. package/fesm2020/fundamental-ngx-core-tree.mjs.map +1 -1
  377. package/fesm2020/fundamental-ngx-core-upload-collection.mjs +1 -1
  378. package/fesm2020/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  379. package/fesm2020/fundamental-ngx-core-wizard.mjs +1 -1
  380. package/fesm2020/fundamental-ngx-core-wizard.mjs.map +1 -1
  381. package/form/form-control/form-control.component.d.ts +2 -4
  382. package/form/form-group/form-group.component.d.ts +2 -4
  383. package/form/form-message/form-message.component.d.ts +2 -4
  384. package/fundamental-ngx-core-v0.42.0.tgz +0 -0
  385. package/icon/icon.component.d.ts +2 -4
  386. package/illustrated-message/illustrated-message.component.d.ts +2 -4
  387. package/info-label/info-label.component.d.ts +2 -4
  388. package/inline-help/inline-help.directive.d.ts +9 -3
  389. package/input-group/input-group-directives.d.ts +5 -9
  390. package/layout-grid/directives/layout-grid-col.directive.d.ts +2 -4
  391. package/layout-grid/layout-grid.component.d.ts +2 -4
  392. package/layout-panel/layout-panel-footer/layout-panel-footer.component.d.ts +4 -6
  393. package/link/link.component.d.ts +2 -4
  394. package/list/directives/list-icon.directive.d.ts +4 -5
  395. package/list/directives/list-navigation-item-text.directive.d.ts +2 -4
  396. package/list/list-message.directive.d.ts +2 -4
  397. package/message-box/message-box-container/message-box-container.component.d.ts +0 -2
  398. package/message-box/message-box.component.d.ts +0 -2
  399. package/message-page/message-page.component.d.ts +2 -4
  400. package/message-strip/alert/default-config.d.ts +5 -0
  401. package/message-strip/alert/index.d.ts +9 -0
  402. package/message-strip/alert/message-strip-alert/message-strip-alert.component.d.ts +52 -0
  403. package/message-strip/alert/message-strip-alert-container/message-strip-alert-container.component.d.ts +28 -0
  404. package/message-strip/alert/message-strip-alert-container-footer/message-strip-alert-container-footer.component.d.ts +36 -0
  405. package/message-strip/alert/message-strip-alert.position.d.ts +3 -0
  406. package/message-strip/alert/message-strip-alert.ref.d.ts +14 -0
  407. package/message-strip/alert/message-strip-alert.service.d.ts +52 -0
  408. package/message-strip/alert/message-strip-configuration-type.d.ts +15 -0
  409. package/message-strip/alert/open-message-strip-alert.config.d.ts +22 -0
  410. package/message-strip/alert/tokens.d.ts +20 -0
  411. package/message-strip/auto-dismiss-message-strip.directive.d.ts +35 -0
  412. package/message-strip/index.d.ts +5 -5
  413. package/message-strip/message-strip-type.d.ts +2 -0
  414. package/message-strip/message-strip.component.d.ts +7 -9
  415. package/message-strip/message-strip.module.d.ts +2 -4
  416. package/multi-combobox/multi-combobox.component.d.ts +1 -1
  417. package/multi-input/multi-input.component.d.ts +10 -6
  418. package/notification/directives/notification-indicator.directive.d.ts +2 -4
  419. package/notification/notification-group/notification-group.component.d.ts +2 -4
  420. package/object-marker/object-marker.component.d.ts +2 -4
  421. package/object-number/object-number.component.d.ts +2 -4
  422. package/object-status/object-status.component.d.ts +2 -4
  423. package/package.json +3 -3
  424. package/panel/panel.component.d.ts +2 -4
  425. package/radio/radio-button/radio-button.component.d.ts +1 -1
  426. package/rating-indicator/components/rating-indicator.component.d.ts +2 -4
  427. package/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.d.ts +2 -4
  428. package/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.d.ts +2 -4
  429. package/schematics/add-dependencies/index.js +4 -4
  430. package/slider/slider.component.d.ts +2 -4
  431. package/status-indicator/status-indicator.component.d.ts +2 -4
  432. package/table/directives/table-cell.directive.d.ts +6 -12
  433. package/table/directives/table-icon.directive.d.ts +2 -6
  434. package/table/directives/table-row.directive.d.ts +10 -10
  435. package/tabs/tab-item/tab-item.directive.d.ts +2 -4
  436. package/tabs/tab-nav/tab-nav.component.d.ts +4 -8
  437. package/tabs/tab-utils/tab-directives.d.ts +2 -6
  438. package/tile/directives/numeric-content.directives.d.ts +10 -20
  439. package/tile/directives/tile.directives.d.ts +6 -12
  440. package/tile/tile.component.d.ts +1 -1
  441. package/token/token-input.directive.d.ts +2 -4
  442. package/token/tokenizer.component.d.ts +2 -4
  443. package/toolbar/toolbar.component.d.ts +1 -1
  444. package/tree/models/base-tree-item.class.d.ts +1 -3
  445. package/tree/tree.component.d.ts +1 -3
  446. package/esm2020/message-strip/public_api.mjs +0 -3
  447. package/fundamental-ngx-core-v0.42.0-rc.8.tgz +0 -0
  448. package/message-strip/public_api.d.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-tabs.mjs","sources":["../../../../libs/core/src/lib/tabs/tab-utils/tab-directives.ts","../../../../libs/core/src/lib/tabs/tab-list.token.ts","../../../../libs/core/src/lib/tabs/tab-panel/tab-panel.component.ts","../../../../libs/core/src/lib/tabs/tab-panel/tab-panel.component.html","../../../../libs/core/src/lib/tabs/tab-item-expand/tab-item-expand.component.ts","../../../../libs/core/src/lib/tabs/tab-item-expand/tab-item-expand.component.html","../../../../libs/core/src/lib/tabs/tab-link/tab-link.directive.ts","../../../../libs/core/src/lib/tabs/tab-item/tab-item.directive.ts","../../../../libs/core/src/lib/tabs/tab-utils/tab-info.class.ts","../../../../libs/core/src/lib/tabs/tab-list.component.ts","../../../../libs/core/src/lib/tabs/tab-list.component.html","../../../../libs/core/src/lib/tabs/tab-nav/tab-nav.component.ts","../../../../libs/core/src/lib/tabs/deprecated-tabs-compact.directive.ts","../../../../libs/core/src/lib/tabs/tabs.module.ts","../../../../libs/core/src/lib/tabs/fundamental-ngx-core-tabs.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n ViewEncapsulation\n} from '@angular/core';\nimport { applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Directive used to identify the template which will populate the tab header.\n * Used to achieve complex headers that require more than a string.\n *\n * ```html\n * <fd-tab>\n * <ng-template fd-tab-title>\n * <fd-icon [glyph]=\"'delete'\"></fd-icon>\n * <span>Tab Label</span>\n * </ng-template>\n * </fd-tab>\n * ```\n */\n@Directive({\n selector: '[fdTabTitleTemplate], [fd-tab-title-template]'\n})\nexport class TabTitleDirective {}\n\n/**\n * Directive for counter element, available in most of the modes on `tab` component\n */\n@Directive({\n selector: '[fdTabCount], [fd-tab-count]'\n})\nexport class TabCountDirective {\n /** @hidden */\n @HostBinding('class.fd-tabs__count')\n fdTabsCountClass = true;\n}\n\n/**\n * Directive for icon element, available in most of the modes on `tab` component\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-tab-icon]',\n template: `\n <fd-icon role=\"presentation\" *ngIf=\"icon\" [glyph]=\"icon\"></fd-icon>\n <ng-content></ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class TabIconComponent implements CssClassBuilder, OnChanges {\n /** Apply user custom styles */\n @Input()\n class: string;\n\n /**\n * The icon to include inside the element\n * See the icon page for the list of icons.\n */\n @Input()\n icon: string;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden\n * Function runs when component is initialized\n * function should build component css class\n * function should build css style\n */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return ['fd-tabs__icon', this.class];\n }\n\n /** HasElementRef interface implementation\n * function used by applyCssClass and applyCssStyle decorators\n */\n elementRef(): ElementRef {\n return this._elementRef;\n }\n}\n\n@Directive({\n selector: '[fdTabTag], [fd-tab-tag]',\n host: {\n class: 'fd-tabs__tag'\n }\n})\nexport class TabTagDirective {}\n\n@Directive({\n selector: '[fdTabLabel], [fd-tab-label]',\n host: {\n class: 'fd-tabs__label'\n }\n})\nexport class TabLabelDirective {}\n\n@Directive({\n selector: '[fdTabProcess], [fd-tab-process]',\n host: {\n class: 'fd-tabs__process'\n }\n})\nexport class TabProcessDirective {}\n\n@Directive({\n selector: '[fdTabHeader], [fd-tab-header]',\n host: {\n class: 'fd-tabs__header'\n }\n})\nexport class TabHeaderDirective {}\n\n@Directive({\n selector: '[fdTabCounterHeader], [fd-tab-counter-header]',\n host: {\n class: 'fd-tabs__counter-header'\n }\n})\nexport class TabCounterHeaderDirective {}\n\n@Directive({\n selector: '[fdTabProcessIcon], [fd-tab-process-icon]',\n host: {\n class: 'fd-tabs__process-icon'\n }\n})\nexport class TabProcessIconDirective {}\n\n@Directive({\n selector: '[fdTabSeparator], [fd-tab-separator]',\n host: {\n class: 'fd-tabs__separator'\n }\n})\nexport class TabSeparatorDirective {}\n","import { InjectionToken } from '@angular/core';\nimport { TabListComponentInterface } from './tab-list-component.interface';\n\nexport const LIST_COMPONENT = new InjectionToken<TabListComponentInterface>('ListComponent');\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Inject,\n HostBinding,\n Input,\n NgZone,\n OnChanges,\n Optional,\n Output,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { TabTitleDirective } from '../tab-utils/tab-directives';\nimport { TabItemState } from '../tab-item/tab-item.directive';\nimport { first, Subject } from 'rxjs';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { LIST_COMPONENT } from '../tab-list.token';\nimport { TabListComponentInterface } from '../tab-list-component.interface';\n\nlet tabPanelUniqueId = 0;\n\nexport class TabPanelStateChange {\n /**\n * Tab panel state change event\n * @param target Tab panel that is being changed\n * @param state New state of the tab panel\n */\n constructor(public target: TabPanelComponent, public state: boolean) {}\n}\n\n/**\n * Represents the body of a tab element. It also contains elements pertaining to the associated tab header.\n */\n@Component({\n selector: 'fd-tab',\n templateUrl: './tab-panel.component.html',\n host: {\n role: 'tabpanel',\n class: 'fd-tabs__panel',\n '[id]': '_panelId',\n '[attr.aria-labelledby]': 'id'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TabPanelComponent implements OnChanges {\n /** Id of the tab. If none is provided, one will be generated. */\n @Input()\n id: string = 'fd-tab-panel' + tabPanelUniqueId++;\n\n /** Aria-label of the tab. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Id of the element that labels the tab. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** The title of tab, depending on mode used, it will be placed in different position */\n @Input()\n title: Nullable<string>;\n\n /** The count of tab, depending on mode used, it will be placed in different position */\n @Input()\n count: Nullable<string>;\n\n /** Glyph icon, it can be used only on */\n @Input()\n glyph: string;\n\n /** Glyph icon, it can be used only on */\n @Input()\n header = false;\n\n /** Disabled state for tab item */\n @Input()\n disabled = false;\n\n /** Semantic type of the tab item */\n @Input()\n tabState: Nullable<TabItemState>;\n\n /** Event that is emitted when the tab panel has been opened. */\n @Output()\n opened = new EventEmitter<void>();\n\n /** Event that is emitted when the tab panel has been closed. */\n @Output()\n closed = new EventEmitter<void>();\n\n /** @hidden */\n @ContentChild(TabTitleDirective, { read: TemplateRef })\n titleTemplate: TemplateRef<any>;\n\n /** @hidden Event that is emitted when the tab panel . */\n _expandedStateChange = new Subject<TabPanelStateChange>();\n\n /** @hidden */\n _forcedVisibility = false;\n\n /** @hidden */\n @HostBinding('class.is-expanded')\n _expandedClass = false;\n\n /** @hidden Whether to display tab panel content */\n private _expanded = false;\n\n /** @hidden */\n get _panelId(): string {\n return this.id + '-panel';\n }\n\n /** @hidden */\n constructor(\n public elementRef: ElementRef,\n private _changeDetRef: ChangeDetectorRef,\n private _ngZone: NgZone,\n @Optional() @Inject(LIST_COMPONENT) private readonly _tabsComponent: TabListComponentInterface | null\n ) {}\n\n /** @hidden\n * Thanks to OnPush change strategy detection on tab-list parent component,\n * every change of any property should be reported. */\n ngOnChanges(): void {\n this._tabsComponent?.tabPanelPropertyChanged.next();\n }\n\n /** Whether tab panel content is expanded */\n get expanded(): boolean {\n return this._expanded;\n }\n\n /** Whether to expand tab panel content */\n open(open: boolean): void {\n this._expandedStateChange.next(new TabPanelStateChange(this, open));\n }\n\n /** @hidden Set new expand state */\n _expand(expanded: boolean): void {\n if (this._expanded !== expanded) {\n this._expanded = expanded;\n\n if (expanded) {\n this.opened.emit();\n } else {\n this.closed.emit();\n }\n\n this._changeDetRef.detectChanges();\n\n this._ngZone.onStable.pipe(first()).subscribe(() => this._updateHost());\n }\n }\n\n /** @hidden */\n private _updateHost(): void {\n this._expandedClass = this.expanded;\n }\n}\n","<ng-container *ngIf=\"expanded\">\n <ng-content></ng-content>\n</ng-container>\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\n/**\n * Represents a list of tab-panels.\n */\n@Component({\n selector: 'fd-item-expand',\n templateUrl: './tab-item-expand.component.html',\n styleUrls: ['./tab-item-expand.component.scss'],\n host: {\n role: 'tab',\n class: 'fd-tabs__item fd-tabs__item--overflow'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TabItemExpandComponent {\n /**\n * @deprecated use i18n capabilities instead\n * @hidden Text visible in the trigger */\n @Input()\n label: string;\n}\n","<a class=\"fd-tabs__link\" role=\"tab\" [attr.tabindex]=\"0\">\n <span *ngIf=\"label || ('coreTabs.tabListExpandButtonText' | fdTranslate) as expandButtonText\" fd-tab-tag>{{\n expandButtonText\n }}</span>\n <fd-icon glyph=\"slim-arrow-down\" aria-label=\"See More\"></fd-icon>\n</a>\n","import { FocusableOption } from '@angular/cdk/a11y';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\nimport { AbstractFdNgxClass, KeyUtil } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Tab link for nav mode\n *\n * ```html\n * <a fd-tab-link>\n * link\n * </a>\n * ```\n */\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-tab-link]',\n host: {\n role: 'tab',\n tabindex: '-1'\n }\n})\nexport class TabLinkDirective extends AbstractFdNgxClass implements FocusableOption {\n /** Whether the link is active */\n @Input()\n @HostBinding('attr.aria-selected')\n active: boolean;\n\n /**\n * Only visual / accessibility thing on tab-nav mode\n * RouterLink does not respect preventDefault/stopPropagation\n */\n @Input()\n @HostBinding('attr.aria-disabled')\n @HostBinding('class.is-disabled')\n disabled: boolean;\n\n /** Event Emitted always when, any keyboard event is dispatched on this element */\n @Output()\n readonly keyDown: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** Event Emitted when item has been focused. */\n @Output()\n readonly focused = new EventEmitter<void>();\n\n /** @hidden */\n _setProperties(): void {\n this._addClassToElement('fd-tabs__link');\n if (this.active) {\n this._addClassToElement('is-selected');\n }\n }\n\n /** @hidden */\n constructor(public elementRef: ElementRef) {\n super(elementRef);\n }\n\n /** @hidden */\n @HostListener('focus')\n private _onFocus(): void {\n this.focused.emit();\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n private _onKeyUp(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this.focused.emit();\n }\n }\n\n /** @hidden */\n focus(): void {\n this.elementRef.nativeElement.focus();\n }\n}\n","import { ContentChild, Directive, ElementRef, HostBinding, Input, OnChanges, OnInit } from '@angular/core';\nimport { applyCssClass, CssClassBuilder } from '@fundamental-ngx/cdk/utils';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { TabLinkDirective } from '../tab-link/tab-link.directive';\n\nexport type TabItemState = 'success' | 'error' | 'warning' | 'information' | 'neutral';\n\n/**\n * Tab Item is optional wrapper for Tab link\n *\n * ```html\n * <div fd-tab-item>\n * <a fd-tab-link>\n * link\n * </a>\n * </div>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-tab-item]'\n})\nexport class TabItemDirective implements CssClassBuilder, OnChanges, OnInit {\n /** Apply user custom styles */\n @Input()\n class = '';\n\n /** Semantic type of the tab item */\n @Input()\n tabItemState: Nullable<TabItemState>;\n\n /** This should be used only on `filterMode`. Flag should be enable for first item */\n @Input()\n header: boolean;\n\n /** Disabled state for tab item */\n @Input()\n @HostBinding('attr.aria-disabled')\n @HostBinding('class.is-disabled')\n disabled = false;\n\n /** Defines if there will be added fd-tabs__item class. Enabled by default. */\n @Input()\n fdTabItemClass = true;\n\n /** @hidden */\n @ContentChild(TabLinkDirective)\n linkItem: TabLinkDirective;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n this.fdTabItemClass ? 'fd-tabs__item' : '',\n this.header ? 'fd-tabs__item--header' : '',\n this.tabItemState ? `fd-tabs__item--${this.tabItemState}` : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef {\n return this._elementRef;\n }\n}\n","import { TemplateRef } from '@angular/core';\n\nimport { TabPanelComponent } from '../tab-panel/tab-panel.component';\nimport { TabItemState } from '../tab-item/tab-item.directive';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/** @hidden */\nexport class TabInfo {\n /** Whether the tab is active */\n active: boolean;\n\n /** @hidden Width of the tab header */\n headerWidth: number;\n\n /** Corresponding tab panel */\n panel: TabPanelComponent;\n\n /** @hidden */\n constructor(tabPanel: TabPanelComponent) {\n this.panel = tabPanel;\n this.active = tabPanel.expanded;\n }\n\n /** Tab header title */\n get title(): Nullable<string> {\n return this.panel.title;\n }\n\n /** Whether the tab is disabled */\n get disabled(): boolean {\n return this.panel.disabled;\n }\n\n /** Whether the tab is tab header */\n get isHeader(): boolean {\n return this.panel.header;\n }\n\n /** @hidden */\n get id(): Nullable<string> {\n return this.panel.id;\n }\n\n /** @hidden */\n get ariaLabel(): Nullable<string> {\n return this.panel.ariaLabel;\n }\n\n /** @hidden */\n get ariaLabelledBy(): Nullable<string> {\n return this.panel.ariaLabelledBy;\n }\n\n /** @hidden */\n get tabState(): Nullable<TabItemState> {\n return this.panel.tabState;\n }\n\n /** @hidden */\n get titleTemplate(): TemplateRef<any> {\n return this.panel.titleTemplate;\n }\n\n /** @hidden */\n get count(): Nullable<string> {\n return this.panel.count;\n }\n\n /** @hidden */\n get glyph(): string {\n return this.panel.glyph;\n }\n\n /** @hidden */\n get forcedVisibility(): boolean {\n return this.panel._forcedVisibility;\n }\n\n /** @hidden */\n get panelId(): string {\n return this.panel._panelId;\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n Output,\n QueryList,\n ViewChild,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { OverflowLayoutComponent } from '@fundamental-ngx/core/overflow-layout';\nimport { fromEvent, merge, Observable, Subject, Subscription } from 'rxjs';\nimport { debounceTime, delay, filter, first, map, startWith, switchMap, takeUntil } from 'rxjs/operators';\nimport { DestroyedService, KeyUtil, scrollTop } from '@fundamental-ngx/cdk/utils';\nimport { TabItemExpandComponent } from './tab-item-expand/tab-item-expand.component';\nimport { TabLinkDirective } from './tab-link/tab-link.directive';\nimport { TabItemDirective } from './tab-item/tab-item.directive';\nimport { TabPanelComponent } from './tab-panel/tab-panel.component';\nimport { TabInfo } from './tab-utils/tab-info.class';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { MenuComponent } from '@fundamental-ngx/core/menu';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { LIST_COMPONENT } from './tab-list.token';\nimport { TabListComponentInterface } from './tab-list-component.interface';\n\nexport type TabModes = 'icon-only' | 'process' | 'filter';\n\nexport type TabSizes = 's' | 'm' | 'l' | 'xl' | 'xxl';\n\n/**\n * Represents a list of tab-panels.\n */\n@Component({\n selector: 'fd-tab-list',\n templateUrl: './tab-list.component.html',\n styleUrls: ['./tab-list.component.scss'],\n host: {\n class: 'fd-tabs-custom'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n contentDensityObserverProviders(),\n DestroyedService,\n {\n provide: LIST_COMPONENT,\n useExisting: forwardRef(() => TabListComponent)\n }\n ]\n})\nexport class TabListComponent implements TabListComponentInterface, AfterContentInit, AfterViewInit, OnDestroy {\n /** Size of tab, it's mostly about adding spacing on tab container, available sizes 's' | 'm' | 'l' | 'xl' | 'xxl' */\n @Input()\n size: TabSizes = 'm';\n\n /**\n * Whether user wants to use tab component in certain mode. Modes available:\n * 'icon-only' | 'process' | 'filter'\n */\n @Input()\n mode: TabModes;\n\n /** Whether to move tabs overflowing in the tab bar to the dropdown */\n @Input()\n collapseOverflow = true;\n\n /** Limits the maximum number of tabs visible in the tab bar in collapseOverflow mode.\n * Other tabs will be moved to the collapsed tabs dropdown */\n @Input()\n maxVisibleTabs = Infinity;\n\n /** Whether to open tab content one under another without collapsing */\n @Input()\n stackContent = false;\n\n /** Maximum height of the content */\n @Input()\n maxContentHeight = '100%';\n\n /** Whether to enable collapsing expanded tab on expanded tab click */\n @Input()\n collapsibleTabs = false;\n\n /**\n * @deprecated use i18n capabilities instead\n * Text visible in expand overflow trigger\n */\n @Input()\n expandOverflowText: string;\n\n /** Initially selected tab (by id). First not disabled one if not specified. */\n @Input()\n defaultTab: Nullable<string>;\n\n /** Whether to try to keep selected tab (default value) on tabs change or to select default one (first if not specified). */\n @Input()\n selectDefaultOnTabsChange = false;\n\n /** Event emitted when the selected panel changes. */\n @Output()\n selectedTabChange = new EventEmitter<TabPanelComponent>();\n\n /** Event emitted when visible items count has been changed. */\n @Output()\n visibleItemsCount = new EventEmitter<number>();\n\n /** Event emitted when hidden items count has been changed. */\n @Output()\n hiddenItemsCount = new EventEmitter<number>();\n\n /** @hidden */\n @ContentChildren(forwardRef(() => TabPanelComponent))\n tabPanels: QueryList<TabPanelComponent>;\n\n /** @hidden */\n @ViewChildren(TabLinkDirective)\n tabHeaderLinks: QueryList<TabLinkDirective>;\n\n /** @hidden */\n @ViewChildren(TabItemDirective)\n tabHeaders: QueryList<TabItemDirective>;\n\n /** @hidden */\n @ViewChild(TabItemExpandComponent, { read: ElementRef })\n overflowTrigger: ElementRef;\n\n /** @hidden */\n @ViewChild('headerContainer', { read: ElementRef })\n headerContainer: ElementRef;\n\n /** @hidden */\n @ViewChild('contentContainer', { read: ElementRef, static: true })\n contentContainer: ElementRef;\n\n /** @hidden */\n @ViewChild(OverflowLayoutComponent)\n private _overflowLayout: OverflowLayoutComponent;\n\n /** @hidden */\n @ViewChild('menu', { read: MenuComponent })\n menu: MenuComponent;\n\n /** @hidden Collection of tabs in original order */\n _tabArray: TabInfo[];\n\n /** @hidden Whether to disable scroll spy */\n _disableScrollSpy = false;\n\n /** @hidden */\n _init = true;\n\n /** Event is thrown always when tab is selected by keyboard actions */\n readonly tabSelected: Subject<number> = new Subject<number>();\n\n /** Event is thrown always, when some property is changed */\n readonly tabPanelPropertyChanged: Subject<void> = new Subject<void>();\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n private readonly _changeDetectorRef: ChangeDetectorRef,\n private _elRef: ElementRef,\n readonly _contentDensityObserver: ContentDensityObserver,\n private readonly _onDestroy$: DestroyedService\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._setupTabPanelsChangeListeners();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenOnPropertiesChange();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n _tabHeaderClickHandler(tabPanel: TabPanelComponent): void {\n this._expandTab(tabPanel, !tabPanel.expanded);\n }\n\n /** @hidden */\n _tabHeaderKeydownHandler(event: KeyboardEvent, tabPanel: TabPanelComponent): void {\n if (!KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n return;\n }\n\n event.preventDefault();\n this._tabHeaderClickHandler(tabPanel);\n }\n\n /** @hidden */\n _overflowingTabHeaderClickHandler(tabPanel: TabPanelComponent): void {\n this._tabArray.forEach((tab) => {\n tab.panel._forcedVisibility = tab.panel === tabPanel;\n });\n\n this._expandTab(tabPanel, true, false);\n\n this._overflowLayout.triggerRecalculation();\n\n this._detectChanges();\n }\n\n /** @hidden */\n _highlightActiveTab({ id }: HTMLElement): void {\n const tab = this._tabArray.find((_tab) => _tab.panel._panelId === id);\n if (tab) {\n const _tabWasActive = tab.active;\n this._activateStackedTab(tab.panel, false);\n if (!_tabWasActive) {\n this.selectedTabChange.emit(tab.panel);\n }\n }\n }\n\n /** @hidden */\n _onTriggerKeydown(event: KeyboardEvent, menuRef: MenuComponent): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n event.preventDefault();\n menuRef.toggle();\n }\n }\n\n /** @hidden */\n private get _tabPanelsChange$(): Observable<TabPanelComponent[]> {\n return this.tabPanels.changes.pipe(\n startWith(this.tabPanels),\n map((tabPanels) => tabPanels.toArray()),\n takeUntil(this._onDestroy$)\n );\n }\n\n /** @hidden */\n private _detectChanges(): void {\n if (this._changeDetectorRef && !this._changeDetectorRef['destroyed']) {\n this._changeDetectorRef.detectChanges();\n }\n }\n\n /** @hidden */\n private _setupTabPanelsChangeListeners(): void {\n this._listenOnTabPanelsAndUpdateStorageStructures();\n this._initStackContentSubscription();\n this._listenOnTabPanelsExpandedChange();\n this._listenOnTabPanelsAndInitiallyExpandTabPanel();\n }\n\n /** @hidden Setup mechanisms required for handling the stacked content behavior */\n private _initStackContentSubscription(): void {\n this._tabPanelsChange$\n .pipe(\n filter(() => this.stackContent),\n delay(0),\n takeUntil(this._onDestroy$)\n )\n .subscribe(() =>\n this._tabArray.filter((tab) => !tab.panel.disabled).forEach((tab) => tab.panel._expand(true))\n );\n }\n\n /** @hidden */\n private _listenOnTabPanelsAndUpdateStorageStructures(): void {\n this._tabPanelsChange$\n .pipe(\n map((tabPanels) => tabPanels.map((el) => new TabInfo(el))),\n takeUntil(this._onDestroy$)\n )\n .subscribe((tabs) => {\n this._tabArray = tabs;\n });\n }\n\n /** @hidden */\n private _listenOnTabPanelsExpandedChange(): void {\n this._tabPanelsChange$\n .pipe(\n map((tabPanels) => tabPanels.map((tab) => tab._expandedStateChange.asObservable())),\n switchMap((tabPanels) => merge(...tabPanels)),\n takeUntil(this._onDestroy$)\n )\n .subscribe((event) => this._expandTab(event.target, event.state));\n }\n\n /** @hidden */\n private _listenOnTabPanelsAndInitiallyExpandTabPanel(): void {\n this._tabPanelsChange$.pipe(takeUntil(this._onDestroy$)).subscribe(() => {\n const activeTab = this._tabArray.find((_tab) => _tab.active);\n let tab: Nullable<TabInfo>;\n\n if (!activeTab || this.selectDefaultOnTabsChange) {\n if (this.defaultTab) {\n tab = this._tabArray.find((_tab) => !_tab.disabled && _tab.id === this.defaultTab);\n }\n\n if (!tab) {\n tab = this._tabArray.find((_tab) => !_tab.disabled);\n }\n }\n\n if (tab && activeTab !== tab) {\n this._expandTab(tab.panel, true);\n }\n });\n }\n\n /** @hidden */\n private _listenOnPropertiesChange(): void {\n merge(this.tabPanelPropertyChanged, this.tabPanels.changes)\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(() => this._detectChanges());\n }\n\n /** @hidden */\n private _activateStackedTab(tabPanel: TabPanelComponent, scroll = true): void {\n if (scroll) {\n this._scrollToPanel(tabPanel);\n }\n this._tabArray.forEach((tab) => {\n tab.active = tab.panel === tabPanel;\n });\n }\n\n /** @hidden */\n private _activateExpandableTab(tabPanel: TabPanelComponent, expand: boolean): void {\n const collapse = this.collapsibleTabs && !expand;\n\n this._tabArray.forEach((tab) => {\n const isActive = tab.panel === tabPanel && !collapse;\n\n tab.panel._expand(isActive);\n tab.active = isActive;\n });\n }\n\n /** @hidden */\n private _expandTab(tabPanel: TabPanelComponent, expand: boolean, detectChanges = true): void {\n if (this.stackContent) {\n this._activateStackedTab(tabPanel);\n } else {\n if (!this._canChangeExpandState(tabPanel, expand)) {\n return;\n }\n\n this._activateExpandableTab(tabPanel, expand);\n }\n\n if (detectChanges) {\n this._detectChanges();\n }\n\n this.selectedTabChange.emit(tabPanel);\n }\n\n /** @hidden */\n private _scrollToPanel(tabPanel: TabPanelComponent): void {\n const panelElement = tabPanel.elementRef.nativeElement;\n const containerElement = this.contentContainer.nativeElement;\n const distanceToScroll = panelElement.offsetTop - containerElement.offsetTop;\n const maximumScrollTop = containerElement.scrollHeight - containerElement.clientHeight;\n const currentScrollPosition = Math.ceil(containerElement.scrollTop);\n\n if (!(currentScrollPosition === maximumScrollTop && distanceToScroll > maximumScrollTop)) {\n !this._init ? (this._disableScrollSpy = true) : (this._init = false);\n fromEvent(containerElement, 'scroll')\n .pipe(debounceTime(100), first(), takeUntil(this._onDestroy$))\n .subscribe(() => (this._disableScrollSpy = false));\n scrollTop(containerElement, distanceToScroll);\n }\n }\n\n /** @hidden Whether tab can be expanded/collapsed */\n private _canChangeExpandState(tabPanel: TabPanelComponent, expand: boolean): boolean {\n return !tabPanel.disabled && expand !== tabPanel.expanded && expand === false ? this.collapsibleTabs : true;\n }\n}\n","<div #headerContainer role=\"tablist\" class=\"fd-tabs\" [class]=\"(mode ? 'fd-tabs--' + mode : '') + (' fd-tabs--' + size)\">\n <fd-overflow-layout\n [maxVisibleItems]=\"maxVisibleTabs\"\n [enableKeyboardNavigation]=\"true\"\n navigationTrigger=\"keydown\"\n (hiddenItemsCount)=\"hiddenItemsCount.emit($event)\"\n (visibleItemsCount)=\"visibleItemsCount.emit($event)\"\n >\n <ng-container *ngFor=\"let tab of _tabArray; let i = index; let last = last\">\n <div\n fd-tab-item\n *fdOverflowItemRef=\"tab\"\n fdOverflowLayoutItem\n [forceVisibility]=\"tab.panel._forcedVisibility\"\n [header]=\"tab.isHeader\"\n [tabItemState]=\"tab.tabState\"\n >\n <a\n fd-tab-link\n role=\"tab\"\n [id]=\"tab.id\"\n [attr.aria-controls]=\"tab.panelId\"\n [attr.aria-label]=\"tab.ariaLabel || null\"\n [attr.aria-labelledby]=\"!tab.ariaLabel && tab.ariaLabelledBy ? tab.ariaLabelledBy : null\"\n fdOverflowLayoutFocusableItem\n [focusable]=\"tab.active\"\n [navigable]=\"!tab.disabled\"\n [active]=\"tab.active\"\n [disabled]=\"tab.disabled\"\n (keydown)=\"_tabHeaderKeydownHandler($event, tab.panel)\"\n (click)=\"_tabHeaderClickHandler(tab.panel)\"\n >\n <ng-container *ngTemplateOutlet=\"tab.titleTemplate || null\"></ng-container>\n\n <ng-container *ngIf=\"!tab.titleTemplate\" [ngSwitch]=\"mode\">\n <ng-container *ngSwitchCase=\"'filter'\">\n <span fd-tab-header *ngIf=\"tab.isHeader\">\n <span fd-tab-counter-header *ngIf=\"tab.count\">{{ tab.count }}</span>\n <span fd-tab-label *ngIf=\"tab.title\">{{ tab.title }}</span>\n </span>\n <ng-container *ngIf=\"!tab.isHeader\">\n <span fd-tab-icon [icon]=\"tab.glyph\">\n <p fd-tab-count>{{ tab.count }}</p>\n </span>\n <span fd-tab-label>{{ tab.title }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'icon-only'\">\n <span fd-tab-icon [icon]=\"tab.glyph\">\n <p fd-tab-count>{{ tab.count }}</p>\n </span>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'process'\">\n <span fd-tab-icon *ngIf=\"tab.glyph\" [icon]=\"tab.glyph\"></span>\n <div fd-tab-process>\n <span fd-tab-label *ngIf=\"tab.count\">{{ tab.count }}</span>\n <span fd-tab-label *ngIf=\"tab.title\">{{ tab.title }}</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <p fd-tab-count *ngIf=\"tab.count\">{{ tab.count }}</p>\n <span fd-tab-tag>{{ tab.title }}</span>\n </ng-container>\n </ng-container>\n </a>\n\n <div fd-tab-process-icon *ngIf=\"mode === 'process' && !last\"></div>\n </div>\n\n <div *ngIf=\"tab.isHeader\" fd-tab-separator></div>\n </ng-container>\n\n <ng-container *fdOverflowExpand=\"let tabs; items: _tabArray\">\n <fd-item-expand\n [fdMenuTrigger]=\"menu\"\n [label]=\"expandOverflowText\"\n *ngIf=\"tabs.length > 0\"\n (keydown)=\"_onTriggerKeydown($event, menu)\"\n >\n </fd-item-expand>\n\n <fd-menu #menu>\n <li\n fd-menu-item\n *ngFor=\"let tab of tabs\"\n (onSelect)=\"_overflowingTabHeaderClickHandler(tab.item.panel)\"\n >\n <div fd-menu-interactive>\n <ng-container\n *ngTemplateOutlet=\"\n !tab.item.titleTemplate && mode === 'icon-only'\n ? iconOnlyTemplate\n : tab.item.titleTemplate || textTitle;\n context: { $implicit: tab.item }\n \"\n ></ng-container>\n </div>\n </li>\n </fd-menu>\n </ng-container>\n </fd-overflow-layout>\n</div>\n\n<div\n #contentContainer\n class=\"fd-tabs__content\"\n [style.maxHeight]=\"maxContentHeight\"\n fdScrollSpy\n fd-scrollbar\n [trackedTags]=\"['fd-tab']\"\n [scrollSpyDisabled]=\"_disableScrollSpy\"\n (spyChange)=\"_highlightActiveTab($event)\"\n>\n <ng-content></ng-content>\n</div>\n\n<ng-template #textTitle let-tab>\n <span fd-menu-title>{{ tab.title }}</span>\n</ng-template>\n\n<ng-template #iconOnlyTemplate let-tab>\n <span fd-tab-icon [icon]=\"tab.glyph\">\n <p fd-tab-count>{{ tab.count }}</p>\n </span>\n</ng-template>\n","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { TabLinkDirective } from '../tab-link/tab-link.directive';\nimport { TabItemDirective } from '../tab-item/tab-item.directive';\nimport { merge, Subject, Subscription } from 'rxjs';\nimport { TabModes, TabSizes } from '../tab-list.component';\nimport { takeUntil } from 'rxjs/operators';\nimport { applyCssClass, CssClassBuilder, KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-tab-nav]',\n template: ` <ng-content></ng-content>`,\n providers: [contentDensityObserverProviders()],\n styleUrls: ['./tab-nav.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TabNavComponent implements AfterContentInit, OnChanges, OnInit, OnDestroy, CssClassBuilder {\n /** Apply user custom styles */\n @Input()\n class: string;\n\n /**\n * Whether user wants to use tab component in certain mode. Modes available:\n * 'icon-only' | 'process' | 'filter'\n */\n @Input()\n mode: TabModes;\n\n /** Size of tab, it's mostly about adding spacing on tab container, available sizes 's' | 'm' | 'l' | 'xl' | 'xxl' */\n @Input()\n size: TabSizes = 'm';\n\n /** @hidden */\n @ContentChildren(TabLinkDirective, { descendants: true })\n links: QueryList<TabLinkDirective>;\n\n /** @hidden */\n @ContentChildren(TabItemDirective, { descendants: true })\n items: QueryList<TabItemDirective>;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n private _keyboardEventsManager: FocusKeyManager<TabLinkDirective>;\n\n /** @hidden */\n private _dir: 'ltr' | 'rtl' = this._rtlService?.rtl.value ? 'rtl' : 'ltr';\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef,\n private _contentDensityObserver: ContentDensityObserver,\n @Optional() private _rtlService: RtlService\n ) {\n this._contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._setupKeyManager();\n this._refreshSubscription();\n this._listenOnContentQueryListChange();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n this._onDestroy$.next();\n this._onDestroy$.complete();\n this._keyboardEventsManager?.destroy();\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [`fd-tabs`, this.mode ? 'fd-tabs--' + this.mode : '', `fd-tabs--${this.size}`, this.class];\n }\n\n /** HasElementRef interface implementation\n * function used by applyCssClass and applyCssStyle decorators\n */\n elementRef(): ElementRef {\n return this._elementRef;\n }\n\n /** Function that gives possibility to get all the link directives, with and without nav__item wrapper */\n get tabLinks(): TabLinkDirective[] {\n let tabLinks: TabLinkDirective[] = [];\n if (this.links) {\n tabLinks = tabLinks.concat(this.links.map((link) => link));\n }\n if (this.items) {\n tabLinks = tabLinks.concat(this.items.filter((item) => !!item.linkItem).map((item) => item.linkItem));\n }\n return tabLinks;\n }\n\n /**\n * Function to select a new tab from an index.\n * @param tabIndex Index of the tab to select.\n */\n selectTab(tabIndex: number): void {\n this.tabLinks[tabIndex].elementRef.nativeElement.click();\n }\n\n /**\n * @hidden\n * Every time any of query is changed, ex. tab is removed or added\n * reference to keydown subscriptions handler is renewed\n */\n private _listenOnContentQueryListChange(): void {\n merge(this.links.changes, this.items.changes)\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(() => this._refreshSubscription());\n }\n\n /** Whether any QueryList detects any changes */\n private _refreshSubscription(): void {\n this._subscriptions.unsubscribe();\n this._subscriptions = new Subscription();\n this._listenToFocusedLinks();\n\n this.links.changes.pipe(takeUntil(this._onDestroy$)).subscribe(() => {\n this._listenToFocusedLinks();\n });\n }\n\n /** @hidden */\n private _listenToFocusedLinks(): void {\n const links = this.links.toArray();\n links.forEach((link) => {\n this._subscriptions.add(\n link.focused.subscribe(() => {\n this._keyboardEventsManager.setActiveItem(links.findIndex((item) => item === link));\n })\n );\n });\n }\n\n /** @hidden */\n private _setupKeyManager(): void {\n this._keyboardEventsManager?.destroy();\n this._keyboardEventsManager = new FocusKeyManager(this.links).withWrap().withHorizontalOrientation(this._dir);\n\n this._rtlService?.rtl.pipe(takeUntil(this._onDestroy$)).subscribe((isRtl) => {\n this._keyboardEventsManager.withHorizontalOrientation(isRtl ? 'rtl' : 'ltr');\n });\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n private _keyUpHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [LEFT_ARROW, RIGHT_ARROW])) {\n this._keyboardEventsManager.onKeydown(event);\n }\n }\n}\n","import { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\nimport { Directive, forwardRef } from '@angular/core';\n\n@Directive({\n selector: '[fd-tab-nav][compact], fd-tab-list[compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedTabsCompactDirective)\n }\n ]\n})\nexport class DeprecatedTabsCompactDirective extends DeprecatedCompactDirective {\n /** @hidden */\n constructor() {\n super('[fd-tab-nav][compact], fd-tab-list');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverflowLayoutModule } from '@fundamental-ngx/core/overflow-layout';\n\nimport { TabPanelComponent } from './tab-panel/tab-panel.component';\nimport { TabListComponent } from './tab-list.component';\n\nimport {\n TabCountDirective,\n TabCounterHeaderDirective,\n TabHeaderDirective,\n TabIconComponent,\n TabLabelDirective,\n TabProcessDirective,\n TabProcessIconDirective,\n TabSeparatorDirective,\n TabTagDirective,\n TabTitleDirective\n} from './tab-utils/tab-directives';\nimport { TabNavComponent } from './tab-nav/tab-nav.component';\nimport { TabLinkDirective } from './tab-link/tab-link.directive';\nimport { TabItemDirective } from './tab-item/tab-item.directive';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { ListModule } from '@fundamental-ngx/core/list';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { I18nModule } from '@fundamental-ngx/i18n';\nimport { MenuModule } from '@fundamental-ngx/core/menu';\nimport { ScrollSpyModule } from '@fundamental-ngx/core/scroll-spy';\nimport { TabItemExpandComponent } from './tab-item-expand/tab-item-expand.component';\nimport { DeprecatedTabsCompactDirective } from './deprecated-tabs-compact.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { ScrollbarModule } from '@fundamental-ngx/core/scrollbar';\n\n@NgModule({\n declarations: [\n TabListComponent,\n TabPanelComponent,\n TabTitleDirective,\n TabNavComponent,\n TabLinkDirective,\n TabItemDirective,\n TabTagDirective,\n TabIconComponent,\n TabCountDirective,\n TabLabelDirective,\n TabProcessDirective,\n TabHeaderDirective,\n TabItemExpandComponent,\n TabCounterHeaderDirective,\n TabProcessIconDirective,\n TabSeparatorDirective,\n DeprecatedTabsCompactDirective\n ],\n imports: [\n CommonModule,\n IconModule,\n PopoverModule,\n ListModule,\n ButtonModule,\n MenuModule,\n ScrollSpyModule,\n ContentDensityModule,\n I18nModule,\n OverflowLayoutModule,\n ScrollbarModule\n ],\n exports: [\n TabListComponent,\n TabPanelComponent,\n TabTitleDirective,\n TabNavComponent,\n TabItemDirective,\n TabLinkDirective,\n TabTagDirective,\n TabIconComponent,\n TabCountDirective,\n TabLabelDirective,\n TabProcessDirective,\n TabHeaderDirective,\n TabCounterHeaderDirective,\n TabProcessIconDirective,\n TabSeparatorDirective,\n DeprecatedTabsCompactDirective,\n ContentDensityModule\n ]\n})\nexport class TabsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i3.TabTagDirective","first","i2","i4","i8.TabLinkDirective","i9.TabItemDirective","i10.TabTagDirective","i10.TabIconComponent","i10.TabCountDirective","i10.TabLabelDirective","i10.TabProcessDirective","i10.TabHeaderDirective","i11.TabItemExpandComponent","i10.TabCounterHeaderDirective","i10.TabProcessIconDirective","i10.TabSeparatorDirective"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-tabs.mjs","sources":["../../../../libs/core/src/lib/tabs/tab-utils/tab-directives.ts","../../../../libs/core/src/lib/tabs/tab-list.token.ts","../../../../libs/core/src/lib/tabs/tab-panel/tab-panel.component.ts","../../../../libs/core/src/lib/tabs/tab-panel/tab-panel.component.html","../../../../libs/core/src/lib/tabs/tab-item-expand/tab-item-expand.component.ts","../../../../libs/core/src/lib/tabs/tab-item-expand/tab-item-expand.component.html","../../../../libs/core/src/lib/tabs/tab-link/tab-link.directive.ts","../../../../libs/core/src/lib/tabs/tab-item/tab-item.directive.ts","../../../../libs/core/src/lib/tabs/tab-utils/tab-info.class.ts","../../../../libs/core/src/lib/tabs/tab-list.component.ts","../../../../libs/core/src/lib/tabs/tab-list.component.html","../../../../libs/core/src/lib/tabs/tab-nav/tab-nav.component.ts","../../../../libs/core/src/lib/tabs/deprecated-tabs-compact.directive.ts","../../../../libs/core/src/lib/tabs/tabs.module.ts","../../../../libs/core/src/lib/tabs/fundamental-ngx-core-tabs.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n ViewEncapsulation\n} from '@angular/core';\nimport { applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Directive used to identify the template which will populate the tab header.\n * Used to achieve complex headers that require more than a string.\n *\n * ```html\n * <fd-tab>\n * <ng-template fd-tab-title>\n * <fd-icon [glyph]=\"'delete'\"></fd-icon>\n * <span>Tab Label</span>\n * </ng-template>\n * </fd-tab>\n * ```\n */\n@Directive({\n selector: '[fdTabTitleTemplate], [fd-tab-title-template]'\n})\nexport class TabTitleDirective {}\n\n/**\n * Directive for counter element, available in most of the modes on `tab` component\n */\n@Directive({\n selector: '[fdTabCount], [fd-tab-count]'\n})\nexport class TabCountDirective {\n /** @hidden */\n @HostBinding('class.fd-tabs__count')\n fdTabsCountClass = true;\n}\n\n/**\n * Directive for icon element, available in most of the modes on `tab` component\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-tab-icon]',\n template: `\n <fd-icon role=\"presentation\" *ngIf=\"icon\" [glyph]=\"icon\"></fd-icon>\n <ng-content></ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class TabIconComponent implements CssClassBuilder, OnChanges {\n /** Apply user custom styles */\n @Input()\n class: string;\n\n /**\n * The icon to include inside the element\n * See the icon page for the list of icons.\n */\n @Input()\n icon: string;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef) {}\n\n /** @hidden\n * Function runs when component is initialized\n * function should build component css class\n * function should build css style\n */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return ['fd-tabs__icon', this.class];\n }\n}\n\n@Directive({\n selector: '[fdTabTag], [fd-tab-tag]',\n host: {\n class: 'fd-tabs__tag'\n }\n})\nexport class TabTagDirective {}\n\n@Directive({\n selector: '[fdTabLabel], [fd-tab-label]',\n host: {\n class: 'fd-tabs__label'\n }\n})\nexport class TabLabelDirective {}\n\n@Directive({\n selector: '[fdTabProcess], [fd-tab-process]',\n host: {\n class: 'fd-tabs__process'\n }\n})\nexport class TabProcessDirective {}\n\n@Directive({\n selector: '[fdTabHeader], [fd-tab-header]',\n host: {\n class: 'fd-tabs__header'\n }\n})\nexport class TabHeaderDirective {}\n\n@Directive({\n selector: '[fdTabCounterHeader], [fd-tab-counter-header]',\n host: {\n class: 'fd-tabs__counter-header'\n }\n})\nexport class TabCounterHeaderDirective {}\n\n@Directive({\n selector: '[fdTabProcessIcon], [fd-tab-process-icon]',\n host: {\n class: 'fd-tabs__process-icon'\n }\n})\nexport class TabProcessIconDirective {}\n\n@Directive({\n selector: '[fdTabSeparator], [fd-tab-separator]',\n host: {\n class: 'fd-tabs__separator'\n }\n})\nexport class TabSeparatorDirective {}\n","import { InjectionToken } from '@angular/core';\nimport { TabListComponentInterface } from './tab-list-component.interface';\n\nexport const LIST_COMPONENT = new InjectionToken<TabListComponentInterface>('ListComponent');\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Inject,\n HostBinding,\n Input,\n NgZone,\n OnChanges,\n Optional,\n Output,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { TabTitleDirective } from '../tab-utils/tab-directives';\nimport { TabItemState } from '../tab-item/tab-item.directive';\nimport { first, Subject } from 'rxjs';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { LIST_COMPONENT } from '../tab-list.token';\nimport { TabListComponentInterface } from '../tab-list-component.interface';\n\nlet tabPanelUniqueId = 0;\n\nexport class TabPanelStateChange {\n /**\n * Tab panel state change event\n * @param target Tab panel that is being changed\n * @param state New state of the tab panel\n */\n constructor(public target: TabPanelComponent, public state: boolean) {}\n}\n\n/**\n * Represents the body of a tab element. It also contains elements pertaining to the associated tab header.\n */\n@Component({\n selector: 'fd-tab',\n templateUrl: './tab-panel.component.html',\n host: {\n role: 'tabpanel',\n class: 'fd-tabs__panel',\n '[id]': '_panelId',\n '[attr.aria-labelledby]': 'id'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TabPanelComponent implements OnChanges {\n /** Id of the tab. If none is provided, one will be generated. */\n @Input()\n id: string = 'fd-tab-panel' + tabPanelUniqueId++;\n\n /** Aria-label of the tab. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Id of the element that labels the tab. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** The title of tab, depending on mode used, it will be placed in different position */\n @Input()\n title: Nullable<string>;\n\n /** The count of tab, depending on mode used, it will be placed in different position */\n @Input()\n count: Nullable<string>;\n\n /** Glyph icon, it can be used only on */\n @Input()\n glyph: string;\n\n /** Glyph icon, it can be used only on */\n @Input()\n header = false;\n\n /** Disabled state for tab item */\n @Input()\n disabled = false;\n\n /** Semantic type of the tab item */\n @Input()\n tabState: Nullable<TabItemState>;\n\n /** Event that is emitted when the tab panel has been opened. */\n @Output()\n opened = new EventEmitter<void>();\n\n /** Event that is emitted when the tab panel has been closed. */\n @Output()\n closed = new EventEmitter<void>();\n\n /** @hidden */\n @ContentChild(TabTitleDirective, { read: TemplateRef })\n titleTemplate: TemplateRef<any>;\n\n /** @hidden Event that is emitted when the tab panel . */\n _expandedStateChange = new Subject<TabPanelStateChange>();\n\n /** @hidden */\n _forcedVisibility = false;\n\n /** @hidden */\n @HostBinding('class.is-expanded')\n _expandedClass = false;\n\n /** @hidden Whether to display tab panel content */\n private _expanded = false;\n\n /** @hidden */\n get _panelId(): string {\n return this.id + '-panel';\n }\n\n /** @hidden */\n constructor(\n public elementRef: ElementRef,\n private _changeDetRef: ChangeDetectorRef,\n private _ngZone: NgZone,\n @Optional() @Inject(LIST_COMPONENT) private readonly _tabsComponent: TabListComponentInterface | null\n ) {}\n\n /** @hidden\n * Thanks to OnPush change strategy detection on tab-list parent component,\n * every change of any property should be reported. */\n ngOnChanges(): void {\n this._tabsComponent?.tabPanelPropertyChanged.next();\n }\n\n /** Whether tab panel content is expanded */\n get expanded(): boolean {\n return this._expanded;\n }\n\n /** Whether to expand tab panel content */\n open(open: boolean): void {\n this._expandedStateChange.next(new TabPanelStateChange(this, open));\n }\n\n /** @hidden Set new expand state */\n _expand(expanded: boolean): void {\n if (this._expanded !== expanded) {\n this._expanded = expanded;\n\n if (expanded) {\n this.opened.emit();\n } else {\n this.closed.emit();\n }\n\n this._changeDetRef.detectChanges();\n\n this._ngZone.onStable.pipe(first()).subscribe(() => this._updateHost());\n }\n }\n\n /** @hidden */\n private _updateHost(): void {\n this._expandedClass = this.expanded;\n }\n}\n","<ng-container *ngIf=\"expanded\">\n <ng-content></ng-content>\n</ng-container>\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\n/**\n * Represents a list of tab-panels.\n */\n@Component({\n selector: 'fd-item-expand',\n templateUrl: './tab-item-expand.component.html',\n styleUrls: ['./tab-item-expand.component.scss'],\n host: {\n role: 'tab',\n class: 'fd-tabs__item fd-tabs__item--overflow'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TabItemExpandComponent {\n /**\n * @deprecated use i18n capabilities instead\n * @hidden Text visible in the trigger */\n @Input()\n label: string;\n}\n","<a class=\"fd-tabs__link\" role=\"tab\" [attr.tabindex]=\"0\">\n <span *ngIf=\"label || ('coreTabs.tabListExpandButtonText' | fdTranslate) as expandButtonText\" fd-tab-tag>{{\n expandButtonText\n }}</span>\n <fd-icon glyph=\"slim-arrow-down\" aria-label=\"See More\"></fd-icon>\n</a>\n","import { FocusableOption } from '@angular/cdk/a11y';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\nimport { AbstractFdNgxClass, KeyUtil } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Tab link for nav mode\n *\n * ```html\n * <a fd-tab-link>\n * link\n * </a>\n * ```\n */\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-tab-link]',\n host: {\n role: 'tab',\n tabindex: '-1'\n }\n})\nexport class TabLinkDirective extends AbstractFdNgxClass implements FocusableOption {\n /** Whether the link is active */\n @Input()\n @HostBinding('attr.aria-selected')\n active: boolean;\n\n /**\n * Only visual / accessibility thing on tab-nav mode\n * RouterLink does not respect preventDefault/stopPropagation\n */\n @Input()\n @HostBinding('attr.aria-disabled')\n @HostBinding('class.is-disabled')\n disabled: boolean;\n\n /** Event Emitted always when, any keyboard event is dispatched on this element */\n @Output()\n readonly keyDown: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** Event Emitted when item has been focused. */\n @Output()\n readonly focused = new EventEmitter<void>();\n\n /** @hidden */\n _setProperties(): void {\n this._addClassToElement('fd-tabs__link');\n if (this.active) {\n this._addClassToElement('is-selected');\n }\n }\n\n /** @hidden */\n constructor(public elementRef: ElementRef) {\n super(elementRef);\n }\n\n /** @hidden */\n @HostListener('focus')\n private _onFocus(): void {\n this.focused.emit();\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n private _onKeyUp(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this.focused.emit();\n }\n }\n\n /** @hidden */\n focus(): void {\n this.elementRef.nativeElement.focus();\n }\n}\n","import { ContentChild, Directive, ElementRef, HostBinding, Input, OnChanges, OnInit } from '@angular/core';\nimport { applyCssClass, CssClassBuilder } from '@fundamental-ngx/cdk/utils';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { TabLinkDirective } from '../tab-link/tab-link.directive';\n\nexport type TabItemState = 'success' | 'error' | 'warning' | 'information' | 'neutral';\n\n/**\n * Tab Item is optional wrapper for Tab link\n *\n * ```html\n * <div fd-tab-item>\n * <a fd-tab-link>\n * link\n * </a>\n * </div>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-tab-item]'\n})\nexport class TabItemDirective implements CssClassBuilder, OnChanges, OnInit {\n /** Apply user custom styles */\n @Input()\n class = '';\n\n /** Semantic type of the tab item */\n @Input()\n tabItemState: Nullable<TabItemState>;\n\n /** This should be used only on `filterMode`. Flag should be enable for first item */\n @Input()\n header: boolean;\n\n /** Disabled state for tab item */\n @Input()\n @HostBinding('attr.aria-disabled')\n @HostBinding('class.is-disabled')\n disabled = false;\n\n /** Defines if there will be added fd-tabs__item class. Enabled by default. */\n @Input()\n fdTabItemClass = true;\n\n /** @hidden */\n @ContentChild(TabLinkDirective)\n linkItem: TabLinkDirective;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n this.fdTabItemClass ? 'fd-tabs__item' : '',\n this.header ? 'fd-tabs__item--header' : '',\n this.tabItemState ? `fd-tabs__item--${this.tabItemState}` : '',\n this.class\n ];\n }\n}\n","import { TemplateRef } from '@angular/core';\n\nimport { TabPanelComponent } from '../tab-panel/tab-panel.component';\nimport { TabItemState } from '../tab-item/tab-item.directive';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/** @hidden */\nexport class TabInfo {\n /** Whether the tab is active */\n active: boolean;\n\n /** @hidden Width of the tab header */\n headerWidth: number;\n\n /** Corresponding tab panel */\n panel: TabPanelComponent;\n\n /** @hidden */\n constructor(tabPanel: TabPanelComponent) {\n this.panel = tabPanel;\n this.active = tabPanel.expanded;\n }\n\n /** Tab header title */\n get title(): Nullable<string> {\n return this.panel.title;\n }\n\n /** Whether the tab is disabled */\n get disabled(): boolean {\n return this.panel.disabled;\n }\n\n /** Whether the tab is tab header */\n get isHeader(): boolean {\n return this.panel.header;\n }\n\n /** @hidden */\n get id(): Nullable<string> {\n return this.panel.id;\n }\n\n /** @hidden */\n get ariaLabel(): Nullable<string> {\n return this.panel.ariaLabel;\n }\n\n /** @hidden */\n get ariaLabelledBy(): Nullable<string> {\n return this.panel.ariaLabelledBy;\n }\n\n /** @hidden */\n get tabState(): Nullable<TabItemState> {\n return this.panel.tabState;\n }\n\n /** @hidden */\n get titleTemplate(): TemplateRef<any> {\n return this.panel.titleTemplate;\n }\n\n /** @hidden */\n get count(): Nullable<string> {\n return this.panel.count;\n }\n\n /** @hidden */\n get glyph(): string {\n return this.panel.glyph;\n }\n\n /** @hidden */\n get forcedVisibility(): boolean {\n return this.panel._forcedVisibility;\n }\n\n /** @hidden */\n get panelId(): string {\n return this.panel._panelId;\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n Output,\n QueryList,\n ViewChild,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { OverflowLayoutComponent } from '@fundamental-ngx/core/overflow-layout';\nimport { fromEvent, merge, Observable, Subject, Subscription } from 'rxjs';\nimport { debounceTime, delay, filter, first, map, startWith, switchMap, takeUntil } from 'rxjs/operators';\nimport { DestroyedService, KeyUtil, scrollTop } from '@fundamental-ngx/cdk/utils';\nimport { TabItemExpandComponent } from './tab-item-expand/tab-item-expand.component';\nimport { TabLinkDirective } from './tab-link/tab-link.directive';\nimport { TabItemDirective } from './tab-item/tab-item.directive';\nimport { TabPanelComponent } from './tab-panel/tab-panel.component';\nimport { TabInfo } from './tab-utils/tab-info.class';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { MenuComponent } from '@fundamental-ngx/core/menu';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { LIST_COMPONENT } from './tab-list.token';\nimport { TabListComponentInterface } from './tab-list-component.interface';\n\nexport type TabModes = 'icon-only' | 'process' | 'filter';\n\nexport type TabSizes = 's' | 'm' | 'l' | 'xl' | 'xxl';\n\n/**\n * Represents a list of tab-panels.\n */\n@Component({\n selector: 'fd-tab-list',\n templateUrl: './tab-list.component.html',\n styleUrls: ['./tab-list.component.scss'],\n host: {\n class: 'fd-tabs-custom'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n contentDensityObserverProviders(),\n DestroyedService,\n {\n provide: LIST_COMPONENT,\n useExisting: forwardRef(() => TabListComponent)\n }\n ]\n})\nexport class TabListComponent implements TabListComponentInterface, AfterContentInit, AfterViewInit, OnDestroy {\n /** Size of tab, it's mostly about adding spacing on tab container, available sizes 's' | 'm' | 'l' | 'xl' | 'xxl' */\n @Input()\n size: TabSizes = 'm';\n\n /**\n * Whether user wants to use tab component in certain mode. Modes available:\n * 'icon-only' | 'process' | 'filter'\n */\n @Input()\n mode: TabModes;\n\n /** Whether to move tabs overflowing in the tab bar to the dropdown */\n @Input()\n collapseOverflow = true;\n\n /** Limits the maximum number of tabs visible in the tab bar in collapseOverflow mode.\n * Other tabs will be moved to the collapsed tabs dropdown */\n @Input()\n maxVisibleTabs = Infinity;\n\n /** Whether to open tab content one under another without collapsing */\n @Input()\n stackContent = false;\n\n /** Maximum height of the content */\n @Input()\n maxContentHeight = '100%';\n\n /** Whether to enable collapsing expanded tab on expanded tab click */\n @Input()\n collapsibleTabs = false;\n\n /**\n * @deprecated use i18n capabilities instead\n * Text visible in expand overflow trigger\n */\n @Input()\n expandOverflowText: string;\n\n /** Initially selected tab (by id). First not disabled one if not specified. */\n @Input()\n defaultTab: Nullable<string>;\n\n /** Whether to try to keep selected tab (default value) on tabs change or to select default one (first if not specified). */\n @Input()\n selectDefaultOnTabsChange = false;\n\n /** Event emitted when the selected panel changes. */\n @Output()\n selectedTabChange = new EventEmitter<TabPanelComponent>();\n\n /** Event emitted when visible items count has been changed. */\n @Output()\n visibleItemsCount = new EventEmitter<number>();\n\n /** Event emitted when hidden items count has been changed. */\n @Output()\n hiddenItemsCount = new EventEmitter<number>();\n\n /** @hidden */\n @ContentChildren(forwardRef(() => TabPanelComponent))\n tabPanels: QueryList<TabPanelComponent>;\n\n /** @hidden */\n @ViewChildren(TabLinkDirective)\n tabHeaderLinks: QueryList<TabLinkDirective>;\n\n /** @hidden */\n @ViewChildren(TabItemDirective)\n tabHeaders: QueryList<TabItemDirective>;\n\n /** @hidden */\n @ViewChild(TabItemExpandComponent, { read: ElementRef })\n overflowTrigger: ElementRef;\n\n /** @hidden */\n @ViewChild('headerContainer', { read: ElementRef })\n headerContainer: ElementRef;\n\n /** @hidden */\n @ViewChild('contentContainer', { read: ElementRef, static: true })\n contentContainer: ElementRef;\n\n /** @hidden */\n @ViewChild(OverflowLayoutComponent)\n private _overflowLayout: OverflowLayoutComponent;\n\n /** @hidden */\n @ViewChild('menu', { read: MenuComponent })\n menu: MenuComponent;\n\n /** @hidden Collection of tabs in original order */\n _tabArray: TabInfo[];\n\n /** @hidden Whether to disable scroll spy */\n _disableScrollSpy = false;\n\n /** @hidden */\n _init = true;\n\n /** Event is thrown always when tab is selected by keyboard actions */\n readonly tabSelected: Subject<number> = new Subject<number>();\n\n /** Event is thrown always, when some property is changed */\n readonly tabPanelPropertyChanged: Subject<void> = new Subject<void>();\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n private readonly _changeDetectorRef: ChangeDetectorRef,\n private _elRef: ElementRef,\n readonly _contentDensityObserver: ContentDensityObserver,\n private readonly _onDestroy$: DestroyedService\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._setupTabPanelsChangeListeners();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenOnPropertiesChange();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n _tabHeaderClickHandler(tabPanel: TabPanelComponent): void {\n this._expandTab(tabPanel, !tabPanel.expanded);\n }\n\n /** @hidden */\n _tabHeaderKeydownHandler(event: KeyboardEvent, tabPanel: TabPanelComponent): void {\n if (!KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n return;\n }\n\n event.preventDefault();\n this._tabHeaderClickHandler(tabPanel);\n }\n\n /** @hidden */\n _overflowingTabHeaderClickHandler(tabPanel: TabPanelComponent): void {\n this._tabArray.forEach((tab) => {\n tab.panel._forcedVisibility = tab.panel === tabPanel;\n });\n\n this._expandTab(tabPanel, true, false);\n\n this._overflowLayout.triggerRecalculation();\n\n this._detectChanges();\n }\n\n /** @hidden */\n _highlightActiveTab({ id }: HTMLElement): void {\n const tab = this._tabArray.find((_tab) => _tab.panel._panelId === id);\n if (tab) {\n const _tabWasActive = tab.active;\n this._activateStackedTab(tab.panel, false);\n if (!_tabWasActive) {\n this.selectedTabChange.emit(tab.panel);\n }\n }\n }\n\n /** @hidden */\n _onTriggerKeydown(event: KeyboardEvent, menuRef: MenuComponent): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n event.preventDefault();\n menuRef.toggle();\n }\n }\n\n /** @hidden */\n private get _tabPanelsChange$(): Observable<TabPanelComponent[]> {\n return this.tabPanels.changes.pipe(\n startWith(this.tabPanels),\n map((tabPanels) => tabPanels.toArray()),\n takeUntil(this._onDestroy$)\n );\n }\n\n /** @hidden */\n private _detectChanges(): void {\n if (this._changeDetectorRef && !this._changeDetectorRef['destroyed']) {\n this._changeDetectorRef.detectChanges();\n }\n }\n\n /** @hidden */\n private _setupTabPanelsChangeListeners(): void {\n this._listenOnTabPanelsAndUpdateStorageStructures();\n this._initStackContentSubscription();\n this._listenOnTabPanelsExpandedChange();\n this._listenOnTabPanelsAndInitiallyExpandTabPanel();\n }\n\n /** @hidden Setup mechanisms required for handling the stacked content behavior */\n private _initStackContentSubscription(): void {\n this._tabPanelsChange$\n .pipe(\n filter(() => this.stackContent),\n delay(0),\n takeUntil(this._onDestroy$)\n )\n .subscribe(() =>\n this._tabArray.filter((tab) => !tab.panel.disabled).forEach((tab) => tab.panel._expand(true))\n );\n }\n\n /** @hidden */\n private _listenOnTabPanelsAndUpdateStorageStructures(): void {\n this._tabPanelsChange$\n .pipe(\n map((tabPanels) => tabPanels.map((el) => new TabInfo(el))),\n takeUntil(this._onDestroy$)\n )\n .subscribe((tabs) => {\n this._tabArray = tabs;\n });\n }\n\n /** @hidden */\n private _listenOnTabPanelsExpandedChange(): void {\n this._tabPanelsChange$\n .pipe(\n map((tabPanels) => tabPanels.map((tab) => tab._expandedStateChange.asObservable())),\n switchMap((tabPanels) => merge(...tabPanels)),\n takeUntil(this._onDestroy$)\n )\n .subscribe((event) => this._expandTab(event.target, event.state));\n }\n\n /** @hidden */\n private _listenOnTabPanelsAndInitiallyExpandTabPanel(): void {\n this._tabPanelsChange$.pipe(takeUntil(this._onDestroy$)).subscribe(() => {\n const activeTab = this._tabArray.find((_tab) => _tab.active);\n let tab: Nullable<TabInfo>;\n\n if (!activeTab || this.selectDefaultOnTabsChange) {\n if (this.defaultTab) {\n tab = this._tabArray.find((_tab) => !_tab.disabled && _tab.id === this.defaultTab);\n }\n\n if (!tab) {\n tab = this._tabArray.find((_tab) => !_tab.disabled);\n }\n }\n\n if (tab && activeTab !== tab) {\n this._expandTab(tab.panel, true);\n }\n });\n }\n\n /** @hidden */\n private _listenOnPropertiesChange(): void {\n merge(this.tabPanelPropertyChanged, this.tabPanels.changes)\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(() => this._detectChanges());\n }\n\n /** @hidden */\n private _activateStackedTab(tabPanel: TabPanelComponent, scroll = true): void {\n if (scroll) {\n this._scrollToPanel(tabPanel);\n }\n this._tabArray.forEach((tab) => {\n tab.active = tab.panel === tabPanel;\n });\n }\n\n /** @hidden */\n private _activateExpandableTab(tabPanel: TabPanelComponent, expand: boolean): void {\n const collapse = this.collapsibleTabs && !expand;\n\n this._tabArray.forEach((tab) => {\n const isActive = tab.panel === tabPanel && !collapse;\n\n tab.panel._expand(isActive);\n tab.active = isActive;\n });\n }\n\n /** @hidden */\n private _expandTab(tabPanel: TabPanelComponent, expand: boolean, detectChanges = true): void {\n if (this.stackContent) {\n this._activateStackedTab(tabPanel);\n } else {\n if (!this._canChangeExpandState(tabPanel, expand)) {\n return;\n }\n\n this._activateExpandableTab(tabPanel, expand);\n }\n\n if (detectChanges) {\n this._detectChanges();\n }\n\n this.selectedTabChange.emit(tabPanel);\n }\n\n /** @hidden */\n private _scrollToPanel(tabPanel: TabPanelComponent): void {\n const panelElement = tabPanel.elementRef.nativeElement;\n const containerElement = this.contentContainer.nativeElement;\n const distanceToScroll = panelElement.offsetTop - containerElement.offsetTop;\n const maximumScrollTop = containerElement.scrollHeight - containerElement.clientHeight;\n const currentScrollPosition = Math.ceil(containerElement.scrollTop);\n\n if (!(currentScrollPosition === maximumScrollTop && distanceToScroll > maximumScrollTop)) {\n !this._init ? (this._disableScrollSpy = true) : (this._init = false);\n fromEvent(containerElement, 'scroll')\n .pipe(debounceTime(100), first(), takeUntil(this._onDestroy$))\n .subscribe(() => (this._disableScrollSpy = false));\n scrollTop(containerElement, distanceToScroll);\n }\n }\n\n /** @hidden Whether tab can be expanded/collapsed */\n private _canChangeExpandState(tabPanel: TabPanelComponent, expand: boolean): boolean {\n return !tabPanel.disabled && expand !== tabPanel.expanded && expand === false ? this.collapsibleTabs : true;\n }\n}\n","<div #headerContainer role=\"tablist\" class=\"fd-tabs\" [class]=\"(mode ? 'fd-tabs--' + mode : '') + (' fd-tabs--' + size)\">\n <fd-overflow-layout\n [maxVisibleItems]=\"maxVisibleTabs\"\n [enableKeyboardNavigation]=\"true\"\n navigationTrigger=\"keydown\"\n (hiddenItemsCount)=\"hiddenItemsCount.emit($event)\"\n (visibleItemsCount)=\"visibleItemsCount.emit($event)\"\n >\n <ng-container *ngFor=\"let tab of _tabArray; let i = index; let last = last\">\n <div\n fd-tab-item\n *fdOverflowItemRef=\"tab\"\n fdOverflowLayoutItem\n [forceVisibility]=\"tab.panel._forcedVisibility\"\n [header]=\"tab.isHeader\"\n [tabItemState]=\"tab.tabState\"\n >\n <a\n fd-tab-link\n role=\"tab\"\n [id]=\"tab.id\"\n [attr.aria-controls]=\"tab.panelId\"\n [attr.aria-label]=\"tab.ariaLabel || null\"\n [attr.aria-labelledby]=\"!tab.ariaLabel && tab.ariaLabelledBy ? tab.ariaLabelledBy : null\"\n fdOverflowLayoutFocusableItem\n [focusable]=\"tab.active\"\n [navigable]=\"!tab.disabled\"\n [active]=\"tab.active\"\n [disabled]=\"tab.disabled\"\n (keydown)=\"_tabHeaderKeydownHandler($event, tab.panel)\"\n (click)=\"_tabHeaderClickHandler(tab.panel)\"\n >\n <ng-container *ngTemplateOutlet=\"tab.titleTemplate || null\"></ng-container>\n\n <ng-container *ngIf=\"!tab.titleTemplate\" [ngSwitch]=\"mode\">\n <ng-container *ngSwitchCase=\"'filter'\">\n <span fd-tab-header *ngIf=\"tab.isHeader\">\n <span fd-tab-counter-header *ngIf=\"tab.count\">{{ tab.count }}</span>\n <span fd-tab-label *ngIf=\"tab.title\">{{ tab.title }}</span>\n </span>\n <ng-container *ngIf=\"!tab.isHeader\">\n <span fd-tab-icon [icon]=\"tab.glyph\">\n <p fd-tab-count>{{ tab.count }}</p>\n </span>\n <span fd-tab-label>{{ tab.title }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'icon-only'\">\n <span fd-tab-icon [icon]=\"tab.glyph\">\n <p fd-tab-count>{{ tab.count }}</p>\n </span>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'process'\">\n <span fd-tab-icon *ngIf=\"tab.glyph\" [icon]=\"tab.glyph\"></span>\n <div fd-tab-process>\n <span fd-tab-label *ngIf=\"tab.count\">{{ tab.count }}</span>\n <span fd-tab-label *ngIf=\"tab.title\">{{ tab.title }}</span>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <p fd-tab-count *ngIf=\"tab.count\">{{ tab.count }}</p>\n <span fd-tab-tag>{{ tab.title }}</span>\n </ng-container>\n </ng-container>\n </a>\n\n <div fd-tab-process-icon *ngIf=\"mode === 'process' && !last\"></div>\n </div>\n\n <div *ngIf=\"tab.isHeader\" fd-tab-separator></div>\n </ng-container>\n\n <ng-container *fdOverflowExpand=\"let tabs; items: _tabArray\">\n <fd-item-expand\n [fdMenuTrigger]=\"menu\"\n [label]=\"expandOverflowText\"\n *ngIf=\"tabs.length > 0\"\n (keydown)=\"_onTriggerKeydown($event, menu)\"\n >\n </fd-item-expand>\n\n <fd-menu #menu>\n <li\n fd-menu-item\n *ngFor=\"let tab of tabs\"\n (onSelect)=\"_overflowingTabHeaderClickHandler(tab.item.panel)\"\n >\n <div fd-menu-interactive>\n <ng-container\n *ngTemplateOutlet=\"\n !tab.item.titleTemplate && mode === 'icon-only'\n ? iconOnlyTemplate\n : tab.item.titleTemplate || textTitle;\n context: { $implicit: tab.item }\n \"\n ></ng-container>\n </div>\n </li>\n </fd-menu>\n </ng-container>\n </fd-overflow-layout>\n</div>\n\n<div\n #contentContainer\n class=\"fd-tabs__content\"\n [style.maxHeight]=\"maxContentHeight\"\n fdScrollSpy\n fd-scrollbar\n [trackedTags]=\"['fd-tab']\"\n [scrollSpyDisabled]=\"_disableScrollSpy\"\n (spyChange)=\"_highlightActiveTab($event)\"\n>\n <ng-content></ng-content>\n</div>\n\n<ng-template #textTitle let-tab>\n <span fd-menu-title>{{ tab.title }}</span>\n</ng-template>\n\n<ng-template #iconOnlyTemplate let-tab>\n <span fd-tab-icon [icon]=\"tab.glyph\">\n <p fd-tab-count>{{ tab.count }}</p>\n </span>\n</ng-template>\n","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { TabLinkDirective } from '../tab-link/tab-link.directive';\nimport { TabItemDirective } from '../tab-item/tab-item.directive';\nimport { merge, Subject, Subscription } from 'rxjs';\nimport { TabModes, TabSizes } from '../tab-list.component';\nimport { takeUntil } from 'rxjs/operators';\nimport { applyCssClass, CssClassBuilder, KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-tab-nav]',\n template: ` <ng-content></ng-content>`,\n providers: [contentDensityObserverProviders()],\n styleUrls: ['./tab-nav.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TabNavComponent implements AfterContentInit, OnChanges, OnInit, OnDestroy, CssClassBuilder {\n /** Apply user custom styles */\n @Input()\n class: string;\n\n /**\n * Whether user wants to use tab component in certain mode. Modes available:\n * 'icon-only' | 'process' | 'filter'\n */\n @Input()\n mode: TabModes;\n\n /** Size of tab, it's mostly about adding spacing on tab container, available sizes 's' | 'm' | 'l' | 'xl' | 'xxl' */\n @Input()\n size: TabSizes = 'm';\n\n /** @hidden */\n @ContentChildren(TabLinkDirective, { descendants: true })\n links: QueryList<TabLinkDirective>;\n\n /** @hidden */\n @ContentChildren(TabItemDirective, { descendants: true })\n items: QueryList<TabItemDirective>;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n private _keyboardEventsManager: FocusKeyManager<TabLinkDirective>;\n\n /** @hidden */\n private _dir: 'ltr' | 'rtl' = this._rtlService?.rtl.value ? 'rtl' : 'ltr';\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n private readonly _contentDensityObserver: ContentDensityObserver,\n @Optional() private readonly _rtlService: RtlService\n ) {\n this._contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._setupKeyManager();\n this._refreshSubscription();\n this._listenOnContentQueryListChange();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n this._onDestroy$.next();\n this._onDestroy$.complete();\n this._keyboardEventsManager?.destroy();\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [`fd-tabs`, this.mode ? 'fd-tabs--' + this.mode : '', `fd-tabs--${this.size}`, this.class];\n }\n\n /** Function that gives possibility to get all the link directives, with and without nav__item wrapper */\n get tabLinks(): TabLinkDirective[] {\n let tabLinks: TabLinkDirective[] = [];\n if (this.links) {\n tabLinks = tabLinks.concat(this.links.map((link) => link));\n }\n if (this.items) {\n tabLinks = tabLinks.concat(this.items.filter((item) => !!item.linkItem).map((item) => item.linkItem));\n }\n return tabLinks;\n }\n\n /**\n * Function to select a new tab from an index.\n * @param tabIndex Index of the tab to select.\n */\n selectTab(tabIndex: number): void {\n this.tabLinks[tabIndex].elementRef.nativeElement.click();\n }\n\n /**\n * @hidden\n * Every time any of query is changed, ex. tab is removed or added\n * reference to keydown subscriptions handler is renewed\n */\n private _listenOnContentQueryListChange(): void {\n merge(this.links.changes, this.items.changes)\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(() => this._refreshSubscription());\n }\n\n /** Whether any QueryList detects any changes */\n private _refreshSubscription(): void {\n this._subscriptions.unsubscribe();\n this._subscriptions = new Subscription();\n this._listenToFocusedLinks();\n\n this.links.changes.pipe(takeUntil(this._onDestroy$)).subscribe(() => {\n this._listenToFocusedLinks();\n });\n }\n\n /** @hidden */\n private _listenToFocusedLinks(): void {\n const links = this.links.toArray();\n links.forEach((link) => {\n this._subscriptions.add(\n link.focused.subscribe(() => {\n this._keyboardEventsManager.setActiveItem(links.findIndex((item) => item === link));\n })\n );\n });\n }\n\n /** @hidden */\n private _setupKeyManager(): void {\n this._keyboardEventsManager?.destroy();\n this._keyboardEventsManager = new FocusKeyManager(this.links).withWrap().withHorizontalOrientation(this._dir);\n\n this._rtlService?.rtl.pipe(takeUntil(this._onDestroy$)).subscribe((isRtl) => {\n this._keyboardEventsManager.withHorizontalOrientation(isRtl ? 'rtl' : 'ltr');\n });\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n private _keyUpHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [LEFT_ARROW, RIGHT_ARROW])) {\n this._keyboardEventsManager.onKeydown(event);\n }\n }\n}\n","import { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\nimport { Directive, forwardRef } from '@angular/core';\n\n@Directive({\n selector: '[fd-tab-nav][compact], fd-tab-list[compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedTabsCompactDirective)\n }\n ]\n})\nexport class DeprecatedTabsCompactDirective extends DeprecatedCompactDirective {\n /** @hidden */\n constructor() {\n super('[fd-tab-nav][compact], fd-tab-list');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverflowLayoutModule } from '@fundamental-ngx/core/overflow-layout';\n\nimport { TabPanelComponent } from './tab-panel/tab-panel.component';\nimport { TabListComponent } from './tab-list.component';\n\nimport {\n TabCountDirective,\n TabCounterHeaderDirective,\n TabHeaderDirective,\n TabIconComponent,\n TabLabelDirective,\n TabProcessDirective,\n TabProcessIconDirective,\n TabSeparatorDirective,\n TabTagDirective,\n TabTitleDirective\n} from './tab-utils/tab-directives';\nimport { TabNavComponent } from './tab-nav/tab-nav.component';\nimport { TabLinkDirective } from './tab-link/tab-link.directive';\nimport { TabItemDirective } from './tab-item/tab-item.directive';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { ListModule } from '@fundamental-ngx/core/list';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { I18nModule } from '@fundamental-ngx/i18n';\nimport { MenuModule } from '@fundamental-ngx/core/menu';\nimport { ScrollSpyModule } from '@fundamental-ngx/core/scroll-spy';\nimport { TabItemExpandComponent } from './tab-item-expand/tab-item-expand.component';\nimport { DeprecatedTabsCompactDirective } from './deprecated-tabs-compact.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { ScrollbarModule } from '@fundamental-ngx/core/scrollbar';\n\n@NgModule({\n declarations: [\n TabListComponent,\n TabPanelComponent,\n TabTitleDirective,\n TabNavComponent,\n TabLinkDirective,\n TabItemDirective,\n TabTagDirective,\n TabIconComponent,\n TabCountDirective,\n TabLabelDirective,\n TabProcessDirective,\n TabHeaderDirective,\n TabItemExpandComponent,\n TabCounterHeaderDirective,\n TabProcessIconDirective,\n TabSeparatorDirective,\n DeprecatedTabsCompactDirective\n ],\n imports: [\n CommonModule,\n IconModule,\n PopoverModule,\n ListModule,\n ButtonModule,\n MenuModule,\n ScrollSpyModule,\n ContentDensityModule,\n I18nModule,\n OverflowLayoutModule,\n ScrollbarModule\n ],\n exports: [\n TabListComponent,\n TabPanelComponent,\n TabTitleDirective,\n TabNavComponent,\n TabItemDirective,\n TabLinkDirective,\n TabTagDirective,\n TabIconComponent,\n TabCountDirective,\n TabLabelDirective,\n TabProcessDirective,\n TabHeaderDirective,\n TabCounterHeaderDirective,\n TabProcessIconDirective,\n TabSeparatorDirective,\n DeprecatedTabsCompactDirective,\n ContentDensityModule\n ]\n})\nexport class TabsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i3.TabTagDirective","first","i2","i4","i8.TabLinkDirective","i9.TabItemDirective","i10.TabTagDirective","i10.TabIconComponent","i10.TabCountDirective","i10.TabLabelDirective","i10.TabProcessDirective","i10.TabHeaderDirective","i11.TabItemExpandComponent","i10.TabCounterHeaderDirective","i10.TabProcessIconDirective","i10.TabSeparatorDirective"],"mappings":"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"}
@@ -48,7 +48,7 @@ class TileComponent {
48
48
  ];
49
49
  }
50
50
  /** @hidden */
51
- elementRef() {
51
+ get elementRef() {
52
52
  return this.ref;
53
53
  }
54
54
  }
@@ -292,8 +292,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
292
292
  }] } });
293
293
  class TileRefreshDirective {
294
294
  /** @hidden */
295
- constructor(_elementRef) {
296
- this._elementRef = _elementRef;
295
+ constructor(elementRef) {
296
+ this.elementRef = elementRef;
297
297
  /** Apply user custom styles */
298
298
  this.ariaLabel = 'Refresh';
299
299
  }
@@ -313,10 +313,6 @@ class TileRefreshDirective {
313
313
  buildComponentCssClass() {
314
314
  return ['fd-tile__refresh', this.glyph ? 'sap-icon--' + this.glyph : '', this.class];
315
315
  }
316
- /** @hidden */
317
- elementRef() {
318
- return this._elementRef;
319
- }
320
316
  }
321
317
  TileRefreshDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TileRefreshDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
322
318
  TileRefreshDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: TileRefreshDirective, selector: "[fdTileRefresh], [fd-tile-refresh]", inputs: { glyph: "glyph", class: "class", ariaLabel: "ariaLabel" }, host: { properties: { "attr.aria-label": "this.ariaLabel" } }, usesOnChanges: true, ngImport: i0 });
@@ -532,8 +528,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
532
528
  }] } });
533
529
  class TileActionCloseDirective {
534
530
  /** @hidden */
535
- constructor(_elementRef) {
536
- this._elementRef = _elementRef;
531
+ constructor(elementRef) {
532
+ this.elementRef = elementRef;
537
533
  }
538
534
  /** @hidden */
539
535
  ngOnChanges() {
@@ -553,13 +549,9 @@ class TileActionCloseDirective {
553
549
  return ['fd-tile__action-close', this.class];
554
550
  }
555
551
  /** @hidden */
556
- elementRef() {
557
- return this._elementRef;
558
- }
559
- /** @hidden */
560
552
  _addCloseIcon() {
561
553
  const element = generateIcon('decline');
562
- this._elementRef.nativeElement.appendChild(element);
554
+ this.elementRef.nativeElement.appendChild(element);
563
555
  }
564
556
  }
565
557
  TileActionCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TileActionCloseDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
@@ -580,8 +572,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
580
572
  }], buildComponentCssClass: [] } });
581
573
  class TileActionIndicatorDirective {
582
574
  /** @hidden */
583
- constructor(_elementRef) {
584
- this._elementRef = _elementRef;
575
+ constructor(elementRef) {
576
+ this.elementRef = elementRef;
585
577
  }
586
578
  /** @hidden */
587
579
  ngOnChanges() {
@@ -601,13 +593,9 @@ class TileActionIndicatorDirective {
601
593
  return ['fd-tile__action-indicator', this.class];
602
594
  }
603
595
  /** @hidden */
604
- elementRef() {
605
- return this._elementRef;
606
- }
607
- /** @hidden */
608
596
  _addIndicatorIcon() {
609
597
  const element = generateIcon('overflow');
610
- this._elementRef.nativeElement.appendChild(element);
598
+ this.elementRef.nativeElement.appendChild(element);
611
599
  }
612
600
  }
613
601
  TileActionIndicatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TileActionIndicatorDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
@@ -652,8 +640,8 @@ function generateIcon(iconName) {
652
640
 
653
641
  class NumericContentDirective {
654
642
  /** @hidden */
655
- constructor(_elementRef) {
656
- this._elementRef = _elementRef;
643
+ constructor(elementRef) {
644
+ this.elementRef = elementRef;
657
645
  /** @hidden */
658
646
  this.baseClass = true;
659
647
  }
@@ -679,15 +667,11 @@ class NumericContentDirective {
679
667
  ];
680
668
  }
681
669
  /** @hidden */
682
- elementRef() {
683
- return this._elementRef;
684
- }
685
- /** @hidden */
686
670
  _isSmallTile() {
687
671
  let retVal = false;
688
- if (this._elementRef.nativeElement.parentElement &&
689
- this._elementRef.nativeElement.parentElement.parentElement &&
690
- this._elementRef.nativeElement.parentElement.parentElement.classList.contains('fd-tile--s')) {
672
+ if (this.elementRef.nativeElement.parentElement &&
673
+ this.elementRef.nativeElement.parentElement.parentElement &&
674
+ this.elementRef.nativeElement.parentElement.parentElement.classList.contains('fd-tile--s')) {
691
675
  retVal = true;
692
676
  }
693
677
  return retVal;
@@ -735,8 +719,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
735
719
  }] } });
736
720
  class NumericContentLaunchIconDirective {
737
721
  /** @hidden */
738
- constructor(_elementRef) {
739
- this._elementRef = _elementRef;
722
+ constructor(elementRef) {
723
+ this.elementRef = elementRef;
740
724
  }
741
725
  /** @hidden */
742
726
  ngOnChanges() {
@@ -754,10 +738,6 @@ class NumericContentLaunchIconDirective {
754
738
  buildComponentCssClass() {
755
739
  return ['fd-numeric-content__launch-icon', this.glyph ? 'sap-icon--' + this.glyph : '', this.class];
756
740
  }
757
- /** @hidden */
758
- elementRef() {
759
- return this._elementRef;
760
- }
761
741
  }
762
742
  NumericContentLaunchIconDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NumericContentLaunchIconDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
763
743
  NumericContentLaunchIconDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: NumericContentLaunchIconDirective, selector: "[fd-numeric-content-launch-icon]", inputs: { class: "class", glyph: "glyph" }, usesOnChanges: true, ngImport: i0 });
@@ -798,8 +778,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
798
778
  }] } });
799
779
  class NumericContentKpiDirective {
800
780
  /** @hidden */
801
- constructor(_elementRef) {
802
- this._elementRef = _elementRef;
781
+ constructor(elementRef) {
782
+ this.elementRef = elementRef;
803
783
  }
804
784
  /** @hidden */
805
785
  ngOnChanges() {
@@ -817,10 +797,6 @@ class NumericContentKpiDirective {
817
797
  buildComponentCssClass() {
818
798
  return ['fd-numeric-content__kpi', this.state ? 'fd-numeric-content__kpi--' + this.state : '', this.class];
819
799
  }
820
- /** @hidden */
821
- elementRef() {
822
- return this._elementRef;
823
- }
824
800
  }
825
801
  NumericContentKpiDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NumericContentKpiDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
826
802
  NumericContentKpiDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: NumericContentKpiDirective, selector: "[fd-numeric-content-kpi]", inputs: { state: "state", class: "class", glyph: "glyph" }, usesOnChanges: true, ngImport: i0 });
@@ -863,8 +839,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
863
839
  }] } });
864
840
  class NumericContentScaleArrowDirective {
865
841
  /** @hidden */
866
- constructor(_elementRef) {
867
- this._elementRef = _elementRef;
842
+ constructor(elementRef) {
843
+ this.elementRef = elementRef;
868
844
  }
869
845
  /** @hidden */
870
846
  ngOnChanges() {
@@ -882,10 +858,6 @@ class NumericContentScaleArrowDirective {
882
858
  buildComponentCssClass() {
883
859
  return ['fd-numeric-content__scale-arrow', this.glyph ? 'sap-icon--' + this.glyph : '', this.class];
884
860
  }
885
- /** @hidden */
886
- elementRef() {
887
- return this._elementRef;
888
- }
889
861
  }
890
862
  NumericContentScaleArrowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NumericContentScaleArrowDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
891
863
  NumericContentScaleArrowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: NumericContentScaleArrowDirective, selector: "[fd-numeric-content-scale-arrow]", inputs: { class: "class", glyph: "glyph" }, usesOnChanges: true, ngImport: i0 });
@@ -908,8 +880,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
908
880
  }], buildComponentCssClass: [] } });
909
881
  class NumericContentScaleDirective {
910
882
  /** @hidden */
911
- constructor(_elementRef) {
912
- this._elementRef = _elementRef;
883
+ constructor(elementRef) {
884
+ this.elementRef = elementRef;
913
885
  }
914
886
  /** @hidden */
915
887
  ngOnChanges() {
@@ -927,10 +899,6 @@ class NumericContentScaleDirective {
927
899
  buildComponentCssClass() {
928
900
  return ['fd-numeric-content__scale', this.state ? 'fd-numeric-content__scale--' + this.state : '', this.class];
929
901
  }
930
- /** @hidden */
931
- elementRef() {
932
- return this._elementRef;
933
- }
934
902
  }
935
903
  NumericContentScaleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NumericContentScaleDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
936
904
  NumericContentScaleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: NumericContentScaleDirective, selector: "[fd-numeric-content-scale]", inputs: { state: "state", class: "class" }, usesOnChanges: true, ngImport: i0 });