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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (824) hide show
  1. package/carousel/carousel.component.d.ts +4 -2
  2. package/dialog/dialog-container/dialog-container.component.d.ts +4 -2
  3. package/esm2020/action-bar/action-bar-actions/action-bar-actions.directive.mjs +3 -3
  4. package/esm2020/action-bar/action-bar-back/action-bar-back.directive.mjs +3 -3
  5. package/esm2020/action-bar/action-bar-description/action-bar-description.directive.mjs +3 -3
  6. package/esm2020/action-bar/action-bar-header/action-bar-header.directive.mjs +3 -3
  7. package/esm2020/action-bar/action-bar-mobile/action-bar-mobile.directive.mjs +3 -3
  8. package/esm2020/action-bar/action-bar-title/action-bar-title.component.mjs +3 -3
  9. package/esm2020/action-bar/action-bar.component.mjs +3 -3
  10. package/esm2020/action-bar/action-bar.module.mjs +4 -4
  11. package/esm2020/action-sheet/action-sheet-body/action-sheet-body.component.mjs +3 -3
  12. package/esm2020/action-sheet/action-sheet-control/action-sheet-control.component.mjs +3 -3
  13. package/esm2020/action-sheet/action-sheet-item/action-sheet-item.component.mjs +3 -3
  14. package/esm2020/action-sheet/action-sheet-mobile/action-sheet-mobile.component.mjs +3 -3
  15. package/esm2020/action-sheet/action-sheet-mobile/action-sheet-mobile.module.mjs +4 -4
  16. package/esm2020/action-sheet/action-sheet.component.mjs +3 -3
  17. package/esm2020/action-sheet/action-sheet.module.mjs +4 -4
  18. package/esm2020/action-sheet/deprecated-action-sheet-compact.directive.mjs +3 -3
  19. package/esm2020/alert/alert-service/alert.service.mjs +3 -3
  20. package/esm2020/alert/alert-utils/alert-container.component.mjs +3 -3
  21. package/esm2020/alert/alert.component.mjs +3 -3
  22. package/esm2020/alert/alert.module.mjs +4 -4
  23. package/esm2020/avatar/avatar.component.mjs +3 -3
  24. package/esm2020/avatar/avatar.module.mjs +4 -4
  25. package/esm2020/avatar-group/avatar-group.component.mjs +3 -3
  26. package/esm2020/avatar-group/avatar-group.module.mjs +4 -4
  27. package/esm2020/avatar-group/directives/avatar-group-focusable-avatar.directive.mjs +3 -3
  28. package/esm2020/avatar-group/directives/avatar-group-item.directive.mjs +3 -3
  29. package/esm2020/avatar-group/directives/avatar-group-overflow-body.directive.mjs +3 -3
  30. package/esm2020/avatar-group/directives/avatar-group-overflow-button-text.directive.mjs +3 -3
  31. package/esm2020/avatar-group/directives/avatar-group-overflow-button.directive.mjs +3 -3
  32. package/esm2020/avatar-group/directives/avatar-group-overflow-item.directive.mjs +3 -3
  33. package/esm2020/avatar-group/directives/avatar-group-popover-control.directive.mjs +3 -3
  34. package/esm2020/bar/bar.component.mjs +3 -3
  35. package/esm2020/bar/bar.module.mjs +4 -4
  36. package/esm2020/bar/button-bar/button-bar.component.mjs +3 -3
  37. package/esm2020/bar/deprecated-bar-button-content-density.directive.mjs +3 -3
  38. package/esm2020/bar/deprecated-bar-content-density.directive.mjs +3 -3
  39. package/esm2020/bar/directives/bar-element.directive.mjs +3 -3
  40. package/esm2020/bar/directives/bar-left.directive.mjs +3 -3
  41. package/esm2020/bar/directives/bar-middle.directive.mjs +3 -3
  42. package/esm2020/bar/directives/bar-right.directive.mjs +3 -3
  43. package/esm2020/breadcrumb/breadcrumb-item.component.mjs +3 -3
  44. package/esm2020/breadcrumb/breadcrumb.component.mjs +3 -3
  45. package/esm2020/breadcrumb/breadcrumb.module.mjs +4 -4
  46. package/esm2020/breadcrumb/deprecated-breadcrumbs-compact.directive.mjs +3 -3
  47. package/esm2020/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.mjs +3 -3
  48. package/esm2020/busy-indicator/busy-indicator.component.mjs +3 -3
  49. package/esm2020/busy-indicator/busy-indicator.module.mjs +4 -4
  50. package/esm2020/button/base-button.mjs +3 -3
  51. package/esm2020/button/button.component.mjs +3 -3
  52. package/esm2020/button/button.module.mjs +4 -4
  53. package/esm2020/button/deprecated-button-content-density.directive.mjs +3 -3
  54. package/esm2020/calendar/calendar-directives.mjs +3 -3
  55. package/esm2020/calendar/calendar-header/calendar-header.component.mjs +3 -3
  56. package/esm2020/calendar/calendar-views/calendar-aggregated-year-view/calendar-aggregated-year-view.component.mjs +3 -3
  57. package/esm2020/calendar/calendar-views/calendar-day-view/calendar-day-view.component.mjs +3 -3
  58. package/esm2020/calendar/calendar-views/calendar-month-view/calendar-month-view.component.mjs +3 -3
  59. package/esm2020/calendar/calendar-views/calendar-year-view/calendar-year-view.component.mjs +3 -3
  60. package/esm2020/calendar/calendar.component.mjs +3 -3
  61. package/esm2020/calendar/calendar.module.mjs +4 -4
  62. package/esm2020/calendar/calendar.service.mjs +3 -3
  63. package/esm2020/calendar/deprecated-calendar-content-density.directive.mjs +3 -3
  64. package/esm2020/calendar/i18n/calendar-i18n-labels.mjs +3 -3
  65. package/esm2020/card/card-content.component.mjs +3 -3
  66. package/esm2020/card/card-counter.directive.mjs +3 -3
  67. package/esm2020/card/card-footer-action-item.directive.mjs +3 -3
  68. package/esm2020/card/card-footer.component.mjs +3 -3
  69. package/esm2020/card/card-header.component.mjs +3 -3
  70. package/esm2020/card/card-loader.component.mjs +3 -3
  71. package/esm2020/card/card-second-subtitle.directive.mjs +3 -3
  72. package/esm2020/card/card-subtitle.directive.mjs +3 -3
  73. package/esm2020/card/card-title.directive.mjs +3 -3
  74. package/esm2020/card/card.component.mjs +3 -3
  75. package/esm2020/card/card.module.mjs +4 -4
  76. package/esm2020/card/deprecated-card-content-density.directive.mjs +3 -3
  77. package/esm2020/card/kpi/card-kpi-analytics-content.directive.mjs +3 -3
  78. package/esm2020/card/kpi/card-kpi-analytics-label.directive.mjs +3 -3
  79. package/esm2020/card/kpi/card-kpi-analytics.directive.mjs +3 -3
  80. package/esm2020/card/kpi/card-kpi-header.component.mjs +3 -3
  81. package/esm2020/card/kpi/card-kpi-scale-icon.directive.mjs +3 -3
  82. package/esm2020/card/kpi/card-kpi-scale-text.directive.mjs +3 -3
  83. package/esm2020/card/kpi/card-kpi-value.directive.mjs +3 -3
  84. package/esm2020/carousel/carousel-item/carousel-item.component.mjs +3 -3
  85. package/esm2020/carousel/carousel-item.directive.mjs +3 -3
  86. package/esm2020/carousel/carousel.component.mjs +10 -4
  87. package/esm2020/carousel/carousel.directive.mjs +3 -3
  88. package/esm2020/carousel/carousel.module.mjs +4 -4
  89. package/esm2020/carousel/carousel.service.mjs +3 -3
  90. package/esm2020/checkbox/checkbox/checkbox.component.mjs +3 -3
  91. package/esm2020/checkbox/checkbox.module.mjs +4 -4
  92. package/esm2020/checkbox/deprecated-checkbox-content-density.directive.mjs +3 -3
  93. package/esm2020/combobox/combobox-mobile/combobox-mobile.component.mjs +5 -5
  94. package/esm2020/combobox/combobox-mobile/combobox-mobile.module.mjs +4 -4
  95. package/esm2020/combobox/combobox.component.mjs +4 -4
  96. package/esm2020/combobox/combobox.module.mjs +4 -4
  97. package/esm2020/combobox/deprecated-combobox-content-density.directive.mjs +3 -3
  98. package/esm2020/combobox/list-group.pipe.mjs +3 -3
  99. package/esm2020/content-density/classes/deprecated-compact.directive.mjs +3 -3
  100. package/esm2020/content-density/classes/deprecated-condensed.directive.mjs +3 -3
  101. package/esm2020/content-density/classes/deprecated-content-density.directive.mjs +3 -3
  102. package/esm2020/content-density/classes/deprecated-cozy.directive.mjs +3 -3
  103. package/esm2020/content-density/content-density.module.mjs +4 -4
  104. package/esm2020/content-density/directives/content-density.directive.mjs +3 -3
  105. package/esm2020/content-density/providers/local-content-density-storage.mjs +3 -3
  106. package/esm2020/content-density/providers/memory-content-density-storage.mjs +3 -3
  107. package/esm2020/content-density/providers/url-content-density-storage.mjs +3 -3
  108. package/esm2020/content-density/services/content-density-observer.service.mjs +3 -3
  109. package/esm2020/content-density/services/deprecated-content-density.service.mjs +3 -3
  110. package/esm2020/content-density/services/global-content-density.service.mjs +3 -3
  111. package/esm2020/date-picker/date-picker.component.mjs +3 -3
  112. package/esm2020/date-picker/date-picker.module.mjs +4 -4
  113. package/esm2020/date-picker/deprecated-date-picker-compact.directive.mjs +3 -3
  114. package/esm2020/datetime/datetime-format.pipes.mjs +9 -9
  115. package/esm2020/datetime/fd-datetime-adapter.mjs +3 -3
  116. package/esm2020/datetime/fd-datetime-pipes.module.mjs +4 -4
  117. package/esm2020/datetime/fd-datetime.module.mjs +8 -8
  118. package/esm2020/datetime-picker/datetime-picker.component.mjs +3 -3
  119. package/esm2020/datetime-picker/datetime-picker.module.mjs +4 -4
  120. package/esm2020/datetime-picker/deprecated-date-time-picker-content-density.directive.mjs +3 -3
  121. package/esm2020/dialog/base/dialog-base.class.mjs +3 -3
  122. package/esm2020/dialog/base/dialog-base.service.mjs +3 -3
  123. package/esm2020/dialog/base/dialog-footer-base.class.mjs +3 -3
  124. package/esm2020/dialog/base/dialog-header-base.class.mjs +3 -3
  125. package/esm2020/dialog/dialog-body/dialog-body.component.mjs +3 -3
  126. package/esm2020/dialog/dialog-close-button/dialog-close-button.component.mjs +3 -3
  127. package/esm2020/dialog/dialog-container/dialog-container.component.mjs +11 -5
  128. package/esm2020/dialog/dialog-default/dialog-default.component.mjs +5 -5
  129. package/esm2020/dialog/dialog-footer/dialog-footer.component.mjs +3 -3
  130. package/esm2020/dialog/dialog-footer-button/dialog-footer-button.component.mjs +3 -3
  131. package/esm2020/dialog/dialog-header/dialog-header.component.mjs +3 -3
  132. package/esm2020/dialog/dialog-service/dialog.service.mjs +3 -3
  133. package/esm2020/dialog/dialog.component.mjs +3 -3
  134. package/esm2020/dialog/dialog.module.mjs +4 -4
  135. package/esm2020/dialog/directives/dialog-decisive-button.directive.mjs +3 -3
  136. package/esm2020/dialog/directives/dialog-title.directive.mjs +3 -3
  137. package/esm2020/dialog/utils/dialog-config.class.mjs +3 -3
  138. package/esm2020/dialog/utils/dialog-overlay.container.mjs +3 -3
  139. package/esm2020/dialog/utils/dialog-ref.class.mjs +3 -3
  140. package/esm2020/dynamic-page/deprecated-dynamic-page-compact.directive.mjs +3 -3
  141. package/esm2020/dynamic-page/directives/dynamic-page-header-subtitle.directive.mjs +3 -3
  142. package/esm2020/dynamic-page/directives/dynamic-page-header-title.directive.mjs +3 -3
  143. package/esm2020/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +3 -3
  144. package/esm2020/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.mjs +3 -3
  145. package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-base-actions.mjs +3 -3
  146. package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-global-actions.component.mjs +3 -3
  147. package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.mjs +3 -3
  148. package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-title-content.component.mjs +3 -3
  149. package/esm2020/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +3 -3
  150. package/esm2020/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.mjs +3 -3
  151. package/esm2020/dynamic-page/dynamic-page-wrapper.directive.mjs +3 -3
  152. package/esm2020/dynamic-page/dynamic-page.component.mjs +3 -3
  153. package/esm2020/dynamic-page/dynamic-page.config.mjs +3 -3
  154. package/esm2020/dynamic-page/dynamic-page.module.mjs +4 -4
  155. package/esm2020/dynamic-page/dynamic-page.service.mjs +3 -3
  156. package/esm2020/dynamic-side-content/dynamic-side-content-main.component.mjs +3 -3
  157. package/esm2020/dynamic-side-content/dynamic-side-content-side.component.mjs +3 -3
  158. package/esm2020/dynamic-side-content/dynamic-side-content.component.mjs +3 -3
  159. package/esm2020/dynamic-side-content/dynamic-side-content.module.mjs +4 -4
  160. package/esm2020/facets/content/facet-content.component.mjs +3 -3
  161. package/esm2020/facets/facet/facet.component.mjs +3 -3
  162. package/esm2020/facets/facet-group.component.mjs +3 -3
  163. package/esm2020/facets/facet.module.mjs +4 -4
  164. package/esm2020/feed-input/directives/feed-input-avatar.directive.mjs +3 -3
  165. package/esm2020/feed-input/directives/feed-input-button.directive.mjs +3 -3
  166. package/esm2020/feed-input/directives/feed-input-textarea.directive.mjs +3 -3
  167. package/esm2020/feed-input/feed-input.component.mjs +3 -3
  168. package/esm2020/feed-input/feed-input.module.mjs +4 -4
  169. package/esm2020/feed-list-item/components/feed-list-action/feed-list-action.component.mjs +3 -3
  170. package/esm2020/feed-list-item/components/feed-list-avatar/feed-list-avatar.component.mjs +3 -3
  171. package/esm2020/feed-list-item/components/feed-list-footer/feed-list-footer.component.mjs +3 -3
  172. package/esm2020/feed-list-item/components/item/feed-list-item.component.mjs +3 -3
  173. package/esm2020/feed-list-item/components/list/feed-list.component.mjs +3 -3
  174. package/esm2020/feed-list-item/directives/byline.directive.mjs +3 -3
  175. package/esm2020/feed-list-item/feed-list-item.module.mjs +4 -4
  176. package/esm2020/file-uploader/deprecated-file-uploader-content-density.directive.mjs +3 -3
  177. package/esm2020/file-uploader/directives/file-uploader-dragndrop.directive.mjs +3 -3
  178. package/esm2020/file-uploader/directives/file-uploader-select.directive.mjs +3 -3
  179. package/esm2020/file-uploader/file-uploader.component.mjs +3 -3
  180. package/esm2020/file-uploader/file-uploader.module.mjs +4 -4
  181. package/esm2020/file-uploader/file-uploader.service.mjs +3 -3
  182. package/esm2020/fixed-card-layout/fixed-card-layout-item/fixed-card-layout-item.component.mjs +3 -3
  183. package/esm2020/fixed-card-layout/fixed-card-layout.component.mjs +6 -6
  184. package/esm2020/fixed-card-layout/fixed-card-layout.module.mjs +4 -4
  185. package/esm2020/flexible-column-layout/flexible-column-layout.component.mjs +3 -3
  186. package/esm2020/flexible-column-layout/flexible-column-layout.module.mjs +4 -4
  187. package/esm2020/form/fieldset/fieldset.component.mjs +3 -3
  188. package/esm2020/form/fieldset/fieldset.module.mjs +4 -4
  189. package/esm2020/form/form-control/deprecated-form-control-content-density.directive.mjs +3 -3
  190. package/esm2020/form/form-control/form-control.component.mjs +3 -3
  191. package/esm2020/form/form-control/form-control.module.mjs +4 -4
  192. package/esm2020/form/form-control/input-form-control.directive.mjs +3 -3
  193. package/esm2020/form/form-control/textarea-form-control.directive.mjs +3 -3
  194. package/esm2020/form/form-group/form-group.component.mjs +3 -3
  195. package/esm2020/form/form-group/form-group.module.mjs +4 -4
  196. package/esm2020/form/form-header/form-header.component.mjs +3 -3
  197. package/esm2020/form/form-header/form-header.module.mjs +4 -4
  198. package/esm2020/form/form-input-message-group/form-input-message-group.component.mjs +3 -3
  199. package/esm2020/form/form-input-message-group/form-input-message-group.module.mjs +4 -4
  200. package/esm2020/form/form-item/form-item.component.mjs +3 -3
  201. package/esm2020/form/form-item/form-item.module.mjs +4 -4
  202. package/esm2020/form/form-label/form-label.component.mjs +3 -3
  203. package/esm2020/form/form-label/form-label.module.mjs +4 -4
  204. package/esm2020/form/form-legend/form-legend.directive.mjs +3 -3
  205. package/esm2020/form/form-legend/form-legend.module.mjs +4 -4
  206. package/esm2020/form/form-message/form-message.component.mjs +3 -3
  207. package/esm2020/form/form-message/form-message.module.mjs +4 -4
  208. package/esm2020/form/form-message/popover-form-message.service.mjs +3 -3
  209. package/esm2020/form/form.module.mjs +4 -4
  210. package/esm2020/formatted-text/formatted-text.component.mjs +3 -3
  211. package/esm2020/formatted-text/formatted-text.module.mjs +4 -4
  212. package/esm2020/fundamental-ngx.module.mjs +4 -4
  213. package/esm2020/grid-list/components/grid-list/grid-list-base.component.mjs +3 -3
  214. package/esm2020/grid-list/components/grid-list/grid-list.component.mjs +3 -3
  215. package/esm2020/grid-list/components/grid-list-filter-bar/grid-list-filter-bar.component.mjs +3 -3
  216. package/esm2020/grid-list/components/grid-list-footer/grid-list-footer.component.mjs +3 -3
  217. package/esm2020/grid-list/components/grid-list-group-header/grid-list-group-header.component.mjs +3 -3
  218. package/esm2020/grid-list/components/grid-list-item/grid-list-item.component.mjs +3 -3
  219. package/esm2020/grid-list/components/grid-list-item-footer-bar/grid-list-item-footer-bar.component.mjs +3 -3
  220. package/esm2020/grid-list/components/grid-list-item-toolbar/grid-list-item-toolbar.component.mjs +3 -3
  221. package/esm2020/grid-list/components/grid-list-more-btn/grid-list-more-btn.component.mjs +3 -3
  222. package/esm2020/grid-list/components/grid-list-title-bar/grid-list-title-bar.component.mjs +3 -3
  223. package/esm2020/grid-list/components/grid-list-title-bar/grid-list-title-bar.directive.mjs +3 -3
  224. package/esm2020/grid-list/components/grid-list-title-bar-spacer/grid-list-title-bar-spacer.component.mjs +3 -3
  225. package/esm2020/grid-list/directives/grid-list-item-body.directive.mjs +3 -3
  226. package/esm2020/grid-list/directives/grid-list-item-image.directive.mjs +3 -3
  227. package/esm2020/grid-list/grid-list.module.mjs +4 -4
  228. package/esm2020/icon/icon.component.mjs +3 -3
  229. package/esm2020/icon/icon.module.mjs +4 -4
  230. package/esm2020/illustrated-message/components/illustrated-message-actions/illustrated-message-actions.component.mjs +3 -3
  231. package/esm2020/illustrated-message/components/illustrated-message-figcaption/illustrated-message-figcaption.component.mjs +3 -3
  232. package/esm2020/illustrated-message/directives/illustrated-message-text/illustrated-message-text.directive.mjs +3 -3
  233. package/esm2020/illustrated-message/directives/illustrated-message-title/illustrated-message-title.directive.mjs +3 -3
  234. package/esm2020/illustrated-message/illustrated-message.component.mjs +3 -3
  235. package/esm2020/illustrated-message/illustrated-message.module.mjs +4 -4
  236. package/esm2020/infinite-scroll/infinite-scroll.directive.mjs +3 -3
  237. package/esm2020/infinite-scroll/infinite-scroll.module.mjs +4 -4
  238. package/esm2020/info-label/info-label.component.mjs +3 -3
  239. package/esm2020/info-label/info-label.module.mjs +4 -4
  240. package/esm2020/inline-help/inline-help.directive.mjs +3 -3
  241. package/esm2020/inline-help/inline-help.module.mjs +4 -4
  242. package/esm2020/input-group/deprecated-input-group-compact.directive.mjs +3 -3
  243. package/esm2020/input-group/input-group-directives.mjs +12 -12
  244. package/esm2020/input-group/input-group.component.mjs +3 -3
  245. package/esm2020/input-group/input-group.module.mjs +4 -4
  246. package/esm2020/layout-grid/directives/layout-grid-col.directive.mjs +3 -3
  247. package/esm2020/layout-grid/directives/layout-grid-row.directive.mjs +3 -3
  248. package/esm2020/layout-grid/layout-grid.component.mjs +3 -3
  249. package/esm2020/layout-grid/layout-grid.module.mjs +4 -4
  250. package/esm2020/layout-panel/layout-panel-actions/layout-panel-actions.component.mjs +3 -3
  251. package/esm2020/layout-panel/layout-panel-body/layout-panel-body.component.mjs +3 -3
  252. package/esm2020/layout-panel/layout-panel-description/layout-panel-description.component.mjs +3 -3
  253. package/esm2020/layout-panel/layout-panel-filters/layout-panel-filters.component.mjs +3 -3
  254. package/esm2020/layout-panel/layout-panel-footer/layout-panel-footer.component.mjs +3 -3
  255. package/esm2020/layout-panel/layout-panel-head/layout-panel-head.component.mjs +3 -3
  256. package/esm2020/layout-panel/layout-panel-header/layout-panel-header.component.mjs +3 -3
  257. package/esm2020/layout-panel/layout-panel-title/layout-panel-title.directive.mjs +3 -3
  258. package/esm2020/layout-panel/layout-panel.component.mjs +3 -3
  259. package/esm2020/layout-panel/layout-panel.module.mjs +4 -4
  260. package/esm2020/link/link.component.mjs +3 -3
  261. package/esm2020/link/link.module.mjs +4 -4
  262. package/esm2020/list/deprecated-list-content-density,directive.mjs +3 -3
  263. package/esm2020/list/directives/byline/list-byline-left.directive.mjs +3 -3
  264. package/esm2020/list/directives/byline/list-byline-right.directive.mjs +3 -3
  265. package/esm2020/list/directives/byline/list-byline.directive.mjs +3 -3
  266. package/esm2020/list/directives/byline/list-content.directive.mjs +3 -3
  267. package/esm2020/list/directives/byline/list-thumbnail.directive.mjs +3 -3
  268. package/esm2020/list/directives/list-footer.directive.mjs +3 -3
  269. package/esm2020/list/directives/list-group-header.directive.mjs +3 -3
  270. package/esm2020/list/directives/list-icon.directive.mjs +3 -3
  271. package/esm2020/list/directives/list-link.directive.mjs +3 -3
  272. package/esm2020/list/directives/list-navigation-item-arrow.directive.mjs +3 -3
  273. package/esm2020/list/directives/list-navigation-item-text.directive.mjs +3 -3
  274. package/esm2020/list/directives/list-secondary.directive.mjs +3 -3
  275. package/esm2020/list/directives/list-title-text.directive.mjs +3 -3
  276. package/esm2020/list/directives/list-title.directive.mjs +3 -3
  277. package/esm2020/list/list-focus-item.model.mjs +3 -3
  278. package/esm2020/list/list-item/list-item.component.mjs +13 -4
  279. package/esm2020/list/list-message.directive.mjs +3 -3
  280. package/esm2020/list/list-navigation-item/list-navigation-item.component.mjs +3 -3
  281. package/esm2020/list/list.component.mjs +3 -3
  282. package/esm2020/list/list.module.mjs +4 -4
  283. package/esm2020/menu/directives/deprecated-menu-compact.directive.mjs +3 -3
  284. package/esm2020/menu/directives/menu-addon.directive.mjs +3 -3
  285. package/esm2020/menu/directives/menu-interactive.directive.mjs +3 -3
  286. package/esm2020/menu/directives/menu-shortcut.directive.mjs +3 -3
  287. package/esm2020/menu/directives/menu-title.directive.mjs +3 -3
  288. package/esm2020/menu/directives/menu-trigger.directive.mjs +3 -3
  289. package/esm2020/menu/menu-item/menu-item.component.mjs +6 -6
  290. package/esm2020/menu/menu-keyboard.service.mjs +3 -3
  291. package/esm2020/menu/menu-mobile/menu-mobile.component.mjs +5 -5
  292. package/esm2020/menu/menu-mobile/menu-mobile.module.mjs +4 -4
  293. package/esm2020/menu/menu-separator/menu-separator.component.mjs +3 -3
  294. package/esm2020/menu/menu.component.mjs +3 -3
  295. package/esm2020/menu/menu.module.mjs +4 -4
  296. package/esm2020/menu/services/menu.service.mjs +3 -3
  297. package/esm2020/message-box/directives/message-box-decisive-button.directive.mjs +3 -3
  298. package/esm2020/message-box/message-box-body/message-box-body.component.mjs +3 -3
  299. package/esm2020/message-box/message-box-container/message-box-container.component.mjs +5 -6
  300. package/esm2020/message-box/message-box-default/message-box-default.component.mjs +5 -5
  301. package/esm2020/message-box/message-box-footer/message-box-footer.component.mjs +3 -3
  302. package/esm2020/message-box/message-box-footer-button/message-box-footer-button.component.mjs +3 -3
  303. package/esm2020/message-box/message-box-header/message-box-header.component.mjs +3 -3
  304. package/esm2020/message-box/message-box-semantic-icon/message-box-semantic-icon.component.mjs +3 -3
  305. package/esm2020/message-box/message-box.component.mjs +3 -3
  306. package/esm2020/message-box/message-box.module.mjs +4 -4
  307. package/esm2020/message-box/services/message-box.service.mjs +3 -3
  308. package/esm2020/message-box/utils/message-box-config.class.mjs +3 -3
  309. package/esm2020/message-box/utils/message-box-ref.class.mjs +3 -3
  310. package/esm2020/message-page/message-page-actions/message-page-actions.component.mjs +3 -3
  311. package/esm2020/message-page/message-page-more/message-page-more.component.mjs +3 -3
  312. package/esm2020/message-page/message-page-subtitle/message-page-subtitle.component.mjs +3 -3
  313. package/esm2020/message-page/message-page-title/message-page-title.component.mjs +3 -3
  314. package/esm2020/message-page/message-page.component.mjs +3 -3
  315. package/esm2020/message-page/message-page.module.mjs +4 -4
  316. package/esm2020/message-strip/alert/message-strip-alert/message-strip-alert.component.mjs +3 -3
  317. package/esm2020/message-strip/alert/message-strip-alert-container/message-strip-alert-container.component.mjs +3 -3
  318. package/esm2020/message-strip/alert/message-strip-alert-container-footer/message-strip-alert-container-footer.component.mjs +3 -3
  319. package/esm2020/message-strip/alert/message-strip-alert.service.mjs +3 -3
  320. package/esm2020/message-strip/auto-dismiss-message-strip.directive.mjs +3 -3
  321. package/esm2020/message-strip/message-strip.component.mjs +3 -3
  322. package/esm2020/message-strip/message-strip.module.mjs +4 -4
  323. package/esm2020/message-toast/components/message-toast-text.component.mjs +3 -3
  324. package/esm2020/message-toast/message-toast.component.mjs +3 -3
  325. package/esm2020/message-toast/message-toast.module.mjs +4 -4
  326. package/esm2020/message-toast/message-toast.service.mjs +3 -3
  327. package/esm2020/message-toast/toast-overlay-container.class.mjs +3 -3
  328. package/esm2020/micro-process-flow/components/micro-process-flow/deprecated-micro-process-flow-content-density.directive.mjs +3 -3
  329. package/esm2020/micro-process-flow/components/micro-process-flow/micro-process-flow.component.mjs +3 -3
  330. package/esm2020/micro-process-flow/components/micro-process-flow-icon/micro-process-flow-icon.component.mjs +3 -3
  331. package/esm2020/micro-process-flow/components/micro-process-flow-item/micro-process-flow-item.component.mjs +3 -3
  332. package/esm2020/micro-process-flow/micro-process-flow-focusable-item.directive.mjs +3 -3
  333. package/esm2020/micro-process-flow/micro-process-flow-intermediary-item.directive.mjs +3 -3
  334. package/esm2020/micro-process-flow/micro-process-flow.module.mjs +4 -4
  335. package/esm2020/multi-combobox/base-multi-combobox.class.mjs +3 -3
  336. package/esm2020/multi-combobox/mobile/mobile-multi-combobox.component.mjs +3 -3
  337. package/esm2020/multi-combobox/mobile/mobile-multi-combobox.module.mjs +4 -4
  338. package/esm2020/multi-combobox/multi-combobox-config.mjs +3 -3
  339. package/esm2020/multi-combobox/multi-combobox.component.mjs +4 -4
  340. package/esm2020/multi-combobox/multi-combobox.module.mjs +4 -4
  341. package/esm2020/multi-combobox/select-all-toggler/select-all-toggler.component.mjs +3 -3
  342. package/esm2020/multi-input/deprecated-multi-input-compact.directive.mjs +3 -3
  343. package/esm2020/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +3 -3
  344. package/esm2020/multi-input/multi-input-mobile/multi-input-mobile.module.mjs +4 -4
  345. package/esm2020/multi-input/multi-input.component.mjs +4 -4
  346. package/esm2020/multi-input/multi-input.module.mjs +4 -4
  347. package/esm2020/nested-list/deprecated-nested-list-compact.directive.mjs +3 -3
  348. package/esm2020/nested-list/nested-content/nested-list-content.directive.mjs +3 -3
  349. package/esm2020/nested-list/nested-item/nested-item.directive.mjs +3 -3
  350. package/esm2020/nested-list/nested-link/nested-link.directive.mjs +3 -3
  351. package/esm2020/nested-list/nested-list/nested-list.directive.mjs +3 -3
  352. package/esm2020/nested-list/nested-list-directives.mjs +12 -12
  353. package/esm2020/nested-list/nested-list-keyboard.service.mjs +3 -3
  354. package/esm2020/nested-list/nested-list-popover/nested-list-popover.component.mjs +3 -3
  355. package/esm2020/nested-list/nested-list-state.service.mjs +3 -3
  356. package/esm2020/nested-list/nested-list.module.mjs +4 -4
  357. package/esm2020/nested-list/prepared-nested-list/prepared-nested-list.component.mjs +3 -3
  358. package/esm2020/notification/directives/notification-footer-content.directive.mjs +3 -3
  359. package/esm2020/notification/directives/notification-indicator.directive.mjs +3 -3
  360. package/esm2020/notification/directives/notification-limit-description.directive.mjs +3 -3
  361. package/esm2020/notification/directives/notification-limit-title.directive.mjs +3 -3
  362. package/esm2020/notification/directives/notification-paragraph.directive.mjs +3 -3
  363. package/esm2020/notification/directives/notification-separator.directive.mjs +3 -3
  364. package/esm2020/notification/directives/notification-title.directive.mjs +3 -3
  365. package/esm2020/notification/notification/notification.component.mjs +3 -3
  366. package/esm2020/notification/notification-actions/notification-actions.component.mjs +3 -3
  367. package/esm2020/notification/notification-body/notification-body.component.mjs +3 -3
  368. package/esm2020/notification/notification-content/notification-content.component.mjs +3 -3
  369. package/esm2020/notification/notification-footer/notification-footer.component.mjs +3 -3
  370. package/esm2020/notification/notification-group/notification-group.component.mjs +3 -3
  371. package/esm2020/notification/notification-group-header/notification-group-header.component.mjs +3 -3
  372. package/esm2020/notification/notification-group-list/notification-group-list.component.mjs +3 -3
  373. package/esm2020/notification/notification-header/notification-header.component.mjs +3 -3
  374. package/esm2020/notification/notification-limit/notification-limit.component.mjs +3 -3
  375. package/esm2020/notification/notification-service/notification.service.mjs +3 -3
  376. package/esm2020/notification/notification-utils/notification-container.mjs +3 -3
  377. package/esm2020/notification/notification-utils/notification-group-base.mjs +3 -3
  378. package/esm2020/notification/notification.module.mjs +4 -4
  379. package/esm2020/object-identifier/object-identifier.component.mjs +3 -3
  380. package/esm2020/object-identifier/object-identifier.module.mjs +4 -4
  381. package/esm2020/object-marker/object-marker.component.mjs +3 -3
  382. package/esm2020/object-marker/object-marker.module.mjs +4 -4
  383. package/esm2020/object-number/object-number.component.mjs +3 -3
  384. package/esm2020/object-number/object-number.module.mjs +4 -4
  385. package/esm2020/object-status/object-status.component.mjs +3 -3
  386. package/esm2020/object-status/object-status.module.mjs +4 -4
  387. package/esm2020/overflow-layout/directives/overflow-expand.directive.mjs +3 -3
  388. package/esm2020/overflow-layout/directives/overflow-item-container-ref.directive.mjs +3 -3
  389. package/esm2020/overflow-layout/directives/overflow-item-ref.directive.mjs +3 -3
  390. package/esm2020/overflow-layout/directives/overflow-layout-focusable-item.directive.mjs +3 -3
  391. package/esm2020/overflow-layout/directives/overflow-layout-item-container.directive.mjs +3 -3
  392. package/esm2020/overflow-layout/directives/overflow-layout-item.directive.mjs +3 -3
  393. package/esm2020/overflow-layout/directives/overflow-layout-popover-content.directive.mjs +3 -3
  394. package/esm2020/overflow-layout/overflow-layout.component.mjs +3 -3
  395. package/esm2020/overflow-layout/overflow-layout.module.mjs +4 -4
  396. package/esm2020/overflow-layout/overflow-layout.service.mjs +3 -3
  397. package/esm2020/pagination/deprecated-pagination-compact.directive.mjs +3 -3
  398. package/esm2020/pagination/pagination.component.mjs +3 -3
  399. package/esm2020/pagination/pagination.module.mjs +4 -4
  400. package/esm2020/pagination/pagination.service.mjs +3 -3
  401. package/esm2020/panel/deprecated-panel-compact.directive.mjs +3 -3
  402. package/esm2020/panel/panel-content/panel-content.directive.mjs +3 -3
  403. package/esm2020/panel/panel-title/panel-title.directive.mjs +3 -3
  404. package/esm2020/panel/panel.component.mjs +3 -3
  405. package/esm2020/panel/panel.module.mjs +4 -4
  406. package/esm2020/popover/base/base-popover.class.mjs +3 -3
  407. package/esm2020/popover/popover-body/popover-body-directives/popover-body-footer.directive.mjs +3 -3
  408. package/esm2020/popover/popover-body/popover-body-directives/popover-body-header.directive.mjs +3 -3
  409. package/esm2020/popover/popover-body/popover-body.component.mjs +14 -4
  410. package/esm2020/popover/popover-container/popover-container.directive.mjs +3 -3
  411. package/esm2020/popover/popover-control/popover-control.component.mjs +3 -3
  412. package/esm2020/popover/popover-mobile/popover-mobile.component.mjs +5 -5
  413. package/esm2020/popover/popover-mobile/popover-mobile.module.mjs +4 -4
  414. package/esm2020/popover/popover-service/popover.service.mjs +25 -5
  415. package/esm2020/popover/popover-trigger.directive.mjs +3 -3
  416. package/esm2020/popover/popover.component.mjs +23 -22
  417. package/esm2020/popover/popover.module.mjs +4 -4
  418. package/esm2020/product-switch/product-switch/product-switch.component.mjs +3 -3
  419. package/esm2020/product-switch/product-switch-body/product-switch-body.component.mjs +3 -3
  420. package/esm2020/product-switch/product-switch.module.mjs +4 -4
  421. package/esm2020/progress-indicator/progress-indicator.component.mjs +3 -3
  422. package/esm2020/progress-indicator/progress-indicator.module.mjs +4 -4
  423. package/esm2020/quick-view/quick-view/quick-view.component.mjs +3 -3
  424. package/esm2020/quick-view/quick-view-group/quick-view-group.component.mjs +3 -3
  425. package/esm2020/quick-view/quick-view-group-item/quick-view-group-item.component.mjs +3 -3
  426. package/esm2020/quick-view/quick-view-group-item-content/quick-view-group-item-content-element.directive.mjs +3 -3
  427. package/esm2020/quick-view/quick-view-group-item-content/quick-view-group-item-content.component.mjs +3 -3
  428. package/esm2020/quick-view/quick-view-group-item-label/quick-view-group-item-label.component.mjs +3 -3
  429. package/esm2020/quick-view/quick-view-group-title/quick-view-group-title.component.mjs +3 -3
  430. package/esm2020/quick-view/quick-view-subheader/quick-view-subheader.component.mjs +3 -3
  431. package/esm2020/quick-view/quick-view-subheader-subtitle/quick-view-subheader-subtitle.component.mjs +3 -3
  432. package/esm2020/quick-view/quick-view-subheader-title/quick-view-subheader-title.component.mjs +3 -3
  433. package/esm2020/quick-view/quick-view-title/quick-view-title.component.mjs +3 -3
  434. package/esm2020/quick-view/quick-view.module.mjs +4 -4
  435. package/esm2020/radio/deprecated-radio-button-compact.directive.mjs +3 -3
  436. package/esm2020/radio/radio-button/radio-button.component.mjs +3 -3
  437. package/esm2020/radio/radio.module.mjs +4 -4
  438. package/esm2020/rating-indicator/components/rating-indicator.component.mjs +3 -3
  439. package/esm2020/rating-indicator/pipes/rating-star-label.pipe.mjs +3 -3
  440. package/esm2020/rating-indicator/rating-indicator.module.mjs +4 -4
  441. package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +3 -3
  442. package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +3 -3
  443. package/esm2020/resizable-card-layout/resizable-card-layout.module.mjs +4 -4
  444. package/esm2020/scroll-spy/scroll-spy.directive.mjs +3 -3
  445. package/esm2020/scroll-spy/scroll-spy.module.mjs +4 -4
  446. package/esm2020/scrollbar/scrollbar.directive.mjs +9 -5
  447. package/esm2020/scrollbar/scrollbar.module.mjs +4 -4
  448. package/esm2020/segmented-button/segmented-button.component.mjs +3 -3
  449. package/esm2020/segmented-button/segmented-button.module.mjs +4 -4
  450. package/esm2020/select/deprecated-select-compact.directive.mjs +3 -3
  451. package/esm2020/select/option/option.component.mjs +3 -3
  452. package/esm2020/select/select-key-manager.service.mjs +3 -3
  453. package/esm2020/select/select-mobile/select-mobile.component.mjs +3 -3
  454. package/esm2020/select/select-mobile/select-mobile.module.mjs +4 -4
  455. package/esm2020/select/select.component.mjs +6 -6
  456. package/esm2020/select/select.module.mjs +4 -4
  457. package/esm2020/shared/services/value-state-message.service.mjs +3 -3
  458. package/esm2020/shellbar/deprecated-shellbar-compact.directive.mjs +3 -3
  459. package/esm2020/shellbar/product-menu/product-menu.component.mjs +3 -3
  460. package/esm2020/shellbar/shellbar-action/shellbar-action.component.mjs +3 -3
  461. package/esm2020/shellbar/shellbar-actions/shellbar-actions.component.mjs +3 -3
  462. package/esm2020/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.mjs +3 -3
  463. package/esm2020/shellbar/shellbar-logo/shellbar-logo.component.mjs +3 -3
  464. package/esm2020/shellbar/shellbar-sidenav.directive.mjs +3 -3
  465. package/esm2020/shellbar/shellbar-subtitle/shellbar-subtitle.component.mjs +3 -3
  466. package/esm2020/shellbar/shellbar-title/shellbar-title.component.mjs +3 -3
  467. package/esm2020/shellbar/shellbar.component.mjs +3 -3
  468. package/esm2020/shellbar/shellbar.module.mjs +4 -4
  469. package/esm2020/shellbar/user-menu/shellbar-user-menu.component.mjs +3 -3
  470. package/esm2020/side-navigation/side-navigation-main.directive.mjs +3 -3
  471. package/esm2020/side-navigation/side-navigation-utility.directive.mjs +3 -3
  472. package/esm2020/side-navigation/side-navigation.component.mjs +3 -3
  473. package/esm2020/side-navigation/side-navigation.module.mjs +4 -4
  474. package/esm2020/skeleton/components/skeleton.component.mjs +3 -3
  475. package/esm2020/skeleton/skeleton.module.mjs +4 -4
  476. package/esm2020/slider/deprecated-slider-cozy.directive.mjs +3 -3
  477. package/esm2020/slider/slider-position.directive.mjs +3 -3
  478. package/esm2020/slider/slider.component.mjs +3 -3
  479. package/esm2020/slider/slider.module.mjs +4 -4
  480. package/esm2020/split-button/deprecated-split-button-compact.directive.mjs +3 -3
  481. package/esm2020/split-button/split-button-utils/split-button.directives.mjs +3 -3
  482. package/esm2020/split-button/split-button.component.mjs +3 -3
  483. package/esm2020/split-button/split-button.module.mjs +4 -4
  484. package/esm2020/splitter/splitter-pagination/splitter-pagination.component.mjs +3 -3
  485. package/esm2020/splitter/splitter-pane-container/splitter-pane-container.component.mjs +6 -6
  486. package/esm2020/splitter/splitter-resizer/splitter-resizer.component.mjs +3 -3
  487. package/esm2020/splitter/splitter-split-pane/splitter-split-pane.component.mjs +3 -3
  488. package/esm2020/splitter/splitter.component.mjs +3 -3
  489. package/esm2020/splitter/splitter.module.mjs +4 -4
  490. package/esm2020/status-indicator/status-indicator.component.mjs +3 -3
  491. package/esm2020/status-indicator/status-indicator.module.mjs +4 -4
  492. package/esm2020/step-input/deprecated-step-input-compact.directive.mjs +3 -3
  493. package/esm2020/step-input/step-input.component.mjs +3 -3
  494. package/esm2020/step-input/step-input.module.mjs +4 -4
  495. package/esm2020/switch/deprecated-switch-compact.directive.mjs +3 -3
  496. package/esm2020/switch/switch.component.mjs +3 -3
  497. package/esm2020/switch/switch.module.mjs +4 -4
  498. package/esm2020/table/deprecated-table-compact.directive.mjs +3 -3
  499. package/esm2020/table/deprecated-table-condensed.directive.mjs +3 -3
  500. package/esm2020/table/directives/table-body.directive.mjs +3 -3
  501. package/esm2020/table/directives/table-cell.directive.mjs +3 -3
  502. package/esm2020/table/directives/table-fixed.directive.mjs +3 -3
  503. package/esm2020/table/directives/table-footer.directive.mjs +3 -3
  504. package/esm2020/table/directives/table-header.directive.mjs +3 -3
  505. package/esm2020/table/directives/table-icon.directive.mjs +3 -3
  506. package/esm2020/table/directives/table-inner.directive.mjs +3 -3
  507. package/esm2020/table/directives/table-popover.directive.mjs +3 -3
  508. package/esm2020/table/directives/table-responsive-wrapper.directive.mjs +3 -3
  509. package/esm2020/table/directives/table-row.directive.mjs +3 -3
  510. package/esm2020/table/directives/table-status-indicator.directive.mjs +3 -3
  511. package/esm2020/table/directives/table-text.directive.mjs +3 -3
  512. package/esm2020/table/table-wrapper.component.mjs +3 -3
  513. package/esm2020/table/table.component.mjs +3 -3
  514. package/esm2020/table/table.module.mjs +4 -4
  515. package/esm2020/tabs/deprecated-tabs-compact.directive.mjs +3 -3
  516. package/esm2020/tabs/tab-item/tab-item.directive.mjs +3 -3
  517. package/esm2020/tabs/tab-item-expand/tab-item-expand.component.mjs +3 -3
  518. package/esm2020/tabs/tab-link/tab-link.directive.mjs +3 -3
  519. package/esm2020/tabs/tab-list.component.mjs +11 -4
  520. package/esm2020/tabs/tab-nav/tab-nav.component.mjs +3 -3
  521. package/esm2020/tabs/tab-panel/tab-panel.component.mjs +10 -4
  522. package/esm2020/tabs/tab-utils/tab-directives.mjs +30 -30
  523. package/esm2020/tabs/tabs.module.mjs +4 -4
  524. package/esm2020/text/text.component.mjs +3 -3
  525. package/esm2020/text/text.module.mjs +4 -4
  526. package/esm2020/theming/theming.module.mjs +4 -4
  527. package/esm2020/theming/theming.service.mjs +3 -3
  528. package/esm2020/tile/directives/numeric-content.directives.mjs +27 -27
  529. package/esm2020/tile/directives/tile.directives.mjs +69 -69
  530. package/esm2020/tile/tile.component.mjs +3 -3
  531. package/esm2020/tile/tile.module.mjs +4 -4
  532. package/esm2020/time/deprecated-time-content-density.directive.mjs +3 -3
  533. package/esm2020/time/i18n/time-i18n.mjs +3 -3
  534. package/esm2020/time/time-column/time-column.component.mjs +3 -3
  535. package/esm2020/time/time.component.mjs +3 -3
  536. package/esm2020/time/time.module.mjs +4 -4
  537. package/esm2020/time-picker/deprecated-timepicker-compact.directive.mjs +3 -3
  538. package/esm2020/time-picker/time-picker.component.mjs +3 -3
  539. package/esm2020/time-picker/time-picker.module.mjs +4 -4
  540. package/esm2020/timeline/components/timeline-node/timeline-node.component.mjs +3 -3
  541. package/esm2020/timeline/components/timeline-node-body/timeline-node-body.component.mjs +3 -3
  542. package/esm2020/timeline/components/timeline-node-footer/timeline-node-footer.component.mjs +3 -3
  543. package/esm2020/timeline/components/timeline-node-header/timeline-node-header-info/timeline-node-header-info.component.mjs +3 -3
  544. package/esm2020/timeline/components/timeline-node-header/timeline-node-header.component.mjs +3 -3
  545. package/esm2020/timeline/directives/class-bindings/timeline-header-info-sub-title.directive.mjs +3 -3
  546. package/esm2020/timeline/directives/class-bindings/timeline-node-header-info-text.directive.mjs +3 -3
  547. package/esm2020/timeline/directives/class-bindings/timeline-node-header-info-title.directive.mjs +3 -3
  548. package/esm2020/timeline/directives/timeline-first-list-outlet.directive.mjs +3 -3
  549. package/esm2020/timeline/directives/timeline-node-def.directive.mjs +3 -3
  550. package/esm2020/timeline/directives/timeline-second-list-outlet.directive.mjs +3 -3
  551. package/esm2020/timeline/services/timeline-position-control.service.mjs +3 -3
  552. package/esm2020/timeline/timeline.component.mjs +3 -3
  553. package/esm2020/timeline/timeline.module.mjs +4 -4
  554. package/esm2020/title/title.component.mjs +3 -3
  555. package/esm2020/title/title.module.mjs +4 -4
  556. package/esm2020/token/deprecated-tokenizer-content-density.directive.mjs +3 -3
  557. package/esm2020/token/token-input.directive.mjs +3 -3
  558. package/esm2020/token/token.component.mjs +3 -3
  559. package/esm2020/token/token.module.mjs +4 -4
  560. package/esm2020/token/tokenizer.component.mjs +3 -3
  561. package/esm2020/toolbar/deprecated-toolbar-size.directive.mjs +3 -3
  562. package/esm2020/toolbar/toolbar-form-label.directive.mjs +3 -3
  563. package/esm2020/toolbar/toolbar-item.directive.mjs +3 -3
  564. package/esm2020/toolbar/toolbar-label.directive.mjs +3 -3
  565. package/esm2020/toolbar/toolbar-overflow-button-menu.directive.mjs +3 -3
  566. package/esm2020/toolbar/toolbar-overflow-button.directive.mjs +3 -3
  567. package/esm2020/toolbar/toolbar-separator.component.mjs +3 -3
  568. package/esm2020/toolbar/toolbar-spacer.directive.mjs +3 -3
  569. package/esm2020/toolbar/toolbar.component.mjs +3 -3
  570. package/esm2020/toolbar/toolbar.module.mjs +4 -4
  571. package/esm2020/tree/components/tree-item/tree-item.component.mjs +3 -3
  572. package/esm2020/tree/directives/tree-item-button.directive.mjs +3 -3
  573. package/esm2020/tree/directives/tree-item-def.directive.mjs +3 -3
  574. package/esm2020/tree/directives/tree-item-icon.directive.mjs +6 -6
  575. package/esm2020/tree/directives/tree-item.directive.mjs +3 -3
  576. package/esm2020/tree/models/base-tree-item.class.mjs +3 -3
  577. package/esm2020/tree/tree.component.mjs +3 -3
  578. package/esm2020/tree/tree.module.mjs +4 -4
  579. package/esm2020/tree/tree.service.mjs +3 -3
  580. package/esm2020/upload-collection/upload-collection-button-group/upload-collection-button-group.component.mjs +3 -3
  581. package/esm2020/upload-collection/upload-collection-form-item/upload-collection-form-item.component.mjs +3 -3
  582. package/esm2020/upload-collection/upload-collection-item.directive.mjs +3 -3
  583. package/esm2020/upload-collection/upload-collection-simple.directives.mjs +21 -21
  584. package/esm2020/upload-collection/upload-collection.component.mjs +3 -3
  585. package/esm2020/upload-collection/upload-collection.module.mjs +4 -4
  586. package/esm2020/vertical-navigation/vertical-navigation-group-header.directive.mjs +3 -3
  587. package/esm2020/vertical-navigation/vertical-navigation-main-navigation.component.mjs +3 -3
  588. package/esm2020/vertical-navigation/vertical-navigation.component.mjs +3 -3
  589. package/esm2020/vertical-navigation/vertical-navigation.module.mjs +4 -4
  590. package/esm2020/wizard/deprecated-wizard-compact.directive.mjs +3 -3
  591. package/esm2020/wizard/wizard-content/wizard-content.component.mjs +3 -3
  592. package/esm2020/wizard/wizard-navigation/wizard-navigation.component.mjs +3 -3
  593. package/esm2020/wizard/wizard-next-step/wizard-next-step.component.mjs +3 -3
  594. package/esm2020/wizard/wizard-progress-bar/wizard-progress-bar.directive.mjs +3 -3
  595. package/esm2020/wizard/wizard-step/wizard-step.component.mjs +3 -3
  596. package/esm2020/wizard/wizard-step-indicator/wizard-step-indicator.component.mjs +3 -3
  597. package/esm2020/wizard/wizard.component.mjs +3 -3
  598. package/esm2020/wizard/wizard.module.mjs +4 -4
  599. package/esm2020/wizard/wizard.service.mjs +3 -3
  600. package/fesm2015/fundamental-ngx-core-action-bar.mjs +25 -25
  601. package/fesm2015/fundamental-ngx-core-action-sheet.mjs +26 -26
  602. package/fesm2015/fundamental-ngx-core-alert.mjs +13 -13
  603. package/fesm2015/fundamental-ngx-core-avatar-group.mjs +28 -28
  604. package/fesm2015/fundamental-ngx-core-avatar.mjs +7 -7
  605. package/fesm2015/fundamental-ngx-core-bar.mjs +28 -28
  606. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs +13 -13
  607. package/fesm2015/fundamental-ngx-core-busy-indicator.mjs +10 -10
  608. package/fesm2015/fundamental-ngx-core-button.mjs +13 -13
  609. package/fesm2015/fundamental-ngx-core-calendar.mjs +34 -34
  610. package/fesm2015/fundamental-ngx-core-card.mjs +58 -58
  611. package/fesm2015/fundamental-ngx-core-carousel.mjs +26 -19
  612. package/fesm2015/fundamental-ngx-core-carousel.mjs.map +1 -1
  613. package/fesm2015/fundamental-ngx-core-checkbox.mjs +10 -10
  614. package/fesm2015/fundamental-ngx-core-combobox.mjs +22 -22
  615. package/fesm2015/fundamental-ngx-core-combobox.mjs.map +1 -1
  616. package/fesm2015/fundamental-ngx-core-content-density.mjs +37 -37
  617. package/fesm2015/fundamental-ngx-core-date-picker.mjs +10 -10
  618. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs +10 -10
  619. package/fesm2015/fundamental-ngx-core-datetime.mjs +24 -24
  620. package/fesm2015/fundamental-ngx-core-dialog.mjs +66 -60
  621. package/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
  622. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs +49 -49
  623. package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs +13 -13
  624. package/fesm2015/fundamental-ngx-core-facets.mjs +13 -13
  625. package/fesm2015/fundamental-ngx-core-feed-input.mjs +16 -16
  626. package/fesm2015/fundamental-ngx-core-feed-list-item.mjs +22 -22
  627. package/fesm2015/fundamental-ngx-core-file-uploader.mjs +19 -19
  628. package/fesm2015/fundamental-ngx-core-fixed-card-layout.mjs +13 -13
  629. package/fesm2015/fundamental-ngx-core-flexible-column-layout.mjs +7 -7
  630. package/fesm2015/fundamental-ngx-core-form.mjs +79 -79
  631. package/fesm2015/fundamental-ngx-core-formatted-text.mjs +7 -7
  632. package/fesm2015/fundamental-ngx-core-grid-list.mjs +46 -46
  633. package/fesm2015/fundamental-ngx-core-icon.mjs +7 -7
  634. package/fesm2015/fundamental-ngx-core-illustrated-message.mjs +19 -19
  635. package/fesm2015/fundamental-ngx-core-infinite-scroll.mjs +7 -7
  636. package/fesm2015/fundamental-ngx-core-info-label.mjs +7 -7
  637. package/fesm2015/fundamental-ngx-core-inline-help.mjs +7 -7
  638. package/fesm2015/fundamental-ngx-core-input-group.mjs +22 -22
  639. package/fesm2015/fundamental-ngx-core-layout-grid.mjs +13 -13
  640. package/fesm2015/fundamental-ngx-core-layout-panel.mjs +31 -31
  641. package/fesm2015/fundamental-ngx-core-link.mjs +7 -7
  642. package/fesm2015/fundamental-ngx-core-list.mjs +73 -64
  643. package/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
  644. package/fesm2015/fundamental-ngx-core-menu.mjs +48 -48
  645. package/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
  646. package/fesm2015/fundamental-ngx-core-message-box.mjs +41 -42
  647. package/fesm2015/fundamental-ngx-core-message-box.mjs.map +1 -1
  648. package/fesm2015/fundamental-ngx-core-message-page.mjs +19 -19
  649. package/fesm2015/fundamental-ngx-core-message-strip.mjs +22 -22
  650. package/fesm2015/fundamental-ngx-core-message-toast.mjs +16 -16
  651. package/fesm2015/fundamental-ngx-core-micro-process-flow.mjs +22 -22
  652. package/fesm2015/fundamental-ngx-core-multi-combobox.mjs +24 -24
  653. package/fesm2015/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  654. package/fesm2015/fundamental-ngx-core-multi-input.mjs +18 -18
  655. package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
  656. package/fesm2015/fundamental-ngx-core-nested-list.mjs +43 -43
  657. package/fesm2015/fundamental-ngx-core-notification.mjs +64 -64
  658. package/fesm2015/fundamental-ngx-core-object-identifier.mjs +7 -7
  659. package/fesm2015/fundamental-ngx-core-object-marker.mjs +7 -7
  660. package/fesm2015/fundamental-ngx-core-object-number.mjs +7 -7
  661. package/fesm2015/fundamental-ngx-core-object-status.mjs +7 -7
  662. package/fesm2015/fundamental-ngx-core-overflow-layout.mjs +31 -31
  663. package/fesm2015/fundamental-ngx-core-pagination.mjs +13 -13
  664. package/fesm2015/fundamental-ngx-core-panel.mjs +16 -16
  665. package/fesm2015/fundamental-ngx-core-popover.mjs +89 -59
  666. package/fesm2015/fundamental-ngx-core-popover.mjs.map +1 -1
  667. package/fesm2015/fundamental-ngx-core-product-switch.mjs +10 -10
  668. package/fesm2015/fundamental-ngx-core-progress-indicator.mjs +7 -7
  669. package/fesm2015/fundamental-ngx-core-quick-view.mjs +37 -37
  670. package/fesm2015/fundamental-ngx-core-radio.mjs +10 -10
  671. package/fesm2015/fundamental-ngx-core-rating-indicator.mjs +10 -10
  672. package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs +10 -10
  673. package/fesm2015/fundamental-ngx-core-scroll-spy.mjs +7 -7
  674. package/fesm2015/fundamental-ngx-core-scrollbar.mjs +12 -8
  675. package/fesm2015/fundamental-ngx-core-scrollbar.mjs.map +1 -1
  676. package/fesm2015/fundamental-ngx-core-segmented-button.mjs +7 -7
  677. package/fesm2015/fundamental-ngx-core-select.mjs +25 -25
  678. package/fesm2015/fundamental-ngx-core-select.mjs.map +1 -1
  679. package/fesm2015/fundamental-ngx-core-shared.mjs +3 -3
  680. package/fesm2015/fundamental-ngx-core-shellbar.mjs +37 -37
  681. package/fesm2015/fundamental-ngx-core-side-navigation.mjs +13 -13
  682. package/fesm2015/fundamental-ngx-core-skeleton.mjs +7 -7
  683. package/fesm2015/fundamental-ngx-core-slider.mjs +13 -13
  684. package/fesm2015/fundamental-ngx-core-split-button.mjs +13 -13
  685. package/fesm2015/fundamental-ngx-core-splitter.mjs +22 -22
  686. package/fesm2015/fundamental-ngx-core-status-indicator.mjs +7 -7
  687. package/fesm2015/fundamental-ngx-core-step-input.mjs +10 -10
  688. package/fesm2015/fundamental-ngx-core-switch.mjs +10 -10
  689. package/fesm2015/fundamental-ngx-core-table.mjs +52 -52
  690. package/fesm2015/fundamental-ngx-core-tabs.mjs +68 -55
  691. package/fesm2015/fundamental-ngx-core-tabs.mjs.map +1 -1
  692. package/fesm2015/fundamental-ngx-core-text.mjs +7 -7
  693. package/fesm2015/fundamental-ngx-core-theming.mjs +7 -7
  694. package/fesm2015/fundamental-ngx-core-tile.mjs +103 -103
  695. package/fesm2015/fundamental-ngx-core-time-picker.mjs +10 -10
  696. package/fesm2015/fundamental-ngx-core-time.mjs +16 -16
  697. package/fesm2015/fundamental-ngx-core-timeline.mjs +43 -43
  698. package/fesm2015/fundamental-ngx-core-title.mjs +7 -7
  699. package/fesm2015/fundamental-ngx-core-token.mjs +16 -16
  700. package/fesm2015/fundamental-ngx-core-token.mjs.map +1 -1
  701. package/fesm2015/fundamental-ngx-core-toolbar.mjs +31 -31
  702. package/fesm2015/fundamental-ngx-core-tree.mjs +31 -31
  703. package/fesm2015/fundamental-ngx-core-upload-collection.mjs +37 -37
  704. package/fesm2015/fundamental-ngx-core-vertical-navigation.mjs +13 -13
  705. package/fesm2015/fundamental-ngx-core-wizard.mjs +31 -31
  706. package/fesm2015/fundamental-ngx-core.mjs +4 -4
  707. package/fesm2020/fundamental-ngx-core-action-bar.mjs +25 -25
  708. package/fesm2020/fundamental-ngx-core-action-sheet.mjs +26 -26
  709. package/fesm2020/fundamental-ngx-core-alert.mjs +13 -13
  710. package/fesm2020/fundamental-ngx-core-avatar-group.mjs +28 -28
  711. package/fesm2020/fundamental-ngx-core-avatar.mjs +7 -7
  712. package/fesm2020/fundamental-ngx-core-bar.mjs +28 -28
  713. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs +13 -13
  714. package/fesm2020/fundamental-ngx-core-busy-indicator.mjs +10 -10
  715. package/fesm2020/fundamental-ngx-core-button.mjs +13 -13
  716. package/fesm2020/fundamental-ngx-core-calendar.mjs +34 -34
  717. package/fesm2020/fundamental-ngx-core-card.mjs +58 -58
  718. package/fesm2020/fundamental-ngx-core-carousel.mjs +25 -19
  719. package/fesm2020/fundamental-ngx-core-carousel.mjs.map +1 -1
  720. package/fesm2020/fundamental-ngx-core-checkbox.mjs +10 -10
  721. package/fesm2020/fundamental-ngx-core-combobox.mjs +22 -22
  722. package/fesm2020/fundamental-ngx-core-combobox.mjs.map +1 -1
  723. package/fesm2020/fundamental-ngx-core-content-density.mjs +37 -37
  724. package/fesm2020/fundamental-ngx-core-date-picker.mjs +10 -10
  725. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs +10 -10
  726. package/fesm2020/fundamental-ngx-core-datetime.mjs +24 -24
  727. package/fesm2020/fundamental-ngx-core-dialog.mjs +66 -60
  728. package/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
  729. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs +49 -49
  730. package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs +13 -13
  731. package/fesm2020/fundamental-ngx-core-facets.mjs +13 -13
  732. package/fesm2020/fundamental-ngx-core-feed-input.mjs +16 -16
  733. package/fesm2020/fundamental-ngx-core-feed-list-item.mjs +22 -22
  734. package/fesm2020/fundamental-ngx-core-file-uploader.mjs +19 -19
  735. package/fesm2020/fundamental-ngx-core-fixed-card-layout.mjs +13 -13
  736. package/fesm2020/fundamental-ngx-core-flexible-column-layout.mjs +7 -7
  737. package/fesm2020/fundamental-ngx-core-form.mjs +79 -79
  738. package/fesm2020/fundamental-ngx-core-formatted-text.mjs +7 -7
  739. package/fesm2020/fundamental-ngx-core-grid-list.mjs +46 -46
  740. package/fesm2020/fundamental-ngx-core-icon.mjs +7 -7
  741. package/fesm2020/fundamental-ngx-core-illustrated-message.mjs +19 -19
  742. package/fesm2020/fundamental-ngx-core-infinite-scroll.mjs +7 -7
  743. package/fesm2020/fundamental-ngx-core-info-label.mjs +7 -7
  744. package/fesm2020/fundamental-ngx-core-inline-help.mjs +7 -7
  745. package/fesm2020/fundamental-ngx-core-input-group.mjs +22 -22
  746. package/fesm2020/fundamental-ngx-core-layout-grid.mjs +13 -13
  747. package/fesm2020/fundamental-ngx-core-layout-panel.mjs +31 -31
  748. package/fesm2020/fundamental-ngx-core-link.mjs +7 -7
  749. package/fesm2020/fundamental-ngx-core-list.mjs +73 -64
  750. package/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
  751. package/fesm2020/fundamental-ngx-core-menu.mjs +48 -48
  752. package/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
  753. package/fesm2020/fundamental-ngx-core-message-box.mjs +41 -42
  754. package/fesm2020/fundamental-ngx-core-message-box.mjs.map +1 -1
  755. package/fesm2020/fundamental-ngx-core-message-page.mjs +19 -19
  756. package/fesm2020/fundamental-ngx-core-message-strip.mjs +22 -22
  757. package/fesm2020/fundamental-ngx-core-message-toast.mjs +16 -16
  758. package/fesm2020/fundamental-ngx-core-micro-process-flow.mjs +22 -22
  759. package/fesm2020/fundamental-ngx-core-multi-combobox.mjs +24 -24
  760. package/fesm2020/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  761. package/fesm2020/fundamental-ngx-core-multi-input.mjs +18 -18
  762. package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
  763. package/fesm2020/fundamental-ngx-core-nested-list.mjs +43 -43
  764. package/fesm2020/fundamental-ngx-core-notification.mjs +64 -64
  765. package/fesm2020/fundamental-ngx-core-object-identifier.mjs +7 -7
  766. package/fesm2020/fundamental-ngx-core-object-marker.mjs +7 -7
  767. package/fesm2020/fundamental-ngx-core-object-number.mjs +7 -7
  768. package/fesm2020/fundamental-ngx-core-object-status.mjs +7 -7
  769. package/fesm2020/fundamental-ngx-core-overflow-layout.mjs +31 -31
  770. package/fesm2020/fundamental-ngx-core-pagination.mjs +13 -13
  771. package/fesm2020/fundamental-ngx-core-panel.mjs +16 -16
  772. package/fesm2020/fundamental-ngx-core-popover.mjs +89 -59
  773. package/fesm2020/fundamental-ngx-core-popover.mjs.map +1 -1
  774. package/fesm2020/fundamental-ngx-core-product-switch.mjs +10 -10
  775. package/fesm2020/fundamental-ngx-core-progress-indicator.mjs +7 -7
  776. package/fesm2020/fundamental-ngx-core-quick-view.mjs +37 -37
  777. package/fesm2020/fundamental-ngx-core-radio.mjs +10 -10
  778. package/fesm2020/fundamental-ngx-core-rating-indicator.mjs +10 -10
  779. package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs +10 -10
  780. package/fesm2020/fundamental-ngx-core-scroll-spy.mjs +7 -7
  781. package/fesm2020/fundamental-ngx-core-scrollbar.mjs +12 -8
  782. package/fesm2020/fundamental-ngx-core-scrollbar.mjs.map +1 -1
  783. package/fesm2020/fundamental-ngx-core-segmented-button.mjs +7 -7
  784. package/fesm2020/fundamental-ngx-core-select.mjs +25 -25
  785. package/fesm2020/fundamental-ngx-core-select.mjs.map +1 -1
  786. package/fesm2020/fundamental-ngx-core-shared.mjs +3 -3
  787. package/fesm2020/fundamental-ngx-core-shellbar.mjs +37 -37
  788. package/fesm2020/fundamental-ngx-core-side-navigation.mjs +13 -13
  789. package/fesm2020/fundamental-ngx-core-skeleton.mjs +7 -7
  790. package/fesm2020/fundamental-ngx-core-slider.mjs +13 -13
  791. package/fesm2020/fundamental-ngx-core-split-button.mjs +13 -13
  792. package/fesm2020/fundamental-ngx-core-splitter.mjs +22 -22
  793. package/fesm2020/fundamental-ngx-core-status-indicator.mjs +7 -7
  794. package/fesm2020/fundamental-ngx-core-step-input.mjs +10 -10
  795. package/fesm2020/fundamental-ngx-core-switch.mjs +10 -10
  796. package/fesm2020/fundamental-ngx-core-table.mjs +52 -52
  797. package/fesm2020/fundamental-ngx-core-tabs.mjs +68 -55
  798. package/fesm2020/fundamental-ngx-core-tabs.mjs.map +1 -1
  799. package/fesm2020/fundamental-ngx-core-text.mjs +7 -7
  800. package/fesm2020/fundamental-ngx-core-theming.mjs +7 -7
  801. package/fesm2020/fundamental-ngx-core-tile.mjs +103 -103
  802. package/fesm2020/fundamental-ngx-core-time-picker.mjs +10 -10
  803. package/fesm2020/fundamental-ngx-core-time.mjs +16 -16
  804. package/fesm2020/fundamental-ngx-core-timeline.mjs +43 -43
  805. package/fesm2020/fundamental-ngx-core-title.mjs +7 -7
  806. package/fesm2020/fundamental-ngx-core-token.mjs +16 -16
  807. package/fesm2020/fundamental-ngx-core-token.mjs.map +1 -1
  808. package/fesm2020/fundamental-ngx-core-toolbar.mjs +31 -31
  809. package/fesm2020/fundamental-ngx-core-tree.mjs +31 -31
  810. package/fesm2020/fundamental-ngx-core-upload-collection.mjs +37 -37
  811. package/fesm2020/fundamental-ngx-core-vertical-navigation.mjs +13 -13
  812. package/fesm2020/fundamental-ngx-core-wizard.mjs +31 -31
  813. package/fesm2020/fundamental-ngx-core.mjs +4 -4
  814. package/fundamental-ngx-core-v0.43.0-rc.21.tgz +0 -0
  815. package/list/list-item/list-item.component.d.ts +5 -1
  816. package/package.json +11 -11
  817. package/popover/popover-body/popover-body.component.d.ts +7 -2
  818. package/popover/popover-service/popover.service.d.ts +4 -0
  819. package/popover/popover.component.d.ts +2 -2
  820. package/schematics/add-dependencies/index.js +6 -6
  821. package/scrollbar/scrollbar.directive.d.ts +2 -0
  822. package/tabs/tab-list.component.d.ts +3 -1
  823. package/tabs/tab-panel/tab-panel.component.d.ts +2 -0
  824. package/fundamental-ngx-core-v0.43.0-rc.2.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-carousel.mjs","sources":["../../../../libs/core/src/lib/carousel/carousel-item.directive.ts","../../../../libs/core/src/lib/carousel/carousel.service.ts","../../../../libs/core/src/lib/carousel/carousel.directive.ts","../../../../libs/core/src/lib/carousel/carousel-item/carousel-item.component.ts","../../../../libs/core/src/lib/carousel/carousel-item/carousel-item.component.html","../../../../libs/core/src/lib/carousel/i18n/carousel-resources.ts","../../../../libs/core/src/lib/carousel/carousel.component.ts","../../../../libs/core/src/lib/carousel/carousel.component.html","../../../../libs/core/src/lib/carousel/carousel.module.ts","../../../../libs/core/src/lib/carousel/fundamental-ngx-core-carousel.ts"],"sourcesContent":["import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\nlet carouselItemCounter = 0;\n\n@Directive({\n selector: '[fd-carousel-item], [fdCarouselItem]',\n exportAs: 'fdCarouselItem'\n})\nexport class CarouselItemDirective {\n /** Value of the item , to keep some information inside */\n @Input()\n value: any;\n\n /** Initial height value, needed when carousel is inside popover */\n @Input()\n initialHeight: number;\n\n /** Initial height value, needed when carousel is inside popover */\n @Input()\n initialWidth: number;\n\n /** Carousel Id, it has some default value if not set, */\n @Input()\n @HostBinding('attr.id')\n id: string = 'carousel-item-id-' + carouselItemCounter++;\n\n /** @hidden */\n constructor(private readonly _elementRef: ElementRef<HTMLElement>) {}\n\n /** Native element */\n get element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** Width of element */\n getWidth(): number {\n return this.element.getBoundingClientRect().width || this.initialWidth;\n }\n\n /** Height of element */\n getHeight(): number {\n return this.element.getBoundingClientRect().height || this.initialHeight;\n }\n}\n","import { ElementRef, EventEmitter, Inject, OnDestroy, QueryList, Injectable } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { fromEvent, merge, Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nexport const DEFAULT_TRANSITION_DURATION = '150ms';\n\nexport interface CarouselItemInterface {\n element: HTMLElement;\n getHeight(): number;\n getWidth(): number;\n}\n\nexport interface CarouselConfig {\n /** Defines if carousel items are placed vertically */\n vertical?: boolean;\n /** Amount of visible elements in carousel */\n elementsAtOnce?: number;\n /** Defines if support for gestures, like touch swipe or mouse drag should be enabled */\n gestureSupport?: boolean;\n /** Defines if carousel should move elements to sides. It allows to slide infinitely in one direction */\n infinite?: boolean;\n /** Transition time of CSS translate, `150ms` by default */\n transition?: string;\n}\n\nexport interface PanEndOutput {\n item: CarouselItemInterface;\n after: boolean;\n}\n\n/** @dynamic */\n@Injectable({\n providedIn: 'root'\n})\nexport class CarouselService implements OnDestroy {\n /** Event thrown when element is dragged. Emits \"true\" when drag starts and \"false\" when drag ends. */\n readonly dragStateChange$: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event thrown, when active element is changed */\n readonly activeChange$: EventEmitter<PanEndOutput> = new EventEmitter<PanEndOutput>();\n\n /** Configuration for carousel */\n config: CarouselConfig;\n\n /** Initial active item of carousel, position first + offset */\n active: Nullable<CarouselItemInterface>;\n\n /** Set to true for rtl mode */\n isRtl = false;\n\n /** carousel items query list */\n items: QueryList<CarouselItemInterface>;\n\n /** Current transition value in px */\n set currentTransitionPx(currentTransitionPx: number) {\n this._currentTransitionPx = currentTransitionPx;\n }\n get currentTransitionPx(): number {\n return this._currentTransitionPx;\n }\n\n /** @hidden */\n private get elementsAtOnce(): number {\n const num = this.config?.elementsAtOnce ?? 1;\n\n return Math.max(1, num);\n }\n\n /** @hidden */\n private _lastDistance = 0;\n\n /** @hidden */\n private _currentTransitionPx = 0;\n\n /** @hidden */\n private _element: HTMLElement;\n\n /** @hidden */\n private _initialDragPosition = 0;\n\n /** @hidden */\n private _lastDragPosition = 0;\n\n /** @hidden */\n private _listenToMouseMove = false;\n /** @hidden */\n private _dragStarted = false;\n\n /**\n * @hidden\n * An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing)\n */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(@Inject(DOCUMENT) private readonly _document: Document | null) {}\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n\n this.activeChange$.complete();\n this.dragStateChange$.complete();\n }\n\n /** set initial values for the service */\n initialise(\n config: CarouselConfig,\n items: QueryList<CarouselItemInterface>,\n listElementReference: ElementRef\n ): void {\n this.config = config;\n this.setElement(listElementReference);\n this.setItems(items);\n\n if (this.config.gestureSupport) {\n this._setupGestures();\n }\n }\n\n /** update config value for the service */\n updateConfig(config: CarouselConfig): void {\n this.config = config;\n }\n\n /** set element ref */\n setElement(elementRef: ElementRef): void {\n this._element = elementRef.nativeElement;\n }\n\n /** set items and assign active item, if not already there */\n setItems(items: QueryList<CarouselItemInterface>): void {\n this.items = items;\n\n if (!this.active) {\n this.active = this.items.first;\n }\n }\n\n /** Change active element */\n goToItem(item: CarouselItemInterface, smooth?: boolean): void {\n let index = this._getIndexOfItem(item);\n if (this.config.infinite) {\n this._centerActive(index);\n\n index = this._getIndexOfItem(item);\n }\n\n this._transitionToIndex(index, smooth);\n }\n\n /** pick next element and set it active */\n pickNext(): void {\n if (!this.active) {\n this.active = this.items.first;\n }\n\n const activeItemIndex = this._getIndexOfItem(this.active);\n const itemToActivate = this.items.get(activeItemIndex + 1) ?? this.items.first;\n\n this.goToItem(itemToActivate, true);\n this.active = itemToActivate;\n }\n\n /** pick previous element and set it active */\n pickPrevious(): void {\n if (!this.active) {\n this.active = this.items.get(2);\n }\n\n const activeItemIndex = this._getIndexOfItem(this.active);\n let itemToActivate = this.items.get(activeItemIndex - 1);\n\n // case where slides can move infinitely in one direction\n // handle case where on-load activeItemIndex = 0 and activeItemIndex - 1 returns undefined item from item array.\n if (!itemToActivate) {\n itemToActivate = this.items.last;\n }\n\n this.goToItem(itemToActivate, true);\n this.active = itemToActivate;\n }\n\n /** @hidden */\n private _centerActive(index: number): void {\n const middleIndex = Math.ceil(this.items.length / 2);\n const offset = Math.ceil(this.elementsAtOnce / 2);\n const missingItems = index + offset - middleIndex;\n const array = this.items.toArray();\n\n if (missingItems > 0) {\n for (let i = 0; i < missingItems; i++) {\n const item = array.shift();\n item && array.push(item);\n }\n } else {\n for (let i = 0; i < Math.abs(missingItems); i++) {\n const item = array.pop();\n item && array.unshift(item);\n }\n }\n\n /** Changing order of elements in QueryList and Native HTML */\n this.items.reset(array);\n this.items.forEach((item) => item.element.parentNode?.appendChild(item.element));\n\n /**\n * For proper animation it's needed to transform elements,\n * by changing transition by amount of elements placed at top/bottom\n */\n this._element.style.transitionDuration = '0s';\n this._transitionCarousel(this._currentTransitionPx + this._getSize(this.items.first) * missingItems);\n }\n\n /** @hidden */\n private _transitionToIndex(index: number, smooth?: boolean): void {\n let transitionPx: number = this._getSize(this.items.first) * index;\n\n this._element.style.transitionDuration = smooth ? this._getTransition() : '0s';\n\n if (!this.isRtl || (this.config.vertical && this.isRtl)) {\n transitionPx = -transitionPx;\n }\n\n this._transitionCarousel(transitionPx);\n }\n\n /** @hidden Get closes element, based on current transition */\n private _getClosest(): CarouselItemInterface {\n /** If transition is positive, it should go to first element */\n if (\n !this.config.infinite &&\n ((!this.config.vertical &&\n ((!this.isRtl && this._currentTransitionPx > 0) || (this.isRtl && this._currentTransitionPx < 0))) ||\n (this.config.vertical && this._currentTransitionPx > 0))\n ) {\n return this.items.first;\n }\n\n const size = this._getSize(this.items.first);\n\n /** When scroll is after half of element, then ext one should be active */\n const halfApproached: boolean = Math.abs(this._currentTransitionPx % size) > size / 2;\n /**\n * Index based on transition px divided by size of elements,\n * every element should have same width, otherwise it should be looped through all elements,\n * which is not good for performance\n */\n let index = Math.ceil(Math.abs(this._currentTransitionPx / size));\n\n // When elementsAtOnce > 1, swiping should stop at last index - elementsAtOnce\n const elementsAtOnce = this.elementsAtOnce;\n if (!this.config.infinite && elementsAtOnce > 1) {\n // When there're less items in the carousel than the area might display, it should stop to first\n if (this.items.length < elementsAtOnce) {\n return this.items.first;\n }\n\n if (index + elementsAtOnce >= this.items.length) {\n return this.items.get(this.items.length - elementsAtOnce) ?? this.items.first;\n }\n }\n\n index = index + (halfApproached ? 0 : -1);\n const item = this.items.get(index);\n\n /** Checking if transition went out of scope of array */\n return item || this.items.last;\n }\n\n /** @hidden */\n private _getIndexOfItem(item?: CarouselItemInterface): number {\n if (!item) {\n return -1;\n }\n return this.items.toArray().findIndex((_item) => _item === item);\n }\n\n /** @hidden Getting size of carousel, width for horizontal, height for vertical */\n private _getSize(item: CarouselItemInterface): number {\n if (this.config.vertical) {\n return item.getHeight();\n }\n\n return item.getWidth();\n }\n\n /** @hidden */\n private _handlePan(delta: number): void {\n const distance = delta - this._lastDistance;\n\n this._lastDistance = delta;\n\n this._transitionCarousel(this._currentTransitionPx + distance);\n }\n\n /** @hidden */\n private _handlePanEnd(delta: number): void {\n this._handlePan(delta);\n\n const closestItem: CarouselItemInterface = this._getClosest();\n\n this.goToItem(closestItem, true);\n\n if (!this.active) {\n this.active = closestItem;\n this.activeChange$.emit({\n item: closestItem,\n after: delta < 0\n });\n } else if (this.active !== closestItem) {\n this.active = closestItem;\n this.activeChange$.emit({\n item: closestItem,\n after: delta < 0\n });\n }\n\n this.dragStateChange$.emit(false);\n this._lastDistance = 0;\n }\n\n /**\n * @hidden Animates the carousel to the currently selected slide.\n */\n private _transitionCarousel(transitionPx: number): void {\n this._currentTransitionPx = transitionPx;\n const axis = this.config.vertical ? 'Y' : 'X';\n\n this._element.style.transform = `translate${axis}(${this._currentTransitionPx}px)`;\n }\n\n /** @hidden Pam Start handler, removes transition duration, */\n private _handlePanStart(): void {\n this._element.style.transitionDuration = '0s';\n this.dragStateChange$.emit(true);\n }\n\n /** @hidden */\n private _setupGestures(): void {\n this._setupDragStart();\n this._setupDrag();\n this._setupDragEnd();\n }\n\n /** @hidden */\n private _subscribeToEvents(\n events: string[],\n element: HTMLElement | Document,\n callback: (event: MouseEvent | TouchEvent) => void\n ): void {\n merge(events.map((e) => fromEvent<MouseEvent | TouchEvent>(element, e, { passive: true }))).forEach(\n (evt: Observable<MouseEvent | TouchEvent>) => {\n evt.pipe(takeUntil(this._onDestroy$)).subscribe((event) => {\n callback(event);\n });\n }\n );\n }\n\n /** @hidden */\n private _setupDragStart(): void {\n const events = ['mousedown', 'touchstart'];\n\n this._subscribeToEvents(events, this._element, (event) => {\n this._listenToMouseMove = true;\n this._lastDragPosition = this._initialDragPosition = this._getDragCoordinate(event);\n this._handlePanStart();\n });\n }\n\n /** @hidden */\n private _setupDrag(): void {\n const events = ['mousemove', 'touchmove'];\n\n if (!this._document) {\n throw new Error(\n `Could not setup drag event subscription. Expected to get document ref, got ${this._document} instead`\n );\n }\n\n this._subscribeToEvents(events, this._document, (event) => {\n const coordinate = this._getDragCoordinate(event);\n\n if (!this._listenToMouseMove || coordinate === this._lastDragPosition) {\n return;\n }\n\n this._dragStarted = true;\n this._handlePan(this._getDraggedDelta(coordinate));\n });\n }\n\n /** @hidden */\n private _setupDragEnd(): void {\n const events = ['mouseup', 'touchend'];\n\n if (!this._document) {\n throw new Error(\n `Could not setup drag event subscription. Expected to get document ref, got ${this._document} instead`\n );\n }\n\n this._subscribeToEvents(events, this._document, (event) => {\n if (!this._listenToMouseMove) {\n return;\n }\n\n if (this._dragStarted) {\n this._handlePanEnd(this._getDraggedDelta(this._getDragCoordinate(event)));\n } else {\n this.dragStateChange$.emit(false);\n }\n\n this._listenToMouseMove = false;\n this._dragStarted = false;\n });\n }\n\n /** @hidden */\n private _getTransition(): string {\n return this.config?.transition ?? DEFAULT_TRANSITION_DURATION;\n }\n\n /** @hidden */\n private _getDraggedDelta(offset: number): number {\n this._lastDragPosition = offset;\n\n return offset - this._initialDragPosition;\n }\n\n /** @hidden */\n private _getDragCoordinate(event: MouseEvent | TouchEvent): number {\n let coordinates: Touch | MouseEvent;\n\n if (this._isTouchEvent(event)) {\n coordinates = event.touches[0] || event.changedTouches[0];\n } else {\n coordinates = event;\n }\n\n return this.config.vertical ? coordinates.pageY : coordinates.pageX;\n }\n\n /** @hidden */\n private _isTouchEvent(event: MouseEvent | TouchEvent): event is TouchEvent {\n return window.TouchEvent && event instanceof TouchEvent;\n }\n}\n","import {\n AfterContentInit,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n QueryList\n} from '@angular/core';\n\nimport { CarouselConfig, CarouselService, PanEndOutput } from './carousel.service';\nimport { CarouselItemDirective } from './carousel-item.directive';\n\n@Directive({\n selector: '[fdCarousel]',\n host: {\n class: 'fd-carousel_'\n },\n providers: [CarouselService]\n})\nexport class CarouselDirective implements AfterContentInit {\n /** Configuration for carousel */\n @Input()\n config: CarouselConfig;\n\n /** Initial active item of carousel, position first + offset */\n @Input()\n active: CarouselItemDirective;\n\n /** @hidden */\n get carouselService(): CarouselService {\n return this._carouselService;\n }\n\n /** Event thrown, when active element is changed */\n @Output()\n readonly activeChange: EventEmitter<PanEndOutput> = new EventEmitter<PanEndOutput>();\n\n /** Event thrown when element is dragged. Emits \"true\" when drag starts and \"false\" when drag ends. */\n @Output()\n readonly dragStateChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden */\n @ContentChildren(CarouselItemDirective, { descendants: true })\n items: QueryList<CarouselItemDirective>;\n\n /** @hidden */\n constructor(private readonly _elementRef: ElementRef, private readonly _carouselService: CarouselService) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._carouselService.initialise(this.config, this.items, this._elementRef);\n\n this._carouselService.activeChange$.subscribe((event) => this.activeChange.emit(event));\n this._carouselService.dragStateChange$.subscribe((event) => this.dragStateChange.emit(event));\n }\n\n /** Change active element */\n goToItem(item: CarouselItemDirective, smooth?: boolean): void {\n this._carouselService.goToItem(item, smooth);\n }\n\n /** Pick previous carousel item */\n pickPrevious(): void {\n this._carouselService.pickPrevious();\n }\n\n /** Pick next carousel item */\n pickNext(): void {\n this._carouselService.pickNext();\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { CarouselItemInterface } from '../carousel.service';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nexport type Visibility = 'visible' | 'hidden';\n\nlet carouselItemCounter = 0;\n\n@Component({\n selector: 'fd-carousel-item',\n templateUrl: './carousel-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class CarouselItemComponent implements CarouselItemInterface {\n /** Id of the Carousel items. */\n @Input()\n @HostBinding('attr.id')\n id = `fd-carousel-item-${carouselItemCounter++}`;\n\n /** Sets aria-label attribute for carousel item */\n @Input()\n @HostBinding('attr.aria-label')\n ariaLabel: Nullable<string>;\n\n /** Sets aria-labelledby attribute for carousel item */\n @Input()\n @HostBinding('attr.aria-labelledby')\n ariaLabelledBy: Nullable<string>;\n\n /** Sets aria-describedby attribute for carousel item */\n @Input()\n @HostBinding('attr.aria-describedby')\n ariaDescribedBy: Nullable<string>;\n\n /**\n * Loading indicator when item is not yet loaded\n */\n @Input()\n loading = false;\n\n /** Sets tooltip for carousel item */\n @Input()\n @HostBinding('attr.title')\n title = null;\n\n /** Initial height value, needed when carousel is inside popover */\n @Input()\n initialHeight: number;\n\n /** Initial height value, needed when carousel is inside popover */\n @Input()\n initialWidth: number;\n\n /** Value of carousel item */\n @Input()\n value: any;\n\n /** @hidden */\n @HostBinding('class.fd-carousel__item')\n carouselItem = true;\n\n /** @hidden */\n @HostBinding('class.fd-carousel__item--active')\n carouselItemActive = true;\n\n /** @hidden Hide/show slide, useful for managing tab order */\n @HostBinding('style.visibility')\n _visibility: Visibility = 'visible';\n\n /** @hidden */\n set visibility(visibility: Visibility) {\n this._visibility = visibility;\n }\n\n get visibility(): Visibility {\n return this._visibility;\n }\n\n /** @hidden */\n constructor(private readonly _elementRef: ElementRef<HTMLElement>) {}\n\n /** Native element */\n get element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** Width of element */\n getWidth(): number {\n return this.element.getBoundingClientRect().width || this.initialWidth;\n }\n\n /** Height of element */\n getHeight(): number {\n return this.element.getBoundingClientRect().height || this.initialHeight;\n }\n}\n","<fd-busy-indicator [loading]=\"loading\">\n <ng-content></ng-content>\n</fd-busy-indicator>\n","export interface FdCarouselResourceStrings {\n fd_carousel_of?: string;\n fd_carousel_reader?: string;\n}\n\nexport const CarouselResourceStringsEN: FdCarouselResourceStrings = {\n fd_carousel_of: 'of',\n fd_carousel_reader: 'Displaying item'\n};\n","import {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Direction } from '@angular/cdk/bidi';\nimport { debounceTime, take, takeUntil } from 'rxjs/operators';\nimport { Subject, merge } from 'rxjs';\n\nimport { resizeObservable, RtlService } from '@fundamental-ngx/cdk/utils';\n\nimport { CarouselItemComponent } from './carousel-item/carousel-item.component';\nimport { CarouselResourceStringsEN, FdCarouselResourceStrings } from './i18n/carousel-resources';\nimport { CarouselConfig, CarouselItemInterface, CarouselService, PanEndOutput } from './carousel.service';\n\n/** Page limit to switch to numerical indicator */\nconst ICON_PAGE_INDICATOR_LIMIT = 8;\n\nexport type PageIndicatorsOrientation = 'bottom' | 'top';\n\nexport enum SlideDirection {\n None,\n NEXT,\n PREVIOUS\n}\n\nexport interface FittingSlidesAndWidth {\n width: number;\n slides: number;\n}\n\nlet carouselCounter = 0;\n\nclass CarouselActiveSlides {\n constructor(public readonly activeItems: CarouselItemComponent[], public readonly slideDirection: string) {}\n}\n\n@Component({\n selector: 'fd-carousel',\n templateUrl: './carousel.component.html',\n styleUrls: ['./carousel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [CarouselService],\n host: {\n '[style.width]': 'width'\n }\n})\nexport class CarouselComponent implements OnInit, AfterContentInit, AfterViewInit, AfterViewChecked, OnDestroy {\n /** ID for the Carousel. */\n @Input()\n @HostBinding('attr.id')\n id = `fd-carousel-${carouselCounter++}`;\n\n /** Sets aria-label attribute for carousel */\n @Input()\n ariaLabel = null;\n\n /** Sets aria-labelledby attribute for carousel */\n @Input()\n ariaLabelledBy: string;\n\n /** Sets aria-describedby attribute for carousel */\n @Input()\n ariaDescribedBy: string;\n\n /** Sets position of page indicator container. Default position is bottom. */\n @Input()\n pageIndicatorsOrientation: PageIndicatorsOrientation = 'bottom';\n\n /** Height for carousel container */\n @Input()\n height: string;\n\n /** Width for carousel container */\n @Input()\n width = '100%';\n\n /** If carousel is in circular loop */\n @Input()\n loop = false;\n\n /**\n * @deprecated use i18n capabilities instead\n * Label for left navigation button\n */\n @Input()\n leftNavigationBtnLabel: string;\n\n /**\n * @deprecated use i18n capabilities instead\n * Label for right navigation button\n */\n @Input()\n rightNavigationBtnLabel: string;\n\n /** Shows/hides optional navigation button */\n @Input()\n navigation = true;\n\n /** Show navigation button in page indicator container or inside content. Default is page indicator container on true value */\n @Input()\n navigatorInPageIndicator = true;\n\n /** Convert to Numeric page indicator */\n @Input()\n numericIndicator = false;\n\n /** Shows/hides optional page indicator container */\n @Input()\n pageIndicatorContainer = true;\n\n /** Shows/hides optional page indicator */\n @Input()\n pageIndicator = true;\n\n /**\n * An accessor that sets the resource strings.\n * By default it uses EN resources.\n */\n @Input()\n set resourceStrings(value: FdCarouselResourceStrings) {\n this._resourceStrings = Object.assign({}, this._resourceStrings, value);\n }\n\n /**\n * An accessor that returns the resource strings.\n */\n get resourceStrings(): FdCarouselResourceStrings {\n return this._resourceStrings;\n }\n\n /** Sets sliding duration in millie seconds. Default is 150 */\n @Input()\n slideTransitionDuration = 150;\n\n /** Is swipe enabled */\n @Input()\n swipeEnabled = true;\n\n /** Is carousel is vertical. Default value is false. */\n @Input()\n vertical = false;\n\n /** Number of items to be visible at a time */\n @Input()\n set visibleSlidesCount(value: number | 'auto') {\n this._visibleSlidesCount = value;\n this._visibleSlidesNumericCount = this._getVisibleSlidesCount();\n }\n\n get visibleSlidesCount(): number | 'auto' {\n return this._visibleSlidesCount;\n }\n\n /** An event that is emitted after a slide transition has happened */\n @Output()\n readonly slideChange: EventEmitter<CarouselActiveSlides> = new EventEmitter<CarouselActiveSlides>();\n\n /** @hidden */\n @ContentChildren(CarouselItemComponent, { descendants: true })\n slides: QueryList<CarouselItemComponent>;\n\n /** @hidden */\n @ViewChild('slideContainer')\n slideContainer: ElementRef;\n\n /** Carousel container element. */\n @ViewChild('carouselContainer')\n carouselContainer: ElementRef;\n\n /** @hidden Start index of currently active items */\n currentActiveSlidesStartIndex = 0;\n\n /** @hidden handles rtl service */\n dir: Direction = 'ltr';\n\n /** @hidden Make left navigation button disabled */\n leftButtonDisabled = false;\n\n /** @hidden Make right navigation button disabled */\n rightButtonDisabled = false;\n\n /** @hidden Fake array for counting number of page indicator */\n pageIndicatorsCountArray: number[] = [];\n\n /** @hidden */\n _slidesWrapperSize = 0;\n\n /** @hidden */\n get _contentSizePx(): string {\n return this._slidesWrapperSize ? `${this._slidesWrapperSize}px` : this.width;\n }\n\n /** @hidden */\n private _visibleSlidesCount: number | 'auto' = 1;\n\n /** @hidden */\n private _visibleSlidesNumericCount = 1;\n\n /** @hidden */\n private _resourceStrings = CarouselResourceStringsEN;\n\n /** @hidden */\n private _config: CarouselConfig = {};\n\n /** @hidden */\n private _slidesCopy: CarouselItemComponent[] = [];\n\n /** @hidden */\n private _previousVisibleSlidesCount: number;\n\n /** @hidden */\n private _slideSwiped = false;\n\n /** @hidden 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 constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n private readonly _renderer: Renderer2,\n private readonly _changeDetectorRef: ChangeDetectorRef,\n private readonly _carouselService: CarouselService,\n private readonly _zone: NgZone,\n @Optional() private readonly _rtlService: RtlService\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._subscribeToRtl();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n // On carousel load, display first slide + number of slide visible\n this.currentActiveSlidesStartIndex = 0;\n\n // Change pagination display to numeric, if item count is more than 8\n if (this.slides.length > ICON_PAGE_INDICATOR_LIMIT) {\n this.numericIndicator = true;\n }\n\n if (this.slides.length > 0) {\n this._initializeCarousel();\n } else {\n this.leftButtonDisabled = true;\n this.rightButtonDisabled = true;\n\n // Disable swipe when there is no carousel item\n this.swipeEnabled = false;\n this.navigation = false;\n }\n\n // Keep copy of original slide array, for indicator purpose.\n // In case of looped carousel, original slides array changes.\n this._slidesCopy = this.slides.toArray();\n\n this._subscribeServiceEvents();\n\n // Subscribe to dynamic update of slides\n this.slides.changes.pipe(takeUntil(this._onDestroy$)).subscribe(() => this._onSlideUpdates());\n\n this._changeDetectorRef.markForCheck();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._initializeServiceConfig();\n this._carouselService.initialise(this._config, this.slides, this.slideContainer);\n this._previousVisibleSlidesCount = this._visibleSlidesNumericCount;\n\n this._resizeContentContainer();\n }\n\n /** @hidden */\n ngAfterViewChecked(): void {\n if (this._previousVisibleSlidesCount && this._previousVisibleSlidesCount !== this._visibleSlidesNumericCount) {\n this._initializeCarousel();\n this._initializeServiceConfig();\n this._carouselService.updateConfig(this._config);\n this._previousVisibleSlidesCount = this._visibleSlidesNumericCount;\n this._changeDetectorRef.detectChanges();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n get _showNavigationButtonInPageIndicatorContainer(): boolean {\n return this.navigatorInPageIndicator && this.pageIndicatorsCountArray.length > 1;\n }\n\n /** @hidden */\n get _showNavigationButtonInContent(): boolean {\n return !this.navigatorInPageIndicator && this.pageIndicatorsCountArray.length > 1;\n }\n\n /** @hidden */\n get _showPageIndicatorContainer(): boolean {\n return this.pageIndicatorContainer && (this.pageIndicatorsCountArray.length > 0 || this.numericIndicator);\n }\n\n /** @hidden */\n get getPageIndicatorLabel(): string {\n return `${this.currentActiveSlidesStartIndex + 1} ${this.resourceStrings.fd_carousel_of} ${\n this.pageIndicatorsCountArray.length\n }`;\n }\n\n /** @hidden */\n get screenReaderLabel(): string {\n return `${this.resourceStrings.fd_carousel_reader} ${this.currentActiveSlidesStartIndex + 1} ${\n this.resourceStrings.fd_carousel_of\n } ${this.pageIndicatorsCountArray.length}`;\n }\n\n /** @hidden */\n _focus(): void {\n const el = this._elementRef.nativeElement;\n if (el !== document.activeElement) {\n el.focus({ preventScroll: true });\n }\n }\n\n /** get value for rtl */\n _isRtl(): boolean {\n return this._rtlService?.rtl.getValue();\n }\n\n /** @hidden */\n @HostListener('keydown.arrowright', ['$event'])\n onKeydownArrowRight(event: KeyboardEvent): void {\n event.preventDefault();\n this._isRtl() ? this.previous() : this.next();\n }\n\n /** @hidden */\n @HostListener('keydown.arrowleft', ['$event'])\n onKeydownArrowLeft(event: KeyboardEvent): void {\n event.preventDefault();\n this._isRtl() ? this.next() : this.previous();\n }\n\n /** Transitions to the previous slide in the carousel. */\n previous(): void {\n if (!this.loop && this.currentActiveSlidesStartIndex <= 0) {\n return;\n }\n this.rightButtonDisabled = false;\n this._adjustActiveItemPosition(SlideDirection.PREVIOUS);\n this._preventDefaultBtnFocus();\n this._carouselService.pickPrevious();\n\n this._notifySlideChange(SlideDirection.PREVIOUS);\n this._changeDetectorRef.detectChanges();\n }\n\n /** Transitions to the next slide in the carousel. */\n next(): void {\n if (!this.loop && this.currentActiveSlidesStartIndex >= this.pageIndicatorsCountArray.length - 1) {\n return;\n }\n\n // Moving to next slide\n this.leftButtonDisabled = false;\n this._adjustActiveItemPosition(SlideDirection.NEXT);\n this._preventDefaultBtnFocus();\n this._carouselService.pickNext();\n this._notifySlideChange(SlideDirection.NEXT);\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden Subscribe to carousel service events */\n private _subscribeServiceEvents(): void {\n this._carouselService.activeChange$.subscribe((event) => this._onSlideSwipe(event));\n this._carouselService.dragStateChange$.subscribe((event) => this._onSlideDrag(event));\n }\n\n /**\n * @hidden Prevent native focus flow related to button, if button will be disable on focus state.\n * It works only if carousel is not in circular loop.\n */\n private _preventDefaultBtnFocus(): void {\n if (this.loop) {\n return;\n }\n const isFirst = this.currentActiveSlidesStartIndex === 0;\n const isLast = this.currentActiveSlidesStartIndex === this.pageIndicatorsCountArray.length - 1;\n if (isFirst || isLast) {\n this._elementRef.nativeElement.focus({ preventScroll: true });\n }\n }\n\n /** @hidden Adjust position of active item, based on slide direction */\n private _adjustActiveItemPosition(slideDirection: SlideDirection, step: number = 1): void {\n // Move one step in the direction\n const positionAdjustment = slideDirection === SlideDirection.NEXT ? step : -step;\n this.currentActiveSlidesStartIndex = this.currentActiveSlidesStartIndex + positionAdjustment;\n\n // If carousel set to loop\n if (this.loop) {\n if (this.currentActiveSlidesStartIndex < 0) {\n this.currentActiveSlidesStartIndex = this.slides.length + this.currentActiveSlidesStartIndex;\n } else if (this.currentActiveSlidesStartIndex >= this.slides.length) {\n this.currentActiveSlidesStartIndex = this.currentActiveSlidesStartIndex % this.slides.length;\n }\n } else {\n this._buttonVisibility();\n }\n }\n\n /** @hidden Handles navigation button visibility */\n private _buttonVisibility(): void {\n if (!this.loop) {\n // Need to disable navigation button if either direction limit has reached.\n if (this.currentActiveSlidesStartIndex === 0) {\n this.leftButtonDisabled = true;\n this.rightButtonDisabled = false;\n } else if (this.slides.length - 1 === this.currentActiveSlidesStartIndex) {\n this.rightButtonDisabled = true;\n this.leftButtonDisabled = false;\n } else if (\n this._visibleSlidesNumericCount > 1 &&\n this.currentActiveSlidesStartIndex + this._visibleSlidesNumericCount >= this.slides.length\n ) {\n this.rightButtonDisabled = true;\n } else {\n this.leftButtonDisabled = false;\n this.rightButtonDisabled = false;\n }\n\n if (this.slides.length === 1) {\n this.leftButtonDisabled = true;\n this.rightButtonDisabled = true;\n }\n }\n }\n\n /** @hidden Handle when slide is added or removed */\n private _onSlideUpdates(): void {\n this._slidesCopy = this.slides.toArray();\n this.currentActiveSlidesStartIndex = 0;\n this._carouselService.initialise(this._config, this.slides, this.slideContainer);\n this._carouselService.active = null;\n if (this.vertical) {\n this._renderer.setStyle(this.slideContainer?.nativeElement, 'transform', 'translateY(0px)');\n } else {\n this._renderer.setStyle(this.slideContainer?.nativeElement, 'transform', 'translateX(0px)');\n }\n this._initializeCarousel();\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden Initialize carousel with visible items */\n private _initializeCarousel(): void {\n this._zone.onMicrotaskEmpty.pipe(take(1)).subscribe(() => {\n // Handles navigator button enabled/disabled state\n this._buttonVisibility();\n\n let arrayLength: number;\n // set page indicator count with fake array, to use in template\n if (this.loop && this._visibleSlidesNumericCount > 1) {\n // If loop with multi item visible.\n arrayLength = this.slides.length;\n } else {\n arrayLength = this.slides.length - this._visibleSlidesNumericCount + 1;\n }\n\n const pageIndicatorsIfZeroCount = this.slides.length === 0 ? 0 : 1;\n\n this.pageIndicatorsCountArray = new Array(arrayLength > 0 ? arrayLength : pageIndicatorsIfZeroCount);\n\n this._goToFirstItem();\n\n this.slides.forEach((_slide, index) => {\n if (\n index >= this.currentActiveSlidesStartIndex &&\n index < this.currentActiveSlidesStartIndex + this._visibleSlidesNumericCount\n ) {\n _slide.visibility = 'visible';\n } else {\n _slide.visibility = 'hidden';\n }\n });\n\n this._changeDetectorRef.detectChanges();\n });\n }\n\n /** @hidden */\n private _goToFirstItem(): void {\n if (\n this.pageIndicatorsCountArray.length === 0 &&\n this._carouselService.currentTransitionPx !== 0 &&\n this.slides.length > 1\n ) {\n this.currentActiveSlidesStartIndex = 0;\n this._carouselService.goToItem(this.slides.first);\n }\n }\n\n /** @hidden Initialize config for Carousel service */\n private _initializeServiceConfig(): void {\n this._config.vertical = this.vertical;\n this._config.elementsAtOnce = this._visibleSlidesNumericCount;\n this._config.gestureSupport = this.swipeEnabled;\n this._config.infinite = this.loop;\n this._config.transition = String(this.slideTransitionDuration) + 'ms';\n // Carousel service expects transition in string format with unit.\n }\n\n /**\n * @hidden Returns the slide swapping steps\n */\n private _getStepTaken(event: PanEndOutput, actualActiveSlideIndex: number): number {\n let stepsCalculated: number;\n if (\n (!this._isRtl() && event.after) ||\n (this._isRtl() && !event.after && !this.vertical) ||\n (this.vertical && event.after)\n ) {\n if (actualActiveSlideIndex === 0 && this.currentActiveSlidesStartIndex === 0) {\n stepsCalculated = 0;\n } else if (actualActiveSlideIndex > this.currentActiveSlidesStartIndex) {\n stepsCalculated = actualActiveSlideIndex - this.currentActiveSlidesStartIndex;\n } else {\n stepsCalculated = this.slides.length - this.currentActiveSlidesStartIndex + actualActiveSlideIndex;\n }\n } else {\n // Special case, when first left swipe before slides are rotated in carousel service\n if (actualActiveSlideIndex === 0 && this.currentActiveSlidesStartIndex === 0) {\n stepsCalculated = 0;\n } else if (actualActiveSlideIndex < this.currentActiveSlidesStartIndex) {\n stepsCalculated = this.currentActiveSlidesStartIndex - actualActiveSlideIndex;\n } else {\n stepsCalculated = this.currentActiveSlidesStartIndex + this.slides.length - actualActiveSlideIndex;\n }\n }\n return stepsCalculated;\n }\n\n /** @hidden Handles notification on visible slide change */\n private _notifySlideChange(slideDirection: SlideDirection, firstActiveSlide?: CarouselItemInterface | null): void {\n const activeSlides: CarouselItemComponent[] = [];\n let firstActiveSlideIndex: number;\n\n if (this.loop) {\n firstActiveSlide = this._carouselService.active;\n }\n\n if (firstActiveSlide) {\n firstActiveSlideIndex = this.slides.toArray().findIndex((_item) => _item === firstActiveSlide);\n } else {\n firstActiveSlideIndex = this.currentActiveSlidesStartIndex;\n }\n\n for (let activeSlideIndex = 0; activeSlideIndex < this._visibleSlidesNumericCount; activeSlideIndex++) {\n const index = firstActiveSlideIndex + activeSlideIndex;\n const slide = this.slides.get(index);\n if (slide) {\n activeSlides.push(slide);\n slide.visibility = 'visible';\n }\n }\n\n this._manageSlideVisibility(firstActiveSlideIndex);\n const direction = slideDirection === SlideDirection.NEXT ? 'Next' : 'Previous';\n this.slideChange.emit(new CarouselActiveSlides(activeSlides, direction));\n }\n\n /** @hidden Manages visibility for slides. Useful in managing tab order */\n private _manageSlideVisibility(firstActiveSlideIndex: number): void {\n setTimeout(() => {\n this.slides.forEach((_slides, index) => {\n if (index >= firstActiveSlideIndex && index < firstActiveSlideIndex + this._visibleSlidesNumericCount) {\n if (_slides.visibility === 'hidden') {\n _slides.visibility = 'visible';\n }\n } else {\n if (_slides.visibility === 'visible') {\n _slides.visibility = 'hidden';\n }\n }\n });\n this._changeDetectorRef.markForCheck();\n }, this.slideTransitionDuration);\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n const refreshDirection = (): void => {\n this.dir = this._isRtl() ? 'rtl' : 'ltr';\n this._carouselService.isRtl = this.dir === 'rtl';\n\n if (this._carouselService.items && this._carouselService.active) {\n this._carouselService.goToItem(this._carouselService.active, false);\n }\n this._changeDetectorRef.detectChanges();\n };\n refreshDirection();\n this._rtlService?.rtl.pipe(takeUntil(this._onDestroy$)).subscribe(() => refreshDirection());\n }\n\n /** @hidden On Swiping of slide, manage page indicator */\n private _onSlideSwipe(event: PanEndOutput): void {\n this._slideSwiped = true;\n const firstActiveSlide = event.item;\n const actualActiveSlideIndex = this._slidesCopy.findIndex((_slide) => _slide === firstActiveSlide);\n const stepTaken = this._getStepTaken(event, actualActiveSlideIndex);\n if (stepTaken > 0) {\n let slideDirection: SlideDirection;\n if (!this._isRtl()) {\n slideDirection = event.after ? SlideDirection.NEXT : SlideDirection.PREVIOUS;\n } else {\n // vertical carousel slide direction is same in ltr and rtl\n if (this.vertical) {\n slideDirection = event.after ? SlideDirection.NEXT : SlideDirection.PREVIOUS;\n } else {\n slideDirection = event.after ? SlideDirection.PREVIOUS : SlideDirection.NEXT;\n }\n }\n this._adjustActiveItemPosition(slideDirection, stepTaken);\n this._notifySlideChange(slideDirection, firstActiveSlide);\n this._changeDetectorRef.detectChanges();\n }\n }\n\n /**\n * @hidden Making slides visible when slides are dragged. Otherwise, it looses the effect.\n */\n private _onSlideDrag(isDragging: boolean): void {\n if (isDragging) {\n this.slides.forEach((_slide) => {\n _slide.visibility = 'visible';\n });\n this._slideSwiped = false;\n this._changeDetectorRef.markForCheck();\n } else {\n // After slide limit reached, if dragging starts then revert visibility\n if (!this._slideSwiped && !this.loop) {\n this._manageSlideVisibility(this.currentActiveSlidesStartIndex);\n }\n }\n }\n\n /**\n * @hidden\n * Resizes inner carousel container to fit all items in the viewport and hide those which are not fully in it.\n */\n private _resizeContentContainer(): void {\n merge(\n resizeObservable(this.slideContainer.nativeElement),\n resizeObservable(this.carouselContainer.nativeElement)\n )\n .pipe(debounceTime(100), takeUntil(this._onDestroy$))\n .subscribe(() => {\n const { width, slides } = this._getFittingSlidesAndWidth();\n\n if (this.visibleSlidesCount === 'auto') {\n this._visibleSlidesNumericCount = slides;\n const totalSlides = this.slides.length;\n\n let needleSlideIndex = this.currentActiveSlidesStartIndex;\n\n // If amount of slides insufficient to fill whole carousel, slide back a bit.\n if (this.currentActiveSlidesStartIndex + slides > totalSlides) {\n needleSlideIndex =\n this.currentActiveSlidesStartIndex -\n (this.currentActiveSlidesStartIndex + slides - totalSlides);\n }\n\n const needleSlide = this.slides.get(needleSlideIndex);\n\n this.currentActiveSlidesStartIndex = needleSlideIndex;\n\n this._carouselService.active = needleSlide;\n\n // Refresh carousel config and transition to the current slide.\n this._initializeCarousel();\n\n needleSlide && this._carouselService.goToItem(needleSlide);\n this._notifySlideChange(SlideDirection.None);\n }\n\n if (this._slidesWrapperSize !== width) {\n this._slidesWrapperSize = width;\n }\n\n this._changeDetectorRef.detectChanges();\n });\n }\n\n /**\n * @hidden\n * Calculates how many slides can be shown within current carousel viewport.\n * @returns Object containing fitting slides count and total width of those slides.\n */\n private _getFittingSlidesAndWidth(): FittingSlidesAndWidth {\n if (!this.carouselContainer) {\n return {\n width: 0,\n slides: 1\n };\n }\n\n const { width } = this.carouselContainer.nativeElement.getBoundingClientRect();\n let maxSize = 0;\n let slidesCount = 0;\n\n const carouselSlides = this.slides.toArray();\n const previousSlides = carouselSlides.splice(0, this.currentActiveSlidesStartIndex);\n\n const getSlides = (slides: CarouselItemComponent[]): void => {\n for (const slide of slides) {\n const slideWidth = slide.getWidth();\n\n if (!slideWidth) {\n break;\n }\n\n const newSize = maxSize + slideWidth;\n\n if (newSize > width) {\n break;\n }\n\n maxSize = newSize;\n slidesCount++;\n }\n };\n\n getSlides(carouselSlides);\n\n // If with of the rest of the slides is lesser than carouse's viewport, add previous slides to it.\n if (maxSize < width) {\n getSlides(previousSlides);\n }\n\n return {\n width: maxSize,\n slides: slidesCount\n };\n }\n\n /** @hidden */\n private _getVisibleSlidesCount(): number {\n if (this._visibleSlidesCount !== 'auto') {\n return this._visibleSlidesCount;\n }\n\n const { slides } = this._getFittingSlidesAndWidth();\n return slides;\n }\n}\n","<div\n class=\"fd-carousel\"\n [class.fd-carousel--no-navigation]=\"!navigation\"\n data-ride=\"carousel\"\n tabindex=\"0\"\n [style.height]=\"height\"\n [style.width]=\"width\"\n [attr.dir]=\"dir\"\n role=\"region\"\n #carouselContainer\n (click)=\"_focus()\"\n>\n <ng-container *ngIf=\"_showPageIndicatorContainer && pageIndicatorsOrientation === 'top'\">\n <ng-container *ngTemplateOutlet=\"pageIndicatorContainer\"></ng-container>\n </ng-container>\n\n <div\n class=\"fd-carousel__content\"\n [class.fd-carousel__content--horizontal]=\"!vertical\"\n [style.width]=\"_contentSizePx\"\n >\n <ng-container *ngIf=\"_showNavigationButtonInContent\">\n <ng-container *ngTemplateOutlet=\"buttonLeft\"></ng-container>\n </ng-container>\n\n <div #slideContainer class=\"fd-carousel__slides\">\n <ng-content></ng-content>\n </div>\n\n <ng-container *ngIf=\"_showNavigationButtonInContent\">\n <ng-container *ngTemplateOutlet=\"buttonRight\"></ng-container>\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"_showPageIndicatorContainer && pageIndicatorsOrientation === 'bottom'\">\n <ng-container *ngTemplateOutlet=\"pageIndicatorContainer\"></ng-container>\n </ng-container>\n\n <div style=\"display: none\" role=\"region\" [attr.id]=\"id + '-accessibility'\" aria-live=\"polite\" dir=\"ltr\">\n {{ screenReaderLabel }}\n </div>\n</div>\n\n<ng-template #pageIndicatorContainer>\n <div class=\"fd-carousel__page-indicator-container\">\n <ng-container *ngIf=\"_showNavigationButtonInPageIndicatorContainer\">\n <ng-container *ngTemplateOutlet=\"buttonLeft\"></ng-container>\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"pageIndicators\"> </ng-container>\n\n <ng-container *ngIf=\"_showNavigationButtonInPageIndicatorContainer\">\n <ng-container *ngTemplateOutlet=\"buttonRight\"></ng-container>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #pageIndicators>\n <ng-container *ngIf=\"numericIndicator\">\n <div class=\"fd-carousel__page-indicators\">\n <ng-container *ngIf=\"pageIndicator\">\n <div class=\"fd-carousel__text\" dir=\"ltr\">\n {{ getPageIndicatorLabel }}\n </div>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!numericIndicator && _showNavigationButtonInPageIndicatorContainer\">\n <ol class=\"fd-carousel__page-indicators\" [attr.dir]=\"dir\">\n <ng-container *ngIf=\"pageIndicator\">\n <ng-container *ngFor=\"let item of pageIndicatorsCountArray; let i = index\">\n <li\n [attr.data-slide-to]=\"i + 1\"\n class=\"fd-carousel__page-indicator\"\n [class.fd-carousel__page-indicator--active]=\"i === currentActiveSlidesStartIndex\"\n ></li>\n </ng-container>\n </ng-container>\n </ol>\n </ng-container>\n</ng-template>\n\n<ng-template #buttonLeft>\n <button\n fd-button\n class=\"fd-carousel__button fd-carousel__button--left\"\n [style.z-index]=\"1\"\n data-slide=\"previous\"\n [attr.aria-label]=\"leftNavigationBtnLabel || ('coreCarousel.leftNavigationBtnLabel' | fdTranslate)\"\n (click)=\"previous(); $event.stopPropagation()\"\n [disabled]=\"leftButtonDisabled\"\n [attr.title]=\"leftNavigationBtnLabel || ('coreCarousel.leftNavigationBtnLabel' | fdTranslate)\"\n glyph=\"slim-arrow-left\"\n ></button>\n</ng-template>\n\n<ng-template #buttonRight>\n <button\n fd-button\n class=\"fd-carousel__button fd-carousel__button--right\"\n [style.z-index]=\"1\"\n data-slide=\"next\"\n [attr.aria-label]=\"rightNavigationBtnLabel || ('coreCarousel.rightNavigationBtnLabel' | fdTranslate)\"\n (click)=\"next(); $event.stopPropagation()\"\n [disabled]=\"rightButtonDisabled\"\n [attr.title]=\"rightNavigationBtnLabel || ('coreCarousel.rightNavigationBtnLabel' | fdTranslate)\"\n glyph=\"slim-arrow-right\"\n ></button>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CarouselItemDirective } from './carousel-item.directive';\nimport { CarouselDirective } from './carousel.directive';\nimport { CarouselComponent } from './carousel.component';\nimport { CarouselItemComponent } from './carousel-item/carousel-item.component';\nimport { BusyIndicatorModule } from '@fundamental-ngx/core/busy-indicator';\nimport { I18nModule } from '@fundamental-ngx/i18n';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { CarouselService } from './carousel.service';\n\n@NgModule({\n imports: [CommonModule, BusyIndicatorModule, ButtonModule, I18nModule],\n exports: [CarouselItemDirective, CarouselDirective, CarouselComponent, CarouselItemComponent],\n declarations: [CarouselItemDirective, CarouselDirective, CarouselComponent, CarouselItemComponent],\n providers: [CarouselService]\n})\nexport class CarouselModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["carouselItemCounter","i1.CarouselService"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-carousel.mjs","sources":["../../../../libs/core/src/lib/carousel/carousel-item.directive.ts","../../../../libs/core/src/lib/carousel/carousel.service.ts","../../../../libs/core/src/lib/carousel/carousel.directive.ts","../../../../libs/core/src/lib/carousel/carousel-item/carousel-item.component.ts","../../../../libs/core/src/lib/carousel/carousel-item/carousel-item.component.html","../../../../libs/core/src/lib/carousel/i18n/carousel-resources.ts","../../../../libs/core/src/lib/carousel/carousel.component.ts","../../../../libs/core/src/lib/carousel/carousel.component.html","../../../../libs/core/src/lib/carousel/carousel.module.ts","../../../../libs/core/src/lib/carousel/fundamental-ngx-core-carousel.ts"],"sourcesContent":["import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\nlet carouselItemCounter = 0;\n\n@Directive({\n selector: '[fd-carousel-item], [fdCarouselItem]',\n exportAs: 'fdCarouselItem'\n})\nexport class CarouselItemDirective {\n /** Value of the item , to keep some information inside */\n @Input()\n value: any;\n\n /** Initial height value, needed when carousel is inside popover */\n @Input()\n initialHeight: number;\n\n /** Initial height value, needed when carousel is inside popover */\n @Input()\n initialWidth: number;\n\n /** Carousel Id, it has some default value if not set, */\n @Input()\n @HostBinding('attr.id')\n id: string = 'carousel-item-id-' + carouselItemCounter++;\n\n /** @hidden */\n constructor(private readonly _elementRef: ElementRef<HTMLElement>) {}\n\n /** Native element */\n get element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** Width of element */\n getWidth(): number {\n return this.element.getBoundingClientRect().width || this.initialWidth;\n }\n\n /** Height of element */\n getHeight(): number {\n return this.element.getBoundingClientRect().height || this.initialHeight;\n }\n}\n","import { ElementRef, EventEmitter, Inject, OnDestroy, QueryList, Injectable } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { fromEvent, merge, Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nexport const DEFAULT_TRANSITION_DURATION = '150ms';\n\nexport interface CarouselItemInterface {\n element: HTMLElement;\n getHeight(): number;\n getWidth(): number;\n}\n\nexport interface CarouselConfig {\n /** Defines if carousel items are placed vertically */\n vertical?: boolean;\n /** Amount of visible elements in carousel */\n elementsAtOnce?: number;\n /** Defines if support for gestures, like touch swipe or mouse drag should be enabled */\n gestureSupport?: boolean;\n /** Defines if carousel should move elements to sides. It allows to slide infinitely in one direction */\n infinite?: boolean;\n /** Transition time of CSS translate, `150ms` by default */\n transition?: string;\n}\n\nexport interface PanEndOutput {\n item: CarouselItemInterface;\n after: boolean;\n}\n\n/** @dynamic */\n@Injectable({\n providedIn: 'root'\n})\nexport class CarouselService implements OnDestroy {\n /** Event thrown when element is dragged. Emits \"true\" when drag starts and \"false\" when drag ends. */\n readonly dragStateChange$: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event thrown, when active element is changed */\n readonly activeChange$: EventEmitter<PanEndOutput> = new EventEmitter<PanEndOutput>();\n\n /** Configuration for carousel */\n config: CarouselConfig;\n\n /** Initial active item of carousel, position first + offset */\n active: Nullable<CarouselItemInterface>;\n\n /** Set to true for rtl mode */\n isRtl = false;\n\n /** carousel items query list */\n items: QueryList<CarouselItemInterface>;\n\n /** Current transition value in px */\n set currentTransitionPx(currentTransitionPx: number) {\n this._currentTransitionPx = currentTransitionPx;\n }\n get currentTransitionPx(): number {\n return this._currentTransitionPx;\n }\n\n /** @hidden */\n private get elementsAtOnce(): number {\n const num = this.config?.elementsAtOnce ?? 1;\n\n return Math.max(1, num);\n }\n\n /** @hidden */\n private _lastDistance = 0;\n\n /** @hidden */\n private _currentTransitionPx = 0;\n\n /** @hidden */\n private _element: HTMLElement;\n\n /** @hidden */\n private _initialDragPosition = 0;\n\n /** @hidden */\n private _lastDragPosition = 0;\n\n /** @hidden */\n private _listenToMouseMove = false;\n /** @hidden */\n private _dragStarted = false;\n\n /**\n * @hidden\n * An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing)\n */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(@Inject(DOCUMENT) private readonly _document: Document | null) {}\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n\n this.activeChange$.complete();\n this.dragStateChange$.complete();\n }\n\n /** set initial values for the service */\n initialise(\n config: CarouselConfig,\n items: QueryList<CarouselItemInterface>,\n listElementReference: ElementRef\n ): void {\n this.config = config;\n this.setElement(listElementReference);\n this.setItems(items);\n\n if (this.config.gestureSupport) {\n this._setupGestures();\n }\n }\n\n /** update config value for the service */\n updateConfig(config: CarouselConfig): void {\n this.config = config;\n }\n\n /** set element ref */\n setElement(elementRef: ElementRef): void {\n this._element = elementRef.nativeElement;\n }\n\n /** set items and assign active item, if not already there */\n setItems(items: QueryList<CarouselItemInterface>): void {\n this.items = items;\n\n if (!this.active) {\n this.active = this.items.first;\n }\n }\n\n /** Change active element */\n goToItem(item: CarouselItemInterface, smooth?: boolean): void {\n let index = this._getIndexOfItem(item);\n if (this.config.infinite) {\n this._centerActive(index);\n\n index = this._getIndexOfItem(item);\n }\n\n this._transitionToIndex(index, smooth);\n }\n\n /** pick next element and set it active */\n pickNext(): void {\n if (!this.active) {\n this.active = this.items.first;\n }\n\n const activeItemIndex = this._getIndexOfItem(this.active);\n const itemToActivate = this.items.get(activeItemIndex + 1) ?? this.items.first;\n\n this.goToItem(itemToActivate, true);\n this.active = itemToActivate;\n }\n\n /** pick previous element and set it active */\n pickPrevious(): void {\n if (!this.active) {\n this.active = this.items.get(2);\n }\n\n const activeItemIndex = this._getIndexOfItem(this.active);\n let itemToActivate = this.items.get(activeItemIndex - 1);\n\n // case where slides can move infinitely in one direction\n // handle case where on-load activeItemIndex = 0 and activeItemIndex - 1 returns undefined item from item array.\n if (!itemToActivate) {\n itemToActivate = this.items.last;\n }\n\n this.goToItem(itemToActivate, true);\n this.active = itemToActivate;\n }\n\n /** @hidden */\n private _centerActive(index: number): void {\n const middleIndex = Math.ceil(this.items.length / 2);\n const offset = Math.ceil(this.elementsAtOnce / 2);\n const missingItems = index + offset - middleIndex;\n const array = this.items.toArray();\n\n if (missingItems > 0) {\n for (let i = 0; i < missingItems; i++) {\n const item = array.shift();\n item && array.push(item);\n }\n } else {\n for (let i = 0; i < Math.abs(missingItems); i++) {\n const item = array.pop();\n item && array.unshift(item);\n }\n }\n\n /** Changing order of elements in QueryList and Native HTML */\n this.items.reset(array);\n this.items.forEach((item) => item.element.parentNode?.appendChild(item.element));\n\n /**\n * For proper animation it's needed to transform elements,\n * by changing transition by amount of elements placed at top/bottom\n */\n this._element.style.transitionDuration = '0s';\n this._transitionCarousel(this._currentTransitionPx + this._getSize(this.items.first) * missingItems);\n }\n\n /** @hidden */\n private _transitionToIndex(index: number, smooth?: boolean): void {\n let transitionPx: number = this._getSize(this.items.first) * index;\n\n this._element.style.transitionDuration = smooth ? this._getTransition() : '0s';\n\n if (!this.isRtl || (this.config.vertical && this.isRtl)) {\n transitionPx = -transitionPx;\n }\n\n this._transitionCarousel(transitionPx);\n }\n\n /** @hidden Get closes element, based on current transition */\n private _getClosest(): CarouselItemInterface {\n /** If transition is positive, it should go to first element */\n if (\n !this.config.infinite &&\n ((!this.config.vertical &&\n ((!this.isRtl && this._currentTransitionPx > 0) || (this.isRtl && this._currentTransitionPx < 0))) ||\n (this.config.vertical && this._currentTransitionPx > 0))\n ) {\n return this.items.first;\n }\n\n const size = this._getSize(this.items.first);\n\n /** When scroll is after half of element, then ext one should be active */\n const halfApproached: boolean = Math.abs(this._currentTransitionPx % size) > size / 2;\n /**\n * Index based on transition px divided by size of elements,\n * every element should have same width, otherwise it should be looped through all elements,\n * which is not good for performance\n */\n let index = Math.ceil(Math.abs(this._currentTransitionPx / size));\n\n // When elementsAtOnce > 1, swiping should stop at last index - elementsAtOnce\n const elementsAtOnce = this.elementsAtOnce;\n if (!this.config.infinite && elementsAtOnce > 1) {\n // When there're less items in the carousel than the area might display, it should stop to first\n if (this.items.length < elementsAtOnce) {\n return this.items.first;\n }\n\n if (index + elementsAtOnce >= this.items.length) {\n return this.items.get(this.items.length - elementsAtOnce) ?? this.items.first;\n }\n }\n\n index = index + (halfApproached ? 0 : -1);\n const item = this.items.get(index);\n\n /** Checking if transition went out of scope of array */\n return item || this.items.last;\n }\n\n /** @hidden */\n private _getIndexOfItem(item?: CarouselItemInterface): number {\n if (!item) {\n return -1;\n }\n return this.items.toArray().findIndex((_item) => _item === item);\n }\n\n /** @hidden Getting size of carousel, width for horizontal, height for vertical */\n private _getSize(item: CarouselItemInterface): number {\n if (this.config.vertical) {\n return item.getHeight();\n }\n\n return item.getWidth();\n }\n\n /** @hidden */\n private _handlePan(delta: number): void {\n const distance = delta - this._lastDistance;\n\n this._lastDistance = delta;\n\n this._transitionCarousel(this._currentTransitionPx + distance);\n }\n\n /** @hidden */\n private _handlePanEnd(delta: number): void {\n this._handlePan(delta);\n\n const closestItem: CarouselItemInterface = this._getClosest();\n\n this.goToItem(closestItem, true);\n\n if (!this.active) {\n this.active = closestItem;\n this.activeChange$.emit({\n item: closestItem,\n after: delta < 0\n });\n } else if (this.active !== closestItem) {\n this.active = closestItem;\n this.activeChange$.emit({\n item: closestItem,\n after: delta < 0\n });\n }\n\n this.dragStateChange$.emit(false);\n this._lastDistance = 0;\n }\n\n /**\n * @hidden Animates the carousel to the currently selected slide.\n */\n private _transitionCarousel(transitionPx: number): void {\n this._currentTransitionPx = transitionPx;\n const axis = this.config.vertical ? 'Y' : 'X';\n\n this._element.style.transform = `translate${axis}(${this._currentTransitionPx}px)`;\n }\n\n /** @hidden Pam Start handler, removes transition duration, */\n private _handlePanStart(): void {\n this._element.style.transitionDuration = '0s';\n this.dragStateChange$.emit(true);\n }\n\n /** @hidden */\n private _setupGestures(): void {\n this._setupDragStart();\n this._setupDrag();\n this._setupDragEnd();\n }\n\n /** @hidden */\n private _subscribeToEvents(\n events: string[],\n element: HTMLElement | Document,\n callback: (event: MouseEvent | TouchEvent) => void\n ): void {\n merge(events.map((e) => fromEvent<MouseEvent | TouchEvent>(element, e, { passive: true }))).forEach(\n (evt: Observable<MouseEvent | TouchEvent>) => {\n evt.pipe(takeUntil(this._onDestroy$)).subscribe((event) => {\n callback(event);\n });\n }\n );\n }\n\n /** @hidden */\n private _setupDragStart(): void {\n const events = ['mousedown', 'touchstart'];\n\n this._subscribeToEvents(events, this._element, (event) => {\n this._listenToMouseMove = true;\n this._lastDragPosition = this._initialDragPosition = this._getDragCoordinate(event);\n this._handlePanStart();\n });\n }\n\n /** @hidden */\n private _setupDrag(): void {\n const events = ['mousemove', 'touchmove'];\n\n if (!this._document) {\n throw new Error(\n `Could not setup drag event subscription. Expected to get document ref, got ${this._document} instead`\n );\n }\n\n this._subscribeToEvents(events, this._document, (event) => {\n const coordinate = this._getDragCoordinate(event);\n\n if (!this._listenToMouseMove || coordinate === this._lastDragPosition) {\n return;\n }\n\n this._dragStarted = true;\n this._handlePan(this._getDraggedDelta(coordinate));\n });\n }\n\n /** @hidden */\n private _setupDragEnd(): void {\n const events = ['mouseup', 'touchend'];\n\n if (!this._document) {\n throw new Error(\n `Could not setup drag event subscription. Expected to get document ref, got ${this._document} instead`\n );\n }\n\n this._subscribeToEvents(events, this._document, (event) => {\n if (!this._listenToMouseMove) {\n return;\n }\n\n if (this._dragStarted) {\n this._handlePanEnd(this._getDraggedDelta(this._getDragCoordinate(event)));\n } else {\n this.dragStateChange$.emit(false);\n }\n\n this._listenToMouseMove = false;\n this._dragStarted = false;\n });\n }\n\n /** @hidden */\n private _getTransition(): string {\n return this.config?.transition ?? DEFAULT_TRANSITION_DURATION;\n }\n\n /** @hidden */\n private _getDraggedDelta(offset: number): number {\n this._lastDragPosition = offset;\n\n return offset - this._initialDragPosition;\n }\n\n /** @hidden */\n private _getDragCoordinate(event: MouseEvent | TouchEvent): number {\n let coordinates: Touch | MouseEvent;\n\n if (this._isTouchEvent(event)) {\n coordinates = event.touches[0] || event.changedTouches[0];\n } else {\n coordinates = event;\n }\n\n return this.config.vertical ? coordinates.pageY : coordinates.pageX;\n }\n\n /** @hidden */\n private _isTouchEvent(event: MouseEvent | TouchEvent): event is TouchEvent {\n return window.TouchEvent && event instanceof TouchEvent;\n }\n}\n","import {\n AfterContentInit,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n QueryList\n} from '@angular/core';\n\nimport { CarouselConfig, CarouselService, PanEndOutput } from './carousel.service';\nimport { CarouselItemDirective } from './carousel-item.directive';\n\n@Directive({\n selector: '[fdCarousel]',\n host: {\n class: 'fd-carousel_'\n },\n providers: [CarouselService]\n})\nexport class CarouselDirective implements AfterContentInit {\n /** Configuration for carousel */\n @Input()\n config: CarouselConfig;\n\n /** Initial active item of carousel, position first + offset */\n @Input()\n active: CarouselItemDirective;\n\n /** @hidden */\n get carouselService(): CarouselService {\n return this._carouselService;\n }\n\n /** Event thrown, when active element is changed */\n @Output()\n readonly activeChange: EventEmitter<PanEndOutput> = new EventEmitter<PanEndOutput>();\n\n /** Event thrown when element is dragged. Emits \"true\" when drag starts and \"false\" when drag ends. */\n @Output()\n readonly dragStateChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden */\n @ContentChildren(CarouselItemDirective, { descendants: true })\n items: QueryList<CarouselItemDirective>;\n\n /** @hidden */\n constructor(private readonly _elementRef: ElementRef, private readonly _carouselService: CarouselService) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._carouselService.initialise(this.config, this.items, this._elementRef);\n\n this._carouselService.activeChange$.subscribe((event) => this.activeChange.emit(event));\n this._carouselService.dragStateChange$.subscribe((event) => this.dragStateChange.emit(event));\n }\n\n /** Change active element */\n goToItem(item: CarouselItemDirective, smooth?: boolean): void {\n this._carouselService.goToItem(item, smooth);\n }\n\n /** Pick previous carousel item */\n pickPrevious(): void {\n this._carouselService.pickPrevious();\n }\n\n /** Pick next carousel item */\n pickNext(): void {\n this._carouselService.pickNext();\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { CarouselItemInterface } from '../carousel.service';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nexport type Visibility = 'visible' | 'hidden';\n\nlet carouselItemCounter = 0;\n\n@Component({\n selector: 'fd-carousel-item',\n templateUrl: './carousel-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class CarouselItemComponent implements CarouselItemInterface {\n /** Id of the Carousel items. */\n @Input()\n @HostBinding('attr.id')\n id = `fd-carousel-item-${carouselItemCounter++}`;\n\n /** Sets aria-label attribute for carousel item */\n @Input()\n @HostBinding('attr.aria-label')\n ariaLabel: Nullable<string>;\n\n /** Sets aria-labelledby attribute for carousel item */\n @Input()\n @HostBinding('attr.aria-labelledby')\n ariaLabelledBy: Nullable<string>;\n\n /** Sets aria-describedby attribute for carousel item */\n @Input()\n @HostBinding('attr.aria-describedby')\n ariaDescribedBy: Nullable<string>;\n\n /**\n * Loading indicator when item is not yet loaded\n */\n @Input()\n loading = false;\n\n /** Sets tooltip for carousel item */\n @Input()\n @HostBinding('attr.title')\n title = null;\n\n /** Initial height value, needed when carousel is inside popover */\n @Input()\n initialHeight: number;\n\n /** Initial height value, needed when carousel is inside popover */\n @Input()\n initialWidth: number;\n\n /** Value of carousel item */\n @Input()\n value: any;\n\n /** @hidden */\n @HostBinding('class.fd-carousel__item')\n carouselItem = true;\n\n /** @hidden */\n @HostBinding('class.fd-carousel__item--active')\n carouselItemActive = true;\n\n /** @hidden Hide/show slide, useful for managing tab order */\n @HostBinding('style.visibility')\n _visibility: Visibility = 'visible';\n\n /** @hidden */\n set visibility(visibility: Visibility) {\n this._visibility = visibility;\n }\n\n get visibility(): Visibility {\n return this._visibility;\n }\n\n /** @hidden */\n constructor(private readonly _elementRef: ElementRef<HTMLElement>) {}\n\n /** Native element */\n get element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** Width of element */\n getWidth(): number {\n return this.element.getBoundingClientRect().width || this.initialWidth;\n }\n\n /** Height of element */\n getHeight(): number {\n return this.element.getBoundingClientRect().height || this.initialHeight;\n }\n}\n","<fd-busy-indicator [loading]=\"loading\">\n <ng-content></ng-content>\n</fd-busy-indicator>\n","export interface FdCarouselResourceStrings {\n fd_carousel_of?: string;\n fd_carousel_reader?: string;\n}\n\nexport const CarouselResourceStringsEN: FdCarouselResourceStrings = {\n fd_carousel_of: 'of',\n fd_carousel_reader: 'Displaying item'\n};\n","import {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Direction } from '@angular/cdk/bidi';\nimport { debounceTime, take, takeUntil } from 'rxjs/operators';\nimport { Subject, merge } from 'rxjs';\n\nimport { resizeObservable, RtlService } from '@fundamental-ngx/cdk/utils';\n\nimport { CarouselItemComponent } from './carousel-item/carousel-item.component';\nimport { CarouselResourceStringsEN, FdCarouselResourceStrings } from './i18n/carousel-resources';\nimport { CarouselConfig, CarouselItemInterface, CarouselService, PanEndOutput } from './carousel.service';\n\n/** Page limit to switch to numerical indicator */\nconst ICON_PAGE_INDICATOR_LIMIT = 8;\n\nexport type PageIndicatorsOrientation = 'bottom' | 'top';\n\nexport enum SlideDirection {\n None,\n NEXT,\n PREVIOUS\n}\n\nexport interface FittingSlidesAndWidth {\n width: number;\n slides: number;\n}\n\nlet carouselCounter = 0;\n\nclass CarouselActiveSlides {\n constructor(public readonly activeItems: CarouselItemComponent[], public readonly slideDirection: string) {}\n}\n\n@Component({\n selector: 'fd-carousel',\n templateUrl: './carousel.component.html',\n styleUrls: ['./carousel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [CarouselService],\n host: {\n '[style.width]': 'width'\n }\n})\nexport class CarouselComponent\n implements OnInit, AfterContentInit, AfterViewInit, AfterViewChecked, OnChanges, OnDestroy\n{\n /** ID for the Carousel. */\n @Input()\n @HostBinding('attr.id')\n id = `fd-carousel-${carouselCounter++}`;\n\n /** Sets aria-label attribute for carousel */\n @Input()\n ariaLabel = null;\n\n /** Sets aria-labelledby attribute for carousel */\n @Input()\n ariaLabelledBy: string;\n\n /** Sets aria-describedby attribute for carousel */\n @Input()\n ariaDescribedBy: string;\n\n /** Sets position of page indicator container. Default position is bottom. */\n @Input()\n pageIndicatorsOrientation: PageIndicatorsOrientation = 'bottom';\n\n /** Height for carousel container */\n @Input()\n height: string;\n\n /** Width for carousel container */\n @Input()\n width = '100%';\n\n /** If carousel is in circular loop */\n @Input()\n loop = false;\n\n /**\n * @deprecated use i18n capabilities instead\n * Label for left navigation button\n */\n @Input()\n leftNavigationBtnLabel: string;\n\n /**\n * @deprecated use i18n capabilities instead\n * Label for right navigation button\n */\n @Input()\n rightNavigationBtnLabel: string;\n\n /** Shows/hides optional navigation button */\n @Input()\n navigation = true;\n\n /** Show navigation button in page indicator container or inside content. Default is page indicator container on true value */\n @Input()\n navigatorInPageIndicator = true;\n\n /** Convert to Numeric page indicator */\n @Input()\n numericIndicator = false;\n\n /** Shows/hides optional page indicator container */\n @Input()\n pageIndicatorContainer = true;\n\n /** Shows/hides optional page indicator */\n @Input()\n pageIndicator = true;\n\n /**\n * An accessor that sets the resource strings.\n * By default it uses EN resources.\n */\n @Input()\n set resourceStrings(value: FdCarouselResourceStrings) {\n this._resourceStrings = Object.assign({}, this._resourceStrings, value);\n }\n\n /**\n * An accessor that returns the resource strings.\n */\n get resourceStrings(): FdCarouselResourceStrings {\n return this._resourceStrings;\n }\n\n /** Sets sliding duration in millie seconds. Default is 150 */\n @Input()\n slideTransitionDuration = 150;\n\n /** Is swipe enabled */\n @Input()\n swipeEnabled = true;\n\n /** Is carousel is vertical. Default value is false. */\n @Input()\n vertical = false;\n\n /** Number of items to be visible at a time */\n @Input()\n set visibleSlidesCount(value: number | 'auto') {\n this._visibleSlidesCount = value;\n this._visibleSlidesNumericCount = this._getVisibleSlidesCount();\n }\n\n get visibleSlidesCount(): number | 'auto' {\n return this._visibleSlidesCount;\n }\n\n /** An event that is emitted after a slide transition has happened */\n @Output()\n readonly slideChange: EventEmitter<CarouselActiveSlides> = new EventEmitter<CarouselActiveSlides>();\n\n /** @hidden */\n @ContentChildren(CarouselItemComponent, { descendants: true })\n slides: QueryList<CarouselItemComponent>;\n\n /** @hidden */\n @ViewChild('slideContainer')\n slideContainer: ElementRef;\n\n /** Carousel container element. */\n @ViewChild('carouselContainer')\n carouselContainer: ElementRef;\n\n /** @hidden Start index of currently active items */\n currentActiveSlidesStartIndex = 0;\n\n /** @hidden handles rtl service */\n dir: Direction = 'ltr';\n\n /** @hidden Make left navigation button disabled */\n leftButtonDisabled = false;\n\n /** @hidden Make right navigation button disabled */\n rightButtonDisabled = false;\n\n /** @hidden Fake array for counting number of page indicator */\n pageIndicatorsCountArray: number[] = [];\n\n /** @hidden */\n _slidesWrapperSize = 0;\n\n /** @hidden */\n get _contentSizePx(): string {\n return this._slidesWrapperSize ? `${this._slidesWrapperSize}px` : this.width;\n }\n\n /** @hidden */\n private _visibleSlidesCount: number | 'auto' = 1;\n\n /** @hidden */\n private _visibleSlidesNumericCount = 1;\n\n /** @hidden */\n private _resourceStrings = CarouselResourceStringsEN;\n\n /** @hidden */\n private _config: CarouselConfig = {};\n\n /** @hidden */\n private _slidesCopy: CarouselItemComponent[] = [];\n\n /** @hidden */\n private _previousVisibleSlidesCount: number;\n\n /** @hidden */\n private _slideSwiped = false;\n\n /** @hidden 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 constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n private readonly _renderer: Renderer2,\n private readonly _changeDetectorRef: ChangeDetectorRef,\n private readonly _carouselService: CarouselService,\n private readonly _zone: NgZone,\n @Optional() private readonly _rtlService: RtlService\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._subscribeToRtl();\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.visibleSlidesCount && this.slides?.length > 0) {\n this._notifySlideChange(SlideDirection.None);\n }\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n // On carousel load, display first slide + number of slide visible\n this.currentActiveSlidesStartIndex = 0;\n\n // Change pagination display to numeric, if item count is more than 8\n if (this.slides.length > ICON_PAGE_INDICATOR_LIMIT) {\n this.numericIndicator = true;\n }\n\n if (this.slides.length > 0) {\n this._initializeCarousel();\n } else {\n this.leftButtonDisabled = true;\n this.rightButtonDisabled = true;\n\n // Disable swipe when there is no carousel item\n this.swipeEnabled = false;\n this.navigation = false;\n }\n\n // Keep copy of original slide array, for indicator purpose.\n // In case of looped carousel, original slides array changes.\n this._slidesCopy = this.slides.toArray();\n\n this._subscribeServiceEvents();\n\n // Subscribe to dynamic update of slides\n this.slides.changes.pipe(takeUntil(this._onDestroy$)).subscribe(() => this._onSlideUpdates());\n\n this._changeDetectorRef.markForCheck();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._initializeServiceConfig();\n this._carouselService.initialise(this._config, this.slides, this.slideContainer);\n this._previousVisibleSlidesCount = this._visibleSlidesNumericCount;\n\n this._resizeContentContainer();\n }\n\n /** @hidden */\n ngAfterViewChecked(): void {\n if (this._previousVisibleSlidesCount && this._previousVisibleSlidesCount !== this._visibleSlidesNumericCount) {\n this._initializeCarousel();\n this._initializeServiceConfig();\n this._carouselService.updateConfig(this._config);\n this._previousVisibleSlidesCount = this._visibleSlidesNumericCount;\n this._changeDetectorRef.detectChanges();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n get _showNavigationButtonInPageIndicatorContainer(): boolean {\n return this.navigatorInPageIndicator && this.pageIndicatorsCountArray.length > 1;\n }\n\n /** @hidden */\n get _showNavigationButtonInContent(): boolean {\n return !this.navigatorInPageIndicator && this.pageIndicatorsCountArray.length > 1;\n }\n\n /** @hidden */\n get _showPageIndicatorContainer(): boolean {\n return this.pageIndicatorContainer && (this.pageIndicatorsCountArray.length > 0 || this.numericIndicator);\n }\n\n /** @hidden */\n get getPageIndicatorLabel(): string {\n return `${this.currentActiveSlidesStartIndex + 1} ${this.resourceStrings.fd_carousel_of} ${\n this.pageIndicatorsCountArray.length\n }`;\n }\n\n /** @hidden */\n get screenReaderLabel(): string {\n return `${this.resourceStrings.fd_carousel_reader} ${this.currentActiveSlidesStartIndex + 1} ${\n this.resourceStrings.fd_carousel_of\n } ${this.pageIndicatorsCountArray.length}`;\n }\n\n /** @hidden */\n _focus(): void {\n const el = this._elementRef.nativeElement;\n if (el !== document.activeElement) {\n el.focus({ preventScroll: true });\n }\n }\n\n /** get value for rtl */\n _isRtl(): boolean {\n return this._rtlService?.rtl.getValue();\n }\n\n /** @hidden */\n @HostListener('keydown.arrowright', ['$event'])\n onKeydownArrowRight(event: KeyboardEvent): void {\n event.preventDefault();\n this._isRtl() ? this.previous() : this.next();\n }\n\n /** @hidden */\n @HostListener('keydown.arrowleft', ['$event'])\n onKeydownArrowLeft(event: KeyboardEvent): void {\n event.preventDefault();\n this._isRtl() ? this.next() : this.previous();\n }\n\n /** Transitions to the previous slide in the carousel. */\n previous(): void {\n if (!this.loop && this.currentActiveSlidesStartIndex <= 0) {\n return;\n }\n this.rightButtonDisabled = false;\n this._adjustActiveItemPosition(SlideDirection.PREVIOUS);\n this._preventDefaultBtnFocus();\n this._carouselService.pickPrevious();\n\n this._notifySlideChange(SlideDirection.PREVIOUS);\n this._changeDetectorRef.detectChanges();\n }\n\n /** Transitions to the next slide in the carousel. */\n next(): void {\n if (!this.loop && this.currentActiveSlidesStartIndex >= this.pageIndicatorsCountArray.length - 1) {\n return;\n }\n\n // Moving to next slide\n this.leftButtonDisabled = false;\n this._adjustActiveItemPosition(SlideDirection.NEXT);\n this._preventDefaultBtnFocus();\n this._carouselService.pickNext();\n this._notifySlideChange(SlideDirection.NEXT);\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden Subscribe to carousel service events */\n private _subscribeServiceEvents(): void {\n this._carouselService.activeChange$.subscribe((event) => this._onSlideSwipe(event));\n this._carouselService.dragStateChange$.subscribe((event) => this._onSlideDrag(event));\n }\n\n /**\n * @hidden Prevent native focus flow related to button, if button will be disable on focus state.\n * It works only if carousel is not in circular loop.\n */\n private _preventDefaultBtnFocus(): void {\n if (this.loop) {\n return;\n }\n const isFirst = this.currentActiveSlidesStartIndex === 0;\n const isLast = this.currentActiveSlidesStartIndex === this.pageIndicatorsCountArray.length - 1;\n if (isFirst || isLast) {\n this._elementRef.nativeElement.focus({ preventScroll: true });\n }\n }\n\n /** @hidden Adjust position of active item, based on slide direction */\n private _adjustActiveItemPosition(slideDirection: SlideDirection, step: number = 1): void {\n // Move one step in the direction\n const positionAdjustment = slideDirection === SlideDirection.NEXT ? step : -step;\n this.currentActiveSlidesStartIndex = this.currentActiveSlidesStartIndex + positionAdjustment;\n\n // If carousel set to loop\n if (this.loop) {\n if (this.currentActiveSlidesStartIndex < 0) {\n this.currentActiveSlidesStartIndex = this.slides.length + this.currentActiveSlidesStartIndex;\n } else if (this.currentActiveSlidesStartIndex >= this.slides.length) {\n this.currentActiveSlidesStartIndex = this.currentActiveSlidesStartIndex % this.slides.length;\n }\n } else {\n this._buttonVisibility();\n }\n }\n\n /** @hidden Handles navigation button visibility */\n private _buttonVisibility(): void {\n if (!this.loop) {\n // Need to disable navigation button if either direction limit has reached.\n if (this.currentActiveSlidesStartIndex === 0) {\n this.leftButtonDisabled = true;\n this.rightButtonDisabled = false;\n } else if (this.slides.length - 1 === this.currentActiveSlidesStartIndex) {\n this.rightButtonDisabled = true;\n this.leftButtonDisabled = false;\n } else if (\n this._visibleSlidesNumericCount > 1 &&\n this.currentActiveSlidesStartIndex + this._visibleSlidesNumericCount >= this.slides.length\n ) {\n this.rightButtonDisabled = true;\n } else {\n this.leftButtonDisabled = false;\n this.rightButtonDisabled = false;\n }\n\n if (this.slides.length === 1) {\n this.leftButtonDisabled = true;\n this.rightButtonDisabled = true;\n }\n }\n }\n\n /** @hidden Handle when slide is added or removed */\n private _onSlideUpdates(): void {\n this._slidesCopy = this.slides.toArray();\n this.currentActiveSlidesStartIndex = 0;\n this._carouselService.initialise(this._config, this.slides, this.slideContainer);\n this._carouselService.active = null;\n if (this.vertical) {\n this._renderer.setStyle(this.slideContainer?.nativeElement, 'transform', 'translateY(0px)');\n } else {\n this._renderer.setStyle(this.slideContainer?.nativeElement, 'transform', 'translateX(0px)');\n }\n this._initializeCarousel();\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden Initialize carousel with visible items */\n private _initializeCarousel(): void {\n this._zone.onMicrotaskEmpty.pipe(take(1)).subscribe(() => {\n // Handles navigator button enabled/disabled state\n this._buttonVisibility();\n\n let arrayLength: number;\n // set page indicator count with fake array, to use in template\n if (this.loop && this._visibleSlidesNumericCount > 1) {\n // If loop with multi item visible.\n arrayLength = this.slides.length;\n } else {\n arrayLength = this.slides.length - this._visibleSlidesNumericCount + 1;\n }\n\n const pageIndicatorsIfZeroCount = this.slides.length === 0 ? 0 : 1;\n\n this.pageIndicatorsCountArray = new Array(arrayLength > 0 ? arrayLength : pageIndicatorsIfZeroCount);\n\n this._goToFirstItem();\n\n this.slides.forEach((_slide, index) => {\n if (\n index >= this.currentActiveSlidesStartIndex &&\n index < this.currentActiveSlidesStartIndex + this._visibleSlidesNumericCount\n ) {\n _slide.visibility = 'visible';\n } else {\n _slide.visibility = 'hidden';\n }\n });\n\n this._changeDetectorRef.detectChanges();\n });\n }\n\n /** @hidden */\n private _goToFirstItem(): void {\n if (\n this.pageIndicatorsCountArray.length === 0 &&\n this._carouselService.currentTransitionPx !== 0 &&\n this.slides.length > 1\n ) {\n this.currentActiveSlidesStartIndex = 0;\n this._carouselService.goToItem(this.slides.first);\n }\n }\n\n /** @hidden Initialize config for Carousel service */\n private _initializeServiceConfig(): void {\n this._config.vertical = this.vertical;\n this._config.elementsAtOnce = this._visibleSlidesNumericCount;\n this._config.gestureSupport = this.swipeEnabled;\n this._config.infinite = this.loop;\n this._config.transition = String(this.slideTransitionDuration) + 'ms';\n // Carousel service expects transition in string format with unit.\n }\n\n /**\n * @hidden Returns the slide swapping steps\n */\n private _getStepTaken(event: PanEndOutput, actualActiveSlideIndex: number): number {\n let stepsCalculated: number;\n if (\n (!this._isRtl() && event.after) ||\n (this._isRtl() && !event.after && !this.vertical) ||\n (this.vertical && event.after)\n ) {\n if (actualActiveSlideIndex === 0 && this.currentActiveSlidesStartIndex === 0) {\n stepsCalculated = 0;\n } else if (actualActiveSlideIndex > this.currentActiveSlidesStartIndex) {\n stepsCalculated = actualActiveSlideIndex - this.currentActiveSlidesStartIndex;\n } else {\n stepsCalculated = this.slides.length - this.currentActiveSlidesStartIndex + actualActiveSlideIndex;\n }\n } else {\n // Special case, when first left swipe before slides are rotated in carousel service\n if (actualActiveSlideIndex === 0 && this.currentActiveSlidesStartIndex === 0) {\n stepsCalculated = 0;\n } else if (actualActiveSlideIndex < this.currentActiveSlidesStartIndex) {\n stepsCalculated = this.currentActiveSlidesStartIndex - actualActiveSlideIndex;\n } else {\n stepsCalculated = this.currentActiveSlidesStartIndex + this.slides.length - actualActiveSlideIndex;\n }\n }\n return stepsCalculated;\n }\n\n /** @hidden Handles notification on visible slide change */\n private _notifySlideChange(slideDirection: SlideDirection, firstActiveSlide?: CarouselItemInterface | null): void {\n const activeSlides: CarouselItemComponent[] = [];\n let firstActiveSlideIndex: number;\n\n if (this.loop) {\n firstActiveSlide = this._carouselService.active;\n }\n\n if (firstActiveSlide) {\n firstActiveSlideIndex = this.slides.toArray().findIndex((_item) => _item === firstActiveSlide);\n } else {\n firstActiveSlideIndex = this.currentActiveSlidesStartIndex;\n }\n\n for (let activeSlideIndex = 0; activeSlideIndex < this._visibleSlidesNumericCount; activeSlideIndex++) {\n const index = firstActiveSlideIndex + activeSlideIndex;\n const slide = this.slides.get(index);\n if (slide) {\n activeSlides.push(slide);\n slide.visibility = 'visible';\n }\n }\n\n this._manageSlideVisibility(firstActiveSlideIndex);\n const direction = slideDirection === SlideDirection.NEXT ? 'Next' : 'Previous';\n this.slideChange.emit(new CarouselActiveSlides(activeSlides, direction));\n }\n\n /** @hidden Manages visibility for slides. Useful in managing tab order */\n private _manageSlideVisibility(firstActiveSlideIndex: number): void {\n setTimeout(() => {\n this.slides.forEach((_slides, index) => {\n if (index >= firstActiveSlideIndex && index < firstActiveSlideIndex + this._visibleSlidesNumericCount) {\n if (_slides.visibility === 'hidden') {\n _slides.visibility = 'visible';\n }\n } else {\n if (_slides.visibility === 'visible') {\n _slides.visibility = 'hidden';\n }\n }\n });\n this._changeDetectorRef.markForCheck();\n }, this.slideTransitionDuration);\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n const refreshDirection = (): void => {\n this.dir = this._isRtl() ? 'rtl' : 'ltr';\n this._carouselService.isRtl = this.dir === 'rtl';\n\n if (this._carouselService.items && this._carouselService.active) {\n this._carouselService.goToItem(this._carouselService.active, false);\n }\n this._changeDetectorRef.detectChanges();\n };\n refreshDirection();\n this._rtlService?.rtl.pipe(takeUntil(this._onDestroy$)).subscribe(() => refreshDirection());\n }\n\n /** @hidden On Swiping of slide, manage page indicator */\n private _onSlideSwipe(event: PanEndOutput): void {\n this._slideSwiped = true;\n const firstActiveSlide = event.item;\n const actualActiveSlideIndex = this._slidesCopy.findIndex((_slide) => _slide === firstActiveSlide);\n const stepTaken = this._getStepTaken(event, actualActiveSlideIndex);\n if (stepTaken > 0) {\n let slideDirection: SlideDirection;\n if (!this._isRtl()) {\n slideDirection = event.after ? SlideDirection.NEXT : SlideDirection.PREVIOUS;\n } else {\n // vertical carousel slide direction is same in ltr and rtl\n if (this.vertical) {\n slideDirection = event.after ? SlideDirection.NEXT : SlideDirection.PREVIOUS;\n } else {\n slideDirection = event.after ? SlideDirection.PREVIOUS : SlideDirection.NEXT;\n }\n }\n this._adjustActiveItemPosition(slideDirection, stepTaken);\n this._notifySlideChange(slideDirection, firstActiveSlide);\n this._changeDetectorRef.detectChanges();\n }\n }\n\n /**\n * @hidden Making slides visible when slides are dragged. Otherwise, it looses the effect.\n */\n private _onSlideDrag(isDragging: boolean): void {\n if (isDragging) {\n this.slides.forEach((_slide) => {\n _slide.visibility = 'visible';\n });\n this._slideSwiped = false;\n this._changeDetectorRef.markForCheck();\n } else {\n // After slide limit reached, if dragging starts then revert visibility\n if (!this._slideSwiped && !this.loop) {\n this._manageSlideVisibility(this.currentActiveSlidesStartIndex);\n }\n }\n }\n\n /**\n * @hidden\n * Resizes inner carousel container to fit all items in the viewport and hide those which are not fully in it.\n */\n private _resizeContentContainer(): void {\n merge(\n resizeObservable(this.slideContainer.nativeElement),\n resizeObservable(this.carouselContainer.nativeElement)\n )\n .pipe(debounceTime(100), takeUntil(this._onDestroy$))\n .subscribe(() => {\n const { width, slides } = this._getFittingSlidesAndWidth();\n\n if (this.visibleSlidesCount === 'auto') {\n this._visibleSlidesNumericCount = slides;\n const totalSlides = this.slides.length;\n\n let needleSlideIndex = this.currentActiveSlidesStartIndex;\n\n // If amount of slides insufficient to fill whole carousel, slide back a bit.\n if (this.currentActiveSlidesStartIndex + slides > totalSlides) {\n needleSlideIndex =\n this.currentActiveSlidesStartIndex -\n (this.currentActiveSlidesStartIndex + slides - totalSlides);\n }\n\n const needleSlide = this.slides.get(needleSlideIndex);\n\n this.currentActiveSlidesStartIndex = needleSlideIndex;\n\n this._carouselService.active = needleSlide;\n\n // Refresh carousel config and transition to the current slide.\n this._initializeCarousel();\n\n needleSlide && this._carouselService.goToItem(needleSlide);\n this._notifySlideChange(SlideDirection.None);\n }\n\n if (this._slidesWrapperSize !== width) {\n this._slidesWrapperSize = width;\n }\n\n this._changeDetectorRef.detectChanges();\n });\n }\n\n /**\n * @hidden\n * Calculates how many slides can be shown within current carousel viewport.\n * @returns Object containing fitting slides count and total width of those slides.\n */\n private _getFittingSlidesAndWidth(): FittingSlidesAndWidth {\n if (!this.carouselContainer) {\n return {\n width: 0,\n slides: 1\n };\n }\n\n const { width } = this.carouselContainer.nativeElement.getBoundingClientRect();\n let maxSize = 0;\n let slidesCount = 0;\n\n const carouselSlides = this.slides.toArray();\n const previousSlides = carouselSlides.splice(0, this.currentActiveSlidesStartIndex);\n\n const getSlides = (slides: CarouselItemComponent[]): void => {\n for (const slide of slides) {\n const slideWidth = slide.getWidth();\n\n if (!slideWidth) {\n break;\n }\n\n const newSize = maxSize + slideWidth;\n\n if (newSize > width) {\n break;\n }\n\n maxSize = newSize;\n slidesCount++;\n }\n };\n\n getSlides(carouselSlides);\n\n // If with of the rest of the slides is lesser than carouse's viewport, add previous slides to it.\n if (maxSize < width) {\n getSlides(previousSlides);\n }\n\n return {\n width: maxSize,\n slides: slidesCount\n };\n }\n\n /** @hidden */\n private _getVisibleSlidesCount(): number {\n if (this._visibleSlidesCount !== 'auto') {\n return this._visibleSlidesCount;\n }\n\n const { slides } = this._getFittingSlidesAndWidth();\n return slides;\n }\n}\n","<div\n class=\"fd-carousel\"\n [class.fd-carousel--no-navigation]=\"!navigation\"\n data-ride=\"carousel\"\n tabindex=\"0\"\n [style.height]=\"height\"\n [style.width]=\"width\"\n [attr.dir]=\"dir\"\n role=\"region\"\n #carouselContainer\n (click)=\"_focus()\"\n>\n <ng-container *ngIf=\"_showPageIndicatorContainer && pageIndicatorsOrientation === 'top'\">\n <ng-container *ngTemplateOutlet=\"pageIndicatorContainer\"></ng-container>\n </ng-container>\n\n <div\n class=\"fd-carousel__content\"\n [class.fd-carousel__content--horizontal]=\"!vertical\"\n [style.width]=\"_contentSizePx\"\n >\n <ng-container *ngIf=\"_showNavigationButtonInContent\">\n <ng-container *ngTemplateOutlet=\"buttonLeft\"></ng-container>\n </ng-container>\n\n <div #slideContainer class=\"fd-carousel__slides\">\n <ng-content></ng-content>\n </div>\n\n <ng-container *ngIf=\"_showNavigationButtonInContent\">\n <ng-container *ngTemplateOutlet=\"buttonRight\"></ng-container>\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"_showPageIndicatorContainer && pageIndicatorsOrientation === 'bottom'\">\n <ng-container *ngTemplateOutlet=\"pageIndicatorContainer\"></ng-container>\n </ng-container>\n\n <div style=\"display: none\" role=\"region\" [attr.id]=\"id + '-accessibility'\" aria-live=\"polite\" dir=\"ltr\">\n {{ screenReaderLabel }}\n </div>\n</div>\n\n<ng-template #pageIndicatorContainer>\n <div class=\"fd-carousel__page-indicator-container\">\n <ng-container *ngIf=\"_showNavigationButtonInPageIndicatorContainer\">\n <ng-container *ngTemplateOutlet=\"buttonLeft\"></ng-container>\n </ng-container>\n\n <ng-container *ngTemplateOutlet=\"pageIndicators\"> </ng-container>\n\n <ng-container *ngIf=\"_showNavigationButtonInPageIndicatorContainer\">\n <ng-container *ngTemplateOutlet=\"buttonRight\"></ng-container>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #pageIndicators>\n <ng-container *ngIf=\"numericIndicator\">\n <div class=\"fd-carousel__page-indicators\">\n <ng-container *ngIf=\"pageIndicator\">\n <div class=\"fd-carousel__text\" dir=\"ltr\">\n {{ getPageIndicatorLabel }}\n </div>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!numericIndicator && _showNavigationButtonInPageIndicatorContainer\">\n <ol class=\"fd-carousel__page-indicators\" [attr.dir]=\"dir\">\n <ng-container *ngIf=\"pageIndicator\">\n <ng-container *ngFor=\"let item of pageIndicatorsCountArray; let i = index\">\n <li\n [attr.data-slide-to]=\"i + 1\"\n class=\"fd-carousel__page-indicator\"\n [class.fd-carousel__page-indicator--active]=\"i === currentActiveSlidesStartIndex\"\n ></li>\n </ng-container>\n </ng-container>\n </ol>\n </ng-container>\n</ng-template>\n\n<ng-template #buttonLeft>\n <button\n fd-button\n class=\"fd-carousel__button fd-carousel__button--left\"\n [style.z-index]=\"1\"\n data-slide=\"previous\"\n [attr.aria-label]=\"leftNavigationBtnLabel || ('coreCarousel.leftNavigationBtnLabel' | fdTranslate)\"\n (click)=\"previous(); $event.stopPropagation()\"\n [disabled]=\"leftButtonDisabled\"\n [attr.title]=\"leftNavigationBtnLabel || ('coreCarousel.leftNavigationBtnLabel' | fdTranslate)\"\n glyph=\"slim-arrow-left\"\n ></button>\n</ng-template>\n\n<ng-template #buttonRight>\n <button\n fd-button\n class=\"fd-carousel__button fd-carousel__button--right\"\n [style.z-index]=\"1\"\n data-slide=\"next\"\n [attr.aria-label]=\"rightNavigationBtnLabel || ('coreCarousel.rightNavigationBtnLabel' | fdTranslate)\"\n (click)=\"next(); $event.stopPropagation()\"\n [disabled]=\"rightButtonDisabled\"\n [attr.title]=\"rightNavigationBtnLabel || ('coreCarousel.rightNavigationBtnLabel' | fdTranslate)\"\n glyph=\"slim-arrow-right\"\n ></button>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CarouselItemDirective } from './carousel-item.directive';\nimport { CarouselDirective } from './carousel.directive';\nimport { CarouselComponent } from './carousel.component';\nimport { CarouselItemComponent } from './carousel-item/carousel-item.component';\nimport { BusyIndicatorModule } from '@fundamental-ngx/core/busy-indicator';\nimport { I18nModule } from '@fundamental-ngx/i18n';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { CarouselService } from './carousel.service';\n\n@NgModule({\n imports: [CommonModule, BusyIndicatorModule, ButtonModule, I18nModule],\n exports: [CarouselItemDirective, CarouselDirective, CarouselComponent, CarouselItemComponent],\n declarations: [CarouselItemDirective, CarouselDirective, CarouselComponent, CarouselItemComponent],\n providers: [CarouselService]\n})\nexport class CarouselModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["carouselItemCounter","i1.CarouselService"],"mappings":"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"}
@@ -190,8 +190,8 @@ class CheckboxComponent {
190
190
  }
191
191
  }
192
192
  }
