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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/alert/alert.component.d.ts +5 -4
  2. package/alert/alert.module.d.ts +2 -1
  3. package/avatar/avatar.component.d.ts +2 -4
  4. package/avatar-group/directives/avatar-group-focusable-avatar.directive.d.ts +2 -6
  5. package/avatar-group/directives/avatar-group-overflow-button.directive.d.ts +2 -4
  6. package/bar/bar.component.d.ts +2 -4
  7. package/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.d.ts +2 -4
  8. package/button/button.component.d.ts +2 -6
  9. package/card/card-content.component.d.ts +2 -4
  10. package/card/card-counter.directive.d.ts +2 -4
  11. package/card/card-header.component.d.ts +2 -4
  12. package/card/card-loader.component.d.ts +2 -4
  13. package/card/card-second-subtitle.directive.d.ts +2 -4
  14. package/card/card-subtitle.directive.d.ts +2 -4
  15. package/card/card-title.directive.d.ts +2 -4
  16. package/card/card.component.d.ts +3 -5
  17. package/card/kpi/card-kpi-analytics-content.directive.d.ts +2 -4
  18. package/card/kpi/card-kpi-analytics-label.directive.d.ts +2 -4
  19. package/card/kpi/card-kpi-analytics.directive.d.ts +2 -4
  20. package/card/kpi/card-kpi-header.component.d.ts +2 -4
  21. package/card/kpi/card-kpi-scale-icon.directive.d.ts +2 -4
  22. package/card/kpi/card-kpi-scale-text.directive.d.ts +2 -4
  23. package/card/kpi/card-kpi-value.directive.d.ts +2 -4
  24. package/dialog/base/dialog-base.class.d.ts +2 -2
  25. package/dialog/dialog-body/dialog-body.component.d.ts +2 -4
  26. package/dialog/dialog-container/dialog-container.component.d.ts +0 -2
  27. package/dialog/dialog-service/dialog.service.d.ts +4 -0
  28. package/dialog/dialog.component.d.ts +0 -2
  29. package/dynamic-page/dynamic-page-content/dynamic-page-content.component.d.ts +4 -6
  30. package/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.d.ts +2 -4
  31. package/dynamic-side-content/dynamic-side-content.component.d.ts +3 -5
  32. package/esm2020/alert/alert.component.mjs +7 -19
  33. package/esm2020/alert/alert.module.mjs +5 -4
  34. package/esm2020/avatar/avatar.component.mjs +6 -10
  35. package/esm2020/avatar-group/directives/avatar-group-focusable-avatar.directive.mjs +4 -12
  36. package/esm2020/avatar-group/directives/avatar-group-overflow-body.directive.mjs +2 -2
  37. package/esm2020/avatar-group/directives/avatar-group-overflow-button.directive.mjs +3 -7
  38. package/esm2020/bar/bar.component.mjs +3 -7
  39. package/esm2020/breadcrumb/breadcrumb-item.component.mjs +2 -2
  40. package/esm2020/breadcrumb/breadcrumb.component.mjs +2 -2
  41. package/esm2020/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.mjs +4 -8
  42. package/esm2020/button/button.component.mjs +3 -9
  43. package/esm2020/card/card-content.component.mjs +3 -7
  44. package/esm2020/card/card-counter.directive.mjs +3 -7
  45. package/esm2020/card/card-header.component.mjs +4 -8
  46. package/esm2020/card/card-loader.component.mjs +3 -7
  47. package/esm2020/card/card-second-subtitle.directive.mjs +3 -7
  48. package/esm2020/card/card-subtitle.directive.mjs +3 -7
  49. package/esm2020/card/card-title.directive.mjs +3 -7
  50. package/esm2020/card/card.component.mjs +3 -7
  51. package/esm2020/card/kpi/card-kpi-analytics-content.directive.mjs +3 -7
  52. package/esm2020/card/kpi/card-kpi-analytics-label.directive.mjs +3 -7
  53. package/esm2020/card/kpi/card-kpi-analytics.directive.mjs +3 -7
  54. package/esm2020/card/kpi/card-kpi-header.component.mjs +3 -7
  55. package/esm2020/card/kpi/card-kpi-scale-icon.directive.mjs +3 -7
  56. package/esm2020/card/kpi/card-kpi-scale-text.directive.mjs +3 -7
  57. package/esm2020/card/kpi/card-kpi-value.directive.mjs +3 -7
  58. package/esm2020/checkbox/checkbox/checkbox.component.mjs +3 -3
  59. package/esm2020/content-density/services/content-density-observer.service.mjs +3 -3
  60. package/esm2020/dialog/base/dialog-base.class.mjs +6 -6
  61. package/esm2020/dialog/dialog-body/dialog-body.component.mjs +3 -7
  62. package/esm2020/dialog/dialog-container/dialog-container.component.mjs +1 -5
  63. package/esm2020/dialog/dialog-service/dialog.service.mjs +10 -2
  64. package/esm2020/dialog/dialog.component.mjs +3 -7
  65. package/esm2020/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +4 -8
  66. package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.mjs +5 -9
  67. package/esm2020/dynamic-side-content/dynamic-side-content.component.mjs +3 -7
  68. package/esm2020/facets/content/facet-content.component.mjs +4 -8
  69. package/esm2020/facets/facet/facet.component.mjs +13 -19
  70. package/esm2020/feed-input/directives/feed-input-avatar.directive.mjs +3 -7
  71. package/esm2020/feed-list-item/components/item/feed-list-item.component.mjs +3 -7
  72. package/esm2020/feed-list-item/components/list/feed-list.component.mjs +3 -7
  73. package/esm2020/form/form-control/form-control.component.mjs +3 -7
  74. package/esm2020/form/form-group/form-group.component.mjs +3 -7
  75. package/esm2020/form/form-message/form-message.component.mjs +3 -7
  76. package/esm2020/icon/icon.component.mjs +3 -7
  77. package/esm2020/illustrated-message/illustrated-message.component.mjs +3 -7
  78. package/esm2020/info-label/info-label.component.mjs +3 -7
  79. package/esm2020/inline-help/inline-help.directive.mjs +26 -15
  80. package/esm2020/input-group/input-group-directives.mjs +6 -14
  81. package/esm2020/input-group/input-group.component.mjs +2 -2
  82. package/esm2020/layout-grid/directives/layout-grid-col.directive.mjs +3 -7
  83. package/esm2020/layout-grid/layout-grid.component.mjs +3 -7
  84. package/esm2020/layout-panel/layout-panel-footer/layout-panel-footer.component.mjs +3 -7
  85. package/esm2020/link/link.component.mjs +9 -13
  86. package/esm2020/list/directives/list-icon.directive.mjs +3 -7
  87. package/esm2020/list/directives/list-navigation-item-text.directive.mjs +3 -7
  88. package/esm2020/list/list-message.directive.mjs +3 -7
  89. package/esm2020/menu/menu-mobile/menu-mobile.component.mjs +2 -2
  90. package/esm2020/message-box/message-box-container/message-box-container.component.mjs +1 -5
  91. package/esm2020/message-box/message-box.component.mjs +1 -5
  92. package/esm2020/message-page/message-page.component.mjs +3 -7
  93. package/esm2020/message-strip/message-strip.component.mjs +5 -9
  94. package/esm2020/multi-input/multi-input.component.mjs +31 -17
  95. package/esm2020/notification/directives/notification-indicator.directive.mjs +3 -7
  96. package/esm2020/notification/notification-group/notification-group.component.mjs +3 -7
  97. package/esm2020/notification/notification-utils/notification-group-base.mjs +2 -2
  98. package/esm2020/object-marker/object-marker.component.mjs +3 -7
  99. package/esm2020/object-number/object-number.component.mjs +3 -7
  100. package/esm2020/object-status/object-status.component.mjs +3 -7
  101. package/esm2020/panel/panel.component.mjs +3 -7
  102. package/esm2020/popover/popover-body/popover-body.component.mjs +5 -2
  103. package/esm2020/product-switch/product-switch-body/product-switch-body.component.mjs +1 -1
  104. package/esm2020/radio/radio-button/radio-button.component.mjs +2 -2
  105. package/esm2020/rating-indicator/components/rating-indicator.component.mjs +3 -7
  106. package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +4 -8
  107. package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +3 -7
  108. package/esm2020/segmented-button/segmented-button.component.mjs +4 -4
  109. package/esm2020/select/select.component.mjs +4 -4
  110. package/esm2020/slider/slider.component.mjs +3 -7
  111. package/esm2020/status-indicator/status-indicator.component.mjs +4 -8
  112. package/esm2020/table/directives/table-cell.directive.mjs +31 -26
  113. package/esm2020/table/directives/table-icon.directive.mjs +3 -9
  114. package/esm2020/table/directives/table-row.directive.mjs +34 -19
  115. package/esm2020/table/table-wrapper.component.mjs +2 -2
  116. package/esm2020/table/table.component.mjs +1 -1
  117. package/esm2020/tabs/tab-item/tab-item.directive.mjs +3 -7
  118. package/esm2020/tabs/tab-nav/tab-nav.component.mjs +3 -9
  119. package/esm2020/tabs/tab-utils/tab-directives.mjs +3 -9
  120. package/esm2020/tile/directives/numeric-content.directives.mjs +14 -34
  121. package/esm2020/tile/directives/tile.directives.mjs +9 -21
  122. package/esm2020/tile/tile.component.mjs +2 -2
  123. package/esm2020/token/token-input.directive.mjs +3 -7
  124. package/esm2020/token/tokenizer.component.mjs +12 -16
  125. package/esm2020/toolbar/toolbar.component.mjs +2 -2
  126. package/esm2020/tree/components/tree-item/tree-item.component.mjs +1 -1
  127. package/esm2020/tree/models/base-tree-item.class.mjs +2 -6
  128. package/esm2020/tree/tree.component.mjs +3 -7
  129. package/esm2020/upload-collection/upload-collection-item.directive.mjs +2 -2
  130. package/esm2020/wizard/wizard.component.mjs +2 -2
  131. package/facets/content/facet-content.component.d.ts +2 -4
  132. package/facets/facet/facet.component.d.ts +2 -6
  133. package/feed-input/directives/feed-input-avatar.directive.d.ts +2 -4
  134. package/feed-list-item/components/item/feed-list-item.component.d.ts +2 -4
  135. package/feed-list-item/components/list/feed-list.component.d.ts +2 -4
  136. package/fesm2015/fundamental-ngx-core-alert.mjs +48 -58
  137. package/fesm2015/fundamental-ngx-core-alert.mjs.map +1 -1
  138. package/fesm2015/fundamental-ngx-core-avatar-group.mjs +6 -18
  139. package/fesm2015/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  140. package/fesm2015/fundamental-ngx-core-avatar.mjs +5 -9
  141. package/fesm2015/fundamental-ngx-core-avatar.mjs.map +1 -1
  142. package/fesm2015/fundamental-ngx-core-bar.mjs +2 -6
  143. package/fesm2015/fundamental-ngx-core-bar.mjs.map +1 -1
  144. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs +2 -2
  145. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  146. package/fesm2015/fundamental-ngx-core-busy-indicator.mjs +3 -7
  147. package/fesm2015/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  148. package/fesm2015/fundamental-ngx-core-button.mjs +2 -8
  149. package/fesm2015/fundamental-ngx-core-button.mjs.map +1 -1
  150. package/fesm2015/fundamental-ngx-core-card.mjs +31 -91
  151. package/fesm2015/fundamental-ngx-core-card.mjs.map +1 -1
  152. package/fesm2015/fundamental-ngx-core-checkbox.mjs +2 -2
  153. package/fesm2015/fundamental-ngx-core-checkbox.mjs.map +1 -1
  154. package/fesm2015/fundamental-ngx-core-content-density.mjs +2 -2
  155. package/fesm2015/fundamental-ngx-core-content-density.mjs.map +1 -1
  156. package/fesm2015/fundamental-ngx-core-dialog.mjs +18 -23
  157. package/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
  158. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs +7 -15
  159. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  160. package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs +2 -6
  161. package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
  162. package/fesm2015/fundamental-ngx-core-facets.mjs +15 -25
  163. package/fesm2015/fundamental-ngx-core-facets.mjs.map +1 -1
  164. package/fesm2015/fundamental-ngx-core-feed-input.mjs +2 -6
  165. package/fesm2015/fundamental-ngx-core-feed-input.mjs.map +1 -1
  166. package/fesm2015/fundamental-ngx-core-feed-list-item.mjs +4 -12
  167. package/fesm2015/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  168. package/fesm2015/fundamental-ngx-core-form.mjs +6 -18
  169. package/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  170. package/fesm2015/fundamental-ngx-core-icon.mjs +2 -6
  171. package/fesm2015/fundamental-ngx-core-icon.mjs.map +1 -1
  172. package/fesm2015/fundamental-ngx-core-illustrated-message.mjs +2 -6
  173. package/fesm2015/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  174. package/fesm2015/fundamental-ngx-core-info-label.mjs +2 -6
  175. package/fesm2015/fundamental-ngx-core-info-label.mjs.map +1 -1
  176. package/fesm2015/fundamental-ngx-core-inline-help.mjs +24 -13
  177. package/fesm2015/fundamental-ngx-core-inline-help.mjs.map +1 -1
  178. package/fesm2015/fundamental-ngx-core-input-group.mjs +6 -14
  179. package/fesm2015/fundamental-ngx-core-input-group.mjs.map +1 -1
  180. package/fesm2015/fundamental-ngx-core-layout-grid.mjs +4 -12
  181. package/fesm2015/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  182. package/fesm2015/fundamental-ngx-core-layout-panel.mjs +2 -6
  183. package/fesm2015/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  184. package/fesm2015/fundamental-ngx-core-link.mjs +8 -12
  185. package/fesm2015/fundamental-ngx-core-link.mjs.map +1 -1
  186. package/fesm2015/fundamental-ngx-core-list.mjs +6 -18
  187. package/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
  188. package/fesm2015/fundamental-ngx-core-menu.mjs +1 -1
  189. package/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
  190. package/fesm2015/fundamental-ngx-core-message-box.mjs +0 -8
  191. package/fesm2015/fundamental-ngx-core-message-box.mjs.map +1 -1
  192. package/fesm2015/fundamental-ngx-core-message-page.mjs +2 -6
  193. package/fesm2015/fundamental-ngx-core-message-page.mjs.map +1 -1
  194. package/fesm2015/fundamental-ngx-core-message-strip.mjs +4 -8
  195. package/fesm2015/fundamental-ngx-core-message-strip.mjs.map +1 -1
  196. package/fesm2015/fundamental-ngx-core-multi-input.mjs +31 -15
  197. package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
  198. package/fesm2015/fundamental-ngx-core-notification.mjs +5 -13
  199. package/fesm2015/fundamental-ngx-core-notification.mjs.map +1 -1
  200. package/fesm2015/fundamental-ngx-core-object-marker.mjs +2 -6
  201. package/fesm2015/fundamental-ngx-core-object-marker.mjs.map +1 -1
  202. package/fesm2015/fundamental-ngx-core-object-number.mjs +2 -6
  203. package/fesm2015/fundamental-ngx-core-object-number.mjs.map +1 -1
  204. package/fesm2015/fundamental-ngx-core-object-status.mjs +2 -6
  205. package/fesm2015/fundamental-ngx-core-object-status.mjs.map +1 -1
  206. package/fesm2015/fundamental-ngx-core-panel.mjs +2 -6
  207. package/fesm2015/fundamental-ngx-core-panel.mjs.map +1 -1
  208. package/fesm2015/fundamental-ngx-core-popover.mjs +4 -1
  209. package/fesm2015/fundamental-ngx-core-popover.mjs.map +1 -1
  210. package/fesm2015/fundamental-ngx-core-product-switch.mjs +1 -1
  211. package/fesm2015/fundamental-ngx-core-product-switch.mjs.map +1 -1
  212. package/fesm2015/fundamental-ngx-core-radio.mjs +1 -1
  213. package/fesm2015/fundamental-ngx-core-radio.mjs.map +1 -1
  214. package/fesm2015/fundamental-ngx-core-rating-indicator.mjs +2 -6
  215. package/fesm2015/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  216. package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs +5 -13
  217. package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  218. package/fesm2015/fundamental-ngx-core-segmented-button.mjs +3 -3
  219. package/fesm2015/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  220. package/fesm2015/fundamental-ngx-core-select.mjs +3 -3
  221. package/fesm2015/fundamental-ngx-core-select.mjs.map +1 -1
  222. package/fesm2015/fundamental-ngx-core-slider.mjs +2 -6
  223. package/fesm2015/fundamental-ngx-core-slider.mjs.map +1 -1
  224. package/fesm2015/fundamental-ngx-core-status-indicator.mjs +3 -7
  225. package/fesm2015/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  226. package/fesm2015/fundamental-ngx-core-table.mjs +64 -48
  227. package/fesm2015/fundamental-ngx-core-table.mjs.map +1 -1
  228. package/fesm2015/fundamental-ngx-core-tabs.mjs +6 -22
  229. package/fesm2015/fundamental-ngx-core-tabs.mjs.map +1 -1
  230. package/fesm2015/fundamental-ngx-core-tile.mjs +22 -54
  231. package/fesm2015/fundamental-ngx-core-tile.mjs.map +1 -1
  232. package/fesm2015/fundamental-ngx-core-token.mjs +13 -21
  233. package/fesm2015/fundamental-ngx-core-token.mjs.map +1 -1
  234. package/fesm2015/fundamental-ngx-core-toolbar.mjs +1 -1
  235. package/fesm2015/fundamental-ngx-core-toolbar.mjs.map +1 -1
  236. package/fesm2015/fundamental-ngx-core-tree.mjs +3 -11
  237. package/fesm2015/fundamental-ngx-core-tree.mjs.map +1 -1
  238. package/fesm2015/fundamental-ngx-core-upload-collection.mjs +1 -1
  239. package/fesm2015/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  240. package/fesm2015/fundamental-ngx-core-wizard.mjs +1 -1
  241. package/fesm2015/fundamental-ngx-core-wizard.mjs.map +1 -1
  242. package/fesm2020/fundamental-ngx-core-alert.mjs +48 -58
  243. package/fesm2020/fundamental-ngx-core-alert.mjs.map +1 -1
  244. package/fesm2020/fundamental-ngx-core-avatar-group.mjs +6 -18
  245. package/fesm2020/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  246. package/fesm2020/fundamental-ngx-core-avatar.mjs +5 -9
  247. package/fesm2020/fundamental-ngx-core-avatar.mjs.map +1 -1
  248. package/fesm2020/fundamental-ngx-core-bar.mjs +2 -6
  249. package/fesm2020/fundamental-ngx-core-bar.mjs.map +1 -1
  250. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs +2 -2
  251. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  252. package/fesm2020/fundamental-ngx-core-busy-indicator.mjs +3 -7
  253. package/fesm2020/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  254. package/fesm2020/fundamental-ngx-core-button.mjs +2 -8
  255. package/fesm2020/fundamental-ngx-core-button.mjs.map +1 -1
  256. package/fesm2020/fundamental-ngx-core-card.mjs +31 -91
  257. package/fesm2020/fundamental-ngx-core-card.mjs.map +1 -1
  258. package/fesm2020/fundamental-ngx-core-checkbox.mjs +2 -2
  259. package/fesm2020/fundamental-ngx-core-checkbox.mjs.map +1 -1
  260. package/fesm2020/fundamental-ngx-core-content-density.mjs +2 -2
  261. package/fesm2020/fundamental-ngx-core-content-density.mjs.map +1 -1
  262. package/fesm2020/fundamental-ngx-core-dialog.mjs +18 -23
  263. package/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
  264. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs +7 -15
  265. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  266. package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs +2 -6
  267. package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
  268. package/fesm2020/fundamental-ngx-core-facets.mjs +15 -25
  269. package/fesm2020/fundamental-ngx-core-facets.mjs.map +1 -1
  270. package/fesm2020/fundamental-ngx-core-feed-input.mjs +2 -6
  271. package/fesm2020/fundamental-ngx-core-feed-input.mjs.map +1 -1
  272. package/fesm2020/fundamental-ngx-core-feed-list-item.mjs +4 -12
  273. package/fesm2020/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  274. package/fesm2020/fundamental-ngx-core-form.mjs +6 -18
  275. package/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  276. package/fesm2020/fundamental-ngx-core-icon.mjs +2 -6
  277. package/fesm2020/fundamental-ngx-core-icon.mjs.map +1 -1
  278. package/fesm2020/fundamental-ngx-core-illustrated-message.mjs +2 -6
  279. package/fesm2020/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  280. package/fesm2020/fundamental-ngx-core-info-label.mjs +2 -6
  281. package/fesm2020/fundamental-ngx-core-info-label.mjs.map +1 -1
  282. package/fesm2020/fundamental-ngx-core-inline-help.mjs +24 -13
  283. package/fesm2020/fundamental-ngx-core-inline-help.mjs.map +1 -1
  284. package/fesm2020/fundamental-ngx-core-input-group.mjs +6 -14
  285. package/fesm2020/fundamental-ngx-core-input-group.mjs.map +1 -1
  286. package/fesm2020/fundamental-ngx-core-layout-grid.mjs +4 -12
  287. package/fesm2020/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  288. package/fesm2020/fundamental-ngx-core-layout-panel.mjs +2 -6
  289. package/fesm2020/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  290. package/fesm2020/fundamental-ngx-core-link.mjs +8 -12
  291. package/fesm2020/fundamental-ngx-core-link.mjs.map +1 -1
  292. package/fesm2020/fundamental-ngx-core-list.mjs +6 -18
  293. package/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
  294. package/fesm2020/fundamental-ngx-core-menu.mjs +1 -1
  295. package/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
  296. package/fesm2020/fundamental-ngx-core-message-box.mjs +0 -8
  297. package/fesm2020/fundamental-ngx-core-message-box.mjs.map +1 -1
  298. package/fesm2020/fundamental-ngx-core-message-page.mjs +2 -6
  299. package/fesm2020/fundamental-ngx-core-message-page.mjs.map +1 -1
  300. package/fesm2020/fundamental-ngx-core-message-strip.mjs +4 -8
  301. package/fesm2020/fundamental-ngx-core-message-strip.mjs.map +1 -1
  302. package/fesm2020/fundamental-ngx-core-multi-input.mjs +29 -15
  303. package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
  304. package/fesm2020/fundamental-ngx-core-notification.mjs +5 -13
  305. package/fesm2020/fundamental-ngx-core-notification.mjs.map +1 -1
  306. package/fesm2020/fundamental-ngx-core-object-marker.mjs +2 -6
  307. package/fesm2020/fundamental-ngx-core-object-marker.mjs.map +1 -1
  308. package/fesm2020/fundamental-ngx-core-object-number.mjs +2 -6
  309. package/fesm2020/fundamental-ngx-core-object-number.mjs.map +1 -1
  310. package/fesm2020/fundamental-ngx-core-object-status.mjs +2 -6
  311. package/fesm2020/fundamental-ngx-core-object-status.mjs.map +1 -1
  312. package/fesm2020/fundamental-ngx-core-panel.mjs +2 -6
  313. package/fesm2020/fundamental-ngx-core-panel.mjs.map +1 -1
  314. package/fesm2020/fundamental-ngx-core-popover.mjs +4 -1
  315. package/fesm2020/fundamental-ngx-core-popover.mjs.map +1 -1
  316. package/fesm2020/fundamental-ngx-core-product-switch.mjs +1 -1
  317. package/fesm2020/fundamental-ngx-core-product-switch.mjs.map +1 -1
  318. package/fesm2020/fundamental-ngx-core-radio.mjs +1 -1
  319. package/fesm2020/fundamental-ngx-core-radio.mjs.map +1 -1
  320. package/fesm2020/fundamental-ngx-core-rating-indicator.mjs +2 -6
  321. package/fesm2020/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  322. package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs +5 -13
  323. package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  324. package/fesm2020/fundamental-ngx-core-segmented-button.mjs +3 -3
  325. package/fesm2020/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  326. package/fesm2020/fundamental-ngx-core-select.mjs +3 -3
  327. package/fesm2020/fundamental-ngx-core-select.mjs.map +1 -1
  328. package/fesm2020/fundamental-ngx-core-slider.mjs +2 -6
  329. package/fesm2020/fundamental-ngx-core-slider.mjs.map +1 -1
  330. package/fesm2020/fundamental-ngx-core-status-indicator.mjs +3 -7
  331. package/fesm2020/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  332. package/fesm2020/fundamental-ngx-core-table.mjs +64 -48
  333. package/fesm2020/fundamental-ngx-core-table.mjs.map +1 -1
  334. package/fesm2020/fundamental-ngx-core-tabs.mjs +6 -22
  335. package/fesm2020/fundamental-ngx-core-tabs.mjs.map +1 -1
  336. package/fesm2020/fundamental-ngx-core-tile.mjs +22 -54
  337. package/fesm2020/fundamental-ngx-core-tile.mjs.map +1 -1
  338. package/fesm2020/fundamental-ngx-core-token.mjs +13 -21
  339. package/fesm2020/fundamental-ngx-core-token.mjs.map +1 -1
  340. package/fesm2020/fundamental-ngx-core-toolbar.mjs +1 -1
  341. package/fesm2020/fundamental-ngx-core-toolbar.mjs.map +1 -1
  342. package/fesm2020/fundamental-ngx-core-tree.mjs +3 -11
  343. package/fesm2020/fundamental-ngx-core-tree.mjs.map +1 -1
  344. package/fesm2020/fundamental-ngx-core-upload-collection.mjs +1 -1
  345. package/fesm2020/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  346. package/fesm2020/fundamental-ngx-core-wizard.mjs +1 -1
  347. package/fesm2020/fundamental-ngx-core-wizard.mjs.map +1 -1
  348. package/form/form-control/form-control.component.d.ts +2 -4
  349. package/form/form-group/form-group.component.d.ts +2 -4
  350. package/form/form-message/form-message.component.d.ts +2 -4
  351. package/fundamental-ngx-core-v0.42.0-rc.21.tgz +0 -0
  352. package/icon/icon.component.d.ts +2 -4
  353. package/illustrated-message/illustrated-message.component.d.ts +2 -4
  354. package/info-label/info-label.component.d.ts +2 -4
  355. package/inline-help/inline-help.directive.d.ts +9 -3
  356. package/input-group/input-group-directives.d.ts +5 -9
  357. package/layout-grid/directives/layout-grid-col.directive.d.ts +2 -4
  358. package/layout-grid/layout-grid.component.d.ts +2 -4
  359. package/layout-panel/layout-panel-footer/layout-panel-footer.component.d.ts +4 -6
  360. package/link/link.component.d.ts +2 -4
  361. package/list/directives/list-icon.directive.d.ts +4 -5
  362. package/list/directives/list-navigation-item-text.directive.d.ts +2 -4
  363. package/list/list-message.directive.d.ts +2 -4
  364. package/message-box/message-box-container/message-box-container.component.d.ts +0 -2
  365. package/message-box/message-box.component.d.ts +0 -2
  366. package/message-page/message-page.component.d.ts +2 -4
  367. package/message-strip/message-strip.component.d.ts +4 -5
  368. package/multi-input/multi-input.component.d.ts +9 -5
  369. package/notification/directives/notification-indicator.directive.d.ts +2 -4
  370. package/notification/notification-group/notification-group.component.d.ts +2 -4
  371. package/object-marker/object-marker.component.d.ts +2 -4
  372. package/object-number/object-number.component.d.ts +2 -4
  373. package/object-status/object-status.component.d.ts +2 -4
  374. package/package.json +4 -4
  375. package/panel/panel.component.d.ts +2 -4
  376. package/radio/radio-button/radio-button.component.d.ts +1 -1
  377. package/rating-indicator/components/rating-indicator.component.d.ts +2 -4
  378. package/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.d.ts +2 -4
  379. package/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.d.ts +2 -4
  380. package/schematics/add-dependencies/index.js +6 -6
  381. package/slider/slider.component.d.ts +2 -4
  382. package/status-indicator/status-indicator.component.d.ts +2 -4
  383. package/table/directives/table-cell.directive.d.ts +6 -12
  384. package/table/directives/table-icon.directive.d.ts +2 -6
  385. package/table/directives/table-row.directive.d.ts +10 -10
  386. package/tabs/tab-item/tab-item.directive.d.ts +2 -4
  387. package/tabs/tab-nav/tab-nav.component.d.ts +4 -8
  388. package/tabs/tab-utils/tab-directives.d.ts +2 -6
  389. package/tile/directives/numeric-content.directives.d.ts +10 -20
  390. package/tile/directives/tile.directives.d.ts +6 -12
  391. package/tile/tile.component.d.ts +1 -1
  392. package/token/token-input.directive.d.ts +2 -4
  393. package/token/tokenizer.component.d.ts +2 -4
  394. package/toolbar/toolbar.component.d.ts +1 -1
  395. package/tree/models/base-tree-item.class.d.ts +1 -3
  396. package/tree/tree.component.d.ts +1 -3
  397. package/fundamental-ngx-core-v0.42.0-rc.2.tgz +0 -0
