@spicainternational/ngx-sds-components 8.8.1 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (396) hide show
  1. package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +6 -6
  2. package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +1 -1
  3. package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs +8 -8
  4. package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +1 -1
  5. package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs +7 -7
  6. package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +1 -1
  7. package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs +3 -3
  8. package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +1 -1
  9. package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +4 -4
  10. package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +1 -1
  11. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +7 -7
  12. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
  13. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +15 -15
  14. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +1 -1
  15. package/fesm2022/spicainternational-ngx-sds-components-src-lib-drawer.mjs +3 -3
  16. package/fesm2022/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +1 -1
  17. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +7 -7
  18. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +1 -1
  19. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +3 -3
  20. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +1 -1
  21. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +3 -3
  22. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +1 -1
  23. package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +4 -4
  24. package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +1 -1
  25. package/fesm2022/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs +6 -6
  26. package/fesm2022/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +1 -1
  27. package/fesm2022/spicainternational-ngx-sds-components-src-lib-intersection.mjs +7 -8
  28. package/fesm2022/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +1 -1
  29. package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +5 -6
  30. package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +1 -1
  31. package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs +20 -20
  32. package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +1 -1
  33. package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs +4 -4
  34. package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs.map +1 -1
  35. package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs +11 -11
  36. package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +1 -1
  37. package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs +91 -91
  38. package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -1
  39. package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs +4 -4
  40. package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +1 -1
  41. package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs +4 -4
  42. package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +1 -1
  43. package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs +4 -4
  44. package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +1 -1
  45. package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +4 -4
  46. package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +1 -1
  47. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ripple.mjs +3 -3
  48. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ripple.mjs.map +1 -1
  49. package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +9 -9
  50. package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +1 -1
  51. package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +6 -6
  52. package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +1 -1
  53. package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs +4 -4
  54. package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +1 -1
  55. package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +5 -5
  56. package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +1 -1
  57. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs +4 -4
  58. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +1 -1
  59. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timer.mjs +3 -3
  60. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +1 -1
  61. package/fesm2022/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +7 -7
  62. package/fesm2022/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +1 -1
  63. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs.map +1 -1
  64. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils.mjs.map +1 -1
  65. package/package.json +45 -113
  66. package/{src/lib/app-switcher/app-switcher.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-app-switcher.d.ts} +16 -4
  67. package/{src/lib/avatar/avatar.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-avatar.d.ts} +40 -3
  68. package/{src/lib/badge/badge.directive.d.ts → types/spicainternational-ngx-sds-components-src-lib-badge.d.ts} +9 -4
  69. package/{src/lib/callout/callout.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-callout.d.ts} +5 -2
  70. package/{src/lib/color-picker/color-picker.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-color-picker.d.ts} +8 -4
  71. package/{src/lib/date-picker/date-picker.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-date-picker.d.ts} +56 -10
  72. package/types/spicainternational-ngx-sds-components-src-lib-date-pipes.d.ts +82 -0
  73. package/{src/lib/drawer/drawer.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-drawer.d.ts} +5 -2
  74. package/{src/lib/duration-box/duration-box.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-duration-box.d.ts} +18 -5
  75. package/{src/lib/duration-pipe/duration-format.pipe.d.ts → types/spicainternational-ngx-sds-components-src-lib-duration-pipe.d.ts} +5 -2
  76. package/{src/lib/ellipsis/directives/ellipsis.directive.d.ts → types/spicainternational-ngx-sds-components-src-lib-ellipsis.d.ts} +5 -2
  77. package/{src/lib/expansion-panel/expansion-panel.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-expansion-panel.d.ts} +8 -3
  78. package/{src/lib/highlight-text/directives/highlight-text.directive.d.ts → types/spicainternational-ngx-sds-components-src-lib-highlight-text.d.ts} +15 -3
  79. package/types/spicainternational-ngx-sds-components-src-lib-intersection.d.ts +44 -0
  80. package/types/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.d.ts +20 -0
  81. package/types/spicainternational-ngx-sds-components-src-lib-layout.d.ts +39 -0
  82. package/{src/lib/message/message.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-message.d.ts} +6 -3
  83. package/types/spicainternational-ngx-sds-components-src-lib-modal.d.ts +127 -0
  84. package/types/spicainternational-ngx-sds-components-src-lib-navigation.d.ts +256 -0
  85. package/{src/lib/number-box/number-box.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-number-box.d.ts} +11 -7
  86. package/{src/lib/page-header/page-header.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-page-header.d.ts} +6 -3
  87. package/{src/lib/pane/pane.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-pane.d.ts} +17 -5
  88. package/{src/lib/quick-info/quick-info.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-quick-info.d.ts} +16 -4
  89. package/{src/lib/ripple/ripple.directive.d.ts → types/spicainternational-ngx-sds-components-src-lib-ripple.d.ts} +6 -3
  90. package/types/spicainternational-ngx-sds-components-src-lib-segmented-control.d.ts +45 -0
  91. package/types/spicainternational-ngx-sds-components-src-lib-side-bar.d.ts +33 -0
  92. package/{src/lib/static-value/static-value.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-static-value.d.ts} +5 -2
  93. package/{src/lib/table-actions/table-actions.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-table-actions.d.ts} +5 -2
  94. package/{src/lib/timeline/components/timeline.component.d.ts → types/spicainternational-ngx-sds-components-src-lib-timeline.d.ts} +47 -5
  95. package/types/spicainternational-ngx-sds-components-src-lib-timer.d.ts +143 -0
  96. package/{src/lib/tooltip/tooltip.directive.d.ts → types/spicainternational-ngx-sds-components-src-lib-tooltip.d.ts} +9 -4
  97. package/types/spicainternational-ngx-sds-components-src-lib-utils-date-time.d.ts +9 -0
  98. package/types/spicainternational-ngx-sds-components-src-lib-utils.d.ts +9 -0
  99. package/esm2022/public-api.mjs +0 -36
  100. package/esm2022/spicainternational-ngx-sds-components.mjs +0 -5
  101. package/esm2022/src/lib/app-switcher/app-switcher.component.mjs +0 -116
  102. package/esm2022/src/lib/app-switcher/app-switcher.model.mjs +0 -2
  103. package/esm2022/src/lib/app-switcher/public-api.mjs +0 -3
  104. package/esm2022/src/lib/app-switcher/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +0 -5
  105. package/esm2022/src/lib/avatar/avatar-group.component.mjs +0 -82
  106. package/esm2022/src/lib/avatar/avatar-group.model.mjs +0 -2
  107. package/esm2022/src/lib/avatar/avatar.component.mjs +0 -165
  108. package/esm2022/src/lib/avatar/public-api.mjs +0 -4
  109. package/esm2022/src/lib/avatar/spicainternational-ngx-sds-components-src-lib-avatar.mjs +0 -5
  110. package/esm2022/src/lib/badge/badge.directive.mjs +0 -90
  111. package/esm2022/src/lib/badge/badge.types.mjs +0 -2
  112. package/esm2022/src/lib/badge/components/badge.component.mjs +0 -59
  113. package/esm2022/src/lib/badge/public-api.mjs +0 -2
  114. package/esm2022/src/lib/badge/spicainternational-ngx-sds-components-src-lib-badge.mjs +0 -5
  115. package/esm2022/src/lib/callout/callout.component.mjs +0 -20
  116. package/esm2022/src/lib/callout/public-api.mjs +0 -2
  117. package/esm2022/src/lib/callout/spicainternational-ngx-sds-components-src-lib-callout.mjs +0 -5
  118. package/esm2022/src/lib/color-picker/color-picker.component.mjs +0 -82
  119. package/esm2022/src/lib/color-picker/public-api.mjs +0 -2
  120. package/esm2022/src/lib/color-picker/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +0 -5
  121. package/esm2022/src/lib/date-picker/date-picker.component.mjs +0 -893
  122. package/esm2022/src/lib/date-picker/date-picker.model.mjs +0 -71
  123. package/esm2022/src/lib/date-picker/public-api.mjs +0 -3
  124. package/esm2022/src/lib/date-picker/sds-date-picker.service.mjs +0 -90
  125. package/esm2022/src/lib/date-picker/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +0 -5
  126. package/esm2022/src/lib/date-pipes/date-compare.pipe.mjs +0 -32
  127. package/esm2022/src/lib/date-pipes/date-format.pipe.mjs +0 -31
  128. package/esm2022/src/lib/date-pipes/date-period-format.pipe.mjs +0 -49
  129. package/esm2022/src/lib/date-pipes/date-time-formats.constants.mjs +0 -156
  130. package/esm2022/src/lib/date-pipes/date-time-range-duration.pipe.mjs +0 -33
  131. package/esm2022/src/lib/date-pipes/date-time-range-format.pipe.mjs +0 -45
  132. package/esm2022/src/lib/date-pipes/public-api.mjs +0 -8
  133. package/esm2022/src/lib/date-pipes/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +0 -5
  134. package/esm2022/src/lib/drawer/drawer.component.mjs +0 -103
  135. package/esm2022/src/lib/drawer/public-api.mjs +0 -2
  136. package/esm2022/src/lib/drawer/spicainternational-ngx-sds-components-src-lib-drawer.mjs +0 -5
  137. package/esm2022/src/lib/duration-box/duration-box.component.mjs +0 -279
  138. package/esm2022/src/lib/duration-box/duration-box.types.mjs +0 -2
  139. package/esm2022/src/lib/duration-box/duration.service.mjs +0 -72
  140. package/esm2022/src/lib/duration-box/public-api.mjs +0 -2
  141. package/esm2022/src/lib/duration-box/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +0 -5
  142. package/esm2022/src/lib/duration-pipe/duration-format.pipe.mjs +0 -27
  143. package/esm2022/src/lib/duration-pipe/public-api.mjs +0 -2
  144. package/esm2022/src/lib/duration-pipe/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +0 -5
  145. package/esm2022/src/lib/ellipsis/directives/ellipsis.directive.mjs +0 -52
  146. package/esm2022/src/lib/ellipsis/public-api.mjs +0 -2
  147. package/esm2022/src/lib/ellipsis/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +0 -5
  148. package/esm2022/src/lib/expansion-panel/expansion-panel.component.mjs +0 -86
  149. package/esm2022/src/lib/expansion-panel/expansion-panel.types.mjs +0 -2
  150. package/esm2022/src/lib/expansion-panel/public-api.mjs +0 -2
  151. package/esm2022/src/lib/expansion-panel/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +0 -5
  152. package/esm2022/src/lib/highlight-text/directives/highlight-text.directive.mjs +0 -61
  153. package/esm2022/src/lib/highlight-text/directives/index.mjs +0 -2
  154. package/esm2022/src/lib/highlight-text/pipes/highlight-text.pipe.mjs +0 -30
  155. package/esm2022/src/lib/highlight-text/pipes/index.mjs +0 -2
  156. package/esm2022/src/lib/highlight-text/public-api.mjs +0 -3
  157. package/esm2022/src/lib/highlight-text/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs +0 -5
  158. package/esm2022/src/lib/highlight-text/utils/highlight-text.utils.mjs +0 -97
  159. package/esm2022/src/lib/highlight-text/utils/index.mjs +0 -2
  160. package/esm2022/src/lib/intersection/directives/index.mjs +0 -2
  161. package/esm2022/src/lib/intersection/directives/intersection.directive.mjs +0 -52
  162. package/esm2022/src/lib/intersection/public-api.mjs +0 -3
  163. package/esm2022/src/lib/intersection/services/index.mjs +0 -2
  164. package/esm2022/src/lib/intersection/services/intersection.service.mjs +0 -54
  165. package/esm2022/src/lib/intersection/spicainternational-ngx-sds-components-src-lib-intersection.mjs +0 -5
  166. package/esm2022/src/lib/keyboard-shortcut/directives/index.mjs +0 -2
  167. package/esm2022/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.mjs +0 -47
  168. package/esm2022/src/lib/keyboard-shortcut/public-api.mjs +0 -2
  169. package/esm2022/src/lib/keyboard-shortcut/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +0 -5
  170. package/esm2022/src/lib/layout/default-layout/default-layout.component.mjs +0 -15
  171. package/esm2022/src/lib/layout/extra-large-layout/extra-large-layout.component.mjs +0 -15
  172. package/esm2022/src/lib/layout/fluid-layout/fluid-layout.component.mjs +0 -15
  173. package/esm2022/src/lib/layout/medium-layout/medium-layout.component.mjs +0 -15
  174. package/esm2022/src/lib/layout/public-api.mjs +0 -6
  175. package/esm2022/src/lib/layout/small-layout/small-layout.component.mjs +0 -15
  176. package/esm2022/src/lib/layout/spicainternational-ngx-sds-components-src-lib-layout.mjs +0 -5
  177. package/esm2022/src/lib/message/message.component.mjs +0 -60
  178. package/esm2022/src/lib/message/public-api.mjs +0 -2
  179. package/esm2022/src/lib/message/spicainternational-ngx-sds-components-src-lib-message.mjs +0 -5
  180. package/esm2022/src/lib/modal/dialog/dialog.component.mjs +0 -187
  181. package/esm2022/src/lib/modal/dialog/dialog.types.mjs +0 -2
  182. package/esm2022/src/lib/modal/modal.component.mjs +0 -159
  183. package/esm2022/src/lib/modal/modal.model.mjs +0 -2
  184. package/esm2022/src/lib/modal/public-api.mjs +0 -3
  185. package/esm2022/src/lib/modal/spicainternational-ngx-sds-components-src-lib-modal.mjs +0 -5
  186. package/esm2022/src/lib/navigation/models/navigation-models.mjs +0 -2
  187. package/esm2022/src/lib/navigation/navigation-collapsible-frame/navigation-collapsible-frame.component.mjs +0 -17
  188. package/esm2022/src/lib/navigation/navigation-container/navigation-container.component.mjs +0 -58
  189. package/esm2022/src/lib/navigation/navigation-external-link/navigation-external-link.component.mjs +0 -33
  190. package/esm2022/src/lib/navigation/navigation-group/navigation-group.component.mjs +0 -220
  191. package/esm2022/src/lib/navigation/navigation-header/navigation-header.component.mjs +0 -21
  192. package/esm2022/src/lib/navigation/navigation-route-link/navigation-route-link.component.mjs +0 -73
  193. package/esm2022/src/lib/navigation/navigation-separator/navigation-separator.component.mjs +0 -15
  194. package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.mjs +0 -30
  195. package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.mjs +0 -45
  196. package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.types.mjs +0 -2
  197. package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.mjs +0 -25
  198. package/esm2022/src/lib/navigation/navigation-user-profile/navigation-profile.model.mjs +0 -2
  199. package/esm2022/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.mjs +0 -107
  200. package/esm2022/src/lib/navigation/pipes/active-route-pattern.pipe.mjs +0 -38
  201. package/esm2022/src/lib/navigation/product-home/product-home.component.mjs +0 -70
  202. package/esm2022/src/lib/navigation/public-api.mjs +0 -15
  203. package/esm2022/src/lib/navigation/spicainternational-ngx-sds-components-src-lib-navigation.mjs +0 -5
  204. package/esm2022/src/lib/navigation/utils/navigation.utils.mjs +0 -48
  205. package/esm2022/src/lib/number-box/number-box.component.mjs +0 -138
  206. package/esm2022/src/lib/number-box/public-api.mjs +0 -2
  207. package/esm2022/src/lib/number-box/spicainternational-ngx-sds-components-src-lib-number-box.mjs +0 -5
  208. package/esm2022/src/lib/page-header/page-header.component.mjs +0 -25
  209. package/esm2022/src/lib/page-header/public-api.mjs +0 -2
  210. package/esm2022/src/lib/page-header/spicainternational-ngx-sds-components-src-lib-page-header.mjs +0 -5
  211. package/esm2022/src/lib/pane/pane.component.mjs +0 -43
  212. package/esm2022/src/lib/pane/pane.model.mjs +0 -2
  213. package/esm2022/src/lib/pane/public-api.mjs +0 -3
  214. package/esm2022/src/lib/pane/spicainternational-ngx-sds-components-src-lib-pane.mjs +0 -5
  215. package/esm2022/src/lib/quick-info/public-api.mjs +0 -2
  216. package/esm2022/src/lib/quick-info/quick-info.component.mjs +0 -121
  217. package/esm2022/src/lib/quick-info/quick-info.model.mjs +0 -2
  218. package/esm2022/src/lib/quick-info/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +0 -5
  219. package/esm2022/src/lib/ripple/public-api.mjs +0 -2
  220. package/esm2022/src/lib/ripple/ripple.directive.mjs +0 -103
  221. package/esm2022/src/lib/ripple/spicainternational-ngx-sds-components-src-lib-ripple.mjs +0 -5
  222. package/esm2022/src/lib/segmented-control/public-api.mjs +0 -2
  223. package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +0 -239
  224. package/esm2022/src/lib/segmented-control/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +0 -5
  225. package/esm2022/src/lib/side-bar/public-api.mjs +0 -2
  226. package/esm2022/src/lib/side-bar/side-bar.component.mjs +0 -45
  227. package/esm2022/src/lib/side-bar/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +0 -5
  228. package/esm2022/src/lib/static-value/public-api.mjs +0 -2
  229. package/esm2022/src/lib/static-value/spicainternational-ngx-sds-components-src-lib-static-value.mjs +0 -5
  230. package/esm2022/src/lib/static-value/static-value.component.mjs +0 -25
  231. package/esm2022/src/lib/table-actions/public-api.mjs +0 -2
  232. package/esm2022/src/lib/table-actions/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +0 -5
  233. package/esm2022/src/lib/table-actions/table-actions.component.mjs +0 -49
  234. package/esm2022/src/lib/timeline/components/timeline.component.mjs +0 -398
  235. package/esm2022/src/lib/timeline/models/timeline.model.mjs +0 -2
  236. package/esm2022/src/lib/timeline/public-api.mjs +0 -2
  237. package/esm2022/src/lib/timeline/services/timeline.service.mjs +0 -152
  238. package/esm2022/src/lib/timeline/spicainternational-ngx-sds-components-src-lib-timeline.mjs +0 -5
  239. package/esm2022/src/lib/timeline/types/timeline.types.mjs +0 -2
  240. package/esm2022/src/lib/timer/public-api.mjs +0 -3
  241. package/esm2022/src/lib/timer/services/index.mjs +0 -2
  242. package/esm2022/src/lib/timer/services/timer.service.mjs +0 -99
  243. package/esm2022/src/lib/timer/spicainternational-ngx-sds-components-src-lib-timer.mjs +0 -5
  244. package/esm2022/src/lib/timer/utils/index.mjs +0 -2
  245. package/esm2022/src/lib/timer/utils/timer.utils.mjs +0 -97
  246. package/esm2022/src/lib/tooltip/components/tooltip.component.mjs +0 -26
  247. package/esm2022/src/lib/tooltip/public-api.mjs +0 -2
  248. package/esm2022/src/lib/tooltip/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +0 -5
  249. package/esm2022/src/lib/tooltip/tooltip.directive.mjs +0 -192
  250. package/esm2022/src/lib/tooltip/tooltip.types.mjs +0 -2
  251. package/esm2022/src/lib/tooltip/utils/index.mjs +0 -2
  252. package/esm2022/src/lib/tooltip/utils/tooltip.utils.mjs +0 -17
  253. package/esm2022/src/lib/utils/date-time/date-time-format.function.mjs +0 -15
  254. package/esm2022/src/lib/utils/date-time/intl-date-time-format-options-presets.mjs +0 -29
  255. package/esm2022/src/lib/utils/date-time/public-api.mjs +0 -3
  256. package/esm2022/src/lib/utils/date-time/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs +0 -5
  257. package/esm2022/src/lib/utils/public-api.mjs +0 -2
  258. package/esm2022/src/lib/utils/spicainternational-ngx-sds-components-src-lib-utils.mjs +0 -5
  259. package/index.d.ts +0 -5
  260. package/src/lib/app-switcher/app-switcher.model.d.ts +0 -8
  261. package/src/lib/app-switcher/index.d.ts +0 -5
  262. package/src/lib/app-switcher/public-api.d.ts +0 -2
  263. package/src/lib/avatar/avatar-group.component.d.ts +0 -28
  264. package/src/lib/avatar/avatar-group.model.d.ts +0 -6
  265. package/src/lib/avatar/index.d.ts +0 -5
  266. package/src/lib/avatar/public-api.d.ts +0 -3
  267. package/src/lib/badge/badge.types.d.ts +0 -2
  268. package/src/lib/badge/components/badge.component.d.ts +0 -23
  269. package/src/lib/badge/index.d.ts +0 -5
  270. package/src/lib/badge/public-api.d.ts +0 -1
  271. package/src/lib/callout/index.d.ts +0 -5
  272. package/src/lib/callout/public-api.d.ts +0 -1
  273. package/src/lib/color-picker/index.d.ts +0 -5
  274. package/src/lib/color-picker/public-api.d.ts +0 -1
  275. package/src/lib/date-picker/date-picker.model.d.ts +0 -34
  276. package/src/lib/date-picker/index.d.ts +0 -5
  277. package/src/lib/date-picker/public-api.d.ts +0 -2
  278. package/src/lib/date-picker/sds-date-picker.service.d.ts +0 -9
  279. package/src/lib/date-pipes/date-compare.pipe.d.ts +0 -7
  280. package/src/lib/date-pipes/date-format.pipe.d.ts +0 -19
  281. package/src/lib/date-pipes/date-period-format.pipe.d.ts +0 -11
  282. package/src/lib/date-pipes/date-time-formats.constants.d.ts +0 -22
  283. package/src/lib/date-pipes/date-time-range-duration.pipe.d.ts +0 -7
  284. package/src/lib/date-pipes/date-time-range-format.pipe.d.ts +0 -15
  285. package/src/lib/date-pipes/index.d.ts +0 -5
  286. package/src/lib/date-pipes/public-api.d.ts +0 -7
  287. package/src/lib/drawer/index.d.ts +0 -5
  288. package/src/lib/drawer/public-api.d.ts +0 -1
  289. package/src/lib/duration-box/duration-box.types.d.ts +0 -1
  290. package/src/lib/duration-box/duration.service.d.ts +0 -10
  291. package/src/lib/duration-box/index.d.ts +0 -5
  292. package/src/lib/duration-box/public-api.d.ts +0 -1
  293. package/src/lib/duration-pipe/index.d.ts +0 -5
  294. package/src/lib/duration-pipe/public-api.d.ts +0 -1
  295. package/src/lib/ellipsis/index.d.ts +0 -5
  296. package/src/lib/ellipsis/public-api.d.ts +0 -1
  297. package/src/lib/expansion-panel/expansion-panel.types.d.ts +0 -2
  298. package/src/lib/expansion-panel/index.d.ts +0 -5
  299. package/src/lib/expansion-panel/public-api.d.ts +0 -1
  300. package/src/lib/highlight-text/directives/index.d.ts +0 -1
  301. package/src/lib/highlight-text/index.d.ts +0 -5
  302. package/src/lib/highlight-text/pipes/highlight-text.pipe.d.ts +0 -11
  303. package/src/lib/highlight-text/pipes/index.d.ts +0 -1
  304. package/src/lib/highlight-text/public-api.d.ts +0 -2
  305. package/src/lib/highlight-text/utils/highlight-text.utils.d.ts +0 -23
  306. package/src/lib/highlight-text/utils/index.d.ts +0 -1
  307. package/src/lib/intersection/directives/index.d.ts +0 -1
  308. package/src/lib/intersection/directives/intersection.directive.d.ts +0 -24
  309. package/src/lib/intersection/index.d.ts +0 -5
  310. package/src/lib/intersection/public-api.d.ts +0 -2
  311. package/src/lib/intersection/services/index.d.ts +0 -1
  312. package/src/lib/intersection/services/intersection.service.d.ts +0 -19
  313. package/src/lib/keyboard-shortcut/directives/index.d.ts +0 -1
  314. package/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.d.ts +0 -17
  315. package/src/lib/keyboard-shortcut/index.d.ts +0 -5
  316. package/src/lib/keyboard-shortcut/public-api.d.ts +0 -1
  317. package/src/lib/layout/default-layout/default-layout.component.d.ts +0 -8
  318. package/src/lib/layout/extra-large-layout/extra-large-layout.component.d.ts +0 -8
  319. package/src/lib/layout/fluid-layout/fluid-layout.component.d.ts +0 -8
  320. package/src/lib/layout/index.d.ts +0 -5
  321. package/src/lib/layout/medium-layout/medium-layout.component.d.ts +0 -8
  322. package/src/lib/layout/public-api.d.ts +0 -5
  323. package/src/lib/layout/small-layout/small-layout.component.d.ts +0 -8
  324. package/src/lib/message/index.d.ts +0 -5
  325. package/src/lib/message/public-api.d.ts +0 -1
  326. package/src/lib/modal/dialog/dialog.component.d.ts +0 -61
  327. package/src/lib/modal/dialog/dialog.types.d.ts +0 -1
  328. package/src/lib/modal/index.d.ts +0 -5
  329. package/src/lib/modal/modal.component.d.ts +0 -60
  330. package/src/lib/modal/modal.model.d.ts +0 -3
  331. package/src/lib/modal/public-api.d.ts +0 -2
  332. package/src/lib/navigation/index.d.ts +0 -5
  333. package/src/lib/navigation/models/navigation-models.d.ts +0 -4
  334. package/src/lib/navigation/navigation-collapsible-frame/navigation-collapsible-frame.component.d.ts +0 -7
  335. package/src/lib/navigation/navigation-container/navigation-container.component.d.ts +0 -25
  336. package/src/lib/navigation/navigation-external-link/navigation-external-link.component.d.ts +0 -13
  337. package/src/lib/navigation/navigation-group/navigation-group.component.d.ts +0 -65
  338. package/src/lib/navigation/navigation-header/navigation-header.component.d.ts +0 -11
  339. package/src/lib/navigation/navigation-route-link/navigation-route-link.component.d.ts +0 -31
  340. package/src/lib/navigation/navigation-separator/navigation-separator.component.d.ts +0 -10
  341. package/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.d.ts +0 -11
  342. package/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.d.ts +0 -17
  343. package/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.types.d.ts +0 -1
  344. package/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.d.ts +0 -9
  345. package/src/lib/navigation/navigation-user-profile/navigation-profile.model.d.ts +0 -6
  346. package/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.d.ts +0 -34
  347. package/src/lib/navigation/pipes/active-route-pattern.pipe.d.ts +0 -21
  348. package/src/lib/navigation/product-home/product-home.component.d.ts +0 -31
  349. package/src/lib/navigation/public-api.d.ts +0 -14
  350. package/src/lib/navigation/utils/navigation.utils.d.ts +0 -2
  351. package/src/lib/number-box/index.d.ts +0 -5
  352. package/src/lib/number-box/public-api.d.ts +0 -1
  353. package/src/lib/page-header/index.d.ts +0 -5
  354. package/src/lib/page-header/public-api.d.ts +0 -1
  355. package/src/lib/pane/index.d.ts +0 -5
  356. package/src/lib/pane/pane.model.d.ts +0 -8
  357. package/src/lib/pane/public-api.d.ts +0 -2
  358. package/src/lib/quick-info/index.d.ts +0 -5
  359. package/src/lib/quick-info/public-api.d.ts +0 -1
  360. package/src/lib/quick-info/quick-info.model.d.ts +0 -9
  361. package/src/lib/ripple/index.d.ts +0 -5
  362. package/src/lib/ripple/public-api.d.ts +0 -1
  363. package/src/lib/segmented-control/index.d.ts +0 -5
  364. package/src/lib/segmented-control/public-api.d.ts +0 -1
  365. package/src/lib/segmented-control/segmented-control.component.d.ts +0 -42
  366. package/src/lib/side-bar/index.d.ts +0 -5
  367. package/src/lib/side-bar/public-api.d.ts +0 -1
  368. package/src/lib/side-bar/side-bar.component.d.ts +0 -30
  369. package/src/lib/static-value/index.d.ts +0 -5
  370. package/src/lib/static-value/public-api.d.ts +0 -1
  371. package/src/lib/table-actions/index.d.ts +0 -5
  372. package/src/lib/table-actions/public-api.d.ts +0 -1
  373. package/src/lib/timeline/index.d.ts +0 -5
  374. package/src/lib/timeline/models/timeline.model.d.ts +0 -38
  375. package/src/lib/timeline/public-api.d.ts +0 -1
  376. package/src/lib/timeline/services/timeline.service.d.ts +0 -24
  377. package/src/lib/timeline/types/timeline.types.d.ts +0 -2
  378. package/src/lib/timer/index.d.ts +0 -5
  379. package/src/lib/timer/public-api.d.ts +0 -2
  380. package/src/lib/timer/services/index.d.ts +0 -1
  381. package/src/lib/timer/services/timer.service.d.ts +0 -78
  382. package/src/lib/timer/utils/index.d.ts +0 -1
  383. package/src/lib/timer/utils/timer.utils.d.ts +0 -61
  384. package/src/lib/tooltip/components/tooltip.component.d.ts +0 -18
  385. package/src/lib/tooltip/index.d.ts +0 -5
  386. package/src/lib/tooltip/public-api.d.ts +0 -1
  387. package/src/lib/tooltip/tooltip.types.d.ts +0 -2
  388. package/src/lib/tooltip/utils/index.d.ts +0 -1
  389. package/src/lib/tooltip/utils/tooltip.utils.d.ts +0 -5
  390. package/src/lib/utils/date-time/date-time-format.function.d.ts +0 -2
  391. package/src/lib/utils/date-time/index.d.ts +0 -5
  392. package/src/lib/utils/date-time/intl-date-time-format-options-presets.d.ts +0 -4
  393. package/src/lib/utils/date-time/public-api.d.ts +0 -2
  394. package/src/lib/utils/index.d.ts +0 -5
  395. package/src/lib/utils/public-api.d.ts +0 -1
  396. /package/{public-api.d.ts → types/spicainternational-ngx-sds-components.d.ts} +0 -0
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Output, Input, ViewChild, Inject, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { EventEmitter, DOCUMENT, Output, Input, ViewChild, Inject, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { fromEvent, groupBy, mergeAll } from 'rxjs';
4
- import { DOCUMENT, NgIf, NgFor, NgTemplateOutlet } from '@angular/common';
4
+ import { NgIf, NgFor, NgTemplateOutlet } from '@angular/common';
5
5
  import * as i2 from 'devextreme-angular/ui/scroll-view';
6
6
  import { DxScrollViewModule } from 'devextreme-angular/ui/scroll-view';
7
7
  import * as i1 from 'devextreme-angular/ui/popover';
@@ -79,12 +79,12 @@ class SdsAppSwitcherComponent {
79
79
  this.productClick.emit(product);
80
80
  }
81
81
  }