193
- CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CheckboxComponent, deps: [{ token: i0.ElementRef }, { token: 'tabIndexValue', attribute: true }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i1.ContentDensityObserver }, { token: LIST_ITEM_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
194
- CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: CheckboxComponent, selector: "fd-checkbox", inputs: { ariaLabel: "ariaLabel", value: "value", ariaLabelledBy: "ariaLabelledBy", ariaDescribedBy: "ariaDescribedBy", title: "title", inputId: "inputId", state: "state", name: "name", label: "label", disabled: "disabled", tristate: "tristate", tristateSelectable: "tristateSelectable", labelClass: "labelClass", required: "required", values: "values", standalone: "standalone" }, outputs: { focusChange: "focusChange" }, host: { properties: { "attr.tabindex": "-1", "class.fd-checkbox--standalone": "this.standalone", "style.position": "this.position", "style.outline": "this.outline" } }, providers: [
193
+ CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CheckboxComponent, deps: [{ token: i0.ElementRef }, { token: 'tabIndexValue', attribute: true }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i1.ContentDensityObserver }, { token: LIST_ITEM_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
194
+ CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CheckboxComponent, selector: "fd-checkbox", inputs: { ariaLabel: "ariaLabel", value: "value", ariaLabelledBy: "ariaLabelledBy", ariaDescribedBy: "ariaDescribedBy", title: "title", inputId: "inputId", state: "state", name: "name", label: "label", disabled: "disabled", tristate: "tristate", tristateSelectable: "tristateSelectable", labelClass: "labelClass", required: "required", values: "values", standalone: "standalone" }, outputs: { focusChange: "focusChange" }, host: { properties: { "attr.tabindex": "-1", "class.fd-checkbox--standalone": "this.standalone", "style.position": "this.position", "style.outline": "this.outline" } }, providers: [
195
195
  {
196
196
  provide: NG_VALUE_ACCESSOR,
197
197
  useExisting: forwardRef(() => CheckboxComponent),
@@ -204,7 +204,7 @@ CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
204
204
  registerFormItemControl(CheckboxComponent),
205
205
  contentDensityObserverProviders()
206
206
  ], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }, { propertyName: "labelElement", first: true, predicate: ["labelElement"], descendants: true }], ngImport: i0, template: "<input\n #inputElement\n type=\"checkbox\"\n class=\"fd-checkbox\"\n [id]=\"inputId\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [indeterminate]=\"isIndeterminate\"\n [checked]=\"isChecked\"\n [attr.tabindex]=\"tabIndexValue\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-required]=\"required\"\n [class]=\"state ? 'is-' + state : ''\"\n (click)=\"_onInputClick($event)\"\n (blur)=\"_onBlur()\"\n (focus)=\"_onFocus()\"\n/>\n\n<label\n class=\"fd-checkbox__label\"\n #labelElement\n [for]=\"inputId\"\n [class]=\"labelClass\"\n [attr.title]=\"title\"\n [class.fd-checkbox__label--required]=\"required\"\n (click)=\"_onLabelClick($event)\"\n>\n <span class=\"fd-checkbox__checkmark\" aria-hidden=\"true\"></span>\n <div class=\"fd-checkbox__label-container\">\n <ng-container *ngIf=\"label\">\n <span class=\"fd-checkbox__text\">\n {{ label }}\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"!label\">\n <span class=\"fd-checkbox__text\">\n <ng-content></ng-content>\n </span>\n </ng-container>\n </div>\n</label>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-checkbox\n*/.fd-checkbox{-webkit-box-sizing:border-box;-webkit-appearance:none;appearance:none;background-color:var(--sapField_Background);border:0;border-color:var(--sapField_BorderColor);border-radius:var(--sapField_BorderCornerRadius);border-style:solid;border-width:var(--sapField_BorderWidth);box-sizing:border-box;color:var(--sapTextColor);color:var(--sapField_TextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;opacity:.0001;outline:none;overflow:hidden;padding:0;position:absolute;text-overflow:ellipsis;white-space:nowrap}.fd-checkbox:after,.fd-checkbox:before{box-sizing:inherit;font-size:inherit}.fd-checkbox::placeholder{color:var(--sapField_PlaceholderTextColor);font-style:italic}.fd-checkbox::selection{background-color:var(--sapSelectedColor);color:var(--sapContent_ContrastTextColor)}.fd-checkbox.is-success{background:var(--sapField_SuccessBackgroundStyle);background-color:var(--sapField_SuccessBackground);border:var(--sapField_SuccessColor) var(--sapField_SuccessBorderWidth) var(--sapField_SuccessBorderStyle)}.fd-checkbox.is-success.is-hover,.fd-checkbox.is-success:hover{-webkit-box-shadow:var(--fdInput_Success_Box_Shadow_Hover);background-color:var(--fdInput_Success_Background_Color_Hover);border-color:var(--sapField_SuccessColor);box-shadow:var(--fdInput_Success_Box_Shadow_Hover)}.fd-checkbox.is-success.is-focus,.fd-checkbox.is-success:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Success_Outline_Color);z-index:5}.fd-checkbox.is-success.is-focus.is-hover,.fd-checkbox.is-success.is-focus:hover,.fd-checkbox.is-success:focus.is-hover,.fd-checkbox.is-success:focus:hover{box-shadow:none}.fd-checkbox.is-error{background:var(--sapField_InvalidBackgroundStyle);background-color:var(--sapField_InvalidBackground);border:var(--sapField_InvalidColor) var(--sapField_InvalidBorderWidth) var(--sapField_InvalidBorderStyle)}.fd-checkbox.is-error.is-hover,.fd-checkbox.is-error:hover{-webkit-box-shadow:var(--fdInput_Error_Box_Shadow_Hover);background-color:var(--fdInput_Error_Background_Color_Hover);border-color:var(--sapField_InvalidColor);box-shadow:var(--fdInput_Error_Box_Shadow_Hover)}.fd-checkbox.is-error.is-focus,.fd-checkbox.is-error:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Error_Outline_Color);z-index:5}.fd-checkbox.is-error.is-focus.is-hover,.fd-checkbox.is-error.is-focus:hover,.fd-checkbox.is-error:focus.is-hover,.fd-checkbox.is-error:focus:hover{box-shadow:none}.fd-checkbox.is-warning{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-checkbox.is-warning.is-hover,.fd-checkbox.is-warning:hover{-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-checkbox.is-warning.is-focus,.fd-checkbox.is-warning:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-checkbox.is-warning.is-focus.is-hover,.fd-checkbox.is-warning.is-focus:hover,.fd-checkbox.is-warning:focus.is-hover,.fd-checkbox.is-warning:focus:hover{box-shadow:none}.fd-checkbox.is-alert{background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border:var(--sapField_WarningColor) var(--sapField_WarningBorderWidth) var(--sapField_WarningBorderStyle)}.fd-checkbox.is-alert.is-hover,.fd-checkbox.is-alert:hover{-webkit-box-shadow:var(--fdInput_Warning_Box_Shadow_Hover);background-color:var(--fdInput_Warning_Background_Color_Hover);border-color:var(--sapField_WarningColor);box-shadow:var(--fdInput_Warning_Box_Shadow_Hover)}.fd-checkbox.is-alert.is-focus,.fd-checkbox.is-alert:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Warning_Outline_Color);z-index:5}.fd-checkbox.is-alert.is-focus.is-hover,.fd-checkbox.is-alert.is-focus:hover,.fd-checkbox.is-alert:focus.is-hover,.fd-checkbox.is-alert:focus:hover{box-shadow:none}.fd-checkbox.is-information{background:var(--sapField_InformationBackgroundStyle);background-color:var(--sapField_InformationBackground);border:var(--sapField_InformationColor) var(--sapField_InformationBorderWidth) var(--sapField_InformationBorderStyle)}.fd-checkbox.is-information.is-hover,.fd-checkbox.is-information:hover{-webkit-box-shadow:var(--fdInput_Information_Box_Shadow_Hover);background-color:var(--fdInput_Information_Background_Color_Hover);border-color:var(--sapField_InformationColor);box-shadow:var(--fdInput_Information_Box_Shadow_Hover)}.fd-checkbox.is-information.is-focus,.fd-checkbox.is-information:focus{background:var(--sapField_Focus_Background);outline-color:var(--fdInput_Information_Outline_Color);z-index:5}.fd-checkbox.is-information.is-focus.is-hover,.fd-checkbox.is-information.is-focus:hover,.fd-checkbox.is-information:focus.is-hover,.fd-checkbox.is-information:focus:hover{box-shadow:none}.fd-checkbox.is-alert.is-focus,.fd-checkbox.is-alert:focus,.fd-checkbox.is-error.is-focus,.fd-checkbox.is-error:focus,.fd-checkbox.is-information.is-focus,.fd-checkbox.is-information:focus,.fd-checkbox.is-warning.is-focus,.fd-checkbox.is-warning:focus{outline-offset:var(--fdInput_Outline_Offset_States);z-index:5}.fd-checkbox.is-disabled,.fd-checkbox:disabled,.fd-checkbox[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-checkbox.is-readonly,.fd-checkbox[aria-readonly=true],.fd-checkbox[readonly]{background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius)}.fd-checkbox.is-readonly.is-hover,.fd-checkbox.is-readonly:hover,.fd-checkbox[aria-readonly=true].is-hover,.fd-checkbox[aria-readonly=true]:hover,.fd-checkbox[readonly].is-hover,.fd-checkbox[readonly]:hover{-webkit-box-shadow:none;background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius);box-shadow:none}.fd-checkbox.is-readonly.is-focus,.fd-checkbox.is-readonly:focus,.fd-checkbox[aria-readonly=true].is-focus,.fd-checkbox[aria-readonly=true]:focus,.fd-checkbox[readonly].is-focus,.fd-checkbox[readonly]:focus{background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor);border-radius:var(--fdInput_ReadOnly_Border_Radius);z-index:5}.fd-checkbox,.fd-checkbox.is-error,.fd-checkbox.is-information,.fd-checkbox.is-success,.fd-checkbox.is-warning{border-style:initial}.fd-checkbox__label{-webkit-box-sizing:border-box;-ms-flex-item-align:start;align-items:center;align-self:flex-start;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);cursor:text;cursor:pointer;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:1rem;margin:0 .5rem 0 0;max-width:100%;overflow:hidden;padding:0;padding:var(--fdCheckbox_Padding);position:relative;text-overflow:ellipsis;white-space:nowrap;width:-moz-fit-content;width:fit-content}.fd-checkbox__label:after,.fd-checkbox__label:before{box-sizing:inherit;font-size:inherit}.fd-checkbox__label[dir=rtl],[dir=rtl] .fd-checkbox__label{margin-left:.5rem;margin-right:0}.fd-checkbox__label:before{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:var(--fdCheckbox_Background_Color);border:var(--fdCheckbox_Border);border-radius:var(--sapField_BorderCornerRadius);color:var(--fdCheckbox_Selected_Color);content:\"\";display:inline-flex;font-family:SAP-icons;height:var(--fdCheckbox_Dimensions);justify-content:center;min-width:var(--fdCheckbox_Dimensions);width:var(--fdCheckbox_Dimensions)}.fd-checkbox__label:after{padding-left:.125rem;position:relative}.fd-checkbox__label.is-empty,.fd-checkbox__label:empty{margin:0}.fd-checkbox__label[dir=rtl]:after,[dir=rtl] .fd-checkbox__label:after{padding-left:0;padding-right:.125rem}.fd-checkbox__label.is-hover:before,.fd-checkbox__label:hover:before{-webkit-box-shadow:var(--fdCheckbox_Hover_Shadow);background-color:var(--fdCheckbox_Hover_Background);border-color:var(--fdCheckbox_Hover_Border_Color);box-shadow:var(--fdCheckbox_Hover_Shadow)}.fd-checkbox__label:focus{outline:none}.fd-checkbox__label--required .fd-checkbox__text,.fd-checkbox__label[aria-required=true] .fd-checkbox__text{padding-right:.5rem}.fd-checkbox__label--required .fd-checkbox__text[dir=rtl],.fd-checkbox__label[aria-required=true] .fd-checkbox__text[dir=rtl],[dir=rtl] .fd-checkbox__label--required .fd-checkbox__text,[dir=rtl] .fd-checkbox__label[aria-required=true] .fd-checkbox__text{padding-left:.5rem;padding-right:0}.fd-checkbox__label--required .fd-checkbox__text:after,.fd-checkbox__label[aria-required=true] .fd-checkbox__text:after{color:var(--sapField_RequiredColor);content:\"*\";font-size:var(--sapFontSize);font-weight:700;padding-left:.125rem;position:absolute}.fd-checkbox__label--required .fd-checkbox__text[dir=rtl]:after,.fd-checkbox__label[aria-required=true] .fd-checkbox__text[dir=rtl]:after,[dir=rtl] .fd-checkbox__label--required .fd-checkbox__text:after,[dir=rtl] .fd-checkbox__label[aria-required=true] .fd-checkbox__text:after{padding-left:0;padding-right:.125rem}.fd-checkbox__label-container{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:1rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;pointer-events:none;width:100%}.fd-checkbox__label-container:after,.fd-checkbox__label-container:before{box-sizing:inherit;font-size:inherit}.fd-checkbox__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;margin-left:var(--fdCheckbox_Padding);margin-right:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-checkbox__text:after,.fd-checkbox__text:before{box-sizing:inherit;font-size:inherit}.fd-checkbox__text[dir=rtl],[dir=rtl] .fd-checkbox__text{margin-left:0;margin-right:var(--fdCheckbox_Padding)}.fd-checkbox:checked+.fd-checkbox__label:before{content:\"\\e05b\"}.fd-checkbox:indeterminate+.fd-checkbox__label:after{background-color:var(--fdCheckbox_Selected_Color);content:\"\";height:var(--fdCheckbox_Tristate_Size);margin-left:var(--fdCheckbox_Tristate_Offset);position:absolute;width:var(--fdCheckbox_Tristate_Size)}.fd-checkbox[dir=rtl]:indeterminate+.fd-checkbox__label:after,[dir=rtl] .fd-checkbox:indeterminate+.fd-checkbox__label:after{margin-left:0;margin-right:var(--fdCheckbox_Tristate_Offset)}.fd-checkbox.is-alert+.fd-checkbox__label,.fd-checkbox.is-warning+.fd-checkbox__label{--fdCheckbox_Background_Color:var(--sapField_WarningBackground);--fdCheckbox_Hover_Background:var(--fdCheckbox_State_Hover_Background);--fdCheckbox_Border:var(--sapField_WarningBorderWidth) var(--fdCheckbox_Warning_Error_Information_Border_Style) var(--sapField_WarningColor);--fdCheckbox_Hover_Shadow:var(--fdCheckbox_Warning_State_Shadow);--fdCheckbox_Hover_Border_Color:var(--sapField_WarningColor);--fdCheckbox_Selected_Color:var(--sapField_TextColor)}.fd-checkbox.is-error+.fd-checkbox__label{--fdCheckbox_Background_Color:var(--sapField_InvalidBackground);--fdCheckbox_Hover_Background:var(--fdCheckbox_State_Hover_Background);--fdCheckbox_Border:var(--sapField_InvalidBorderWidth) var(--fdCheckbox_Warning_Error_Information_Border_Style) var(--sapField_InvalidColor);--fdCheckbox_Hover_Shadow:var(--fdCheckbox_Error_State_Shadow);--fdCheckbox_Hover_Border_Color:var(--sapField_InvalidColor);--fdCheckbox_Selected_Color:var(--sapField_InvalidColor)}.fd-checkbox.is-success+.fd-checkbox__label{--fdCheckbox_Background_Color:var(--sapField_SuccessBackground);--fdCheckbox_Hover_Background:var(--fdCheckbox_State_Hover_Background);--fdCheckbox_Border:var(--sapField_SuccessBorderWidth) solid var(--sapField_SuccessColor);--fdCheckbox_Hover_Shadow:var(--fdCheckbox_Success_State_Shadow);--fdCheckbox_Hover_Border_Color:var(--sapField_SuccessColor);--fdCheckbox_Selected_Color:var(--sapField_SuccessColor)}.fd-checkbox.is-information+.fd-checkbox__label{--fdCheckbox_Background_Color:var(--sapField_InformationBackground);--fdCheckbox_Hover_Background:var(--fdCheckbox_State_Hover_Background);--fdCheckbox_Border:var(--sapField_InformationBorderWidth) var(--fdCheckbox_Warning_Error_Information_Border_Style) var(--sapField_InformationColor);--fdCheckbox_Hover_Shadow:var(--fdCheckbox_Information_State_Shadow);--fdCheckbox_Hover_Border_Color:var(--sapField_InformationColor);--fdCheckbox_Selected_Color:var(--sapField_InformationColor)}.fd-checkbox.is-readonly+.fd-checkbox__label,.fd-checkbox[readonly]+.fd-checkbox__label{--fdCheckbox_Background_Color:var(--sapField_ReadOnly_Background);--fdCheckbox_Hover_Background:var(--fdCheckbox_State_Hover_Background);--fdCheckbox_Border:var(--fdCheckbox_Readonly_Border_Width) var(--fdCheckbox_Readonly_Border_Type) var(--sapField_ReadOnly_BorderColor);--fdCheckbox_Hover_Shadow:none;--fdCheckbox_Hover_Border_Color:var(--sapField_ReadOnly_BorderColor);--fdCheckbox_Selected_Color:var(--sapContent_NonInteractiveIconColor)}.fd-checkbox.is-focus,.fd-checkbox:focus{z-index:5}.fd-checkbox.is-focus+.fd-checkbox__label,.fd-checkbox:focus+.fd-checkbox__label{border-radius:var(--fdCheckbox_Outline_Border_Radius);outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:calc(var(--fdCheckbox_Focus_Outline_Offset) - var(--fdCheckbox_Padding))}.fd-checkbox.is-disabled,.fd-checkbox:disabled,.fd-checkbox[aria-disabled=true]{opacity:.0001}.fd-checkbox.is-disabled+.fd-checkbox__label,.fd-checkbox:disabled+.fd-checkbox__label,.fd-checkbox[aria-disabled=true]+.fd-checkbox__label{opacity:.4;pointer-events:none}.fd-checkbox[class*=-compact]+.fd-checkbox__label,.fd-checkbox[class*=-condensed]+.fd-checkbox__label,[class*=-compact] .fd-checkbox:not([class*=-cozy])+.fd-checkbox__label,[class*=-condensed] .fd-checkbox:not([class*=-cozy])+.fd-checkbox__label{--fdCheckbox_Dimensions:var(--fdCheckbox_Compact_Dimensions);--fdCheckbox_Padding:var(--fdCheckbox_Compact_Padding)}.fd-checkbox[class*=-compact]:indeterminate+.fd-checkbox__label,.fd-checkbox[class*=-condensed]:indeterminate+.fd-checkbox__label,[class*=-compact] .fd-checkbox:not([class*=-cozy]):indeterminate+.fd-checkbox__label,[class*=-condensed] .fd-checkbox:not([class*=-cozy]):indeterminate+.fd-checkbox__label{--fdCheckbox_Tristate_Size:var(--fdCheckbox_Tristate_Compact_Size);--fdCheckbox_Tristate_Offset:var(--fdCheckbox_Tristate_Compact_Offset)}.fd-checkbox[class*=-compact].is-focus,.fd-checkbox[class*=-compact]:focus,.fd-checkbox[class*=-condensed].is-focus,.fd-checkbox[class*=-condensed]:focus,[class*=-compact] .fd-checkbox:not([class*=-cozy]).is-focus,[class*=-compact] .fd-checkbox:not([class*=-cozy]):focus,[class*=-condensed] .fd-checkbox:not([class*=-cozy]).is-focus,[class*=-condensed] .fd-checkbox:not([class*=-cozy]):focus{z-index:5}.fd-checkbox[class*=-compact].is-focus+.fd-checkbox__label,.fd-checkbox[class*=-compact]:focus+.fd-checkbox__label,.fd-checkbox[class*=-condensed].is-focus+.fd-checkbox__label,.fd-checkbox[class*=-condensed]:focus+.fd-checkbox__label,[class*=-compact] .fd-checkbox:not([class*=-cozy]).is-focus+.fd-checkbox__label,[class*=-compact] .fd-checkbox:not([class*=-cozy]):focus+.fd-checkbox__label,[class*=-condensed] .fd-checkbox:not([class*=-cozy]).is-focus+.fd-checkbox__label,[class*=-condensed] .fd-checkbox:not([class*=-cozy]):focus+.fd-checkbox__label{--fdCheckbox_Outline_Border_Radius:var(--fdCheckbox_Compact_Outline_Border_Radius)}fd-checkbox .fd-checkbox__text:empty{margin:0}fd-checkbox .fd-checkbox__label{-webkit-user-select:none;user-select:none}fd-checkbox.fd-checkbox--standalone .fd-checkbox__label{margin:0}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CheckboxComponent, decorators: [{
207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CheckboxComponent, decorators: [{
208
208
  type: Component,
209
209
  args: [{ selector: 'fd-checkbox', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
210
210
  {
@@ -284,14 +284,14 @@ class DeprecatedCheckboxContentDensityDirective extends DeprecatedCompactDirecti
284
284
  super('fd-checkbox');
285
285
  }
286
286
  }
287
- DeprecatedCheckboxContentDensityDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DeprecatedCheckboxContentDensityDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
288
- DeprecatedCheckboxContentDensityDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: DeprecatedCheckboxContentDensityDirective, selector: "fd-checkbox[compact]", providers: [
287
+ DeprecatedCheckboxContentDensityDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DeprecatedCheckboxContentDensityDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
288
+ DeprecatedCheckboxContentDensityDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: DeprecatedCheckboxContentDensityDirective, selector: "fd-checkbox[compact]", providers: [
289
289
  {
290
290
  provide: CONTENT_DENSITY_DIRECTIVE,
291
291
  useExisting: forwardRef(() => DeprecatedCheckboxContentDensityDirective)
292
292
  }
293
293
  ], usesInheritance: true, ngImport: i0 });
294
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: DeprecatedCheckboxContentDensityDirective, decorators: [{
294
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DeprecatedCheckboxContentDensityDirective, decorators: [{
295
295
  type: Directive,
296
296
  args: [{
297
297
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -307,10 +307,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
307
307
 
308
308
  class CheckboxModule {
309
309
  }
310
- CheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
311
- CheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: CheckboxModule, declarations: [CheckboxComponent, DeprecatedCheckboxContentDensityDirective], imports: [CommonModule, FormsModule, ContentDensityModule], exports: [CheckboxComponent, DeprecatedCheckboxContentDensityDirective, ContentDensityModule] });
312
- CheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CheckboxModule, imports: [CommonModule, FormsModule, ContentDensityModule, ContentDensityModule] });
313
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CheckboxModule, decorators: [{
310
+ CheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
311
+ CheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: CheckboxModule, declarations: [CheckboxComponent, DeprecatedCheckboxContentDensityDirective], imports: [CommonModule, FormsModule, ContentDensityModule], exports: [CheckboxComponent, DeprecatedCheckboxContentDensityDirective, ContentDensityModule] });
312
+ CheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CheckboxModule, imports: [CommonModule, FormsModule, ContentDensityModule, ContentDensityModule] });
313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CheckboxModule, decorators: [{
314
314
  type: NgModule,
315
315
  args: [{
316
316
  declarations: [CheckboxComponent, DeprecatedCheckboxContentDensityDirective],