@@ -204,7 +204,7 @@ class ProductSwitchBodyComponent {
204
204
  }
205
205
  }
206
206
  ProductSwitchBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ProductSwitchBodyComponent, deps: [{ token: i1$1.ViewportRuler }, { token: i2$1.RtlService, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
207
- ProductSwitchBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ProductSwitchBodyComponent, selector: "fd-product-switch-body", inputs: { dragAndDropEnabled: "dragAndDropEnabled", products: "products", forceListMode: "forceListMode" }, outputs: { productsChange: "productsChange", itemClicked: "itemClicked" }, ngImport: i0, template: "<div\n class=\"fd-product-switch__body\"\n [class.fd-product-switch__body--col-3]=\"_isSmallMode() && !_isListMode()\"\n [class.fd-product-switch__body--mobile]=\"_isListMode()\"\n>\n <ul\n fd-dnd-list\n class=\"fd-product-switch__list\"\n [items]=\"products\"\n [gridMode]=\"!_isListMode()\"\n (itemDropped)=\"_productSwitchItemsChangeHandle($event)\"\n >\n <li\n fd-dnd-item\n *ngFor=\"let product of products\"\n tabindex=\"0\"\n class=\"fd-product-switch__item\"\n [class.selected]=\"product.selected\"\n (keydown)=\"_keyDownHandle($event)\"\n (click)=\"_itemClick(product, $event)\"\n [draggable]=\"!product.disabledDragAndDrop && dragAndDropEnabled\"\n [stickInPlace]=\"!!product.stickToPosition\"\n >\n <i\n role=\"presentation\"\n class=\"fd-product-switch__icon\"\n [class]=\"product.icon ? 'sap-icon--' + product.icon : ''\"\n ></i>\n <div class=\"fd-product-switch__text\">\n <div class=\"fd-product-switch__title\">{{ product.title }}</div>\n <div *ngIf=\"product.subtitle\" class=\"fd-product-switch__subtitle\">{{ product.subtitle }}</div>\n </div>\n </li>\n </ul>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.drag-placeholder{opacity:.3;position:absolute}/*!\n.fd-product-switch\n*/.fd-product-switch{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-product-switch:after,.fd-product-switch:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__list{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:47rem}.fd-product-switch__list:after,.fd-product-switch__list:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__item{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-flex:1;-ms-flex:1 0 25%;-webkit-box-shadow:var(--fdProductSwitch_Shadow);align-items:center;background-color:var(--sapList_Background);border:0;border-radius:var(--sapElement_BorderCornerRadius);box-shadow:var(--fdProductSwitch_Shadow);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex:1 0 25%;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:7rem;line-height:var(--sapContent_LineHeight);margin:0 .5rem .5rem 0;max-width:11.25rem;padding:.5rem;text-align:center}.fd-product-switch__item:after,.fd-product-switch__item:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__item .fd-product-switch__title:not(:last-child){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-product-switch__item .fd-product-switch__title:after,.fd-product-switch__item .fd-product-switch__title:before{background-color:var(--sapList_Background)}.fd-product-switch__item.is-hover,.fd-product-switch__item:hover{background-color:var(--sapList_Hover_Background);border:var(--fdProductSwitch_Border);cursor:pointer}.fd-product-switch__item.is-hover .fd-product-switch__title:after,.fd-product-switch__item.is-hover .fd-product-switch__title:before,.fd-product-switch__item:hover .fd-product-switch__title:after,.fd-product-switch__item:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_Background)}.fd-product-switch__item.is-active,.fd-product-switch__item:active{background-color:var(--sapList_Active_Background);border:var(--fdProductSwitch_Border)}.fd-product-switch__item.is-active.is-focus,.fd-product-switch__item.is-active:focus,.fd-product-switch__item:active.is-focus,.fd-product-switch__item:active:focus{outline-color:var(--sapContent_FocusColor);outline-color:var(--sapContent_ContrastFocusColor);outline-offset:-.1875rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-product-switch__item.is-active .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item.is-active .fd-product-switch__icon[class*=sap-icon],.fd-product-switch__item.is-active .fd-product-switch__subtitle,.fd-product-switch__item.is-active .fd-product-switch__title,.fd-product-switch__item:active .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item:active .fd-product-switch__icon[class*=sap-icon],.fd-product-switch__item:active .fd-product-switch__subtitle,.fd-product-switch__item:active .fd-product-switch__title{color:var(--sapList_Active_TextColor)}.fd-product-switch__item.is-active .fd-product-switch__title:after,.fd-product-switch__item.is-active .fd-product-switch__title:before,.fd-product-switch__item.is-active.is-hover .fd-product-switch__title:after,.fd-product-switch__item.is-active.is-hover .fd-product-switch__title:before,.fd-product-switch__item.is-active:hover .fd-product-switch__title:after,.fd-product-switch__item.is-active:hover .fd-product-switch__title:before,.fd-product-switch__item:active .fd-product-switch__title:after,.fd-product-switch__item:active .fd-product-switch__title:before,.fd-product-switch__item:active.is-hover .fd-product-switch__title:after,.fd-product-switch__item:active.is-hover .fd-product-switch__title:before,.fd-product-switch__item:active:hover .fd-product-switch__title:after,.fd-product-switch__item:active:hover .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__item.selected{border:.125rem solid var(--sapList_SelectionBorderColor)}.fd-product-switch__item.selected,.fd-product-switch__item.selected .fd-product-switch__title:after,.fd-product-switch__item.selected .fd-product-switch__title:before{background-color:var(--sapList_SelectionBackgroundColor)}.fd-product-switch__item.selected.is-hover,.fd-product-switch__item.selected.is-hover .fd-product-switch__title:after,.fd-product-switch__item.selected.is-hover .fd-product-switch__title:before,.fd-product-switch__item.selected:hover,.fd-product-switch__item.selected:hover .fd-product-switch__title:after,.fd-product-switch__item.selected:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_SelectionBackground)}.fd-product-switch__item.selected.is-active,.fd-product-switch__item.selected.is-active .fd-product-switch__title:after,.fd-product-switch__item.selected.is-active .fd-product-switch__title:before,.fd-product-switch__item.selected:active,.fd-product-switch__item.selected:active .fd-product-switch__title:after,.fd-product-switch__item.selected:active .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__item.is-focus,.fd-product-switch__item:focus{outline-color:var(--sapContent_FocusColor);outline-offset:-.1875rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-product-switch__item.dragged{box-shadow:var(--sapContent_Shadow2);cursor:grabbing}.fd-product-switch__item.dragged,.fd-product-switch__item.dragged:active,.fd-product-switch__item.dragged:hover{background-color:var(--sapList_Background)}.fd-product-switch__item.dragged:active .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item.dragged:active .fd-product-switch__icon[class*=sap-icon],.fd-product-switch__item.dragged:hover .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item.dragged:hover .fd-product-switch__icon[class*=sap-icon]{color:var(--sapContent_IconColor)}.fd-product-switch__item.dragged:active .fd-product-switch__title,.fd-product-switch__item.dragged:hover .fd-product-switch__title{color:var(--sapGroup_TitleTextColor)}.fd-product-switch__item.dragged:active .fd-product-switch__subtitle,.fd-product-switch__item.dragged:hover .fd-product-switch__subtitle{color:var(--sapContent_LabelColor)}.fd-product-switch__item.dragged.selected{-webkit-box-shadow:var(--sapContent_Shadow2);border:none;box-shadow:var(--sapContent_Shadow2)}.fd-product-switch__item.dragged.is-hover,.fd-product-switch__item.dragged:hover{outline:none}.fd-product-switch__icon [class*=sap-icon],.fd-product-switch__icon[class*=sap-icon]{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background:inherit;border-radius:inherit;color:inherit;color:var(--sapContent_IconColor);display:flex;font-size:inherit;font-size:1.5rem;justify-content:center;line-height:1;margin-bottom:.5rem;min-height:3rem;min-width:3rem}.fd-product-switch__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-height:2.5rem;overflow:hidden;padding:0;text-shadow:var(--fdProductSwitch_Text_Shadow);width:100%}.fd-product-switch__text:after,.fd-product-switch__text:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader6Size);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:1.25rem;margin:0;max-height:2.5rem;padding:0;white-space:normal;z-index:1}.fd-product-switch__title:after,.fd-product-switch__title:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__title.is-last-child,.fd-product-switch__title:last-child{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;white-space:normal}.fd-product-switch__title:before{left:9.4rem;width:1rem;z-index:2}.fd-product-switch__title:after{left:9.4rem;width:1rem;z-index:3}.fd-product-switch__subtitle{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:1.25rem;margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-product-switch__subtitle:after,.fd-product-switch__subtitle:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__body{-webkit-box-sizing:border-box;background-color:var(--sapList_Background);border:0;border-radius:var(--sapElement_BorderCornerRadius);box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-height:calc(100vh - 76px);overflow-y:auto;padding:1.5rem .5rem 1rem 1rem;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color);width:-moz-fit-content;width:fit-content}.fd-product-switch__body:after,.fd-product-switch__body:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__body.is-focus,.fd-product-switch__body:focus{outline:none;z-index:5}.fd-product-switch__body::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-product-switch__body::-webkit-scrollbar-corner,.fd-product-switch__body::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-product-switch__body::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-product-switch__body::-webkit-scrollbar-thumb:active,.fd-product-switch__body::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-product-switch__body--col-3 .fd-product-switch__list{width:35.25rem}.fd-product-switch__body--mobile{border-radius:0;max-width:100vw;overflow-x:hidden;padding:0;width:100%}.fd-product-switch__body--mobile .fd-product-switch__list{display:flex;flex-direction:column;width:100%}.fd-product-switch__body--mobile .fd-product-switch__item{-webkit-box-sizing:border-box;-webkit-box-flex:1;-ms-flex:auto;border:none;border-bottom:.0625rem solid var(--sapList_GroupHeaderBorderColor);border-radius:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex:auto;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-height:5rem;max-width:100%;padding:1rem;text-align:left}.fd-product-switch__body--mobile .fd-product-switch__item:after,.fd-product-switch__body--mobile .fd-product-switch__item:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:before{background-color:var(--sapTile_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.is-hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item:hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.is-active .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item:active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item:active .fd-product-switch__title:before{background-color:var(--sapList_SelectionBorderColor)}.fd-product-switch__body--mobile .fd-product-switch__item.is-active.is-focus,.fd-product-switch__body--mobile .fd-product-switch__item.is-active:focus,.fd-product-switch__body--mobile .fd-product-switch__item:active.is-focus,.fd-product-switch__body--mobile .fd-product-switch__item:active:focus{outline-color:var(--sapContent_FocusColor);outline-color:var(--sapContent_ContrastFocusColor);outline-offset:-.1875rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-product-switch__body--mobile .fd-product-switch__item.selected{-webkit-box-shadow:none;border-bottom-color:var(--sapList_SelectionBorderColor);box-shadow:none}.fd-product-switch__body--mobile .fd-product-switch__item.selected .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected .fd-product-switch__title:before{background-color:var(--sapList_SelectionBorderColor)}.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected:hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_SelectionBackground)}.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active.is-hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active.is-hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active:hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active:hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active.is-hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active.is-hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active:hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active:hover .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-focus,.fd-product-switch__body--mobile .fd-product-switch__item:focus{outline-color:var(--sapContent_FocusColor);outline-offset:-.1875rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:before{left:21.7rem;width:1rem;z-index:2}.fd-product-switch__body--mobile .fd-product-switch__text{-webkit-box-pack:justify;-ms-flex-pack:justify;display:flex;flex-direction:column;height:100%;justify-content:space-between}.fd-product-switch__body--mobile .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__body--mobile .fd-product-switch__icon[class*=sap-icon]{margin-bottom:0;margin-right:.75rem}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__icon[class*=sap-icon],[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__icon [class*=sap-icon],[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__icon[class*=sap-icon]{margin-left:.75rem;margin-right:0}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text{align-items:flex-start}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text .fd-product-switch__title:not(:last-child),[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text .fd-product-switch__title:not(:last-child){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text .fd-product-switch__title:not(:last-child):after,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text .fd-product-switch__title:not(:last-child):after{display:none}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text .fd-product-switch__title:not(:last-child):before,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text .fd-product-switch__title:not(:last-child):before{display:inline-flex}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__title:before,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:before{right:21.8rem;width:2rem}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__subtitle,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__subtitle{line-height:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__subtitle:before,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__subtitle:before{right:21.8rem;text-align:right;width:2rem;z-index:2}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__subtitle:after,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__subtitle:after{display:none;z-index:3}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item.is-active .fd-product-switch__subtitle,.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item:active .fd-product-switch__subtitle,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item.is-active .fd-product-switch__subtitle,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item:active .fd-product-switch__subtitle{color:var(--sapList_Active_TextColor)}.fd-product-switch__list{position:relative}.fd-product-switch__item.cdk-drag-dragging{outline:none;cursor:grabbing;box-shadow:0 0 0 .0625rem #00000026,0 .625rem 1.875rem #0000004d}.fd-product-switch__body--mobile .fd-product-switch__item.cdk-drag-dragging{outline:none;box-shadow:0 0 0 .0625rem #00000026,0 .625rem 1.875rem #0000004d}.fd-dnd-item{position:relative}.fd-dnd-item.fd-dnd-on-drag{background-color:#fff;background-color:var(--sapList_Background, #fff);z-index:15}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__title:before,.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__title:after{background-color:#fff;background-color:var(--sapList_Background, #fff)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__icon{color:#0854a0;color:var(--sapContent_IconColor, #0854a0)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__title{color:#32363a;color:var(--sapGroup_TitleTextColor, #32363a)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__subtitle{color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item:active,.fd-dnd-item.fd-dnd-on-drag.selected{background-color:#fff;background-color:var(--sapList_Background, #fff)}[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__title,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__subtitle{text-align:right}\n", ".cdk-drag-dragging{z-index:15;background-color:#fff;background-color:var(--sapList_Background, #fff);opacity:.8;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.fd-replace-indicator{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;border-width:.125rem;border-style:solid;background-color:transparent;border-color:#0854a0;border-color:var(--sapContent_DragAndDropActiveColor)}.fd-replace-indicator:before{content:\"\";display:block;position:absolute;width:100%;height:100%;top:0;left:0;background-color:#0854a0;background-color:var(--sapContent_DragAndDropActiveColor, #0854a0);opacity:.5}.cdk-drag{cursor:grab}.cdk-drag.cdk-drag-dragging{cursor:grabbing}.cdk-drag-dragging{outline:none;cursor:grabbing;box-shadow:0 0 0 .0625rem #00000026,0 .625rem 1.875rem #0000004d}.cdk-drag-disabled{cursor:default}.fd-dnd-placeholder{top:0;left:0;position:absolute;opacity:.3;z-index:-1}.fd-dnd-item{position:relative;cursor:grab}.fd-dnd-item.fd-dnd-on-drag{background-color:#fff;background-color:var(--sapList_Background, #fff);z-index:15;cursor:grabbing}.drop-area__line{z-index:9999;position:absolute;background:#0854a0;background:var(--sapContent_DragAndDropActiveColor, #0854a0)}.drop-area__line--vertical{top:0;height:calc(100% - .5rem);width:2px}.drop-area__line--vertical.after{right:.2rem}.drop-area__line--vertical.before{left:-.3rem}.drop-area__line--vertical:before{background-color:#fff;background-color:var(--sapList_Background, #fff);content:\"\";position:absolute;left:-.2rem;top:-.5rem;border-radius:50%;width:.5rem;height:.5rem;border-width:.125rem;border-style:solid;border-color:#0854a0;border-color:var(--sapContent_DragAndDropActiveColor, #0854a0)}.drop-area__line--horizontal{left:0;width:100%;height:2px}.drop-area__line--horizontal.before{top:0}.drop-area__line--horizontal.after{bottom:0}.drop-area__line--horizontal:before{background-color:#fff;background-color:var(--sapList_Background, #fff);content:\"\";position:absolute;left:0;top:-.2rem;border-radius:50%;width:.5rem;height:.5rem;border-width:.125rem;border-style:solid;border-color:#0854a0;border-color:var(--sapContent_DragAndDropActiveColor, #0854a0)}.fd-dnd-list{position:relative}\n"], dependencies: [{ kind: "directive", type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.DndItemDirective, selector: "[fdkDndItem], [fd-dnd-item]", inputs: ["fdkDndItem", "applyDragItemClass", "containerSelector", "stickInPlace", "draggable", "classWhenElementDragged"], outputs: ["moved", "released", "started"] }, { kind: "directive", type: i2$1.DndListDirective, selector: "[fdkDndList], [fd-dnd-list]", inputs: ["gridMode", "dropMode", "threshold", "replaceMode", "items", "draggable", "dropPredicate", "dragoverPredicate"], outputs: ["dropPredicateCalculating", "itemsChange", "itemDropped"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
207
+ ProductSwitchBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ProductSwitchBodyComponent, selector: "fd-product-switch-body", inputs: { dragAndDropEnabled: "dragAndDropEnabled", products: "products", forceListMode: "forceListMode" }, outputs: { productsChange: "productsChange", itemClicked: "itemClicked" }, ngImport: i0, template: "<div\n class=\"fd-product-switch__body\"\n [class.fd-product-switch__body--col-3]=\"_isSmallMode() && !_isListMode()\"\n [class.fd-product-switch__body--mobile]=\"_isListMode()\"\n>\n <ul\n fd-dnd-list\n class=\"fd-product-switch__list\"\n [items]=\"products\"\n [gridMode]=\"!_isListMode()\"\n (itemDropped)=\"_productSwitchItemsChangeHandle($event)\"\n >\n <li\n fd-dnd-item\n *ngFor=\"let product of products\"\n tabindex=\"0\"\n class=\"fd-product-switch__item\"\n [class.selected]=\"product.selected\"\n (keydown)=\"_keyDownHandle($event)\"\n (click)=\"_itemClick(product, $event)\"\n [draggable]=\"!product.disabledDragAndDrop && dragAndDropEnabled\"\n [stickInPlace]=\"!!product.stickToPosition\"\n >\n <i\n role=\"presentation\"\n class=\"fd-product-switch__icon\"\n [class]=\"product.icon ? 'sap-icon--' + product.icon : ''\"\n ></i>\n <div class=\"fd-product-switch__text\">\n <div class=\"fd-product-switch__title\">{{ product.title }}</div>\n <div *ngIf=\"product.subtitle\" class=\"fd-product-switch__subtitle\">{{ product.subtitle }}</div>\n </div>\n </li>\n </ul>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.drag-placeholder{opacity:.3;position:absolute}/*!\n.fd-product-switch\n*/.fd-product-switch{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-product-switch:after,.fd-product-switch:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__list{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:47rem}.fd-product-switch__list:after,.fd-product-switch__list:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__item{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-flex:1;-ms-flex:1 0 25%;-webkit-box-shadow:var(--fdProductSwitch_Shadow);align-items:center;background-color:var(--sapList_Background);border:0;border-radius:var(--sapElement_BorderCornerRadius);box-shadow:var(--fdProductSwitch_Shadow);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex:1 0 25%;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:7rem;line-height:var(--sapContent_LineHeight);margin:0 .5rem .5rem 0;max-width:11.25rem;padding:.5rem;text-align:center}.fd-product-switch__item:after,.fd-product-switch__item:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__item .fd-product-switch__title:not(:last-child){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-product-switch__item .fd-product-switch__title:after,.fd-product-switch__item .fd-product-switch__title:before{background-color:var(--sapList_Background)}.fd-product-switch__item.is-hover,.fd-product-switch__item:hover{background-color:var(--sapList_Hover_Background);border:var(--fdProductSwitch_Border);cursor:pointer}.fd-product-switch__item.is-hover .fd-product-switch__title:after,.fd-product-switch__item.is-hover .fd-product-switch__title:before,.fd-product-switch__item:hover .fd-product-switch__title:after,.fd-product-switch__item:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_Background)}.fd-product-switch__item.is-active,.fd-product-switch__item:active{background-color:var(--sapList_Active_Background);border:var(--fdProductSwitch_Border)}.fd-product-switch__item.is-active.is-focus,.fd-product-switch__item.is-active:focus,.fd-product-switch__item:active.is-focus,.fd-product-switch__item:active:focus{outline-color:var(--sapContent_FocusColor);outline-color:var(--sapContent_ContrastFocusColor);outline-offset:-.1875rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-product-switch__item.is-active .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item.is-active .fd-product-switch__icon[class*=sap-icon],.fd-product-switch__item.is-active .fd-product-switch__subtitle,.fd-product-switch__item.is-active .fd-product-switch__title,.fd-product-switch__item:active .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item:active .fd-product-switch__icon[class*=sap-icon],.fd-product-switch__item:active .fd-product-switch__subtitle,.fd-product-switch__item:active .fd-product-switch__title{color:var(--sapList_Active_TextColor)}.fd-product-switch__item.is-active .fd-product-switch__title:after,.fd-product-switch__item.is-active .fd-product-switch__title:before,.fd-product-switch__item.is-active.is-hover .fd-product-switch__title:after,.fd-product-switch__item.is-active.is-hover .fd-product-switch__title:before,.fd-product-switch__item.is-active:hover .fd-product-switch__title:after,.fd-product-switch__item.is-active:hover .fd-product-switch__title:before,.fd-product-switch__item:active .fd-product-switch__title:after,.fd-product-switch__item:active .fd-product-switch__title:before,.fd-product-switch__item:active.is-hover .fd-product-switch__title:after,.fd-product-switch__item:active.is-hover .fd-product-switch__title:before,.fd-product-switch__item:active:hover .fd-product-switch__title:after,.fd-product-switch__item:active:hover .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__item.selected{border:.125rem solid var(--sapList_SelectionBorderColor)}.fd-product-switch__item.selected,.fd-product-switch__item.selected .fd-product-switch__title:after,.fd-product-switch__item.selected .fd-product-switch__title:before{background-color:var(--sapList_SelectionBackgroundColor)}.fd-product-switch__item.selected.is-hover,.fd-product-switch__item.selected.is-hover .fd-product-switch__title:after,.fd-product-switch__item.selected.is-hover .fd-product-switch__title:before,.fd-product-switch__item.selected:hover,.fd-product-switch__item.selected:hover .fd-product-switch__title:after,.fd-product-switch__item.selected:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_SelectionBackground)}.fd-product-switch__item.selected.is-active,.fd-product-switch__item.selected.is-active .fd-product-switch__title:after,.fd-product-switch__item.selected.is-active .fd-product-switch__title:before,.fd-product-switch__item.selected:active,.fd-product-switch__item.selected:active .fd-product-switch__title:after,.fd-product-switch__item.selected:active .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__item.is-focus,.fd-product-switch__item:focus{outline-color:var(--sapContent_FocusColor);outline-offset:-.1875rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-product-switch__item.dragged{box-shadow:var(--sapContent_Shadow2);cursor:grabbing}.fd-product-switch__item.dragged,.fd-product-switch__item.dragged:active,.fd-product-switch__item.dragged:hover{background-color:var(--sapList_Background)}.fd-product-switch__item.dragged:active .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item.dragged:active .fd-product-switch__icon[class*=sap-icon],.fd-product-switch__item.dragged:hover .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item.dragged:hover .fd-product-switch__icon[class*=sap-icon]{color:var(--sapContent_IconColor)}.fd-product-switch__item.dragged:active .fd-product-switch__title,.fd-product-switch__item.dragged:hover .fd-product-switch__title{color:var(--sapGroup_TitleTextColor)}.fd-product-switch__item.dragged:active .fd-product-switch__subtitle,.fd-product-switch__item.dragged:hover .fd-product-switch__subtitle{color:var(--sapContent_LabelColor)}.fd-product-switch__item.dragged.selected{-webkit-box-shadow:var(--sapContent_Shadow2);border:none;box-shadow:var(--sapContent_Shadow2)}.fd-product-switch__item.dragged.is-hover,.fd-product-switch__item.dragged:hover{outline:none}.fd-product-switch__icon [class*=sap-icon],.fd-product-switch__icon[class*=sap-icon]{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background:inherit;border-radius:inherit;color:inherit;color:var(--sapContent_IconColor);display:flex;font-size:inherit;font-size:1.5rem;justify-content:center;line-height:1;margin-bottom:.5rem;min-height:3rem;min-width:3rem}.fd-product-switch__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-height:2.5rem;overflow:hidden;padding:0;text-shadow:var(--fdProductSwitch_Text_Shadow);width:100%}.fd-product-switch__text:after,.fd-product-switch__text:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader6Size);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:1.25rem;margin:0;max-height:2.5rem;padding:0;white-space:normal;z-index:1}.fd-product-switch__title:after,.fd-product-switch__title:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__title.is-last-child,.fd-product-switch__title:last-child{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;white-space:normal}.fd-product-switch__title:before{left:9.4rem;width:1rem;z-index:2}.fd-product-switch__title:after{left:9.4rem;width:1rem;z-index:3}.fd-product-switch__subtitle{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:1.25rem;margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-product-switch__subtitle:after,.fd-product-switch__subtitle:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__body{-webkit-box-sizing:border-box;background-color:var(--sapList_Background);border:0;border-radius:var(--sapElement_BorderCornerRadius);box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-height:calc(100vh - 76px);overflow-y:auto;padding:1.5rem .5rem 1rem 1rem;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color);width:-moz-fit-content;width:fit-content}.fd-product-switch__body:after,.fd-product-switch__body:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__body.is-focus,.fd-product-switch__body:focus{outline:none;z-index:5}.fd-product-switch__body::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-product-switch__body::-webkit-scrollbar-corner,.fd-product-switch__body::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-product-switch__body::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-product-switch__body::-webkit-scrollbar-thumb:active,.fd-product-switch__body::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-product-switch__body--col-3 .fd-product-switch__list{width:35.25rem}.fd-product-switch__body--mobile{border-radius:0;max-width:100vw;overflow-x:hidden;padding:0;width:100%}.fd-product-switch__body--mobile .fd-product-switch__list{display:flex;flex-direction:column;width:100%}.fd-product-switch__body--mobile .fd-product-switch__item{-webkit-box-sizing:border-box;-webkit-box-flex:1;-ms-flex:auto;border:none;border-bottom:.0625rem solid var(--sapList_GroupHeaderBorderColor);border-radius:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex:auto;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-height:5rem;max-width:100%;padding:1rem;text-align:left}.fd-product-switch__body--mobile .fd-product-switch__item:after,.fd-product-switch__body--mobile .fd-product-switch__item:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:before{background-color:var(--sapTile_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.is-hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item:hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.is-active .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item:active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item:active .fd-product-switch__title:before{background-color:var(--sapList_SelectionBorderColor)}.fd-product-switch__body--mobile .fd-product-switch__item.is-active.is-focus,.fd-product-switch__body--mobile .fd-product-switch__item.is-active:focus,.fd-product-switch__body--mobile .fd-product-switch__item:active.is-focus,.fd-product-switch__body--mobile .fd-product-switch__item:active:focus{outline-color:var(--sapContent_FocusColor);outline-color:var(--sapContent_ContrastFocusColor);outline-offset:-.1875rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-product-switch__body--mobile .fd-product-switch__item.selected{-webkit-box-shadow:none;border-bottom-color:var(--sapList_SelectionBorderColor);box-shadow:none}.fd-product-switch__body--mobile .fd-product-switch__item.selected .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected .fd-product-switch__title:before{background-color:var(--sapList_SelectionBorderColor)}.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected:hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_SelectionBackground)}.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active.is-hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active.is-hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active:hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active:hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active.is-hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active.is-hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active:hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active:hover .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-focus,.fd-product-switch__body--mobile .fd-product-switch__item:focus{outline-color:var(--sapContent_FocusColor);outline-offset:-.1875rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:before{left:21.7rem;width:1rem;z-index:2}.fd-product-switch__body--mobile .fd-product-switch__text{-webkit-box-pack:justify;-ms-flex-pack:justify;display:flex;flex-direction:column;height:100%;justify-content:space-between}.fd-product-switch__body--mobile .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__body--mobile .fd-product-switch__icon[class*=sap-icon]{margin-bottom:0;margin-right:.75rem}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__icon[class*=sap-icon],[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__icon [class*=sap-icon],[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__icon[class*=sap-icon]{margin-left:.75rem;margin-right:0}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text{align-items:flex-start}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text .fd-product-switch__title:not(:last-child),[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text .fd-product-switch__title:not(:last-child){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text .fd-product-switch__title:not(:last-child):after,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text .fd-product-switch__title:not(:last-child):after{display:none}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text .fd-product-switch__title:not(:last-child):before,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text .fd-product-switch__title:not(:last-child):before{display:inline-flex}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__title:before,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:before{right:21.8rem;width:2rem}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__subtitle,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__subtitle{line-height:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__subtitle:before,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__subtitle:before{right:21.8rem;text-align:right;width:2rem;z-index:2}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__subtitle:after,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__subtitle:after{display:none;z-index:3}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item.is-active .fd-product-switch__subtitle,.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item:active .fd-product-switch__subtitle,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item.is-active .fd-product-switch__subtitle,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item:active .fd-product-switch__subtitle{color:var(--sapList_Active_TextColor)}.fd-product-switch__list{position:relative}.fd-product-switch__item.cdk-drag-dragging{outline:none;cursor:grabbing;box-shadow:0 0 0 .0625rem #00000026,0 .625rem 1.875rem #0000004d}.fd-product-switch__body--mobile .fd-product-switch__item.cdk-drag-dragging{outline:none;box-shadow:0 0 0 .0625rem #00000026,0 .625rem 1.875rem #0000004d}.fd-dnd-item{position:relative}.fd-dnd-item.fd-dnd-on-drag{background-color:#fff;background-color:var(--sapList_Background, #fff);z-index:15}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__title:before,.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__title:after{background-color:#fff;background-color:var(--sapList_Background, #fff)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__icon{color:#0854a0;color:var(--sapContent_IconColor, #0854a0)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__title{color:#32363a;color:var(--sapGroup_TitleTextColor, #32363a)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__subtitle{color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item:active,.fd-dnd-item.fd-dnd-on-drag.selected{background-color:#fff;background-color:var(--sapList_Background, #fff)}[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__title,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__subtitle{text-align:right}\n", ".cdk-drag-dragging{z-index:15;background-color:#fff;background-color:var(--sapList_Background, #fff);opacity:.8;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.fd-replace-indicator{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;border-width:.125rem;border-style:solid;background-color:transparent;border-color:#0854a0;border-color:var(--sapContent_DragAndDropActiveColor)}.fd-replace-indicator:before{content:\"\";display:block;position:absolute;width:100%;height:100%;top:0;left:0;background-color:#0854a0;background-color:var(--sapContent_DragAndDropActiveColor, #0854a0);opacity:.5}.cdk-drag{cursor:grab}.cdk-drag.cdk-drag-dragging{cursor:grabbing}.cdk-drag-dragging{outline:none;cursor:grabbing;box-shadow:0 0 0 .0625rem #00000026,0 .625rem 1.875rem #0000004d}.cdk-drag-disabled{cursor:default}.fd-dnd-placeholder{top:0;left:0;position:absolute;opacity:.3;z-index:-1}.fd-dnd-item{position:relative;cursor:grab}.fd-dnd-item.fd-dnd-on-drag{background-color:#fff;background-color:var(--sapList_Background, #fff);z-index:15;cursor:grabbing}.drop-area__line{z-index:9999;position:absolute;background:#0854a0;background:var(--sapContent_DragAndDropActiveColor, #0854a0)}.drop-area__line--vertical{top:0;height:calc(100% - .5rem);width:2px}.drop-area__line--vertical.after{right:.2rem}.drop-area__line--vertical.before{left:-.3rem}.drop-area__line--vertical:before{background-color:#fff;background-color:var(--sapList_Background, #fff);content:\"\";position:absolute;left:-.2rem;top:-.5rem;border-radius:50%;width:.5rem;height:.5rem;border-width:.125rem;border-style:solid;border-color:#0854a0;border-color:var(--sapContent_DragAndDropActiveColor, #0854a0)}.drop-area__line--horizontal{left:0;width:100%;height:2px}.drop-area__line--horizontal.before{top:0}.drop-area__line--horizontal.after{bottom:0}.drop-area__line--horizontal:before{background-color:#fff;background-color:var(--sapList_Background, #fff);content:\"\";position:absolute;left:0;top:-.2rem;border-radius:50%;width:.5rem;height:.5rem;border-width:.125rem;border-style:solid;border-color:#0854a0;border-color:var(--sapContent_DragAndDropActiveColor, #0854a0)}.fd-dnd-list{position:relative}\n"], dependencies: [{ kind: "directive", type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.DndItemDirective, selector: "[fdkDndItem], [fd-dnd-item]", inputs: ["fdkDndItem", "applyDragItemClass", "containerSelector", "stickInPlace", "draggable", "classWhenElementDragged"], outputs: ["moved", "released", "started"] }, { kind: "directive", type: i2$1.DndListDirective, selector: "[fdkDndList], [fd-dnd-list]", inputs: ["gridMode", "dropMode", "threshold", "replaceMode", "items", "draggable", "dropPredicate", "dragoverPredicate"], outputs: ["dropPredicateCalculating", "itemsChange", "itemDropped", "dropCancelled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
208
208
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ProductSwitchBodyComponent, decorators: [{
209
209
  type: Component,
210
210
  args: [{ selector: 'fd-product-switch-body', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"fd-product-switch__body\"\n [class.fd-product-switch__body--col-3]=\"_isSmallMode() && !_isListMode()\"\n [class.fd-product-switch__body--mobile]=\"_isListMode()\"\n>\n <ul\n fd-dnd-list\n class=\"fd-product-switch__list\"\n [items]=\"products\"\n [gridMode]=\"!_isListMode()\"\n (itemDropped)=\"_productSwitchItemsChangeHandle($event)\"\n >\n <li\n fd-dnd-item\n *ngFor=\"let product of products\"\n tabindex=\"0\"\n class=\"fd-product-switch__item\"\n [class.selected]=\"product.selected\"\n (keydown)=\"_keyDownHandle($event)\"\n (click)=\"_itemClick(product, $event)\"\n [draggable]=\"!product.disabledDragAndDrop && dragAndDropEnabled\"\n [stickInPlace]=\"!!product.stickToPosition\"\n >\n <i\n role=\"presentation\"\n class=\"fd-product-switch__icon\"\n [class]=\"product.icon ? 'sap-icon--' + product.icon : ''\"\n ></i>\n <div class=\"fd-product-switch__text\">\n <div class=\"fd-product-switch__title\">{{ product.title }}</div>\n <div *ngIf=\"product.subtitle\" class=\"fd-product-switch__subtitle\">{{ product.subtitle }}</div>\n </div>\n </li>\n </ul>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.drag-placeholder{opacity:.3;position:absolute}/*!\n.fd-product-switch\n*/.fd-product-switch{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-product-switch:after,.fd-product-switch:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__list{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:47rem}.fd-product-switch__list:after,.fd-product-switch__list:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__item{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-flex:1;-ms-flex:1 0 25%;-webkit-box-shadow:var(--fdProductSwitch_Shadow);align-items:center;background-color:var(--sapList_Background);border:0;border-radius:var(--sapElement_BorderCornerRadius);box-shadow:var(--fdProductSwitch_Shadow);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex:1 0 25%;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:7rem;line-height:var(--sapContent_LineHeight);margin:0 .5rem .5rem 0;max-width:11.25rem;padding:.5rem;text-align:center}.fd-product-switch__item:after,.fd-product-switch__item:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__item .fd-product-switch__title:not(:last-child){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-product-switch__item .fd-product-switch__title:after,.fd-product-switch__item .fd-product-switch__title:before{background-color:var(--sapList_Background)}.fd-product-switch__item.is-hover,.fd-product-switch__item:hover{background-color:var(--sapList_Hover_Background);border:var(--fdProductSwitch_Border);cursor:pointer}.fd-product-switch__item.is-hover .fd-product-switch__title:after,.fd-product-switch__item.is-hover .fd-product-switch__title:before,.fd-product-switch__item:hover .fd-product-switch__title:after,.fd-product-switch__item:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_Background)}.fd-product-switch__item.is-active,.fd-product-switch__item:active{background-color:var(--sapList_Active_Background);border:var(--fdProductSwitch_Border)}.fd-product-switch__item.is-active.is-focus,.fd-product-switch__item.is-active:focus,.fd-product-switch__item:active.is-focus,.fd-product-switch__item:active:focus{outline-color:var(--sapContent_FocusColor);outline-color:var(--sapContent_ContrastFocusColor);outline-offset:-.1875rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-product-switch__item.is-active .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item.is-active .fd-product-switch__icon[class*=sap-icon],.fd-product-switch__item.is-active .fd-product-switch__subtitle,.fd-product-switch__item.is-active .fd-product-switch__title,.fd-product-switch__item:active .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item:active .fd-product-switch__icon[class*=sap-icon],.fd-product-switch__item:active .fd-product-switch__subtitle,.fd-product-switch__item:active .fd-product-switch__title{color:var(--sapList_Active_TextColor)}.fd-product-switch__item.is-active .fd-product-switch__title:after,.fd-product-switch__item.is-active .fd-product-switch__title:before,.fd-product-switch__item.is-active.is-hover .fd-product-switch__title:after,.fd-product-switch__item.is-active.is-hover .fd-product-switch__title:before,.fd-product-switch__item.is-active:hover .fd-product-switch__title:after,.fd-product-switch__item.is-active:hover .fd-product-switch__title:before,.fd-product-switch__item:active .fd-product-switch__title:after,.fd-product-switch__item:active .fd-product-switch__title:before,.fd-product-switch__item:active.is-hover .fd-product-switch__title:after,.fd-product-switch__item:active.is-hover .fd-product-switch__title:before,.fd-product-switch__item:active:hover .fd-product-switch__title:after,.fd-product-switch__item:active:hover .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__item.selected{border:.125rem solid var(--sapList_SelectionBorderColor)}.fd-product-switch__item.selected,.fd-product-switch__item.selected .fd-product-switch__title:after,.fd-product-switch__item.selected .fd-product-switch__title:before{background-color:var(--sapList_SelectionBackgroundColor)}.fd-product-switch__item.selected.is-hover,.fd-product-switch__item.selected.is-hover .fd-product-switch__title:after,.fd-product-switch__item.selected.is-hover .fd-product-switch__title:before,.fd-product-switch__item.selected:hover,.fd-product-switch__item.selected:hover .fd-product-switch__title:after,.fd-product-switch__item.selected:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_SelectionBackground)}.fd-product-switch__item.selected.is-active,.fd-product-switch__item.selected.is-active .fd-product-switch__title:after,.fd-product-switch__item.selected.is-active .fd-product-switch__title:before,.fd-product-switch__item.selected:active,.fd-product-switch__item.selected:active .fd-product-switch__title:after,.fd-product-switch__item.selected:active .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__item.is-focus,.fd-product-switch__item:focus{outline-color:var(--sapContent_FocusColor);outline-offset:-.1875rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-product-switch__item.dragged{box-shadow:var(--sapContent_Shadow2);cursor:grabbing}.fd-product-switch__item.dragged,.fd-product-switch__item.dragged:active,.fd-product-switch__item.dragged:hover{background-color:var(--sapList_Background)}.fd-product-switch__item.dragged:active .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item.dragged:active .fd-product-switch__icon[class*=sap-icon],.fd-product-switch__item.dragged:hover .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__item.dragged:hover .fd-product-switch__icon[class*=sap-icon]{color:var(--sapContent_IconColor)}.fd-product-switch__item.dragged:active .fd-product-switch__title,.fd-product-switch__item.dragged:hover .fd-product-switch__title{color:var(--sapGroup_TitleTextColor)}.fd-product-switch__item.dragged:active .fd-product-switch__subtitle,.fd-product-switch__item.dragged:hover .fd-product-switch__subtitle{color:var(--sapContent_LabelColor)}.fd-product-switch__item.dragged.selected{-webkit-box-shadow:var(--sapContent_Shadow2);border:none;box-shadow:var(--sapContent_Shadow2)}.fd-product-switch__item.dragged.is-hover,.fd-product-switch__item.dragged:hover{outline:none}.fd-product-switch__icon [class*=sap-icon],.fd-product-switch__icon[class*=sap-icon]{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background:inherit;border-radius:inherit;color:inherit;color:var(--sapContent_IconColor);display:flex;font-size:inherit;font-size:1.5rem;justify-content:center;line-height:1;margin-bottom:.5rem;min-height:3rem;min-width:3rem}.fd-product-switch__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-height:2.5rem;overflow:hidden;padding:0;text-shadow:var(--fdProductSwitch_Text_Shadow);width:100%}.fd-product-switch__text:after,.fd-product-switch__text:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader6Size);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:1.25rem;margin:0;max-height:2.5rem;padding:0;white-space:normal;z-index:1}.fd-product-switch__title:after,.fd-product-switch__title:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__title.is-last-child,.fd-product-switch__title:last-child{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;white-space:normal}.fd-product-switch__title:before{left:9.4rem;width:1rem;z-index:2}.fd-product-switch__title:after{left:9.4rem;width:1rem;z-index:3}.fd-product-switch__subtitle{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:1.25rem;margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-product-switch__subtitle:after,.fd-product-switch__subtitle:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__body{-webkit-box-sizing:border-box;background-color:var(--sapList_Background);border:0;border-radius:var(--sapElement_BorderCornerRadius);box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-height:calc(100vh - 76px);overflow-y:auto;padding:1.5rem .5rem 1rem 1rem;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color);width:-moz-fit-content;width:fit-content}.fd-product-switch__body:after,.fd-product-switch__body:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__body.is-focus,.fd-product-switch__body:focus{outline:none;z-index:5}.fd-product-switch__body::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-product-switch__body::-webkit-scrollbar-corner,.fd-product-switch__body::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-product-switch__body::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-product-switch__body::-webkit-scrollbar-thumb:active,.fd-product-switch__body::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-product-switch__body--col-3 .fd-product-switch__list{width:35.25rem}.fd-product-switch__body--mobile{border-radius:0;max-width:100vw;overflow-x:hidden;padding:0;width:100%}.fd-product-switch__body--mobile .fd-product-switch__list{display:flex;flex-direction:column;width:100%}.fd-product-switch__body--mobile .fd-product-switch__item{-webkit-box-sizing:border-box;-webkit-box-flex:1;-ms-flex:auto;border:none;border-bottom:.0625rem solid var(--sapList_GroupHeaderBorderColor);border-radius:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex:auto;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-height:5rem;max-width:100%;padding:1rem;text-align:left}.fd-product-switch__body--mobile .fd-product-switch__item:after,.fd-product-switch__body--mobile .fd-product-switch__item:before{box-sizing:inherit;font-size:inherit}.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:before{background-color:var(--sapTile_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.is-hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item:hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.is-active .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item:active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item:active .fd-product-switch__title:before{background-color:var(--sapList_SelectionBorderColor)}.fd-product-switch__body--mobile .fd-product-switch__item.is-active.is-focus,.fd-product-switch__body--mobile .fd-product-switch__item.is-active:focus,.fd-product-switch__body--mobile .fd-product-switch__item:active.is-focus,.fd-product-switch__body--mobile .fd-product-switch__item:active:focus{outline-color:var(--sapContent_FocusColor);outline-color:var(--sapContent_ContrastFocusColor);outline-offset:-.1875rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-product-switch__body--mobile .fd-product-switch__item.selected{-webkit-box-shadow:none;border-bottom-color:var(--sapList_SelectionBorderColor);box-shadow:none}.fd-product-switch__body--mobile .fd-product-switch__item.selected .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected .fd-product-switch__title:before{background-color:var(--sapList_SelectionBorderColor)}.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected:hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected:hover .fd-product-switch__title:before{background-color:var(--sapList_Hover_SelectionBackground)}.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active.is-hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active.is-hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active:hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected.is-active:hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active.is-hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active.is-hover .fd-product-switch__title:before,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active:hover .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item.selected:active:hover .fd-product-switch__title:before{background-color:var(--sapList_Active_Background)}.fd-product-switch__body--mobile .fd-product-switch__item.is-focus,.fd-product-switch__body--mobile .fd-product-switch__item:focus{outline-color:var(--sapContent_FocusColor);outline-offset:-.1875rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:after,.fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:before{left:21.7rem;width:1rem;z-index:2}.fd-product-switch__body--mobile .fd-product-switch__text{-webkit-box-pack:justify;-ms-flex-pack:justify;display:flex;flex-direction:column;height:100%;justify-content:space-between}.fd-product-switch__body--mobile .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__body--mobile .fd-product-switch__icon[class*=sap-icon]{margin-bottom:0;margin-right:.75rem}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__icon [class*=sap-icon],.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__icon[class*=sap-icon],[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__icon [class*=sap-icon],[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__icon[class*=sap-icon]{margin-left:.75rem;margin-right:0}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text{align-items:flex-start}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text .fd-product-switch__title:not(:last-child),[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text .fd-product-switch__title:not(:last-child){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text .fd-product-switch__title:not(:last-child):after,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text .fd-product-switch__title:not(:last-child):after{display:none}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__text .fd-product-switch__title:not(:last-child):before,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__text .fd-product-switch__title:not(:last-child):before{display:inline-flex}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__title:before,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__title:before{right:21.8rem;width:2rem}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__subtitle,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__subtitle{line-height:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__subtitle:before,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__subtitle:before{right:21.8rem;text-align:right;width:2rem;z-index:2}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item .fd-product-switch__subtitle:after,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item .fd-product-switch__subtitle:after{display:none;z-index:3}.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item.is-active .fd-product-switch__subtitle,.fd-product-switch__body--mobile[dir=rtl] .fd-product-switch__item:active .fd-product-switch__subtitle,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item.is-active .fd-product-switch__subtitle,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__item:active .fd-product-switch__subtitle{color:var(--sapList_Active_TextColor)}.fd-product-switch__list{position:relative}.fd-product-switch__item.cdk-drag-dragging{outline:none;cursor:grabbing;box-shadow:0 0 0 .0625rem #00000026,0 .625rem 1.875rem #0000004d}.fd-product-switch__body--mobile .fd-product-switch__item.cdk-drag-dragging{outline:none;box-shadow:0 0 0 .0625rem #00000026,0 .625rem 1.875rem #0000004d}.fd-dnd-item{position:relative}.fd-dnd-item.fd-dnd-on-drag{background-color:#fff;background-color:var(--sapList_Background, #fff);z-index:15}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__title:before,.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__title:after{background-color:#fff;background-color:var(--sapList_Background, #fff)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__icon{color:#0854a0;color:var(--sapContent_IconColor, #0854a0)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__title{color:#32363a;color:var(--sapGroup_TitleTextColor, #32363a)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item .fd-product-switch__subtitle{color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70)}.fd-dnd-item.fd-dnd-on-drag.fd-product-switch__item:active,.fd-dnd-item.fd-dnd-on-drag.selected{background-color:#fff;background-color:var(--sapList_Background, #fff)}[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__title,[dir=rtl] .fd-product-switch__body--mobile .fd-product-switch__subtitle{text-align:right}\n", ".cdk-drag-dragging{z-index:15;background-color:#fff;background-color:var(--sapList_Background, #fff);opacity:.8;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.fd-replace-indicator{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;border-width:.125rem;border-style:solid;background-color:transparent;border-color:#0854a0;border-color:var(--sapContent_DragAndDropActiveColor)}.fd-replace-indicator:before{content:\"\";display:block;position:absolute;width:100%;height:100%;top:0;left:0;background-color:#0854a0;background-color:var(--sapContent_DragAndDropActiveColor, #0854a0);opacity:.5}.cdk-drag{cursor:grab}.cdk-drag.cdk-drag-dragging{cursor:grabbing}.cdk-drag-dragging{outline:none;cursor:grabbing;box-shadow:0 0 0 .0625rem #00000026,0 .625rem 1.875rem #0000004d}.cdk-drag-disabled{cursor:default}.fd-dnd-placeholder{top:0;left:0;position:absolute;opacity:.3;z-index:-1}.fd-dnd-item{position:relative;cursor:grab}.fd-dnd-item.fd-dnd-on-drag{background-color:#fff;background-color:var(--sapList_Background, #fff);z-index:15;cursor:grabbing}.drop-area__line{z-index:9999;position:absolute;background:#0854a0;background:var(--sapContent_DragAndDropActiveColor, #0854a0)}.drop-area__line--vertical{top:0;height:calc(100% - .5rem);width:2px}.drop-area__line--vertical.after{right:.2rem}.drop-area__line--vertical.before{left:-.3rem}.drop-area__line--vertical:before{background-color:#fff;background-color:var(--sapList_Background, #fff);content:\"\";position:absolute;left:-.2rem;top:-.5rem;border-radius:50%;width:.5rem;height:.5rem;border-width:.125rem;border-style:solid;border-color:#0854a0;border-color:var(--sapContent_DragAndDropActiveColor, #0854a0)}.drop-area__line--horizontal{left:0;width:100%;height:2px}.drop-area__line--horizontal.before{top:0}.drop-area__line--horizontal.after{bottom:0}.drop-area__line--horizontal:before{background-color:#fff;background-color:var(--sapList_Background, #fff);content:\"\";position:absolute;left:0;top:-.2rem;border-radius:50%;width:.5rem;height:.5rem;border-width:.125rem;border-style:solid;border-color:#0854a0;border-color:var(--sapContent_DragAndDropActiveColor, #0854a0)}.fd-dnd-list{position:relative}\n"] }]
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-product-switch.mjs","sources":["../../../../libs/core/src/lib/product-switch/tokens.ts","../../../../libs/core/src/lib/product-switch/product-switch/product-switch.component.ts","../../../../libs/core/src/lib/product-switch/product-switch/product-switch.component.html","../../../../libs/core/src/lib/product-switch/product-switch-body/product-switch-body.component.ts","../../../../libs/core/src/lib/product-switch/product-switch-body/product-switch-body.component.html","../../../../libs/core/src/lib/product-switch/product-switch.module.ts","../../../../libs/core/src/lib/product-switch/fundamental-ngx-core-product-switch.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FD_PRODUCT_SWITCH_COMPONENT = new InjectionToken('FdProductSwitchComponent');\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { BasePopoverClass } from '@fundamental-ngx/core/popover';\nimport { FD_PRODUCT_SWITCH_COMPONENT } from '../tokens';\n\n@Component({\n selector: 'fd-product-switch',\n templateUrl: './product-switch.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_PRODUCT_SWITCH_COMPONENT,\n useExisting: ProductSwitchComponent\n }\n ]\n})\nexport class ProductSwitchComponent extends BasePopoverClass {\n /** Placement of a popover. */\n @Input()\n placement: Placement = 'bottom-end';\n\n /**\n * @deprecated use i18n capabilities instead\n * Input to set the aria label */\n @Input()\n ariaLabel: string;\n\n /** Whether the product switch is disabled. */\n @Input()\n disabled = false;\n}\n","<div class=\"fd-product-switch\">\n <fd-popover\n [placement]=\"placement\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n [(isOpen)]=\"isOpen\"\n (isOpenChange)=\"isOpenChange.emit($event)\"\n [disabled]=\"disabled\"\n [triggers]=\"triggers\"\n [focusTrapped]=\"false\"\n [focusAutoCapture]=\"true\"\n [noArrow]=\"noArrow\"\n [disableScrollbar]=\"true\"\n >\n <fd-popover-control>\n <button\n fd-button\n [attr.aria-label]=\"ariaLabel || ('coreProductSwitch.ariaLabel' | fdTranslate)\"\n [attr.title]=\"ariaLabel || ('coreProductSwitch.ariaLabel' | fdTranslate)\"\n class=\"fd-shellbar__button\"\n glyph=\"grid\"\n fdType=\"transparent\"\n ></button>\n </fd-popover-control>\n <fd-popover-body>\n <ng-content></ng-content>\n </fd-popover-body>\n </fd-popover>\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport { DOWN_ARROW, ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE, TAB, UP_ARROW } from '@angular/cdk/keycodes';\nimport { ViewportRuler } from '@angular/cdk/scrolling';\nimport { Subscription } from 'rxjs';\n\nimport { FdDropEvent, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { KeyUtil } from '@fundamental-ngx/cdk/utils';\n\nimport { ProductSwitchItem } from './product-switch.item';\n\nconst containerWidthPxSmallMode = 588;\nconst containerWidthPx = 776;\n\n@Component({\n selector: 'fd-product-switch-body',\n templateUrl: './product-switch-body.component.html',\n styleUrls: [\n './product-switch-body.component.scss',\n '../../../../../cdk/src/lib/utils/drag-and-drop/drag-and-drop.scss'\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ProductSwitchBodyComponent implements OnInit, OnDestroy {\n /** Defines if drag and drop functionality should be included in product switch*/\n @Input()\n dragAndDropEnabled = true;\n\n /** The product switch's product items. */\n @Input()\n products: ProductSwitchItem[];\n\n /** Defines if the product switcher should be displayed in list mode, no matter what is the size of window */\n @Input()\n forceListMode = false;\n\n /** Event thrown on products array change */\n @Output()\n readonly productsChange: EventEmitter<any[]> = new EventEmitter<any[]>();\n\n /** Event emitted on product click */\n @Output()\n readonly itemClicked: EventEmitter<void> = new EventEmitter<void>();\n\n /** @hidden */\n private _listMode: boolean;\n\n /** @hidden */\n private _isRtl = false;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n private _viewportRuler: ViewportRuler,\n @Optional() private readonly _rtlService: RtlService,\n private readonly _cdr: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._subscriptions.add(this._rtlService?.rtl.subscribe((isRtl) => (this._isRtl = isRtl)));\n this._subscriptions.add(\n this._viewportRuler.change().subscribe((event) => {\n const { innerWidth } = <Window>event.target;\n this._checkSize(innerWidth);\n })\n );\n\n const { width } = this._viewportRuler.getViewportSize();\n this._checkSize(width);\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n _itemClick(item: ProductSwitchItem, event: MouseEvent): void {\n this.products.forEach((product) => (product.selected = product === item));\n\n this.itemClicked.emit();\n if (item.callback) {\n item.callback(event);\n }\n }\n\n /** Method called on products change */\n _productSwitchItemsChangeHandle(dropEvent: FdDropEvent<ProductSwitchItem>): void {\n this.productsChange.emit(dropEvent.items);\n this.products = dropEvent.items;\n }\n\n /** @hidden */\n _keyDownHandle(event: KeyboardEvent): void {\n const target = <HTMLElement>event.target;\n\n if (!KeyUtil.isKeyCode(event, TAB)) {\n event.preventDefault();\n }\n\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n target.click();\n } else if (!this._isListMode()) {\n const i = Array.from(target.parentElement?.children ?? []).indexOf(target);\n this._handleNoListKeydown(event, target, i);\n } else if (this._isListMode() && KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW])) {\n this._handleListArrowUpDown(event, target);\n }\n }\n\n /** @hidden */\n _isSmallMode(): boolean {\n return this.products?.length < 7;\n }\n\n /** @hidden */\n _isListMode(): boolean {\n return this._listMode || this.forceListMode;\n }\n\n /** @hidden */\n private _checkSize(width: number): void {\n if (this._isSmallMode()) {\n this._listMode = width < containerWidthPxSmallMode;\n } else {\n this._listMode = width < containerWidthPx;\n }\n\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private _handleNoListKeydown(event: KeyboardEvent, target: HTMLElement, i: number): void {\n const previousElementSibling = <HTMLElement>target.previousElementSibling;\n const nextElementSibling = <HTMLElement>target.nextElementSibling;\n\n if (\n i === this.products.length - 1 &&\n (KeyUtil.isKeyCode(event, RIGHT_ARROW) || (KeyUtil.isKeyCode(event, LEFT_ARROW) && this._isRtl))\n ) {\n while (<HTMLElement>target.previousElementSibling) {\n target = <HTMLElement>target.previousElementSibling;\n }\n target.focus();\n }\n\n if (KeyUtil.isKeyCode(event, LEFT_ARROW)) {\n this._isRtl ? nextElementSibling?.focus() : previousElementSibling?.focus();\n } else if (KeyUtil.isKeyCode(event, RIGHT_ARROW)) {\n this._isRtl ? previousElementSibling?.focus() : nextElementSibling?.focus();\n } else if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW])) {\n if (this.products.length >= 7) {\n this._handleNoListMoreThanSeven(event, target, i);\n } else if (this.products.length < 7) {\n this._handleNoListLessThanSeven(event, target, i);\n }\n }\n }\n\n /** @hidden */\n private _handleNoListMoreThanSeven(event: KeyboardEvent, target: HTMLElement, i: number): void {\n const nextIndexByColumn = 4;\n const children = target.parentElement?.children;\n\n if (!children) {\n return;\n }\n\n if (KeyUtil.isKeyCode(event, DOWN_ARROW)) {\n (<HTMLElement>children[i + nextIndexByColumn])?.focus();\n }\n\n if (KeyUtil.isKeyCode(event, UP_ARROW)) {\n (<HTMLElement>children[i - nextIndexByColumn])?.focus();\n }\n }\n\n /** @hidden */\n private _handleNoListLessThanSeven(event: KeyboardEvent, target: HTMLElement, i: number): void {\n const nextIndexByColumn = 3;\n const children = target.parentElement?.children;\n\n if (!children) {\n return;\n }\n\n if (KeyUtil.isKeyCode(event, DOWN_ARROW)) {\n (<HTMLElement>children[i + nextIndexByColumn])?.focus();\n }\n\n if (KeyUtil.isKeyCode(event, UP_ARROW)) {\n (<HTMLElement>children[i - nextIndexByColumn])?.focus();\n }\n }\n\n /** @hidden */\n private _handleListArrowUpDown(event: KeyboardEvent, target: HTMLElement): void {\n const targetIndex = Array.from(target.parentElement?.children ?? []).indexOf(target);\n const previousElementSibling =\n targetIndex === 0\n ? <HTMLElement>target.parentElement?.children[this.products.length - 1]\n : <HTMLElement>target.previousElementSibling;\n const nextElementSibling =\n targetIndex === this.products.length - 1\n ? <HTMLElement>target.parentElement?.children[0]\n : <HTMLElement>target.nextElementSibling;\n\n if (this._isListMode() && KeyUtil.isKeyCode(event, DOWN_ARROW) && nextElementSibling) {\n nextElementSibling.focus();\n } else if (this._isListMode() && KeyUtil.isKeyCode(event, UP_ARROW) && previousElementSibling) {\n previousElementSibling.focus();\n }\n }\n}\n","<div\n class=\"fd-product-switch__body\"\n [class.fd-product-switch__body--col-3]=\"_isSmallMode() && !_isListMode()\"\n [class.fd-product-switch__body--mobile]=\"_isListMode()\"\n>\n <ul\n fd-dnd-list\n class=\"fd-product-switch__list\"\n [items]=\"products\"\n [gridMode]=\"!_isListMode()\"\n (itemDropped)=\"_productSwitchItemsChangeHandle($event)\"\n >\n <li\n fd-dnd-item\n *ngFor=\"let product of products\"\n tabindex=\"0\"\n class=\"fd-product-switch__item\"\n [class.selected]=\"product.selected\"\n (keydown)=\"_keyDownHandle($event)\"\n (click)=\"_itemClick(product, $event)\"\n [draggable]=\"!product.disabledDragAndDrop && dragAndDropEnabled\"\n [stickInPlace]=\"!!product.stickToPosition\"\n >\n <i\n role=\"presentation\"\n class=\"fd-product-switch__icon\"\n [class]=\"product.icon ? 'sap-icon--' + product.icon : ''\"\n ></i>\n <div class=\"fd-product-switch__text\">\n <div class=\"fd-product-switch__title\">{{ product.title }}</div>\n <div *ngIf=\"product.subtitle\" class=\"fd-product-switch__subtitle\">{{ product.subtitle }}</div>\n </div>\n </li>\n </ul>\n</div>\n","import { NgModule } from '@angular/core';\nimport { ProductSwitchComponent } from './product-switch/product-switch.component';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { CommonModule } from '@angular/common';\nimport { DragAndDropModule } from '@fundamental-ngx/cdk/utils';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { I18nModule } from '@fundamental-ngx/i18n';\nimport { ProductSwitchBodyComponent } from './product-switch-body/product-switch-body.component';\n\n@NgModule({\n imports: [PopoverModule, CommonModule, ButtonModule, DragAndDropModule, DragDropModule, I18nModule],\n declarations: [ProductSwitchComponent, ProductSwitchBodyComponent],\n exports: [ProductSwitchComponent, ProductSwitchBodyComponent]\n})\nexport class ProductSwitchModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i3"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-product-switch.mjs","sources":["../../../../libs/core/src/lib/product-switch/tokens.ts","../../../../libs/core/src/lib/product-switch/product-switch/product-switch.component.ts","../../../../libs/core/src/lib/product-switch/product-switch/product-switch.component.html","../../../../libs/core/src/lib/product-switch/product-switch-body/product-switch-body.component.ts","../../../../libs/core/src/lib/product-switch/product-switch-body/product-switch-body.component.html","../../../../libs/core/src/lib/product-switch/product-switch.module.ts","../../../../libs/core/src/lib/product-switch/fundamental-ngx-core-product-switch.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FD_PRODUCT_SWITCH_COMPONENT = new InjectionToken('FdProductSwitchComponent');\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { BasePopoverClass } from '@fundamental-ngx/core/popover';\nimport { FD_PRODUCT_SWITCH_COMPONENT } from '../tokens';\n\n@Component({\n selector: 'fd-product-switch',\n templateUrl: './product-switch.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_PRODUCT_SWITCH_COMPONENT,\n useExisting: ProductSwitchComponent\n }\n ]\n})\nexport class ProductSwitchComponent extends BasePopoverClass {\n /** Placement of a popover. */\n @Input()\n placement: Placement = 'bottom-end';\n\n /**\n * @deprecated use i18n capabilities instead\n * Input to set the aria label */\n @Input()\n ariaLabel: string;\n\n /** Whether the product switch is disabled. */\n @Input()\n disabled = false;\n}\n","<div class=\"fd-product-switch\">\n <fd-popover\n [placement]=\"placement\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n [(isOpen)]=\"isOpen\"\n (isOpenChange)=\"isOpenChange.emit($event)\"\n [disabled]=\"disabled\"\n [triggers]=\"triggers\"\n [focusTrapped]=\"false\"\n [focusAutoCapture]=\"true\"\n [noArrow]=\"noArrow\"\n [disableScrollbar]=\"true\"\n >\n <fd-popover-control>\n <button\n fd-button\n [attr.aria-label]=\"ariaLabel || ('coreProductSwitch.ariaLabel' | fdTranslate)\"\n [attr.title]=\"ariaLabel || ('coreProductSwitch.ariaLabel' | fdTranslate)\"\n class=\"fd-shellbar__button\"\n glyph=\"grid\"\n fdType=\"transparent\"\n ></button>\n </fd-popover-control>\n <fd-popover-body>\n <ng-content></ng-content>\n </fd-popover-body>\n </fd-popover>\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport { DOWN_ARROW, ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE, TAB, UP_ARROW } from '@angular/cdk/keycodes';\nimport { ViewportRuler } from '@angular/cdk/scrolling';\nimport { Subscription } from 'rxjs';\n\nimport { FdDropEvent, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { KeyUtil } from '@fundamental-ngx/cdk/utils';\n\nimport { ProductSwitchItem } from './product-switch.item';\n\nconst containerWidthPxSmallMode = 588;\nconst containerWidthPx = 776;\n\n@Component({\n selector: 'fd-product-switch-body',\n templateUrl: './product-switch-body.component.html',\n styleUrls: [\n './product-switch-body.component.scss',\n '../../../../../cdk/src/lib/utils/drag-and-drop/drag-and-drop.scss'\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ProductSwitchBodyComponent implements OnInit, OnDestroy {\n /** Defines if drag and drop functionality should be included in product switch*/\n @Input()\n dragAndDropEnabled = true;\n\n /** The product switch's product items. */\n @Input()\n products: ProductSwitchItem[];\n\n /** Defines if the product switcher should be displayed in list mode, no matter what is the size of window */\n @Input()\n forceListMode = false;\n\n /** Event thrown on products array change */\n @Output()\n readonly productsChange: EventEmitter<any[]> = new EventEmitter<any[]>();\n\n /** Event emitted on product click */\n @Output()\n readonly itemClicked: EventEmitter<void> = new EventEmitter<void>();\n\n /** @hidden */\n private _listMode: boolean;\n\n /** @hidden */\n private _isRtl = false;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n private _viewportRuler: ViewportRuler,\n @Optional() private readonly _rtlService: RtlService,\n private readonly _cdr: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._subscriptions.add(this._rtlService?.rtl.subscribe((isRtl) => (this._isRtl = isRtl)));\n this._subscriptions.add(\n this._viewportRuler.change().subscribe((event) => {\n const { innerWidth } = <Window>event.target;\n this._checkSize(innerWidth);\n })\n );\n\n const { width } = this._viewportRuler.getViewportSize();\n this._checkSize(width);\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n _itemClick(item: ProductSwitchItem, event: MouseEvent): void {\n this.products.forEach((product) => (product.selected = product === item));\n\n this.itemClicked.emit();\n if (item.callback) {\n item.callback(event);\n }\n }\n\n /** Method called on products change */\n _productSwitchItemsChangeHandle(dropEvent: FdDropEvent<ProductSwitchItem>): void {\n this.productsChange.emit(dropEvent.items);\n this.products = dropEvent.items;\n }\n\n /** @hidden */\n _keyDownHandle(event: KeyboardEvent): void {\n const target = <HTMLElement>event.target;\n\n if (!KeyUtil.isKeyCode(event, TAB)) {\n event.preventDefault();\n }\n\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n target.click();\n } else if (!this._isListMode()) {\n const i = Array.from(target.parentElement?.children ?? []).indexOf(target);\n this._handleNoListKeydown(event, target, i);\n } else if (this._isListMode() && KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW])) {\n this._handleListArrowUpDown(event, target);\n }\n }\n\n /** @hidden */\n _isSmallMode(): boolean {\n return this.products?.length < 7;\n }\n\n /** @hidden */\n _isListMode(): boolean {\n return this._listMode || this.forceListMode;\n }\n\n /** @hidden */\n private _checkSize(width: number): void {\n if (this._isSmallMode()) {\n this._listMode = width < containerWidthPxSmallMode;\n } else {\n this._listMode = width < containerWidthPx;\n }\n\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private _handleNoListKeydown(event: KeyboardEvent, target: HTMLElement, i: number): void {\n const previousElementSibling = <HTMLElement>target.previousElementSibling;\n const nextElementSibling = <HTMLElement>target.nextElementSibling;\n\n if (\n i === this.products.length - 1 &&\n (KeyUtil.isKeyCode(event, RIGHT_ARROW) || (KeyUtil.isKeyCode(event, LEFT_ARROW) && this._isRtl))\n ) {\n while (<HTMLElement>target.previousElementSibling) {\n target = <HTMLElement>target.previousElementSibling;\n }\n target.focus();\n }\n\n if (KeyUtil.isKeyCode(event, LEFT_ARROW)) {\n this._isRtl ? nextElementSibling?.focus() : previousElementSibling?.focus();\n } else if (KeyUtil.isKeyCode(event, RIGHT_ARROW)) {\n this._isRtl ? previousElementSibling?.focus() : nextElementSibling?.focus();\n } else if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW])) {\n if (this.products.length >= 7) {\n this._handleNoListMoreThanSeven(event, target, i);\n } else if (this.products.length < 7) {\n this._handleNoListLessThanSeven(event, target, i);\n }\n }\n }\n\n /** @hidden */\n private _handleNoListMoreThanSeven(event: KeyboardEvent, target: HTMLElement, i: number): void {\n const nextIndexByColumn = 4;\n const children = target.parentElement?.children;\n\n if (!children) {\n return;\n }\n\n if (KeyUtil.isKeyCode(event, DOWN_ARROW)) {\n (<HTMLElement>children[i + nextIndexByColumn])?.focus();\n }\n\n if (KeyUtil.isKeyCode(event, UP_ARROW)) {\n (<HTMLElement>children[i - nextIndexByColumn])?.focus();\n }\n }\n\n /** @hidden */\n private _handleNoListLessThanSeven(event: KeyboardEvent, target: HTMLElement, i: number): void {\n const nextIndexByColumn = 3;\n const children = target.parentElement?.children;\n\n if (!children) {\n return;\n }\n\n if (KeyUtil.isKeyCode(event, DOWN_ARROW)) {\n (<HTMLElement>children[i + nextIndexByColumn])?.focus();\n }\n\n if (KeyUtil.isKeyCode(event, UP_ARROW)) {\n (<HTMLElement>children[i - nextIndexByColumn])?.focus();\n }\n }\n\n /** @hidden */\n private _handleListArrowUpDown(event: KeyboardEvent, target: HTMLElement): void {\n const targetIndex = Array.from(target.parentElement?.children ?? []).indexOf(target);\n const previousElementSibling =\n targetIndex === 0\n ? <HTMLElement>target.parentElement?.children[this.products.length - 1]\n : <HTMLElement>target.previousElementSibling;\n const nextElementSibling =\n targetIndex === this.products.length - 1\n ? <HTMLElement>target.parentElement?.children[0]\n : <HTMLElement>target.nextElementSibling;\n\n if (this._isListMode() && KeyUtil.isKeyCode(event, DOWN_ARROW) && nextElementSibling) {\n nextElementSibling.focus();\n } else if (this._isListMode() && KeyUtil.isKeyCode(event, UP_ARROW) && previousElementSibling) {\n previousElementSibling.focus();\n }\n }\n}\n","<div\n class=\"fd-product-switch__body\"\n [class.fd-product-switch__body--col-3]=\"_isSmallMode() && !_isListMode()\"\n [class.fd-product-switch__body--mobile]=\"_isListMode()\"\n>\n <ul\n fd-dnd-list\n class=\"fd-product-switch__list\"\n [items]=\"products\"\n [gridMode]=\"!_isListMode()\"\n (itemDropped)=\"_productSwitchItemsChangeHandle($event)\"\n >\n <li\n fd-dnd-item\n *ngFor=\"let product of products\"\n tabindex=\"0\"\n class=\"fd-product-switch__item\"\n [class.selected]=\"product.selected\"\n (keydown)=\"_keyDownHandle($event)\"\n (click)=\"_itemClick(product, $event)\"\n [draggable]=\"!product.disabledDragAndDrop && dragAndDropEnabled\"\n [stickInPlace]=\"!!product.stickToPosition\"\n >\n <i\n role=\"presentation\"\n class=\"fd-product-switch__icon\"\n [class]=\"product.icon ? 'sap-icon--' + product.icon : ''\"\n ></i>\n <div class=\"fd-product-switch__text\">\n <div class=\"fd-product-switch__title\">{{ product.title }}</div>\n <div *ngIf=\"product.subtitle\" class=\"fd-product-switch__subtitle\">{{ product.subtitle }}</div>\n </div>\n </li>\n </ul>\n</div>\n","import { NgModule } from '@angular/core';\nimport { ProductSwitchComponent } from './product-switch/product-switch.component';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { CommonModule } from '@angular/common';\nimport { DragAndDropModule } from '@fundamental-ngx/cdk/utils';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { I18nModule } from '@fundamental-ngx/i18n';\nimport { ProductSwitchBodyComponent } from './product-switch-body/product-switch-body.component';\n\n@NgModule({\n imports: [PopoverModule, CommonModule, ButtonModule, DragAndDropModule, DragDropModule, I18nModule],\n declarations: [ProductSwitchComponent, ProductSwitchBodyComponent],\n exports: [ProductSwitchComponent, ProductSwitchBodyComponent]\n})\nexport class ProductSwitchModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i3"],"mappings":"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"}
@@ -110,7 +110,7 @@ class RadioButtonComponent {
110
110
  return ['fd-radio', this.state !== 'default' ? `is-${this.state}` : ''];
111
111
  }
