@fundamental-ngx/core 0.49.1 → 0.49.2

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 (310) hide show
  1. package/avatar-group-legacy/avatar-group-legacy.component.d.ts +6 -6
  2. package/avatar-group-legacy/directives/avatar-group-legacy-overflow-body.directive.d.ts +2 -2
  3. package/avatar-group-legacy/directives/avatar-group-legacy-overflow-button.directive.d.ts +2 -2
  4. package/bar/bar.component.d.ts +6 -6
  5. package/bar/button-bar/button-bar.component.d.ts +4 -4
  6. package/calendar/calendar-header/calendar-header.component.d.ts +2 -2
  7. package/card/card-content.component.d.ts +2 -2
  8. package/card/card-counter.directive.d.ts +2 -2
  9. package/card/card-header.component.d.ts +6 -6
  10. package/card/card-loader.component.d.ts +2 -2
  11. package/card/card-second-subtitle.directive.d.ts +2 -2
  12. package/card/card-subtitle.directive.d.ts +2 -2
  13. package/card/card-title.directive.d.ts +2 -2
  14. package/card/card.component.d.ts +3 -3
  15. package/card/kpi/card-kpi-analytics-content.directive.d.ts +2 -2
  16. package/card/kpi/card-kpi-analytics-label.directive.d.ts +2 -2
  17. package/card/kpi/card-kpi-analytics.directive.d.ts +2 -2
  18. package/card/kpi/card-kpi-header.component.d.ts +2 -2
  19. package/card/kpi/card-kpi-scale-icon.directive.d.ts +2 -2
  20. package/card/kpi/card-kpi-scale-text.directive.d.ts +2 -2
  21. package/card/kpi/card-kpi-value.directive.d.ts +4 -4
  22. package/checkbox/checkbox/checkbox.component.d.ts +3 -5
  23. package/content-density/providers/url-content-density-storage.d.ts +4 -4
  24. package/content-density/services/content-density-observer.service.d.ts +15 -15
  25. package/datetime/datetime-adapter.d.ts +9 -2
  26. package/datetime/fd-date.d.ts +10 -14
  27. package/datetime/fd-datetime-adapter.d.ts +2 -2
  28. package/dialog/base/dialog-base.class.d.ts +2 -2
  29. package/dialog/base/dialog-header-base.class.d.ts +4 -4
  30. package/dialog/base/dialog-ref-base.class.d.ts +6 -4
  31. package/dynamic-side-content/dynamic-side-content.component.d.ts +4 -4
  32. package/esm2022/avatar-group-legacy/avatar-group-legacy.component.mjs +15 -15
  33. package/esm2022/avatar-group-legacy/directives/avatar-group-legacy-overflow-body.directive.mjs +12 -12
  34. package/esm2022/avatar-group-legacy/directives/avatar-group-legacy-overflow-button.directive.mjs +9 -9
  35. package/esm2022/bar/bar.component.mjs +13 -13
  36. package/esm2022/bar/button-bar/button-bar.component.mjs +3 -3
  37. package/esm2022/calendar/calendar-header/calendar-header.component.mjs +1 -1
  38. package/esm2022/card/card-content.component.mjs +5 -5
  39. package/esm2022/card/card-counter.directive.mjs +6 -6
  40. package/esm2022/card/card-header.component.mjs +5 -5
  41. package/esm2022/card/card-loader.component.mjs +5 -5
  42. package/esm2022/card/card-second-subtitle.directive.mjs +5 -5
  43. package/esm2022/card/card-subtitle.directive.mjs +5 -5
  44. package/esm2022/card/card-title.directive.mjs +5 -5
  45. package/esm2022/card/card.component.mjs +5 -5
  46. package/esm2022/card/kpi/card-kpi-analytics-content.directive.mjs +5 -5
  47. package/esm2022/card/kpi/card-kpi-analytics-label.directive.mjs +5 -5
  48. package/esm2022/card/kpi/card-kpi-analytics.directive.mjs +5 -5
  49. package/esm2022/card/kpi/card-kpi-header.component.mjs +5 -5
  50. package/esm2022/card/kpi/card-kpi-scale-icon.directive.mjs +5 -5
  51. package/esm2022/card/kpi/card-kpi-scale-text.directive.mjs +5 -5
  52. package/esm2022/card/kpi/card-kpi-value.directive.mjs +5 -5
  53. package/esm2022/checkbox/checkbox/checkbox.component.mjs +1 -1
  54. package/esm2022/combobox/combobox.component.mjs +2 -2
  55. package/esm2022/content-density/providers/url-content-density-storage.mjs +11 -11
  56. package/esm2022/content-density/services/content-density-observer.service.mjs +7 -16
  57. package/esm2022/datetime/datetime-adapter.mjs +4 -2
  58. package/esm2022/datetime/fd-date.mjs +34 -27
  59. package/esm2022/datetime/fd-datetime-adapter.mjs +1 -1
  60. package/esm2022/dialog/base/dialog-base.class.mjs +1 -1
  61. package/esm2022/dialog/base/dialog-header-base.class.mjs +1 -1
  62. package/esm2022/dialog/base/dialog-ref-base.class.mjs +4 -8
  63. package/esm2022/dynamic-side-content/dynamic-side-content.component.mjs +9 -9
  64. package/esm2022/feed-input/directives/feed-input-avatar.directive.mjs +5 -5
  65. package/esm2022/feed-list-item/components/list/feed-list.component.mjs +15 -15
  66. package/esm2022/file-uploader/directives/file-uploader-select.directive.mjs +1 -1
  67. package/esm2022/file-uploader/file-uploader.component.mjs +5 -5
  68. package/esm2022/fixed-card-layout/fixed-card-layout-item/fixed-card-layout-item.component.mjs +3 -3
  69. package/esm2022/form/form-group/form-group.component.mjs +8 -8
  70. package/esm2022/form/form-message/form-message.component.mjs +9 -9
  71. package/esm2022/grid-list/components/grid-list/grid-list.component.mjs +2 -3
  72. package/esm2022/grid-list/components/grid-list-item/grid-list-item.component.mjs +3 -3
  73. package/esm2022/illustrated-message/illustrated-message.component.mjs +10 -10
  74. package/esm2022/input-group/input-group-directives.mjs +22 -22
  75. package/esm2022/layout-grid/directives/layout-grid-col.directive.mjs +9 -9
  76. package/esm2022/layout-grid/layout-grid.component.mjs +9 -9
  77. package/esm2022/layout-panel/layout-panel-footer/layout-panel-footer.component.mjs +9 -9
  78. package/esm2022/list/list-item/list-item.component.mjs +20 -17
  79. package/esm2022/list/list-message.directive.mjs +9 -9
  80. package/esm2022/menu/directives/segmented-button/segmented-button-header.directive.mjs +1 -2
  81. package/esm2022/menu/directives/toggle-button.directive.mjs +1 -2
  82. package/esm2022/message-box/message-box.component.mjs +17 -17
  83. package/esm2022/message-page/message-page.component.mjs +5 -5
  84. package/esm2022/message-strip/alert/message-strip-alert/message-strip-alert.component.mjs +5 -5
  85. package/esm2022/message-strip/alert/message-strip-alert-container/message-strip-alert-container.component.mjs +1 -1
  86. package/esm2022/message-strip/alert/message-strip-alert.service.mjs +2 -3
  87. package/esm2022/message-strip/message-strip.component.mjs +16 -16
  88. package/esm2022/micro-process-flow/components/micro-process-flow/micro-process-flow.component.mjs +43 -45
  89. package/esm2022/micro-process-flow/components/micro-process-flow-item/micro-process-flow-item.component.mjs +1 -1
  90. package/esm2022/micro-process-flow/micro-process-flow-focusable-item.directive.mjs +13 -13
  91. package/esm2022/multi-combobox/multi-combobox.component.mjs +2 -5
  92. package/esm2022/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +1 -1
  93. package/esm2022/multi-input/multi-input.component.mjs +2 -2
  94. package/esm2022/nested-list/nested-content/nested-list-content.directive.mjs +6 -6
  95. package/esm2022/nested-list/nested-item/nested-item.directive.mjs +3 -3
  96. package/esm2022/nested-list/nested-list/nested-list.directive.mjs +3 -3
  97. package/esm2022/notification/directives/notification-indicator.directive.mjs +9 -9
  98. package/esm2022/notification/notification/notification.component.mjs +9 -9
  99. package/esm2022/notification/notification-group/notification-group.component.mjs +5 -5
  100. package/esm2022/notification/notification-service/notification.service.mjs +5 -2
  101. package/esm2022/notification/notification-utils/notification-ref.mjs +2 -5
  102. package/esm2022/object-number/object-number.component.mjs +9 -9
  103. package/esm2022/object-status/object-status.component.mjs +13 -12
  104. package/esm2022/overflow-layout/directives/overflow-expand.directive.mjs +5 -5
  105. package/esm2022/overflow-layout/directives/overflow-item-ref.directive.mjs +1 -1
  106. package/esm2022/overflow-layout/directives/overflow-layout-focusable-item.directive.mjs +5 -5
  107. package/esm2022/overflow-layout/directives/overflow-layout-item-container.directive.mjs +8 -8
  108. package/esm2022/overflow-layout/interfaces/overflow-focusable-item.interface.mjs +1 -1
  109. package/esm2022/overflow-layout/overflow-layout.component.mjs +18 -18
  110. package/esm2022/radio/radio-button/radio-button.component.mjs +8 -9
  111. package/esm2022/rating-indicator/components/rating-indicator.component.mjs +28 -28
  112. package/esm2022/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +23 -23
  113. package/esm2022/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +7 -8
  114. package/esm2022/select/select.component.mjs +18 -18
  115. package/esm2022/shared/interfaces/search-component.interface.mjs +1 -1
  116. package/esm2022/shellbar/shellbar.component.mjs +7 -7
  117. package/esm2022/side-navigation/side-navigation.component.mjs +7 -7
  118. package/esm2022/skeleton/components/skeleton.component.mjs +3 -3
  119. package/esm2022/status-indicator/status-indicator.component.mjs +15 -15
  120. package/esm2022/table/directives/table-responsive-wrapper.directive.mjs +3 -3
  121. package/esm2022/tabs/tab-item/tab-item.directive.mjs +9 -9
  122. package/esm2022/tabs/tab-link/tab-link.directive.mjs +8 -8
  123. package/esm2022/tabs/tab-nav/tab-nav.component.mjs +15 -15
  124. package/esm2022/tabs/tab-panel/tab-panel.component.mjs +3 -3
  125. package/esm2022/tabs/tab-utils/tab-directives.mjs +8 -8
  126. package/esm2022/tile/directives/tile.directives.mjs +25 -25
  127. package/esm2022/tile/tile.component.mjs +9 -11
  128. package/esm2022/time/time-column/time-column.component.mjs +23 -23
  129. package/esm2022/timeline/services/position-strategies/base-strategy.mjs +1 -1
  130. package/esm2022/timeline/timeline.component.mjs +5 -5
  131. package/esm2022/title/title.component.mjs +4 -4
  132. package/esm2022/token/tokenizer.component.mjs +71 -71
  133. package/esm2022/toolbar/toolbar.component.mjs +3 -3
  134. package/esm2022/tree/components/tree-item/tree-item.component.mjs +4 -6
  135. package/esm2022/tree/tree.component.mjs +1 -4
  136. package/esm2022/upload-collection/upload-collection-item.directive.mjs +3 -3
  137. package/esm2022/vertical-navigation/vertical-navigation.component.mjs +6 -6
  138. package/esm2022/wizard/wizard-step/wizard-step.component.mjs +3 -3
  139. package/feed-input/directives/feed-input-avatar.directive.d.ts +2 -2
  140. package/feed-list-item/components/list/feed-list.component.d.ts +6 -6
  141. package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs +33 -33
  142. package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs.map +1 -1
  143. package/fesm2022/fundamental-ngx-core-bar.mjs +14 -14
  144. package/fesm2022/fundamental-ngx-core-bar.mjs.map +1 -1
  145. package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
  146. package/fesm2022/fundamental-ngx-core-card.mjs +61 -61
  147. package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
  148. package/fesm2022/fundamental-ngx-core-checkbox.mjs.map +1 -1
  149. package/fesm2022/fundamental-ngx-core-combobox.mjs +1 -1
  150. package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
  151. package/fesm2022/fundamental-ngx-core-content-density.mjs +17 -26
  152. package/fesm2022/fundamental-ngx-core-content-density.mjs.map +1 -1
  153. package/fesm2022/fundamental-ngx-core-datetime.mjs +36 -27
  154. package/fesm2022/fundamental-ngx-core-datetime.mjs.map +1 -1
  155. package/fesm2022/fundamental-ngx-core-dialog.mjs +3 -7
  156. package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
  157. package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs +8 -8
  158. package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
  159. package/fesm2022/fundamental-ngx-core-feed-input.mjs +4 -4
  160. package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
  161. package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +14 -14
  162. package/fesm2022/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  163. package/fesm2022/fundamental-ngx-core-file-uploader.mjs +4 -4
  164. package/fesm2022/fundamental-ngx-core-file-uploader.mjs.map +1 -1
  165. package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs +2 -2
  166. package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
  167. package/fesm2022/fundamental-ngx-core-form.mjs +15 -15
  168. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  169. package/fesm2022/fundamental-ngx-core-grid-list.mjs +3 -4
  170. package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
  171. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +9 -9
  172. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  173. package/fesm2022/fundamental-ngx-core-input-group.mjs +21 -21
  174. package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
  175. package/fesm2022/fundamental-ngx-core-layout-grid.mjs +16 -16
  176. package/fesm2022/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  177. package/fesm2022/fundamental-ngx-core-layout-panel.mjs +8 -8
  178. package/fesm2022/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  179. package/fesm2022/fundamental-ngx-core-list.mjs +27 -24
  180. package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
  181. package/fesm2022/fundamental-ngx-core-menu.mjs +0 -2
  182. package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
  183. package/fesm2022/fundamental-ngx-core-message-box.mjs +16 -16
  184. package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
  185. package/fesm2022/fundamental-ngx-core-message-page.mjs +4 -4
  186. package/fesm2022/fundamental-ngx-core-message-page.mjs.map +1 -1
  187. package/fesm2022/fundamental-ngx-core-message-strip.mjs +20 -21
  188. package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
  189. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +55 -57
  190. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
  191. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +1 -4
  192. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  193. package/fesm2022/fundamental-ngx-core-multi-input.mjs +1 -1
  194. package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
  195. package/fesm2022/fundamental-ngx-core-nested-list.mjs +9 -9
  196. package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
  197. package/fesm2022/fundamental-ngx-core-notification.mjs +25 -25
  198. package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
  199. package/fesm2022/fundamental-ngx-core-object-number.mjs +8 -8
  200. package/fesm2022/fundamental-ngx-core-object-number.mjs.map +1 -1
  201. package/fesm2022/fundamental-ngx-core-object-status.mjs +12 -11
  202. package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
  203. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +32 -32
  204. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  205. package/fesm2022/fundamental-ngx-core-radio.mjs +7 -8
  206. package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
  207. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +27 -27
  208. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  209. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +28 -29
  210. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  211. package/fesm2022/fundamental-ngx-core-select.mjs +17 -17
  212. package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
  213. package/fesm2022/fundamental-ngx-core-shellbar.mjs +6 -6
  214. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  215. package/fesm2022/fundamental-ngx-core-side-navigation.mjs +6 -6
  216. package/fesm2022/fundamental-ngx-core-side-navigation.mjs.map +1 -1
  217. package/fesm2022/fundamental-ngx-core-skeleton.mjs +2 -2
  218. package/fesm2022/fundamental-ngx-core-skeleton.mjs.map +1 -1
  219. package/fesm2022/fundamental-ngx-core-status-indicator.mjs +14 -14
  220. package/fesm2022/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  221. package/fesm2022/fundamental-ngx-core-table.mjs +2 -2
  222. package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
  223. package/fesm2022/fundamental-ngx-core-tabs.mjs +38 -38
  224. package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
  225. package/fesm2022/fundamental-ngx-core-tile.mjs +32 -34
  226. package/fesm2022/fundamental-ngx-core-tile.mjs.map +1 -1
  227. package/fesm2022/fundamental-ngx-core-time.mjs +23 -23
  228. package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
  229. package/fesm2022/fundamental-ngx-core-timeline.mjs +4 -4
  230. package/fesm2022/fundamental-ngx-core-timeline.mjs.map +1 -1
  231. package/fesm2022/fundamental-ngx-core-title.mjs +3 -3
  232. package/fesm2022/fundamental-ngx-core-title.mjs.map +1 -1
  233. package/fesm2022/fundamental-ngx-core-token.mjs +70 -70
  234. package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
  235. package/fesm2022/fundamental-ngx-core-toolbar.mjs +2 -2
  236. package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
  237. package/fesm2022/fundamental-ngx-core-tree.mjs +3 -8
  238. package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
  239. package/fesm2022/fundamental-ngx-core-upload-collection.mjs +2 -2
  240. package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  241. package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs +5 -5
  242. package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
  243. package/fesm2022/fundamental-ngx-core-wizard.mjs +2 -2
  244. package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
  245. package/file-uploader/directives/file-uploader-select.directive.d.ts +1 -1
  246. package/file-uploader/file-uploader.component.d.ts +4 -4
  247. package/form/form-group/form-group.component.d.ts +4 -4
  248. package/form/form-message/form-message.component.d.ts +2 -2
  249. package/grid-list/components/grid-list/grid-list.component.d.ts +3 -2
  250. package/grid-list/components/grid-list-item/grid-list-item.component.d.ts +8 -8
  251. package/illustrated-message/illustrated-message.component.d.ts +7 -7
  252. package/input-group/input-group-directives.d.ts +12 -12
  253. package/layout-grid/directives/layout-grid-col.directive.d.ts +2 -2
  254. package/layout-grid/layout-grid.component.d.ts +2 -2
  255. package/layout-panel/layout-panel-footer/layout-panel-footer.component.d.ts +2 -2
  256. package/list/list-item/list-item.component.d.ts +13 -13
  257. package/list/list-message.directive.d.ts +4 -4
  258. package/message-box/message-box.component.d.ts +5 -5
  259. package/message-page/message-page.component.d.ts +2 -2
  260. package/message-strip/alert/message-strip-alert/message-strip-alert.component.d.ts +4 -4
  261. package/message-strip/alert/message-strip-alert-container/message-strip-alert-container.component.d.ts +4 -4
  262. package/message-strip/alert/message-strip-alert.service.d.ts +3 -2
  263. package/message-strip/message-strip.component.d.ts +6 -6
  264. package/micro-process-flow/components/micro-process-flow/micro-process-flow.component.d.ts +15 -17
  265. package/micro-process-flow/components/micro-process-flow-item/micro-process-flow-item.component.d.ts +2 -2
  266. package/micro-process-flow/micro-process-flow-focusable-item.directive.d.ts +6 -6
  267. package/multi-input/multi-input-mobile/multi-input-mobile.component.d.ts +2 -2
  268. package/nested-list/nested-content/nested-list-content.directive.d.ts +2 -2
  269. package/nested-list/nested-item/nested-item.directive.d.ts +2 -2
  270. package/nested-list/nested-list/nested-list.directive.d.ts +2 -2
  271. package/notification/directives/notification-indicator.directive.d.ts +4 -4
  272. package/notification/notification/notification.component.d.ts +2 -2
  273. package/notification/notification-group/notification-group.component.d.ts +2 -2
  274. package/notification/notification-utils/notification-ref.d.ts +5 -3
  275. package/object-number/object-number.component.d.ts +4 -4
  276. package/object-status/object-status.component.d.ts +5 -4
  277. package/overflow-layout/directives/overflow-expand.directive.d.ts +2 -2
  278. package/overflow-layout/directives/overflow-item-ref.directive.d.ts +2 -2
  279. package/overflow-layout/directives/overflow-layout-focusable-item.directive.d.ts +2 -2
  280. package/overflow-layout/directives/overflow-layout-item-container.directive.d.ts +2 -2
  281. package/overflow-layout/interfaces/overflow-focusable-item.interface.d.ts +1 -1
  282. package/overflow-layout/overflow-layout.component.d.ts +4 -4
  283. package/package.json +3 -3
  284. package/radio/radio-button/radio-button.component.d.ts +7 -7
  285. package/rating-indicator/components/rating-indicator.component.d.ts +12 -12
  286. package/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.d.ts +8 -8
  287. package/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.d.ts +2 -2
  288. package/select/select.component.d.ts +19 -19
  289. package/shared/interfaces/search-component.interface.d.ts +1 -1
  290. package/shellbar/shellbar.component.d.ts +12 -12
  291. package/side-navigation/side-navigation.component.d.ts +2 -2
  292. package/skeleton/components/skeleton.component.d.ts +2 -2
  293. package/status-indicator/status-indicator.component.d.ts +7 -7
  294. package/tabs/tab-item/tab-item.directive.d.ts +2 -2
  295. package/tabs/tab-link/tab-link.directive.d.ts +2 -2
  296. package/tabs/tab-nav/tab-nav.component.d.ts +8 -8
  297. package/tabs/tab-panel/tab-panel.component.d.ts +2 -2
  298. package/tabs/tab-utils/tab-directives.d.ts +5 -5
  299. package/tile/directives/tile.directives.d.ts +12 -12
  300. package/tile/tile.component.d.ts +4 -6
  301. package/time/time-column/time-column.component.d.ts +6 -6
  302. package/timeline/services/position-strategies/base-strategy.d.ts +2 -2
  303. package/timeline/timeline.component.d.ts +2 -2
  304. package/title/title.component.d.ts +2 -2
  305. package/token/tokenizer.component.d.ts +16 -16
  306. package/toolbar/toolbar.component.d.ts +2 -2
  307. package/tree/components/tree-item/tree-item.component.d.ts +10 -9
  308. package/upload-collection/upload-collection-item.directive.d.ts +2 -2
  309. package/vertical-navigation/vertical-navigation.component.d.ts +2 -2
  310. package/wizard/wizard-step/wizard-step.component.d.ts +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-radio.mjs","sources":["../../../../libs/core/radio/tokens.ts","../../../../libs/core/radio/radio-button/radio-button.component.ts","../../../../libs/core/radio/radio-button/radio-button.component.html","../../../../libs/core/radio/radio.module.ts","../../../../libs/core/radio/fundamental-ngx-core-radio.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FD_RADIO_BUTTON_COMPONENT = new InjectionToken('FdRadioButtonComponent');\n","import { coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n Input,\n OnChanges,\n OnDestroy,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { applyCssClass, CssClassBuilder, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { FormItemControl, registerFormItemControl } from '@fundamental-ngx/core/form';\nimport { Subscription } from 'rxjs';\nimport { FD_RADIO_BUTTON_COMPONENT } from '../tokens';\n\nexport type stateType = 'success' | 'error' | 'warning' | 'default' | 'information';\nlet uniqueId = 0;\n\n@Component({\n selector: 'fd-radio-button',\n templateUrl: './radio-button.component.html',\n styleUrl: './radio-button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioButtonComponent),\n multi: true\n },\n {\n provide: FD_RADIO_BUTTON_COMPONENT,\n useExisting: RadioButtonComponent\n },\n registerFormItemControl(RadioButtonComponent),\n contentDensityObserverProviders()\n ],\n host: {\n '(focusout)': 'onTouched()'\n },\n standalone: true,\n imports: [FormsModule]\n})\nexport class RadioButtonComponent<T = any>\n implements OnChanges, AfterViewInit, CssClassBuilder, ControlValueAccessor, OnDestroy, FormItemControl\n{\n /** @hidden */\n @ViewChild('inputElement')\n inputElement: ElementRef<HTMLInputElement>;\n\n /** Sets the `aria-label` attribute to the element. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Sets the `aria-labelledby` attribute to the element. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** Sets the `aria-describedby` attribute to the element. */\n @Input()\n ariaDescribedBy: Nullable<string>;\n\n /** sets radio tooltip */\n @Input()\n title: string;\n\n /**\n * Includes the radio in the page tab sequence.\n */\n @Input()\n set tabIndex(value: NumberInput) {\n this._tabIndex = coerceNumberProperty(value);\n }\n\n get tabIndex(): NumberInput {\n return this._tabIndex;\n }\n\n /** @hidden */\n private _tabIndex: number;\n\n /** The field to set state of radio button using:\n * 'success' | 'error' | 'warning' | 'default' | 'information'\n * by default value is set to 'default'\n */\n @Input()\n state?: stateType = 'default';\n\n /** The field is used to tell if radio button should be disabled\n * Value: true or false\n * by default disabled state is set to false\n */\n @Input()\n disabled = false;\n\n /** The field should be only used with reactive forms\n * Its purpose is to pass a current selected value from froumGroup\n * The field is mandatory when working with reactive forms\n */\n @Input()\n set selectedValue(val: T) {\n this.currentValue = val;\n this._setNativeElementCheckedState();\n }\n\n /** The name of the radio button\n * The field is mandatory\n */\n @Input()\n name: string;\n\n /**\n * uniqueId to a radio button\n */\n @Input()\n id = `radio-id-${uniqueId++}`;\n\n /** Value field stores information about holding value by radio button\n * The field is mandatory\n */\n @Input()\n value: T;\n\n /** If it is a mandatory field */\n @Input()\n required = false;\n\n /** Whether the control is a standalone. */\n @Input()\n standalone = false;\n\n /** Whether the radio button is checked. */\n get checked(): boolean {\n if (this.value === undefined) {\n return false;\n }\n return this.currentValue === this.value;\n }\n\n /** @hidden */\n class: string;\n\n /** @hidden */\n currentValue: T;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n private changeDetectionRef: ChangeDetectorRef,\n readonly _contentDensityObserver: ContentDensityObserver\n ) {}\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n this._checkMandatoryFields();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this.buildComponentCssClass();\n this._checkMandatoryFields();\n }\n\n // ControlValueAccessor implementation\n /** @hidden */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onChange = (value: T): void => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n registerOnChange(fn: (value: T) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.changeDetectionRef.detectChanges();\n }\n\n /** @hidden */\n writeValue(value: T): void {\n this.valueChange(value, false);\n }\n\n // End implementation\n\n /** This method is responsible for building a css class based on current state\n * It is implementation of CssClassBuilder interface and\n * should be used with @applyCssClass decorator\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return ['fd-radio', this.state !== 'default' ? `is-${this.state}` : ''];\n }\n\n /** @hidden */\n get elementRef(): ElementRef {\n return this.inputElement;\n }\n\n /** @hidden */\n labelClicked(event: MouseEvent | KeyboardEvent, applyFocus = true): void {\n this.valueChange(this.value);\n\n if (applyFocus) {\n this._setFocusOnNativeElement();\n }\n\n event.stopPropagation();\n }\n\n /** @hidden */\n valueChange(value: T, emitEvent = true): void {\n this.currentValue = value;\n\n this._setNativeElementCheckedState();\n\n this.changeDetectionRef.detectChanges();\n if (emitEvent) {\n this.onChange(value);\n }\n }\n\n /** @hidden */\n private _checkMandatoryFields(): void {\n if (this.standalone) {\n return;\n }\n if (this.name === undefined) {\n throw new Error('name field is required');\n }\n if (this.value === undefined) {\n throw new Error('value field is required');\n }\n }\n\n /** @hidden */\n private _setFocusOnNativeElement(): void {\n if (this.inputElement) {\n this.inputElement.nativeElement.focus();\n }\n }\n\n /** @hidden */\n private _setNativeElementCheckedState(): void {\n if (this.inputElement) {\n this.inputElement.nativeElement.checked = this.checked;\n }\n }\n}\n","<input\n type=\"radio\"\n class=\"fd-radio\"\n [class.is-compact]=\"_contentDensityObserver.isCompactSignal()\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [attr.name]=\"name\"\n [name]=\"name\"\n [attr.tabindex]=\"tabIndex\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-required]=\"required\"\n [ngModel]=\"currentValue\"\n (ngModelChange)=\"valueChange($event)\"\n [ngModelOptions]=\"{ standalone: standalone }\"\n #inputElement\n [value]=\"value\"\n [attr.value]=\"value\"\n/>\n<label class=\"fd-radio__label\" [attr.title]=\"title\" [for]=\"id\" (click)=\"labelClicked($event)\">\n <span class=\"fd-radio__text\">\n <ng-content></ng-content>\n </span>\n</label>\n","import { NgModule } from '@angular/core';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { RadioButtonComponent } from './radio-button/radio-button.component';\n\n/**\n * @deprecated\n * Use direct import of `RadioButtonComponent`.\n */\n@NgModule({\n exports: [RadioButtonComponent, ContentDensityModule],\n imports: [RadioButtonComponent, ContentDensityModule]\n})\nexport class RadioModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-radio.mjs","sources":["../../../../libs/core/radio/tokens.ts","../../../../libs/core/radio/radio-button/radio-button.component.ts","../../../../libs/core/radio/radio-button/radio-button.component.html","../../../../libs/core/radio/radio.module.ts","../../../../libs/core/radio/fundamental-ngx-core-radio.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FD_RADIO_BUTTON_COMPONENT = new InjectionToken('FdRadioButtonComponent');\n","import { coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n Input,\n OnChanges,\n OnDestroy,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { applyCssClass, CssClassBuilder, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { FormItemControl, registerFormItemControl } from '@fundamental-ngx/core/form';\nimport { Subscription } from 'rxjs';\nimport { FD_RADIO_BUTTON_COMPONENT } from '../tokens';\n\nexport type stateType = 'success' | 'error' | 'warning' | 'default' | 'information';\nlet uniqueId = 0;\n\n@Component({\n selector: 'fd-radio-button',\n templateUrl: './radio-button.component.html',\n styleUrl: './radio-button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioButtonComponent),\n multi: true\n },\n {\n provide: FD_RADIO_BUTTON_COMPONENT,\n useExisting: RadioButtonComponent\n },\n registerFormItemControl(RadioButtonComponent),\n contentDensityObserverProviders()\n ],\n host: {\n '(focusout)': 'onTouched()'\n },\n standalone: true,\n imports: [FormsModule]\n})\nexport class RadioButtonComponent<T = any>\n implements OnChanges, AfterViewInit, CssClassBuilder, ControlValueAccessor, OnDestroy, FormItemControl\n{\n /** @hidden */\n @ViewChild('inputElement')\n inputElement: ElementRef<HTMLInputElement>;\n\n /** Sets the `aria-label` attribute to the element. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Sets the `aria-labelledby` attribute to the element. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** Sets the `aria-describedby` attribute to the element. */\n @Input()\n ariaDescribedBy: Nullable<string>;\n\n /** sets radio tooltip */\n @Input()\n title: string;\n\n /**\n * Includes the radio in the page tab sequence.\n */\n @Input()\n set tabIndex(value: NumberInput) {\n this._tabIndex = coerceNumberProperty(value);\n }\n\n get tabIndex(): NumberInput {\n return this._tabIndex;\n }\n\n /** The field to set state of radio button using:\n * 'success' | 'error' | 'warning' | 'default' | 'information'\n * by default value is set to 'default'\n */\n @Input()\n state?: stateType = 'default';\n\n /** The field is used to tell if radio button should be disabled\n * Value: true or false\n * by default disabled state is set to false\n */\n @Input()\n disabled = false;\n\n /** The field should be only used with reactive forms\n * Its purpose is to pass a current selected value from froumGroup\n * The field is mandatory when working with reactive forms\n */\n @Input()\n set selectedValue(val: T) {\n this.currentValue = val;\n this._setNativeElementCheckedState();\n }\n\n /** The name of the radio button\n * The field is mandatory\n */\n @Input()\n name: string;\n\n /**\n * uniqueId to a radio button\n */\n @Input()\n id = `radio-id-${uniqueId++}`;\n\n /** Value field stores information about holding value by radio button\n * The field is mandatory\n */\n @Input()\n value: T;\n\n /** If it is a mandatory field */\n @Input()\n required = false;\n\n /** Whether the control is a standalone. */\n @Input()\n standalone = false;\n\n /** Whether the radio button is checked. */\n get checked(): boolean {\n if (this.value === undefined) {\n return false;\n }\n return this.currentValue === this.value;\n }\n\n /** @hidden */\n class: string;\n\n /** @hidden */\n currentValue: T;\n\n /** @hidden */\n private _tabIndex: number;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n private changeDetectionRef: ChangeDetectorRef,\n readonly _contentDensityObserver: ContentDensityObserver\n ) {}\n\n /** This method is responsible for building a css class based on current state\n * It is implementation of CssClassBuilder interface and\n * should be used with @applyCssClass decorator\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return ['fd-radio', this.state !== 'default' ? `is-${this.state}` : ''];\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n this._checkMandatoryFields();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this.buildComponentCssClass();\n this._checkMandatoryFields();\n }\n\n /** @hidden */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onChange = (value: T): void => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n registerOnChange(fn: (value: T) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.changeDetectionRef.detectChanges();\n }\n\n /** @hidden */\n writeValue(value: T): void {\n this.valueChange(value, false);\n }\n\n // End implementation\n\n /** @hidden */\n get elementRef(): ElementRef {\n return this.inputElement;\n }\n\n /** @hidden */\n labelClicked(event: MouseEvent | KeyboardEvent, applyFocus = true): void {\n this.valueChange(this.value);\n\n if (applyFocus) {\n this._setFocusOnNativeElement();\n }\n\n event.stopPropagation();\n }\n\n /** @hidden */\n valueChange(value: T, emitEvent = true): void {\n this.currentValue = value;\n\n this._setNativeElementCheckedState();\n\n this.changeDetectionRef.detectChanges();\n if (emitEvent) {\n this.onChange(value);\n }\n }\n\n /** @hidden */\n private _checkMandatoryFields(): void {\n if (this.standalone) {\n return;\n }\n if (this.name === undefined) {\n throw new Error('name field is required');\n }\n if (this.value === undefined) {\n throw new Error('value field is required');\n }\n }\n\n /** @hidden */\n private _setFocusOnNativeElement(): void {\n if (this.inputElement) {\n this.inputElement.nativeElement.focus();\n }\n }\n\n /** @hidden */\n private _setNativeElementCheckedState(): void {\n if (this.inputElement) {\n this.inputElement.nativeElement.checked = this.checked;\n }\n }\n}\n","<input\n type=\"radio\"\n class=\"fd-radio\"\n [class.is-compact]=\"_contentDensityObserver.isCompactSignal()\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [attr.name]=\"name\"\n [name]=\"name\"\n [attr.tabindex]=\"tabIndex\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-required]=\"required\"\n [ngModel]=\"currentValue\"\n (ngModelChange)=\"valueChange($event)\"\n [ngModelOptions]=\"{ standalone: standalone }\"\n #inputElement\n [value]=\"value\"\n [attr.value]=\"value\"\n/>\n<label class=\"fd-radio__label\" [attr.title]=\"title\" [for]=\"id\" (click)=\"labelClicked($event)\">\n <span class=\"fd-radio__text\">\n <ng-content></ng-content>\n </span>\n</label>\n","import { NgModule } from '@angular/core';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { RadioButtonComponent } from './radio-button/radio-button.component';\n\n/**\n * @deprecated\n * Use direct import of `RadioButtonComponent`.\n */\n@NgModule({\n exports: [RadioButtonComponent, ContentDensityModule],\n imports: [RadioButtonComponent, ContentDensityModule]\n})\nexport class RadioModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -55,6 +55,18 @@ class RatingIndicatorComponent {
