@fundamental-ngx/core 0.44.1-rc.3 → 0.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (500) hide show
  1. package/action-sheet/action-sheet.module.d.ts +5 -6
  2. package/action-sheet/index.d.ts +0 -1
  3. package/avatar/avatar.component.d.ts +1 -6
  4. package/bar/bar.module.d.ts +4 -6
  5. package/bar/directives/bar-element.directive.d.ts +1 -6
  6. package/bar/index.d.ts +0 -2
  7. package/breadcrumb/breadcrumb.component.d.ts +1 -9
  8. package/breadcrumb/breadcrumb.module.d.ts +12 -13
  9. package/breadcrumb/index.d.ts +0 -1
  10. package/button/button.module.d.ts +4 -5
  11. package/button/index.d.ts +0 -1
  12. package/calendar/calendar.module.d.ts +5 -6
  13. package/calendar/index.d.ts +0 -1
  14. package/card/card.module.d.ts +6 -7
  15. package/card/index.d.ts +0 -1
  16. package/carousel/carousel.component.d.ts +1 -13
  17. package/checkbox/checkbox.module.d.ts +4 -5
  18. package/checkbox/index.d.ts +0 -1
  19. package/combobox/combobox.module.d.ts +12 -13
  20. package/combobox/index.d.ts +0 -1
  21. package/content-density/index.d.ts +0 -4
  22. package/date-picker/date-picker.component.d.ts +1 -62
  23. package/date-picker/date-picker.module.d.ts +12 -13
  24. package/date-picker/index.d.ts +0 -1
  25. package/datetime-picker/datetime-picker.component.d.ts +1 -49
  26. package/datetime-picker/datetime-picker.module.d.ts +14 -15
  27. package/datetime-picker/index.d.ts +0 -1
  28. package/dialog/dialog.module.d.ts +14 -16
  29. package/dialog/index.d.ts +0 -2
  30. package/dialog/utils/dialog-config.class.d.ts +0 -2
  31. package/dynamic-page/dynamic-page.module.d.ts +10 -11
  32. package/dynamic-page/index.d.ts +0 -1
  33. package/esm2022/action-sheet/action-sheet.module.mjs +3 -8
  34. package/esm2022/action-sheet/index.mjs +1 -2
  35. package/esm2022/avatar/avatar.component.mjs +3 -13
  36. package/esm2022/bar/bar.module.mjs +3 -13
  37. package/esm2022/bar/directives/bar-element.directive.mjs +3 -16
  38. package/esm2022/bar/index.mjs +1 -3
  39. package/esm2022/breadcrumb/breadcrumb.component.mjs +5 -19
  40. package/esm2022/breadcrumb/breadcrumb.module.mjs +6 -18
  41. package/esm2022/breadcrumb/index.mjs +1 -2
  42. package/esm2022/button/button.module.mjs +4 -5
  43. package/esm2022/button/index.mjs +1 -2
  44. package/esm2022/calendar/calendar.module.mjs +3 -8
  45. package/esm2022/calendar/index.mjs +1 -2
  46. package/esm2022/card/card.module.mjs +4 -8
  47. package/esm2022/card/index.mjs +1 -2
  48. package/esm2022/carousel/carousel.component.mjs +4 -30
  49. package/esm2022/checkbox/checkbox.module.mjs +4 -5
  50. package/esm2022/checkbox/index.mjs +1 -2
  51. package/esm2022/combobox/combobox-mobile/combobox-mobile.component.mjs +1 -1
  52. package/esm2022/combobox/combobox.component.mjs +1 -1
  53. package/esm2022/combobox/combobox.module.mjs +6 -8
  54. package/esm2022/combobox/index.mjs +1 -2
  55. package/esm2022/content-density/index.mjs +1 -5
  56. package/esm2022/date-picker/date-picker.component.mjs +4 -104
  57. package/esm2022/date-picker/date-picker.module.mjs +5 -6
  58. package/esm2022/date-picker/index.mjs +1 -2
  59. package/esm2022/datetime-picker/datetime-picker.component.mjs +4 -83
  60. package/esm2022/datetime-picker/datetime-picker.module.mjs +5 -6
  61. package/esm2022/datetime-picker/index.mjs +1 -2
  62. package/esm2022/dialog/dialog-default/dialog-default.component.mjs +1 -1
  63. package/esm2022/dialog/dialog-header/dialog-header.component.mjs +1 -1
  64. package/esm2022/dialog/dialog.component.mjs +3 -3
  65. package/esm2022/dialog/dialog.module.mjs +1 -9
  66. package/esm2022/dialog/index.mjs +1 -3
  67. package/esm2022/dialog/utils/dialog-config.class.mjs +1 -1
  68. package/esm2022/dynamic-page/dynamic-page-header/actions/dynamic-page-title-content.component.mjs +1 -1
  69. package/esm2022/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +1 -1
  70. package/esm2022/dynamic-page/dynamic-page.module.mjs +3 -8
  71. package/esm2022/dynamic-page/index.mjs +1 -2
  72. package/esm2022/facets/facet/facet.component.mjs +1 -1
  73. package/esm2022/feed-list-item/components/item/feed-list-item.component.mjs +14 -40
  74. package/esm2022/file-uploader/file-uploader.module.mjs +4 -23
  75. package/esm2022/file-uploader/index.mjs +1 -2
  76. package/esm2022/form/form-control/form-control.module.mjs +4 -23
  77. package/esm2022/form/form-label/form-label.component.mjs +3 -40
  78. package/esm2022/form/form-message/form-message.component.mjs +1 -1
  79. package/esm2022/form/form-message/popover-form-message.service.mjs +1 -1
  80. package/esm2022/form/index.mjs +1 -2
  81. package/esm2022/fundamental-ngx.module.mjs +1 -5
  82. package/esm2022/grid-list/components/grid-list-filter-bar/grid-list-filter-bar.component.mjs +1 -1
  83. package/esm2022/grid-list/components/grid-list-title-bar/grid-list-title-bar.component.mjs +1 -1
  84. package/esm2022/index.mjs +1 -2
  85. package/esm2022/inline-help/inline-help.directive.mjs +3 -18
  86. package/esm2022/input-group/index.mjs +1 -2
  87. package/esm2022/input-group/input-group.component.mjs +6 -28
  88. package/esm2022/input-group/input-group.module.mjs +1 -6
  89. package/esm2022/link/link.component.mjs +5 -8
  90. package/esm2022/list/index.mjs +1 -2
  91. package/esm2022/list/list-item/list-item.component.mjs +3 -46
  92. package/esm2022/list/list-message.directive.mjs +1 -1
  93. package/esm2022/list/list.module.mjs +3 -8
  94. package/esm2022/menu/index.mjs +1 -2
  95. package/esm2022/menu/menu-mobile/menu-mobile.component.mjs +1 -1
  96. package/esm2022/menu/menu.module.mjs +3 -8
  97. package/esm2022/message-box/index.mjs +1 -3
  98. package/esm2022/message-box/message-box-default/message-box-default.component.mjs +1 -1
  99. package/esm2022/message-box/message-box-header/message-box-header.component.mjs +1 -1
  100. package/esm2022/message-box/message-box.module.mjs +3 -11
  101. package/esm2022/message-strip/alert/message-strip-alert/message-strip-alert.component.mjs +3 -3
  102. package/esm2022/message-strip/alert/message-strip-alert.service.mjs +8 -2
  103. package/esm2022/message-strip/message-strip.component.mjs +3 -16
  104. package/esm2022/micro-process-flow/index.mjs +1 -2
  105. package/esm2022/micro-process-flow/micro-process-flow.module.mjs +5 -10
  106. package/esm2022/multi-combobox/mobile/mobile-multi-combobox.component.mjs +1 -1
  107. package/esm2022/multi-combobox/multi-combobox.component.mjs +1 -1
  108. package/esm2022/multi-combobox/select-all-toggler/select-all-toggler.component.mjs +1 -1
  109. package/esm2022/multi-input/index.mjs +1 -2
  110. package/esm2022/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +1 -1
  111. package/esm2022/multi-input/multi-input.component.mjs +1 -1
  112. package/esm2022/multi-input/multi-input.module.mjs +6 -8
  113. package/esm2022/nested-list/index.mjs +1 -2
  114. package/esm2022/nested-list/nested-list.module.mjs +3 -8
  115. package/esm2022/object-number/object-number.component.mjs +3 -3
  116. package/esm2022/overflow-layout/overflow-layout.component.mjs +3 -3
  117. package/esm2022/pagination/index.mjs +1 -2
  118. package/esm2022/pagination/pagination.component.mjs +8 -186
  119. package/esm2022/pagination/pagination.module.mjs +6 -7
  120. package/esm2022/panel/index.mjs +1 -2
  121. package/esm2022/panel/panel.module.mjs +4 -15
  122. package/esm2022/popover/base/base-popover.class.mjs +2 -33
  123. package/esm2022/popover/popover.component.mjs +1 -19
  124. package/esm2022/product-switch/product-switch/product-switch.component.mjs +4 -17
  125. package/esm2022/product-switch/product-switch-body/product-switch-body.component.mjs +1 -1
  126. package/esm2022/product-switch/product-switch-body/product-switch.item.mjs +1 -1
  127. package/esm2022/quick-view/quick-view-group-item-label/quick-view-group-item-label.component.mjs +1 -1
  128. package/esm2022/quick-view/quick-view-title/quick-view-title.component.mjs +1 -1
  129. package/esm2022/radio/index.mjs +1 -2
  130. package/esm2022/radio/radio.module.mjs +4 -5
  131. package/esm2022/rating-indicator/components/rating-indicator.component.mjs +3 -3
  132. package/esm2022/select/index.mjs +1 -2
  133. package/esm2022/select/select.component.mjs +1 -1
  134. package/esm2022/select/select.module.mjs +5 -6
  135. package/esm2022/shellbar/index.mjs +1 -2
  136. package/esm2022/shellbar/shellbar-actions/shellbar-actions.component.mjs +3 -17
  137. package/esm2022/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.mjs +3 -5
  138. package/esm2022/shellbar/shellbar.module.mjs +3 -8
  139. package/esm2022/shellbar/user-menu/shellbar-user-menu.component.mjs +1 -1
  140. package/esm2022/slider/index.mjs +1 -2
  141. package/esm2022/slider/slider.component.mjs +3 -49
  142. package/esm2022/slider/slider.module.mjs +4 -5
  143. package/esm2022/split-button/index.mjs +1 -2
  144. package/esm2022/split-button/split-button.component.mjs +3 -27
  145. package/esm2022/split-button/split-button.module.mjs +4 -5
  146. package/esm2022/splitter/splitter-pagination/splitter-pagination.component.mjs +3 -10
  147. package/esm2022/splitter/splitter.component.mjs +2 -16
  148. package/esm2022/step-input/index.mjs +1 -2
  149. package/esm2022/step-input/step-input.component.mjs +5 -31
  150. package/esm2022/step-input/step-input.module.mjs +5 -6
  151. package/esm2022/switch/index.mjs +1 -2
  152. package/esm2022/switch/switch.component.mjs +5 -43
  153. package/esm2022/switch/switch.module.mjs +4 -5
  154. package/esm2022/table/index.mjs +1 -3
  155. package/esm2022/table/table.module.mjs +3 -13
  156. package/esm2022/tabs/index.mjs +1 -2
  157. package/esm2022/tabs/tab-item-expand/tab-item-expand.component.mjs +8 -22
  158. package/esm2022/tabs/tab-list.component.mjs +5 -18
  159. package/esm2022/tabs/tabs.module.mjs +3 -8
  160. package/esm2022/text/text.component.mjs +3 -29
  161. package/esm2022/time/index.mjs +1 -3
  162. package/esm2022/time/time.component.mjs +8 -65
  163. package/esm2022/time/time.module.mjs +5 -6
  164. package/esm2022/time-picker/index.mjs +1 -2
  165. package/esm2022/time-picker/time-picker.component.mjs +1 -1
  166. package/esm2022/time-picker/time-picker.module.mjs +6 -22
  167. package/esm2022/timeline/components/timeline-node-body/timeline-node-body.component.mjs +1 -1
  168. package/esm2022/timeline/timeline.component.mjs +1 -1
  169. package/esm2022/token/index.mjs +1 -2
  170. package/esm2022/token/token.component.mjs +4 -30
  171. package/esm2022/token/token.module.mjs +5 -24
  172. package/esm2022/token/tokenizer.component.mjs +3 -3
  173. package/esm2022/toolbar/toolbar.component.mjs +8 -24
  174. package/esm2022/tree/tree.component.mjs +1 -1
  175. package/esm2022/upload-collection/upload-collection-button-group/upload-collection-button-group.component.mjs +9 -87
  176. package/esm2022/upload-collection/upload-collection-form-item/upload-collection-form-item.component.mjs +9 -21
  177. package/esm2022/upload-collection/upload-collection-item.directive.mjs +4 -3
  178. package/esm2022/upload-collection/upload-collection-simple.directives.mjs +22 -15
  179. package/esm2022/upload-collection/upload-collection.component.mjs +5 -4
  180. package/esm2022/upload-collection/upload-collection.module.mjs +7 -13
  181. package/esm2022/wizard/index.mjs +1 -2
  182. package/esm2022/wizard/wizard.module.mjs +3 -8
  183. package/feed-list-item/components/item/feed-list-item.component.d.ts +9 -25
  184. package/fesm2022/fundamental-ngx-core-action-sheet.mjs +5 -36
  185. package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
  186. package/fesm2022/fundamental-ngx-core-avatar.mjs +2 -12
  187. package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
  188. package/fesm2022/fundamental-ngx-core-bar.mjs +7 -81
  189. package/fesm2022/fundamental-ngx-core-bar.mjs.map +1 -1
  190. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +11 -63
  191. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  192. package/fesm2022/fundamental-ngx-core-button.mjs +6 -33
  193. package/fesm2022/fundamental-ngx-core-button.mjs.map +1 -1
  194. package/fesm2022/fundamental-ngx-core-calendar.mjs +4 -35
  195. package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
  196. package/fesm2022/fundamental-ngx-core-card.mjs +6 -36
  197. package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
  198. package/fesm2022/fundamental-ngx-core-carousel.mjs +3 -29
  199. package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
  200. package/fesm2022/fundamental-ngx-core-checkbox.mjs +6 -33
  201. package/fesm2022/fundamental-ngx-core-checkbox.mjs.map +1 -1
  202. package/fesm2022/fundamental-ngx-core-combobox.mjs +9 -37
  203. package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
  204. package/fesm2022/fundamental-ngx-core-content-density.mjs +1 -148
  205. package/fesm2022/fundamental-ngx-core-content-density.mjs.map +1 -1
  206. package/fesm2022/fundamental-ngx-core-date-picker.mjs +10 -137
  207. package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
  208. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +10 -116
  209. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  210. package/fesm2022/fundamental-ngx-core-dialog.mjs +6 -57
  211. package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
  212. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +7 -38
  213. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  214. package/fesm2022/fundamental-ngx-core-facets.mjs +1 -1
  215. package/fesm2022/fundamental-ngx-core-facets.mjs.map +1 -1
  216. package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +13 -39
  217. package/fesm2022/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  218. package/fesm2022/fundamental-ngx-core-file-uploader.mjs +5 -50
  219. package/fesm2022/fundamental-ngx-core-file-uploader.mjs.map +1 -1
  220. package/fesm2022/fundamental-ngx-core-form.mjs +7 -88
  221. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  222. package/fesm2022/fundamental-ngx-core-grid-list.mjs +2 -2
  223. package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
  224. package/fesm2022/fundamental-ngx-core-inline-help.mjs +2 -17
  225. package/fesm2022/fundamental-ngx-core-inline-help.mjs.map +1 -1
  226. package/fesm2022/fundamental-ngx-core-input-group.mjs +8 -60
  227. package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
  228. package/fesm2022/fundamental-ngx-core-link.mjs +4 -7
  229. package/fesm2022/fundamental-ngx-core-link.mjs.map +1 -1
  230. package/fesm2022/fundamental-ngx-core-list.mjs +6 -80
  231. package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
  232. package/fesm2022/fundamental-ngx-core-menu.mjs +7 -38
  233. package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
  234. package/fesm2022/fundamental-ngx-core-message-box.mjs +7 -59
  235. package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
  236. package/fesm2022/fundamental-ngx-core-message-strip.mjs +11 -19
  237. package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
  238. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +7 -38
  239. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
  240. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +3 -3
  241. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  242. package/fesm2022/fundamental-ngx-core-multi-input.mjs +9 -36
  243. package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
  244. package/fesm2022/fundamental-ngx-core-nested-list.mjs +4 -34
  245. package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
  246. package/fesm2022/fundamental-ngx-core-object-number.mjs +2 -2
  247. package/fesm2022/fundamental-ngx-core-object-number.mjs.map +1 -1
  248. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +2 -2
  249. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  250. package/fesm2022/fundamental-ngx-core-pagination.mjs +14 -219
  251. package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
  252. package/fesm2022/fundamental-ngx-core-panel.mjs +6 -43
  253. package/fesm2022/fundamental-ngx-core-panel.mjs.map +1 -1
  254. package/fesm2022/fundamental-ngx-core-popover.mjs +2 -50
  255. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  256. package/fesm2022/fundamental-ngx-core-product-switch.mjs +6 -18
  257. package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
  258. package/fesm2022/fundamental-ngx-core-quick-view.mjs +2 -2
  259. package/fesm2022/fundamental-ngx-core-quick-view.mjs.map +1 -1
  260. package/fesm2022/fundamental-ngx-core-radio.mjs +6 -33
  261. package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
  262. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +2 -2
  263. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  264. package/fesm2022/fundamental-ngx-core-select.mjs +7 -34
  265. package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
  266. package/fesm2022/fundamental-ngx-core-shellbar.mjs +11 -57
  267. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  268. package/fesm2022/fundamental-ngx-core-slider.mjs +8 -70
  269. package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
  270. package/fesm2022/fundamental-ngx-core-split-button.mjs +8 -59
  271. package/fesm2022/fundamental-ngx-core-split-button.mjs.map +1 -1
  272. package/fesm2022/fundamental-ngx-core-splitter.mjs +4 -24
  273. package/fesm2022/fundamental-ngx-core-splitter.mjs.map +1 -1
  274. package/fesm2022/fundamental-ngx-core-step-input.mjs +11 -64
  275. package/fesm2022/fundamental-ngx-core-step-input.mjs.map +1 -1
  276. package/fesm2022/fundamental-ngx-core-switch.mjs +9 -74
  277. package/fesm2022/fundamental-ngx-core-switch.mjs.map +1 -1
  278. package/fesm2022/fundamental-ngx-core-table.mjs +5 -65
  279. package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
  280. package/fesm2022/fundamental-ngx-core-tabs.mjs +14 -69
  281. package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
  282. package/fesm2022/fundamental-ngx-core-text.mjs +2 -28
  283. package/fesm2022/fundamental-ngx-core-text.mjs.map +1 -1
  284. package/fesm2022/fundamental-ngx-core-time-picker.mjs +9 -51
  285. package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
  286. package/fesm2022/fundamental-ngx-core-time.mjs +12 -143
  287. package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
  288. package/fesm2022/fundamental-ngx-core-timeline.mjs +2 -2
  289. package/fesm2022/fundamental-ngx-core-timeline.mjs.map +1 -1
  290. package/fesm2022/fundamental-ngx-core-token.mjs +11 -82
  291. package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
  292. package/fesm2022/fundamental-ngx-core-toolbar.mjs +6 -22
  293. package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
  294. package/fesm2022/fundamental-ngx-core-tree.mjs +1 -1
  295. package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
  296. package/fesm2022/fundamental-ngx-core-upload-collection.mjs +46 -131
  297. package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  298. package/fesm2022/fundamental-ngx-core-wizard.mjs +5 -36
  299. package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
  300. package/fesm2022/fundamental-ngx-core.mjs +0 -5
  301. package/fesm2022/fundamental-ngx-core.mjs.map +1 -1
  302. package/file-uploader/file-uploader.module.d.ts +6 -7
  303. package/file-uploader/index.d.ts +0 -1
  304. package/form/form-control/form-control.module.d.ts +3 -4
  305. package/form/form-label/form-label.component.d.ts +1 -16
  306. package/form/form-message/form-message.component.d.ts +0 -2
  307. package/form/form-message/popover-form-message.service.d.ts +2 -2
  308. package/form/index.d.ts +0 -1
  309. package/fundamental-ngx-core-v0.45.0.tgz +0 -0
  310. package/fundamental-ngx.module.d.ts +89 -90
  311. package/index.d.ts +0 -1
  312. package/inline-help/inline-help.directive.d.ts +1 -7
  313. package/input-group/index.d.ts +0 -1
  314. package/input-group/input-group.component.d.ts +6 -13
  315. package/input-group/input-group.module.d.ts +6 -7
  316. package/link/link.component.d.ts +1 -1
  317. package/list/index.d.ts +0 -1
  318. package/list/list-item/list-item.component.d.ts +1 -25
  319. package/list/list-message.directive.d.ts +2 -2
  320. package/list/list.module.d.ts +5 -6
  321. package/menu/index.d.ts +0 -1
  322. package/menu/menu.module.d.ts +6 -7
  323. package/message-box/index.d.ts +0 -2
  324. package/message-box/message-box.module.d.ts +15 -17
  325. package/message-strip/message-strip.component.d.ts +1 -9
  326. package/micro-process-flow/index.d.ts +0 -1
  327. package/micro-process-flow/micro-process-flow.module.d.ts +4 -5
  328. package/multi-input/index.d.ts +0 -1
  329. package/multi-input/multi-input.module.d.ts +12 -13
  330. package/nested-list/index.d.ts +0 -1
  331. package/nested-list/nested-list.module.d.ts +6 -7
  332. package/package.json +3 -9
  333. package/pagination/index.d.ts +0 -1
  334. package/pagination/pagination.component.d.ts +2 -111
  335. package/pagination/pagination.module.d.ts +10 -11
  336. package/panel/index.d.ts +0 -1
  337. package/panel/panel.module.d.ts +4 -5
  338. package/popover/base/base-popover.class.d.ts +1 -16
  339. package/popover/popover.component.d.ts +0 -11
  340. package/product-switch/product-switch/product-switch.component.d.ts +1 -8
  341. package/product-switch/product-switch-body/product-switch.item.d.ts +0 -4
  342. package/radio/index.d.ts +0 -1
  343. package/radio/radio.module.d.ts +4 -5
  344. package/schematics/add-dependencies/index.js +4 -4
  345. package/select/index.d.ts +0 -1
  346. package/select/select.component.d.ts +0 -2
  347. package/select/select.module.d.ts +9 -10
  348. package/shellbar/index.d.ts +0 -1
  349. package/shellbar/shellbar-actions/shellbar-actions.component.d.ts +1 -9
  350. package/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.d.ts +3 -5
  351. package/shellbar/shellbar.module.d.ts +14 -15
  352. package/slider/index.d.ts +0 -1
  353. package/slider/slider.component.d.ts +1 -31
  354. package/slider/slider.module.d.ts +7 -8
  355. package/split-button/index.d.ts +0 -1
  356. package/split-button/split-button.component.d.ts +3 -12
  357. package/split-button/split-button.module.d.ts +6 -7
  358. package/splitter/splitter-pagination/splitter-pagination.component.d.ts +0 -5
  359. package/splitter/splitter.component.d.ts +1 -9
  360. package/step-input/index.d.ts +0 -1
  361. package/step-input/step-input.component.d.ts +1 -17
  362. package/step-input/step-input.module.d.ts +7 -8
  363. package/switch/index.d.ts +0 -1
  364. package/switch/switch.component.d.ts +1 -19
  365. package/switch/switch.module.d.ts +5 -6
  366. package/table/index.d.ts +0 -2
  367. package/table/table.module.d.ts +4 -6
  368. package/tabs/index.d.ts +0 -1
  369. package/tabs/tab-item-expand/tab-item-expand.component.d.ts +1 -8
  370. package/tabs/tab-list.component.d.ts +1 -9
  371. package/tabs/tabs.module.d.ts +12 -13
  372. package/text/text.component.d.ts +1 -17
  373. package/time/index.d.ts +0 -2
  374. package/time/time.component.d.ts +2 -15
  375. package/time/time.module.d.ts +9 -10
  376. package/time-picker/index.d.ts +0 -1
  377. package/time-picker/time-picker.module.d.ts +9 -10
  378. package/token/index.d.ts +0 -1
  379. package/token/token.component.d.ts +1 -17
  380. package/token/token.module.d.ts +8 -9
  381. package/toolbar/toolbar.component.d.ts +4 -12
  382. package/upload-collection/upload-collection-button-group/upload-collection-button-group.component.d.ts +2 -50
  383. package/upload-collection/upload-collection-form-item/upload-collection-form-item.component.d.ts +1 -9
  384. package/upload-collection/upload-collection-item.directive.d.ts +1 -1
  385. package/upload-collection/upload-collection-simple.directives.d.ts +7 -7
  386. package/upload-collection/upload-collection.component.d.ts +1 -1
  387. package/upload-collection/upload-collection.module.d.ts +1 -8
  388. package/wizard/index.d.ts +0 -1
  389. package/wizard/wizard.module.d.ts +8 -9
  390. package/action-sheet/deprecated-action-sheet-compact.directive.d.ts +0 -8
  391. package/alert/README.md +0 -25
  392. package/alert/alert-service/alert.service.d.ts +0 -41
  393. package/alert/alert-utils/alert-animations.d.ts +0 -8
  394. package/alert/alert-utils/alert-config.d.ts +0 -34
  395. package/alert/alert-utils/alert-container.component.d.ts +0 -14
  396. package/alert/alert-utils/alert-ref.d.ts +0 -26
  397. package/alert/alert.component.d.ts +0 -87
  398. package/alert/alert.module.d.ts +0 -18
  399. package/alert/index.d.ts +0 -7
  400. package/bar/deprecated-bar-button-content-density.directive.d.ts +0 -8
  401. package/bar/deprecated-bar-content-density.directive.d.ts +0 -8
  402. package/breadcrumb/deprecated-breadcrumbs-compact.directive.d.ts +0 -8
  403. package/button/deprecated-button-content-density.directive.d.ts +0 -8
  404. package/calendar/deprecated-calendar-content-density.directive.d.ts +0 -8
  405. package/card/deprecated-card-content-density.directive.d.ts +0 -8
  406. package/checkbox/deprecated-checkbox-content-density.directive.d.ts +0 -8
  407. package/combobox/deprecated-combobox-content-density.directive.d.ts +0 -10
  408. package/content-density/classes/deprecated-compact.directive.d.ts +0 -26
  409. package/content-density/classes/deprecated-condensed.directive.d.ts +0 -26
  410. package/content-density/classes/deprecated-content-density.directive.d.ts +0 -26
  411. package/content-density/classes/deprecated-cozy.directive.d.ts +0 -26
  412. package/date-picker/deprecated-date-picker-compact.directive.d.ts +0 -8
  413. package/datetime-picker/deprecated-date-time-picker-content-density.directive.d.ts +0 -8
  414. package/dialog/dialog-footer-button/dialog-footer-button.component.d.ts +0 -12
  415. package/dialog/directives/dialog-decisive-button.directive.d.ts +0 -11
  416. package/dynamic-page/deprecated-dynamic-page-compact.directive.d.ts +0 -8
  417. package/esm2022/action-sheet/deprecated-action-sheet-compact.directive.mjs +0 -30
  418. package/esm2022/alert/alert-service/alert.service.mjs +0 -85
  419. package/esm2022/alert/alert-utils/alert-animations.mjs +0 -38
  420. package/esm2022/alert/alert-utils/alert-config.mjs +0 -27
  421. package/esm2022/alert/alert-utils/alert-container.component.mjs +0 -29
  422. package/esm2022/alert/alert-utils/alert-ref.mjs +0 -29
  423. package/esm2022/alert/alert.component.mjs +0 -212
  424. package/esm2022/alert/alert.module.mjs +0 -33
  425. package/esm2022/alert/fundamental-ngx-core-alert.mjs +0 -5
  426. package/esm2022/alert/index.mjs +0 -8
  427. package/esm2022/bar/deprecated-bar-button-content-density.directive.mjs +0 -30
  428. package/esm2022/bar/deprecated-bar-content-density.directive.mjs +0 -29
  429. package/esm2022/breadcrumb/deprecated-breadcrumbs-compact.directive.mjs +0 -30
  430. package/esm2022/button/deprecated-button-content-density.directive.mjs +0 -30
  431. package/esm2022/calendar/deprecated-calendar-content-density.directive.mjs +0 -30
  432. package/esm2022/card/deprecated-card-content-density.directive.mjs +0 -30
  433. package/esm2022/checkbox/deprecated-checkbox-content-density.directive.mjs +0 -30
  434. package/esm2022/combobox/deprecated-combobox-content-density.directive.mjs +0 -31
  435. package/esm2022/content-density/classes/deprecated-compact.directive.mjs +0 -39
  436. package/esm2022/content-density/classes/deprecated-condensed.directive.mjs +0 -39
  437. package/esm2022/content-density/classes/deprecated-content-density.directive.mjs +0 -49
  438. package/esm2022/content-density/classes/deprecated-cozy.directive.mjs +0 -39
  439. package/esm2022/date-picker/deprecated-date-picker-compact.directive.mjs +0 -30
  440. package/esm2022/datetime-picker/deprecated-date-time-picker-content-density.directive.mjs +0 -30
  441. package/esm2022/dialog/dialog-footer-button/dialog-footer-button.component.mjs +0 -25
  442. package/esm2022/dialog/directives/dialog-decisive-button.directive.mjs +0 -26
  443. package/esm2022/dynamic-page/deprecated-dynamic-page-compact.directive.mjs +0 -30
  444. package/esm2022/file-uploader/deprecated-file-uploader-content-density.directive.mjs +0 -30
  445. package/esm2022/form/form-control/deprecated-form-control-content-density.directive.mjs +0 -29
  446. package/esm2022/input-group/deprecated-input-group-compact.directive.mjs +0 -30
  447. package/esm2022/list/deprecated-list-content-density,directive.mjs +0 -30
  448. package/esm2022/menu/directives/deprecated-menu-compact.directive.mjs +0 -30
  449. package/esm2022/message-box/directives/message-box-decisive-button.directive.mjs +0 -27
  450. package/esm2022/message-box/message-box-footer-button/message-box-footer-button.component.mjs +0 -25
  451. package/esm2022/micro-process-flow/components/micro-process-flow/deprecated-micro-process-flow-content-density.directive.mjs +0 -30
  452. package/esm2022/multi-input/deprecated-multi-input-compact.directive.mjs +0 -30
  453. package/esm2022/nested-list/deprecated-nested-list-compact.directive.mjs +0 -29
  454. package/esm2022/pagination/deprecated-pagination-compact.directive.mjs +0 -30
  455. package/esm2022/panel/deprecated-panel-compact.directive.mjs +0 -30
  456. package/esm2022/radio/deprecated-radio-button-compact.directive.mjs +0 -30
  457. package/esm2022/select/deprecated-select-compact.directive.mjs +0 -30
  458. package/esm2022/shellbar/deprecated-shellbar-compact.directive.mjs +0 -30
  459. package/esm2022/slider/deprecated-slider-cozy.directive.mjs +0 -20
  460. package/esm2022/split-button/deprecated-split-button-compact.directive.mjs +0 -30
  461. package/esm2022/step-input/deprecated-step-input-compact.directive.mjs +0 -30
  462. package/esm2022/switch/deprecated-switch-compact.directive.mjs +0 -30
  463. package/esm2022/table/deprecated-table-compact.directive.mjs +0 -29
  464. package/esm2022/table/deprecated-table-condensed.directive.mjs +0 -29
  465. package/esm2022/tabs/deprecated-tabs-compact.directive.mjs +0 -29
  466. package/esm2022/time/deprecated-time-content-density.directive.mjs +0 -30
  467. package/esm2022/time/i18n/time-i18n.mjs +0 -52
  468. package/esm2022/time-picker/deprecated-timepicker-compact.directive.mjs +0 -30
  469. package/esm2022/token/deprecated-tokenizer-content-density.directive.mjs +0 -30
  470. package/esm2022/wizard/deprecated-wizard-compact.directive.mjs +0 -30
  471. package/fesm2022/fundamental-ngx-core-alert.mjs +0 -437
  472. package/fesm2022/fundamental-ngx-core-alert.mjs.map +0 -1
  473. package/file-uploader/deprecated-file-uploader-content-density.directive.d.ts +0 -8
  474. package/form/form-control/deprecated-form-control-content-density.directive.d.ts +0 -8
  475. package/fundamental-ngx-core-v0.44.1-rc.3.tgz +0 -0
  476. package/input-group/deprecated-input-group-compact.directive.d.ts +0 -8
  477. package/list/deprecated-list-content-density,directive.d.ts +0 -8
  478. package/menu/directives/deprecated-menu-compact.directive.d.ts +0 -8
  479. package/message-box/directives/message-box-decisive-button.directive.d.ts +0 -11
  480. package/message-box/message-box-footer-button/message-box-footer-button.component.d.ts +0 -12
  481. package/micro-process-flow/components/micro-process-flow/deprecated-micro-process-flow-content-density.directive.d.ts +0 -8
  482. package/multi-input/deprecated-multi-input-compact.directive.d.ts +0 -8
  483. package/nested-list/deprecated-nested-list-compact.directive.d.ts +0 -8
  484. package/pagination/deprecated-pagination-compact.directive.d.ts +0 -8
  485. package/panel/deprecated-panel-compact.directive.d.ts +0 -8
  486. package/radio/deprecated-radio-button-compact.directive.d.ts +0 -8
  487. package/select/deprecated-select-compact.directive.d.ts +0 -8
  488. package/shellbar/deprecated-shellbar-compact.directive.d.ts +0 -8
  489. package/slider/deprecated-slider-cozy.directive.d.ts +0 -8
  490. package/split-button/deprecated-split-button-compact.directive.d.ts +0 -8
  491. package/step-input/deprecated-step-input-compact.directive.d.ts +0 -8
  492. package/switch/deprecated-switch-compact.directive.d.ts +0 -8
  493. package/table/deprecated-table-compact.directive.d.ts +0 -8
  494. package/table/deprecated-table-condensed.directive.d.ts +0 -8
  495. package/tabs/deprecated-tabs-compact.directive.d.ts +0 -8
  496. package/time/deprecated-time-content-density.directive.d.ts +0 -8
  497. package/time/i18n/time-i18n.d.ts +0 -42
  498. package/time-picker/deprecated-timepicker-compact.directive.d.ts +0 -8
  499. package/token/deprecated-tokenizer-content-density.directive.d.ts +0 -8
  500. package/wizard/deprecated-wizard-compact.directive.d.ts +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-time.mjs","sources":["../../../../libs/core/src/lib/time/errors.ts","../../../../libs/core/src/lib/time/i18n/time-i18n.ts","../../../../libs/core/src/lib/time/time-column/time-column.component.ts","../../../../libs/core/src/lib/time/time-column/time-column.component.html","../../../../libs/core/src/lib/time/time.component.ts","../../../../libs/core/src/lib/time/time.component.html","../../../../libs/core/src/lib/time/deprecated-time-content-density.directive.ts","../../../../libs/core/src/lib/time/time.module.ts","../../../../libs/core/src/lib/time/fundamental-ngx-core-time.ts"],"sourcesContent":["/** Creates an error to be thrown when attempting to use an invalid date implementation. */\nexport function createMissingDateImplementationError(provider: string): Error {\n return Error(\n `FdTime: No provider found for ${provider}. You must import one of the following ` +\n `modules at your application root: FdDatetimeModule, or provide a ` +\n `custom implementation.`\n );\n}\n","import { Injectable, isDevMode } from '@angular/core';\nimport { warnOnce } from '@fundamental-ngx/cdk/utils';\n\n/**\n * @deprecated use i18n capabilities instead\n * Provides i18n support for labels and meridian naming inside the time component.\n */\n@Injectable()\nexport class TimeI18n {\n /** Aria label for entire component */\n componentAriaName = 'Time picker';\n\n /** Aria label for the 'increase hours' button */\n increaseHoursLabel = 'Increase hours';\n\n /** label for the 'hours' column */\n hoursLabel = 'Hrs';\n\n /** Aria label for the 'decrease hours' button */\n decreaseHoursLabel = 'Decrease hours';\n\n /** Aria label for the 'increase minutes' button */\n increaseMinutesLabel = 'Increase minutes';\n\n /** label for the 'minutes' column */\n minutesLabel = 'Min';\n\n /** Aria label for the 'decrease minutes' button */\n decreaseMinutesLabel = 'Decrease minutes';\n\n /** Aria label for the 'increase seconds' button */\n increaseSecondsLabel = 'Increase seconds';\n\n /** label for the 'seconds' column */\n secondsLabel = 'Sec';\n\n /** Aria label for the 'decrease seconds' button */\n decreaseSecondsLabel = 'Decrease seconds';\n\n /** Aria label for the 'increase period' button */\n increasePeriodLabel = 'Increase period';\n\n /** label for the 'period' column */\n periodLabel = 'Period';\n\n /** Aria label for the 'decrease period' button */\n decreasePeriodLabel = 'Decrease period';\n\n /**\n * Instruction how to navigate between options\n * in the time column list and to switch between time columns\n */\n navigationInstruction =\n 'To move between items in this list, press top arrow or bottom arrow. To switch between lists press left arrow or right arrow.';\n\n /** @hidden */\n constructor() {\n if (isDevMode()) {\n warnOnce('TimeI18n is deprecated and will be removed in next release. Use i18n capabilities instead.');\n }\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n ViewChild,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { BehaviorSubject, combineLatest, Subject, Subscription } from 'rxjs';\nimport { buffer, debounceTime, filter, map, tap } from 'rxjs/operators';\nimport { DOWN_ARROW, SPACE, UP_ARROW } from '@angular/cdk/keycodes';\n\nimport { KeyUtil, resizeObservable } from '@fundamental-ngx/cdk/utils';\nimport { CarouselConfig, CarouselDirective, CarouselItemDirective, PanEndOutput } from '@fundamental-ngx/core/carousel';\n\nimport { TimeColumnConfig } from './time-column-config';\nimport { SelectableViewItem } from '../models';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nlet timeColumnUniqueId = 0;\n\nexport interface TimeColumnItemOutput<T> {\n value: T;\n after?: boolean;\n}\n\n@Component({\n selector: 'fd-time-column',\n templateUrl: './time-column.component.html',\n styleUrls: ['./time-column.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-time__col'\n }\n})\nexport class TimeColumnComponent<K, T extends SelectableViewItem<K> = SelectableViewItem<K>>\n implements AfterViewInit, OnInit, OnDestroy, OnChanges\n{\n /** items in row */\n @Input()\n rows: T[] = [];\n\n /**\n * @Input When set to false, hides the buttons that increment\n * and decrement the corresponding columns.\n */\n @Input()\n spinners = true;\n\n /** Currently chosen, centered time column item */\n @Input()\n set activeValue(activeItem: Nullable<T>) {\n if (!activeItem) {\n // omitting \"null\" and \"undefined\"\n return;\n }\n if (this._viewInit$.value && this._activeValue !== activeItem) {\n this._pickTime(this._getItem(activeItem), false);\n }\n this._activeValue = activeItem;\n }\n\n get activeValue(): Nullable<T> {\n return this._activeValue;\n }\n\n /** Defines if column is active, it has impact on behavior and visual */\n @Input()\n set active(value: boolean) {\n this._active = value;\n if (value && this._viewInit$.value) {\n this._changeDetRef.detectChanges();\n this._pickTime(this._getItem(this.activeValue), false);\n this._focusIndicator();\n }\n }\n\n get active(): boolean {\n return this._active;\n }\n\n /** Whether time column is meridian */\n @Input()\n @HostBinding('class.fd-time__col--period')\n meridian = false;\n\n /** Id of column, initiated with some default value */\n @Input()\n id: string = 'fd-time-column-' + timeColumnUniqueId++;\n\n /** I18n and labels */\n @Input()\n timeConfig: Nullable<TimeColumnConfig>;\n\n /** I18n and labels */\n @Input()\n columnTranslationsPreset: 'seconds' | 'minutes' | 'hours' | 'period';\n\n /**\n * Offset for carousel directive, active item is always the first one.\n * In case of having more items in carousel than 1, middle element should be active\n */\n @Input()\n set offset(value: number) {\n this._offset$.next(value);\n }\n get offset(): number {\n return this._offset$.value;\n }\n\n /**\n * Quantity of the elements to be shown at the same time in column\n */\n @Input()\n set elementsAtOnce(value: number) {\n this._elementsAtOnce$.next(value);\n }\n\n /** Event emitted, when active item is changed, by carousel */\n @Output()\n activeValueChange: EventEmitter<TimeColumnItemOutput<T>> = new EventEmitter<TimeColumnItemOutput<T>>();\n\n /** Event emitted, when certain column is activated */\n @Output()\n activeStateChange: EventEmitter<void> = new EventEmitter<void>();\n\n /** @hidden */\n @ViewChild(CarouselDirective)\n carousel: CarouselDirective;\n\n /** @hidden */\n @ViewChildren(CarouselItemDirective)\n items: QueryList<CarouselItemDirective>;\n\n /** @hidden */\n @ViewChild('indicator', { read: ElementRef })\n indicator: ElementRef;\n\n /** @hidden */\n wrapperHeight: number;\n\n /**\n * Time to wait in milliseconds after the last keydown before\n * focusing or selecting option based on numeric/alpha keys.\n * @hidden\n */\n typeaheadDebounceInterval = 750;\n\n /** @hidden */\n config: CarouselConfig;\n\n /** @hidden */\n internalTranslationConfig: TimeColumnConfig | null = null;\n\n /** @hidden */\n get currentIndicatorId(): string {\n return this.id + '-current-indicator';\n }\n\n /** @hidden */\n get currentIndicatorValueId(): string {\n return this.currentIndicatorId + '-value';\n }\n\n /** @hidden */\n private _elementsAtOnce$ = new BehaviorSubject(7);\n\n /** @hidden */\n private _offset$ = new BehaviorSubject(3);\n\n /** @hidden */\n private _active = false;\n\n /** @hidden */\n private _queryKeyDownEvent: Subject<string> = new Subject<string>();\n\n /** @hidden */\n private _activeValue: Nullable<T>;\n\n /** @hidden */\n private _activeCarouselItem: CarouselItemDirective;\n\n /** @hidden */\n private _isDragging = false;\n\n /** @hidden */\n private _viewInit$ = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n private _resize$ = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n private _subscriptions: Subscription = new Subscription();\n\n /** @hidden\n * logs numeric key inputs to set time using keyboard input.\n */\n private _keyLog: string[] = [];\n\n /** @hidden\n * Timeout variable used to set timeout for subsequent numeric key input to set time.\n */\n private _numericInputTimeout: ReturnType<typeof setTimeout>;\n\n /** @hidden */\n constructor(private _changeDetRef: ChangeDetectorRef, private _elmRef: ElementRef) {\n this._subscriptions.add(\n combineLatest([this._viewInit$, this._elementsAtOnce$, this._offset$, this._resize$])\n .pipe(\n filter(([viewInit]) => viewInit),\n tap(([, elementsAtOnce, offset]) => {\n const averageHeight =\n this.items.toArray().reduce((acc, next) => acc + next.getHeight(), 0) / this.items.length;\n this.wrapperHeight = averageHeight * elementsAtOnce;\n const visibleButNotSelectedElements = Math.floor(elementsAtOnce / 2);\n if (offset === 0) {\n this.items.first.element.style.marginTop = `${\n visibleButNotSelectedElements * averageHeight\n }px`;\n this.items.last.element.style.marginBottom = `${\n visibleButNotSelectedElements * averageHeight\n }px`;\n }\n\n if (this.activeValue) {\n this._pickTime(this._getItem(this.activeValue), false);\n }\n\n this._changeDetRef.detectChanges();\n })\n )\n .subscribe()\n );\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._subscriptions.add(this._elementsAtOnce$.pipe(tap(() => this._setUpCarouselConfiguration())).subscribe());\n this._setUpQuerySubscription();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._subscriptions.add(\n resizeObservable(this._elmRef.nativeElement).subscribe(() => {\n this._resize$.next(true);\n })\n );\n this._viewInit$.next(true);\n }\n\n /** @hidde */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.columnTranslationsPreset) {\n this._updateInternalTranslationConfig();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n @HostListener('click')\n onItemClick(): void {\n this.activeStateChange.emit();\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keyDownHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, DOWN_ARROW)) {\n this.scrollDown();\n event.preventDefault();\n } else if (KeyUtil.isKeyCode(event, UP_ARROW)) {\n this.scrollUp();\n event.preventDefault();\n } else if (KeyUtil.isKeyType(event, 'numeric')) {\n this._numericKeyInputHandler(event);\n } else if (KeyUtil.isKeyType(event, 'alphabetical')) {\n this._alphaKeyInputHandler(event);\n }\n }\n\n /** @hidden */\n @HostListener('wheel', ['$event'])\n mouseScrollHandler(event: WheelEvent): void {\n event.preventDefault();\n if (this._active) {\n event.deltaY > 0 ? this.scrollDown() : this.scrollUp();\n }\n }\n\n /** @hidden */\n spinnerButtonKeyupHandle(event: KeyboardEvent, upButton?: boolean): void {\n if (KeyUtil.isKeyCode(event, SPACE)) {\n if (upButton) {\n this.scrollUp();\n } else {\n this.scrollDown();\n }\n\n event.stopPropagation();\n event.preventDefault();\n }\n }\n\n /** @hidden */\n setValueOfActive(): void {\n if (this._active) {\n this._setUpInitialValue();\n }\n }\n\n /** It prevents from accidentally change the item by click event */\n handleDrag(isDragging: boolean): void {\n this._isDragging = isDragging;\n }\n\n /** Method that handles active item change */\n activeChangedHandle(output: PanEndOutput): void {\n const array = this.items.toArray();\n let index: number = array.findIndex((__item) => __item === output.item) + this.offset;\n\n if (index >= array.length) {\n index = index - array.length;\n }\n\n const _item = array[index];\n\n this._activeValue = _item.value;\n\n this.activeValueChange.emit({\n value: this._activeValue!,\n after: output.after\n });\n\n this._activeCarouselItem = _item;\n }\n\n /** Method that changes active item and triggers carousel scroll */\n pick(item: CarouselItemDirective, index: number): void {\n const currentIndex: number = this.items.toArray().findIndex((_item) => _item === this._activeCarouselItem);\n /** To prevent from switching time, when it's being dragged */\n if (!this._isDragging) {\n this._pickTime(item, true, true, currentIndex < index);\n }\n }\n\n /** Method triggered by keyboard, or increment button */\n scrollUp(event?: MouseEvent): void {\n /** Keyboard events in reactive forms, shouldn't trigger this method */\n if (event && !event.clientX) {\n return;\n }\n let index: number = this.items.toArray().findIndex((_item) => _item === this._activeCarouselItem);\n if (index > 0) {\n index--;\n } else {\n index = this.rows.length - 1;\n }\n\n this._pickTime(this.items.toArray()[index], true, true, false);\n }\n\n /** Method triggered by keyboard, or decrement button */\n scrollDown(): void {\n let index: number = this.items.toArray().findIndex((_item) => _item === this._activeCarouselItem);\n if (index < this.rows.length - 1) {\n index++;\n } else {\n index = 0;\n }\n\n this._pickTime(this.items.toArray()[index], true, true, true);\n }\n\n /** Focus on column */\n focus(): void {\n this.indicator?.nativeElement.focus();\n }\n\n /**\n * Create id for column item\n * @param index column item index\n * @returns column item id\n * @hidden\n */\n _createColumnItemIdByIndex(index: number): string {\n return this.id + index;\n }\n\n /**\n * On focus callback\n * @hidden\n */\n _onFocusIndicator(): void {\n this.activeStateChange.emit();\n }\n\n /** @hidden\n * handles alphabetical key inputs to set period.\n */\n private _alphaKeyInputHandler(event: KeyboardEvent): void {\n if (event.key.toLowerCase() === 'a') {\n this._pickTimeOnValue('AM');\n } else if (event.key.toLowerCase() === 'p') {\n this._pickTimeOnValue('PM');\n }\n }\n\n /** @hidden\n * handles numeric key inputs to set time.\n */\n private _numericKeyInputHandler(event: KeyboardEvent): void {\n const lastItemValue = this.items.last.value.value; // value of last item in column\n\n this._numericInputTimeout && clearTimeout(this._numericInputTimeout);\n this._keyLog.push(event.key);\n const inputValue = parseInt(this._keyLog.join(''), 10); // converts keyLog elements to a number\n\n if (inputValue * 10 > lastItemValue || this._keyLog.length === lastItemValue.toString().length) {\n this._pickTimeOnValue(inputValue);\n } else {\n this._numericInputTimeout = setTimeout(() => {\n this._pickTimeOnValue(inputValue);\n }, 500);\n }\n }\n\n /** @hidden\n * set the time for given item value. used by _numericKeyInputHandler.\n */\n private _pickTimeOnValue(value: string | number): void {\n this._pickTime(\n this.items.find((item) => item.value.value === value),\n false,\n true,\n false\n );\n this._keyLog = []; // clear key log\n }\n\n /**\n * Method triggered by keyboard, or decrement button\n * Args:\n * item => picked carousel item, that should be centered\n * smooth => defines if transition time should be included in transform\n * emitEvent => defines if EventEmitter should be triggered by this change, set to false, when changed from outside\n * after => Defines if value was incremented/decremented, needed for hours to trigger AM/PM change\n * @hidden\n */\n private _pickTime(item?: CarouselItemDirective, smooth?: boolean, emitEvent?: boolean, after?: boolean): void {\n if (!item) {\n return;\n }\n\n if (this.active) {\n this._triggerCarousel(item, smooth);\n }\n\n this._activeCarouselItem = item;\n this._activeValue = item.value;\n\n if (emitEvent) {\n this.activeValueChange.emit({\n value: item.value,\n after\n });\n }\n }\n\n /**\n * Returns item with passed value\n * @hidden\n */\n private _getItem(_item: Nullable<T>): CarouselItemDirective | undefined {\n return this.items.find((item) => item.value === _item);\n }\n\n /** @hidden */\n private _triggerCarousel(item: CarouselItemDirective, smooth?: boolean): void {\n const array = this.items.toArray();\n let index: number = array.findIndex((_item) => _item === item) - this.offset;\n\n if (index < 0) {\n index = array.length + index;\n }\n\n this.carousel.goToItem(array[index], smooth);\n }\n\n /**\n * Focus current indicator, which allows to handle keydown events inside column\n * @hidden\n */\n private _focusIndicator(): void {\n document.getElementById(this.currentIndicatorId)?.focus();\n }\n\n /** @hidden */\n private _getValue(value: string): any {\n if (!isNaN(Number(value))) {\n return Number(value);\n } else {\n return value;\n }\n }\n\n /** @hidden */\n private _setUpQuerySubscription(): void {\n const trigger = this._queryKeyDownEvent.pipe(debounceTime(this.typeaheadDebounceInterval));\n\n this._subscriptions.add(\n this._queryKeyDownEvent\n .pipe(\n buffer(trigger),\n map((keys) => keys.join('')),\n map((value) => this._getValue(value)),\n map((value) => this._getItem(value))\n )\n .subscribe((item) => this._pickTime(item, false, true))\n );\n }\n\n /** @hidden */\n private _setUpCarouselConfiguration(): void {\n const config: CarouselConfig = {\n gestureSupport: true,\n vertical: true,\n elementsAtOnce: this._elementsAtOnce$.value,\n transition: '150ms'\n };\n if (!this.meridian) {\n config.infinite = true;\n }\n this.config = config;\n }\n\n /** @hidden */\n private _setUpInitialValue(): void {\n if (!this._activeValue) {\n this._activeValue = this.items.first.value;\n }\n this._pickTime(this._getItem(this._activeValue), false);\n }\n\n /** @hidden */\n private _updateInternalTranslationConfig(): void {\n switch (this.columnTranslationsPreset) {\n case 'hours':\n this.internalTranslationConfig = {\n increaseLabel: 'coreTime.increaseHoursLabel',\n label: 'coreTime.hoursLabel',\n decreaseLabel: 'coreTime.decreaseHoursLabel',\n navigationInstruction: 'coreTime.navigationInstruction'\n };\n break;\n case 'minutes':\n this.internalTranslationConfig = {\n increaseLabel: 'coreTime.increaseMinutesLabel',\n label: 'coreTime.minutesLabel',\n decreaseLabel: 'coreTime.decreaseMinutesLabel',\n navigationInstruction: 'coreTime.navigationInstruction'\n };\n break;\n case 'seconds':\n this.internalTranslationConfig = {\n increaseLabel: 'coreTime.increaseSecondsLabel',\n label: 'coreTime.secondsLabel',\n decreaseLabel: 'coreTime.decreaseSecondsLabel',\n navigationInstruction: 'coreTime.navigationInstruction'\n };\n break;\n case 'period':\n this.internalTranslationConfig = {\n increaseLabel: 'coreTime.increasePeriodLabel',\n label: 'coreTime.periodLabel',\n decreaseLabel: 'coreTime.decreasePeriodLabel',\n navigationInstruction: 'coreTime.navigationInstruction'\n };\n break;\n\n default:\n this.internalTranslationConfig = null;\n break;\n }\n this._changeDetRef.markForCheck();\n }\n}\n","<label class=\"fd-time__slider-label\">{{\n timeConfig?.label || (internalTranslationConfig && (internalTranslationConfig.label | fdTranslate))\n}}</label>\n<button\n *ngIf=\"active && spinners\"\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-up-arrow\"\n tabindex=\"-1\"\n [title]=\"\n timeConfig?.decreaseLabel ||\n (internalTranslationConfig && (internalTranslationConfig.decreaseLabel | fdTranslate))\n \"\n [ariaLabel]=\"\n timeConfig?.decreaseLabel ||\n (internalTranslationConfig && (internalTranslationConfig.decreaseLabel | fdTranslate))\n \"\n (keyup)=\"spinnerButtonKeyupHandle($event, true)\"\n (click)=\"scrollUp($event)\"\n></button>\n<div\n class=\"fd-time__wrapper\"\n [class.fd-time__wrapper--active]=\"active\"\n [class.fd-time__wrapper--meridian]=\"meridian\"\n [style.height.px]=\"active ? wrapperHeight : ''\"\n>\n <ul\n class=\"fd-time__list\"\n [class.fd-time-column-custom-hidden]=\"!active\"\n [config]=\"config\"\n (click)=\"indicator.focus()\"\n (activeChange)=\"activeChangedHandle($event)\"\n (dragStateChange)=\"handleDrag($event)\"\n fdCarousel\n >\n <li\n class=\"fd-time__item\"\n fdCarouselItem\n *ngFor=\"let row of rows; let index = index\"\n #item=\"fdCarouselItem\"\n [id]=\"_createColumnItemIdByIndex(index)\"\n [attr.data-displayed-value]=\"row.value\"\n [value]=\"row\"\n >\n <span class=\"fd-time__unit\" role=\"button\" [attr.aria-label]=\"row.label\" (click)=\"pick(item, index)\">\n {{ row.label }}\n </span>\n </li>\n </ul>\n <div\n class=\"fd-time__current-indicator\"\n #indicator\n tabindex=\"0\"\n role=\"listbox\"\n [attr.id]=\"currentIndicatorId\"\n [class.fd-time-column-custom-hidden]=\"!active\"\n [attr.aria-labelledby]=\"currentIndicatorValueId\"\n [attr.aria-description]=\"\n timeConfig?.navigationInstruction ||\n (internalTranslationConfig && (internalTranslationConfig.navigationInstruction | fdTranslate))\n \"\n (focus)=\"_onFocusIndicator()\"\n >\n <span\n class=\"fd-time-column-custom-hidden\"\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n [attr.aria-hidden]=\"!active\"\n [attr.id]=\"currentIndicatorValueId\"\n [class.fd-time-column-custom-hidden]=\"active\"\n >\n {{ activeValue?.label }}\n {{ timeConfig?.label || (internalTranslationConfig && (internalTranslationConfig.label | fdTranslate)) }}\n </span>\n </div>\n <span *ngIf=\"!active\" class=\"fd-time__item fd-time__item--collapsed\">\n {{ activeValue?.label }}\n </span>\n</div>\n<button\n *ngIf=\"active && spinners\"\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-down-arrow\"\n tabindex=\"-1\"\n [title]=\"\n timeConfig?.increaseLabel ||\n (internalTranslationConfig && (internalTranslationConfig.increaseLabel | fdTranslate))\n \"\n [ariaLabel]=\"\n timeConfig?.increaseLabel ||\n (internalTranslationConfig && (internalTranslationConfig.increaseLabel | fdTranslate))\n \"\n (keyup)=\"spinnerButtonKeyupHandle($event)\"\n (click)=\"scrollDown()\"\n></button>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n SimpleChanges,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\n\nimport { DatetimeAdapter } from '@fundamental-ngx/core/datetime';\nimport { KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\n\nimport { Meridian, SelectableViewItem } from './models';\nimport { createMissingDateImplementationError } from './errors';\nimport { TimeI18n } from './i18n/time-i18n';\nimport { TimeColumnConfig } from './time-column/time-column-config';\nimport { TimeColumnComponent } from './time-column/time-column.component';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\nexport type FdTimeActiveView = 'hour' | 'minute' | 'second' | 'meridian';\n\ntype HourViewItem = SelectableViewItem<number>;\ntype MinuteViewItem = SelectableViewItem<number>;\ntype SecondViewItem = SelectableViewItem<number>;\ntype MeridianViewItem = SelectableViewItem<Meridian>;\n\n@Component({\n selector: 'fd-time',\n templateUrl: './time.component.html',\n styleUrls: ['./time.component.scss'],\n host: {\n '(focusout)': '_focusOut($event)',\n '(blur)': 'onTouched()'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TimeComponent),\n multi: true\n },\n contentDensityObserverProviders()\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class TimeComponent<D> implements OnInit, OnChanges, OnDestroy, AfterViewInit, ControlValueAccessor {\n /**\n * @Input When set to false, uses the 24 hour clock (hours ranging from 0 to 23)\n * and does not display a period control.\n */\n @Input()\n meridian = false;\n\n /**\n * @Input When set to false, does not set the input field to invalid state on invalid entry.\n */\n @Input()\n validate = true;\n\n /**\n * @Input when set to true, time inputs won't allow to have 1 digit\n * for example 9 will become 09\n * but 12 will be kept as 12.\n */\n @Input()\n keepTwoDigits = false;\n\n /**\n * @Input Disables the component.\n */\n @Input()\n disabled: boolean;\n\n /**\n * @Input When set to false, hides the input for seconds.\n */\n @Input()\n displaySeconds = true;\n\n /** @Input When set to false, hides the input for minutes. */\n @Input()\n displayMinutes = true;\n\n /**\n * When set to false, hides the input for hours\n */\n @Input()\n displayHours = true;\n\n /** @Input Defines if time component should be used in tablet mode */\n @Input()\n tablet = false;\n\n /** @Input Defines quantity of the elements, that are visible at the same time. Should be odd number */\n @Input()\n elementsAtOnce = 7;\n\n /**\n * @Input An object that contains datetime representation\n */\n @Input()\n time: D;\n\n /** @Input Whether to show spinner buttons */\n @Input()\n spinnerButtons = true;\n\n /** @hidden */\n @ViewChildren(TimeColumnComponent)\n columns: QueryList<TimeColumnComponent<unknown, SelectableViewItem<unknown>>>;\n\n /** Active column view to iterate with */\n activeView: FdTimeActiveView = 'hour';\n\n /** Offset */\n get offset(): number {\n return Math.floor(this.elementsAtOnce / 2);\n }\n\n /**\n * @hidden\n * container for [0 - 23] hours\n */\n hourViewItems: HourViewItem[] = [];\n /**\n * @hidden\n * reference to currently selected hourViewItems element\n */\n activeHourViewItem?: HourViewItem;\n\n /**\n * @hidden\n * container for [0 - 59] minutes\n */\n minuteViewItems: MinuteViewItem[] = [];\n /**\n * @hidden\n * reference to currently selected minuteViewItems element\n */\n activeMinuteViewItem?: MinuteViewItem;\n\n /**\n * @hidden\n * container for [0 - 59] seconds\n */\n secondViewItems: SecondViewItem[] = [];\n /**\n * @hidden\n * reference to currently selected secondViewItems element\n */\n activeSecondViewItem?: SecondViewItem;\n\n /**\n * @hidden\n * container for [am, pm] meridian values\n */\n meridianViewItems: MeridianViewItem[] = [];\n /**\n * @hidden\n * reference to currently selected meridianViewItems element\n */\n activeMeridianViewItem?: MeridianViewItem;\n\n /** Component aria-label */\n get _componentAriaLabel(): string | undefined {\n return this._timeI18nLabels?.componentAriaName;\n }\n\n /** @hidden */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private _elementRef: ElementRef,\n // Use @Optional to avoid angular injection error message and throw our own which is more precise one\n @Optional() private _dateTimeAdapter: DatetimeAdapter<D>,\n readonly _contentDensityObserver: ContentDensityObserver,\n @Optional() private _rtlService: RtlService,\n @Optional() private _timeI18nLabels: TimeI18n\n ) {\n if (!_dateTimeAdapter) {\n throw createMissingDateImplementationError('DateTimeAdapter');\n }\n\n this.time = this._getDefaultValue();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._dateTimeAdapter.localeChanges.pipe(takeUntil(this._onDestroy$)).subscribe(() => {\n this._setUpViewGrid();\n this._changeDetectorRef.detectChanges();\n });\n\n this._setUpViewGrid();\n }\n\n /** @hidden\n * Reacts only when there is meridian or time input change\n */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.meridian || changes.time) {\n this._setUpViewGrid();\n }\n if (changes.elementsAtOnce && changes.elementsAtOnce.currentValue % 2 === 0) {\n throw new Error('[elementsAtOnce] should be odd number');\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this.refreshColumns();\n }\n\n /** @hidden */\n onChange: (value: D) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n registerOnChange(fn: (time: D) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n refreshColumns(): void {\n this.columns.forEach((column) => column.setValueOfActive());\n }\n\n /**\n * @hidden\n * Handles meridian change.\n * This implicitly changes hours by +/- 12\n */\n handleMeridianChange(meridian: Meridian): void {\n let hourOffset: number = meridian === Meridian.AM ? -12 : 12;\n let currentHour = this._getModelHour();\n\n if (currentHour > 12 && meridian === Meridian.PM) {\n currentHour -= 12;\n } else if (currentHour === 12) {\n currentHour = 0;\n } else if (currentHour < 12 && meridian === Meridian.AM) {\n hourOffset = 0;\n }\n\n const newHour = Math.max(0, Math.min(23, currentHour + hourOffset));\n\n this.handleHourChange(newHour);\n }\n\n /** @hidden */\n handleSecondChange(second: number): void {\n this.time = this._dateTimeAdapter.setSeconds(this.time, second);\n this._calculateActiveSecondViewItem();\n this.onChange(this.time);\n }\n\n /** @hidden */\n handleMinuteChange(minute: number): void {\n this.time = this._dateTimeAdapter.setMinutes(this.time, minute);\n this._calculateActiveMinuteViewItem();\n this.onChange(this.time);\n }\n\n /**\n * @hidden\n * Handles changes of displayed hour value from template.\n */\n handleHourChange(hour: number): void {\n this.time = this._dateTimeAdapter.setHours(this.time, hour);\n this._calculateActiveHourViewItem();\n\n if (this.meridian) {\n this._calculateActiveMeridianViewItem();\n }\n\n this.onChange(this.time);\n }\n\n /** @hidden */\n handleNextColumnFocus(column: FdTimeActiveView): void {\n const columns = this._getVisibleColumnsWithRtl();\n let nextIndex = columns.indexOf(column) + 1;\n if (nextIndex >= columns.length) {\n nextIndex = 0;\n }\n this.changeActive(columns[nextIndex]);\n }\n\n /** @hidden */\n handlePreviousColumnFocus(column: FdTimeActiveView): void {\n const columns = this._getVisibleColumnsWithRtl();\n let nextIndex = columns.indexOf(column) - 1;\n if (nextIndex < 0) {\n nextIndex = columns.length - 1;\n }\n this.changeActive(columns[nextIndex]);\n }\n\n /** @hidden */\n handleKeyDownEvent(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, LEFT_ARROW)) {\n this.handlePreviousColumnFocus(this.activeView);\n event.preventDefault();\n this.focusActiveColumn();\n } else if (KeyUtil.isKeyCode(event, RIGHT_ARROW)) {\n this.handleNextColumnFocus(this.activeView);\n event.preventDefault();\n this.focusActiveColumn();\n }\n }\n\n /** @hidden */\n writeValue(time: D): void {\n if (!time || !this._dateTimeAdapter.isValid(time)) {\n time = this._getDefaultValue();\n }\n this.time = time;\n\n this._setUpActiveViewItems();\n\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n changeActive(view: FdTimeActiveView): void {\n this.activeView = view;\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n isActive(view: FdTimeActiveView): boolean {\n return this.activeView === view;\n }\n\n /** Configuration for hours column */\n getHoursConfig(): TimeColumnConfig | undefined {\n if (!this._timeI18nLabels) {\n return;\n }\n return {\n decreaseLabel: this._timeI18nLabels.decreaseHoursLabel,\n increaseLabel: this._timeI18nLabels.increaseHoursLabel,\n label: this._timeI18nLabels.hoursLabel,\n navigationInstruction: this._timeI18nLabels.navigationInstruction\n };\n }\n\n /** Configuration for minutes column */\n getMinutesConfig(): TimeColumnConfig | undefined {\n if (!this._timeI18nLabels) {\n return;\n }\n return {\n decreaseLabel: this._timeI18nLabels.decreaseMinutesLabel,\n increaseLabel: this._timeI18nLabels.increaseMinutesLabel,\n label: this._timeI18nLabels.minutesLabel,\n navigationInstruction: this._timeI18nLabels.navigationInstruction\n };\n }\n\n /** Configuration for seconds column */\n getSecondsConfig(): TimeColumnConfig | undefined {\n if (!this._timeI18nLabels) {\n return;\n }\n return {\n decreaseLabel: this._timeI18nLabels.decreaseSecondsLabel,\n increaseLabel: this._timeI18nLabels.increaseSecondsLabel,\n label: this._timeI18nLabels.secondsLabel,\n navigationInstruction: this._timeI18nLabels.navigationInstruction\n };\n }\n\n /** Configuration for period column */\n getPeriodConfig(): TimeColumnConfig | undefined {\n if (!this._timeI18nLabels) {\n return;\n }\n return {\n decreaseLabel: this._timeI18nLabels.decreasePeriodLabel,\n increaseLabel: this._timeI18nLabels.increasePeriodLabel,\n label: this._timeI18nLabels.periodLabel,\n navigationInstruction: this._timeI18nLabels.navigationInstruction\n };\n }\n\n /** @hidden */\n focusActiveColumn(): void {\n const column = this.columns.find(({ active }) => active);\n column?.focus();\n }\n\n /** @hidden */\n private _focusOut(event: FocusEvent): void {\n if (!this._elementRef.nativeElement.contains(event.relatedTarget)) {\n this.onTouched();\n }\n }\n\n /**\n * Get visible time columns\n * @returns visible columns list @see {FdTimeActiveView[]}\n */\n private _getVisibleColumns(): FdTimeActiveView[] {\n const allOptions: Array<[boolean, FdTimeActiveView]> = [\n [this.displayHours, 'hour'],\n [this.displayMinutes, 'minute'],\n [this.displaySeconds, 'second'],\n [this.meridian, 'meridian']\n ];\n return allOptions.filter(([enabled]) => enabled).map(([, view]) => view);\n }\n\n /**\n * Get visible columns taking into account RTL\n * @returns visible columns list @see {FdTimeActiveView[]}\n */\n private _getVisibleColumnsWithRtl(): FdTimeActiveView[] {\n const columns = this._getVisibleColumns();\n return this._rtlService?.rtl.value ? columns.reverse() : columns;\n }\n\n /** @hidden */\n private _setUpViewGrid(): void {\n this._constructHourViewItems();\n this._constructMinuteViewItems();\n this._constructSecondViewItems();\n this._constructMeridianViewItems();\n // update reference to active view items\n this._setUpActiveViewItems();\n }\n\n /** @hidden */\n private _setUpActiveViewItems(): void {\n this._calculateActiveHourViewItem();\n this._calculateActiveMinuteViewItem();\n this._calculateActiveSecondViewItem();\n this._calculateActiveMeridianViewItem();\n }\n\n /** @hidden */\n private _constructHourViewItems(): void {\n this.hourViewItems = this._dateTimeAdapter\n .getHourNames({ meridian: this.meridian, twoDigit: this.keepTwoDigits })\n .map((name, hour) => ({\n value: hour,\n label: name\n }));\n }\n\n /** @hidden */\n private _constructMinuteViewItems(): void {\n this.minuteViewItems = this._dateTimeAdapter\n .getMinuteNames({ twoDigit: this.keepTwoDigits })\n .map((name, minute) => ({\n value: minute,\n label: name\n }));\n }\n\n /** @hidden */\n private _constructSecondViewItems(): void {\n this.secondViewItems = this._dateTimeAdapter\n .getSecondNames({ twoDigit: this.keepTwoDigits })\n .map((name, second) => ({\n value: second,\n label: name\n }));\n }\n\n /** @hidden */\n private _constructMeridianViewItems(): void {\n const [amLabel, pmLabel] = this._dateTimeAdapter.getDayPeriodNames();\n this.meridianViewItems = [\n { value: Meridian.AM, label: amLabel },\n { value: Meridian.PM, label: pmLabel }\n ];\n }\n\n /** @hidden */\n private _calculateActiveHourViewItem(): void {\n const hour = this._getModelHour();\n this.activeHourViewItem = this.hourViewItems.find(({ value }) => value === hour);\n }\n\n /** @hidden */\n private _calculateActiveMinuteViewItem(): void {\n const minute = this._getModelMinute();\n this.activeMinuteViewItem = this.minuteViewItems.find(({ value }) => value === minute);\n }\n\n /** @hidden */\n private _calculateActiveSecondViewItem(): void {\n const second = this._getModelSecond();\n this.activeSecondViewItem = this.secondViewItems.find(({ value }) => value === second);\n }\n\n /** @hidden */\n private _calculateActiveMeridianViewItem(): void {\n const meridian = this._getDayPeriodByHour();\n this.activeMeridianViewItem = this.meridianViewItems.find(({ value }) => value === meridian);\n }\n\n /**\n * @hidden\n * Model hours (0 - 23)\n */\n private _getModelHour(): number {\n return this._dateTimeAdapter.getHours(this.time);\n }\n\n /**\n * @hidden\n * Model minutes (0 - 59)\n */\n private _getModelMinute(): number {\n return this._dateTimeAdapter.getMinutes(this.time);\n }\n\n /**\n * @hidden\n * Model seconds (0 - 59)\n */\n private _getModelSecond(): number {\n return this._dateTimeAdapter.getSeconds(this.time);\n }\n\n /**\n * @hidden\n * Get meridian period based on a given hours\n */\n private _getDayPeriodByHour(hour = this._getModelHour()): Meridian {\n return this._isPm(hour) ? Meridian.PM : Meridian.AM;\n }\n\n /** @hidden */\n private _isPm(hours: number = this._getModelHour()): boolean {\n return hours >= 12;\n }\n\n /**\n * @hidden\n * @returns default time 00:00:00\n */\n private _getDefaultValue(): D {\n return this._dateTimeAdapter.today();\n }\n}\n","<div\n class=\"fd-time\"\n [class.is-compact]=\"_contentDensityObserver.isCompact$ | async\"\n (keydown)=\"handleKeyDownEvent($event)\"\n [class.fd-time--tablet]=\"tablet\"\n [attr.aria-label]=\"_componentAriaLabel || ('coreTime.componentAriaName' | fdTranslate)\"\n>\n <fd-time-column\n [active]=\"isActive('hour')\"\n [rows]=\"hourViewItems\"\n [offset]=\"offset\"\n [elementsAtOnce]=\"elementsAtOnce\"\n [activeValue]=\"activeHourViewItem\"\n [timeConfig]=\"getHoursConfig()\"\n columnTranslationsPreset=\"hours\"\n [spinners]=\"spinnerButtons\"\n (activeValueChange)=\"handleHourChange($event.value.value)\"\n (activeStateChange)=\"changeActive('hour')\"\n ></fd-time-column>\n <fd-time-column\n *ngIf=\"displayMinutes\"\n [active]=\"isActive('minute')\"\n [rows]=\"minuteViewItems\"\n [offset]=\"offset\"\n [elementsAtOnce]=\"elementsAtOnce\"\n [activeValue]=\"activeMinuteViewItem\"\n [timeConfig]=\"getMinutesConfig()\"\n columnTranslationsPreset=\"minutes\"\n [spinners]=\"spinnerButtons\"\n (activeValueChange)=\"handleMinuteChange($event.value.value)\"\n (activeStateChange)=\"changeActive('minute')\"\n ></fd-time-column>\n <fd-time-column\n *ngIf=\"displaySeconds\"\n [active]=\"isActive('second')\"\n [rows]=\"secondViewItems\"\n [offset]=\"offset\"\n [elementsAtOnce]=\"elementsAtOnce\"\n [activeValue]=\"activeSecondViewItem\"\n [timeConfig]=\"getSecondsConfig()\"\n columnTranslationsPreset=\"seconds\"\n [spinners]=\"spinnerButtons\"\n (activeValueChange)=\"handleSecondChange($event.value.value)\"\n (activeStateChange)=\"changeActive('second')\"\n ></fd-time-column>\n <fd-time-column\n *ngIf=\"meridian\"\n [active]=\"isActive('meridian')\"\n [rows]=\"meridianViewItems\"\n [activeValue]=\"activeMeridianViewItem\"\n [offset]=\"0\"\n [elementsAtOnce]=\"elementsAtOnce\"\n [timeConfig]=\"getPeriodConfig()\"\n columnTranslationsPreset=\"period\"\n [meridian]=\"true\"\n [spinners]=\"spinnerButtons\"\n (activeValueChange)=\"handleMeridianChange($event.value.value)\"\n (activeStateChange)=\"changeActive('meridian')\"\n ></fd-time-column>\n</div>\n","import { Directive, forwardRef } from '@angular/core';\nimport { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-time-column[compact], fd-time[compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedTimeContentDensityDirective)\n }\n ]\n})\nexport class DeprecatedTimeContentDensityDirective extends DeprecatedCompactDirective {\n /** @hidden */\n constructor() {\n super('fd-time-column[compact], fd-time');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { TimeComponent } from './time.component';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { FormModule } from '@fundamental-ngx/core/form';\nimport { PipeModule } from '@fundamental-ngx/cdk/utils';\nimport { TimeColumnComponent } from './time-column/time-column.component';\nimport { CarouselModule } from '@fundamental-ngx/core/carousel';\nimport { DeprecatedTimeContentDensityDirective } from './deprecated-time-content-density.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { I18nModule } from '@fundamental-ngx/i18n';\n\n@NgModule({\n declarations: [TimeComponent, TimeColumnComponent, DeprecatedTimeContentDensityDirective],\n imports: [\n CommonModule,\n FormsModule,\n FormModule,\n ButtonModule,\n PipeModule,\n CarouselModule,\n ContentDensityModule,\n I18nModule\n ],\n exports: [TimeComponent, TimeColumnComponent, DeprecatedTimeContentDensityDirective, ContentDensityModule]\n})\nexport class TimeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","i4.TimeI18n","i5","i6.TimeColumnComponent","i7"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-time.mjs","sources":["../../../../libs/core/src/lib/time/errors.ts","../../../../libs/core/src/lib/time/time-column/time-column.component.ts","../../../../libs/core/src/lib/time/time-column/time-column.component.html","../../../../libs/core/src/lib/time/time.component.ts","../../../../libs/core/src/lib/time/time.component.html","../../../../libs/core/src/lib/time/time.module.ts","../../../../libs/core/src/lib/time/fundamental-ngx-core-time.ts"],"sourcesContent":["/** Creates an error to be thrown when attempting to use an invalid date implementation. */\nexport function createMissingDateImplementationError(provider: string): Error {\n return Error(\n `FdTime: No provider found for ${provider}. You must import one of the following ` +\n `modules at your application root: FdDatetimeModule, or provide a ` +\n `custom implementation.`\n );\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n ViewChild,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { BehaviorSubject, combineLatest, Subject, Subscription } from 'rxjs';\nimport { buffer, debounceTime, filter, map, tap } from 'rxjs/operators';\nimport { DOWN_ARROW, SPACE, UP_ARROW } from '@angular/cdk/keycodes';\n\nimport { KeyUtil, resizeObservable } from '@fundamental-ngx/cdk/utils';\nimport { CarouselConfig, CarouselDirective, CarouselItemDirective, PanEndOutput } from '@fundamental-ngx/core/carousel';\n\nimport { TimeColumnConfig } from './time-column-config';\nimport { SelectableViewItem } from '../models';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nlet timeColumnUniqueId = 0;\n\nexport interface TimeColumnItemOutput<T> {\n value: T;\n after?: boolean;\n}\n\n@Component({\n selector: 'fd-time-column',\n templateUrl: './time-column.component.html',\n styleUrls: ['./time-column.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-time__col'\n }\n})\nexport class TimeColumnComponent<K, T extends SelectableViewItem<K> = SelectableViewItem<K>>\n implements AfterViewInit, OnInit, OnDestroy, OnChanges\n{\n /** items in row */\n @Input()\n rows: T[] = [];\n\n /**\n * @Input When set to false, hides the buttons that increment\n * and decrement the corresponding columns.\n */\n @Input()\n spinners = true;\n\n /** Currently chosen, centered time column item */\n @Input()\n set activeValue(activeItem: Nullable<T>) {\n if (!activeItem) {\n // omitting \"null\" and \"undefined\"\n return;\n }\n if (this._viewInit$.value && this._activeValue !== activeItem) {\n this._pickTime(this._getItem(activeItem), false);\n }\n this._activeValue = activeItem;\n }\n\n get activeValue(): Nullable<T> {\n return this._activeValue;\n }\n\n /** Defines if column is active, it has impact on behavior and visual */\n @Input()\n set active(value: boolean) {\n this._active = value;\n if (value && this._viewInit$.value) {\n this._changeDetRef.detectChanges();\n this._pickTime(this._getItem(this.activeValue), false);\n this._focusIndicator();\n }\n }\n\n get active(): boolean {\n return this._active;\n }\n\n /** Whether time column is meridian */\n @Input()\n @HostBinding('class.fd-time__col--period')\n meridian = false;\n\n /** Id of column, initiated with some default value */\n @Input()\n id: string = 'fd-time-column-' + timeColumnUniqueId++;\n\n /** I18n and labels */\n @Input()\n timeConfig: Nullable<TimeColumnConfig>;\n\n /** I18n and labels */\n @Input()\n columnTranslationsPreset: 'seconds' | 'minutes' | 'hours' | 'period';\n\n /**\n * Offset for carousel directive, active item is always the first one.\n * In case of having more items in carousel than 1, middle element should be active\n */\n @Input()\n set offset(value: number) {\n this._offset$.next(value);\n }\n get offset(): number {\n return this._offset$.value;\n }\n\n /**\n * Quantity of the elements to be shown at the same time in column\n */\n @Input()\n set elementsAtOnce(value: number) {\n this._elementsAtOnce$.next(value);\n }\n\n /** Event emitted, when active item is changed, by carousel */\n @Output()\n activeValueChange: EventEmitter<TimeColumnItemOutput<T>> = new EventEmitter<TimeColumnItemOutput<T>>();\n\n /** Event emitted, when certain column is activated */\n @Output()\n activeStateChange: EventEmitter<void> = new EventEmitter<void>();\n\n /** @hidden */\n @ViewChild(CarouselDirective)\n carousel: CarouselDirective;\n\n /** @hidden */\n @ViewChildren(CarouselItemDirective)\n items: QueryList<CarouselItemDirective>;\n\n /** @hidden */\n @ViewChild('indicator', { read: ElementRef })\n indicator: ElementRef;\n\n /** @hidden */\n wrapperHeight: number;\n\n /**\n * Time to wait in milliseconds after the last keydown before\n * focusing or selecting option based on numeric/alpha keys.\n * @hidden\n */\n typeaheadDebounceInterval = 750;\n\n /** @hidden */\n config: CarouselConfig;\n\n /** @hidden */\n internalTranslationConfig: TimeColumnConfig | null = null;\n\n /** @hidden */\n get currentIndicatorId(): string {\n return this.id + '-current-indicator';\n }\n\n /** @hidden */\n get currentIndicatorValueId(): string {\n return this.currentIndicatorId + '-value';\n }\n\n /** @hidden */\n private _elementsAtOnce$ = new BehaviorSubject(7);\n\n /** @hidden */\n private _offset$ = new BehaviorSubject(3);\n\n /** @hidden */\n private _active = false;\n\n /** @hidden */\n private _queryKeyDownEvent: Subject<string> = new Subject<string>();\n\n /** @hidden */\n private _activeValue: Nullable<T>;\n\n /** @hidden */\n private _activeCarouselItem: CarouselItemDirective;\n\n /** @hidden */\n private _isDragging = false;\n\n /** @hidden */\n private _viewInit$ = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n private _resize$ = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n private _subscriptions: Subscription = new Subscription();\n\n /** @hidden\n * logs numeric key inputs to set time using keyboard input.\n */\n private _keyLog: string[] = [];\n\n /** @hidden\n * Timeout variable used to set timeout for subsequent numeric key input to set time.\n */\n private _numericInputTimeout: ReturnType<typeof setTimeout>;\n\n /** @hidden */\n constructor(private _changeDetRef: ChangeDetectorRef, private _elmRef: ElementRef) {\n this._subscriptions.add(\n combineLatest([this._viewInit$, this._elementsAtOnce$, this._offset$, this._resize$])\n .pipe(\n filter(([viewInit]) => viewInit),\n tap(([, elementsAtOnce, offset]) => {\n const averageHeight =\n this.items.toArray().reduce((acc, next) => acc + next.getHeight(), 0) / this.items.length;\n this.wrapperHeight = averageHeight * elementsAtOnce;\n const visibleButNotSelectedElements = Math.floor(elementsAtOnce / 2);\n if (offset === 0) {\n this.items.first.element.style.marginTop = `${\n visibleButNotSelectedElements * averageHeight\n }px`;\n this.items.last.element.style.marginBottom = `${\n visibleButNotSelectedElements * averageHeight\n }px`;\n }\n\n if (this.activeValue) {\n this._pickTime(this._getItem(this.activeValue), false);\n }\n\n this._changeDetRef.detectChanges();\n })\n )\n .subscribe()\n );\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._subscriptions.add(this._elementsAtOnce$.pipe(tap(() => this._setUpCarouselConfiguration())).subscribe());\n this._setUpQuerySubscription();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._subscriptions.add(\n resizeObservable(this._elmRef.nativeElement).subscribe(() => {\n this._resize$.next(true);\n })\n );\n this._viewInit$.next(true);\n }\n\n /** @hidde */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.columnTranslationsPreset) {\n this._updateInternalTranslationConfig();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n @HostListener('click')\n onItemClick(): void {\n this.activeStateChange.emit();\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keyDownHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, DOWN_ARROW)) {\n this.scrollDown();\n event.preventDefault();\n } else if (KeyUtil.isKeyCode(event, UP_ARROW)) {\n this.scrollUp();\n event.preventDefault();\n } else if (KeyUtil.isKeyType(event, 'numeric')) {\n this._numericKeyInputHandler(event);\n } else if (KeyUtil.isKeyType(event, 'alphabetical')) {\n this._alphaKeyInputHandler(event);\n }\n }\n\n /** @hidden */\n @HostListener('wheel', ['$event'])\n mouseScrollHandler(event: WheelEvent): void {\n event.preventDefault();\n if (this._active) {\n event.deltaY > 0 ? this.scrollDown() : this.scrollUp();\n }\n }\n\n /** @hidden */\n spinnerButtonKeyupHandle(event: KeyboardEvent, upButton?: boolean): void {\n if (KeyUtil.isKeyCode(event, SPACE)) {\n if (upButton) {\n this.scrollUp();\n } else {\n this.scrollDown();\n }\n\n event.stopPropagation();\n event.preventDefault();\n }\n }\n\n /** @hidden */\n setValueOfActive(): void {\n if (this._active) {\n this._setUpInitialValue();\n }\n }\n\n /** It prevents from accidentally change the item by click event */\n handleDrag(isDragging: boolean): void {\n this._isDragging = isDragging;\n }\n\n /** Method that handles active item change */\n activeChangedHandle(output: PanEndOutput): void {\n const array = this.items.toArray();\n let index: number = array.findIndex((__item) => __item === output.item) + this.offset;\n\n if (index >= array.length) {\n index = index - array.length;\n }\n\n const _item = array[index];\n\n this._activeValue = _item.value;\n\n this.activeValueChange.emit({\n value: this._activeValue!,\n after: output.after\n });\n\n this._activeCarouselItem = _item;\n }\n\n /** Method that changes active item and triggers carousel scroll */\n pick(item: CarouselItemDirective, index: number): void {\n const currentIndex: number = this.items.toArray().findIndex((_item) => _item === this._activeCarouselItem);\n /** To prevent from switching time, when it's being dragged */\n if (!this._isDragging) {\n this._pickTime(item, true, true, currentIndex < index);\n }\n }\n\n /** Method triggered by keyboard, or increment button */\n scrollUp(event?: MouseEvent): void {\n /** Keyboard events in reactive forms, shouldn't trigger this method */\n if (event && !event.clientX) {\n return;\n }\n let index: number = this.items.toArray().findIndex((_item) => _item === this._activeCarouselItem);\n if (index > 0) {\n index--;\n } else {\n index = this.rows.length - 1;\n }\n\n this._pickTime(this.items.toArray()[index], true, true, false);\n }\n\n /** Method triggered by keyboard, or decrement button */\n scrollDown(): void {\n let index: number = this.items.toArray().findIndex((_item) => _item === this._activeCarouselItem);\n if (index < this.rows.length - 1) {\n index++;\n } else {\n index = 0;\n }\n\n this._pickTime(this.items.toArray()[index], true, true, true);\n }\n\n /** Focus on column */\n focus(): void {\n this.indicator?.nativeElement.focus();\n }\n\n /**\n * Create id for column item\n * @param index column item index\n * @returns column item id\n * @hidden\n */\n _createColumnItemIdByIndex(index: number): string {\n return this.id + index;\n }\n\n /**\n * On focus callback\n * @hidden\n */\n _onFocusIndicator(): void {\n this.activeStateChange.emit();\n }\n\n /** @hidden\n * handles alphabetical key inputs to set period.\n */\n private _alphaKeyInputHandler(event: KeyboardEvent): void {\n if (event.key.toLowerCase() === 'a') {\n this._pickTimeOnValue('AM');\n } else if (event.key.toLowerCase() === 'p') {\n this._pickTimeOnValue('PM');\n }\n }\n\n /** @hidden\n * handles numeric key inputs to set time.\n */\n private _numericKeyInputHandler(event: KeyboardEvent): void {\n const lastItemValue = this.items.last.value.value; // value of last item in column\n\n this._numericInputTimeout && clearTimeout(this._numericInputTimeout);\n this._keyLog.push(event.key);\n const inputValue = parseInt(this._keyLog.join(''), 10); // converts keyLog elements to a number\n\n if (inputValue * 10 > lastItemValue || this._keyLog.length === lastItemValue.toString().length) {\n this._pickTimeOnValue(inputValue);\n } else {\n this._numericInputTimeout = setTimeout(() => {\n this._pickTimeOnValue(inputValue);\n }, 500);\n }\n }\n\n /** @hidden\n * set the time for given item value. used by _numericKeyInputHandler.\n */\n private _pickTimeOnValue(value: string | number): void {\n this._pickTime(\n this.items.find((item) => item.value.value === value),\n false,\n true,\n false\n );\n this._keyLog = []; // clear key log\n }\n\n /**\n * Method triggered by keyboard, or decrement button\n * Args:\n * item => picked carousel item, that should be centered\n * smooth => defines if transition time should be included in transform\n * emitEvent => defines if EventEmitter should be triggered by this change, set to false, when changed from outside\n * after => Defines if value was incremented/decremented, needed for hours to trigger AM/PM change\n * @hidden\n */\n private _pickTime(item?: CarouselItemDirective, smooth?: boolean, emitEvent?: boolean, after?: boolean): void {\n if (!item) {\n return;\n }\n\n if (this.active) {\n this._triggerCarousel(item, smooth);\n }\n\n this._activeCarouselItem = item;\n this._activeValue = item.value;\n\n if (emitEvent) {\n this.activeValueChange.emit({\n value: item.value,\n after\n });\n }\n }\n\n /**\n * Returns item with passed value\n * @hidden\n */\n private _getItem(_item: Nullable<T>): CarouselItemDirective | undefined {\n return this.items.find((item) => item.value === _item);\n }\n\n /** @hidden */\n private _triggerCarousel(item: CarouselItemDirective, smooth?: boolean): void {\n const array = this.items.toArray();\n let index: number = array.findIndex((_item) => _item === item) - this.offset;\n\n if (index < 0) {\n index = array.length + index;\n }\n\n this.carousel.goToItem(array[index], smooth);\n }\n\n /**\n * Focus current indicator, which allows to handle keydown events inside column\n * @hidden\n */\n private _focusIndicator(): void {\n document.getElementById(this.currentIndicatorId)?.focus();\n }\n\n /** @hidden */\n private _getValue(value: string): any {\n if (!isNaN(Number(value))) {\n return Number(value);\n } else {\n return value;\n }\n }\n\n /** @hidden */\n private _setUpQuerySubscription(): void {\n const trigger = this._queryKeyDownEvent.pipe(debounceTime(this.typeaheadDebounceInterval));\n\n this._subscriptions.add(\n this._queryKeyDownEvent\n .pipe(\n buffer(trigger),\n map((keys) => keys.join('')),\n map((value) => this._getValue(value)),\n map((value) => this._getItem(value))\n )\n .subscribe((item) => this._pickTime(item, false, true))\n );\n }\n\n /** @hidden */\n private _setUpCarouselConfiguration(): void {\n const config: CarouselConfig = {\n gestureSupport: true,\n vertical: true,\n elementsAtOnce: this._elementsAtOnce$.value,\n transition: '150ms'\n };\n if (!this.meridian) {\n config.infinite = true;\n }\n this.config = config;\n }\n\n /** @hidden */\n private _setUpInitialValue(): void {\n if (!this._activeValue) {\n this._activeValue = this.items.first.value;\n }\n this._pickTime(this._getItem(this._activeValue), false);\n }\n\n /** @hidden */\n private _updateInternalTranslationConfig(): void {\n switch (this.columnTranslationsPreset) {\n case 'hours':\n this.internalTranslationConfig = {\n increaseLabel: 'coreTime.increaseHoursLabel',\n label: 'coreTime.hoursLabel',\n decreaseLabel: 'coreTime.decreaseHoursLabel',\n navigationInstruction: 'coreTime.navigationInstruction'\n };\n break;\n case 'minutes':\n this.internalTranslationConfig = {\n increaseLabel: 'coreTime.increaseMinutesLabel',\n label: 'coreTime.minutesLabel',\n decreaseLabel: 'coreTime.decreaseMinutesLabel',\n navigationInstruction: 'coreTime.navigationInstruction'\n };\n break;\n case 'seconds':\n this.internalTranslationConfig = {\n increaseLabel: 'coreTime.increaseSecondsLabel',\n label: 'coreTime.secondsLabel',\n decreaseLabel: 'coreTime.decreaseSecondsLabel',\n navigationInstruction: 'coreTime.navigationInstruction'\n };\n break;\n case 'period':\n this.internalTranslationConfig = {\n increaseLabel: 'coreTime.increasePeriodLabel',\n label: 'coreTime.periodLabel',\n decreaseLabel: 'coreTime.decreasePeriodLabel',\n navigationInstruction: 'coreTime.navigationInstruction'\n };\n break;\n\n default:\n this.internalTranslationConfig = null;\n break;\n }\n this._changeDetRef.markForCheck();\n }\n}\n","<label class=\"fd-time__slider-label\">{{\n timeConfig?.label || (internalTranslationConfig && (internalTranslationConfig.label | fdTranslate))\n}}</label>\n<button\n *ngIf=\"active && spinners\"\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-up-arrow\"\n tabindex=\"-1\"\n [title]=\"\n timeConfig?.decreaseLabel ||\n (internalTranslationConfig && (internalTranslationConfig.decreaseLabel | fdTranslate))\n \"\n [ariaLabel]=\"\n timeConfig?.decreaseLabel ||\n (internalTranslationConfig && (internalTranslationConfig.decreaseLabel | fdTranslate))\n \"\n (keyup)=\"spinnerButtonKeyupHandle($event, true)\"\n (click)=\"scrollUp($event)\"\n></button>\n<div\n class=\"fd-time__wrapper\"\n [class.fd-time__wrapper--active]=\"active\"\n [class.fd-time__wrapper--meridian]=\"meridian\"\n [style.height.px]=\"active ? wrapperHeight : ''\"\n>\n <ul\n class=\"fd-time__list\"\n [class.fd-time-column-custom-hidden]=\"!active\"\n [config]=\"config\"\n (click)=\"indicator.focus()\"\n (activeChange)=\"activeChangedHandle($event)\"\n (dragStateChange)=\"handleDrag($event)\"\n fdCarousel\n >\n <li\n class=\"fd-time__item\"\n fdCarouselItem\n *ngFor=\"let row of rows; let index = index\"\n #item=\"fdCarouselItem\"\n [id]=\"_createColumnItemIdByIndex(index)\"\n [attr.data-displayed-value]=\"row.value\"\n [value]=\"row\"\n >\n <span class=\"fd-time__unit\" role=\"button\" [attr.aria-label]=\"row.label\" (click)=\"pick(item, index)\">\n {{ row.label }}\n </span>\n </li>\n </ul>\n <div\n class=\"fd-time__current-indicator\"\n #indicator\n tabindex=\"0\"\n role=\"listbox\"\n [attr.id]=\"currentIndicatorId\"\n [class.fd-time-column-custom-hidden]=\"!active\"\n [attr.aria-labelledby]=\"currentIndicatorValueId\"\n [attr.aria-description]=\"\n timeConfig?.navigationInstruction ||\n (internalTranslationConfig && (internalTranslationConfig.navigationInstruction | fdTranslate))\n \"\n (focus)=\"_onFocusIndicator()\"\n >\n <span\n class=\"fd-time-column-custom-hidden\"\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n [attr.aria-hidden]=\"!active\"\n [attr.id]=\"currentIndicatorValueId\"\n [class.fd-time-column-custom-hidden]=\"active\"\n >\n {{ activeValue?.label }}\n {{ timeConfig?.label || (internalTranslationConfig && (internalTranslationConfig.label | fdTranslate)) }}\n </span>\n </div>\n <span *ngIf=\"!active\" class=\"fd-time__item fd-time__item--collapsed\">\n {{ activeValue?.label }}\n </span>\n</div>\n<button\n *ngIf=\"active && spinners\"\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-down-arrow\"\n tabindex=\"-1\"\n [title]=\"\n timeConfig?.increaseLabel ||\n (internalTranslationConfig && (internalTranslationConfig.increaseLabel | fdTranslate))\n \"\n [ariaLabel]=\"\n timeConfig?.increaseLabel ||\n (internalTranslationConfig && (internalTranslationConfig.increaseLabel | fdTranslate))\n \"\n (keyup)=\"spinnerButtonKeyupHandle($event)\"\n (click)=\"scrollDown()\"\n></button>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n SimpleChanges,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\n\nimport { DatetimeAdapter } from '@fundamental-ngx/core/datetime';\nimport { KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\n\nimport { Meridian, SelectableViewItem } from './models';\nimport { createMissingDateImplementationError } from './errors';\nimport { TimeColumnComponent } from './time-column/time-column.component';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\nexport type FdTimeActiveView = 'hour' | 'minute' | 'second' | 'meridian';\n\ntype HourViewItem = SelectableViewItem<number>;\ntype MinuteViewItem = SelectableViewItem<number>;\ntype SecondViewItem = SelectableViewItem<number>;\ntype MeridianViewItem = SelectableViewItem<Meridian>;\n\n@Component({\n selector: 'fd-time',\n templateUrl: './time.component.html',\n styleUrls: ['./time.component.scss'],\n host: {\n '(focusout)': '_focusOut($event)',\n '(blur)': 'onTouched()'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TimeComponent),\n multi: true\n },\n contentDensityObserverProviders()\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class TimeComponent<D> implements OnInit, OnChanges, OnDestroy, AfterViewInit, ControlValueAccessor {\n /**\n * @Input When set to false, uses the 24 hour clock (hours ranging from 0 to 23)\n * and does not display a period control.\n */\n @Input()\n meridian = false;\n\n /**\n * @Input When set to false, does not set the input field to invalid state on invalid entry.\n */\n @Input()\n validate = true;\n\n /**\n * @Input when set to true, time inputs won't allow to have 1 digit\n * for example 9 will become 09\n * but 12 will be kept as 12.\n */\n @Input()\n keepTwoDigits = false;\n\n /**\n * @Input Disables the component.\n */\n @Input()\n disabled: boolean;\n\n /**\n * @Input When set to false, hides the input for seconds.\n */\n @Input()\n displaySeconds = true;\n\n /** @Input When set to false, hides the input for minutes. */\n @Input()\n displayMinutes = true;\n\n /**\n * When set to false, hides the input for hours\n */\n @Input()\n displayHours = true;\n\n /** @Input Defines if time component should be used in tablet mode */\n @Input()\n tablet = false;\n\n /** @Input Defines quantity of the elements, that are visible at the same time. Should be odd number */\n @Input()\n elementsAtOnce = 7;\n\n /**\n * @Input An object that contains datetime representation\n */\n @Input()\n time: D;\n\n /** @Input Whether to show spinner buttons */\n @Input()\n spinnerButtons = true;\n\n /** @hidden */\n @ViewChildren(TimeColumnComponent)\n columns: QueryList<TimeColumnComponent<unknown, SelectableViewItem<unknown>>>;\n\n /** Active column view to iterate with */\n activeView: FdTimeActiveView = 'hour';\n\n /** Offset */\n get offset(): number {\n return Math.floor(this.elementsAtOnce / 2);\n }\n\n /**\n * @hidden\n * container for [0 - 23] hours\n */\n hourViewItems: HourViewItem[] = [];\n /**\n * @hidden\n * reference to currently selected hourViewItems element\n */\n activeHourViewItem?: HourViewItem;\n\n /**\n * @hidden\n * container for [0 - 59] minutes\n */\n minuteViewItems: MinuteViewItem[] = [];\n /**\n * @hidden\n * reference to currently selected minuteViewItems element\n */\n activeMinuteViewItem?: MinuteViewItem;\n\n /**\n * @hidden\n * container for [0 - 59] seconds\n */\n secondViewItems: SecondViewItem[] = [];\n /**\n * @hidden\n * reference to currently selected secondViewItems element\n */\n activeSecondViewItem?: SecondViewItem;\n\n /**\n * @hidden\n * container for [am, pm] meridian values\n */\n meridianViewItems: MeridianViewItem[] = [];\n /**\n * @hidden\n * reference to currently selected meridianViewItems element\n */\n activeMeridianViewItem?: MeridianViewItem;\n\n /** @hidden */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private _elementRef: ElementRef,\n // Use @Optional to avoid angular injection error message and throw our own which is more precise one\n @Optional() private _dateTimeAdapter: DatetimeAdapter<D>,\n readonly _contentDensityObserver: ContentDensityObserver,\n @Optional() private _rtlService: RtlService\n ) {\n if (!_dateTimeAdapter) {\n throw createMissingDateImplementationError('DateTimeAdapter');\n }\n\n this.time = this._getDefaultValue();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._dateTimeAdapter.localeChanges.pipe(takeUntil(this._onDestroy$)).subscribe(() => {\n this._setUpViewGrid();\n this._changeDetectorRef.detectChanges();\n });\n\n this._setUpViewGrid();\n }\n\n /** @hidden\n * Reacts only when there is meridian or time input change\n */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.meridian || changes.time) {\n this._setUpViewGrid();\n }\n if (changes.elementsAtOnce && changes.elementsAtOnce.currentValue % 2 === 0) {\n throw new Error('[elementsAtOnce] should be odd number');\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this.refreshColumns();\n }\n\n /** @hidden */\n onChange: (value: D) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n registerOnChange(fn: (time: D) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n refreshColumns(): void {\n this.columns.forEach((column) => column.setValueOfActive());\n }\n\n /**\n * @hidden\n * Handles meridian change.\n * This implicitly changes hours by +/- 12\n */\n handleMeridianChange(meridian: Meridian): void {\n let hourOffset: number = meridian === Meridian.AM ? -12 : 12;\n let currentHour = this._getModelHour();\n\n if (currentHour > 12 && meridian === Meridian.PM) {\n currentHour -= 12;\n } else if (currentHour === 12) {\n currentHour = 0;\n } else if (currentHour < 12 && meridian === Meridian.AM) {\n hourOffset = 0;\n }\n\n const newHour = Math.max(0, Math.min(23, currentHour + hourOffset));\n\n this.handleHourChange(newHour);\n }\n\n /** @hidden */\n handleSecondChange(second: number): void {\n this.time = this._dateTimeAdapter.setSeconds(this.time, second);\n this._calculateActiveSecondViewItem();\n this.onChange(this.time);\n }\n\n /** @hidden */\n handleMinuteChange(minute: number): void {\n this.time = this._dateTimeAdapter.setMinutes(this.time, minute);\n this._calculateActiveMinuteViewItem();\n this.onChange(this.time);\n }\n\n /**\n * @hidden\n * Handles changes of displayed hour value from template.\n */\n handleHourChange(hour: number): void {\n this.time = this._dateTimeAdapter.setHours(this.time, hour);\n this._calculateActiveHourViewItem();\n\n if (this.meridian) {\n this._calculateActiveMeridianViewItem();\n }\n\n this.onChange(this.time);\n }\n\n /** @hidden */\n handleNextColumnFocus(column: FdTimeActiveView): void {\n const columns = this._getVisibleColumnsWithRtl();\n let nextIndex = columns.indexOf(column) + 1;\n if (nextIndex >= columns.length) {\n nextIndex = 0;\n }\n this.changeActive(columns[nextIndex]);\n }\n\n /** @hidden */\n handlePreviousColumnFocus(column: FdTimeActiveView): void {\n const columns = this._getVisibleColumnsWithRtl();\n let nextIndex = columns.indexOf(column) - 1;\n if (nextIndex < 0) {\n nextIndex = columns.length - 1;\n }\n this.changeActive(columns[nextIndex]);\n }\n\n /** @hidden */\n handleKeyDownEvent(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, LEFT_ARROW)) {\n this.handlePreviousColumnFocus(this.activeView);\n event.preventDefault();\n this.focusActiveColumn();\n } else if (KeyUtil.isKeyCode(event, RIGHT_ARROW)) {\n this.handleNextColumnFocus(this.activeView);\n event.preventDefault();\n this.focusActiveColumn();\n }\n }\n\n /** @hidden */\n writeValue(time: D): void {\n if (!time || !this._dateTimeAdapter.isValid(time)) {\n time = this._getDefaultValue();\n }\n this.time = time;\n\n this._setUpActiveViewItems();\n\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n changeActive(view: FdTimeActiveView): void {\n this.activeView = view;\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n isActive(view: FdTimeActiveView): boolean {\n return this.activeView === view;\n }\n\n /** @hidden */\n focusActiveColumn(): void {\n const column = this.columns.find(({ active }) => active);\n column?.focus();\n }\n\n /** @hidden */\n private _focusOut(event: FocusEvent): void {\n if (!this._elementRef.nativeElement.contains(event.relatedTarget)) {\n this.onTouched();\n }\n }\n\n /**\n * Get visible time columns\n * @returns visible columns list @see {FdTimeActiveView[]}\n */\n private _getVisibleColumns(): FdTimeActiveView[] {\n const allOptions: Array<[boolean, FdTimeActiveView]> = [\n [this.displayHours, 'hour'],\n [this.displayMinutes, 'minute'],\n [this.displaySeconds, 'second'],\n [this.meridian, 'meridian']\n ];\n return allOptions.filter(([enabled]) => enabled).map(([, view]) => view);\n }\n\n /**\n * Get visible columns taking into account RTL\n * @returns visible columns list @see {FdTimeActiveView[]}\n */\n private _getVisibleColumnsWithRtl(): FdTimeActiveView[] {\n const columns = this._getVisibleColumns();\n return this._rtlService?.rtl.value ? columns.reverse() : columns;\n }\n\n /** @hidden */\n private _setUpViewGrid(): void {\n this._constructHourViewItems();\n this._constructMinuteViewItems();\n this._constructSecondViewItems();\n this._constructMeridianViewItems();\n // update reference to active view items\n this._setUpActiveViewItems();\n }\n\n /** @hidden */\n private _setUpActiveViewItems(): void {\n this._calculateActiveHourViewItem();\n this._calculateActiveMinuteViewItem();\n this._calculateActiveSecondViewItem();\n this._calculateActiveMeridianViewItem();\n }\n\n /** @hidden */\n private _constructHourViewItems(): void {\n this.hourViewItems = this._dateTimeAdapter\n .getHourNames({ meridian: this.meridian, twoDigit: this.keepTwoDigits })\n .map((name, hour) => ({\n value: hour,\n label: name\n }));\n }\n\n /** @hidden */\n private _constructMinuteViewItems(): void {\n this.minuteViewItems = this._dateTimeAdapter\n .getMinuteNames({ twoDigit: this.keepTwoDigits })\n .map((name, minute) => ({\n value: minute,\n label: name\n }));\n }\n\n /** @hidden */\n private _constructSecondViewItems(): void {\n this.secondViewItems = this._dateTimeAdapter\n .getSecondNames({ twoDigit: this.keepTwoDigits })\n .map((name, second) => ({\n value: second,\n label: name\n }));\n }\n\n /** @hidden */\n private _constructMeridianViewItems(): void {\n const [amLabel, pmLabel] = this._dateTimeAdapter.getDayPeriodNames();\n this.meridianViewItems = [\n { value: Meridian.AM, label: amLabel },\n { value: Meridian.PM, label: pmLabel }\n ];\n }\n\n /** @hidden */\n private _calculateActiveHourViewItem(): void {\n const hour = this._getModelHour();\n this.activeHourViewItem = this.hourViewItems.find(({ value }) => value === hour);\n }\n\n /** @hidden */\n private _calculateActiveMinuteViewItem(): void {\n const minute = this._getModelMinute();\n this.activeMinuteViewItem = this.minuteViewItems.find(({ value }) => value === minute);\n }\n\n /** @hidden */\n private _calculateActiveSecondViewItem(): void {\n const second = this._getModelSecond();\n this.activeSecondViewItem = this.secondViewItems.find(({ value }) => value === second);\n }\n\n /** @hidden */\n private _calculateActiveMeridianViewItem(): void {\n const meridian = this._getDayPeriodByHour();\n this.activeMeridianViewItem = this.meridianViewItems.find(({ value }) => value === meridian);\n }\n\n /**\n * @hidden\n * Model hours (0 - 23)\n */\n private _getModelHour(): number {\n return this._dateTimeAdapter.getHours(this.time);\n }\n\n /**\n * @hidden\n * Model minutes (0 - 59)\n */\n private _getModelMinute(): number {\n return this._dateTimeAdapter.getMinutes(this.time);\n }\n\n /**\n * @hidden\n * Model seconds (0 - 59)\n */\n private _getModelSecond(): number {\n return this._dateTimeAdapter.getSeconds(this.time);\n }\n\n /**\n * @hidden\n * Get meridian period based on a given hours\n */\n private _getDayPeriodByHour(hour = this._getModelHour()): Meridian {\n return this._isPm(hour) ? Meridian.PM : Meridian.AM;\n }\n\n /** @hidden */\n private _isPm(hours: number = this._getModelHour()): boolean {\n return hours >= 12;\n }\n\n /**\n * @hidden\n * @returns default time 00:00:00\n */\n private _getDefaultValue(): D {\n return this._dateTimeAdapter.today();\n }\n}\n","<div\n class=\"fd-time\"\n [class.is-compact]=\"_contentDensityObserver.isCompact$ | async\"\n (keydown)=\"handleKeyDownEvent($event)\"\n [class.fd-time--tablet]=\"tablet\"\n [attr.aria-label]=\"'coreTime.componentAriaName' | fdTranslate\"\n>\n <fd-time-column\n [active]=\"isActive('hour')\"\n [rows]=\"hourViewItems\"\n [offset]=\"offset\"\n [elementsAtOnce]=\"elementsAtOnce\"\n [activeValue]=\"activeHourViewItem\"\n columnTranslationsPreset=\"hours\"\n [spinners]=\"spinnerButtons\"\n (activeValueChange)=\"handleHourChange($event.value.value)\"\n (activeStateChange)=\"changeActive('hour')\"\n ></fd-time-column>\n <fd-time-column\n *ngIf=\"displayMinutes\"\n [active]=\"isActive('minute')\"\n [rows]=\"minuteViewItems\"\n [offset]=\"offset\"\n [elementsAtOnce]=\"elementsAtOnce\"\n [activeValue]=\"activeMinuteViewItem\"\n columnTranslationsPreset=\"minutes\"\n [spinners]=\"spinnerButtons\"\n (activeValueChange)=\"handleMinuteChange($event.value.value)\"\n (activeStateChange)=\"changeActive('minute')\"\n ></fd-time-column>\n <fd-time-column\n *ngIf=\"displaySeconds\"\n [active]=\"isActive('second')\"\n [rows]=\"secondViewItems\"\n [offset]=\"offset\"\n [elementsAtOnce]=\"elementsAtOnce\"\n [activeValue]=\"activeSecondViewItem\"\n columnTranslationsPreset=\"seconds\"\n [spinners]=\"spinnerButtons\"\n (activeValueChange)=\"handleSecondChange($event.value.value)\"\n (activeStateChange)=\"changeActive('second')\"\n ></fd-time-column>\n <fd-time-column\n *ngIf=\"meridian\"\n [active]=\"isActive('meridian')\"\n [rows]=\"meridianViewItems\"\n [activeValue]=\"activeMeridianViewItem\"\n [offset]=\"0\"\n [elementsAtOnce]=\"elementsAtOnce\"\n columnTranslationsPreset=\"period\"\n [meridian]=\"true\"\n [spinners]=\"spinnerButtons\"\n (activeValueChange)=\"handleMeridianChange($event.value.value)\"\n (activeStateChange)=\"changeActive('meridian')\"\n ></fd-time-column>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { TimeComponent } from './time.component';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { FormModule } from '@fundamental-ngx/core/form';\nimport { PipeModule } from '@fundamental-ngx/cdk/utils';\nimport { TimeColumnComponent } from './time-column/time-column.component';\nimport { CarouselModule } from '@fundamental-ngx/core/carousel';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { I18nModule } from '@fundamental-ngx/i18n';\n\n@NgModule({\n declarations: [TimeComponent, TimeColumnComponent],\n imports: [\n CommonModule,\n FormsModule,\n FormModule,\n ButtonModule,\n PipeModule,\n CarouselModule,\n ContentDensityModule,\n I18nModule\n ],\n exports: [TimeComponent, TimeColumnComponent, ContentDensityModule]\n})\nexport class TimeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","i4","i5.TimeColumnComponent","i6"],"mappings":"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"}
@@ -439,7 +439,7 @@ class TimelineComponent {
439
439
  return [dataForFirstList, dataForSecondList];
440
440
  }
441
441
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: TimelineComponent, deps: [{ token: i0.IterableDiffers }, { token: i0.ChangeDetectorRef }, { token: TimelinePositionControlService }, { token: i2$1.ViewportRuler }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
442
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: TimelineComponent, selector: "fd-timeline", inputs: { dataSource: "dataSource", trackBy: "trackBy", axis: "axis", layout: "layout" }, host: { attributes: { "role": "timeline", "arial-label": "timeline" }, properties: { "class.fd-timeline--horizontal": "axis === \"horizontal\"", "class.fd-timeline--vertical": "axis === \"vertical\"" }, classAttribute: "fd-timeline" }, providers: [TimelinePositionControlService], queries: [{ propertyName: "_nodeDefs", predicate: TimelineNodeDefDirective, descendants: true }], viewQueries: [{ propertyName: "_firstListOutlet", first: true, predicate: TimelineFirstListOutletDirective, descendants: true, static: true }, { propertyName: "_secondListOutlet", first: true, predicate: TimelineSecondListOutletDirective, descendants: true, static: true }, { propertyName: "_loadingTemplate", first: true, predicate: ["loadingTemplate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n [class.fd-timeline__list--empty]=\"!_canShowFirstList && !_loading\"\n class=\"fd-timeline__list fd-timeline__list--first\"\n>\n <ng-container fdTimelineFirstListOutlet></ng-container>\n</div>\n<div class=\"fd-timeline__main-line\"></div>\n<div\n [class.fd-timeline__list--empty]=\"!_canShowSecondList\"\n [class.fd-timeline__list--with-offset]=\"_canShowFirstList\"\n class=\"fd-timeline__list fd-timeline__list--second\"\n>\n <ng-container fdTimelineSecondListOutlet></ng-container>\n</div>\n\n<ng-template #loadingTemplate>\n <fd-timeline-node *fdkRepeat=\"3\">\n <fd-timeline-node-header>\n <fd-skeleton width=\"100%\" height=\"32px\">\n <svg:circle cx=\"16\" cy=\"16\" r=\"16\" rx=\"4\"></svg:circle>\n <svg:rect x=\"37\" y=\"0\" width=\"120\" height=\"12\" rx=\"4\"></svg:rect>\n <svg:rect x=\"37\" y=\"20\" width=\"80\" height=\"8\" rx=\"4\"></svg:rect>\n </fd-skeleton>\n </fd-timeline-node-header>\n\n <fd-skeleton type=\"text\"></fd-skeleton>\n </fd-timeline-node>\n</ng-template>\n", styles: [".fd-timeline{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-timeline:before,.fd-timeline:after{box-sizing:inherit;font-size:inherit}.fd-timeline--double-sided{max-width:57.5rem}.fd-timeline__container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;margin-top:1rem}.fd-timeline__container:before,.fd-timeline__container:after{box-sizing:inherit;font-size:inherit}.fd-timeline__group{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;margin-bottom:1rem;list-style-type:none}.fd-timeline__group:before,.fd-timeline__group:after{box-sizing:inherit;font-size:inherit}.fd-timeline__group--collapsed{margin-bottom:2rem}.fd-timeline__group-header-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;align-items:center}.fd-timeline__group-header-container:before,.fd-timeline__group-header-container:after{box-sizing:inherit;font-size:inherit}.fd-timeline__group-header-container--horizontal{width:auto;height:100%;flex-direction:column;align-items:flex-start}.fd-timeline__group-header-container--horizontal .fd-timeline__group-header-bar{margin:0;margin-left:1.25rem;margin-top:.8125rem}[dir=rtl] .fd-timeline__group-header-container--horizontal .fd-timeline__group-header-bar,.fd-timeline__group-header-container--horizontal .fd-timeline__group-header-bar[dir=rtl]{margin-right:1.25rem;margin-left:0}.fd-timeline__group-header{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;align-items:center;margin-right:.8125rem;cursor:pointer;width:-moz-fit-content;width:fit-content;position:relative;height:1.625rem;background:var(--sapButton_Selected_Background);border-radius:var(--sapElement_BorderCornerRadius);border:.0625rem solid var(--sapButton_Selected_BorderColor)}.fd-timeline__group-header:before,.fd-timeline__group-header:after{box-sizing:inherit;font-size:inherit}.fd-timeline__group-header:focus,.fd-timeline__group-header.is-focus{outline:none}.fd-timeline__group-header:focus:before,.fd-timeline__group-header.is-focus:before{content:\"\";display:block;position:absolute;inset:-.1875rem;border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor)}[dir=rtl] .fd-timeline__group-header,.fd-timeline__group-header[dir=rtl]{margin-right:0;margin-left:.8125rem}.fd-timeline__group-header:hover,.fd-timeline__group-header.is-hover{background:var(--sapButton_Selected_Hover_Background);border-color:var(--sapButton_Selected_Hover_BorderColor)}.fd-timeline__group-header:active,.fd-timeline__group-header.is-active{background:var(--sapButton_Selected_Background);border-color:var(--sapButton_Selected_BorderColor)}.fd-timeline__group-header--collapsed{background:var(--sapButton_Background);border-color:var(--sapButton_BorderColor)}.fd-timeline__group-header--collapsed:focus:before,.fd-timeline__group-header--collapsed.is-focus:before{left:-.1875rem;right:-.375rem}[dir=rtl] .fd-timeline__group-header--collapsed:focus:before,[dir=rtl] .fd-timeline__group-header--collapsed.is-focus:before,.fd-timeline__group-header--collapsed[dir=rtl]:focus:before,.fd-timeline__group-header--collapsed[dir=rtl].is-focus:before{right:-.1875rem;left:-.375rem}.fd-timeline__group-header--collapsed .fd-timeline__group-header-icon [class*=sap-icon]{color:var(--sapButton_TextColor)}[dir=rtl] .fd-timeline__group-header--collapsed .fd-timeline__group-header-icon,.fd-timeline__group-header--collapsed .fd-timeline__group-header-icon[dir=rtl]{transform:rotate(180deg)}.fd-timeline__group-header--collapsed .fd-timeline__group-header-text{color:var(--sapButton_Hover_TextColor)}.fd-timeline__group-header--collapsed:hover,.fd-timeline__group-header--collapsed.is-hover{background:var(--sapButton_Hover_Background);border-color:var(--sapButton_Hover_BorderColor)}.fd-timeline__group-header--collapsed:hover:after,.fd-timeline__group-header--collapsed.is-hover:after{background:var(--sapButton_Hover_Background);border-color:var(--sapButton_Hover_BorderColor)}.fd-timeline__group-header--collapsed:hover .fd-timeline__group-header-icon [class*=sap-icon],.fd-timeline__group-header--collapsed.is-hover .fd-timeline__group-header-icon [class*=sap-icon],.fd-timeline__group-header--collapsed:hover .fd-timeline__group-header-text,.fd-timeline__group-header--collapsed.is-hover .fd-timeline__group-header-text{color:var(--sapButton_Hover_TextColor)}.fd-timeline__group-header--collapsed:active,.fd-timeline__group-header--collapsed.is-active{background:var(--sapButton_Active_Background);border-color:var(--sapButton_Active_BorderColor)}.fd-timeline__group-header--collapsed:active:after,.fd-timeline__group-header--collapsed.is-active:after{background:var(--sapButton_Active_Background);border-color:var(--sapButton_Active_BorderColor)}.fd-timeline__group-header--collapsed:active .fd-timeline__group-header-icon [class*=sap-icon],.fd-timeline__group-header--collapsed.is-active .fd-timeline__group-header-icon [class*=sap-icon],.fd-timeline__group-header--collapsed:active .fd-timeline__group-header-text,.fd-timeline__group-header--collapsed.is-active .fd-timeline__group-header-text{color:var(--sapButton_Active_TextColor)}.fd-timeline__group-header--collapsed:after{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;transform:translate(0) translateY(0) rotate(45deg);content:\"\";position:absolute;width:.4375rem;height:.4375rem;right:-.25rem;background:var(--sapButton_Background);border-top:.0625rem solid var(--sapButton_BorderColor);border-right:.0625rem solid var(--sapButton_BorderColor)}.fd-timeline__group-header--collapsed:after:before,.fd-timeline__group-header--collapsed:after:after{box-sizing:inherit;font-size:inherit}[dir=rtl] .fd-timeline__group-header--collapsed:after,.fd-timeline__group-header--collapsed[dir=rtl]:after{transform:translate(0) translateY(0) rotate(225deg);right:auto;left:-.25rem}.fd-timeline__group-header--horizontal:focus:before,.fd-timeline__group-header--horizontal.is-focus:before{right:-.1875rem;bottom:-.375rem}[dir=rtl] .fd-timeline__group-header--horizontal:focus:before,[dir=rtl] .fd-timeline__group-header--horizontal.is-focus:before,.fd-timeline__group-header--horizontal[dir=rtl]:focus:before,.fd-timeline__group-header--horizontal[dir=rtl].is-focus:before{left:-.1875rem;right:-.1875rem}.fd-timeline__group-header--horizontal:after{transform:rotate(135deg);left:1rem;bottom:-.25rem}[dir=rtl] .fd-timeline__group-header--horizontal:after,.fd-timeline__group-header--horizontal[dir=rtl]:after{left:auto;transform:rotate(135deg);right:1rem}.fd-timeline__group-header-icon{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;margin-left:.5rem;margin-right:.5rem}.fd-timeline__group-header-icon:before,.fd-timeline__group-header-icon:after{box-sizing:inherit;font-size:inherit}.fd-timeline__group-header-icon [class*=sap-icon]{color:var(--sapButton_Selected_TextColor);font-size:1rem;height:1.625rem;line-height:1.625rem}.fd-timeline__group-header-text{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;margin-right:1rem;cursor:inherit;color:var(--sapButton_Selected_TextColor)}.fd-timeline__group-header-text:before,.fd-timeline__group-header-text:after{box-sizing:inherit;font-size:inherit}[dir=rtl] .fd-timeline__group-header-text,.fd-timeline__group-header-text[dir=rtl]{margin-right:0;margin-left:1rem}.fd-timeline__node-container--horizontal{flex-direction:row}.fd-timeline__node-container--horizontal .fd-timeline__node{margin-top:0;margin-bottom:0;margin-left:.25rem;margin-right:.25rem}.fd-timeline__node-container--horizontal .fd-timeline__node--grouping{margin:0}.fd-timeline__node-container--horizontal .fd-timeline__node--icon{margin-top:0;margin-bottom:0;margin-left:.5rem;margin-right:.5rem}.fd-timeline__node{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;width:.375rem;height:.375rem;border-radius:50%;background:var(--sapContent_ForegroundBorderColor)}.fd-timeline__node:before,.fd-timeline__node:after{box-sizing:inherit;font-size:inherit}.fd-timeline__node--grouping{margin-top:0;margin-bottom:0;border:.0625rem solid var(--sapContent_ForegroundBorderColor);width:.5rem;height:.5rem;border-radius:50%;background:transparent}.fd-timeline__node--icon{margin-top:.5rem;margin-bottom:.5rem;width:auto;height:auto;border-radius:50%;background:transparent}.fd-timeline__node--icon [class*=sap-icon]{line-height:1;width:1.375rem;height:1.375rem;font-size:1.375rem;color:var(--sapContent_NonInteractiveIconColor)}.fd-timeline__group-header-bar{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;margin-right:.375rem;border:.0625rem dashed var(--sapContent_ForegroundBorderColor);flex:1}.fd-timeline__group-header-bar:before,.fd-timeline__group-header-bar:after{box-sizing:inherit;font-size:inherit}[dir=rtl] .fd-timeline__group-header-bar,.fd-timeline__group-header-bar[dir=rtl]{margin-right:0;margin-left:.375rem}.fd-timeline__connecting-line{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;border:.0625rem solid var(--sapContent_ForegroundBorderColor)}.fd-timeline__connecting-line:before,.fd-timeline__connecting-line:after{box-sizing:inherit;font-size:inherit}.fd-timeline__posts{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;list-style-type:none}.fd-timeline__posts:before,.fd-timeline__posts:after{box-sizing:inherit;font-size:inherit}.fd-timeline__post-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;flex-direction:row}.fd-timeline__post-container:before,.fd-timeline__post-container:after{box-sizing:inherit;font-size:inherit}.fd-timeline__post{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;height:auto;padding:.5rem;position:relative;border-radius:.25rem;border:.0625rem solid var(--sapGroup_ContentBorderColor);background:var(--sapGroup_ContentBackground)}.fd-timeline__post:before,.fd-timeline__post:after{box-sizing:inherit;font-size:inherit}.fd-timeline__post:after{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;content:\"\";position:absolute;width:.8rem;height:.8rem;border-top:.0625rem solid var(--sapGroup_ContentBorderColor);border-right:.0625rem solid var(--sapGroup_ContentBorderColor);background:var(--sapGroup_ContentBackground)}.fd-timeline__post:after:before,.fd-timeline__post:after:after{box-sizing:inherit;font-size:inherit}.fd-timeline__post-header-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;align-items:center;margin-bottom:.5rem}.fd-timeline__post-header-container:before,.fd-timeline__post-header-container:after{box-sizing:inherit;font-size:inherit}.fd-timeline__post-header{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-timeline__post-header:before,.fd-timeline__post-header:after{box-sizing:inherit;font-size:inherit}.fd-timeline__post-header:not(:first-child){margin-left:.3125rem}[dir=rtl] .fd-timeline__post-header:not(:first-child),.fd-timeline__post-header:not(:first-child)[dir=rtl]{margin-right:.3125rem;margin-left:0}.fd-timeline__post-header-title{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;font-weight:700}.fd-timeline__post-header-title:before,.fd-timeline__post-header-title:after{box-sizing:inherit;font-size:inherit}.fd-timeline__post-header-text{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-timeline__post-header-text:before,.fd-timeline__post-header-text:after{box-sizing:inherit;font-size:inherit}.fd-timeline__post-subheader{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;margin-top:.125rem;font-size:var(--sapFontSmallSize);color:var(--sapContent_LabelColor)}.fd-timeline__post-subheader:before,.fd-timeline__post-subheader:after{box-sizing:inherit;font-size:inherit}.fd-timeline__post-content{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-timeline__post-content:before,.fd-timeline__post-content:after{box-sizing:inherit;font-size:inherit}.fd-timeline .fd-timeline__post-actions{margin-top:.5rem}.fd-timeline .fd-timeline__post-actions button:not(:first-child){margin-left:.5rem}[dir=rtl] .fd-timeline .fd-timeline__post-actions button:not(:first-child),.fd-timeline .fd-timeline__post-actions button:not(:first-child)[dir=rtl]{margin-right:.5rem;margin-left:0}.fd-timeline__post{flex-grow:1}.fd-timeline__post-subheader{display:block}.fd-timeline__post-header-title{margin-right:.3rem}.fd-timeline__node--icon{font-size:1.375rem}.fd-timeline__node--icon [class*=sap-icon]{display:flex;flex-direction:row;justify-content:center}.fd-timeline__node-container{position:absolute;height:1.5rem}.fd-timeline__node-wrapper{display:flex;flex-direction:row;position:relative;box-sizing:border-box;flex-shrink:0}.fd-timeline__list{display:flex;position:relative;flex-grow:1}.fd-timeline__connecting-line{flex-shrink:0}.fd-timeline{display:flex;justify-content:center}.fd-timeline--horizontal{flex-direction:column}.fd-timeline--horizontal .fd-timeline__node-wrapper{width:20rem}.fd-timeline--horizontal .fd-timeline__node-wrapper--icon .fd-timeline__icon-wrapper{padding-left:.25rem}[dir=rtl] .fd-timeline--horizontal .fd-timeline__node-wrapper--icon .fd-timeline__icon-wrapper,.fd-timeline--horizontal .fd-timeline__node-wrapper--icon .fd-timeline__icon-wrapper[dir=rtl]{padding-right:.25rem;padding-left:0}.fd-timeline--horizontal .fd-timeline__post{margin-right:1.25rem}[dir=rtl] .fd-timeline--horizontal .fd-timeline__post,.fd-timeline--horizontal .fd-timeline__post[dir=rtl]{margin-right:0;margin-left:1.25rem}.fd-timeline--horizontal .fd-timeline__main-line{height:1.5rem;width:100%}.fd-timeline--horizontal .fd-timeline__node-container{height:1.5rem;width:100%;display:flex;align-items:center;left:.5rem}[dir=rtl] .fd-timeline--horizontal .fd-timeline__node-container,.fd-timeline--horizontal .fd-timeline__node-container[dir=rtl]{left:auto;right:.5rem}.fd-timeline--horizontal .fd-timeline__icon-wrapper{flex:0;padding-left:.75rem;padding-right:.25rem}[dir=rtl] .fd-timeline--horizontal .fd-timeline__icon-wrapper,.fd-timeline--horizontal .fd-timeline__icon-wrapper[dir=rtl]{padding-right:.75rem;padding-left:0}[dir=rtl] .fd-timeline--horizontal .fd-timeline__icon-wrapper,.fd-timeline--horizontal .fd-timeline__icon-wrapper[dir=rtl]{padding-right:0;padding-left:.25rem}[dir=rtl] .fd-timeline--horizontal .fd-timeline__icon-wrapper,.fd-timeline--horizontal .fd-timeline__icon-wrapper[dir=rtl]{padding-left:.25rem;padding-right:.75rem}.fd-timeline--horizontal .fd-timeline__list--first{align-items:flex-end}.fd-timeline--horizontal .fd-timeline__list--first .fd-timeline__node-container{bottom:-1.5rem}.fd-timeline--horizontal .fd-timeline__list--first .fd-timeline__post{margin-bottom:1rem}.fd-timeline--horizontal .fd-timeline__list--first .fd-timeline__post:after{transform:translate(0) translateY(0) rotate(135deg);left:1rem;bottom:-.4375rem}[dir=rtl] .fd-timeline--horizontal .fd-timeline__list--first .fd-timeline__post:after,.fd-timeline--horizontal .fd-timeline__list--first .fd-timeline__post[dir=rtl]:after{left:auto;right:1rem}.fd-timeline--horizontal .fd-timeline__list--second{align-items:flex-start}.fd-timeline--horizontal .fd-timeline__list--second .fd-timeline__node-container{top:-1.5rem}.fd-timeline--horizontal .fd-timeline__list--second .fd-timeline__post{margin-top:1rem}.fd-timeline--horizontal .fd-timeline__list--second .fd-timeline__post:after{transform:translate(0) translateY(0) rotate(315deg);left:1rem;top:-.4375rem}[dir=rtl] .fd-timeline--horizontal .fd-timeline__list--second .fd-timeline__post:after,.fd-timeline--horizontal .fd-timeline__list--second .fd-timeline__post[dir=rtl]:after{left:auto;right:1rem}.fd-timeline--horizontal .fd-timeline__list--with-offset{padding-left:4.688rem}[dir=rtl] .fd-timeline--horizontal .fd-timeline__list--with-offset,.fd-timeline--horizontal .fd-timeline__list--with-offset[dir=rtl]{padding-right:4.688rem;padding-left:0}.fd-timeline--vertical{max-width:50rem;align-items:stretch}.fd-timeline--vertical .fd-timeline__node-wrapper--icon .fd-timeline__icon-wrapper{padding-top:.25rem}.fd-timeline--vertical .fd-timeline__node-wrapper--icon .fd-timeline__node--icon{margin:0}.fd-timeline--vertical .fd-timeline__post{margin-bottom:1.25rem}.fd-timeline--vertical .fd-timeline__main-line{width:1.5rem;flex:0 0 1.5rem;height:100%}.fd-timeline--vertical .fd-timeline__node-container{height:100%;flex:1 0;width:1.5rem;display:flex;flex-direction:column;align-items:center;top:.5rem}.fd-timeline--vertical .fd-timeline__icon-wrapper{flex:0;padding-top:.75rem;padding-bottom:.25rem}.fd-timeline--vertical .fd-timeline__list{flex-direction:column;flex:1 0 calc(50% - .75rem)}.fd-timeline--vertical .fd-timeline__list--first .fd-timeline__node-container{right:-1.5rem}[dir=rtl] .fd-timeline--vertical .fd-timeline__list--first .fd-timeline__node-container,.fd-timeline--vertical .fd-timeline__list--first .fd-timeline__node-container[dir=rtl]{right:auto;left:-1.5rem}.fd-timeline--vertical .fd-timeline__list--first .fd-timeline__post{margin-right:1rem}[dir=rtl] .fd-timeline--vertical .fd-timeline__list--first .fd-timeline__post,.fd-timeline--vertical .fd-timeline__list--first .fd-timeline__post[dir=rtl]{margin-right:0;margin-left:1rem}.fd-timeline--vertical .fd-timeline__list--first .fd-timeline__post:after{transform:translate(0) translateY(0) rotate(45deg);top:1rem;right:-.4375rem}[dir=rtl] .fd-timeline--vertical .fd-timeline__list--first .fd-timeline__post:after,.fd-timeline--vertical .fd-timeline__list--first .fd-timeline__post[dir=rtl]:after{transform:translate(0) translateY(0) rotate(225deg);right:auto;left:-.4375rem}.fd-timeline--vertical .fd-timeline__list--second .fd-timeline__node-container{left:-1.5rem}[dir=rtl] .fd-timeline--vertical .fd-timeline__list--second .fd-timeline__node-container,.fd-timeline--vertical .fd-timeline__list--second .fd-timeline__node-container[dir=rtl]{left:auto;right:-1.5rem}.fd-timeline--vertical .fd-timeline__list--second .fd-timeline__post{margin-left:1rem}[dir=rtl] .fd-timeline--vertical .fd-timeline__list--second .fd-timeline__post,.fd-timeline--vertical .fd-timeline__list--second .fd-timeline__post[dir=rtl]{margin-right:1rem;margin-left:0}.fd-timeline--vertical .fd-timeline__list--second .fd-timeline__post:after{transform:translate(0) translateY(0) rotate(225deg);top:1rem;left:-.4375rem}[dir=rtl] .fd-timeline--vertical .fd-timeline__list--second .fd-timeline__post:after,.fd-timeline--vertical .fd-timeline__list--second .fd-timeline__post[dir=rtl]:after{transform:translate(0) translateY(0) rotate(45deg);left:auto;right:-.4375rem}.fd-timeline--vertical .fd-timeline__list--with-offset{padding-top:1.5rem}.fd-timeline--vertical .fd-timeline__list--empty{flex:0 0 0}\n"], dependencies: [{ kind: "component", type: i3$1.SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "directive", type: i4.RepeatDirective, selector: "[fdkRepeat], [fdRepeat]", inputs: ["fdkRepeat", "fdRepeat"] }, { kind: "directive", type: TimelineFirstListOutletDirective, selector: "[fdTimelineFirstListOutlet], [fd-timeline-first-list-outlet]" }, { kind: "component", type: TimelineNodeHeaderComponent, selector: "fd-timeline-node-header" }, { kind: "component", type: TimelineNodeComponent, selector: "fd-timeline-node", inputs: ["glyph", "ariaLabel"] }, { kind: "directive", type: TimelineSecondListOutletDirective, selector: "[fdTimelineSecondListOutlet], [fd-timeline-second-list-outlet]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
442
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: TimelineComponent, selector: "fd-timeline", inputs: { dataSource: "dataSource", trackBy: "trackBy", axis: "axis", layout: "layout" }, host: { attributes: { "role": "timeline", "arial-label": "timeline" }, properties: { "class.fd-timeline--horizontal": "axis === \"horizontal\"", "class.fd-timeline--vertical": "axis === \"vertical\"" }, classAttribute: "fd-timeline" }, providers: [TimelinePositionControlService], queries: [{ propertyName: "_nodeDefs", predicate: TimelineNodeDefDirective, descendants: true }], viewQueries: [{ propertyName: "_firstListOutlet", first: true, predicate: TimelineFirstListOutletDirective, descendants: true, static: true }, { propertyName: "_secondListOutlet", first: true, predicate: TimelineSecondListOutletDirective, descendants: true, static: true }, { propertyName: "_loadingTemplate", first: true, predicate: ["loadingTemplate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n [class.fd-timeline__list--empty]=\"!_canShowFirstList && !_loading\"\n class=\"fd-timeline__list fd-timeline__list--first\"\n>\n <ng-container fdTimelineFirstListOutlet></ng-container>\n</div>\n<div class=\"fd-timeline__main-line\"></div>\n<div\n [class.fd-timeline__list--empty]=\"!_canShowSecondList\"\n [class.fd-timeline__list--with-offset]=\"_canShowFirstList\"\n class=\"fd-timeline__list fd-timeline__list--second\"\n>\n <ng-container fdTimelineSecondListOutlet></ng-container>\n</div>\n\n<ng-template #loadingTemplate>\n <fd-timeline-node *fdkRepeat=\"3\">\n <fd-timeline-node-header>\n <fd-skeleton width=\"100%\" height=\"32px\">\n <svg:circle cx=\"16\" cy=\"16\" r=\"16\" rx=\"4\"></svg:circle>\n <svg:rect x=\"37\" y=\"0\" width=\"120\" height=\"12\" rx=\"4\"></svg:rect>\n <svg:rect x=\"37\" y=\"20\" width=\"80\" height=\"8\" rx=\"4\"></svg:rect>\n </fd-skeleton>\n </fd-timeline-node-header>\n\n <fd-skeleton type=\"text\"></fd-skeleton>\n </fd-timeline-node>\n</ng-template>\n", styles: [".fd-timeline{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-timeline:before,.fd-timeline:after{box-sizing:inherit;font-size:inherit}.fd-timeline--double-sided{max-width:57.5rem}.fd-timeline__container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;margin-top:1rem}.fd-timeline__container:before,.fd-timeline__container:after{box-sizing:inherit;font-size:inherit}.fd-timeline__group{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;margin-bottom:1rem;list-style-type:none}.fd-timeline__group:before,.fd-timeline__group:after{box-sizing:inherit;font-size:inherit}.fd-timeline__group--collapsed{margin-bottom:2rem}.fd-timeline__group-header-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;align-items:center}.fd-timeline__group-header-container:before,.fd-timeline__group-header-container:after{box-sizing:inherit;font-size:inherit}.fd-timeline__group-header-container--horizontal{width:auto;height:100%;flex-direction:column;align-items:flex-start}.fd-timeline__group-header-container--horizontal .fd-timeline__group-header-bar{margin:0;margin-left:1.25rem;margin-top:.8125rem}[dir=rtl] .fd-timeline__group-header-container--horizontal .fd-timeline__group-header-bar,.fd-timeline__group-header-container--horizontal .fd-timeline__group-header-bar[dir=rtl]{margin-right:1.25rem;margin-left:0}.fd-timeline__group-header{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;align-items:center;margin-right:.8125rem;cursor:pointer;width:-moz-fit-content;width:fit-content;position:relative;height:1.625rem;background:var(--sapButton_Selected_Background);border-radius:var(--sapElement_BorderCornerRadius);border:.0625rem solid var(--sapButton_Selected_BorderColor)}.fd-timeline__group-header:before,.fd-timeline__group-header:after{box-sizing:inherit;font-size:inherit}.fd-timeline__group-header:focus,.fd-timeline__group-header.is-focus{outline:none}.fd-timeline__group-header:focus:before,.fd-timeline__group-header.is-focus:before{content:\"\";display:block;position:absolute;inset:-.1875rem;border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor)}[dir=rtl] .fd-timeline__group-header,.fd-timeline__group-header[dir=rtl]{margin-right:0;margin-left:.8125rem}.fd-timeline__group-header:hover,.fd-timeline__group-header.is-hover{background:var(--sapButton_Selected_Hover_Background);border-color:var(--sapButton_Selected_Hover_BorderColor)}.fd-timeline__group-header:active,.fd-timeline__group-header.is-active{background:var(--sapButton_Selected_Background);border-color:var(--sapButton_Selected_BorderColor)}.fd-timeline__group-header--collapsed{background:var(--sapButton_Background);border-color:var(--sapButton_BorderColor)}.fd-timeline__group-header--collapsed:focus:before,.fd-timeline__group-header--collapsed.is-focus:before{left:-.1875rem;right:-.375rem}[dir=rtl] .fd-timeline__group-header--collapsed:focus:before,[dir=rtl] .fd-timeline__group-header--collapsed.is-focus:before,.fd-timeline__group-header--collapsed[dir=rtl]:focus:before,.fd-timeline__group-header--collapsed[dir=rtl].is-focus:before{right:-.1875rem;left:-.375rem}.fd-timeline__group-header--collapsed .fd-timeline__group-header-icon [class*=sap-icon]{color:var(--sapButton_TextColor)}[dir=rtl] .fd-timeline__group-header--collapsed .fd-timeline__group-header-icon,.fd-timeline__group-header--collapsed .fd-timeline__group-header-icon[dir=rtl]{transform:rotate(180deg)}.fd-timeline__group-header--collapsed .fd-timeline__group-header-text{color:var(--sapButton_Hover_TextColor)}.fd-timeline__group-header--collapsed:hover,.fd-timeline__group-header--collapsed.is-hover{background:var(--sapButton_Hover_Background);border-color:var(--sapButton_Hover_BorderColor)}.fd-timeline__group-header--collapsed:hover:after,.fd-timeline__group-header--collapsed.is-hover:after{background:var(--sapButton_Hover_Background);border-color:var(--sapButton_Hover_BorderColor)}.fd-timeline__group-header--collapsed:hover .fd-timeline__group-header-icon [class*=sap-icon],.fd-timeline__group-header--collapsed.is-hover .fd-timeline__group-header-icon [class*=sap-icon],.fd-timeline__group-header--collapsed:hover .fd-timeline__group-header-text,.fd-timeline__group-header--collapsed.is-hover .fd-timeline__group-header-text{color:var(--sapButton_Hover_TextColor)}.fd-timeline__group-header--collapsed:active,.fd-timeline__group-header--collapsed.is-active{background:var(--sapButton_Active_Background);border-color:var(--sapButton_Active_BorderColor)}.fd-timeline__group-header--collapsed:active:after,.fd-timeline__group-header--collapsed.is-active:after{background:var(--sapButton_Active_Background);border-color:var(--sapButton_Active_BorderColor)}.fd-timeline__group-header--collapsed:active .fd-timeline__group-header-icon [class*=sap-icon],.fd-timeline__group-header--collapsed.is-active .fd-timeline__group-header-icon [class*=sap-icon],.fd-timeline__group-header--collapsed:active .fd-timeline__group-header-text,.fd-timeline__group-header--collapsed.is-active .fd-timeline__group-header-text{color:var(--sapButton_Active_TextColor)}.fd-timeline__group-header--collapsed:after{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;transform:translate(0) translateY(0) rotate(45deg);content:\"\";position:absolute;width:.4375rem;height:.4375rem;right:-.25rem;background:var(--sapButton_Background);border-top:.0625rem solid var(--sapButton_BorderColor);border-right:.0625rem solid var(--sapButton_BorderColor)}.fd-timeline__group-header--collapsed:after:before,.fd-timeline__group-header--collapsed:after:after{box-sizing:inherit;font-size:inherit}[dir=rtl] .fd-timeline__group-header--collapsed:after,.fd-timeline__group-header--collapsed[dir=rtl]:after{transform:translate(0) translateY(0) rotate(225deg);right:auto;left:-.25rem}.fd-timeline__group-header--horizontal:focus:before,.fd-timeline__group-header--horizontal.is-focus:before{right:-.1875rem;bottom:-.375rem}[dir=rtl] .fd-timeline__group-header--horizontal:focus:before,[dir=rtl] .fd-timeline__group-header--horizontal.is-focus:before,.fd-timeline__group-header--horizontal[dir=rtl]:focus:before,.fd-timeline__group-header--horizontal[dir=rtl].is-focus:before{left:-.1875rem;right:-.1875rem}.fd-timeline__group-header--horizontal:after{transform:rotate(135deg);left:1rem;bottom:-.25rem}[dir=rtl] .fd-timeline__group-header--horizontal:after,.fd-timeline__group-header--horizontal[dir=rtl]:after{left:auto;transform:rotate(135deg);right:1rem}.fd-timeline__group-header-icon{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;margin-left:.5rem;margin-right:.5rem}.fd-timeline__group-header-icon:before,.fd-timeline__group-header-icon:after{box-sizing:inherit;font-size:inherit}.fd-timeline__group-header-icon [class*=sap-icon]{color:var(--sapButton_Selected_TextColor);font-size:1rem;height:1.625rem;line-height:1.625rem}.fd-timeline__group-header-text{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;margin-right:1rem;cursor:inherit;color:var(--sapButton_Selected_TextColor)}.fd-timeline__group-header-text:before,.fd-timeline__group-header-text:after{box-sizing:inherit;font-size:inherit}[dir=rtl] .fd-timeline__group-header-text,.fd-timeline__group-header-text[dir=rtl]{margin-right:0;margin-left:1rem}.fd-timeline__node-container--horizontal{flex-direction:row}.fd-timeline__node-container--horizontal .fd-timeline__node{margin-top:0;margin-bottom:0;margin-left:.25rem;margin-right:.25rem}.fd-timeline__node-container--horizontal .fd-timeline__node--grouping{margin:0}.fd-timeline__node-container--horizontal .fd-timeline__node--icon{margin-top:0;margin-bottom:0;margin-left:.5rem;margin-right:.5rem}.fd-timeline__node{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;width:.375rem;height:.375rem;border-radius:50%;background:var(--sapContent_ForegroundBorderColor)}.fd-timeline__node:before,.fd-timeline__node:after{box-sizing:inherit;font-size:inherit}.fd-timeline__node--grouping{margin-top:0;margin-bottom:0;border:.0625rem solid var(--sapContent_ForegroundBorderColor);width:.5rem;height:.5rem;border-radius:50%;background:transparent}.fd-timeline__node--icon{margin-top:.5rem;margin-bottom:.5rem;width:auto;height:auto;border-radius:50%;background:transparent}.fd-timeline__node--icon [class*=sap-icon]{line-height:1;width:1.375rem;height:1.375rem;font-size:1.375rem;color:var(--sapContent_NonInteractiveIconColor)}.fd-timeline__group-header-bar{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;margin-right:.375rem;border:.0625rem dashed var(--sapContent_ForegroundBorderColor);flex:1}.fd-timeline__group-header-bar:before,.fd-timeline__group-header-bar:after{box-sizing:inherit;font-size:inherit}[dir=rtl] .fd-timeline__group-header-bar,.fd-timeline__group-header-bar[dir=rtl]{margin-right:0;margin-left:.375rem}.fd-timeline__connecting-line{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;border:.0625rem solid var(--sapContent_ForegroundBorderColor)}.fd-timeline__connecting-line:before,.fd-timeline__connecting-line:after{box-sizing:inherit;font-size:inherit}.fd-timeline__posts{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;list-style-type:none}.fd-timeline__posts:before,.fd-timeline__posts:after{box-sizing:inherit;font-size:inherit}.fd-timeline__post-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;flex-direction:row}.fd-timeline__post-container:before,.fd-timeline__post-container:after{box-sizing:inherit;font-size:inherit}.fd-timeline__post{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;height:auto;padding:.5rem;position:relative;border-radius:.25rem;border:.0625rem solid var(--sapGroup_ContentBorderColor);background:var(--sapGroup_ContentBackground)}.fd-timeline__post:before,.fd-timeline__post:after{box-sizing:inherit;font-size:inherit}.fd-timeline__post:after{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;content:\"\";position:absolute;width:.8rem;height:.8rem;border-top:.0625rem solid var(--sapGroup_ContentBorderColor);border-right:.0625rem solid var(--sapGroup_ContentBorderColor);background:var(--sapGroup_ContentBackground)}.fd-timeline__post:after:before,.fd-timeline__post:after:after{box-sizing:inherit;font-size:inherit}.fd-timeline__post-header-container{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;display:flex;align-items:center;margin-bottom:.5rem}.fd-timeline__post-header-container:before,.fd-timeline__post-header-container:after{box-sizing:inherit;font-size:inherit}.fd-timeline__post-header{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-timeline__post-header:before,.fd-timeline__post-header:after{box-sizing:inherit;font-size:inherit}.fd-timeline__post-header:not(:first-child){margin-left:.3125rem}[dir=rtl] .fd-timeline__post-header:not(:first-child),.fd-timeline__post-header:not(:first-child)[dir=rtl]{margin-right:.3125rem;margin-left:0}.fd-timeline__post-header-title{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;font-weight:700}.fd-timeline__post-header-title:before,.fd-timeline__post-header-title:after{box-sizing:inherit;font-size:inherit}.fd-timeline__post-header-text{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-timeline__post-header-text:before,.fd-timeline__post-header-text:after{box-sizing:inherit;font-size:inherit}.fd-timeline__post-subheader{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;margin-top:.125rem;font-size:var(--sapFontSmallSize);color:var(--sapContent_LabelColor)}.fd-timeline__post-subheader:before,.fd-timeline__post-subheader:after{box-sizing:inherit;font-size:inherit}.fd-timeline__post-content{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-timeline__post-content:before,.fd-timeline__post-content:after{box-sizing:inherit;font-size:inherit}.fd-timeline .fd-timeline__post-actions{margin-top:.5rem}.fd-timeline .fd-timeline__post-actions button:not(:first-child){margin-left:.5rem}[dir=rtl] .fd-timeline .fd-timeline__post-actions button:not(:first-child),.fd-timeline .fd-timeline__post-actions button:not(:first-child)[dir=rtl]{margin-right:.5rem;margin-left:0}.fd-timeline__post{flex-grow:1}.fd-timeline__post-subheader{display:block}.fd-timeline__post-header-title{margin-right:.3rem}.fd-timeline__node--icon{font-size:1.375rem}.fd-timeline__node--icon [class*=sap-icon]{display:flex;flex-direction:row;justify-content:center}.fd-timeline__node-container{position:absolute;height:1.5rem}.fd-timeline__node-wrapper{display:flex;flex-direction:row;position:relative;box-sizing:border-box;flex-shrink:0}.fd-timeline__list{display:flex;position:relative;flex-grow:1}.fd-timeline__connecting-line{flex-shrink:0}.fd-timeline{display:flex;justify-content:center}.fd-timeline--horizontal{flex-direction:column}.fd-timeline--horizontal .fd-timeline__node-wrapper{width:20rem}.fd-timeline--horizontal .fd-timeline__node-wrapper--icon .fd-timeline__icon-wrapper{padding-left:.25rem}[dir=rtl] .fd-timeline--horizontal .fd-timeline__node-wrapper--icon .fd-timeline__icon-wrapper,.fd-timeline--horizontal .fd-timeline__node-wrapper--icon .fd-timeline__icon-wrapper[dir=rtl]{padding-right:.25rem;padding-left:0}.fd-timeline--horizontal .fd-timeline__post{margin-right:1.25rem}[dir=rtl] .fd-timeline--horizontal .fd-timeline__post,.fd-timeline--horizontal .fd-timeline__post[dir=rtl]{margin-right:0;margin-left:1.25rem}.fd-timeline--horizontal .fd-timeline__main-line{height:1.5rem;width:100%}.fd-timeline--horizontal .fd-timeline__node-container{height:1.5rem;width:100%;display:flex;align-items:center;left:.5rem}[dir=rtl] .fd-timeline--horizontal .fd-timeline__node-container,.fd-timeline--horizontal .fd-timeline__node-container[dir=rtl]{left:auto;right:.5rem}.fd-timeline--horizontal .fd-timeline__icon-wrapper{flex:0;padding-left:.75rem;padding-right:.25rem}[dir=rtl] .fd-timeline--horizontal .fd-timeline__icon-wrapper,.fd-timeline--horizontal .fd-timeline__icon-wrapper[dir=rtl]{padding-right:.75rem;padding-left:0}[dir=rtl] .fd-timeline--horizontal .fd-timeline__icon-wrapper,.fd-timeline--horizontal .fd-timeline__icon-wrapper[dir=rtl]{padding-right:0;padding-left:.25rem}[dir=rtl] .fd-timeline--horizontal .fd-timeline__icon-wrapper,.fd-timeline--horizontal .fd-timeline__icon-wrapper[dir=rtl]{padding-left:.25rem;padding-right:.75rem}.fd-timeline--horizontal .fd-timeline__list--first{align-items:flex-end}.fd-timeline--horizontal .fd-timeline__list--first .fd-timeline__node-container{bottom:-1.5rem}.fd-timeline--horizontal .fd-timeline__list--first .fd-timeline__post{margin-bottom:1rem}.fd-timeline--horizontal .fd-timeline__list--first .fd-timeline__post:after{transform:translate(0) translateY(0) rotate(135deg);left:1rem;bottom:-.4375rem}[dir=rtl] .fd-timeline--horizontal .fd-timeline__list--first .fd-timeline__post:after,.fd-timeline--horizontal .fd-timeline__list--first .fd-timeline__post[dir=rtl]:after{left:auto;right:1rem}.fd-timeline--horizontal .fd-timeline__list--second{align-items:flex-start}.fd-timeline--horizontal .fd-timeline__list--second .fd-timeline__node-container{top:-1.5rem}.fd-timeline--horizontal .fd-timeline__list--second .fd-timeline__post{margin-top:1rem}.fd-timeline--horizontal .fd-timeline__list--second .fd-timeline__post:after{transform:translate(0) translateY(0) rotate(315deg);left:1rem;top:-.4375rem}[dir=rtl] .fd-timeline--horizontal .fd-timeline__list--second .fd-timeline__post:after,.fd-timeline--horizontal .fd-timeline__list--second .fd-timeline__post[dir=rtl]:after{left:auto;right:1rem}.fd-timeline--horizontal .fd-timeline__list--with-offset{padding-left:4.688rem}[dir=rtl] .fd-timeline--horizontal .fd-timeline__list--with-offset,.fd-timeline--horizontal .fd-timeline__list--with-offset[dir=rtl]{padding-right:4.688rem;padding-left:0}.fd-timeline--vertical{max-width:50rem;align-items:stretch}.fd-timeline--vertical .fd-timeline__node-wrapper--icon .fd-timeline__icon-wrapper{padding-top:.25rem}.fd-timeline--vertical .fd-timeline__node-wrapper--icon .fd-timeline__node--icon{margin:0}.fd-timeline--vertical .fd-timeline__post{margin-bottom:1.25rem}.fd-timeline--vertical .fd-timeline__main-line{width:1.5rem;flex:0 0 1.5rem;height:100%}.fd-timeline--vertical .fd-timeline__node-container{height:100%;flex:1 0;width:1.5rem;display:flex;flex-direction:column;align-items:center;top:.5rem}.fd-timeline--vertical .fd-timeline__icon-wrapper{flex:0;padding-top:.75rem;padding-bottom:.25rem}.fd-timeline--vertical .fd-timeline__list{flex-direction:column;flex:1 0 calc(50% - .75rem)}.fd-timeline--vertical .fd-timeline__list--first .fd-timeline__node-container{right:-1.5rem}[dir=rtl] .fd-timeline--vertical .fd-timeline__list--first .fd-timeline__node-container,.fd-timeline--vertical .fd-timeline__list--first .fd-timeline__node-container[dir=rtl]{right:auto;left:-1.5rem}.fd-timeline--vertical .fd-timeline__list--first .fd-timeline__post{margin-right:1rem}[dir=rtl] .fd-timeline--vertical .fd-timeline__list--first .fd-timeline__post,.fd-timeline--vertical .fd-timeline__list--first .fd-timeline__post[dir=rtl]{margin-right:0;margin-left:1rem}.fd-timeline--vertical .fd-timeline__list--first .fd-timeline__post:after{transform:translate(0) translateY(0) rotate(45deg);top:1rem;right:-.4375rem}[dir=rtl] .fd-timeline--vertical .fd-timeline__list--first .fd-timeline__post:after,.fd-timeline--vertical .fd-timeline__list--first .fd-timeline__post[dir=rtl]:after{transform:translate(0) translateY(0) rotate(225deg);right:auto;left:-.4375rem}.fd-timeline--vertical .fd-timeline__list--second .fd-timeline__node-container{left:-1.5rem}[dir=rtl] .fd-timeline--vertical .fd-timeline__list--second .fd-timeline__node-container,.fd-timeline--vertical .fd-timeline__list--second .fd-timeline__node-container[dir=rtl]{left:auto;right:-1.5rem}.fd-timeline--vertical .fd-timeline__list--second .fd-timeline__post{margin-left:1rem}[dir=rtl] .fd-timeline--vertical .fd-timeline__list--second .fd-timeline__post,.fd-timeline--vertical .fd-timeline__list--second .fd-timeline__post[dir=rtl]{margin-right:1rem;margin-left:0}.fd-timeline--vertical .fd-timeline__list--second .fd-timeline__post:after{transform:translate(0) translateY(0) rotate(225deg);top:1rem;left:-.4375rem}[dir=rtl] .fd-timeline--vertical .fd-timeline__list--second .fd-timeline__post:after,.fd-timeline--vertical .fd-timeline__list--second .fd-timeline__post[dir=rtl]:after{transform:translate(0) translateY(0) rotate(45deg);left:auto;right:-.4375rem}.fd-timeline--vertical .fd-timeline__list--with-offset{padding-top:1.5rem}.fd-timeline--vertical .fd-timeline__list--empty{flex:0 0 0}\n"], dependencies: [{ kind: "component", type: i3$1.SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "directive", type: i4.RepeatDirective, selector: "[fdkRepeat]", inputs: ["fdkRepeat"] }, { kind: "directive", type: TimelineFirstListOutletDirective, selector: "[fdTimelineFirstListOutlet], [fd-timeline-first-list-outlet]" }, { kind: "component", type: TimelineNodeHeaderComponent, selector: "fd-timeline-node-header" }, { kind: "component", type: TimelineNodeComponent, selector: "fd-timeline-node", inputs: ["glyph", "ariaLabel"] }, { kind: "directive", type: TimelineSecondListOutletDirective, selector: "[fdTimelineSecondListOutlet], [fd-timeline-second-list-outlet]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
443
443
  }
444
444
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: TimelineComponent, decorators: [{
445
445
  type: Component,
@@ -502,7 +502,7 @@ class TimelineNodeBodyComponent {
502
502
  });
503
503
  }
504
504
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: TimelineNodeBodyComponent, deps: [{ token: i0.NgZone }, { token: TimelinePositionControlService }], target: i0.ɵɵFactoryTarget.Component }); }
505
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: TimelineNodeBodyComponent, selector: "fd-timeline-node-body", inputs: { content: "content", maxLines: "maxLines" }, host: { classAttribute: "fd-timeline__post-content" }, ngImport: i0, template: "<fd-text\n [maxLines]=\"maxLines || 0\"\n [text]=\"content\"\n [isCollapsed]=\"!!maxLines\"\n [expandable]=\"!!maxLines\"\n (isCollapsedChange)=\"calculatePositions()\"\n></fd-text>\n", dependencies: [{ kind: "component", type: i2$2.TextComponent, selector: "fd-text", inputs: ["text", "maxLines", "whitespaces", "hyphenation", "expandable", "moreLabel", "lessLabel", "isCollapsed"], outputs: ["isCollapsedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
505
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: TimelineNodeBodyComponent, selector: "fd-timeline-node-body", inputs: { content: "content", maxLines: "maxLines" }, host: { classAttribute: "fd-timeline__post-content" }, ngImport: i0, template: "<fd-text\n [maxLines]=\"maxLines || 0\"\n [text]=\"content\"\n [isCollapsed]=\"!!maxLines\"\n [expandable]=\"!!maxLines\"\n (isCollapsedChange)=\"calculatePositions()\"\n></fd-text>\n", dependencies: [{ kind: "component", type: i2$2.TextComponent, selector: "fd-text", inputs: ["text", "maxLines", "whitespaces", "hyphenation", "expandable", "isCollapsed"], outputs: ["isCollapsedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
506
506
  }
507
507
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: TimelineNodeBodyComponent, decorators: [{
508
508
  type: Component,