112
112
  /** @hidden */
113
- elementRef() {
113
+ get elementRef() {
114
114
  return this.inputElement;
115
115
  }
116
116
  /** @hidden */
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-radio.mjs","sources":["../../../../libs/core/src/lib/radio/tokens.ts","../../../../libs/core/src/lib/radio/radio-button/radio-button.component.ts","../../../../libs/core/src/lib/radio/radio-button/radio-button.component.html","../../../../libs/core/src/lib/radio/deprecated-radio-button-compact.directive.ts","../../../../libs/core/src/lib/radio/radio.module.ts","../../../../libs/core/src/lib/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, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { applyCssClass, CssClassBuilder } from '@fundamental-ngx/cdk/utils';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { registerFormItemControl, FormItemControl } from '@fundamental-ngx/core/form';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\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 styleUrls: ['./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})\nexport class RadioButtonComponent\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: any) {\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: any;\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: any;\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 onChange: any = (): void => {};\n\n /** @hidden */\n onTouched: any = (): void => {};\n\n /** @hidden */\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.changeDetectionRef.detectChanges();\n }\n\n /** @hidden */\n writeValue(value: any): 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 elementRef(): ElementRef<any> {\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: any, 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.isCompact$ | async\"\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 <ng-content></ng-content>\n</label>\n","import { Directive, forwardRef } from '@angular/core';\nimport { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-radio-button[compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedRadioButtonCompactDirective)\n }\n ]\n})\nexport class DeprecatedRadioButtonCompactDirective extends DeprecatedCompactDirective {\n /** @hidden */\n constructor() {\n super('fd-radio-button');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { RadioButtonComponent } from './radio-button/radio-button.component';\nimport { DeprecatedRadioButtonCompactDirective } from './deprecated-radio-button-compact.directive';\n\n@NgModule({\n declarations: [RadioButtonComponent, DeprecatedRadioButtonCompactDirective],\n exports: [RadioButtonComponent, ContentDensityModule, DeprecatedRadioButtonCompactDirective],\n imports: [CommonModule, FormsModule, ContentDensityModule]\n})\nexport class RadioModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-radio.mjs","sources":["../../../../libs/core/src/lib/radio/tokens.ts","../../../../libs/core/src/lib/radio/radio-button/radio-button.component.ts","../../../../libs/core/src/lib/radio/radio-button/radio-button.component.html","../../../../libs/core/src/lib/radio/deprecated-radio-button-compact.directive.ts","../../../../libs/core/src/lib/radio/radio.module.ts","../../../../libs/core/src/lib/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, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { applyCssClass, CssClassBuilder } from '@fundamental-ngx/cdk/utils';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { registerFormItemControl, FormItemControl } from '@fundamental-ngx/core/form';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\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 styleUrls: ['./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})\nexport class RadioButtonComponent\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: any) {\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: any;\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: any;\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 onChange: any = (): void => {};\n\n /** @hidden */\n onTouched: any = (): void => {};\n\n /** @hidden */\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.changeDetectionRef.detectChanges();\n }\n\n /** @hidden */\n writeValue(value: any): 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: any, 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.isCompact$ | async\"\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 <ng-content></ng-content>\n</label>\n","import { Directive, forwardRef } from '@angular/core';\nimport { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-radio-button[compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedRadioButtonCompactDirective)\n }\n ]\n})\nexport class DeprecatedRadioButtonCompactDirective extends DeprecatedCompactDirective {\n /** @hidden */\n constructor() {\n super('fd-radio-button');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { RadioButtonComponent } from './radio-button/radio-button.component';\nimport { DeprecatedRadioButtonCompactDirective } from './deprecated-radio-button-compact.directive';\n\n@NgModule({\n declarations: [RadioButtonComponent, DeprecatedRadioButtonCompactDirective],\n exports: [RadioButtonComponent, ContentDensityModule, DeprecatedRadioButtonCompactDirective],\n imports: [CommonModule, FormsModule, ContentDensityModule]\n})\nexport class RadioModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -54,8 +54,8 @@ class RatingIndicatorComponent {
54
54
  this._indicatorCapacity = val < 1 ? INDICATOR_DEFAULT_CAPACITY : val;