55
55
  this._indicatorCapacity = val < 1 ? INDICATOR_DEFAULT_CAPACITY : val;
56
56
  }
57
57
  /** @hidden */
58
+ get viewRatingUID() {
59
+ return this._ratingUID;
60
+ }
61
+ /** @hidden */
62
+ get indicatorCount() {
63
+ return this._indicatorCapacity;
64
+ }
65
+ /** @hidden */
66
+ get viewValue() {
67
+ return this._value;
68
+ }
69
+ /** @hidden */
58
70
  constructor(elementRef, _changeDetectorRef) {
59
71
  this.elementRef = elementRef;
60
72
  this._changeDetectorRef = _changeDetectorRef;
@@ -115,17 +127,21 @@ class RatingIndicatorComponent {
115
127
  /** @hidden */
116
128
  this.onTouched = () => { };
117
129
  }
118
- /** @hidden */
119
- get viewRatingUID() {
120
- return this._ratingUID;
121
- }
122
- /** @hidden */
123
- get indicatorCount() {
124
- return this._indicatorCapacity;
125
- }
126
- /** @hidden */
127
- get viewValue() {
128
- return this._value;
130
+ /** @hidden
131
+ * CssClassBuilder interface implementation
132
+ * function must return single string
133
+ * function is responsible for order which css classes are applied
134
+ */
135
+ buildComponentCssClass() {
136
+ this.sizeClass = this._getSizeClass(this.size);
137
+ return [
138
+ INDICATOR_PREFIX,
139
+ this.sizeClass,
140
+ this.allowHalves ? INDICATOR_CLASSES.halves : '',
141
+ !!this.ratedIcon && !!this.unratedIcon ? INDICATOR_CLASSES.icon : '',
142
+ this._hideDynamicText || !this._value ? INDICATOR_CLASSES.hideDynamicText : '',
143
+ this.class
144
+ ];
129
145
  }
130
146
  /** @hidden */
131
147
  ngOnInit() {
@@ -181,22 +197,6 @@ class RatingIndicatorComponent {
181
197
  this.onTouched();
182
198
  this.ratingChanged.emit(value);
183
199
  }
184
- /** @hidden
185
- * CssClassBuilder interface implementation
186
- * function must return single string
187
- * function is responsible for order which css classes are applied
188
- */
189
- buildComponentCssClass() {
190
- this.sizeClass = this._getSizeClass(this.size);
191
- return [
192
- INDICATOR_PREFIX,
193
- this.sizeClass,
194
- this.allowHalves ? INDICATOR_CLASSES.halves : '',
195
- !!this.ratedIcon && !!this.unratedIcon ? INDICATOR_CLASSES.icon : '',
196
- this._hideDynamicText || !this._value ? INDICATOR_CLASSES.hideDynamicText : '',
197
- this.class
198
- ];
199
- }
200
200
  /**
201
201
  * @hidden
202
202
  * Generate rating items for popover content if rating object was defined
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-rating-indicator.mjs","sources":["../../../../libs/core/rating-indicator/constants.ts","../../../../libs/core/rating-indicator/pipes/rating-star-label.pipe.ts","../../../../libs/core/rating-indicator/components/rating-indicator.component.ts","../../../../libs/core/rating-indicator/components/rating-indicator.component.html","../../../../libs/core/rating-indicator/rating-indicator.module.ts","../../../../libs/core/rating-indicator/fundamental-ngx-core-rating-indicator.ts"],"sourcesContent":["export const INDICATOR_PREFIX = 'fd-rating-indicator';\n\nexport const INDICATOR_CLASSES = {\n halves: `${INDICATOR_PREFIX}--half-star`,\n icon: `${INDICATOR_PREFIX}--icon`,\n hideDynamicText: `${INDICATOR_PREFIX}--hide-dynamic-text`\n};\nexport const INDICATOR_DEFAULT_CAPACITY = 5;\n\nexport type RatingIndicatorSize = 'xs' | 'sm' | 'md' | 'lg' | 'cozy' | 'compact' | 'condensed';\nexport enum RatingIndicatorSizeEnum {\n 'xs',\n 'sm',\n 'md',\n 'lg',\n 'cozy',\n 'compact',\n 'condensed'\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'ratingStarLabel',\n standalone: true\n})\nexport class RatingStarLabelPipe implements PipeTransform {\n /** Transforms the value to a rating value string. */\n transform(index: number, controlsCount: number, useHalves: boolean): string {\n if (useHalves) {\n return `${index / 2 + 0.5} of ${controlsCount / 2}`;\n }\n return `${index + 1} of ${controlsCount}`;\n }\n}\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewEncapsulation,\n forwardRef\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { CssClassBuilder, Nullable, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { FormItemControl, registerFormItemControl } from '@fundamental-ngx/core/form';\nimport { PopoverComponent, PopoverTriggerDirective } from '@fundamental-ngx/core/popover';\nimport {\n INDICATOR_CLASSES,\n INDICATOR_DEFAULT_CAPACITY,\n INDICATOR_PREFIX,\n RatingIndicatorSize,\n RatingIndicatorSizeEnum\n} from '../constants';\nimport { RatingStarLabelPipe } from '../pipes/rating-star-label.pipe';\n\nlet ratingUID = 0;\n\ninterface NumberKey<T> {\n [key: number]: T;\n}\n\ninterface RatingViewItem {\n rate: number;\n votes: number;\n}\n\n@Component({\n selector: 'fd-rating-indicator',\n templateUrl: './rating-indicator.component.html',\n styleUrl: './rating-indicator.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RatingIndicatorComponent),\n multi: true\n },\n registerFormItemControl(RatingIndicatorComponent)\n ],\n standalone: true,\n imports: [NgTemplateOutlet, PopoverTriggerDirective, PopoverComponent, RatingStarLabelPipe]\n})\nexport class RatingIndicatorComponent\n implements OnInit, OnChanges, CssClassBuilder, ControlValueAccessor, FormItemControl\n{\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Sets [name] attribute of input. */\n @Input()\n name: string;\n\n /**\n * Sets the aria-label attribute to the element.\n */\n @Input()\n @HostBinding('attr.aria-label')\n ariaLabel: Nullable<string>;\n\n /**\n * Sets the aria-labelledby attribute to the element.\n */\n @Input()\n @HostBinding('attr.aria-label')\n ariaLabelledBy: Nullable<string>;\n\n /**\n * Sets the aria-disabled attribute to the element.\n * Sets the is-disabled class to the element.\n * Whether the rating indicator is disabled\n */\n @Input()\n @HostBinding('class.is-disabled')\n @HostBinding('attr.aria-disabled')\n disabled = false;\n\n /**\n * Whether the rating indicator is in displayMode\n */\n @Input()\n @HostBinding('class.fd-rating-indicator--display-mode')\n displayMode = false;\n\n /**\n * Whether the rating indicator is in non-interactive state.\n */\n @Input()\n @HostBinding('class.fd-rating-indicator--non-interactive')\n nonInteractive = false;\n\n /**\n * Number of rates to display\n */\n @Input()\n set indicatorCapacity(value: number) {\n const val = coerceNumberProperty(value, INDICATOR_DEFAULT_CAPACITY);\n this._indicatorCapacity = val < 1 ? INDICATOR_DEFAULT_CAPACITY : val;\n }\n\n /**\n * Whether or not to display half values.\n */\n @Input()\n allowHalves = false;\n\n /**\n * User's value number of ratings. If provided, Overrides ratingAverage.\n */\n @Input()\n value = 0;\n\n /**\n * Total number of ratings. If provided, will display text showing the total number of ratings.\n */\n @Input()\n totalRatings: number;\n\n /**\n * Rating average\n */\n @Input()\n ratingAverage: number;\n\n /**\n * Object containing key-value pairs where the key is the rating and the value is the total sum of those ratings.\n * Overrides totalRatings and ratingAverage.\n */\n @Input()\n ratings: NumberKey<number>;\n\n /**\n * Whether or not to display the popover that shows the sum of each rating. Requires [ratings] object.\n */\n @Input()\n displayAllRatings = false;\n\n /**\n * Icon class for rated icon from fundamental-styles lib https://sap.github.io/fundamental-styles/?path=/docs/components-icon--sizes\n */\n @Input()\n ratedIcon: string;\n /**\n * Icon class for unrated icon from fundamental-styles lib https://sap.github.io/fundamental-styles/?path=/docs/components-icon--sizes\n */\n @Input()\n unratedIcon: string;\n\n /**\n * Possible values are 'xs', 'sm', 'md', 'lg', 'cozy', 'compact', 'condensed'\n */\n @Input()\n size: RatingIndicatorSize = 'md';\n\n /**\n * Text divider label between view value and indicator count.\n */\n @Input()\n dynamicTextIndicator = 'of';\n\n /**\n * Fired when the user sets or changes their rating.\n */\n @Output()\n ratingChanged = new EventEmitter<number>();\n\n /** @hidden */\n sizeClass = this._getSizeClass(this.size);\n /** @hidden */\n _rates: { id: string; value: number }[] = [];\n /** @hidden */\n _ratingItems: RatingViewItem[] = [];\n\n /** @hidden */\n private _ratingUID = ratingUID++;\n /** @hidden */\n private _indicatorCapacity = INDICATOR_DEFAULT_CAPACITY;\n /** @hidden */\n private _value = 0;\n /** @hidden */\n private _hideDynamicText = false;\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n private readonly _changeDetectorRef: ChangeDetectorRef\n ) {}\n /** @hidden */\n get viewRatingUID(): number {\n return this._ratingUID;\n }\n /** @hidden */\n get indicatorCount(): number {\n return this._indicatorCapacity;\n }\n /** @hidden */\n get viewValue(): number {\n return this._value;\n }\n\n /** @hidden */\n onChange: (value: number) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n ngOnInit(): void {\n this._value = this._convertToValue();\n this._rates = this._getRates();\n this.buildComponentCssClass();\n this._generateRatings();\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if (\n 'class' in changes ||\n 'size' in changes ||\n 'ratedIcon' in changes ||\n 'unratedIcon' in changes ||\n 'allowHalves' in changes\n ) {\n this.buildComponentCssClass();\n }\n if ('value' in changes) {\n this._value = this._convertToValue();\n }\n if ('indicatorCapacity' in changes) {\n this._rates = this._getRates();\n }\n if ('allowHalves' in changes) {\n this._value = this._convertToValue();\n this._rates = this._getRates();\n }\n\n if ('ratings' in changes) {\n this._generateRatings();\n }\n }\n\n /** @hidden */\n writeValue(value: number): void {\n this._value = this._parseValue(value);\n this._changeDetectorRef.markForCheck();\n }\n\n /** @hidden */\n registerOnChange(fn: (value: number) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** @hidden */\n onSelect(value: number): void {\n this.value = this._value = value;\n this.onChange(value);\n this.onTouched();\n this.ratingChanged.emit(value);\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n this.sizeClass = this._getSizeClass(this.size);\n\n return [\n INDICATOR_PREFIX,\n this.sizeClass,\n this.allowHalves ? INDICATOR_CLASSES.halves : '',\n !!this.ratedIcon && !!this.unratedIcon ? INDICATOR_CLASSES.icon : '',\n this._hideDynamicText || !this._value ? INDICATOR_CLASSES.hideDynamicText : '',\n this.class\n ];\n }\n\n /**\n * @hidden\n * Generate rating items for popover content if rating object was defined\n */\n private _generateRatings(): void {\n if (!this.ratings) {\n return;\n }\n const ratings = Object.entries(this.ratings)\n .filter(([rate, vote]) => {\n const _rate = +rate;\n return !isNaN(_rate) && !isNaN(+vote) && _rate > 0;\n })\n .map(([rate, votes]) => ({ rate: +rate, votes }));\n if (ratings.length === 0) {\n return;\n }\n const { totalVotes, totalRating } = ratings.reduce(\n (total, rating) => ({\n totalVotes: total.totalVotes + rating.votes,\n totalRating: total.totalRating + rating.rate * rating.votes\n }),\n { totalVotes: 0, totalRating: 0 }\n );\n\n this._ratingItems = ratings;\n this.ratingAverage = totalRating / totalVotes;\n this.totalRatings = totalVotes;\n this._value = this._convertToValue();\n }\n /**\n * @hidden\n * get converted viewValue for render in component template from original value if it still exists, or ratingAverage.\n */\n private _convertToValue(): number {\n return this._parseValue(this.value || this.ratingAverage);\n }\n /**\n * @hidden\n * get converted value from original to view value with depends on halves\n * For example,\n * original value is equal to 2.34, you will get and render 2\n * original value is equal to 3.74, you will get and render 4\n */\n private _parseValue(value: number): number {\n if (!value || value === 0) {\n return 0;\n }\n const integer = Math.floor(value);\n const fractional = value % 1;\n let v = integer;\n\n if (this.allowHalves && fractional > 0.25 && fractional <= 0.5) {\n v = integer + 0.5;\n } else if (fractional > 0.5) {\n v = integer + 1;\n }\n\n return Math.min(this.indicatorCount, v);\n }\n /**\n * @hidden\n * get rating icons array with value and unic id\n */\n private _getRates(): { id: string; value: number }[] {\n const withHalves = this.allowHalves ? 2 : 1;\n return Array(this.indicatorCount * withHalves)\n .fill(`rating-${this._ratingUID}`)\n .map((name, index) => ({\n id: `${name}-${index + 1}`,\n value: (index + 1) / withHalves\n }));\n }\n\n /**\n * @hidden\n * get rating icons array with value and unic id\n */\n private _getSizeClass(size: RatingIndicatorSize): string {\n return `${INDICATOR_PREFIX}--${size in RatingIndicatorSizeEnum ? size : 'md'}`;\n }\n}\n","<ng-template #zeroRate let-halves=\"halves\">\n <input\n aria-label=\"Reset to zero\"\n role=\"button\"\n type=\"radio\"\n class=\"fd-rating-indicator__input fd-rating-indicator__input--zero-rating\"\n (click)=\"onSelect(0)\"\n [disabled]=\"disabled || nonInteractive || displayMode\"\n name=\"rating-{{ viewRatingUID }}{{ halves ? '-halves' : '' }}\"\n [checked]=\"viewValue === 0\"\n />\n <label class=\"fd-rating-indicator__label fd-rating-indicator__label--zero-rating\" aria-hidden=\"true\"></label>\n</ng-template>\n<!-- role=\"application\" is used in order to let user to change value with left/right arrows in JAWS, since JAWS ovverrides these actions -->\n<div class=\"fd-rating-indicator__container\" role=\"application\" aria-roledescription=\"Rating indicator\">\n <!-- Zero value if we don't have provided value from user, `ratingAverage` or `ratings` -->\n <ng-template [ngTemplateOutlet]=\"zeroRate\"></ng-template>\n <!-- Available rate values -->\n @for (rate of _rates; track rate.id; let i = $index) {\n <input\n [attr.aria-label]=\"i | ratingStarLabel: _rates.length : allowHalves\"\n role=\"button\"\n type=\"radio\"\n class=\"fd-rating-indicator__input\"\n [disabled]=\"disabled || nonInteractive || displayMode\"\n [id]=\"rate.id\"\n name=\"rating-{{ viewRatingUID }}\"\n [value]=\"rate.value\"\n [checked]=\"viewValue === rate.value\"\n (click)=\"onSelect(rate.value)\"\n />\n <label class=\"fd-rating-indicator__label\" [for]=\"rate.id\" aria-hidden=\"true\">\n @if (ratedIcon) {\n <i class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n }\n @if (unratedIcon) {\n <i class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n }\n </label>\n }\n</div>\n<!-- Popover if displayAllRatings is true and we have ratings object -->\n@if (displayAllRatings && _ratingItems.length) {\n <span [fdPopoverTrigger]=\"allRatingContent\" class=\"fd-rating-indicator__dynamic-text\">\n (<span aria-label=\"Total raiting\" fd-link>{{ totalRatings }}</span\n >)\n </span>\n} @else {\n @if (totalRatings) {\n <span class=\"fd-rating-indicator__dynamic-text\">({{ totalRatings }})</span>\n } @else {\n <span class=\"fd-rating-indicator__dynamic-text\"\n >({{ viewValue }} {{ dynamicTextIndicator }} {{ indicatorCount }})</span\n >\n }\n}\n<fd-popover\n #allRatingContent\n [triggers]=\"['mouseenter', 'mouseleave']\"\n [noArrow]=\"false\"\n placement=\"top\"\n additionalBodyClass=\"fd-rating-indicator__popover\"\n>\n @for (rating of _ratingItems; track rating) {\n <div class=\"fd-rating-indicator__sum-row\" [class]=\"sizeClass\">\n <div class=\"fd-rating-indicator__container\">\n @for (rate of _rates; track rate.id) {\n <span\n [class.fd-rating-indicator__input-checked]=\"rate.value === rating.rate\"\n class=\"fd-rating-indicator__input\"\n ></span>\n <label class=\"fd-rating-indicator__label\">\n @if (ratedIcon) {\n <i class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n }\n @if (unratedIcon) {\n <i class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n }\n </label>\n }\n </div>\n ({{ rating.votes }})\n </div>\n }\n</fd-popover>\n","import { NgModule } from '@angular/core';\n\nimport { RatingIndicatorComponent } from './components/rating-indicator.component';\nimport { RatingStarLabelPipe } from './pipes/rating-star-label.pipe';\n\n/**\n * @deprecated\n * Use direct import of `RatingIndicatorComponent`\n */\n@NgModule({\n imports: [RatingIndicatorComponent, RatingStarLabelPipe],\n exports: [RatingIndicatorComponent, RatingStarLabelPipe]\n})\nexport class RatingIndicatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAAO,MAAM,gBAAgB,GAAG,sBAAsB;AAEzC,MAAA,iBAAiB,GAAG;IAC7B,MAAM,EAAE,CAAG,EAAA,gBAAgB,CAAa,WAAA,CAAA;IACxC,IAAI,EAAE,CAAG,EAAA,gBAAgB,CAAQ,MAAA,CAAA;IACjC,eAAe,EAAE,CAAG,EAAA,gBAAgB,CAAqB,mBAAA,CAAA;EAC3D;AACK,MAAM,0BAA0B,GAAG,EAAE;IAGhC,wBAQX;AARD,CAAA,UAAY,uBAAuB,EAAA;AAC/B,IAAA,uBAAA,CAAA,uBAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAI,CAAA;AACJ,IAAA,uBAAA,CAAA,uBAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAI,CAAA;AACJ,IAAA,uBAAA,CAAA,uBAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAI,CAAA;AACJ,IAAA,uBAAA,CAAA,uBAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAI,CAAA;AACJ,IAAA,uBAAA,CAAA,uBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAM,CAAA;AACN,IAAA,uBAAA,CAAA,uBAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAS,CAAA;AACT,IAAA,uBAAA,CAAA,uBAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAW,CAAA;AACf,CAAC,EARW,uBAAuB,KAAvB,uBAAuB,GAQlC,EAAA,CAAA,CAAA;;MCZY,mBAAmB,CAAA;;AAE5B,IAAA,SAAS,CAAC,KAAa,EAAE,aAAqB,EAAE,SAAkB,EAAA;AAC9D,QAAA,IAAI,SAAS,EAAE;YACX,OAAO,CAAA,EAAG,KAAK,GAAG,CAAC,GAAG,GAAG,CAAA,IAAA,EAAO,aAAa,GAAG,CAAC,CAAA,CAAE,CAAC;AACvD,SAAA;AACD,QAAA,OAAO,GAAG,KAAK,GAAG,CAAC,CAAO,IAAA,EAAA,aAAa,EAAE,CAAC;KAC7C;8GAPQ,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,CAAA,EAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,iBAAiB;AACvB,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;;;AC0BD,IAAI,SAAS,GAAG,CAAC,CAAC;MA4BL,wBAAwB,CAAA;AAiDjC;;AAEG;IACH,IACI,iBAAiB,CAAC,KAAa,EAAA;QAC/B,MAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;AACpE,QAAA,IAAI,CAAC,kBAAkB,GAAG,GAAG,GAAG,CAAC,GAAG,0BAA0B,GAAG,GAAG,CAAC;KACxE;;IAqFD,WACoB,CAAA,UAAsB,EACrB,kBAAqC,EAAA;QADtC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACrB,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;AAtH1D;;;;AAIG;QAIH,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAEjB;;AAEG;QAGH,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AAEpB;;AAEG;QAGH,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;AAWvB;;AAEG;QAEH,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AAEpB;;AAEG;QAEH,IAAK,CAAA,KAAA,GAAG,CAAC,CAAC;AAqBV;;AAEG;QAEH,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;AAa1B;;AAEG;QAEH,IAAI,CAAA,IAAA,GAAwB,IAAI,CAAC;AAEjC;;AAEG;QAEH,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;AAE5B;;AAEG;AAEH,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAU,CAAC;;QAG3C,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;QAE1C,IAAM,CAAA,MAAA,GAAoC,EAAE,CAAC;;QAE7C,IAAY,CAAA,YAAA,GAAqB,EAAE,CAAC;;QAG5B,IAAU,CAAA,UAAA,GAAG,SAAS,EAAE,CAAC;;QAEzB,IAAkB,CAAA,kBAAA,GAAG,0BAA0B,CAAC;;QAEhD,IAAM,CAAA,MAAA,GAAG,CAAC,CAAC;;QAEX,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;;AAqBjC,QAAA,IAAA,CAAA,QAAQ,GAA4B,MAAK,GAAG,CAAC;;AAG7C,QAAA,IAAA,CAAA,SAAS,GAAG,MAAW,GAAG,CAAC;KAlBvB;;AAEJ,IAAA,IAAI,aAAa,GAAA;QACb,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;;AAED,IAAA,IAAI,cAAc,GAAA;QACd,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAClC;;AAED,IAAA,IAAI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;;IASD,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AACrC,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAC;KAC3B;;AAGD,IAAA,WAAW,CAAC,OAAsB,EAAA;QAC9B,IACI,OAAO,IAAI,OAAO;AAClB,YAAA,MAAM,IAAI,OAAO;AACjB,YAAA,WAAW,IAAI,OAAO;AACtB,YAAA,aAAa,IAAI,OAAO;YACxB,aAAa,IAAI,OAAO,EAC1B;YACE,IAAI,CAAC,sBAAsB,EAAE,CAAC;AACjC,SAAA;QACD,IAAI,OAAO,IAAI,OAAO,EAAE;AACpB,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AACxC,SAAA;QACD,IAAI,mBAAmB,IAAI,OAAO,EAAE;AAChC,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AAClC,SAAA;QACD,IAAI,aAAa,IAAI,OAAO,EAAE;AAC1B,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AACrC,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AAClC,SAAA;QAED,IAAI,SAAS,IAAI,OAAO,EAAE;YACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC3B,SAAA;KACJ;;AAGD,IAAA,UAAU,CAAC,KAAa,EAAA;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KAC1C;;AAGD,IAAA,gBAAgB,CAAC,EAA2B,EAAA;AACxC,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACtB;;AAGD,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACvB;;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAChC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC9B;;AAGD,IAAA,QAAQ,CAAC,KAAa,EAAA;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACjC,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAClC;AAED;;;;AAIG;IAEH,sBAAsB,GAAA;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/C,OAAO;YACH,gBAAgB;AAChB,YAAA,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC,MAAM,GAAG,EAAE;AAChD,YAAA,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC,IAAI,GAAG,EAAE;AACpE,YAAA,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAC,eAAe,GAAG,EAAE;AAC9E,YAAA,IAAI,CAAC,KAAK;SACb,CAAC;KACL;AAED;;;AAGG;IACK,gBAAgB,GAAA;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,OAAO;AACV,SAAA;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;aACvC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,KAAI;AACrB,YAAA,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC;AACpB,YAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;AACvD,SAAC,CAAC;aACD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACtD,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,OAAO;AACV,SAAA;AACD,QAAA,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,MAAM,CAC9C,CAAC,KAAK,EAAE,MAAM,MAAM;AAChB,YAAA,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK;YAC3C,WAAW,EAAE,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK;SAC9D,CAAC,EACF,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CACpC,CAAC;AAEF,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;AAC5B,QAAA,IAAI,CAAC,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC;AAC9C,QAAA,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;AAC/B,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;KACxC;AACD;;;AAGG;IACK,eAAe,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;KAC7D;AACD;;;;;;AAMG;AACK,IAAA,WAAW,CAAC,KAAa,EAAA;AAC7B,QAAA,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,CAAC,EAAE;AACvB,YAAA,OAAO,CAAC,CAAC;AACZ,SAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAClC,QAAA,MAAM,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,OAAO,CAAC;QAEhB,IAAI,IAAI,CAAC,WAAW,IAAI,UAAU,GAAG,IAAI,IAAI,UAAU,IAAI,GAAG,EAAE;AAC5D,YAAA,CAAC,GAAG,OAAO,GAAG,GAAG,CAAC;AACrB,SAAA;aAAM,IAAI,UAAU,GAAG,GAAG,EAAE;AACzB,YAAA,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;AACnB,SAAA;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;KAC3C;AACD;;;AAGG;IACK,SAAS,GAAA;AACb,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5C,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;AACzC,aAAA,IAAI,CAAC,CAAU,OAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAC;aACjC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MAAM;AACnB,YAAA,EAAE,EAAE,CAAG,EAAA,IAAI,IAAI,KAAK,GAAG,CAAC,CAAE,CAAA;AAC1B,YAAA,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,UAAU;AAClC,SAAA,CAAC,CAAC,CAAC;KACX;AAED;;;AAGG;AACK,IAAA,aAAa,CAAC,IAAyB,EAAA;AAC3C,QAAA,OAAO,CAAG,EAAA,gBAAgB,CAAK,EAAA,EAAA,IAAI,IAAI,uBAAuB,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;KAClF;8GAtUQ,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAXtB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,YAAA,EAAA,cAAA,EAAA,aAAA,EAAA,eAAA,EAAA,OAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,yCAAA,EAAA,kBAAA,EAAA,4CAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,wBAAwB,CAAC;AACvD,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;YACD,uBAAuB,CAAC,wBAAwB,CAAC;SACpD,ECvDL,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,ywHAqFA,0tdD5Bc,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,uBAAuB,EAAE,QAAA,EAAA,0CAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,0JAAE,mBAAmB,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;AA2O1F,UAAA,CAAA;IADC,aAAa;;;;AAYb,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,wBAAA,EAAA,IAAA,CAAA,CAAA;2FApPQ,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAjBpC,SAAS;+BACI,qBAAqB,EAAA,aAAA,EAGhB,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,8BAA8B,CAAC;AACvD,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACD,wBAAA,uBAAuB,CAA0B,wBAAA,CAAA;qBACpD,EACW,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAAA,ywHAAA,EAAA,MAAA,EAAA,CAAA,kqdAAA,CAAA,EAAA,CAAA;+GAO3F,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAKN,IAAI,EAAA,CAAA;sBADH,KAAK;gBAQN,SAAS,EAAA,CAAA;sBAFR,KAAK;;sBACL,WAAW;uBAAC,iBAAiB,CAAA;gBAQ9B,cAAc,EAAA,CAAA;sBAFb,KAAK;;sBACL,WAAW;uBAAC,iBAAiB,CAAA;gBAW9B,QAAQ,EAAA,CAAA;sBAHP,KAAK;;sBACL,WAAW;uBAAC,mBAAmB,CAAA;;sBAC/B,WAAW;uBAAC,oBAAoB,CAAA;gBAQjC,WAAW,EAAA,CAAA;sBAFV,KAAK;;sBACL,WAAW;uBAAC,yCAAyC,CAAA;gBAQtD,cAAc,EAAA,CAAA;sBAFb,KAAK;;sBACL,WAAW;uBAAC,4CAA4C,CAAA;gBAOrD,iBAAiB,EAAA,CAAA;sBADpB,KAAK;gBAUN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAON,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAON,YAAY,EAAA,CAAA;sBADX,KAAK;gBAON,aAAa,EAAA,CAAA;sBADZ,KAAK;gBAQN,OAAO,EAAA,CAAA;sBADN,KAAK;gBAON,iBAAiB,EAAA,CAAA;sBADhB,KAAK;gBAON,SAAS,EAAA,CAAA;sBADR,KAAK;gBAMN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAON,IAAI,EAAA,CAAA;sBADH,KAAK;gBAON,oBAAoB,EAAA,CAAA;sBADnB,KAAK;gBAON,aAAa,EAAA,CAAA;sBADZ,MAAM;gBAgHP,sBAAsB,EAAA,EAAA,EAAA,EAAA,CAAA;;AE/R1B;;;AAGG;MAKU,qBAAqB,CAAA;8GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAHpB,wBAAwB,EAAE,mBAAmB,CAC7C,EAAA,OAAA,EAAA,CAAA,wBAAwB,EAAE,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;AAE9C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAHpB,wBAAwB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGzB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,wBAAwB,EAAE,mBAAmB,CAAC;AACxD,oBAAA,OAAO,EAAE,CAAC,wBAAwB,EAAE,mBAAmB,CAAC;AAC3D,iBAAA,CAAA;;;ACZD;;AAEG;;;;"}
1
+ {"version":3,"file":"fundamental-ngx-core-rating-indicator.mjs","sources":["../../../../libs/core/rating-indicator/constants.ts","../../../../libs/core/rating-indicator/pipes/rating-star-label.pipe.ts","../../../../libs/core/rating-indicator/components/rating-indicator.component.ts","../../../../libs/core/rating-indicator/components/rating-indicator.component.html","../../../../libs/core/rating-indicator/rating-indicator.module.ts","../../../../libs/core/rating-indicator/fundamental-ngx-core-rating-indicator.ts"],"sourcesContent":["export const INDICATOR_PREFIX = 'fd-rating-indicator';\n\nexport const INDICATOR_CLASSES = {\n halves: `${INDICATOR_PREFIX}--half-star`,\n icon: `${INDICATOR_PREFIX}--icon`,\n hideDynamicText: `${INDICATOR_PREFIX}--hide-dynamic-text`\n};\nexport const INDICATOR_DEFAULT_CAPACITY = 5;\n\nexport type RatingIndicatorSize = 'xs' | 'sm' | 'md' | 'lg' | 'cozy' | 'compact' | 'condensed';\nexport enum RatingIndicatorSizeEnum {\n 'xs',\n 'sm',\n 'md',\n 'lg',\n 'cozy',\n 'compact',\n 'condensed'\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'ratingStarLabel',\n standalone: true\n})\nexport class RatingStarLabelPipe implements PipeTransform {\n /** Transforms the value to a rating value string. */\n transform(index: number, controlsCount: number, useHalves: boolean): string {\n if (useHalves) {\n return `${index / 2 + 0.5} of ${controlsCount / 2}`;\n }\n return `${index + 1} of ${controlsCount}`;\n }\n}\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewEncapsulation,\n forwardRef\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { CssClassBuilder, Nullable, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { FormItemControl, registerFormItemControl } from '@fundamental-ngx/core/form';\nimport { PopoverComponent, PopoverTriggerDirective } from '@fundamental-ngx/core/popover';\nimport {\n INDICATOR_CLASSES,\n INDICATOR_DEFAULT_CAPACITY,\n INDICATOR_PREFIX,\n RatingIndicatorSize,\n RatingIndicatorSizeEnum\n} from '../constants';\nimport { RatingStarLabelPipe } from '../pipes/rating-star-label.pipe';\n\nlet ratingUID = 0;\n\ninterface NumberKey<T> {\n [key: number]: T;\n}\n\ninterface RatingViewItem {\n rate: number;\n votes: number;\n}\n\n@Component({\n selector: 'fd-rating-indicator',\n templateUrl: './rating-indicator.component.html',\n styleUrl: './rating-indicator.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RatingIndicatorComponent),\n multi: true\n },\n registerFormItemControl(RatingIndicatorComponent)\n ],\n standalone: true,\n imports: [NgTemplateOutlet, PopoverTriggerDirective, PopoverComponent, RatingStarLabelPipe]\n})\nexport class RatingIndicatorComponent\n implements OnInit, OnChanges, CssClassBuilder, ControlValueAccessor, FormItemControl\n{\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Sets [name] attribute of input. */\n @Input()\n name: string;\n\n /**\n * Sets the aria-label attribute to the element.\n */\n @Input()\n @HostBinding('attr.aria-label')\n ariaLabel: Nullable<string>;\n\n /**\n * Sets the aria-labelledby attribute to the element.\n */\n @Input()\n @HostBinding('attr.aria-label')\n ariaLabelledBy: Nullable<string>;\n\n /**\n * Sets the aria-disabled attribute to the element.\n * Sets the is-disabled class to the element.\n * Whether the rating indicator is disabled\n */\n @Input()\n @HostBinding('class.is-disabled')\n @HostBinding('attr.aria-disabled')\n disabled = false;\n\n /**\n * Whether the rating indicator is in displayMode\n */\n @Input()\n @HostBinding('class.fd-rating-indicator--display-mode')\n displayMode = false;\n\n /**\n * Whether the rating indicator is in non-interactive state.\n */\n @Input()\n @HostBinding('class.fd-rating-indicator--non-interactive')\n nonInteractive = false;\n\n /**\n * Number of rates to display\n */\n @Input()\n set indicatorCapacity(value: number) {\n const val = coerceNumberProperty(value, INDICATOR_DEFAULT_CAPACITY);\n this._indicatorCapacity = val < 1 ? INDICATOR_DEFAULT_CAPACITY : val;\n }\n\n /**\n * Whether or not to display half values.\n */\n @Input()\n allowHalves = false;\n\n /**\n * User's value number of ratings. If provided, Overrides ratingAverage.\n */\n @Input()\n value = 0;\n\n /**\n * Total number of ratings. If provided, will display text showing the total number of ratings.\n */\n @Input()\n totalRatings: number;\n\n /**\n * Rating average\n */\n @Input()\n ratingAverage: number;\n\n /**\n * Object containing key-value pairs where the key is the rating and the value is the total sum of those ratings.\n * Overrides totalRatings and ratingAverage.\n */\n @Input()\n ratings: NumberKey<number>;\n\n /**\n * Whether or not to display the popover that shows the sum of each rating. Requires [ratings] object.\n */\n @Input()\n displayAllRatings = false;\n\n /**\n * Icon class for rated icon from fundamental-styles lib https://sap.github.io/fundamental-styles/?path=/docs/components-icon--sizes\n */\n @Input()\n ratedIcon: string;\n /**\n * Icon class for unrated icon from fundamental-styles lib https://sap.github.io/fundamental-styles/?path=/docs/components-icon--sizes\n */\n @Input()\n unratedIcon: string;\n\n /**\n * Possible values are 'xs', 'sm', 'md', 'lg', 'cozy', 'compact', 'condensed'\n */\n @Input()\n size: RatingIndicatorSize = 'md';\n\n /**\n * Text divider label between view value and indicator count.\n */\n @Input()\n dynamicTextIndicator = 'of';\n\n /**\n * Fired when the user sets or changes their rating.\n */\n @Output()\n ratingChanged = new EventEmitter<number>();\n\n /** @hidden */\n sizeClass = this._getSizeClass(this.size);\n /** @hidden */\n _rates: { id: string; value: number }[] = [];\n /** @hidden */\n _ratingItems: RatingViewItem[] = [];\n\n /** @hidden */\n get viewRatingUID(): number {\n return this._ratingUID;\n }\n /** @hidden */\n get indicatorCount(): number {\n return this._indicatorCapacity;\n }\n /** @hidden */\n get viewValue(): number {\n return this._value;\n }\n\n /** @hidden */\n private _ratingUID = ratingUID++;\n /** @hidden */\n private _indicatorCapacity = INDICATOR_DEFAULT_CAPACITY;\n /** @hidden */\n private _value = 0;\n\n /** @hidden */\n private _hideDynamicText = false;\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n private readonly _changeDetectorRef: ChangeDetectorRef\n ) {}\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n this.sizeClass = this._getSizeClass(this.size);\n\n return [\n INDICATOR_PREFIX,\n this.sizeClass,\n this.allowHalves ? INDICATOR_CLASSES.halves : '',\n !!this.ratedIcon && !!this.unratedIcon ? INDICATOR_CLASSES.icon : '',\n this._hideDynamicText || !this._value ? INDICATOR_CLASSES.hideDynamicText : '',\n this.class\n ];\n }\n\n /** @hidden */\n onChange: (value: number) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n ngOnInit(): void {\n this._value = this._convertToValue();\n this._rates = this._getRates();\n this.buildComponentCssClass();\n this._generateRatings();\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if (\n 'class' in changes ||\n 'size' in changes ||\n 'ratedIcon' in changes ||\n 'unratedIcon' in changes ||\n 'allowHalves' in changes\n ) {\n this.buildComponentCssClass();\n }\n if ('value' in changes) {\n this._value = this._convertToValue();\n }\n if ('indicatorCapacity' in changes) {\n this._rates = this._getRates();\n }\n if ('allowHalves' in changes) {\n this._value = this._convertToValue();\n this._rates = this._getRates();\n }\n\n if ('ratings' in changes) {\n this._generateRatings();\n }\n }\n\n /** @hidden */\n writeValue(value: number): void {\n this._value = this._parseValue(value);\n this._changeDetectorRef.markForCheck();\n }\n\n /** @hidden */\n registerOnChange(fn: (value: number) => void): void {\n this.onChange = fn;\n }\n /** @hidden */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** @hidden */\n onSelect(value: number): void {\n this.value = this._value = value;\n this.onChange(value);\n this.onTouched();\n this.ratingChanged.emit(value);\n }\n\n /**\n * @hidden\n * Generate rating items for popover content if rating object was defined\n */\n private _generateRatings(): void {\n if (!this.ratings) {\n return;\n }\n const ratings = Object.entries(this.ratings)\n .filter(([rate, vote]) => {\n const _rate = +rate;\n return !isNaN(_rate) && !isNaN(+vote) && _rate > 0;\n })\n .map(([rate, votes]) => ({ rate: +rate, votes }));\n if (ratings.length === 0) {\n return;\n }\n const { totalVotes, totalRating } = ratings.reduce(\n (total, rating) => ({\n totalVotes: total.totalVotes + rating.votes,\n totalRating: total.totalRating + rating.rate * rating.votes\n }),\n { totalVotes: 0, totalRating: 0 }\n );\n\n this._ratingItems = ratings;\n this.ratingAverage = totalRating / totalVotes;\n this.totalRatings = totalVotes;\n this._value = this._convertToValue();\n }\n /**\n * @hidden\n * get converted viewValue for render in component template from original value if it still exists, or ratingAverage.\n */\n private _convertToValue(): number {\n return this._parseValue(this.value || this.ratingAverage);\n }\n /**\n * @hidden\n * get converted value from original to view value with depends on halves\n * For example,\n * original value is equal to 2.34, you will get and render 2\n * original value is equal to 3.74, you will get and render 4\n */\n private _parseValue(value: number): number {\n if (!value || value === 0) {\n return 0;\n }\n const integer = Math.floor(value);\n const fractional = value % 1;\n let v = integer;\n\n if (this.allowHalves && fractional > 0.25 && fractional <= 0.5) {\n v = integer + 0.5;\n } else if (fractional > 0.5) {\n v = integer + 1;\n }\n\n return Math.min(this.indicatorCount, v);\n }\n /**\n * @hidden\n * get rating icons array with value and unic id\n */\n private _getRates(): { id: string; value: number }[] {\n const withHalves = this.allowHalves ? 2 : 1;\n return Array(this.indicatorCount * withHalves)\n .fill(`rating-${this._ratingUID}`)\n .map((name, index) => ({\n id: `${name}-${index + 1}`,\n value: (index + 1) / withHalves\n }));\n }\n\n /**\n * @hidden\n * get rating icons array with value and unic id\n */\n private _getSizeClass(size: RatingIndicatorSize): string {\n return `${INDICATOR_PREFIX}--${size in RatingIndicatorSizeEnum ? size : 'md'}`;\n }\n}\n","<ng-template #zeroRate let-halves=\"halves\">\n <input\n aria-label=\"Reset to zero\"\n role=\"button\"\n type=\"radio\"\n class=\"fd-rating-indicator__input fd-rating-indicator__input--zero-rating\"\n (click)=\"onSelect(0)\"\n [disabled]=\"disabled || nonInteractive || displayMode\"\n name=\"rating-{{ viewRatingUID }}{{ halves ? '-halves' : '' }}\"\n [checked]=\"viewValue === 0\"\n />\n <label class=\"fd-rating-indicator__label fd-rating-indicator__label--zero-rating\" aria-hidden=\"true\"></label>\n</ng-template>\n<!-- role=\"application\" is used in order to let user to change value with left/right arrows in JAWS, since JAWS ovverrides these actions -->\n<div class=\"fd-rating-indicator__container\" role=\"application\" aria-roledescription=\"Rating indicator\">\n <!-- Zero value if we don't have provided value from user, `ratingAverage` or `ratings` -->\n <ng-template [ngTemplateOutlet]=\"zeroRate\"></ng-template>\n <!-- Available rate values -->\n @for (rate of _rates; track rate.id; let i = $index) {\n <input\n [attr.aria-label]=\"i | ratingStarLabel: _rates.length : allowHalves\"\n role=\"button\"\n type=\"radio\"\n class=\"fd-rating-indicator__input\"\n [disabled]=\"disabled || nonInteractive || displayMode\"\n [id]=\"rate.id\"\n name=\"rating-{{ viewRatingUID }}\"\n [value]=\"rate.value\"\n [checked]=\"viewValue === rate.value\"\n (click)=\"onSelect(rate.value)\"\n />\n <label class=\"fd-rating-indicator__label\" [for]=\"rate.id\" aria-hidden=\"true\">\n @if (ratedIcon) {\n <i class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n }\n @if (unratedIcon) {\n <i class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n }\n </label>\n }\n</div>\n<!-- Popover if displayAllRatings is true and we have ratings object -->\n@if (displayAllRatings && _ratingItems.length) {\n <span [fdPopoverTrigger]=\"allRatingContent\" class=\"fd-rating-indicator__dynamic-text\">\n (<span aria-label=\"Total raiting\" fd-link>{{ totalRatings }}</span\n >)\n </span>\n} @else {\n @if (totalRatings) {\n <span class=\"fd-rating-indicator__dynamic-text\">({{ totalRatings }})</span>\n } @else {\n <span class=\"fd-rating-indicator__dynamic-text\"\n >({{ viewValue }} {{ dynamicTextIndicator }} {{ indicatorCount }})</span\n >\n }\n}\n<fd-popover\n #allRatingContent\n [triggers]=\"['mouseenter', 'mouseleave']\"\n [noArrow]=\"false\"\n placement=\"top\"\n additionalBodyClass=\"fd-rating-indicator__popover\"\n>\n @for (rating of _ratingItems; track rating) {\n <div class=\"fd-rating-indicator__sum-row\" [class]=\"sizeClass\">\n <div class=\"fd-rating-indicator__container\">\n @for (rate of _rates; track rate.id) {\n <span\n [class.fd-rating-indicator__input-checked]=\"rate.value === rating.rate\"\n class=\"fd-rating-indicator__input\"\n ></span>\n <label class=\"fd-rating-indicator__label\">\n @if (ratedIcon) {\n <i class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n }\n @if (unratedIcon) {\n <i class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n }\n </label>\n }\n </div>\n ({{ rating.votes }})\n </div>\n }\n</fd-popover>\n","import { NgModule } from '@angular/core';\n\nimport { RatingIndicatorComponent } from './components/rating-indicator.component';\nimport { RatingStarLabelPipe } from './pipes/rating-star-label.pipe';\n\n/**\n * @deprecated\n * Use direct import of `RatingIndicatorComponent`\n */\n@NgModule({\n imports: [RatingIndicatorComponent, RatingStarLabelPipe],\n exports: [RatingIndicatorComponent, RatingStarLabelPipe]\n})\nexport class RatingIndicatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAAO,MAAM,gBAAgB,GAAG,sBAAsB;AAEzC,MAAA,iBAAiB,GAAG;IAC7B,MAAM,EAAE,CAAG,EAAA,gBAAgB,CAAa,WAAA,CAAA;IACxC,IAAI,EAAE,CAAG,EAAA,gBAAgB,CAAQ,MAAA,CAAA;IACjC,eAAe,EAAE,CAAG,EAAA,gBAAgB,CAAqB,mBAAA,CAAA;EAC3D;AACK,MAAM,0BAA0B,GAAG,EAAE;IAGhC,wBAQX;AARD,CAAA,UAAY,uBAAuB,EAAA;AAC/B,IAAA,uBAAA,CAAA,uBAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAI,CAAA;AACJ,IAAA,uBAAA,CAAA,uBAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAI,CAAA;AACJ,IAAA,uBAAA,CAAA,uBAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAI,CAAA;AACJ,IAAA,uBAAA,CAAA,uBAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAI,CAAA;AACJ,IAAA,uBAAA,CAAA,uBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAM,CAAA;AACN,IAAA,uBAAA,CAAA,uBAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAS,CAAA;AACT,IAAA,uBAAA,CAAA,uBAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAW,CAAA;AACf,CAAC,EARW,uBAAuB,KAAvB,uBAAuB,GAQlC,EAAA,CAAA,CAAA;;MCZY,mBAAmB,CAAA;;AAE5B,IAAA,SAAS,CAAC,KAAa,EAAE,aAAqB,EAAE,SAAkB,EAAA;AAC9D,QAAA,IAAI,SAAS,EAAE;YACX,OAAO,CAAA,EAAG,KAAK,GAAG,CAAC,GAAG,GAAG,CAAA,IAAA,EAAO,aAAa,GAAG,CAAC,CAAA,CAAE,CAAC;AACvD,SAAA;AACD,QAAA,OAAO,GAAG,KAAK,GAAG,CAAC,CAAO,IAAA,EAAA,aAAa,EAAE,CAAC;KAC7C;8GAPQ,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,CAAA,EAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,iBAAiB;AACvB,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;;;AC0BD,IAAI,SAAS,GAAG,CAAC,CAAC;MA4BL,wBAAwB,CAAA;AAiDjC;;AAEG;IACH,IACI,iBAAiB,CAAC,KAAa,EAAA;QAC/B,MAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;AACpE,QAAA,IAAI,CAAC,kBAAkB,GAAG,GAAG,GAAG,CAAC,GAAG,0BAA0B,GAAG,GAAG,CAAC;KACxE;;AA4ED,IAAA,IAAI,aAAa,GAAA;QACb,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;;AAED,IAAA,IAAI,cAAc,GAAA;QACd,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAClC;;AAED,IAAA,IAAI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;;IAYD,WACoB,CAAA,UAAsB,EACrB,kBAAqC,EAAA;QADtC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACrB,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;AAnI1D;;;;AAIG;QAIH,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAEjB;;AAEG;QAGH,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AAEpB;;AAEG;QAGH,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;AAWvB;;AAEG;QAEH,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AAEpB;;AAEG;QAEH,IAAK,CAAA,KAAA,GAAG,CAAC,CAAC;AAqBV;;AAEG;QAEH,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;AAa1B;;AAEG;QAEH,IAAI,CAAA,IAAA,GAAwB,IAAI,CAAC;AAEjC;;AAEG;QAEH,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;AAE5B;;AAEG;AAEH,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAU,CAAC;;QAG3C,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;QAE1C,IAAM,CAAA,MAAA,GAAoC,EAAE,CAAC;;QAE7C,IAAY,CAAA,YAAA,GAAqB,EAAE,CAAC;;QAgB5B,IAAU,CAAA,UAAA,GAAG,SAAS,EAAE,CAAC;;QAEzB,IAAkB,CAAA,kBAAA,GAAG,0BAA0B,CAAC;;QAEhD,IAAM,CAAA,MAAA,GAAG,CAAC,CAAC;;QAGX,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;;AA2BjC,QAAA,IAAA,CAAA,QAAQ,GAA4B,MAAK,GAAG,CAAC;;AAG7C,QAAA,IAAA,CAAA,SAAS,GAAG,MAAW,GAAG,CAAC;KAzBvB;AAEJ;;;;AAIG;IAEH,sBAAsB,GAAA;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/C,OAAO;YACH,gBAAgB;AAChB,YAAA,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC,MAAM,GAAG,EAAE;AAChD,YAAA,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC,IAAI,GAAG,EAAE;AACpE,YAAA,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAC,eAAe,GAAG,EAAE;AAC9E,YAAA,IAAI,CAAC,KAAK;SACb,CAAC;KACL;;IASD,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AACrC,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAC;KAC3B;;AAGD,IAAA,WAAW,CAAC,OAAsB,EAAA;QAC9B,IACI,OAAO,IAAI,OAAO;AAClB,YAAA,MAAM,IAAI,OAAO;AACjB,YAAA,WAAW,IAAI,OAAO;AACtB,YAAA,aAAa,IAAI,OAAO;YACxB,aAAa,IAAI,OAAO,EAC1B;YACE,IAAI,CAAC,sBAAsB,EAAE,CAAC;AACjC,SAAA;QACD,IAAI,OAAO,IAAI,OAAO,EAAE;AACpB,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AACxC,SAAA;QACD,IAAI,mBAAmB,IAAI,OAAO,EAAE;AAChC,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AAClC,SAAA;QACD,IAAI,aAAa,IAAI,OAAO,EAAE;AAC1B,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AACrC,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AAClC,SAAA;QAED,IAAI,SAAS,IAAI,OAAO,EAAE;YACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC3B,SAAA;KACJ;;AAGD,IAAA,UAAU,CAAC,KAAa,EAAA;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KAC1C;;AAGD,IAAA,gBAAgB,CAAC,EAA2B,EAAA;AACxC,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACtB;;AAED,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACvB;;AAGD,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAChC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC9B;;AAGD,IAAA,QAAQ,CAAC,KAAa,EAAA;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACjC,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAClC;AAED;;;AAGG;IACK,gBAAgB,GAAA;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,OAAO;AACV,SAAA;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;aACvC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,KAAI;AACrB,YAAA,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC;AACpB,YAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;AACvD,SAAC,CAAC;aACD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACtD,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,OAAO;AACV,SAAA;AACD,QAAA,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,MAAM,CAC9C,CAAC,KAAK,EAAE,MAAM,MAAM;AAChB,YAAA,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK;YAC3C,WAAW,EAAE,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK;SAC9D,CAAC,EACF,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CACpC,CAAC;AAEF,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;AAC5B,QAAA,IAAI,CAAC,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC;AAC9C,QAAA,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;AAC/B,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;KACxC;AACD;;;AAGG;IACK,eAAe,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;KAC7D;AACD;;;;;;AAMG;AACK,IAAA,WAAW,CAAC,KAAa,EAAA;AAC7B,QAAA,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,CAAC,EAAE;AACvB,YAAA,OAAO,CAAC,CAAC;AACZ,SAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAClC,QAAA,MAAM,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,OAAO,CAAC;QAEhB,IAAI,IAAI,CAAC,WAAW,IAAI,UAAU,GAAG,IAAI,IAAI,UAAU,IAAI,GAAG,EAAE;AAC5D,YAAA,CAAC,GAAG,OAAO,GAAG,GAAG,CAAC;AACrB,SAAA;aAAM,IAAI,UAAU,GAAG,GAAG,EAAE;AACzB,YAAA,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;AACnB,SAAA;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;KAC3C;AACD;;;AAGG;IACK,SAAS,GAAA;AACb,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5C,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;AACzC,aAAA,IAAI,CAAC,CAAU,OAAA,EAAA,IAAI,CAAC,UAAU,EAAE,CAAC;aACjC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MAAM;AACnB,YAAA,EAAE,EAAE,CAAG,EAAA,IAAI,IAAI,KAAK,GAAG,CAAC,CAAE,CAAA;AAC1B,YAAA,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,UAAU;AAClC,SAAA,CAAC,CAAC,CAAC;KACX;AAED;;;AAGG;AACK,IAAA,aAAa,CAAC,IAAyB,EAAA;AAC3C,QAAA,OAAO,CAAG,EAAA,gBAAgB,CAAK,EAAA,EAAA,IAAI,IAAI,uBAAuB,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;KAClF;8GAvUQ,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAXtB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,YAAA,EAAA,cAAA,EAAA,aAAA,EAAA,eAAA,EAAA,OAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,yCAAA,EAAA,kBAAA,EAAA,4CAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,wBAAwB,CAAC;AACvD,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;YACD,uBAAuB,CAAC,wBAAwB,CAAC;SACpD,ECvDL,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,ywHAqFA,0tdD5Bc,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,uBAAuB,EAAE,QAAA,EAAA,0CAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,0JAAE,mBAAmB,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;AAuK1F,UAAA,CAAA;IADC,aAAa;;;;AAYb,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,wBAAA,EAAA,IAAA,CAAA,CAAA;2FAhLQ,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAjBpC,SAAS;+BACI,qBAAqB,EAAA,aAAA,EAGhB,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,8BAA8B,CAAC;AACvD,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACD,wBAAA,uBAAuB,CAA0B,wBAAA,CAAA;qBACpD,EACW,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAAA,ywHAAA,EAAA,MAAA,EAAA,CAAA,kqdAAA,CAAA,EAAA,CAAA;+GAO3F,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAKN,IAAI,EAAA,CAAA;sBADH,KAAK;gBAQN,SAAS,EAAA,CAAA;sBAFR,KAAK;;sBACL,WAAW;uBAAC,iBAAiB,CAAA;gBAQ9B,cAAc,EAAA,CAAA;sBAFb,KAAK;;sBACL,WAAW;uBAAC,iBAAiB,CAAA;gBAW9B,QAAQ,EAAA,CAAA;sBAHP,KAAK;;sBACL,WAAW;uBAAC,mBAAmB,CAAA;;sBAC/B,WAAW;uBAAC,oBAAoB,CAAA;gBAQjC,WAAW,EAAA,CAAA;sBAFV,KAAK;;sBACL,WAAW;uBAAC,yCAAyC,CAAA;gBAQtD,cAAc,EAAA,CAAA;sBAFb,KAAK;;sBACL,WAAW;uBAAC,4CAA4C,CAAA;gBAOrD,iBAAiB,EAAA,CAAA;sBADpB,KAAK;gBAUN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAON,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAON,YAAY,EAAA,CAAA;sBADX,KAAK;gBAON,aAAa,EAAA,CAAA;sBADZ,KAAK;gBAQN,OAAO,EAAA,CAAA;sBADN,KAAK;gBAON,iBAAiB,EAAA,CAAA;sBADhB,KAAK;gBAON,SAAS,EAAA,CAAA;sBADR,KAAK;gBAMN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAON,IAAI,EAAA,CAAA;sBADH,KAAK;gBAON,oBAAoB,EAAA,CAAA;sBADnB,KAAK;gBAON,aAAa,EAAA,CAAA;sBADZ,MAAM;gBA4CP,sBAAsB,EAAA,EAAA,EAAA,EAAA,CAAA;;AE3N1B;;;AAGG;MAKU,qBAAqB,CAAA;8GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAHpB,wBAAwB,EAAE,mBAAmB,CAC7C,EAAA,OAAA,EAAA,CAAA,wBAAwB,EAAE,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;AAE9C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAHpB,wBAAwB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGzB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,wBAAwB,EAAE,mBAAmB,CAAC;AACxD,oBAAA,OAAO,EAAE,CAAC,wBAAwB,EAAE,mBAAmB,CAAC;AAC3D,iBAAA,CAAA;;;ACZD;;AAEG;;;;"}
@@ -142,28 +142,6 @@ class ResizableCardItemComponent {
142
142
  /** @hidden */
143
143
  this._subscriptions = new Subscription();
144
144
  }
145
- /** @hidden */
146
- ngOnDestroy() {
147
- this._subscriptions.unsubscribe();
148
- }
149
- /**
150
- * When resize handler is pressed and resizing may start.
151
- * @param event {MouseEvent}
152
- * @param resizeDirection which handler is pressed to resize
153
- */
154
- onMouseDown(event, resizeDirection) {
155
- event.preventDefault();
156
- if (!this.resizable) {
157
- return;
158
- }
159
- this.showingResizeIcon = true;
160
- this._resize = true;
161
- this._prevX = event.clientX;
162
- this._prevY = event.clientY;
163
- this._prevCardWidth = this.cardWidth;
164
- this._prevCardHeight = this.cardHeight;
165
- this._resizeDirection = resizeDirection;
166
- }
167
145
  /**
168
146
  * @hidden When mouse moves to resize the card.
169
147
  * using window:mousemove so, resize will happen smoothly
@@ -252,6 +230,28 @@ class ResizableCardItemComponent {
252
230
  this._stopResizing();
253
231
  this._cd.markForCheck();
254
232
  }
233
+ /** @hidden */
234
+ ngOnDestroy() {
235
+ this._subscriptions.unsubscribe();
236
+ }
237
+ /**
238
+ * When resize handler is pressed and resizing may start.
239
+ * @param event {MouseEvent}
240
+ * @param resizeDirection which handler is pressed to resize
241
+ */
242
+ onMouseDown(event, resizeDirection) {
243
+ event.preventDefault();
244
+ if (!this.resizable) {
245
+ return;
246
+ }
247
+ this.showingResizeIcon = true;
248
+ this._resize = true;
249
+ this._prevX = event.clientX;
250
+ this._prevY = event.clientY;
251
+ this._prevCardWidth = this.cardWidth;
252
+ this._prevCardHeight = this.cardHeight;
253
+ this._resizeDirection = resizeDirection;
254
+ }
255
255
  /** Sets focus on the element */
256
256
  focus() {
257
257
  const header = this.elementRef.nativeElement.querySelector('.fd-card__header');
@@ -647,6 +647,10 @@ class ResizableCardLayoutComponent {
647
647
  }
648
648
  }
649
649
  /** @hidden */
650
+ onResize() {
651
+ this._createLayout();
652
+ }
653
+ /** @hidden */
650
654
  ngOnInit() {
651
655
  this._columnsHeight = new Array(this._columns);
652
656
  this._columnsHeight.fill(0);
@@ -675,10 +679,6 @@ class ResizableCardLayoutComponent {
675
679
  ngOnDestroy() {
676
680
  this._keyboardEventsManager?.destroy();
677
681
  }
678
- /** @hidden */
679
- onResize() {
680
- this._createLayout();
681
- }
682
682
  /** Layout size. Available options are 'sm', 'md', 'lg' and 'xl' */
683
683
  set layoutSize(layoutSize) {
684
684
  this._layout = layoutSize;
@@ -979,7 +979,7 @@ class ResizableCardLayoutComponent {
979
979
  _setCardPositionValues(card, index) {
980
980
  const directionPosition = this._directionPosition$();
981
981
  if (index === 0) {
982
- card[directionPosition] = 0 + this._paddingLeft;
982
+ card[directionPosition] = Number(this._paddingLeft);
983
983
  card.top = 0;
984
984
  card.startingColumnPosition = 0;
985
985
  return;
@@ -1008,9 +1008,8 @@ class ResizableCardLayoutComponent {
1008
1008
  }
1009
1009
  // check for each card position, starting from leftmost
1010
1010
  let isFitting = false;
1011
- let startingColumnPosition = -1;
1012
1011
  // try to fit as left (or right if Rtl) as possible from the column position
1013
- startingColumnPosition = this._fitCardColumnPosition(card, columnPositions, height);
1012
+ const startingColumnPosition = this._fitCardColumnPosition(card, columnPositions, height);
1014
1013
  if (startingColumnPosition !== -1) {
1015
1014
  isFitting = true;
1016
1015
  card[directionPosition] =