82
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsAppSwitcherComponent, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
83
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SdsAppSwitcherComponent, isStandalone: true, selector: "sds-app-switcher", inputs: { productCode: "productCode", userProductCodes: "userProductCodes", tenantProducts: "tenantProducts", switchText: "switchText", discoverText: "discoverText", ariaLabel: "ariaLabel" }, outputs: { productClick: "productClick" }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #productTemplate let-product=\"product\">\n <div class=\"product-logo\">\n <img [src]=\"product.logoUri\" alt=\"{{ product.Name }}\">\n </div>\n <div class=\"product-title d-flex align-items-center\">\n {{product.name}}\n </div>\n <div class=\"product-description\">\n {{product.description}}\n </div>\n</ng-template>\n\n<div\n sdsKeyboardShortcut\n #popoverTarget\n class=\"btn-group app-switcher\"\n >\n <button\n type=\"button\"\n tabindex=\"0\"\n class=\"btn btn-link rounded p-0 text-gray-800 switcher-button d-flex align-items-center justify-content-center\"\n [attr.aria-controls]=\"elementUUID + '_dropdown'\"\n [attr.aria-label]=\"ariaLabel\"\n (click)=\"onDropdownClicked()\">\n\n <svg width=\"0.86rem\" height=\"0.86rem\" xmlns=\"http://www.w3.org/2000/svg\">\n <!-- Row 1 -->\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0\" fill=\"black\" />\n\n <!-- Row 2 -->\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0.33rem\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0.33rem\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0.33rem\" fill=\"black\" />\n\n <!-- Row 3 -->\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0.66rem\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0.66rem\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0.66rem\" fill=\"black\" />\n </svg>\n \n </button>\n</div>\n\n<dx-popover\n #popover\n [target]=\"popoverTarget\"\n [(visible)]=\"showDropdown\"\n [wrapperAttr]=\"{ class: 'sds-app-switcher-popover sds-dx-popup-no-arrow' }\"\n >\n <dx-scroll-view\n showScrollbar=\"always\">\n\n <div cdkTrapFocus class=\"app-switcher-menu\">\n\n <ng-container *ngIf=\"showSkeleton\">\n <div class=\"header skeleton skeleton-height-1 w-50 \"></div>\n <div class=\"product mt-2 skeleton skeleton-height-2\"></div>\n </ng-container>\n\n <ng-container *ngIf=\"!showSkeleton && activatedProducts.length > 0\">\n <h6 class=\"header\">{{ switchText }}</h6>\n <div *ngFor=\"let activatedProduct of activatedProducts\"\n role=\"button\"\n tabindex=\"0\"\n class=\"product\"\n (click)=\"emitProductClick(activatedProduct)\"\n (keydown)=\"onProductKeyReleased($event, activatedProduct)\">\n <ng-container\n [ngTemplateOutlet]=\"productTemplate\"\n [ngTemplateOutletContext]=\"{ product: activatedProduct }\">\n </ng-container>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!showSkeleton && discoverProducts.length > 0\">\n <h6 class=\"header\">{{ discoverText }}</h6>\n\n <div *ngFor=\"let discoverProduct of discoverProducts\"\n role=\"button\"\n tabindex=\"0\"\n class=\"product\"\n (click)=\"emitProductClick(discoverProduct)\"\n (keydown)=\"onProductKeyReleased($event, discoverProduct)\">\n <ng-container\n [ngTemplateOutlet]=\"productTemplate\"\n [ngTemplateOutletContext]=\"{ product: discoverProduct }\">\n </ng-container>\n </div>\n </ng-container>\n </div>\n </dx-scroll-view>\n</dx-popover>\n\n", styles: [".switcher-button{width:1.5rem!important;height:1.5rem!important;border:none!important;border-radius:0!important}.switcher-button rect{fill:var(--bs-gray-800)}::ng-deep .sds-app-switcher-popover .dx-popup-content{padding:.5rem;font-size:1rem}div.product:focus{background-color:var(--bs-gray-200);border-color:var(--bs-gray-200);color:var(--bs-gray-900)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: DxPopoverModule }, { kind: "component", type: i1.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "deferRendering", "disabled", "enableBodyScroll", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "deferRenderingChange", "disabledChange", "enableBodyScrollChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "ngmodule", type: DxScrollViewModule }, { kind: "component", type: i2.DxScrollViewComponent, selector: "dx-scroll-view", inputs: ["bounceEnabled", "direction", "disabled", "elementAttr", "height", "pulledDownText", "pullingDownText", "reachBottomText", "refreshingText", "rtlEnabled", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onPullDown", "onReachBottom", "onScroll", "onUpdated", "bounceEnabledChange", "directionChange", "disabledChange", "elementAttrChange", "heightChange", "pulledDownTextChange", "pullingDownTextChange", "reachBottomTextChange", "refreshingTextChange", "rtlEnabledChange", "scrollByContentChange", "scrollByThumbChange", "showScrollbarChange", "useNativeChange", "widthChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
82
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsAppSwitcherComponent, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
83
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsAppSwitcherComponent, isStandalone: true, selector: "sds-app-switcher", inputs: { productCode: "productCode", userProductCodes: "userProductCodes", tenantProducts: "tenantProducts", switchText: "switchText", discoverText: "discoverText", ariaLabel: "ariaLabel" }, outputs: { productClick: "productClick" }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #productTemplate let-product=\"product\">\n <div class=\"product-logo\">\n <img [src]=\"product.logoUri\" alt=\"{{ product.Name }}\">\n </div>\n <div class=\"product-title d-flex align-items-center\">\n {{product.name}}\n </div>\n <div class=\"product-description\">\n {{product.description}}\n </div>\n</ng-template>\n\n<div\n sdsKeyboardShortcut\n #popoverTarget\n class=\"btn-group app-switcher\"\n >\n <button\n type=\"button\"\n tabindex=\"0\"\n class=\"btn btn-link rounded p-0 text-gray-800 switcher-button d-flex align-items-center justify-content-center\"\n [attr.aria-controls]=\"elementUUID + '_dropdown'\"\n [attr.aria-label]=\"ariaLabel\"\n (click)=\"onDropdownClicked()\">\n\n <svg width=\"0.86rem\" height=\"0.86rem\" xmlns=\"http://www.w3.org/2000/svg\">\n <!-- Row 1 -->\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0\" fill=\"black\" />\n\n <!-- Row 2 -->\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0.33rem\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0.33rem\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0.33rem\" fill=\"black\" />\n\n <!-- Row 3 -->\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0.66rem\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0.66rem\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0.66rem\" fill=\"black\" />\n </svg>\n \n </button>\n</div>\n\n<dx-popover\n #popover\n [target]=\"popoverTarget\"\n [(visible)]=\"showDropdown\"\n [wrapperAttr]=\"{ class: 'sds-app-switcher-popover sds-dx-popup-no-arrow' }\"\n >\n <dx-scroll-view\n showScrollbar=\"always\">\n\n <div cdkTrapFocus class=\"app-switcher-menu\">\n\n <ng-container *ngIf=\"showSkeleton\">\n <div class=\"header skeleton skeleton-height-1 w-50 \"></div>\n <div class=\"product mt-2 skeleton skeleton-height-2\"></div>\n </ng-container>\n\n <ng-container *ngIf=\"!showSkeleton && activatedProducts.length > 0\">\n <h6 class=\"header\">{{ switchText }}</h6>\n <div *ngFor=\"let activatedProduct of activatedProducts\"\n role=\"button\"\n tabindex=\"0\"\n class=\"product\"\n (click)=\"emitProductClick(activatedProduct)\"\n (keydown)=\"onProductKeyReleased($event, activatedProduct)\">\n <ng-container\n [ngTemplateOutlet]=\"productTemplate\"\n [ngTemplateOutletContext]=\"{ product: activatedProduct }\">\n </ng-container>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!showSkeleton && discoverProducts.length > 0\">\n <h6 class=\"header\">{{ discoverText }}</h6>\n\n <div *ngFor=\"let discoverProduct of discoverProducts\"\n role=\"button\"\n tabindex=\"0\"\n class=\"product\"\n (click)=\"emitProductClick(discoverProduct)\"\n (keydown)=\"onProductKeyReleased($event, discoverProduct)\">\n <ng-container\n [ngTemplateOutlet]=\"productTemplate\"\n [ngTemplateOutletContext]=\"{ product: discoverProduct }\">\n </ng-container>\n </div>\n </ng-container>\n </div>\n </dx-scroll-view>\n</dx-popover>\n\n", styles: [".switcher-button{width:1.5rem!important;height:1.5rem!important;border:none!important;border-radius:0!important}.switcher-button rect{fill:var(--bs-gray-800)}::ng-deep .sds-app-switcher-popover .dx-popup-content{padding:.5rem;font-size:1rem}div.product:focus{background-color:var(--bs-gray-200);border-color:var(--bs-gray-200);color:var(--bs-gray-900)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: DxPopoverModule }, { kind: "component", type: i1.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "deferRendering", "disabled", "enableBodyScroll", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "deferRenderingChange", "disabledChange", "enableBodyScrollChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "ngmodule", type: DxScrollViewModule }, { kind: "component", type: i2.DxScrollViewComponent, selector: "dx-scroll-view", inputs: ["bounceEnabled", "direction", "disabled", "elementAttr", "height", "pulledDownText", "pullingDownText", "reachBottomText", "refreshingText", "rtlEnabled", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onPullDown", "onReachBottom", "onScroll", "onUpdated", "bounceEnabledChange", "directionChange", "disabledChange", "elementAttrChange", "heightChange", "pulledDownTextChange", "pullingDownTextChange", "reachBottomTextChange", "refreshingTextChange", "rtlEnabledChange", "scrollByContentChange", "scrollByThumbChange", "showScrollbarChange", "useNativeChange", "widthChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
84
84
  }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsAppSwitcherComponent, decorators: [{
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsAppSwitcherComponent, decorators: [{
86
86
  type: Component,
87
- args: [{ selector: 'sds-app-switcher', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
87
+ args: [{ selector: 'sds-app-switcher', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
88
88
  NgIf,
89
89
  NgFor,
90
90
  CdkTrapFocus,
@@ -1 +1 @@
1
- {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-app-switcher.mjs","sources":["../../../projects/ngx-sds-components/src/lib/app-switcher/app-switcher.component.ts","../../../projects/ngx-sds-components/src/lib/app-switcher/app-switcher.component.html","../../../projects/ngx-sds-components/src/lib/app-switcher/spicainternational-ngx-sds-components-src-lib-app-switcher.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { DxPopoverComponent } from 'devextreme-angular';\n\nimport { ProductModel } from './app-switcher.model';\nimport { fromEvent, groupBy, mergeAll, Subscription } from 'rxjs';\nimport { DOCUMENT } from '@angular/common';\nimport { NgIf, NgFor, NgTemplateOutlet } from '@angular/common';\nimport { DxScrollViewModule } from 'devextreme-angular/ui/scroll-view';\nimport { DxPopoverModule } from 'devextreme-angular/ui/popover';\nimport { CdkTrapFocus } from '@angular/cdk/a11y';\n\n@Component({\n selector: 'sds-app-switcher',\n templateUrl: './app-switcher.component.html',\n styleUrls: ['./app-switcher.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgIf, \n NgFor, \n\n CdkTrapFocus, \n \n DxPopoverModule, \n DxScrollViewModule, \n NgTemplateOutlet\n ]\n})\nexport class SdsAppSwitcherComponent implements OnInit, OnChanges, OnDestroy {\n @ViewChild('popover', {static: false}) private popover?: DxPopoverComponent;\n\n @Input() public productCode: string | undefined;\n @Input() public userProductCodes: string[] | undefined;\n @Input() public tenantProducts: ProductModel[] | undefined;\n @Input() public switchText: string = '';\n @Input() public discoverText: string = '';\n\n /**\n * @description\n * Aria label appended to native button element. Defaults to 'Switch between apps'\n */\n @Input() public ariaLabel: string = 'Switch between apps'\n\n @Output() public productClick: EventEmitter<ProductModel> = new EventEmitter();\n\n\n public activatedProducts: ProductModel[];\n public discoverProducts: ProductModel[];\n\n public showSkeleton: boolean;\n\n public elementUUID = 'sds-as-' + crypto.randomUUID();\n public showDropdown = false;\n\n private _subscriptions: Subscription[] = [];\n\n constructor(@Inject(DOCUMENT) private readonly _document: Document) {\n this.showSkeleton = true;\n this.activatedProducts = new Array<ProductModel>();\n this.discoverProducts = new Array<ProductModel>();\n }\n\n ngOnInit(): void {\n const keyboardEventsSubscription = fromEvent<KeyboardEvent>(\n this._document,\n 'keydown'\n )\n .pipe(\n groupBy((e: KeyboardEvent) => e.code),\n mergeAll()\n )\n .subscribe((keyboardEvent:KeyboardEvent) => {\n if (keyboardEvent.code === 'Escape') {\n this.onCloseDropdownPressed();\n }\n\n });\n\n this._subscriptions.push(keyboardEventsSubscription);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['userProductCodes'] || changes['tenantProducts'] || changes['productCode']) {\n if (this.userProductCodes !== undefined && this.tenantProducts !== undefined && this.productCode !== undefined) {\n this.activatedProducts = [];\n this.discoverProducts = [];\n\n this.tenantProducts.forEach(product => {\n if ((this.userProductCodes as string[]).includes(product.code)) {\n // exclude current product from the list\n if (product.code != this.productCode) {\n this.activatedProducts.push(product);\n }\n } else {\n this.discoverProducts.push(product);\n }\n });\n this.showSkeleton = false;\n } else {\n this.showSkeleton = true;\n }\n this.popover?.instance.repaint();\n }\n }\n\n ngOnDestroy(): void {\n\n }\n\n public emitProductClick(product: ProductModel): void {\n this.productClick.emit(product);\n }\n\n public onCloseDropdownPressed(): void {\n if (this.showDropdown) {\n this.showDropdown = false;\n this.popover?.instance.hide();\n }\n }\n\n public onDropdownClicked(){\n this.showDropdown = !this.showDropdown;\n }\n\n public onProductKeyReleased(event: KeyboardEvent, product: ProductModel) {\n if (event.key === 'Enter') {\n this.productClick.emit(product)\n }\n }\n\n}\n","<ng-template #productTemplate let-product=\"product\">\n <div class=\"product-logo\">\n <img [src]=\"product.logoUri\" alt=\"{{ product.Name }}\">\n </div>\n <div class=\"product-title d-flex align-items-center\">\n {{product.name}}\n </div>\n <div class=\"product-description\">\n {{product.description}}\n </div>\n</ng-template>\n\n<div\n sdsKeyboardShortcut\n #popoverTarget\n class=\"btn-group app-switcher\"\n >\n <button\n type=\"button\"\n tabindex=\"0\"\n class=\"btn btn-link rounded p-0 text-gray-800 switcher-button d-flex align-items-center justify-content-center\"\n [attr.aria-controls]=\"elementUUID + '_dropdown'\"\n [attr.aria-label]=\"ariaLabel\"\n (click)=\"onDropdownClicked()\">\n\n <svg width=\"0.86rem\" height=\"0.86rem\" xmlns=\"http://www.w3.org/2000/svg\">\n <!-- Row 1 -->\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0\" fill=\"black\" />\n\n <!-- Row 2 -->\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0.33rem\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0.33rem\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0.33rem\" fill=\"black\" />\n\n <!-- Row 3 -->\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0.66rem\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0.66rem\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0.66rem\" fill=\"black\" />\n </svg>\n \n </button>\n</div>\n\n<dx-popover\n #popover\n [target]=\"popoverTarget\"\n [(visible)]=\"showDropdown\"\n [wrapperAttr]=\"{ class: 'sds-app-switcher-popover sds-dx-popup-no-arrow' }\"\n >\n <dx-scroll-view\n showScrollbar=\"always\">\n\n <div cdkTrapFocus class=\"app-switcher-menu\">\n\n <ng-container *ngIf=\"showSkeleton\">\n <div class=\"header skeleton skeleton-height-1 w-50 \"></div>\n <div class=\"product mt-2 skeleton skeleton-height-2\"></div>\n </ng-container>\n\n <ng-container *ngIf=\"!showSkeleton && activatedProducts.length > 0\">\n <h6 class=\"header\">{{ switchText }}</h6>\n <div *ngFor=\"let activatedProduct of activatedProducts\"\n role=\"button\"\n tabindex=\"0\"\n class=\"product\"\n (click)=\"emitProductClick(activatedProduct)\"\n (keydown)=\"onProductKeyReleased($event, activatedProduct)\">\n <ng-container\n [ngTemplateOutlet]=\"productTemplate\"\n [ngTemplateOutletContext]=\"{ product: activatedProduct }\">\n </ng-container>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!showSkeleton && discoverProducts.length > 0\">\n <h6 class=\"header\">{{ discoverText }}</h6>\n\n <div *ngFor=\"let discoverProduct of discoverProducts\"\n role=\"button\"\n tabindex=\"0\"\n class=\"product\"\n (click)=\"emitProductClick(discoverProduct)\"\n (keydown)=\"onProductKeyReleased($event, discoverProduct)\">\n <ng-container\n [ngTemplateOutlet]=\"productTemplate\"\n [ngTemplateOutletContext]=\"{ product: discoverProduct }\">\n </ng-container>\n </div>\n </ng-container>\n </div>\n </dx-scroll-view>\n</dx-popover>\n\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":"spicainternational-ngx-sds-components-src-lib-app-switcher.mjs","sources":["../../../projects/ngx-sds-components/src/lib/app-switcher/app-switcher.component.ts","../../../projects/ngx-sds-components/src/lib/app-switcher/app-switcher.component.html","../../../projects/ngx-sds-components/src/lib/app-switcher/spicainternational-ngx-sds-components-src-lib-app-switcher.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges, ViewChild, DOCUMENT } from '@angular/core';\nimport { DxPopoverComponent } from 'devextreme-angular';\n\nimport { ProductModel } from './app-switcher.model';\nimport { fromEvent, groupBy, mergeAll, Subscription } from 'rxjs';\n\nimport { NgIf, NgFor, NgTemplateOutlet } from '@angular/common';\nimport { DxScrollViewModule } from 'devextreme-angular/ui/scroll-view';\nimport { DxPopoverModule } from 'devextreme-angular/ui/popover';\nimport { CdkTrapFocus } from '@angular/cdk/a11y';\n\n@Component({\n selector: 'sds-app-switcher',\n templateUrl: './app-switcher.component.html',\n styleUrls: ['./app-switcher.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n NgFor,\n CdkTrapFocus,\n DxPopoverModule,\n DxScrollViewModule,\n NgTemplateOutlet\n ]\n})\nexport class SdsAppSwitcherComponent implements OnInit, OnChanges, OnDestroy {\n @ViewChild('popover', {static: false}) private popover?: DxPopoverComponent;\n\n @Input() public productCode: string | undefined;\n @Input() public userProductCodes: string[] | undefined;\n @Input() public tenantProducts: ProductModel[] | undefined;\n @Input() public switchText: string = '';\n @Input() public discoverText: string = '';\n\n /**\n * @description\n * Aria label appended to native button element. Defaults to 'Switch between apps'\n */\n @Input() public ariaLabel: string = 'Switch between apps'\n\n @Output() public productClick: EventEmitter<ProductModel> = new EventEmitter();\n\n\n public activatedProducts: ProductModel[];\n public discoverProducts: ProductModel[];\n\n public showSkeleton: boolean;\n\n public elementUUID = 'sds-as-' + crypto.randomUUID();\n public showDropdown = false;\n\n private _subscriptions: Subscription[] = [];\n\n constructor(@Inject(DOCUMENT) private readonly _document: Document) {\n this.showSkeleton = true;\n this.activatedProducts = new Array<ProductModel>();\n this.discoverProducts = new Array<ProductModel>();\n }\n\n ngOnInit(): void {\n const keyboardEventsSubscription = fromEvent<KeyboardEvent>(\n this._document,\n 'keydown'\n )\n .pipe(\n groupBy((e: KeyboardEvent) => e.code),\n mergeAll()\n )\n .subscribe((keyboardEvent:KeyboardEvent) => {\n if (keyboardEvent.code === 'Escape') {\n this.onCloseDropdownPressed();\n }\n\n });\n\n this._subscriptions.push(keyboardEventsSubscription);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['userProductCodes'] || changes['tenantProducts'] || changes['productCode']) {\n if (this.userProductCodes !== undefined && this.tenantProducts !== undefined && this.productCode !== undefined) {\n this.activatedProducts = [];\n this.discoverProducts = [];\n\n this.tenantProducts.forEach(product => {\n if ((this.userProductCodes as string[]).includes(product.code)) {\n // exclude current product from the list\n if (product.code != this.productCode) {\n this.activatedProducts.push(product);\n }\n } else {\n this.discoverProducts.push(product);\n }\n });\n this.showSkeleton = false;\n } else {\n this.showSkeleton = true;\n }\n this.popover?.instance.repaint();\n }\n }\n\n ngOnDestroy(): void {\n\n }\n\n public emitProductClick(product: ProductModel): void {\n this.productClick.emit(product);\n }\n\n public onCloseDropdownPressed(): void {\n if (this.showDropdown) {\n this.showDropdown = false;\n this.popover?.instance.hide();\n }\n }\n\n public onDropdownClicked(){\n this.showDropdown = !this.showDropdown;\n }\n\n public onProductKeyReleased(event: KeyboardEvent, product: ProductModel) {\n if (event.key === 'Enter') {\n this.productClick.emit(product)\n }\n }\n\n}\n","<ng-template #productTemplate let-product=\"product\">\n <div class=\"product-logo\">\n <img [src]=\"product.logoUri\" alt=\"{{ product.Name }}\">\n </div>\n <div class=\"product-title d-flex align-items-center\">\n {{product.name}}\n </div>\n <div class=\"product-description\">\n {{product.description}}\n </div>\n</ng-template>\n\n<div\n sdsKeyboardShortcut\n #popoverTarget\n class=\"btn-group app-switcher\"\n >\n <button\n type=\"button\"\n tabindex=\"0\"\n class=\"btn btn-link rounded p-0 text-gray-800 switcher-button d-flex align-items-center justify-content-center\"\n [attr.aria-controls]=\"elementUUID + '_dropdown'\"\n [attr.aria-label]=\"ariaLabel\"\n (click)=\"onDropdownClicked()\">\n\n <svg width=\"0.86rem\" height=\"0.86rem\" xmlns=\"http://www.w3.org/2000/svg\">\n <!-- Row 1 -->\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0\" fill=\"black\" />\n\n <!-- Row 2 -->\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0.33rem\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0.33rem\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0.33rem\" fill=\"black\" />\n\n <!-- Row 3 -->\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0.66rem\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0.66rem\" fill=\"black\" />\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0.66rem\" fill=\"black\" />\n </svg>\n \n </button>\n</div>\n\n<dx-popover\n #popover\n [target]=\"popoverTarget\"\n [(visible)]=\"showDropdown\"\n [wrapperAttr]=\"{ class: 'sds-app-switcher-popover sds-dx-popup-no-arrow' }\"\n >\n <dx-scroll-view\n showScrollbar=\"always\">\n\n <div cdkTrapFocus class=\"app-switcher-menu\">\n\n <ng-container *ngIf=\"showSkeleton\">\n <div class=\"header skeleton skeleton-height-1 w-50 \"></div>\n <div class=\"product mt-2 skeleton skeleton-height-2\"></div>\n </ng-container>\n\n <ng-container *ngIf=\"!showSkeleton && activatedProducts.length > 0\">\n <h6 class=\"header\">{{ switchText }}</h6>\n <div *ngFor=\"let activatedProduct of activatedProducts\"\n role=\"button\"\n tabindex=\"0\"\n class=\"product\"\n (click)=\"emitProductClick(activatedProduct)\"\n (keydown)=\"onProductKeyReleased($event, activatedProduct)\">\n <ng-container\n [ngTemplateOutlet]=\"productTemplate\"\n [ngTemplateOutletContext]=\"{ product: activatedProduct }\">\n </ng-container>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!showSkeleton && discoverProducts.length > 0\">\n <h6 class=\"header\">{{ discoverText }}</h6>\n\n <div *ngFor=\"let discoverProduct of discoverProducts\"\n role=\"button\"\n tabindex=\"0\"\n class=\"product\"\n (click)=\"emitProductClick(discoverProduct)\"\n (keydown)=\"onProductKeyReleased($event, discoverProduct)\">\n <ng-container\n [ngTemplateOutlet]=\"productTemplate\"\n [ngTemplateOutletContext]=\"{ product: discoverProduct }\">\n </ng-container>\n </div>\n </ng-container>\n </div>\n </dx-scroll-view>\n</dx-popover>\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -124,12 +124,12 @@ class SdsAvatarComponent {
124
124
  .reduce((a, b) => a + b, 0);
125
125
  return sumOfChars % length;
126
126
  }
127
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
128
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SdsAvatarComponent, isStandalone: true, selector: "sds-avatar", inputs: { text: "text", colorKey: "colorKey", pictureUri: "pictureUri", showHint: "showHint", borderStyle: "borderStyle", borderColor: "borderColor", borderWidth: "borderWidth", initialsText: "initialsText", cursor: "cursor", size: "size", pictureImageAlt: "pictureImageAlt", pictureLoading: "pictureLoading", picturePriority: "picturePriority", badgeVisible: "badgeVisible", badgePosition: "badgePosition", badgeBackgroundColor: "badgeBackgroundColor", badgeTextColor: "badgeTextColor", badgeHint: "badgeHint" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"avatar circle d-flex justify-content-center align-items-center position-relative\"\n [class]=\"colorClass\"\n [class.hasPicture]=\"showPicture\"\n [title]=\"showHint ? text : ''\"\n [style.border-style]=\"borderStyle.toString()\"\n [style.border-color]=\"borderColor\"\n [style.border-width]=\"borderWidth\"\n [style.cursor]=\"cursor ? cursor : 'default'\"\n [style.font-size.rem]=\"size\"\n>\n <span \n *ngIf=\"!showPicture\" \n class=\"initials\"\n >\n {{ label }}\n </span>\n\n <!-- For base64 images, use regular src attribute -->\n <img \n *ngIf=\"showPicture && isBase64Image\" \n [src]=\"pictureUri\"\n [width]=\"imageSizeInPixels\"\n [height]=\"imageSizeInPixels\"\n [alt]=\"pictureImageAlt\"\n class=\"avatar-image\" />\n\n <!-- For URL images, use ngSrc with optimization features -->\n <img \n *ngIf=\"showPicture && !isBase64Image\" \n [ngSrc]=\"pictureUri!\"\n [width]=\"imageSizeInPixels\"\n [height]=\"imageSizeInPixels\"\n [alt]=\"pictureImageAlt\"\n [loading]=\"pictureLoading\"\n [priority]=\"picturePriority\"\n class=\"avatar-image\" />\n\n <span \n *ngIf=\"badgeVisible\"\n class=\"position-absolute notification-badge border border-light rounded-circle\"\n [class.top-right]=\"badgePosition === 'top-right'\"\n [class.bottom-right]=\"badgePosition === 'bottom-right'\"\n [style.background-color]=\"badgeBackgroundColor\"\n [style.color]=\"badgeTextColor\"\n [title]=\"badgeHint ? badgeHint : ''\"\n >\n </span>\n</div>", styles: [".avatar{display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.avatar.color0{color:#f44336;background-color:#feeceb;border-style:solid;border-color:#f4433680}.avatar.color1{color:#e91e63;background-color:#fde9ef;border-style:solid;border-color:#e91e6380}.avatar.color2{color:#9c27b0;background-color:#f5e9f7;border-style:solid;border-color:#9c27b080}.avatar.color3{color:#673ab7;background-color:#f0ebf8;border-style:solid;border-color:#673ab780}.avatar.color4{color:#3f51b5;background-color:#eceef8;border-style:solid;border-color:#3f51b580}.avatar.color5{color:#2196f3;background-color:#e9f5fe;border-style:solid;border-color:#2196f380}.avatar.color6{color:#03a9f4;background-color:#e6f6fe;border-style:solid;border-color:#03a9f480}.avatar.color7{color:#00bcd4;background-color:#e6f8fb;border-style:solid;border-color:#00bcd480}.avatar.color8{color:#009688;background-color:#e6f5f3;border-style:solid;border-color:#00968880}.avatar.color9{color:#8bc34a;background-color:#edf7ee;border-style:solid;border-color:#8bc34a80}.avatar.color10{color:#8bc34a;background-color:#f3f9ed;border-style:solid;border-color:#8bc34a80}.avatar.color11{color:#aebc21;background-color:#f7f8e9;border-style:solid;border-color:#aebc2180}.avatar.color12{color:#d1bc04;background-color:#faf8e6;border-style:solid;border-color:#d1bc0480}.avatar.color13{color:#edb201;background-color:#fdf7e6;border-style:solid;border-color:#edb20180}.avatar.color14{color:#ff5722;background-color:#ffeee9;border-style:solid;border-color:#ff572280}.avatar.color15{color:#e48901;background-color:#fcf3e6;border-style:solid;border-color:#e4890180}.avatar.color16{color:#795548;background-color:#f2eeed;border-style:solid;border-color:#79554880}.avatar.color17{color:#9e9e9e;background-color:#f5f5f5;border-style:solid;border-color:#9e9e9e80}.avatar.color18{color:#607d8b;background-color:#eff2f3;border-style:solid;border-color:#607d8b80}.avatar img{width:100%;height:100%;border-radius:50%}.avatar.circle{border-radius:50%;height:1em;text-align:center;width:1em}.avatar.circle .initials{font-size:.3703703704em;font-weight:500}.avatar.circle.hasPicture{border-width:0}.avatar .notification-badge{width:.4em;height:.4em}.avatar .notification-badge.top-right{top:0;right:0;transform:translate(20%)}.avatar .notification-badge.bottom-right{bottom:0;right:0;transform:translate(20%,10%)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
127
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
128
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsAvatarComponent, isStandalone: true, selector: "sds-avatar", inputs: { text: "text", colorKey: "colorKey", pictureUri: "pictureUri", showHint: "showHint", borderStyle: "borderStyle", borderColor: "borderColor", borderWidth: "borderWidth", initialsText: "initialsText", cursor: "cursor", size: "size", pictureImageAlt: "pictureImageAlt", pictureLoading: "pictureLoading", picturePriority: "picturePriority", badgeVisible: "badgeVisible", badgePosition: "badgePosition", badgeBackgroundColor: "badgeBackgroundColor", badgeTextColor: "badgeTextColor", badgeHint: "badgeHint" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"avatar circle d-flex justify-content-center align-items-center position-relative\"\n [class]=\"colorClass\"\n [class.hasPicture]=\"showPicture\"\n [title]=\"showHint ? text : ''\"\n [style.border-style]=\"borderStyle.toString()\"\n [style.border-color]=\"borderColor\"\n [style.border-width]=\"borderWidth\"\n [style.cursor]=\"cursor ? cursor : 'default'\"\n [style.font-size.rem]=\"size\"\n>\n <span \n *ngIf=\"!showPicture\" \n class=\"initials\"\n >\n {{ label }}\n </span>\n\n <!-- For base64 images, use regular src attribute -->\n <img \n *ngIf=\"showPicture && isBase64Image\" \n [src]=\"pictureUri\"\n [width]=\"imageSizeInPixels\"\n [height]=\"imageSizeInPixels\"\n [alt]=\"pictureImageAlt\"\n class=\"avatar-image\" />\n\n <!-- For URL images, use ngSrc with optimization features -->\n <img \n *ngIf=\"showPicture && !isBase64Image\" \n [ngSrc]=\"pictureUri!\"\n [width]=\"imageSizeInPixels\"\n [height]=\"imageSizeInPixels\"\n [alt]=\"pictureImageAlt\"\n [loading]=\"pictureLoading\"\n [priority]=\"picturePriority\"\n class=\"avatar-image\" />\n\n <span \n *ngIf=\"badgeVisible\"\n class=\"position-absolute notification-badge border border-light rounded-circle\"\n [class.top-right]=\"badgePosition === 'top-right'\"\n [class.bottom-right]=\"badgePosition === 'bottom-right'\"\n [style.background-color]=\"badgeBackgroundColor\"\n [style.color]=\"badgeTextColor\"\n [title]=\"badgeHint ? badgeHint : ''\"\n >\n </span>\n</div>", styles: [".avatar{display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.avatar.color0{color:#f44336;background-color:#feeceb;border-style:solid;border-color:#f4433680}.avatar.color1{color:#e91e63;background-color:#fde9ef;border-style:solid;border-color:#e91e6380}.avatar.color2{color:#9c27b0;background-color:#f5e9f7;border-style:solid;border-color:#9c27b080}.avatar.color3{color:#673ab7;background-color:#f0ebf8;border-style:solid;border-color:#673ab780}.avatar.color4{color:#3f51b5;background-color:#eceef8;border-style:solid;border-color:#3f51b580}.avatar.color5{color:#2196f3;background-color:#e9f5fe;border-style:solid;border-color:#2196f380}.avatar.color6{color:#03a9f4;background-color:#e6f6fe;border-style:solid;border-color:#03a9f480}.avatar.color7{color:#00bcd4;background-color:#e6f8fb;border-style:solid;border-color:#00bcd480}.avatar.color8{color:#009688;background-color:#e6f5f3;border-style:solid;border-color:#00968880}.avatar.color9{color:#8bc34a;background-color:#edf7ee;border-style:solid;border-color:#8bc34a80}.avatar.color10{color:#8bc34a;background-color:#f3f9ed;border-style:solid;border-color:#8bc34a80}.avatar.color11{color:#aebc21;background-color:#f7f8e9;border-style:solid;border-color:#aebc2180}.avatar.color12{color:#d1bc04;background-color:#faf8e6;border-style:solid;border-color:#d1bc0480}.avatar.color13{color:#edb201;background-color:#fdf7e6;border-style:solid;border-color:#edb20180}.avatar.color14{color:#ff5722;background-color:#ffeee9;border-style:solid;border-color:#ff572280}.avatar.color15{color:#e48901;background-color:#fcf3e6;border-style:solid;border-color:#e4890180}.avatar.color16{color:#795548;background-color:#f2eeed;border-style:solid;border-color:#79554880}.avatar.color17{color:#9e9e9e;background-color:#f5f5f5;border-style:solid;border-color:#9e9e9e80}.avatar.color18{color:#607d8b;background-color:#eff2f3;border-style:solid;border-color:#607d8b80}.avatar img{width:100%;height:100%;border-radius:50%}.avatar.circle{border-radius:50%;height:1em;text-align:center;width:1em}.avatar.circle .initials{font-size:.3703703704em;font-weight:500}.avatar.circle.hasPicture{border-width:0}.avatar .notification-badge{width:.4em;height:.4em}.avatar .notification-badge.top-right{top:0;right:0;transform:translate(20%)}.avatar .notification-badge.bottom-right{bottom:0;right:0;transform:translate(20%,10%)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "decoding", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
129
129
  }
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsAvatarComponent, decorators: [{
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsAvatarComponent, decorators: [{
131
131
  type: Component,
132
- args: [{ selector: 'sds-avatar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, NgOptimizedImage], template: "<div\n class=\"avatar circle d-flex justify-content-center align-items-center position-relative\"\n [class]=\"colorClass\"\n [class.hasPicture]=\"showPicture\"\n [title]=\"showHint ? text : ''\"\n [style.border-style]=\"borderStyle.toString()\"\n [style.border-color]=\"borderColor\"\n [style.border-width]=\"borderWidth\"\n [style.cursor]=\"cursor ? cursor : 'default'\"\n [style.font-size.rem]=\"size\"\n>\n <span \n *ngIf=\"!showPicture\" \n class=\"initials\"\n >\n {{ label }}\n </span>\n\n <!-- For base64 images, use regular src attribute -->\n <img \n *ngIf=\"showPicture && isBase64Image\" \n [src]=\"pictureUri\"\n [width]=\"imageSizeInPixels\"\n [height]=\"imageSizeInPixels\"\n [alt]=\"pictureImageAlt\"\n class=\"avatar-image\" />\n\n <!-- For URL images, use ngSrc with optimization features -->\n <img \n *ngIf=\"showPicture && !isBase64Image\" \n [ngSrc]=\"pictureUri!\"\n [width]=\"imageSizeInPixels\"\n [height]=\"imageSizeInPixels\"\n [alt]=\"pictureImageAlt\"\n [loading]=\"pictureLoading\"\n [priority]=\"picturePriority\"\n class=\"avatar-image\" />\n\n <span \n *ngIf=\"badgeVisible\"\n class=\"position-absolute notification-badge border border-light rounded-circle\"\n [class.top-right]=\"badgePosition === 'top-right'\"\n [class.bottom-right]=\"badgePosition === 'bottom-right'\"\n [style.background-color]=\"badgeBackgroundColor\"\n [style.color]=\"badgeTextColor\"\n [title]=\"badgeHint ? badgeHint : ''\"\n >\n </span>\n</div>", styles: [".avatar{display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.avatar.color0{color:#f44336;background-color:#feeceb;border-style:solid;border-color:#f4433680}.avatar.color1{color:#e91e63;background-color:#fde9ef;border-style:solid;border-color:#e91e6380}.avatar.color2{color:#9c27b0;background-color:#f5e9f7;border-style:solid;border-color:#9c27b080}.avatar.color3{color:#673ab7;background-color:#f0ebf8;border-style:solid;border-color:#673ab780}.avatar.color4{color:#3f51b5;background-color:#eceef8;border-style:solid;border-color:#3f51b580}.avatar.color5{color:#2196f3;background-color:#e9f5fe;border-style:solid;border-color:#2196f380}.avatar.color6{color:#03a9f4;background-color:#e6f6fe;border-style:solid;border-color:#03a9f480}.avatar.color7{color:#00bcd4;background-color:#e6f8fb;border-style:solid;border-color:#00bcd480}.avatar.color8{color:#009688;background-color:#e6f5f3;border-style:solid;border-color:#00968880}.avatar.color9{color:#8bc34a;background-color:#edf7ee;border-style:solid;border-color:#8bc34a80}.avatar.color10{color:#8bc34a;background-color:#f3f9ed;border-style:solid;border-color:#8bc34a80}.avatar.color11{color:#aebc21;background-color:#f7f8e9;border-style:solid;border-color:#aebc2180}.avatar.color12{color:#d1bc04;background-color:#faf8e6;border-style:solid;border-color:#d1bc0480}.avatar.color13{color:#edb201;background-color:#fdf7e6;border-style:solid;border-color:#edb20180}.avatar.color14{color:#ff5722;background-color:#ffeee9;border-style:solid;border-color:#ff572280}.avatar.color15{color:#e48901;background-color:#fcf3e6;border-style:solid;border-color:#e4890180}.avatar.color16{color:#795548;background-color:#f2eeed;border-style:solid;border-color:#79554880}.avatar.color17{color:#9e9e9e;background-color:#f5f5f5;border-style:solid;border-color:#9e9e9e80}.avatar.color18{color:#607d8b;background-color:#eff2f3;border-style:solid;border-color:#607d8b80}.avatar img{width:100%;height:100%;border-radius:50%}.avatar.circle{border-radius:50%;height:1em;text-align:center;width:1em}.avatar.circle .initials{font-size:.3703703704em;font-weight:500}.avatar.circle.hasPicture{border-width:0}.avatar .notification-badge{width:.4em;height:.4em}.avatar .notification-badge.top-right{top:0;right:0;transform:translate(20%)}.avatar .notification-badge.bottom-right{bottom:0;right:0;transform:translate(20%,10%)}\n"] }]
132
+ args: [{ selector: 'sds-avatar', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgIf, NgOptimizedImage], template: "<div\n class=\"avatar circle d-flex justify-content-center align-items-center position-relative\"\n [class]=\"colorClass\"\n [class.hasPicture]=\"showPicture\"\n [title]=\"showHint ? text : ''\"\n [style.border-style]=\"borderStyle.toString()\"\n [style.border-color]=\"borderColor\"\n [style.border-width]=\"borderWidth\"\n [style.cursor]=\"cursor ? cursor : 'default'\"\n [style.font-size.rem]=\"size\"\n>\n <span \n *ngIf=\"!showPicture\" \n class=\"initials\"\n >\n {{ label }}\n </span>\n\n <!-- For base64 images, use regular src attribute -->\n <img \n *ngIf=\"showPicture && isBase64Image\" \n [src]=\"pictureUri\"\n [width]=\"imageSizeInPixels\"\n [height]=\"imageSizeInPixels\"\n [alt]=\"pictureImageAlt\"\n class=\"avatar-image\" />\n\n <!-- For URL images, use ngSrc with optimization features -->\n <img \n *ngIf=\"showPicture && !isBase64Image\" \n [ngSrc]=\"pictureUri!\"\n [width]=\"imageSizeInPixels\"\n [height]=\"imageSizeInPixels\"\n [alt]=\"pictureImageAlt\"\n [loading]=\"pictureLoading\"\n [priority]=\"picturePriority\"\n class=\"avatar-image\" />\n\n <span \n *ngIf=\"badgeVisible\"\n class=\"position-absolute notification-badge border border-light rounded-circle\"\n [class.top-right]=\"badgePosition === 'top-right'\"\n [class.bottom-right]=\"badgePosition === 'bottom-right'\"\n [style.background-color]=\"badgeBackgroundColor\"\n [style.color]=\"badgeTextColor\"\n [title]=\"badgeHint ? badgeHint : ''\"\n >\n </span>\n</div>", styles: [".avatar{display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.avatar.color0{color:#f44336;background-color:#feeceb;border-style:solid;border-color:#f4433680}.avatar.color1{color:#e91e63;background-color:#fde9ef;border-style:solid;border-color:#e91e6380}.avatar.color2{color:#9c27b0;background-color:#f5e9f7;border-style:solid;border-color:#9c27b080}.avatar.color3{color:#673ab7;background-color:#f0ebf8;border-style:solid;border-color:#673ab780}.avatar.color4{color:#3f51b5;background-color:#eceef8;border-style:solid;border-color:#3f51b580}.avatar.color5{color:#2196f3;background-color:#e9f5fe;border-style:solid;border-color:#2196f380}.avatar.color6{color:#03a9f4;background-color:#e6f6fe;border-style:solid;border-color:#03a9f480}.avatar.color7{color:#00bcd4;background-color:#e6f8fb;border-style:solid;border-color:#00bcd480}.avatar.color8{color:#009688;background-color:#e6f5f3;border-style:solid;border-color:#00968880}.avatar.color9{color:#8bc34a;background-color:#edf7ee;border-style:solid;border-color:#8bc34a80}.avatar.color10{color:#8bc34a;background-color:#f3f9ed;border-style:solid;border-color:#8bc34a80}.avatar.color11{color:#aebc21;background-color:#f7f8e9;border-style:solid;border-color:#aebc2180}.avatar.color12{color:#d1bc04;background-color:#faf8e6;border-style:solid;border-color:#d1bc0480}.avatar.color13{color:#edb201;background-color:#fdf7e6;border-style:solid;border-color:#edb20180}.avatar.color14{color:#ff5722;background-color:#ffeee9;border-style:solid;border-color:#ff572280}.avatar.color15{color:#e48901;background-color:#fcf3e6;border-style:solid;border-color:#e4890180}.avatar.color16{color:#795548;background-color:#f2eeed;border-style:solid;border-color:#79554880}.avatar.color17{color:#9e9e9e;background-color:#f5f5f5;border-style:solid;border-color:#9e9e9e80}.avatar.color18{color:#607d8b;background-color:#eff2f3;border-style:solid;border-color:#607d8b80}.avatar img{width:100%;height:100%;border-radius:50%}.avatar.circle{border-radius:50%;height:1em;text-align:center;width:1em}.avatar.circle .initials{font-size:.3703703704em;font-weight:500}.avatar.circle.hasPicture{border-width:0}.avatar .notification-badge{width:.4em;height:.4em}.avatar .notification-badge.top-right{top:0;right:0;transform:translate(20%)}.avatar .notification-badge.bottom-right{bottom:0;right:0;transform:translate(20%,10%)}\n"] }]
133
133
  }], ctorParameters: () => [], propDecorators: { text: [{
134
134
  type: Input
135
135
  }], colorKey: [{
@@ -220,12 +220,12 @@ class SdsAvatarGroupComponent {
220
220
  stopEventPropagation(event) {
221
221
  event.stopPropagation();
222
222
  }
223
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsAvatarGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
224
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SdsAvatarGroupComponent, isStandalone: true, selector: "sds-avatar-group", inputs: { stacked: "stacked", max: "max", size: "size", borderColor: "borderColor", avatars: "avatars", dropdownContents: "dropdownContents", dropdownMaxHeight: "dropdownMaxHeight" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex avatar-group-container\">\n <sds-avatar *ngFor=\"let avatar of inflow; let i = index\"\n [id]=\"overflowElementUUID + i\"\n [text]=\"avatar.text\"\n [colorKey]=\"avatar.colorKey\"\n [borderColor]=\"borderColor\"\n [borderStyle]=\"avatar.borderStyle ? avatar.borderStyle : 'none'\"\n cursor=\"pointer\"\n [pictureUri]=\"avatar.pictureUri ?? ''\"\n [showHint]=\"true\"\n [size]=\"size\"\n [style.margin-right.rem]=\"stacked ? size/-3 : size/15\"\n (click)=\"onOverflowClicked($event, i, avatar)\"\n (mousedown)=\"stopEventPropagation($event)\"\n (mouseup)=\"stopEventPropagation($event)\"\n >\n </sds-avatar>\n\n <sds-avatar\n *ngIf=\"showOverflow\"\n [id]=\"overflowElementUUID + '-1'\"\n class=\"overflow\"\n [initialsText]=\"overflowCountDisplay\"\n [borderColor]=\"borderColor\"\n [borderStyle]=\"overFlowBorderStyle\"\n cursor=\"pointer\"\n [size]=\"size\"\n (click)=\"onOverflowClicked($event, -1, undefined)\"\n (mousedown)=\"stopEventPropagation($event)\"\n (mouseup)=\"stopEventPropagation($event)\"\n >\n </sds-avatar>\n\n <dx-popover\n target=\"#{{dropdownTargetId}}\"\n [(visible)]=\"showDropdown\"\n [wrapperAttr]=\"{ class: 'sds-avatar-group-overflow-popover' }\"\n [maxHeight]=\"dropdownMaxHeight\"\n [hideOnOutsideClick]=\"true\"\n >\n <dx-scroll-view\n showScrollbar=\"always\">\n <div class=\"overflow-avatars-container rounded\">\n <div *ngFor=\"let avatar of (dropdownContents === 'all' ? avatars : overflow)\"\n class=\"d-flex align-items-center p-1 my-1 mx-1 overflow-avatar-container\" >\n <sds-avatar\n [text]=\"avatar.text\"\n [colorKey]=\"avatar.colorKey\"\n [borderStyle]=\"avatar.borderStyle ? avatar.borderStyle : 'none'\"\n [pictureUri]=\"avatar.pictureUri ?? ''\"\n borderColor=\"transparent\"\n [size]=\"1.8\"\n >\n </sds-avatar>\n <div \n class=\"ms-2 ps-1\"\n [class.sds-fw-600] = \"dropdownInitiator && dropdownInitiator.colorKey === avatar.colorKey\"\n >\n {{avatar.text}}\n </div>\n </div>\n </div>\n </dx-scroll-view>\n </dx-popover>\n</div>\n", styles: [".avatar-group-container{flex-wrap:wrap;gap:.25rem}.avatar-group-container .overflow{cursor:pointer!important}.overflow-avatars-container{cursor:default}::ng-deep .sds-avatar-group-overflow-popover .dx-popup-content{padding:.25rem;font-size:1rem}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: SdsAvatarComponent, selector: "sds-avatar", inputs: ["text", "colorKey", "pictureUri", "showHint", "borderStyle", "borderColor", "borderWidth", "initialsText", "cursor", "size", "pictureImageAlt", "pictureLoading", "picturePriority", "badgeVisible", "badgePosition", "badgeBackgroundColor", "badgeTextColor", "badgeHint"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DxPopoverModule }, { kind: "component", type: i1.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "deferRendering", "disabled", "enableBodyScroll", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "deferRenderingChange", "disabledChange", "enableBodyScrollChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "ngmodule", type: DxScrollViewModule }, { kind: "component", type: i2.DxScrollViewComponent, selector: "dx-scroll-view", inputs: ["bounceEnabled", "direction", "disabled", "elementAttr", "height", "pulledDownText", "pullingDownText", "reachBottomText", "refreshingText", "rtlEnabled", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onPullDown", "onReachBottom", "onScroll", "onUpdated", "bounceEnabledChange", "directionChange", "disabledChange", "elementAttrChange", "heightChange", "pulledDownTextChange", "pullingDownTextChange", "reachBottomTextChange", "refreshingTextChange", "rtlEnabledChange", "scrollByContentChange", "scrollByThumbChange", "showScrollbarChange", "useNativeChange", "widthChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
223
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsAvatarGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
224
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsAvatarGroupComponent, isStandalone: true, selector: "sds-avatar-group", inputs: { stacked: "stacked", max: "max", size: "size", borderColor: "borderColor", avatars: "avatars", dropdownContents: "dropdownContents", dropdownMaxHeight: "dropdownMaxHeight" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex avatar-group-container\">\n <sds-avatar *ngFor=\"let avatar of inflow; let i = index\"\n [id]=\"overflowElementUUID + i\"\n [text]=\"avatar.text\"\n [colorKey]=\"avatar.colorKey\"\n [borderColor]=\"borderColor\"\n [borderStyle]=\"avatar.borderStyle ? avatar.borderStyle : 'none'\"\n cursor=\"pointer\"\n [pictureUri]=\"avatar.pictureUri ?? ''\"\n [showHint]=\"true\"\n [size]=\"size\"\n [style.margin-right.rem]=\"stacked ? size/-3 : size/15\"\n (click)=\"onOverflowClicked($event, i, avatar)\"\n (mousedown)=\"stopEventPropagation($event)\"\n (mouseup)=\"stopEventPropagation($event)\"\n >\n </sds-avatar>\n\n <sds-avatar\n *ngIf=\"showOverflow\"\n [id]=\"overflowElementUUID + '-1'\"\n class=\"overflow\"\n [initialsText]=\"overflowCountDisplay\"\n [borderColor]=\"borderColor\"\n [borderStyle]=\"overFlowBorderStyle\"\n cursor=\"pointer\"\n [size]=\"size\"\n (click)=\"onOverflowClicked($event, -1, undefined)\"\n (mousedown)=\"stopEventPropagation($event)\"\n (mouseup)=\"stopEventPropagation($event)\"\n >\n </sds-avatar>\n\n <dx-popover\n target=\"#{{dropdownTargetId}}\"\n [(visible)]=\"showDropdown\"\n [wrapperAttr]=\"{ class: 'sds-avatar-group-overflow-popover' }\"\n [maxHeight]=\"dropdownMaxHeight\"\n [hideOnOutsideClick]=\"true\"\n >\n <dx-scroll-view\n showScrollbar=\"always\">\n <div class=\"overflow-avatars-container rounded\">\n <div *ngFor=\"let avatar of (dropdownContents === 'all' ? avatars : overflow)\"\n class=\"d-flex align-items-center p-1 my-1 mx-1 overflow-avatar-container\" >\n <sds-avatar\n [text]=\"avatar.text\"\n [colorKey]=\"avatar.colorKey\"\n [borderStyle]=\"avatar.borderStyle ? avatar.borderStyle : 'none'\"\n [pictureUri]=\"avatar.pictureUri ?? ''\"\n borderColor=\"transparent\"\n [size]=\"1.8\"\n >\n </sds-avatar>\n <div \n class=\"ms-2 ps-1\"\n [class.sds-fw-600] = \"dropdownInitiator && dropdownInitiator.colorKey === avatar.colorKey\"\n >\n {{avatar.text}}\n </div>\n </div>\n </div>\n </dx-scroll-view>\n </dx-popover>\n</div>\n", styles: [".avatar-group-container{flex-wrap:wrap;gap:.25rem}.avatar-group-container .overflow{cursor:pointer!important}.overflow-avatars-container{cursor:default}::ng-deep .sds-avatar-group-overflow-popover .dx-popup-content{padding:.25rem;font-size:1rem}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: SdsAvatarComponent, selector: "sds-avatar", inputs: ["text", "colorKey", "pictureUri", "showHint", "borderStyle", "borderColor", "borderWidth", "initialsText", "cursor", "size", "pictureImageAlt", "pictureLoading", "picturePriority", "badgeVisible", "badgePosition", "badgeBackgroundColor", "badgeTextColor", "badgeHint"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DxPopoverModule }, { kind: "component", type: i1.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "deferRendering", "disabled", "enableBodyScroll", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "deferRenderingChange", "disabledChange", "enableBodyScrollChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "ngmodule", type: DxScrollViewModule }, { kind: "component", type: i2.DxScrollViewComponent, selector: "dx-scroll-view", inputs: ["bounceEnabled", "direction", "disabled", "elementAttr", "height", "pulledDownText", "pullingDownText", "reachBottomText", "refreshingText", "rtlEnabled", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onPullDown", "onReachBottom", "onScroll", "onUpdated", "bounceEnabledChange", "directionChange", "disabledChange", "elementAttrChange", "heightChange", "pulledDownTextChange", "pullingDownTextChange", "reachBottomTextChange", "refreshingTextChange", "rtlEnabledChange", "scrollByContentChange", "scrollByThumbChange", "showScrollbarChange", "useNativeChange", "widthChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
225
225
  }
226
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsAvatarGroupComponent, decorators: [{
226
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsAvatarGroupComponent, decorators: [{
227
227
  type: Component,
228
- args: [{ selector: 'sds-avatar-group', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgFor, SdsAvatarComponent, NgIf, DxPopoverModule, DxScrollViewModule], template: "<div class=\"d-flex avatar-group-container\">\n <sds-avatar *ngFor=\"let avatar of inflow; let i = index\"\n [id]=\"overflowElementUUID + i\"\n [text]=\"avatar.text\"\n [colorKey]=\"avatar.colorKey\"\n [borderColor]=\"borderColor\"\n [borderStyle]=\"avatar.borderStyle ? avatar.borderStyle : 'none'\"\n cursor=\"pointer\"\n [pictureUri]=\"avatar.pictureUri ?? ''\"\n [showHint]=\"true\"\n [size]=\"size\"\n [style.margin-right.rem]=\"stacked ? size/-3 : size/15\"\n (click)=\"onOverflowClicked($event, i, avatar)\"\n (mousedown)=\"stopEventPropagation($event)\"\n (mouseup)=\"stopEventPropagation($event)\"\n >\n </sds-avatar>\n\n <sds-avatar\n *ngIf=\"showOverflow\"\n [id]=\"overflowElementUUID + '-1'\"\n class=\"overflow\"\n [initialsText]=\"overflowCountDisplay\"\n [borderColor]=\"borderColor\"\n [borderStyle]=\"overFlowBorderStyle\"\n cursor=\"pointer\"\n [size]=\"size\"\n (click)=\"onOverflowClicked($event, -1, undefined)\"\n (mousedown)=\"stopEventPropagation($event)\"\n (mouseup)=\"stopEventPropagation($event)\"\n >\n </sds-avatar>\n\n <dx-popover\n target=\"#{{dropdownTargetId}}\"\n [(visible)]=\"showDropdown\"\n [wrapperAttr]=\"{ class: 'sds-avatar-group-overflow-popover' }\"\n [maxHeight]=\"dropdownMaxHeight\"\n [hideOnOutsideClick]=\"true\"\n >\n <dx-scroll-view\n showScrollbar=\"always\">\n <div class=\"overflow-avatars-container rounded\">\n <div *ngFor=\"let avatar of (dropdownContents === 'all' ? avatars : overflow)\"\n class=\"d-flex align-items-center p-1 my-1 mx-1 overflow-avatar-container\" >\n <sds-avatar\n [text]=\"avatar.text\"\n [colorKey]=\"avatar.colorKey\"\n [borderStyle]=\"avatar.borderStyle ? avatar.borderStyle : 'none'\"\n [pictureUri]=\"avatar.pictureUri ?? ''\"\n borderColor=\"transparent\"\n [size]=\"1.8\"\n >\n </sds-avatar>\n <div \n class=\"ms-2 ps-1\"\n [class.sds-fw-600] = \"dropdownInitiator && dropdownInitiator.colorKey === avatar.colorKey\"\n >\n {{avatar.text}}\n </div>\n </div>\n </div>\n </dx-scroll-view>\n </dx-popover>\n</div>\n", styles: [".avatar-group-container{flex-wrap:wrap;gap:.25rem}.avatar-group-container .overflow{cursor:pointer!important}.overflow-avatars-container{cursor:default}::ng-deep .sds-avatar-group-overflow-popover .dx-popup-content{padding:.25rem;font-size:1rem}\n"] }]
228
+ args: [{ selector: 'sds-avatar-group', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgFor, SdsAvatarComponent, NgIf, DxPopoverModule, DxScrollViewModule], template: "<div class=\"d-flex avatar-group-container\">\n <sds-avatar *ngFor=\"let avatar of inflow; let i = index\"\n [id]=\"overflowElementUUID + i\"\n [text]=\"avatar.text\"\n [colorKey]=\"avatar.colorKey\"\n [borderColor]=\"borderColor\"\n [borderStyle]=\"avatar.borderStyle ? avatar.borderStyle : 'none'\"\n cursor=\"pointer\"\n [pictureUri]=\"avatar.pictureUri ?? ''\"\n [showHint]=\"true\"\n [size]=\"size\"\n [style.margin-right.rem]=\"stacked ? size/-3 : size/15\"\n (click)=\"onOverflowClicked($event, i, avatar)\"\n (mousedown)=\"stopEventPropagation($event)\"\n (mouseup)=\"stopEventPropagation($event)\"\n >\n </sds-avatar>\n\n <sds-avatar\n *ngIf=\"showOverflow\"\n [id]=\"overflowElementUUID + '-1'\"\n class=\"overflow\"\n [initialsText]=\"overflowCountDisplay\"\n [borderColor]=\"borderColor\"\n [borderStyle]=\"overFlowBorderStyle\"\n cursor=\"pointer\"\n [size]=\"size\"\n (click)=\"onOverflowClicked($event, -1, undefined)\"\n (mousedown)=\"stopEventPropagation($event)\"\n (mouseup)=\"stopEventPropagation($event)\"\n >\n </sds-avatar>\n\n <dx-popover\n target=\"#{{dropdownTargetId}}\"\n [(visible)]=\"showDropdown\"\n [wrapperAttr]=\"{ class: 'sds-avatar-group-overflow-popover' }\"\n [maxHeight]=\"dropdownMaxHeight\"\n [hideOnOutsideClick]=\"true\"\n >\n <dx-scroll-view\n showScrollbar=\"always\">\n <div class=\"overflow-avatars-container rounded\">\n <div *ngFor=\"let avatar of (dropdownContents === 'all' ? avatars : overflow)\"\n class=\"d-flex align-items-center p-1 my-1 mx-1 overflow-avatar-container\" >\n <sds-avatar\n [text]=\"avatar.text\"\n [colorKey]=\"avatar.colorKey\"\n [borderStyle]=\"avatar.borderStyle ? avatar.borderStyle : 'none'\"\n [pictureUri]=\"avatar.pictureUri ?? ''\"\n borderColor=\"transparent\"\n [size]=\"1.8\"\n >\n </sds-avatar>\n <div \n class=\"ms-2 ps-1\"\n [class.sds-fw-600] = \"dropdownInitiator && dropdownInitiator.colorKey === avatar.colorKey\"\n >\n {{avatar.text}}\n </div>\n </div>\n </div>\n </dx-scroll-view>\n </dx-popover>\n</div>\n", styles: [".avatar-group-container{flex-wrap:wrap;gap:.25rem}.avatar-group-container .overflow{cursor:pointer!important}.overflow-avatars-container{cursor:default}::ng-deep .sds-avatar-group-overflow-popover .dx-popup-content{padding:.25rem;font-size:1rem}\n"] }]
229
229
  }], ctorParameters: () => [], propDecorators: { stacked: [{
230
230
  type: Input
231
231
  }], max: [{
@@ -1 +1 @@
1
- {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-avatar.mjs","sources":["../../../projects/ngx-sds-components/src/lib/avatar/avatar.component.ts","../../../projects/ngx-sds-components/src/lib/avatar/avatar.component.html","../../../projects/ngx-sds-components/src/lib/avatar/avatar-group.component.ts","../../../projects/ngx-sds-components/src/lib/avatar/avatar-group.component.html","../../../projects/ngx-sds-components/src/lib/avatar/spicainternational-ngx-sds-components-src-lib-avatar.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n Input,\n OnChanges,\n SimpleChanges\n} from '@angular/core';\nimport { NgIf, NgOptimizedImage } from '@angular/common';\n\n/**\n * Class definition\n * @property {string} text - text that is parsed for initials. If showHint is set to true this text will be shown in hint\n * @property {string} colorKey - value that is base for calculating color of avatar\n * @property {boolean} showHint - show hint with text\n * @property {string} initialsText - override internal extraction of initials and set avatar text directly\n * \n * @property {string} pictureUri - uri of picture to show on avatar (supports http/https URLs and base64 data URIs)\n * @property {string} pictureImageAlt - alt text for image, for accessibility\n * @property {string} pictureLoading - loading strategy for image, lazy or eager (only applies to URLs, not base64)\n * @property {boolean} picturePriority - if true image is considered high priority and will be loaded before other images (only applies to URLs, not base64)\n * \n * @property {string} badgeVisible - show badge on avatar\n * @property {string} badgePosition - position of badge\n * @property {string} badgeBackgroundColor - background color of badge\n * @property {string} badgeTextColor - text color of badge\n * @property {string} badgeHint - hint text for badge\n */\n@Component({\n selector: 'sds-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf, NgOptimizedImage]\n})\nexport class SdsAvatarComponent implements AfterViewInit, OnChanges {\n @Input() text?: string;\n @Input() colorKey?: string;\n @Input() pictureUri?: string;\n @Input() showHint: boolean = false;\n @Input() borderStyle: 'solid' | 'dashed' | 'dotted' | 'none' = 'none';\n @Input() borderColor?: string;\n @Input() borderWidth?: string = '1px';\n @Input() initialsText?: string;\n @Input() cursor?: string;\n @Input() size: number = 2;\n\n\n @Input() pictureImageAlt: string = 'User avatar'; \n @Input() pictureLoading: 'lazy' | 'eager' = 'lazy'; \n @Input() picturePriority: boolean = false; \n\n\n @Input() badgeVisible: boolean = false;\n @Input() badgePosition: 'top-right' | 'bottom-right' = 'bottom-right';\n @Input() badgeBackgroundColor = 'var(--bs-danger)';\n @Input() badgeTextColor = 'white';\n @Input() badgeHint?: string;\n\n\n public label: string;\n public showPicture: boolean;\n public colorClass: string;\n public imageSizeInPixels: number;\n public isBase64Image: boolean = false;\n\n constructor() {\n this.label = '';\n this.showPicture = false;\n this.colorClass = 'color18';\n this.imageSizeInPixels = this.calculatePixelSize();\n }\n\n ngAfterViewInit() {\n this.setShowPicture();\n this.setColorClass();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['initialsText']) {\n this.setLabel();\n }\n\n if (changes['text']) {\n this.setLabel();\n }\n\n if (changes['pictureUri']) {\n this.setShowPicture();\n this.checkIfBase64();\n }\n\n if (changes['colorKey']){\n this.setColorClass();\n }\n\n if (changes['size']) {\n this.imageSizeInPixels = this.calculatePixelSize();\n }\n }\n\n private setShowPicture(): void {\n this.showPicture = !!this.pictureUri && this.pictureUri?.length > 0;\n }\n\n private checkIfBase64(): void {\n if (this.pictureUri) {\n // Check if the URI is a data URI (base64)\n this.isBase64Image = this.pictureUri.startsWith('data:');\n } else {\n this.isBase64Image = false;\n }\n }\n\n private setColorClass(): void {\n if (this.colorKey) {\n this.colorClass = 'color' + this.getColorIndex(this.colorKey);\n } else {\n this.colorClass = 'color18';\n }\n }\n\n private setLabel(): void {\n if (this.initialsText && this.initialsText?.length > 0) {\n this.label = this.initialsText;\n } else {\n this.label = '';\n\n if (this.text && this.text?.length > 0){\n const initialsFromText = this.text\n .trim()\n .toUpperCase()\n .split(' ')\n .map((n) => n[0])\n .filter(x => !!x);\n\n if (initialsFromText.length > 0) {\n this.label = initialsFromText[0];\n if (initialsFromText.length > 1) {\n this.label = `${this.label}${initialsFromText[initialsFromText.length - 1]}`\n }\n }\n }\n }\n }\n\n private calculatePixelSize(): number {\n // Convert rem to pixels (assuming 1rem = 16px, which is the browser default)\n // You can adjust this multiplier based on your root font-size\n const remToPixelRatio = 15;\n return Math.round(this.size * remToPixelRatio);\n }\n\n private getColorIndex(s: string): number {\n const length = 10;\n if (!s) {\n return 0;\n }\n let sumOfChars = s\n .split('')\n .map((x) => x.charCodeAt(0))\n .reduce((a, b) => a + b, 0);\n return sumOfChars % length;\n }\n\n}","<div\n class=\"avatar circle d-flex justify-content-center align-items-center position-relative\"\n [class]=\"colorClass\"\n [class.hasPicture]=\"showPicture\"\n [title]=\"showHint ? text : ''\"\n [style.border-style]=\"borderStyle.toString()\"\n [style.border-color]=\"borderColor\"\n [style.border-width]=\"borderWidth\"\n [style.cursor]=\"cursor ? cursor : 'default'\"\n [style.font-size.rem]=\"size\"\n>\n <span \n *ngIf=\"!showPicture\" \n class=\"initials\"\n >\n {{ label }}\n </span>\n\n <!-- For base64 images, use regular src attribute -->\n <img \n *ngIf=\"showPicture && isBase64Image\" \n [src]=\"pictureUri\"\n [width]=\"imageSizeInPixels\"\n [height]=\"imageSizeInPixels\"\n [alt]=\"pictureImageAlt\"\n class=\"avatar-image\" />\n\n <!-- For URL images, use ngSrc with optimization features -->\n <img \n *ngIf=\"showPicture && !isBase64Image\" \n [ngSrc]=\"pictureUri!\"\n [width]=\"imageSizeInPixels\"\n [height]=\"imageSizeInPixels\"\n [alt]=\"pictureImageAlt\"\n [loading]=\"pictureLoading\"\n [priority]=\"picturePriority\"\n class=\"avatar-image\" />\n\n <span \n *ngIf=\"badgeVisible\"\n class=\"position-absolute notification-badge border border-light rounded-circle\"\n [class.top-right]=\"badgePosition === 'top-right'\"\n [class.bottom-right]=\"badgePosition === 'bottom-right'\"\n [style.background-color]=\"badgeBackgroundColor\"\n [style.color]=\"badgeTextColor\"\n [title]=\"badgeHint ? badgeHint : ''\"\n >\n </span>\n</div>","import { ChangeDetectionStrategy, Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { AvatarModel } from './avatar-group.model';\nimport { DxScrollViewModule } from 'devextreme-angular/ui/scroll-view';\nimport { DxPopoverModule } from 'devextreme-angular/ui/popover';\nimport { SdsAvatarComponent } from './avatar.component';\nimport { NgFor, NgIf } from '@angular/common';\n\n@Component({\n selector: 'sds-avatar-group',\n templateUrl: './avatar-group.component.html',\n styleUrls: ['./avatar-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgFor, SdsAvatarComponent, NgIf, DxPopoverModule, DxScrollViewModule]\n})\nexport class SdsAvatarGroupComponent implements OnInit, OnChanges {\n\n @Input() public stacked;\n @Input() public max?: number;\n @Input() public size: number;\n @Input() public borderColor?: string;\n @Input() public avatars: Array<AvatarModel>;\n @Input() public dropdownContents: 'all' | 'overflow' = 'all';\n @Input() public dropdownMaxHeight: string = '';\n\n public overflow: Array<AvatarModel>;\n public inflow: Array<AvatarModel>;\n\n public overflowCountDisplay: string;\n public overFlowBorderStyle: 'solid' | 'none';\n\n public overflowElementUUID: string;\n public showDropdown: boolean;\n public showOverflow: boolean;\n\n public dropdownTargetId: string = '';\n public dropdownInitiator?: AvatarModel;\n\n constructor() {\n // this.overflowElementUUID = 'sds-ag-' + crypto.randomUUID();\n\n // init values in constructor so storybook doesn't have issues with initial state\n\n this.overflowElementUUID = `sds-ag-${Math.ceil(Math.random() * 1000000)}`;\n this.overFlowBorderStyle = 'none';\n this.showDropdown = false;\n this.showOverflow = false;\n this.avatars = [];\n this.overflow = [];\n this.inflow = [];\n this.overflowCountDisplay = '';\n this.size = 2;\n this.stacked = false;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['avatars'] || changes['max']){\n if (this.max && this.avatars) {\n let avatars = [...this.avatars];\n this.inflow = avatars.splice(0, this.max);\n this.overflow = avatars;\n this.showOverflow = this.overflow.length > 0;\n this.overflowCountDisplay = `+${Math.min(99, this.overflow.length)}`;\n this.overFlowBorderStyle = this.avatars.filter(x => x.borderStyle).length > 0 ? 'solid' : 'none';\n } else {\n this.inflow = [...this.avatars];\n }\n }\n }\n\n ngOnInit(): void {}\n\n public onOverflowClicked(event: MouseEvent, index: number, avatar?: AvatarModel) {\n event.stopPropagation();\n\n if (this.dropdownContents === 'overflow' && this.overflow.length === 0) {\n this.showDropdown = false;\n return;\n }\n\n const newDropdownTargetId = this.overflowElementUUID + index;\n if (this.showDropdown && this.dropdownTargetId === newDropdownTargetId) {\n this.showDropdown = false;\n return;\n }\n\n this.dropdownInitiator = avatar;\n this.dropdownTargetId = this.overflowElementUUID + index;\n this.showDropdown = true;\n }\n\n public stopEventPropagation(event: MouseEvent) {\n event.stopPropagation();\n }\n}\n","<div class=\"d-flex avatar-group-container\">\n <sds-avatar *ngFor=\"let avatar of inflow; let i = index\"\n [id]=\"overflowElementUUID + i\"\n [text]=\"avatar.text\"\n [colorKey]=\"avatar.colorKey\"\n [borderColor]=\"borderColor\"\n [borderStyle]=\"avatar.borderStyle ? avatar.borderStyle : 'none'\"\n cursor=\"pointer\"\n [pictureUri]=\"avatar.pictureUri ?? ''\"\n [showHint]=\"true\"\n [size]=\"size\"\n [style.margin-right.rem]=\"stacked ? size/-3 : size/15\"\n (click)=\"onOverflowClicked($event, i, avatar)\"\n (mousedown)=\"stopEventPropagation($event)\"\n (mouseup)=\"stopEventPropagation($event)\"\n >\n </sds-avatar>\n\n <sds-avatar\n *ngIf=\"showOverflow\"\n [id]=\"overflowElementUUID + '-1'\"\n class=\"overflow\"\n [initialsText]=\"overflowCountDisplay\"\n [borderColor]=\"borderColor\"\n [borderStyle]=\"overFlowBorderStyle\"\n cursor=\"pointer\"\n [size]=\"size\"\n (click)=\"onOverflowClicked($event, -1, undefined)\"\n (mousedown)=\"stopEventPropagation($event)\"\n (mouseup)=\"stopEventPropagation($event)\"\n >\n </sds-avatar>\n\n <dx-popover\n target=\"#{{dropdownTargetId}}\"\n [(visible)]=\"showDropdown\"\n [wrapperAttr]=\"{ class: 'sds-avatar-group-overflow-popover' }\"\n [maxHeight]=\"dropdownMaxHeight\"\n [hideOnOutsideClick]=\"true\"\n >\n <dx-scroll-view\n showScrollbar=\"always\">\n <div class=\"overflow-avatars-container rounded\">\n <div *ngFor=\"let avatar of (dropdownContents === 'all' ? avatars : overflow)\"\n class=\"d-flex align-items-center p-1 my-1 mx-1 overflow-avatar-container\" >\n <sds-avatar\n [text]=\"avatar.text\"\n [colorKey]=\"avatar.colorKey\"\n [borderStyle]=\"avatar.borderStyle ? avatar.borderStyle : 'none'\"\n [pictureUri]=\"avatar.pictureUri ?? ''\"\n borderColor=\"transparent\"\n [size]=\"1.8\"\n >\n </sds-avatar>\n <div \n class=\"ms-2 ps-1\"\n [class.sds-fw-600] = \"dropdownInitiator && dropdownInitiator.colorKey === avatar.colorKey\"\n >\n {{avatar.text}}\n </div>\n </div>\n </div>\n </dx-scroll-view>\n </dx-popover>\n</div>\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":"spicainternational-ngx-sds-components-src-lib-avatar.mjs","sources":["../../../projects/ngx-sds-components/src/lib/avatar/avatar.component.ts","../../../projects/ngx-sds-components/src/lib/avatar/avatar.component.html","../../../projects/ngx-sds-components/src/lib/avatar/avatar-group.component.ts","../../../projects/ngx-sds-components/src/lib/avatar/avatar-group.component.html","../../../projects/ngx-sds-components/src/lib/avatar/spicainternational-ngx-sds-components-src-lib-avatar.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n Input,\n OnChanges,\n SimpleChanges\n} from '@angular/core';\nimport { NgIf, NgOptimizedImage } from '@angular/common';\n\n/**\n * Class definition\n * @property {string} text - text that is parsed for initials. If showHint is set to true this text will be shown in hint\n * @property {string} colorKey - value that is base for calculating color of avatar\n * @property {boolean} showHint - show hint with text\n * @property {string} initialsText - override internal extraction of initials and set avatar text directly\n * \n * @property {string} pictureUri - uri of picture to show on avatar (supports http/https URLs and base64 data URIs)\n * @property {string} pictureImageAlt - alt text for image, for accessibility\n * @property {string} pictureLoading - loading strategy for image, lazy or eager (only applies to URLs, not base64)\n * @property {boolean} picturePriority - if true image is considered high priority and will be loaded before other images (only applies to URLs, not base64)\n * \n * @property {string} badgeVisible - show badge on avatar\n * @property {string} badgePosition - position of badge\n * @property {string} badgeBackgroundColor - background color of badge\n * @property {string} badgeTextColor - text color of badge\n * @property {string} badgeHint - hint text for badge\n */\n@Component({\n selector: 'sds-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgIf, NgOptimizedImage]\n})\nexport class SdsAvatarComponent implements AfterViewInit, OnChanges {\n @Input() text?: string;\n @Input() colorKey?: string;\n @Input() pictureUri?: string;\n @Input() showHint: boolean = false;\n @Input() borderStyle: 'solid' | 'dashed' | 'dotted' | 'none' = 'none';\n @Input() borderColor?: string;\n @Input() borderWidth?: string = '1px';\n @Input() initialsText?: string;\n @Input() cursor?: string;\n @Input() size: number = 2;\n\n\n @Input() pictureImageAlt: string = 'User avatar'; \n @Input() pictureLoading: 'lazy' | 'eager' = 'lazy'; \n @Input() picturePriority: boolean = false; \n\n\n @Input() badgeVisible: boolean = false;\n @Input() badgePosition: 'top-right' | 'bottom-right' = 'bottom-right';\n @Input() badgeBackgroundColor = 'var(--bs-danger)';\n @Input() badgeTextColor = 'white';\n @Input() badgeHint?: string;\n\n\n public label: string;\n public showPicture: boolean;\n public colorClass: string;\n public imageSizeInPixels: number;\n public isBase64Image: boolean = false;\n\n constructor() {\n this.label = '';\n this.showPicture = false;\n this.colorClass = 'color18';\n this.imageSizeInPixels = this.calculatePixelSize();\n }\n\n ngAfterViewInit() {\n this.setShowPicture();\n this.setColorClass();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['initialsText']) {\n this.setLabel();\n }\n\n if (changes['text']) {\n this.setLabel();\n }\n\n if (changes['pictureUri']) {\n this.setShowPicture();\n this.checkIfBase64();\n }\n\n if (changes['colorKey']){\n this.setColorClass();\n }\n\n if (changes['size']) {\n this.imageSizeInPixels = this.calculatePixelSize();\n }\n }\n\n private setShowPicture(): void {\n this.showPicture = !!this.pictureUri && this.pictureUri?.length > 0;\n }\n\n private checkIfBase64(): void {\n if (this.pictureUri) {\n // Check if the URI is a data URI (base64)\n this.isBase64Image = this.pictureUri.startsWith('data:');\n } else {\n this.isBase64Image = false;\n }\n }\n\n private setColorClass(): void {\n if (this.colorKey) {\n this.colorClass = 'color' + this.getColorIndex(this.colorKey);\n } else {\n this.colorClass = 'color18';\n }\n }\n\n private setLabel(): void {\n if (this.initialsText && this.initialsText?.length > 0) {\n this.label = this.initialsText;\n } else {\n this.label = '';\n\n if (this.text && this.text?.length > 0){\n const initialsFromText = this.text\n .trim()\n .toUpperCase()\n .split(' ')\n .map((n) => n[0])\n .filter(x => !!x);\n\n if (initialsFromText.length > 0) {\n this.label = initialsFromText[0];\n if (initialsFromText.length > 1) {\n this.label = `${this.label}${initialsFromText[initialsFromText.length - 1]}`\n }\n }\n }\n }\n }\n\n private calculatePixelSize(): number {\n // Convert rem to pixels (assuming 1rem = 16px, which is the browser default)\n // You can adjust this multiplier based on your root font-size\n const remToPixelRatio = 15;\n return Math.round(this.size * remToPixelRatio);\n }\n\n private getColorIndex(s: string): number {\n const length = 10;\n if (!s) {\n return 0;\n }\n let sumOfChars = s\n .split('')\n .map((x) => x.charCodeAt(0))\n .reduce((a, b) => a + b, 0);\n return sumOfChars % length;\n }\n\n}","<div\n class=\"avatar circle d-flex justify-content-center align-items-center position-relative\"\n [class]=\"colorClass\"\n [class.hasPicture]=\"showPicture\"\n [title]=\"showHint ? text : ''\"\n [style.border-style]=\"borderStyle.toString()\"\n [style.border-color]=\"borderColor\"\n [style.border-width]=\"borderWidth\"\n [style.cursor]=\"cursor ? cursor : 'default'\"\n [style.font-size.rem]=\"size\"\n>\n <span \n *ngIf=\"!showPicture\" \n class=\"initials\"\n >\n {{ label }}\n </span>\n\n <!-- For base64 images, use regular src attribute -->\n <img \n *ngIf=\"showPicture && isBase64Image\" \n [src]=\"pictureUri\"\n [width]=\"imageSizeInPixels\"\n [height]=\"imageSizeInPixels\"\n [alt]=\"pictureImageAlt\"\n class=\"avatar-image\" />\n\n <!-- For URL images, use ngSrc with optimization features -->\n <img \n *ngIf=\"showPicture && !isBase64Image\" \n [ngSrc]=\"pictureUri!\"\n [width]=\"imageSizeInPixels\"\n [height]=\"imageSizeInPixels\"\n [alt]=\"pictureImageAlt\"\n [loading]=\"pictureLoading\"\n [priority]=\"picturePriority\"\n class=\"avatar-image\" />\n\n <span \n *ngIf=\"badgeVisible\"\n class=\"position-absolute notification-badge border border-light rounded-circle\"\n [class.top-right]=\"badgePosition === 'top-right'\"\n [class.bottom-right]=\"badgePosition === 'bottom-right'\"\n [style.background-color]=\"badgeBackgroundColor\"\n [style.color]=\"badgeTextColor\"\n [title]=\"badgeHint ? badgeHint : ''\"\n >\n </span>\n</div>","import { ChangeDetectionStrategy, Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { AvatarModel } from './avatar-group.model';\nimport { DxScrollViewModule } from 'devextreme-angular/ui/scroll-view';\nimport { DxPopoverModule } from 'devextreme-angular/ui/popover';\nimport { SdsAvatarComponent } from './avatar.component';\nimport { NgFor, NgIf } from '@angular/common';\n\n@Component({\n selector: 'sds-avatar-group',\n templateUrl: './avatar-group.component.html',\n styleUrls: ['./avatar-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgFor, SdsAvatarComponent, NgIf, DxPopoverModule, DxScrollViewModule]\n})\nexport class SdsAvatarGroupComponent implements OnInit, OnChanges {\n\n @Input() public stacked;\n @Input() public max?: number;\n @Input() public size: number;\n @Input() public borderColor?: string;\n @Input() public avatars: Array<AvatarModel>;\n @Input() public dropdownContents: 'all' | 'overflow' = 'all';\n @Input() public dropdownMaxHeight: string = '';\n\n public overflow: Array<AvatarModel>;\n public inflow: Array<AvatarModel>;\n\n public overflowCountDisplay: string;\n public overFlowBorderStyle: 'solid' | 'none';\n\n public overflowElementUUID: string;\n public showDropdown: boolean;\n public showOverflow: boolean;\n\n public dropdownTargetId: string = '';\n public dropdownInitiator?: AvatarModel;\n\n constructor() {\n // this.overflowElementUUID = 'sds-ag-' + crypto.randomUUID();\n\n // init values in constructor so storybook doesn't have issues with initial state\n\n this.overflowElementUUID = `sds-ag-${Math.ceil(Math.random() * 1000000)}`;\n this.overFlowBorderStyle = 'none';\n this.showDropdown = false;\n this.showOverflow = false;\n this.avatars = [];\n this.overflow = [];\n this.inflow = [];\n this.overflowCountDisplay = '';\n this.size = 2;\n this.stacked = false;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['avatars'] || changes['max']){\n if (this.max && this.avatars) {\n let avatars = [...this.avatars];\n this.inflow = avatars.splice(0, this.max);\n this.overflow = avatars;\n this.showOverflow = this.overflow.length > 0;\n this.overflowCountDisplay = `+${Math.min(99, this.overflow.length)}`;\n this.overFlowBorderStyle = this.avatars.filter(x => x.borderStyle).length > 0 ? 'solid' : 'none';\n } else {\n this.inflow = [...this.avatars];\n }\n }\n }\n\n ngOnInit(): void {}\n\n public onOverflowClicked(event: MouseEvent, index: number, avatar?: AvatarModel) {\n event.stopPropagation();\n\n if (this.dropdownContents === 'overflow' && this.overflow.length === 0) {\n this.showDropdown = false;\n return;\n }\n\n const newDropdownTargetId = this.overflowElementUUID + index;\n if (this.showDropdown && this.dropdownTargetId === newDropdownTargetId) {\n this.showDropdown = false;\n return;\n }\n\n this.dropdownInitiator = avatar;\n this.dropdownTargetId = this.overflowElementUUID + index;\n this.showDropdown = true;\n }\n\n public stopEventPropagation(event: MouseEvent) {\n event.stopPropagation();\n }\n}\n","<div class=\"d-flex avatar-group-container\">\n <sds-avatar *ngFor=\"let avatar of inflow; let i = index\"\n [id]=\"overflowElementUUID + i\"\n [text]=\"avatar.text\"\n [colorKey]=\"avatar.colorKey\"\n [borderColor]=\"borderColor\"\n [borderStyle]=\"avatar.borderStyle ? avatar.borderStyle : 'none'\"\n cursor=\"pointer\"\n [pictureUri]=\"avatar.pictureUri ?? ''\"\n [showHint]=\"true\"\n [size]=\"size\"\n [style.margin-right.rem]=\"stacked ? size/-3 : size/15\"\n (click)=\"onOverflowClicked($event, i, avatar)\"\n (mousedown)=\"stopEventPropagation($event)\"\n (mouseup)=\"stopEventPropagation($event)\"\n >\n </sds-avatar>\n\n <sds-avatar\n *ngIf=\"showOverflow\"\n [id]=\"overflowElementUUID + '-1'\"\n class=\"overflow\"\n [initialsText]=\"overflowCountDisplay\"\n [borderColor]=\"borderColor\"\n [borderStyle]=\"overFlowBorderStyle\"\n cursor=\"pointer\"\n [size]=\"size\"\n (click)=\"onOverflowClicked($event, -1, undefined)\"\n (mousedown)=\"stopEventPropagation($event)\"\n (mouseup)=\"stopEventPropagation($event)\"\n >\n </sds-avatar>\n\n <dx-popover\n target=\"#{{dropdownTargetId}}\"\n [(visible)]=\"showDropdown\"\n [wrapperAttr]=\"{ class: 'sds-avatar-group-overflow-popover' }\"\n [maxHeight]=\"dropdownMaxHeight\"\n [hideOnOutsideClick]=\"true\"\n >\n <dx-scroll-view\n showScrollbar=\"always\">\n <div class=\"overflow-avatars-container rounded\">\n <div *ngFor=\"let avatar of (dropdownContents === 'all' ? avatars : overflow)\"\n class=\"d-flex align-items-center p-1 my-1 mx-1 overflow-avatar-container\" >\n <sds-avatar\n [text]=\"avatar.text\"\n [colorKey]=\"avatar.colorKey\"\n [borderStyle]=\"avatar.borderStyle ? avatar.borderStyle : 'none'\"\n [pictureUri]=\"avatar.pictureUri ?? ''\"\n borderColor=\"transparent\"\n [size]=\"1.8\"\n >\n </sds-avatar>\n <div \n class=\"ms-2 ps-1\"\n [class.sds-fw-600] = \"dropdownInitiator && dropdownInitiator.colorKey === avatar.colorKey\"\n >\n {{avatar.text}}\n </div>\n </div>\n </div>\n </dx-scroll-view>\n </dx-popover>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -50,12 +50,12 @@ class SdsBadgeComponent {
50
50
  refresh() {
51
51
  this.cdRef.detectChanges();
52
52
  }
53
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsBadgeComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
54
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SdsBadgeComponent, isStandalone: true, selector: "sds-badge", ngImport: i0, template: "<div \n class=\"sds-badge\"\n [ngClass]=\"[variant]\"\n [style.left.px]=\"left\"\n [class.default]=\"size === 'default'\"\n [class.small]=\"size === 'small'\"\n >\n <span *ngIf=\"size=='default'\">{{text}}</span>\n</div>\n", styles: [":host{position:absolute}.sds-badge{position:relative;display:flex;justify-content:center;align-items:center;color:#fff;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;border-radius:1.3rem;border-width:1px;border-style:solid;border-color:#fff;cursor:default;transform:translate(calc(-50% - 1px),-50%)}.sds-badge.default{line-height:1.3rem;min-width:calc(1.3rem + 2px);padding-left:.3rem;padding-right:.3rem}.sds-badge.small{height:.75rem;width:.75rem}.sds-badge.primary{background-color:var(--bs-primary)}.sds-badge.secondary{border-color:var(--bs-gray-400);background-color:#fff;color:#000}.sds-badge.danger{background-color:var(--bs-danger)}.sds-badge.success{background-color:var(--bs-success)}.sds-badge.warning{background-color:var(--bs-warning)}.sds-badge.info{background-color:var(--bs-info)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
53
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsBadgeComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
54
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsBadgeComponent, isStandalone: true, selector: "sds-badge", ngImport: i0, template: "<div \n class=\"sds-badge\"\n [ngClass]=\"[variant]\"\n [style.left.px]=\"left\"\n [class.default]=\"size === 'default'\"\n [class.small]=\"size === 'small'\"\n >\n <span *ngIf=\"size=='default'\">{{text}}</span>\n</div>\n", styles: [":host{position:absolute}.sds-badge{position:relative;display:flex;justify-content:center;align-items:center;color:#fff;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;border-radius:1.3rem;border-width:1px;border-style:solid;border-color:#fff;cursor:default;transform:translate(calc(-50% - 1px),-50%)}.sds-badge.default{line-height:1.3rem;min-width:calc(1.3rem + 2px);padding-left:.3rem;padding-right:.3rem}.sds-badge.small{height:.75rem;width:.75rem}.sds-badge.primary{background-color:var(--bs-primary)}.sds-badge.secondary{border-color:var(--bs-gray-400);background-color:#fff;color:#000}.sds-badge.danger{background-color:var(--bs-danger)}.sds-badge.success{background-color:var(--bs-success)}.sds-badge.warning{background-color:var(--bs-warning)}.sds-badge.info{background-color:var(--bs-info)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
55
55
  }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsBadgeComponent, decorators: [{
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsBadgeComponent, decorators: [{
57
57
  type: Component,
58
- args: [{ selector: 'sds-badge', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgClass, NgIf], template: "<div \n class=\"sds-badge\"\n [ngClass]=\"[variant]\"\n [style.left.px]=\"left\"\n [class.default]=\"size === 'default'\"\n [class.small]=\"size === 'small'\"\n >\n <span *ngIf=\"size=='default'\">{{text}}</span>\n</div>\n", styles: [":host{position:absolute}.sds-badge{position:relative;display:flex;justify-content:center;align-items:center;color:#fff;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;border-radius:1.3rem;border-width:1px;border-style:solid;border-color:#fff;cursor:default;transform:translate(calc(-50% - 1px),-50%)}.sds-badge.default{line-height:1.3rem;min-width:calc(1.3rem + 2px);padding-left:.3rem;padding-right:.3rem}.sds-badge.small{height:.75rem;width:.75rem}.sds-badge.primary{background-color:var(--bs-primary)}.sds-badge.secondary{border-color:var(--bs-gray-400);background-color:#fff;color:#000}.sds-badge.danger{background-color:var(--bs-danger)}.sds-badge.success{background-color:var(--bs-success)}.sds-badge.warning{background-color:var(--bs-warning)}.sds-badge.info{background-color:var(--bs-info)}\n"] }]
58
+ args: [{ selector: 'sds-badge', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgClass, NgIf], template: "<div \n class=\"sds-badge\"\n [ngClass]=\"[variant]\"\n [style.left.px]=\"left\"\n [class.default]=\"size === 'default'\"\n [class.small]=\"size === 'small'\"\n >\n <span *ngIf=\"size=='default'\">{{text}}</span>\n</div>\n", styles: [":host{position:absolute}.sds-badge{position:relative;display:flex;justify-content:center;align-items:center;color:#fff;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;border-radius:1.3rem;border-width:1px;border-style:solid;border-color:#fff;cursor:default;transform:translate(calc(-50% - 1px),-50%)}.sds-badge.default{line-height:1.3rem;min-width:calc(1.3rem + 2px);padding-left:.3rem;padding-right:.3rem}.sds-badge.small{height:.75rem;width:.75rem}.sds-badge.primary{background-color:var(--bs-primary)}.sds-badge.secondary{border-color:var(--bs-gray-400);background-color:#fff;color:#000}.sds-badge.danger{background-color:var(--bs-danger)}.sds-badge.success{background-color:var(--bs-success)}.sds-badge.warning{background-color:var(--bs-warning)}.sds-badge.info{background-color:var(--bs-info)}\n"] }]
59
59
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
60
60
 
61
61
  class SdsBadgeDirective {
@@ -128,10 +128,10 @@ class SdsBadgeDirective {
128
128
  // console.log(`offsetLeft ${this.host.nativeElement.offsetLeft}, offsetWidth: ${this.host.nativeElement.offsetWidth}`);
129
129
  }
130
130
  }
131
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsBadgeDirective, deps: [{ token: i0.ElementRef }, { token: i0.ApplicationRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
132
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: SdsBadgeDirective, isStandalone: true, selector: "[sdsBadge]", inputs: { sdsBadge: "sdsBadge", size: "size", variant: "variant" }, usesOnChanges: true, ngImport: i0 }); }
131
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsBadgeDirective, deps: [{ token: i0.ElementRef }, { token: i0.ApplicationRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
132
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.23", type: SdsBadgeDirective, isStandalone: true, selector: "[sdsBadge]", inputs: { sdsBadge: "sdsBadge", size: "size", variant: "variant" }, usesOnChanges: true, ngImport: i0 }); }
133
133
  }
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsBadgeDirective, decorators: [{
134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsBadgeDirective, decorators: [{
135
135
  type: Directive,
136
136
  args: [{
137
137
  selector: '[sdsBadge]',
@@ -1 +1 @@
1
- {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-badge.mjs","sources":["../../../projects/ngx-sds-components/src/lib/badge/components/badge.component.ts","../../../projects/ngx-sds-components/src/lib/badge/components/badge.component.html","../../../projects/ngx-sds-components/src/lib/badge/badge.directive.ts","../../../projects/ngx-sds-components/src/lib/badge/spicainternational-ngx-sds-components-src-lib-badge.ts"],"sourcesContent":["import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { BadgeSize, BadgeVariant } from '../badge.types';\nimport { NgClass, NgIf } from '@angular/common';\n\n@Component({\n selector: 'sds-badge',\n templateUrl: './badge.component.html',\n styleUrls: ['./badge.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgClass, NgIf]\n})\nexport class SdsBadgeComponent implements OnInit {\n private _text: string = '';\n private _size: BadgeSize = 'default';\n private _variant: BadgeVariant = 'primary';\n private _left: number = 0;\n\n\n public get text() {\n return this._text;\n }\n\n public set text(value: string) {\n if (this._text !== value) {\n this._text = value;\n this.refresh();\n }\n }\n\n public get size() {\n return this._size;\n }\n\n public set size(value: BadgeSize) {\n if (this._size !== value) {\n this._size = value;\n this.refresh();\n }\n }\n\n public get variant() {\n return this._variant;\n }\n\n public set variant(value: BadgeVariant) {\n if (this._variant !== value) {\n this._variant = value;\n this.refresh();\n }\n }\n\n public get left() {\n return this._left;\n }\n\n public set left(value: number) {\n if (this._left !== value) {\n this._left = value;\n this.refresh();\n }\n }\n\n \n \n\n constructor(\n private readonly cdRef: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {}\n\n\n private refresh(){\n this.cdRef.detectChanges();\n }\n}\n","<div \n class=\"sds-badge\"\n [ngClass]=\"[variant]\"\n [style.left.px]=\"left\"\n [class.default]=\"size === 'default'\"\n [class.small]=\"size === 'small'\"\n >\n <span *ngIf=\"size=='default'\">{{text}}</span>\n</div>\n","import {\n AfterViewInit,\n ApplicationRef,\n ComponentRef,\n Directive,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n ViewContainerRef,\n} from '@angular/core';\nimport { BadgeSize, BadgeVariant } from './badge.types';\nimport { SdsBadgeComponent } from './components/badge.component';\n\n@Directive({\n selector: '[sdsBadge]',\n standalone: true,\n})\nexport class SdsBadgeDirective implements OnInit, OnChanges, OnDestroy, AfterViewInit {\n @Input() sdsBadge = '';\n @Input() size: BadgeSize = 'default';\n @Input() variant: BadgeVariant = 'primary';\n\n private badgeComponentRef: ComponentRef<any> | null = null;\n private observer: any; //ResizeObserver = null;\n\n constructor(\n private host: ElementRef,\n private appRef: ApplicationRef,\n private viewContainerRef: ViewContainerRef\n ) {}\n\n ngAfterViewInit(): void {\n this.initializeBadge();\n }\n\n ngOnInit(): void {\n // const observer \n this.observer = new ResizeObserver(_ => {\n if (this.badgeComponentRef) {\n this.setBadgePosition();\n // this.badgeComponentRef.instance.left = this.host.nativeElement.offsetWidth;\n }\n });\n \n this.observer.observe(this.host.nativeElement);\n }; \n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['sdsBadge'] && !changes['sdsBadge'].firstChange) {\n const value = `${changes['sdsBadge'].currentValue}`.trim();\n if (value?.length > 0) {\n this.initializeBadge();\n } else {\n this.destroyBadgeComponentRef();\n }\n }\n }\n\n ngOnDestroy() {\n this.observer.unobserve(this.host.nativeElement);\n this.observer.disconnect();\n\n this.destroyBadgeComponentRef();\n }\n\n private initializeBadge() {\n if (this.badgeComponentRef === null) {\n if (this.sdsBadge) {\n this.badgeComponentRef = this.viewContainerRef.createComponent(SdsBadgeComponent);\n this.badgeComponentRef.instance.text = this.sdsBadge;\n this.badgeComponentRef.instance.variant = this.variant;\n this.badgeComponentRef.instance.size = this.size;\n\n this.setBadgePosition();\n }\n } else {\n this.badgeComponentRef.instance.text = this.sdsBadge;\n this.badgeComponentRef.instance.variant = this.variant;\n this.badgeComponentRef.instance.size = this.size;\n\n this.setBadgePosition();\n }\n }\n\n private destroyBadgeComponentRef(){\n if (this.badgeComponentRef !== null) {\n this.appRef.detachView(this.badgeComponentRef.hostView);\n this.badgeComponentRef.destroy();\n this.badgeComponentRef = null;\n } \n }\n\n private setBadgePosition(){\n if (this.badgeComponentRef) {\n this.badgeComponentRef.instance.left = this.host.nativeElement.offsetLeft + this.host.nativeElement.offsetWidth;\n // console.log(`offsetLeft ${this.host.nativeElement.offsetLeft}, offsetWidth: ${this.host.nativeElement.offsetWidth}`);\n }\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAYa,iBAAiB,CAAA;AAO1B,IAAA,IAAW,IAAI,GAAA;QACX,OAAO,IAAI,CAAC,KAAK;;IAGrB,IAAW,IAAI,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;AACtB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK;YAClB,IAAI,CAAC,OAAO,EAAE;;;AAItB,IAAA,IAAW,IAAI,GAAA;QACX,OAAO,IAAI,CAAC,KAAK;;IAGrB,IAAW,IAAI,CAAC,KAAgB,EAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;AACtB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK;YAClB,IAAI,CAAC,OAAO,EAAE;;;AAItB,IAAA,IAAW,OAAO,GAAA;QACd,OAAO,IAAI,CAAC,QAAQ;;IAGxB,IAAW,OAAO,CAAC,KAAmB,EAAA;AAClC,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;AACzB,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;YACrB,IAAI,CAAC,OAAO,EAAE;;;AAItB,IAAA,IAAW,IAAI,GAAA;QACX,OAAO,IAAI,CAAC,KAAK;;IAGrB,IAAW,IAAI,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;AACtB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK;YAClB,IAAI,CAAC,OAAO,EAAE;;;AAOtB,IAAA,WAAA,CACqB,KAAwB,EAAA;QAAxB,IAAK,CAAA,KAAA,GAAL,KAAK;QAtDlB,IAAK,CAAA,KAAA,GAAW,EAAE;QAClB,IAAK,CAAA,KAAA,GAAc,SAAS;QAC5B,IAAQ,CAAA,QAAA,GAAiB,SAAS;QAClC,IAAK,CAAA,KAAA,GAAW,CAAC;;AAsDzB,IAAA,QAAQ;IAGA,OAAO,GAAA;AACX,QAAA,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;;+GA9DrB,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,ECZ9B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,qPASA,EDCc,MAAA,EAAA,CAAA,4zBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAO,oFAAE,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAEd,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAR7B,SAAS;+BACI,WAAW,EAAA,eAAA,EAGJ,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,OAAA,EACP,CAAC,OAAO,EAAE,IAAI,CAAC,EAAA,QAAA,EAAA,qPAAA,EAAA,MAAA,EAAA,CAAA,4zBAAA,CAAA,EAAA;;;MEUf,iBAAiB,CAAA;AAQ1B,IAAA,WAAA,CACY,IAAgB,EAChB,MAAsB,EACtB,gBAAkC,EAAA;QAFlC,IAAI,CAAA,IAAA,GAAJ,IAAI;QACJ,IAAM,CAAA,MAAA,GAAN,MAAM;QACN,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;QAVnB,IAAQ,CAAA,QAAA,GAAG,EAAE;QACb,IAAI,CAAA,IAAA,GAAc,SAAS;QAC3B,IAAO,CAAA,OAAA,GAAiB,SAAS;QAElC,IAAiB,CAAA,iBAAA,GAA6B,IAAI;;IAS1D,eAAe,GAAA;QACX,IAAI,CAAC,eAAe,EAAE;;IAG1B,QAAQ,GAAA;;QAEJ,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,CAAC,IAAG;AACnC,YAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBACxB,IAAI,CAAC,gBAAgB,EAAE;;;AAG/B,SAAC,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;;;AAGlD,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;AACzD,YAAA,MAAM,KAAK,GAAG,CAAG,EAAA,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAA,CAAE,CAAC,IAAI,EAAE;AAC1D,YAAA,IAAI,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE;gBACnB,IAAI,CAAC,eAAe,EAAE;;iBACnB;gBACH,IAAI,CAAC,wBAAwB,EAAE;;;;IAK3C,WAAW,GAAA;QACP,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;AAChD,QAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;QAE1B,IAAI,CAAC,wBAAwB,EAAE;;IAG3B,eAAe,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE;AACjC,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,iBAAiB,CAAC;gBACjF,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ;gBACpD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;gBACtD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;gBAEhD,IAAI,CAAC,gBAAgB,EAAE;;;aAExB;YACH,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ;YACpD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;YACtD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;YAEhD,IAAI,CAAC,gBAAgB,EAAE;;;IAIvB,wBAAwB,GAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE;YACjC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;AACvD,YAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE;AAChC,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;;;IAI7B,gBAAgB,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW;;;;+GA7E9G,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA;2IAEY,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,OAAO,EAAA,CAAA;sBAAf;;;ACvBL;;AAEG;;;;"}
1
+ {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-badge.mjs","sources":["../../../projects/ngx-sds-components/src/lib/badge/components/badge.component.ts","../../../projects/ngx-sds-components/src/lib/badge/components/badge.component.html","../../../projects/ngx-sds-components/src/lib/badge/badge.directive.ts","../../../projects/ngx-sds-components/src/lib/badge/spicainternational-ngx-sds-components-src-lib-badge.ts"],"sourcesContent":["import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { BadgeSize, BadgeVariant } from '../badge.types';\nimport { NgClass, NgIf } from '@angular/common';\n\n@Component({\n selector: 'sds-badge',\n templateUrl: './badge.component.html',\n styleUrls: ['./badge.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgClass, NgIf]\n})\nexport class SdsBadgeComponent implements OnInit {\n private _text: string = '';\n private _size: BadgeSize = 'default';\n private _variant: BadgeVariant = 'primary';\n private _left: number = 0;\n\n\n public get text() {\n return this._text;\n }\n\n public set text(value: string) {\n if (this._text !== value) {\n this._text = value;\n this.refresh();\n }\n }\n\n public get size() {\n return this._size;\n }\n\n public set size(value: BadgeSize) {\n if (this._size !== value) {\n this._size = value;\n this.refresh();\n }\n }\n\n public get variant() {\n return this._variant;\n }\n\n public set variant(value: BadgeVariant) {\n if (this._variant !== value) {\n this._variant = value;\n this.refresh();\n }\n }\n\n public get left() {\n return this._left;\n }\n\n public set left(value: number) {\n if (this._left !== value) {\n this._left = value;\n this.refresh();\n }\n }\n\n \n \n\n constructor(\n private readonly cdRef: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {}\n\n\n private refresh(){\n this.cdRef.detectChanges();\n }\n}\n","<div \n class=\"sds-badge\"\n [ngClass]=\"[variant]\"\n [style.left.px]=\"left\"\n [class.default]=\"size === 'default'\"\n [class.small]=\"size === 'small'\"\n >\n <span *ngIf=\"size=='default'\">{{text}}</span>\n</div>\n","import {\n AfterViewInit,\n ApplicationRef,\n ComponentRef,\n Directive,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n ViewContainerRef,\n} from '@angular/core';\nimport { BadgeSize, BadgeVariant } from './badge.types';\nimport { SdsBadgeComponent } from './components/badge.component';\n\n@Directive({\n selector: '[sdsBadge]',\n standalone: true,\n})\nexport class SdsBadgeDirective implements OnInit, OnChanges, OnDestroy, AfterViewInit {\n @Input() sdsBadge = '';\n @Input() size: BadgeSize = 'default';\n @Input() variant: BadgeVariant = 'primary';\n\n private badgeComponentRef: ComponentRef<any> | null = null;\n private observer: any; //ResizeObserver = null;\n\n constructor(\n private host: ElementRef,\n private appRef: ApplicationRef,\n private viewContainerRef: ViewContainerRef\n ) {}\n\n ngAfterViewInit(): void {\n this.initializeBadge();\n }\n\n ngOnInit(): void {\n // const observer \n this.observer = new ResizeObserver(_ => {\n if (this.badgeComponentRef) {\n this.setBadgePosition();\n // this.badgeComponentRef.instance.left = this.host.nativeElement.offsetWidth;\n }\n });\n \n this.observer.observe(this.host.nativeElement);\n }; \n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['sdsBadge'] && !changes['sdsBadge'].firstChange) {\n const value = `${changes['sdsBadge'].currentValue}`.trim();\n if (value?.length > 0) {\n this.initializeBadge();\n } else {\n this.destroyBadgeComponentRef();\n }\n }\n }\n\n ngOnDestroy() {\n this.observer.unobserve(this.host.nativeElement);\n this.observer.disconnect();\n\n this.destroyBadgeComponentRef();\n }\n\n private initializeBadge() {\n if (this.badgeComponentRef === null) {\n if (this.sdsBadge) {\n this.badgeComponentRef = this.viewContainerRef.createComponent(SdsBadgeComponent);\n this.badgeComponentRef.instance.text = this.sdsBadge;\n this.badgeComponentRef.instance.variant = this.variant;\n this.badgeComponentRef.instance.size = this.size;\n\n this.setBadgePosition();\n }\n } else {\n this.badgeComponentRef.instance.text = this.sdsBadge;\n this.badgeComponentRef.instance.variant = this.variant;\n this.badgeComponentRef.instance.size = this.size;\n\n this.setBadgePosition();\n }\n }\n\n private destroyBadgeComponentRef(){\n if (this.badgeComponentRef !== null) {\n this.appRef.detachView(this.badgeComponentRef.hostView);\n this.badgeComponentRef.destroy();\n this.badgeComponentRef = null;\n } \n }\n\n private setBadgePosition(){\n if (this.badgeComponentRef) {\n this.badgeComponentRef.instance.left = this.host.nativeElement.offsetLeft + this.host.nativeElement.offsetWidth;\n // console.log(`offsetLeft ${this.host.nativeElement.offsetLeft}, offsetWidth: ${this.host.nativeElement.offsetWidth}`);\n }\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -7,10 +7,10 @@ class SdsCalloutComponent {
7
7
  this.backgroundColor = 'white';
8
8
  }
9
9
  ngOnInit() { }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsCalloutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SdsCalloutComponent, isStandalone: true, selector: "sds-callout", inputs: { color: "color", backgroundColor: "backgroundColor" }, ngImport: i0, template: "<div class=\"callout\"\n [class]=\"(color ? 'callout-' + color : null)\"\n [style.backgroundColor]=\"backgroundColor\"\n >\n <ng-content></ng-content>\n</div>\n", styles: [""] }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsCalloutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: SdsCalloutComponent, isStandalone: true, selector: "sds-callout", inputs: { color: "color", backgroundColor: "backgroundColor" }, ngImport: i0, template: "<div class=\"callout\"\n [class]=\"(color ? 'callout-' + color : null)\"\n [style.backgroundColor]=\"backgroundColor\"\n >\n <ng-content></ng-content>\n</div>\n", styles: [""] }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsCalloutComponent, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: SdsCalloutComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{ selector: 'sds-callout', standalone: true, template: "<div class=\"callout\"\n [class]=\"(color ? 'callout-' + color : null)\"\n [style.backgroundColor]=\"backgroundColor\"\n >\n <ng-content></ng-content>\n</div>\n" }]
16
16
  }], ctorParameters: () => [], propDecorators: { color: [{
@@ -1 +1 @@
1
- {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-callout.mjs","sources":["../../../projects/ngx-sds-components/src/lib/callout/callout.component.ts","../../../projects/ngx-sds-components/src/lib/callout/callout.component.html","../../../projects/ngx-sds-components/src/lib/callout/spicainternational-ngx-sds-components-src-lib-callout.ts"],"sourcesContent":["import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'sds-callout',\n templateUrl: './callout.component.html',\n styleUrls: ['./callout.component.scss'],\n standalone: true,\n})\nexport class SdsCalloutComponent implements OnInit {\n @Input() color: string = 'info';\n @Input() backgroundColor: string = 'white';\n \n\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"callout\"\n [class]=\"(color ? 'callout-' + color : null)\"\n [style.backgroundColor]=\"backgroundColor\"\n >\n <ng-content></ng-content>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAQa,mBAAmB,CAAA;AAM5B,IAAA,WAAA,GAAA;QALS,IAAK,CAAA,KAAA,GAAW,MAAM;QACtB,IAAe,CAAA,eAAA,GAAW,OAAO;;AAM1C,IAAA,QAAQ;+GARC,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,uICRhC,8KAMA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDEa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,cAGX,IAAI,EAAA,QAAA,EAAA,8KAAA,EAAA;wDAGP,KAAK,EAAA,CAAA;sBAAb;gBACQ,eAAe,EAAA,CAAA;sBAAvB;;;AEVL;;AAEG;;;;"}
1
+ {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-callout.mjs","sources":["../../../projects/ngx-sds-components/src/lib/callout/callout.component.ts","../../../projects/ngx-sds-components/src/lib/callout/callout.component.html","../../../projects/ngx-sds-components/src/lib/callout/spicainternational-ngx-sds-components-src-lib-callout.ts"],"sourcesContent":["import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'sds-callout',\n templateUrl: './callout.component.html',\n styleUrls: ['./callout.component.scss'],\n standalone: true,\n})\nexport class SdsCalloutComponent implements OnInit {\n @Input() color: string = 'info';\n @Input() backgroundColor: string = 'white';\n \n\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"callout\"\n [class]=\"(color ? 'callout-' + color : null)\"\n [style.backgroundColor]=\"backgroundColor\"\n >\n <ng-content></ng-content>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAQa,mBAAmB,CAAA;AAM5B,IAAA,WAAA,GAAA;QALS,IAAA,CAAA,KAAK,GAAW,MAAM;QACtB,IAAA,CAAA,eAAe,GAAW,OAAO;IAI3B;AAEf,IAAA,QAAQ,KAAU;+GART,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,uICRhC,8KAMA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDEa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,cAGX,IAAI,EAAA,QAAA,EAAA,8KAAA,EAAA;;sBAGf;;sBACA;;;AEVL;;AAEG;;"}