55
55
  }
56
56
  /** @hidden */
57
- constructor(_elementRef, _changeDetectorRef) {
58
- this._elementRef = _elementRef;
57
+ constructor(elementRef, _changeDetectorRef) {
58
+ this.elementRef = elementRef;
59
59
  this._changeDetectorRef = _changeDetectorRef;
60
60
  /**
61
61
  * Sets the aria-disabled attribute to the element.
@@ -181,10 +181,6 @@ class RatingIndicatorComponent {
181
181
  this.onTouched();
182
182
  this.ratingChanged.emit(value);
183
183
  }
184
- /** @hidden */
185
- elementRef() {
186
- return this._elementRef;
187
- }
188
184
  /** @hidden
189
185
  * CssClassBuilder interface implementation
190
186
  * function must return single string
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-rating-indicator.mjs","sources":["../../../../libs/core/src/lib/rating-indicator/constants.ts","../../../../libs/core/src/lib/rating-indicator/pipes/rating-star-label.pipe.ts","../../../../libs/core/src/lib/rating-indicator/components/rating-indicator.component.ts","../../../../libs/core/src/lib/rating-indicator/components/rating-indicator.component.html","../../../../libs/core/src/lib/rating-indicator/rating-indicator.module.ts","../../../../libs/core/src/lib/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({ name: 'ratingStarLabel' })\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 {\n Component,\n OnInit,\n OnChanges,\n Input,\n Output,\n EventEmitter,\n ElementRef,\n ChangeDetectionStrategy,\n SimpleChanges,\n HostBinding,\n ViewEncapsulation,\n ChangeDetectorRef,\n forwardRef\n} from '@angular/core';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport {\n INDICATOR_DEFAULT_CAPACITY,\n INDICATOR_PREFIX,\n INDICATOR_CLASSES,\n RatingIndicatorSize,\n RatingIndicatorSizeEnum\n} from '../constants';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { registerFormItemControl, FormItemControl } from '@fundamental-ngx/core/form';\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 styleUrls: ['./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})\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 * Sets the is-display-mode class to the element.\n * Whether the rating indicator is in displayMode\n */\n @Input()\n @HostBinding('class.is-display-mode')\n displayMode = 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(private readonly _elementRef: ElementRef, private readonly _changeDetectorRef: ChangeDetectorRef) {}\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 trackByFn(index: number, item: { id: string; value: number }): number | string {\n return item.id;\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 elementRef(): ElementRef<RatingIndicatorComponent & HTMLElement> {\n return this._elementRef;\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","<!-- 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-container *ngTemplateOutlet=\"zeroRate\"></ng-container>\n <!-- Available rate values -->\n <ng-container *ngFor=\"let rate of _rates; index as i; trackBy: trackByFn\">\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\"\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 <i *ngIf=\"ratedIcon\" class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n <i *ngIf=\"unratedIcon\" class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n </label>\n </ng-container>\n</div>\n<!-- Popover if displayAllRatings is true and we have ratings object -->\n<span\n [fdPopoverTrigger]=\"allRatingContent\"\n *ngIf=\"displayAllRatings && _ratingItems?.length; else dynamicText\"\n class=\"fd-rating-indicator__dynamic-text\"\n>\n (<span area-label=\"Total raiting\" fd-link>{{ totalRatings }}</span\n >)\n</span>\n<fd-popover\n #allRatingContent\n [triggers]=\"['mouseenter', 'mouseleave']\"\n [noArrow]=\"false\"\n placement=\"top\"\n additionalBodyClass=\"fd-rating-indicator__popover\"\n>\n <div class=\"fd-rating-indicator__sum-row\" [class]=\"sizeClass\" *ngFor=\"let rating of _ratingItems\">\n <div class=\"fd-rating-indicator__container\">\n <ng-container *ngFor=\"let rate of _rates; trackBy: trackByFn\">\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 <i *ngIf=\"ratedIcon\" class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n <i *ngIf=\"unratedIcon\" class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n </label>\n </ng-container>\n </div>\n ({{ rating.votes }})\n </div>\n</fd-popover>\n\n<ng-template #dynamicText>\n <span *ngIf=\"totalRatings\" class=\"fd-rating-indicator__dynamic-text\">({{ totalRatings }})</span>\n <span *ngIf=\"!totalRatings\" class=\"fd-rating-indicator__dynamic-text\"\n >({{ viewValue }} {{ dynamicTextIndicator }} {{ indicatorCount }})</span\n >\n</ng-template>\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\"\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","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { RatingIndicatorComponent } from './components/rating-indicator.component';\nimport { RatingStarLabelPipe } from './pipes/rating-star-label.pipe';\n\n@NgModule({\n declarations: [RatingIndicatorComponent, RatingStarLabelPipe],\n imports: [CommonModule, PopoverModule],\n exports: [RatingIndicatorComponent]\n})\nexport class RatingIndicatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i3.RatingStarLabelPipe"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-rating-indicator.mjs","sources":["../../../../libs/core/src/lib/rating-indicator/constants.ts","../../../../libs/core/src/lib/rating-indicator/pipes/rating-star-label.pipe.ts","../../../../libs/core/src/lib/rating-indicator/components/rating-indicator.component.ts","../../../../libs/core/src/lib/rating-indicator/components/rating-indicator.component.html","../../../../libs/core/src/lib/rating-indicator/rating-indicator.module.ts","../../../../libs/core/src/lib/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({ name: 'ratingStarLabel' })\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 {\n Component,\n OnInit,\n OnChanges,\n Input,\n Output,\n EventEmitter,\n ElementRef,\n ChangeDetectionStrategy,\n SimpleChanges,\n HostBinding,\n ViewEncapsulation,\n ChangeDetectorRef,\n forwardRef\n} from '@angular/core';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport {\n INDICATOR_DEFAULT_CAPACITY,\n INDICATOR_PREFIX,\n INDICATOR_CLASSES,\n RatingIndicatorSize,\n RatingIndicatorSizeEnum\n} from '../constants';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { registerFormItemControl, FormItemControl } from '@fundamental-ngx/core/form';\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 styleUrls: ['./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})\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 * Sets the is-display-mode class to the element.\n * Whether the rating indicator is in displayMode\n */\n @Input()\n @HostBinding('class.is-display-mode')\n displayMode = 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(public readonly elementRef: ElementRef, private readonly _changeDetectorRef: ChangeDetectorRef) {}\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 trackByFn(index: number, item: { id: string; value: number }): number | string {\n return item.id;\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","<!-- 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-container *ngTemplateOutlet=\"zeroRate\"></ng-container>\n <!-- Available rate values -->\n <ng-container *ngFor=\"let rate of _rates; index as i; trackBy: trackByFn\">\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\"\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 <i *ngIf=\"ratedIcon\" class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n <i *ngIf=\"unratedIcon\" class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n </label>\n </ng-container>\n</div>\n<!-- Popover if displayAllRatings is true and we have ratings object -->\n<span\n [fdPopoverTrigger]=\"allRatingContent\"\n *ngIf=\"displayAllRatings && _ratingItems?.length; else dynamicText\"\n class=\"fd-rating-indicator__dynamic-text\"\n>\n (<span area-label=\"Total raiting\" fd-link>{{ totalRatings }}</span\n >)\n</span>\n<fd-popover\n #allRatingContent\n [triggers]=\"['mouseenter', 'mouseleave']\"\n [noArrow]=\"false\"\n placement=\"top\"\n additionalBodyClass=\"fd-rating-indicator__popover\"\n>\n <div class=\"fd-rating-indicator__sum-row\" [class]=\"sizeClass\" *ngFor=\"let rating of _ratingItems\">\n <div class=\"fd-rating-indicator__container\">\n <ng-container *ngFor=\"let rate of _rates; trackBy: trackByFn\">\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 <i *ngIf=\"ratedIcon\" class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n <i *ngIf=\"unratedIcon\" class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n </label>\n </ng-container>\n </div>\n ({{ rating.votes }})\n </div>\n</fd-popover>\n\n<ng-template #dynamicText>\n <span *ngIf=\"totalRatings\" class=\"fd-rating-indicator__dynamic-text\">({{ totalRatings }})</span>\n <span *ngIf=\"!totalRatings\" class=\"fd-rating-indicator__dynamic-text\"\n >({{ viewValue }} {{ dynamicTextIndicator }} {{ indicatorCount }})</span\n >\n</ng-template>\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\"\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","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { RatingIndicatorComponent } from './components/rating-indicator.component';\nimport { RatingStarLabelPipe } from './pipes/rating-star-label.pipe';\n\n@NgModule({\n declarations: [RatingIndicatorComponent, RatingStarLabelPipe],\n imports: [CommonModule, PopoverModule],\n exports: [RatingIndicatorComponent]\n})\nexport class RatingIndicatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i3.RatingStarLabelPipe"],"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;;MCfY,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;;gHAPQ,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,IAAI;mBAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAA;;;AC2BjC,IAAI,SAAS,GAAG,CAAC,CAAC;MA0BL,wBAAwB,CAAA;AA2CjC;;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,WAA4B,CAAA,UAAsB,EAAmB,kBAAqC,EAAA;QAA9E,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAAmB,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;AA9G1G;;;;AAIG;QAIH,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAEjB;;;AAGG;QAGH,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AAWpB;;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;;AAkBjC,QAAA,IAAA,CAAA,QAAQ,GAA4B,MAAK,GAAG,CAAC;;AAG7C,QAAA,IAAA,CAAA,SAAS,GAAG,MAAW,GAAG,CAAC;KAlBmF;;AAE9G,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;;IAGD,SAAS,CAAC,KAAa,EAAE,IAAmC,EAAA;QACxD,OAAO,IAAI,CAAC,EAAE,CAAC;KAClB;;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;;qHAlUQ,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;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EATtB,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,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,uBAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,QAAA;AACI,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,wBAAwB,CAAC;AACvD,YAAA,KAAK,EAAE,IAAI;AACd,SAAA;QACD,uBAAuB,CAAC,wBAAwB,CAAC;AACpD,KAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrDL,8jHA4EA,EAAA,MAAA,EAAA,CAAA,y3ZAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,0CAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,mBAAA,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;AD+MI,UAAA,CAAA;IAAC,aAAa;;;;AAYb,CAAA,EAAA,wBAAA,CAAA,SAAA,EAAA,wBAAA,EAAA,IAAA,CAAA,CAAA;2FAhPQ,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAfpC,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;AACpD,qBAAA,EAAA,QAAA,EAAA,8jHAAA,EAAA,MAAA,EAAA,CAAA,y3ZAAA,CAAA,EAAA,CAAA;iIAOD,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;gBASjC,WAAW,EAAA,CAAA;sBAFV,KAAK;;sBACL,WAAW;uBAAC,uBAAuB,CAAA;gBAOhC,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;gBAkHP,sBAAsB,EAAA,EAAA,EAAA,EAAA,CAAA;;MEhRb,qBAAqB,CAAA;;kHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;mHAArB,qBAAqB,EAAA,YAAA,EAAA,CAJf,wBAAwB,EAAE,mBAAmB,aAClD,YAAY,EAAE,aAAa,CAAA,EAAA,OAAA,EAAA,CAC3B,wBAAwB,CAAA,EAAA,CAAA,CAAA;mHAEzB,qBAAqB,EAAA,OAAA,EAAA,CAHpB,YAAY,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA;2FAG5B,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE,CAAC,wBAAwB,EAAE,mBAAmB,CAAC;AAC7D,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;oBACtC,OAAO,EAAE,CAAC,wBAAwB,CAAC;AACtC,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}