@spicainternational/ngx-sds-components 7.12.0-beta.2 → 8.1.1

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 (634) hide show
  1. package/README.md +13 -57
  2. package/esm2022/public-api.mjs +36 -0
  3. package/{esm2020 → esm2022}/spicainternational-ngx-sds-components.mjs +4 -4
  4. package/esm2022/src/lib/app-switcher/app-switcher.component.mjs +116 -0
  5. package/{esm2020 → esm2022}/src/lib/app-switcher/app-switcher.model.mjs +1 -1
  6. package/esm2022/src/lib/app-switcher/public-api.mjs +3 -0
  7. package/{esm2020 → esm2022}/src/lib/app-switcher/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +4 -4
  8. package/esm2022/src/lib/avatar/avatar-group.component.mjs +82 -0
  9. package/{esm2020 → esm2022}/src/lib/avatar/avatar-group.model.mjs +1 -1
  10. package/esm2022/src/lib/avatar/avatar.component.mjs +165 -0
  11. package/esm2022/src/lib/avatar/public-api.mjs +4 -0
  12. package/{esm2020 → esm2022}/src/lib/avatar/spicainternational-ngx-sds-components-src-lib-avatar.mjs +4 -4
  13. package/esm2022/src/lib/badge/badge.directive.mjs +90 -0
  14. package/{esm2020 → esm2022}/src/lib/badge/badge.types.mjs +1 -1
  15. package/esm2022/src/lib/badge/components/badge.component.mjs +59 -0
  16. package/{esm2020 → esm2022}/src/lib/badge/public-api.mjs +2 -3
  17. package/{esm2020 → esm2022}/src/lib/badge/spicainternational-ngx-sds-components-src-lib-badge.mjs +4 -4
  18. package/esm2022/src/lib/callout/callout.component.mjs +20 -0
  19. package/{esm2020 → esm2022}/src/lib/callout/public-api.mjs +2 -3
  20. package/{esm2020 → esm2022}/src/lib/callout/spicainternational-ngx-sds-components-src-lib-callout.mjs +4 -4
  21. package/esm2022/src/lib/color-picker/color-picker.component.mjs +82 -0
  22. package/{esm2020 → esm2022}/src/lib/color-picker/public-api.mjs +2 -3
  23. package/{esm2020 → esm2022}/src/lib/color-picker/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +4 -4
  24. package/esm2022/src/lib/date-picker/date-picker.component.mjs +863 -0
  25. package/esm2022/src/lib/date-picker/date-picker.model.mjs +71 -0
  26. package/esm2022/src/lib/date-picker/public-api.mjs +3 -0
  27. package/esm2022/src/lib/date-picker/sds-date-picker.service.mjs +90 -0
  28. package/{esm2020 → esm2022}/src/lib/date-picker/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +4 -4
  29. package/esm2022/src/lib/date-pipes/date-compare.pipe.mjs +32 -0
  30. package/esm2022/src/lib/date-pipes/date-format.pipe.mjs +31 -0
  31. package/esm2022/src/lib/date-pipes/date-period-format.pipe.mjs +49 -0
  32. package/{esm2020 → esm2022}/src/lib/date-pipes/date-time-formats.constants.mjs +155 -155
  33. package/esm2022/src/lib/date-pipes/date-time-range-duration.pipe.mjs +33 -0
  34. package/esm2022/src/lib/date-pipes/date-time-range-format.pipe.mjs +49 -0
  35. package/{esm2020 → esm2022}/src/lib/date-pipes/public-api.mjs +8 -8
  36. package/{esm2020 → esm2022}/src/lib/date-pipes/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +4 -4
  37. package/esm2022/src/lib/drawer/drawer.component.mjs +103 -0
  38. package/{esm2020 → esm2022}/src/lib/drawer/public-api.mjs +2 -3
  39. package/{esm2020 → esm2022}/src/lib/drawer/spicainternational-ngx-sds-components-src-lib-drawer.mjs +4 -4
  40. package/esm2022/src/lib/duration-box/duration-box.component.mjs +279 -0
  41. package/{esm2020 → esm2022}/src/lib/duration-box/duration-box.types.mjs +1 -1
  42. package/esm2022/src/lib/duration-box/duration.service.mjs +72 -0
  43. package/{esm2020 → esm2022}/src/lib/duration-box/public-api.mjs +2 -3
  44. package/{esm2020 → esm2022}/src/lib/duration-box/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +4 -4
  45. package/esm2022/src/lib/duration-pipe/duration-format.pipe.mjs +27 -0
  46. package/{esm2020 → esm2022}/src/lib/duration-pipe/public-api.mjs +2 -3
  47. package/{esm2020 → esm2022}/src/lib/duration-pipe/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +4 -4
  48. package/esm2022/src/lib/ellipsis/directives/ellipsis.directive.mjs +52 -0
  49. package/{esm2020 → esm2022}/src/lib/ellipsis/public-api.mjs +2 -3
  50. package/{esm2020 → esm2022}/src/lib/ellipsis/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +4 -4
  51. package/esm2022/src/lib/expansion-panel/expansion-panel.component.mjs +86 -0
  52. package/{esm2020 → esm2022}/src/lib/expansion-panel/expansion-panel.types.mjs +1 -1
  53. package/{esm2020 → esm2022}/src/lib/expansion-panel/public-api.mjs +2 -3
  54. package/{esm2020 → esm2022}/src/lib/expansion-panel/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +4 -4
  55. package/esm2022/src/lib/highlight-text/directives/highlight-text.directive.mjs +61 -0
  56. package/{esm2020 → esm2022}/src/lib/highlight-text/directives/index.mjs +1 -1
  57. package/esm2022/src/lib/highlight-text/pipes/highlight-text.pipe.mjs +30 -0
  58. package/{esm2020 → esm2022}/src/lib/highlight-text/pipes/index.mjs +1 -1
  59. package/esm2022/src/lib/highlight-text/public-api.mjs +3 -0
  60. package/{esm2020 → esm2022}/src/lib/highlight-text/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs +4 -4
  61. package/esm2022/src/lib/highlight-text/utils/highlight-text.utils.mjs +97 -0
  62. package/{esm2020 → esm2022}/src/lib/highlight-text/utils/index.mjs +1 -1
  63. package/{esm2020 → esm2022}/src/lib/intersection/directives/index.mjs +1 -1
  64. package/esm2022/src/lib/intersection/directives/intersection.directive.mjs +52 -0
  65. package/esm2022/src/lib/intersection/public-api.mjs +3 -0
  66. package/{esm2020 → esm2022}/src/lib/intersection/services/index.mjs +1 -1
  67. package/{esm2020 → esm2022}/src/lib/intersection/services/intersection.service.mjs +54 -54
  68. package/{esm2020 → esm2022}/src/lib/intersection/spicainternational-ngx-sds-components-src-lib-intersection.mjs +4 -4
  69. package/{esm2020 → esm2022}/src/lib/keyboard-shortcut/directives/index.mjs +1 -1
  70. package/esm2022/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.mjs +57 -0
  71. package/{esm2020 → esm2022}/src/lib/keyboard-shortcut/public-api.mjs +2 -3
  72. package/{esm2020 → esm2022}/src/lib/keyboard-shortcut/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +4 -4
  73. package/esm2022/src/lib/layout/default-layout/default-layout.component.mjs +15 -0
  74. package/esm2022/src/lib/layout/extra-large-layout/extra-large-layout.component.mjs +15 -0
  75. package/esm2022/src/lib/layout/fluid-layout/fluid-layout.component.mjs +15 -0
  76. package/esm2022/src/lib/layout/medium-layout/medium-layout.component.mjs +15 -0
  77. package/esm2022/src/lib/layout/public-api.mjs +6 -0
  78. package/esm2022/src/lib/layout/small-layout/small-layout.component.mjs +15 -0
  79. package/{esm2020 → esm2022}/src/lib/layout/spicainternational-ngx-sds-components-src-lib-layout.mjs +4 -4
  80. package/esm2022/src/lib/message/message.component.mjs +60 -0
  81. package/{esm2020 → esm2022}/src/lib/message/public-api.mjs +2 -3
  82. package/{esm2020 → esm2022}/src/lib/message/spicainternational-ngx-sds-components-src-lib-message.mjs +4 -4
  83. package/esm2022/src/lib/modal/dialog/dialog.component.mjs +187 -0
  84. package/{esm2020 → esm2022}/src/lib/modal/dialog/dialog.types.mjs +1 -1
  85. package/esm2022/src/lib/modal/modal.component.mjs +153 -0
  86. package/{esm2020 → esm2022}/src/lib/modal/modal.model.mjs +1 -1
  87. package/{esm2020 → esm2022}/src/lib/modal/public-api.mjs +3 -4
  88. package/{esm2020 → esm2022}/src/lib/modal/spicainternational-ngx-sds-components-src-lib-modal.mjs +4 -4
  89. package/esm2022/src/lib/navigation/models/navigation-models.mjs +2 -0
  90. package/esm2022/src/lib/navigation/navigation-collapsible-frame/navigation-collapsible-frame.component.mjs +17 -0
  91. package/esm2022/src/lib/navigation/navigation-container/navigation-container.component.mjs +61 -0
  92. package/esm2022/src/lib/navigation/navigation-external-link/navigation-external-link.component.mjs +38 -0
  93. package/esm2022/src/lib/navigation/navigation-group/navigation-group.component.mjs +120 -0
  94. package/esm2022/src/lib/navigation/navigation-header/navigation-header.component.mjs +21 -0
  95. package/esm2022/src/lib/navigation/navigation-route-link/navigation-route-link.component.mjs +38 -0
  96. package/esm2022/src/lib/navigation/navigation-separator/navigation-separator.component.mjs +15 -0
  97. package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.mjs +30 -0
  98. package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.mjs +45 -0
  99. package/{esm2020 → esm2022}/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.types.mjs +1 -1
  100. package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.mjs +25 -0
  101. package/{esm2020 → esm2022}/src/lib/navigation/navigation-user-profile/navigation-profile.model.mjs +1 -1
  102. package/esm2022/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.mjs +107 -0
  103. package/esm2022/src/lib/navigation/product-home/product-home.component.mjs +71 -0
  104. package/esm2022/src/lib/navigation/public-api.mjs +14 -0
  105. package/{esm2020 → esm2022}/src/lib/navigation/spicainternational-ngx-sds-components-src-lib-navigation.mjs +4 -4
  106. package/esm2022/src/lib/navigation/utils/navigation.utils.mjs +48 -0
  107. package/esm2022/src/lib/number-box/number-box.component.mjs +138 -0
  108. package/{esm2020 → esm2022}/src/lib/number-box/public-api.mjs +2 -3
  109. package/{esm2020 → esm2022}/src/lib/number-box/spicainternational-ngx-sds-components-src-lib-number-box.mjs +4 -4
  110. package/esm2022/src/lib/page-header/page-header.component.mjs +25 -0
  111. package/{esm2020 → esm2022}/src/lib/page-header/public-api.mjs +2 -3
  112. package/{esm2020 → esm2022}/src/lib/page-header/spicainternational-ngx-sds-components-src-lib-page-header.mjs +4 -4
  113. package/esm2022/src/lib/pane/pane.component.mjs +43 -0
  114. package/{esm2020 → esm2022}/src/lib/pane/pane.model.mjs +1 -1
  115. package/{esm2020 → esm2022}/src/lib/pane/public-api.mjs +3 -4
  116. package/{esm2020 → esm2022}/src/lib/pane/spicainternational-ngx-sds-components-src-lib-pane.mjs +4 -4
  117. package/{esm2020 → esm2022}/src/lib/quick-info/public-api.mjs +2 -3
  118. package/esm2022/src/lib/quick-info/quick-info.component.mjs +121 -0
  119. package/{esm2020 → esm2022}/src/lib/quick-info/quick-info.model.mjs +1 -1
  120. package/{esm2020 → esm2022}/src/lib/quick-info/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +4 -4
  121. package/esm2022/src/lib/ripple/public-api.mjs +2 -0
  122. package/esm2022/src/lib/ripple/ripple.directive.mjs +103 -0
  123. package/esm2022/src/lib/ripple/spicainternational-ngx-sds-components-src-lib-ripple.mjs +5 -0
  124. package/{esm2020 → esm2022}/src/lib/segmented-control/public-api.mjs +2 -3
  125. package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +109 -0
  126. package/{esm2020 → esm2022}/src/lib/segmented-control/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +4 -4
  127. package/{esm2020 → esm2022}/src/lib/side-bar/public-api.mjs +2 -3
  128. package/esm2022/src/lib/side-bar/side-bar.component.mjs +39 -0
  129. package/{esm2020 → esm2022}/src/lib/side-bar/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +4 -4
  130. package/{esm2020 → esm2022}/src/lib/static-value/public-api.mjs +2 -3
  131. package/{esm2020 → esm2022}/src/lib/static-value/spicainternational-ngx-sds-components-src-lib-static-value.mjs +4 -4
  132. package/esm2022/src/lib/static-value/static-value.component.mjs +25 -0
  133. package/{esm2020 → esm2022}/src/lib/table-actions/public-api.mjs +2 -3
  134. package/{esm2020 → esm2022}/src/lib/table-actions/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +4 -4
  135. package/esm2022/src/lib/table-actions/table-actions.component.mjs +49 -0
  136. package/esm2022/src/lib/timeline/components/timeline.component.mjs +388 -0
  137. package/{esm2020 → esm2022}/src/lib/timeline/models/timeline.model.mjs +1 -1
  138. package/{esm2020 → esm2022}/src/lib/timeline/public-api.mjs +2 -3
  139. package/esm2022/src/lib/timeline/services/timeline.service.mjs +152 -0
  140. package/{esm2020 → esm2022}/src/lib/timeline/spicainternational-ngx-sds-components-src-lib-timeline.mjs +4 -4
  141. package/{esm2020 → esm2022}/src/lib/timeline/types/timeline.types.mjs +1 -1
  142. package/{esm2020 → esm2022}/src/lib/timer/public-api.mjs +3 -4
  143. package/{esm2020 → esm2022}/src/lib/timer/services/index.mjs +1 -1
  144. package/esm2022/src/lib/timer/services/timer.service.mjs +99 -0
  145. package/{esm2020 → esm2022}/src/lib/timer/spicainternational-ngx-sds-components-src-lib-timer.mjs +4 -4
  146. package/{esm2020 → esm2022}/src/lib/timer/utils/index.mjs +1 -1
  147. package/{esm2020 → esm2022}/src/lib/timer/utils/timer.utils.mjs +96 -96
  148. package/esm2022/src/lib/tooltip/components/tooltip.component.mjs +26 -0
  149. package/{esm2020 → esm2022}/src/lib/tooltip/public-api.mjs +2 -3
  150. package/{esm2020 → esm2022}/src/lib/tooltip/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +4 -4
  151. package/esm2022/src/lib/tooltip/tooltip.directive.mjs +192 -0
  152. package/{esm2020 → esm2022}/src/lib/tooltip/tooltip.types.mjs +1 -1
  153. package/{esm2020 → esm2022}/src/lib/tooltip/utils/index.mjs +1 -1
  154. package/{esm2020 → esm2022}/src/lib/tooltip/utils/tooltip.utils.mjs +16 -16
  155. package/esm2022/src/lib/utils/date-time/date-time-format.function.mjs +15 -0
  156. package/esm2022/src/lib/utils/date-time/intl-date-time-format-options-presets.mjs +29 -0
  157. package/esm2022/src/lib/utils/date-time/public-api.mjs +3 -0
  158. package/esm2022/src/lib/utils/date-time/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs +5 -0
  159. package/esm2022/src/lib/utils/public-api.mjs +2 -0
  160. package/esm2022/src/lib/utils/spicainternational-ngx-sds-components-src-lib-utils.mjs +5 -0
  161. package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +122 -0
  162. package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +1 -0
  163. package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs +250 -0
  164. package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +1 -0
  165. package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs +153 -0
  166. package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +1 -0
  167. package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs +27 -0
  168. package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +1 -0
  169. package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +89 -0
  170. package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +1 -0
  171. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +1025 -0
  172. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -0
  173. package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +330 -399
  174. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +1 -0
  175. package/{fesm2015 → fesm2022}/spicainternational-ngx-sds-components-src-lib-drawer.mjs +103 -118
  176. package/fesm2022/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +1 -0
  177. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +354 -0
  178. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +1 -0
  179. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +34 -0
  180. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +1 -0
  181. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +59 -0
  182. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +1 -0
  183. package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +93 -0
  184. package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +1 -0
  185. package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs +178 -201
  186. package/fesm2022/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +1 -0
  187. package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-intersection.mjs +99 -114
  188. package/fesm2022/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +1 -0
  189. package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +64 -0
  190. package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +1 -0
  191. package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs +70 -0
  192. package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +1 -0
  193. package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs +67 -0
  194. package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs.map +1 -0
  195. package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs +343 -0
  196. package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +1 -0
  197. package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs +589 -0
  198. package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -0
  199. package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs +145 -0
  200. package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +1 -0
  201. package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs +32 -0
  202. package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +1 -0
  203. package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs +50 -0
  204. package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +1 -0
  205. package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +128 -0
  206. package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +1 -0
  207. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ripple.mjs +110 -0
  208. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ripple.mjs.map +1 -0
  209. package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +116 -0
  210. package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +1 -0
  211. package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +46 -0
  212. package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +1 -0
  213. package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs +32 -0
  214. package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +1 -0
  215. package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +56 -0
  216. package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +1 -0
  217. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs +546 -0
  218. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +1 -0
  219. package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-timer.mjs +192 -223
  220. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +1 -0
  221. package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +228 -250
  222. package/fesm2022/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +1 -0
  223. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs +49 -0
  224. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs.map +1 -0
  225. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils.mjs +49 -0
  226. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils.mjs.map +1 -0
  227. package/{fesm2015 → fesm2022}/spicainternational-ngx-sds-components.mjs +6 -4
  228. package/{fesm2015 → fesm2022}/spicainternational-ngx-sds-components.mjs.map +1 -1
  229. package/index.d.ts +5 -5
  230. package/package.json +123 -169
  231. package/public-api.d.ts +32 -30
  232. package/src/lib/app-switcher/app-switcher.component.d.ts +34 -34
  233. package/src/lib/app-switcher/app-switcher.model.d.ts +8 -8
  234. package/src/lib/app-switcher/index.d.ts +5 -5
  235. package/src/lib/app-switcher/public-api.d.ts +2 -3
  236. package/src/lib/avatar/avatar-group.component.d.ts +28 -28
  237. package/src/lib/avatar/avatar-group.model.d.ts +6 -6
  238. package/src/lib/avatar/avatar.component.d.ts +56 -55
  239. package/src/lib/avatar/index.d.ts +5 -5
  240. package/src/lib/avatar/public-api.d.ts +3 -4
  241. package/src/lib/badge/badge.directive.d.ts +23 -23
  242. package/src/lib/badge/badge.types.d.ts +2 -2
  243. package/src/lib/badge/components/badge.component.d.ts +23 -23
  244. package/src/lib/badge/index.d.ts +5 -5
  245. package/src/lib/badge/public-api.d.ts +1 -2
  246. package/src/lib/callout/callout.component.d.ts +10 -10
  247. package/src/lib/callout/index.d.ts +5 -5
  248. package/src/lib/callout/public-api.d.ts +1 -2
  249. package/src/lib/color-picker/color-picker.component.d.ts +27 -28
  250. package/src/lib/color-picker/index.d.ts +5 -5
  251. package/src/lib/color-picker/public-api.d.ts +1 -2
  252. package/src/lib/date-picker/date-picker.component.d.ts +149 -149
  253. package/src/lib/date-picker/date-picker.model.d.ts +34 -34
  254. package/src/lib/date-picker/index.d.ts +5 -5
  255. package/src/lib/date-picker/public-api.d.ts +2 -3
  256. package/src/lib/date-picker/sds-date-picker.service.d.ts +9 -9
  257. package/src/lib/date-pipes/date-compare.pipe.d.ts +7 -7
  258. package/src/lib/date-pipes/date-format.pipe.d.ts +19 -18
  259. package/src/lib/date-pipes/date-period-format.pipe.d.ts +11 -7
  260. package/src/lib/date-pipes/date-time-formats.constants.d.ts +22 -22
  261. package/src/lib/date-pipes/date-time-range-duration.pipe.d.ts +7 -7
  262. package/src/lib/date-pipes/date-time-range-format.pipe.d.ts +15 -15
  263. package/src/lib/date-pipes/index.d.ts +5 -5
  264. package/src/lib/date-pipes/public-api.d.ts +7 -7
  265. package/src/lib/drawer/drawer.component.d.ts +24 -24
  266. package/src/lib/drawer/index.d.ts +5 -5
  267. package/src/lib/drawer/public-api.d.ts +1 -2
  268. package/src/lib/duration-box/duration-box.component.d.ts +137 -137
  269. package/src/lib/duration-box/duration-box.types.d.ts +1 -1
  270. package/src/lib/duration-box/duration.service.d.ts +10 -10
  271. package/src/lib/duration-box/index.d.ts +5 -5
  272. package/src/lib/duration-box/public-api.d.ts +1 -2
  273. package/src/lib/duration-pipe/duration-format.pipe.d.ts +7 -7
  274. package/src/lib/duration-pipe/index.d.ts +5 -5
  275. package/src/lib/duration-pipe/public-api.d.ts +1 -2
  276. package/src/lib/ellipsis/directives/ellipsis.directive.d.ts +13 -13
  277. package/src/lib/ellipsis/index.d.ts +5 -5
  278. package/src/lib/ellipsis/public-api.d.ts +1 -2
  279. package/src/lib/expansion-panel/expansion-panel.component.d.ts +52 -52
  280. package/src/lib/expansion-panel/expansion-panel.types.d.ts +2 -2
  281. package/src/lib/expansion-panel/index.d.ts +5 -5
  282. package/src/lib/expansion-panel/public-api.d.ts +1 -2
  283. package/src/lib/highlight-text/directives/highlight-text.directive.d.ts +33 -33
  284. package/src/lib/highlight-text/directives/index.d.ts +1 -1
  285. package/src/lib/highlight-text/index.d.ts +5 -5
  286. package/src/lib/highlight-text/pipes/highlight-text.pipe.d.ts +11 -11
  287. package/src/lib/highlight-text/pipes/index.d.ts +1 -1
  288. package/src/lib/highlight-text/public-api.d.ts +2 -3
  289. package/src/lib/highlight-text/utils/highlight-text.utils.d.ts +23 -23
  290. package/src/lib/highlight-text/utils/index.d.ts +1 -1
  291. package/src/lib/intersection/directives/index.d.ts +1 -1
  292. package/src/lib/intersection/directives/intersection.directive.d.ts +24 -24
  293. package/src/lib/intersection/index.d.ts +5 -5
  294. package/src/lib/intersection/public-api.d.ts +2 -3
  295. package/src/lib/intersection/services/index.d.ts +1 -1
  296. package/src/lib/intersection/services/intersection.service.d.ts +19 -19
  297. package/src/lib/keyboard-shortcut/directives/index.d.ts +1 -1
  298. package/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.d.ts +22 -22
  299. package/src/lib/keyboard-shortcut/index.d.ts +5 -5
  300. package/src/lib/keyboard-shortcut/public-api.d.ts +1 -2
  301. package/src/lib/layout/default-layout/default-layout.component.d.ts +8 -8
  302. package/src/lib/layout/extra-large-layout/extra-large-layout.component.d.ts +8 -8
  303. package/src/lib/layout/fluid-layout/fluid-layout.component.d.ts +8 -8
  304. package/src/lib/layout/index.d.ts +5 -5
  305. package/src/lib/layout/medium-layout/medium-layout.component.d.ts +8 -8
  306. package/src/lib/layout/public-api.d.ts +5 -6
  307. package/src/lib/layout/small-layout/small-layout.component.d.ts +8 -8
  308. package/src/lib/message/index.d.ts +5 -5
  309. package/src/lib/message/message.component.d.ts +24 -24
  310. package/src/lib/message/public-api.d.ts +1 -2
  311. package/src/lib/modal/dialog/dialog.component.d.ts +61 -61
  312. package/src/lib/modal/dialog/dialog.types.d.ts +1 -1
  313. package/src/lib/modal/index.d.ts +5 -5
  314. package/src/lib/modal/modal.component.d.ts +54 -54
  315. package/src/lib/modal/modal.model.d.ts +3 -3
  316. package/src/lib/modal/public-api.d.ts +2 -3
  317. package/src/lib/navigation/index.d.ts +5 -5
  318. package/src/lib/navigation/models/navigation-models.d.ts +4 -0
  319. package/src/lib/navigation/navigation-collapsible-frame/navigation-collapsible-frame.component.d.ts +7 -0
  320. package/src/lib/navigation/navigation-container/navigation-container.component.d.ts +26 -9
  321. package/src/lib/navigation/navigation-external-link/navigation-external-link.component.d.ts +17 -15
  322. package/src/lib/navigation/navigation-group/navigation-group.component.d.ts +45 -41
  323. package/src/lib/navigation/navigation-header/navigation-header.component.d.ts +11 -9
  324. package/src/lib/navigation/navigation-route-link/navigation-route-link.component.d.ts +19 -17
  325. package/src/lib/navigation/navigation-separator/navigation-separator.component.d.ts +10 -8
  326. package/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.d.ts +11 -11
  327. package/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.d.ts +17 -17
  328. package/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.types.d.ts +1 -1
  329. package/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.d.ts +9 -9
  330. package/src/lib/navigation/navigation-user-profile/navigation-profile.model.d.ts +6 -6
  331. package/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.d.ts +34 -31
  332. package/src/lib/navigation/product-home/product-home.component.d.ts +32 -23
  333. package/src/lib/navigation/public-api.d.ts +13 -12
  334. package/src/lib/navigation/utils/navigation.utils.d.ts +2 -2
  335. package/src/lib/number-box/index.d.ts +5 -5
  336. package/src/lib/number-box/number-box.component.d.ts +83 -83
  337. package/src/lib/number-box/public-api.d.ts +1 -2
  338. package/src/lib/page-header/index.d.ts +5 -5
  339. package/src/lib/page-header/page-header.component.d.ts +11 -11
  340. package/src/lib/page-header/public-api.d.ts +1 -2
  341. package/src/lib/pane/index.d.ts +5 -5
  342. package/src/lib/pane/pane.component.d.ts +19 -19
  343. package/src/lib/pane/pane.model.d.ts +8 -8
  344. package/src/lib/pane/public-api.d.ts +2 -3
  345. package/src/lib/quick-info/index.d.ts +5 -5
  346. package/src/lib/quick-info/public-api.d.ts +1 -2
  347. package/src/lib/quick-info/quick-info.component.d.ts +43 -43
  348. package/src/lib/quick-info/quick-info.model.d.ts +9 -9
  349. package/src/lib/ripple/index.d.ts +5 -0
  350. package/src/lib/ripple/public-api.d.ts +1 -0
  351. package/src/lib/ripple/ripple.directive.d.ts +21 -0
  352. package/src/lib/ripple/sds-ripple.css +20 -0
  353. package/src/lib/segmented-control/index.d.ts +5 -5
  354. package/src/lib/segmented-control/public-api.d.ts +1 -2
  355. package/src/lib/segmented-control/segmented-control.component.d.ts +27 -21
  356. package/src/lib/side-bar/index.d.ts +5 -5
  357. package/src/lib/side-bar/public-api.d.ts +1 -2
  358. package/src/lib/side-bar/side-bar.component.d.ts +24 -74
  359. package/src/lib/static-value/index.d.ts +5 -5
  360. package/src/lib/static-value/public-api.d.ts +1 -2
  361. package/src/lib/static-value/static-value.component.d.ts +12 -12
  362. package/src/lib/table-actions/index.d.ts +5 -5
  363. package/src/lib/table-actions/public-api.d.ts +1 -2
  364. package/src/lib/table-actions/table-actions.component.d.ts +16 -16
  365. package/src/lib/timeline/components/timeline.component.d.ts +206 -198
  366. package/src/lib/timeline/index.d.ts +5 -5
  367. package/src/lib/timeline/models/timeline.model.d.ts +38 -38
  368. package/src/lib/timeline/public-api.d.ts +1 -2
  369. package/src/lib/timeline/services/timeline.service.d.ts +24 -21
  370. package/src/lib/timeline/types/timeline.types.d.ts +2 -2
  371. package/src/lib/timer/index.d.ts +5 -5
  372. package/src/lib/timer/public-api.d.ts +2 -3
  373. package/src/lib/timer/services/index.d.ts +1 -1
  374. package/src/lib/timer/services/timer.service.d.ts +78 -78
  375. package/src/lib/timer/utils/index.d.ts +1 -1
  376. package/src/lib/timer/utils/timer.utils.d.ts +61 -61
  377. package/src/lib/tooltip/components/tooltip.component.d.ts +18 -18
  378. package/src/lib/tooltip/index.d.ts +5 -5
  379. package/src/lib/tooltip/public-api.d.ts +1 -2
  380. package/src/lib/tooltip/tooltip.directive.d.ts +36 -36
  381. package/src/lib/tooltip/tooltip.types.d.ts +2 -2
  382. package/src/lib/tooltip/utils/index.d.ts +1 -1
  383. package/src/lib/tooltip/utils/tooltip.utils.d.ts +5 -5
  384. package/src/lib/utils/date-time/date-time-format.function.d.ts +2 -0
  385. package/src/lib/utils/date-time/index.d.ts +5 -0
  386. package/src/lib/utils/date-time/intl-date-time-format-options-presets.d.ts +4 -0
  387. package/src/lib/utils/date-time/public-api.d.ts +2 -0
  388. package/src/lib/utils/index.d.ts +5 -0
  389. package/src/lib/utils/public-api.d.ts +1 -0
  390. package/esm2020/public-api.mjs +0 -34
  391. package/esm2020/src/lib/app-switcher/app-switcher.component.mjs +0 -107
  392. package/esm2020/src/lib/app-switcher/app-switcher.module.mjs +0 -36
  393. package/esm2020/src/lib/app-switcher/public-api.mjs +0 -4
  394. package/esm2020/src/lib/avatar/avatar-group.component.mjs +0 -80
  395. package/esm2020/src/lib/avatar/avatar.component.mjs +0 -162
  396. package/esm2020/src/lib/avatar/avatar.module.mjs +0 -41
  397. package/esm2020/src/lib/avatar/public-api.mjs +0 -5
  398. package/esm2020/src/lib/badge/badge.directive.mjs +0 -89
  399. package/esm2020/src/lib/badge/badge.module.mjs +0 -27
  400. package/esm2020/src/lib/badge/components/badge.component.mjs +0 -59
  401. package/esm2020/src/lib/callout/callout.component.mjs +0 -20
  402. package/esm2020/src/lib/callout/callout.module.mjs +0 -25
  403. package/esm2020/src/lib/color-picker/color-picker.component.mjs +0 -76
  404. package/esm2020/src/lib/color-picker/color-picker.module.mjs +0 -33
  405. package/esm2020/src/lib/date-picker/date-picker.component.mjs +0 -841
  406. package/esm2020/src/lib/date-picker/date-picker.model.mjs +0 -71
  407. package/esm2020/src/lib/date-picker/date-picker.module.mjs +0 -68
  408. package/esm2020/src/lib/date-picker/public-api.mjs +0 -4
  409. package/esm2020/src/lib/date-picker/sds-date-picker.service.mjs +0 -90
  410. package/esm2020/src/lib/date-pipes/date-compare.pipe.mjs +0 -31
  411. package/esm2020/src/lib/date-pipes/date-format.pipe.mjs +0 -73
  412. package/esm2020/src/lib/date-pipes/date-period-format.pipe.mjs +0 -44
  413. package/esm2020/src/lib/date-pipes/date-pipes.module.mjs +0 -43
  414. package/esm2020/src/lib/date-pipes/date-time-range-duration.pipe.mjs +0 -31
  415. package/esm2020/src/lib/date-pipes/date-time-range-format.pipe.mjs +0 -48
  416. package/esm2020/src/lib/drawer/drawer.component.mjs +0 -103
  417. package/esm2020/src/lib/drawer/drawer.module.mjs +0 -18
  418. package/esm2020/src/lib/duration-box/duration-box.component.mjs +0 -261
  419. package/esm2020/src/lib/duration-box/duration-box.module.mjs +0 -44
  420. package/esm2020/src/lib/duration-box/duration.service.mjs +0 -72
  421. package/esm2020/src/lib/duration-pipe/duration-format.pipe.mjs +0 -26
  422. package/esm2020/src/lib/duration-pipe/duration-pipe.module.mjs +0 -18
  423. package/esm2020/src/lib/ellipsis/directives/ellipsis.directive.mjs +0 -51
  424. package/esm2020/src/lib/ellipsis/ellipsis.module.mjs +0 -24
  425. package/esm2020/src/lib/expansion-panel/expansion-panel.component.mjs +0 -86
  426. package/esm2020/src/lib/expansion-panel/expansion-panel.module.mjs +0 -25
  427. package/esm2020/src/lib/highlight-text/directives/highlight-text.directive.mjs +0 -60
  428. package/esm2020/src/lib/highlight-text/highlight-text.module.mjs +0 -29
  429. package/esm2020/src/lib/highlight-text/pipes/highlight-text.pipe.mjs +0 -29
  430. package/esm2020/src/lib/highlight-text/public-api.mjs +0 -4
  431. package/esm2020/src/lib/highlight-text/utils/highlight-text.utils.mjs +0 -97
  432. package/esm2020/src/lib/intersection/directives/intersection.directive.mjs +0 -51
  433. package/esm2020/src/lib/intersection/intersection.module.mjs +0 -20
  434. package/esm2020/src/lib/intersection/public-api.mjs +0 -4
  435. package/esm2020/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.mjs +0 -56
  436. package/esm2020/src/lib/keyboard-shortcut/keyboard-shortcut.module.mjs +0 -24
  437. package/esm2020/src/lib/layout/default-layout/default-layout.component.mjs +0 -15
  438. package/esm2020/src/lib/layout/extra-large-layout/extra-large-layout.component.mjs +0 -15
  439. package/esm2020/src/lib/layout/fluid-layout/fluid-layout.component.mjs +0 -15
  440. package/esm2020/src/lib/layout/layout.module.mjs +0 -47
  441. package/esm2020/src/lib/layout/medium-layout/medium-layout.component.mjs +0 -15
  442. package/esm2020/src/lib/layout/public-api.mjs +0 -7
  443. package/esm2020/src/lib/layout/small-layout/small-layout.component.mjs +0 -15
  444. package/esm2020/src/lib/message/message.component.mjs +0 -60
  445. package/esm2020/src/lib/message/message.module.mjs +0 -28
  446. package/esm2020/src/lib/modal/dialog/dialog.component.mjs +0 -187
  447. package/esm2020/src/lib/modal/modal.component.mjs +0 -147
  448. package/esm2020/src/lib/modal/modal.module.mjs +0 -43
  449. package/esm2020/src/lib/navigation/navigation-container/navigation-container.component.mjs +0 -17
  450. package/esm2020/src/lib/navigation/navigation-external-link/navigation-external-link.component.mjs +0 -37
  451. package/esm2020/src/lib/navigation/navigation-group/navigation-group.component.mjs +0 -109
  452. package/esm2020/src/lib/navigation/navigation-header/navigation-header.component.mjs +0 -17
  453. package/esm2020/src/lib/navigation/navigation-route-link/navigation-route-link.component.mjs +0 -33
  454. package/esm2020/src/lib/navigation/navigation-separator/navigation-separator.component.mjs +0 -14
  455. package/esm2020/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.mjs +0 -26
  456. package/esm2020/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.mjs +0 -40
  457. package/esm2020/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.mjs +0 -23
  458. package/esm2020/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.mjs +0 -99
  459. package/esm2020/src/lib/navigation/navigation.module.mjs +0 -107
  460. package/esm2020/src/lib/navigation/pipes/navigation-route-active.pipe.mjs +0 -30
  461. package/esm2020/src/lib/navigation/product-home/product-home.component.mjs +0 -54
  462. package/esm2020/src/lib/navigation/public-api.mjs +0 -13
  463. package/esm2020/src/lib/navigation/utils/navigation.utils.mjs +0 -48
  464. package/esm2020/src/lib/number-box/number-box.component.mjs +0 -138
  465. package/esm2020/src/lib/number-box/number-box.module.mjs +0 -28
  466. package/esm2020/src/lib/page-header/page-header.component.mjs +0 -25
  467. package/esm2020/src/lib/page-header/page-header.module.mjs +0 -19
  468. package/esm2020/src/lib/pane/pane.component.mjs +0 -43
  469. package/esm2020/src/lib/pane/pane.module.mjs +0 -28
  470. package/esm2020/src/lib/quick-info/quick-info.component.mjs +0 -116
  471. package/esm2020/src/lib/quick-info/quick-info.module.mjs +0 -33
  472. package/esm2020/src/lib/segmented-control/segmented-control.component.mjs +0 -55
  473. package/esm2020/src/lib/segmented-control/segmented-control.module.mjs +0 -29
  474. package/esm2020/src/lib/side-bar/side-bar.component.mjs +0 -109
  475. package/esm2020/src/lib/side-bar/side-bar.module.mjs +0 -28
  476. package/esm2020/src/lib/static-value/static-value.component.mjs +0 -25
  477. package/esm2020/src/lib/static-value/static-value.module.mjs +0 -28
  478. package/esm2020/src/lib/table-actions/table-actions.component.mjs +0 -42
  479. package/esm2020/src/lib/table-actions/table-actions.module.mjs +0 -32
  480. package/esm2020/src/lib/timeline/components/timeline.component.mjs +0 -364
  481. package/esm2020/src/lib/timeline/services/timeline.service.mjs +0 -120
  482. package/esm2020/src/lib/timeline/timeline.module.mjs +0 -24
  483. package/esm2020/src/lib/timer/services/timer.service.mjs +0 -99
  484. package/esm2020/src/lib/timer/timer.module.mjs +0 -34
  485. package/esm2020/src/lib/tooltip/components/tooltip.component.mjs +0 -22
  486. package/esm2020/src/lib/tooltip/tooltip.directive.mjs +0 -191
  487. package/esm2020/src/lib/tooltip/tooltip.module.mjs +0 -31
  488. package/fesm2015/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +0 -150
  489. package/fesm2015/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +0 -1
  490. package/fesm2015/spicainternational-ngx-sds-components-src-lib-avatar.mjs +0 -284
  491. package/fesm2015/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +0 -1
  492. package/fesm2015/spicainternational-ngx-sds-components-src-lib-badge.mjs +0 -175
  493. package/fesm2015/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +0 -1
  494. package/fesm2015/spicainternational-ngx-sds-components-src-lib-callout.mjs +0 -49
  495. package/fesm2015/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +0 -1
  496. package/fesm2015/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +0 -113
  497. package/fesm2015/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +0 -1
  498. package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +0 -1071
  499. package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +0 -1
  500. package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +0 -411
  501. package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +0 -1
  502. package/fesm2015/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +0 -1
  503. package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +0 -379
  504. package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +0 -1
  505. package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +0 -48
  506. package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +0 -1
  507. package/fesm2015/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +0 -80
  508. package/fesm2015/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +0 -1
  509. package/fesm2015/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +0 -115
  510. package/fesm2015/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +0 -1
  511. package/fesm2015/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs +0 -215
  512. package/fesm2015/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +0 -1
  513. package/fesm2015/spicainternational-ngx-sds-components-src-lib-intersection.mjs +0 -127
  514. package/fesm2015/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +0 -1
  515. package/fesm2015/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +0 -85
  516. package/fesm2015/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +0 -1
  517. package/fesm2015/spicainternational-ngx-sds-components-src-lib-layout.mjs +0 -110
  518. package/fesm2015/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +0 -1
  519. package/fesm2015/spicainternational-ngx-sds-components-src-lib-message.mjs +0 -92
  520. package/fesm2015/spicainternational-ngx-sds-components-src-lib-message.mjs.map +0 -1
  521. package/fesm2015/spicainternational-ngx-sds-components-src-lib-modal.mjs +0 -378
  522. package/fesm2015/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +0 -1
  523. package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs +0 -604
  524. package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +0 -1
  525. package/fesm2015/spicainternational-ngx-sds-components-src-lib-number-box.mjs +0 -170
  526. package/fesm2015/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +0 -1
  527. package/fesm2015/spicainternational-ngx-sds-components-src-lib-page-header.mjs +0 -48
  528. package/fesm2015/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +0 -1
  529. package/fesm2015/spicainternational-ngx-sds-components-src-lib-pane.mjs +0 -75
  530. package/fesm2015/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +0 -1
  531. package/fesm2015/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +0 -155
  532. package/fesm2015/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +0 -1
  533. package/fesm2015/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +0 -88
  534. package/fesm2015/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +0 -1
  535. package/fesm2015/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +0 -141
  536. package/fesm2015/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +0 -1
  537. package/fesm2015/spicainternational-ngx-sds-components-src-lib-static-value.mjs +0 -57
  538. package/fesm2015/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +0 -1
  539. package/fesm2015/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +0 -78
  540. package/fesm2015/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +0 -1
  541. package/fesm2015/spicainternational-ngx-sds-components-src-lib-timeline.mjs +0 -515
  542. package/fesm2015/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +0 -1
  543. package/fesm2015/spicainternational-ngx-sds-components-src-lib-timer.mjs +0 -235
  544. package/fesm2015/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +0 -1
  545. package/fesm2015/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +0 -260
  546. package/fesm2015/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +0 -1
  547. package/fesm2020/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +0 -146
  548. package/fesm2020/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +0 -1
  549. package/fesm2020/spicainternational-ngx-sds-components-src-lib-avatar.mjs +0 -282
  550. package/fesm2020/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +0 -1
  551. package/fesm2020/spicainternational-ngx-sds-components-src-lib-badge.mjs +0 -175
  552. package/fesm2020/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +0 -1
  553. package/fesm2020/spicainternational-ngx-sds-components-src-lib-callout.mjs +0 -49
  554. package/fesm2020/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +0 -1
  555. package/fesm2020/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +0 -113
  556. package/fesm2020/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +0 -1
  557. package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +0 -1064
  558. package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +0 -1
  559. package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +0 -1
  560. package/fesm2020/spicainternational-ngx-sds-components-src-lib-drawer.mjs +0 -125
  561. package/fesm2020/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +0 -1
  562. package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +0 -377
  563. package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +0 -1
  564. package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +0 -48
  565. package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +0 -1
  566. package/fesm2020/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +0 -79
  567. package/fesm2020/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +0 -1
  568. package/fesm2020/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +0 -115
  569. package/fesm2020/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +0 -1
  570. package/fesm2020/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +0 -1
  571. package/fesm2020/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +0 -1
  572. package/fesm2020/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +0 -83
  573. package/fesm2020/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +0 -1
  574. package/fesm2020/spicainternational-ngx-sds-components-src-lib-layout.mjs +0 -110
  575. package/fesm2020/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +0 -1
  576. package/fesm2020/spicainternational-ngx-sds-components-src-lib-message.mjs +0 -92
  577. package/fesm2020/spicainternational-ngx-sds-components-src-lib-message.mjs.map +0 -1
  578. package/fesm2020/spicainternational-ngx-sds-components-src-lib-modal.mjs +0 -376
  579. package/fesm2020/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +0 -1
  580. package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs +0 -604
  581. package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +0 -1
  582. package/fesm2020/spicainternational-ngx-sds-components-src-lib-number-box.mjs +0 -170
  583. package/fesm2020/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +0 -1
  584. package/fesm2020/spicainternational-ngx-sds-components-src-lib-page-header.mjs +0 -48
  585. package/fesm2020/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +0 -1
  586. package/fesm2020/spicainternational-ngx-sds-components-src-lib-pane.mjs +0 -75
  587. package/fesm2020/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +0 -1
  588. package/fesm2020/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +0 -153
  589. package/fesm2020/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +0 -1
  590. package/fesm2020/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +0 -88
  591. package/fesm2020/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +0 -1
  592. package/fesm2020/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +0 -141
  593. package/fesm2020/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +0 -1
  594. package/fesm2020/spicainternational-ngx-sds-components-src-lib-static-value.mjs +0 -57
  595. package/fesm2020/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +0 -1
  596. package/fesm2020/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +0 -78
  597. package/fesm2020/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +0 -1
  598. package/fesm2020/spicainternational-ngx-sds-components-src-lib-timeline.mjs +0 -511
  599. package/fesm2020/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +0 -1
  600. package/fesm2020/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +0 -1
  601. package/fesm2020/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +0 -1
  602. package/fesm2020/spicainternational-ngx-sds-components.mjs +0 -39
  603. package/fesm2020/spicainternational-ngx-sds-components.mjs.map +0 -1
  604. package/src/lib/app-switcher/app-switcher.module.d.ts +0 -11
  605. package/src/lib/avatar/avatar.module.d.ts +0 -11
  606. package/src/lib/badge/badge.module.d.ts +0 -9
  607. package/src/lib/callout/callout.module.d.ts +0 -8
  608. package/src/lib/color-picker/color-picker.module.d.ts +0 -10
  609. package/src/lib/date-picker/date-picker.module.d.ts +0 -12
  610. package/src/lib/date-pipes/date-pipes.module.d.ts +0 -12
  611. package/src/lib/drawer/drawer.module.d.ts +0 -8
  612. package/src/lib/duration-box/duration-box.module.d.ts +0 -10
  613. package/src/lib/duration-pipe/duration-pipe.module.d.ts +0 -8
  614. package/src/lib/ellipsis/ellipsis.module.d.ts +0 -8
  615. package/src/lib/expansion-panel/expansion-panel.module.d.ts +0 -15
  616. package/src/lib/highlight-text/highlight-text.module.d.ts +0 -9
  617. package/src/lib/intersection/intersection.module.d.ts +0 -8
  618. package/src/lib/keyboard-shortcut/keyboard-shortcut.module.d.ts +0 -8
  619. package/src/lib/layout/layout.module.d.ts +0 -13
  620. package/src/lib/message/message.module.d.ts +0 -9
  621. package/src/lib/modal/modal.module.d.ts +0 -12
  622. package/src/lib/navigation/navigation.module.d.ts +0 -28
  623. package/src/lib/navigation/pipes/navigation-route-active.pipe.d.ts +0 -7
  624. package/src/lib/number-box/number-box.module.d.ts +0 -9
  625. package/src/lib/page-header/page-header.module.d.ts +0 -8
  626. package/src/lib/pane/pane.module.d.ts +0 -9
  627. package/src/lib/quick-info/quick-info.module.d.ts +0 -10
  628. package/src/lib/segmented-control/segmented-control.module.d.ts +0 -9
  629. package/src/lib/side-bar/side-bar.module.d.ts +0 -9
  630. package/src/lib/static-value/static-value.module.d.ts +0 -9
  631. package/src/lib/table-actions/table-actions.module.d.ts +0 -10
  632. package/src/lib/timeline/timeline.module.d.ts +0 -8
  633. package/src/lib/timer/timer.module.d.ts +0 -10
  634. package/src/lib/tooltip/tooltip.module.d.ts +0 -10
@@ -0,0 +1,93 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Input, Output, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { faChevronDown } from '@fortawesome/pro-regular-svg-icons';
4
+ import { FaIconComponent } from '@fortawesome/angular-fontawesome';
5
+ import { NgIf } from '@angular/common';
6
+
7
+ class SdsExpansionPanelComponent {
8
+ constructor() {
9
+ this.animateCaret = true;
10
+ this.animatePanel = true;
11
+ /**
12
+ * toggles greyish background
13
+ *
14
+ * @memberof SdsExpansionPanelComponent
15
+ */
16
+ this.showBackground = true;
17
+ /**
18
+ * Background color of the panel. Gray-100 by default
19
+ *
20
+ * @memberof SdsExpansionPanelComponent
21
+ */
22
+ this.backgroundColor = 'var(--bs-gray-100)';
23
+ /**
24
+ * position caret next to header of on the far end of the component
25
+ *
26
+ * @type {('nextToHeader' | 'farEnd')}
27
+ * @memberof SdsExpansionPanelComponent
28
+ */
29
+ this.caretPlacement = 'nextToHeader';
30
+ this.isOpen = false;
31
+ this.isOpenChange = new EventEmitter();
32
+ this.headerSize = 'default';
33
+ this.caretIcon = faChevronDown;
34
+ }
35
+ onToggleIsOpenClick(event) {
36
+ this.isOpen = !this.isOpen;
37
+ this.isOpenChange.emit(this.isOpen);
38
+ event.stopImmediatePropagation();
39
+ }
40
+ openPanel() {
41
+ if (!this.isOpen) {
42
+ this.isOpen = true;
43
+ this.isOpenChange.emit(this.isOpen);
44
+ }
45
+ }
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsExpansionPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SdsExpansionPanelComponent, isStandalone: true, selector: "sds-expansion-panel", inputs: { headerIcon: "headerIcon", headerText: "headerText", headerSideText: "headerSideText", hideHeader: "hideHeader", headerId: "headerId", animateCaret: "animateCaret", animatePanel: "animatePanel", hoverColor: "hoverColor", showBackground: "showBackground", backgroundColor: "backgroundColor", caretPlacement: "caretPlacement", descriptionText: "descriptionText", isOpen: "isOpen", expandPanelText: "expandPanelText", collapsePanelText: "collapsePanelText", headerSize: "headerSize" }, outputs: { isOpenChange: "isOpenChange" }, ngImport: i0, template: "\r\n<!-- [style.background-color]=\"showBackground ? backgroundColor : null\" -->\r\n<div\r\n class=\"rounded expansion-panel\"\r\n [class.background]=\"showBackground\"\r\n [class.closed]=\"!isOpen\"\r\n [class.show-hover]=\"!isOpen && hoverColor\"\r\n [style.--sds-expansion-panel-bg-color]=\"showBackground ? backgroundColor : 'transparent'\"\r\n [style.--sds-expansion-panel-hover-bg-color]=\"hoverColor ? hoverColor : 'transparent'\"\r\n (click)=\"openPanel()\"\r\n>\r\n <ng-container *ngIf=\"!hideHeader\">\r\n <div\r\n class=\"expansion-panel-header sds-flex-row-center\"\r\n (click)=\"onToggleIsOpenClick($event)\"\r\n >\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-link\"\r\n [id]=\"headerId\"\r\n [class.me-auto]=\"caretPlacement === 'farEnd'\"\r\n [class.me-2]=\"caretPlacement === 'nextToHeader'\"\r\n >\r\n <fa-icon class=\"me-1\" *ngIf=\"headerIcon\" [icon]=\"headerIcon\" [fixedWidth]=\"true\" [size]=\"headerSize == 'small' ? 'sm' : 'lg'\"></fa-icon>\r\n\r\n <span \r\n class=\"header-text\"\r\n [class.sds-fs-93]=\"headerSize == 'small'\"\r\n >\r\n {{ headerText }}\r\n </span>\r\n <small \r\n *ngIf=\"headerSideText\"\r\n class=\"header-side-text text-muted\"\r\n [class.sds-fs-90]=\"headerSize == 'small'\"\r\n >\r\n {{ headerSideText }}\r\n </small>\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-sm btn-link caret px-1\"\r\n [class.rotate]=\"animateCaret\"\r\n [title]=\"isOpen ? collapsePanelText ?? '' : expandPanelText ?? ''\"\r\n >\r\n <fa-icon [icon]=\"caretIcon\" [size]=\"headerSize == 'small' ? 'sm' : 'lg'\"></fa-icon>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <div \r\n *ngIf=\"!isOpen\"\r\n >\r\n {{ descriptionText }}\r\n <ng-content select=\"[contentOnClosed]\"></ng-content>\r\n </div>\r\n\r\n <div \r\n class=\"panel-contents\" \r\n [class.open]=\"isOpen\"\r\n [class.animate]=\"animatePanel\"\r\n >\r\n <div \r\n *ngIf=\"isOpen\"\r\n class=\"mt-2\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".expansion-panel{background-color:var(--sds-expansion-panel-bg-color)}.expansion-panel .panel-contents{display:grid;grid-template-rows:0fr}.expansion-panel .panel-contents.animate{transition:grid-template-rows .2s ease-out}.expansion-panel .panel-contents>div{overflow:hidden;min-height:0}.expansion-panel .panel-contents.open{grid-template-rows:1fr}.expansion-panel .caret{line-height:1rem;height:fit-content;transform:rotate(-180deg)}.expansion-panel .caret.rotate{transition:transform .2s ease-out}.expansion-panel.closed{cursor:pointer}.expansion-panel.closed .caret{transform:rotate(0)}.expansion-panel.closed.show-hover:hover{background-color:var(--sds-expansion-panel-hover-bg-color)}.expansion-panel.background{padding:1.125rem 1.5rem}.expansion-panel .expansion-panel-header{cursor:pointer;-webkit-user-select:none;user-select:none}.expansion-panel .expansion-panel-header .header-text{font-size:1.06rem;font-weight:600}.expansion-panel .expansion-panel-header .header-side-text{font-size:1.06rem;font-weight:500}.expansion-panel .expansion-panel-header button{text-decoration:none;padding:0;color:var(--bs-gray-900)}.expansion-panel .expansion-panel-header button:focus{box-shadow:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsExpansionPanelComponent, decorators: [{
50
+ type: Component,
51
+ args: [{ selector: 'sds-expansion-panel', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, FaIconComponent], template: "\r\n<!-- [style.background-color]=\"showBackground ? backgroundColor : null\" -->\r\n<div\r\n class=\"rounded expansion-panel\"\r\n [class.background]=\"showBackground\"\r\n [class.closed]=\"!isOpen\"\r\n [class.show-hover]=\"!isOpen && hoverColor\"\r\n [style.--sds-expansion-panel-bg-color]=\"showBackground ? backgroundColor : 'transparent'\"\r\n [style.--sds-expansion-panel-hover-bg-color]=\"hoverColor ? hoverColor : 'transparent'\"\r\n (click)=\"openPanel()\"\r\n>\r\n <ng-container *ngIf=\"!hideHeader\">\r\n <div\r\n class=\"expansion-panel-header sds-flex-row-center\"\r\n (click)=\"onToggleIsOpenClick($event)\"\r\n >\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-link\"\r\n [id]=\"headerId\"\r\n [class.me-auto]=\"caretPlacement === 'farEnd'\"\r\n [class.me-2]=\"caretPlacement === 'nextToHeader'\"\r\n >\r\n <fa-icon class=\"me-1\" *ngIf=\"headerIcon\" [icon]=\"headerIcon\" [fixedWidth]=\"true\" [size]=\"headerSize == 'small' ? 'sm' : 'lg'\"></fa-icon>\r\n\r\n <span \r\n class=\"header-text\"\r\n [class.sds-fs-93]=\"headerSize == 'small'\"\r\n >\r\n {{ headerText }}\r\n </span>\r\n <small \r\n *ngIf=\"headerSideText\"\r\n class=\"header-side-text text-muted\"\r\n [class.sds-fs-90]=\"headerSize == 'small'\"\r\n >\r\n {{ headerSideText }}\r\n </small>\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-sm btn-link caret px-1\"\r\n [class.rotate]=\"animateCaret\"\r\n [title]=\"isOpen ? collapsePanelText ?? '' : expandPanelText ?? ''\"\r\n >\r\n <fa-icon [icon]=\"caretIcon\" [size]=\"headerSize == 'small' ? 'sm' : 'lg'\"></fa-icon>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <div \r\n *ngIf=\"!isOpen\"\r\n >\r\n {{ descriptionText }}\r\n <ng-content select=\"[contentOnClosed]\"></ng-content>\r\n </div>\r\n\r\n <div \r\n class=\"panel-contents\" \r\n [class.open]=\"isOpen\"\r\n [class.animate]=\"animatePanel\"\r\n >\r\n <div \r\n *ngIf=\"isOpen\"\r\n class=\"mt-2\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".expansion-panel{background-color:var(--sds-expansion-panel-bg-color)}.expansion-panel .panel-contents{display:grid;grid-template-rows:0fr}.expansion-panel .panel-contents.animate{transition:grid-template-rows .2s ease-out}.expansion-panel .panel-contents>div{overflow:hidden;min-height:0}.expansion-panel .panel-contents.open{grid-template-rows:1fr}.expansion-panel .caret{line-height:1rem;height:fit-content;transform:rotate(-180deg)}.expansion-panel .caret.rotate{transition:transform .2s ease-out}.expansion-panel.closed{cursor:pointer}.expansion-panel.closed .caret{transform:rotate(0)}.expansion-panel.closed.show-hover:hover{background-color:var(--sds-expansion-panel-hover-bg-color)}.expansion-panel.background{padding:1.125rem 1.5rem}.expansion-panel .expansion-panel-header{cursor:pointer;-webkit-user-select:none;user-select:none}.expansion-panel .expansion-panel-header .header-text{font-size:1.06rem;font-weight:600}.expansion-panel .expansion-panel-header .header-side-text{font-size:1.06rem;font-weight:500}.expansion-panel .expansion-panel-header button{text-decoration:none;padding:0;color:var(--bs-gray-900)}.expansion-panel .expansion-panel-header button:focus{box-shadow:none}\n"] }]
52
+ }], propDecorators: { headerIcon: [{
53
+ type: Input
54
+ }], headerText: [{
55
+ type: Input
56
+ }], headerSideText: [{
57
+ type: Input
58
+ }], hideHeader: [{
59
+ type: Input
60
+ }], headerId: [{
61
+ type: Input
62
+ }], animateCaret: [{
63
+ type: Input
64
+ }], animatePanel: [{
65
+ type: Input
66
+ }], hoverColor: [{
67
+ type: Input
68
+ }], showBackground: [{
69
+ type: Input
70
+ }], backgroundColor: [{
71
+ type: Input
72
+ }], caretPlacement: [{
73
+ type: Input
74
+ }], descriptionText: [{
75
+ type: Input
76
+ }], isOpen: [{
77
+ type: Input
78
+ }], isOpenChange: [{
79
+ type: Output
80
+ }], expandPanelText: [{
81
+ type: Input
82
+ }], collapsePanelText: [{
83
+ type: Input
84
+ }], headerSize: [{
85
+ type: Input
86
+ }] } });
87
+
88
+ /**
89
+ * Generated bundle index. Do not edit.
90
+ */
91
+
92
+ export { SdsExpansionPanelComponent };
93
+ //# sourceMappingURL=spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs","sources":["../../../projects/ngx-sds-components/src/lib/expansion-panel/expansion-panel.component.ts","../../../projects/ngx-sds-components/src/lib/expansion-panel/expansion-panel.component.html","../../../projects/ngx-sds-components/src/lib/expansion-panel/spicainternational-ngx-sds-components-src-lib-expansion-panel.ts"],"sourcesContent":["import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { faChevronDown } from '@fortawesome/pro-regular-svg-icons';\r\nimport { CaretPlacement, HeaderSize } from './expansion-panel.types';\r\nimport { IconDefinition } from '@fortawesome/fontawesome-svg-core';\r\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\r\nimport { NgIf } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'sds-expansion-panel',\r\n templateUrl: './expansion-panel.component.html',\r\n styleUrls: ['./expansion-panel.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [NgIf, FaIconComponent],\r\n})\r\nexport class SdsExpansionPanelComponent {\r\n @Input() headerIcon?: IconDefinition;\r\n @Input() headerText?: string;\r\n @Input() headerSideText?: string;\r\n @Input() hideHeader?: boolean;\r\n @Input() headerId?: string;\r\n\r\n @Input() animateCaret = true;\r\n @Input() animatePanel = true;\r\n\r\n @Input() hoverColor?: string;\r\n\r\n\r\n /**\r\n * toggles greyish background\r\n *\r\n * @memberof SdsExpansionPanelComponent\r\n */\r\n @Input() showBackground = true;\r\n\r\n /**\r\n * Background color of the panel. Gray-100 by default\r\n *\r\n * @memberof SdsExpansionPanelComponent\r\n */\r\n @Input() backgroundColor = 'var(--bs-gray-100)';\r\n\r\n /**\r\n * position caret next to header of on the far end of the component\r\n *\r\n * @type {('nextToHeader' | 'farEnd')}\r\n * @memberof SdsExpansionPanelComponent\r\n */\r\n @Input() caretPlacement: CaretPlacement = 'nextToHeader';\r\n\r\n /**\r\n * 'descriptionText' - text displayed when component is \"closed\".\r\n *\r\n * Note: Use ng-content 'contentOnClosed' if more complex use-case is needed\r\n *\r\n * @type {string}\r\n * @memberof ExpansionPanelComponent\r\n */\r\n @Input() descriptionText?: string;\r\n\r\n @Input() isOpen: boolean = false;\r\n @Output() isOpenChange: EventEmitter<boolean> = new EventEmitter();\r\n\r\n @Input() expandPanelText?: string;\r\n @Input() collapsePanelText?: string;\r\n\r\n @Input() headerSize: HeaderSize = 'default';\r\n\r\n public caretIcon: IconDefinition = faChevronDown;\r\n \r\n\r\n public onToggleIsOpenClick(event: MouseEvent): void {\r\n this.isOpen = !this.isOpen;\r\n this.isOpenChange.emit(this.isOpen);\r\n event.stopImmediatePropagation();\r\n }\r\n\r\n public openPanel() {\r\n if (!this.isOpen) {\r\n this.isOpen = true;\r\n this.isOpenChange.emit(this.isOpen);\r\n }\r\n }\r\n}\r\n","\r\n<!-- [style.background-color]=\"showBackground ? backgroundColor : null\" -->\r\n<div\r\n class=\"rounded expansion-panel\"\r\n [class.background]=\"showBackground\"\r\n [class.closed]=\"!isOpen\"\r\n [class.show-hover]=\"!isOpen && hoverColor\"\r\n [style.--sds-expansion-panel-bg-color]=\"showBackground ? backgroundColor : 'transparent'\"\r\n [style.--sds-expansion-panel-hover-bg-color]=\"hoverColor ? hoverColor : 'transparent'\"\r\n (click)=\"openPanel()\"\r\n>\r\n <ng-container *ngIf=\"!hideHeader\">\r\n <div\r\n class=\"expansion-panel-header sds-flex-row-center\"\r\n (click)=\"onToggleIsOpenClick($event)\"\r\n >\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-link\"\r\n [id]=\"headerId\"\r\n [class.me-auto]=\"caretPlacement === 'farEnd'\"\r\n [class.me-2]=\"caretPlacement === 'nextToHeader'\"\r\n >\r\n <fa-icon class=\"me-1\" *ngIf=\"headerIcon\" [icon]=\"headerIcon\" [fixedWidth]=\"true\" [size]=\"headerSize == 'small' ? 'sm' : 'lg'\"></fa-icon>\r\n\r\n <span \r\n class=\"header-text\"\r\n [class.sds-fs-93]=\"headerSize == 'small'\"\r\n >\r\n {{ headerText }}\r\n </span>\r\n <small \r\n *ngIf=\"headerSideText\"\r\n class=\"header-side-text text-muted\"\r\n [class.sds-fs-90]=\"headerSize == 'small'\"\r\n >\r\n {{ headerSideText }}\r\n </small>\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-sm btn-link caret px-1\"\r\n [class.rotate]=\"animateCaret\"\r\n [title]=\"isOpen ? collapsePanelText ?? '' : expandPanelText ?? ''\"\r\n >\r\n <fa-icon [icon]=\"caretIcon\" [size]=\"headerSize == 'small' ? 'sm' : 'lg'\"></fa-icon>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <div \r\n *ngIf=\"!isOpen\"\r\n >\r\n {{ descriptionText }}\r\n <ng-content select=\"[contentOnClosed]\"></ng-content>\r\n </div>\r\n\r\n <div \r\n class=\"panel-contents\" \r\n [class.open]=\"isOpen\"\r\n [class.animate]=\"animatePanel\"\r\n >\r\n <div \r\n *ngIf=\"isOpen\"\r\n class=\"mt-2\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,212 +1,189 @@
1
1
  import * as i0 from '@angular/core';
2
- import { SecurityContext, Directive, Input, HostBinding, Pipe, NgModule } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
2
+ import { SecurityContext, HostBinding, Input, Directive, Pipe } from '@angular/core';
4
3
  import * as i1 from '@angular/platform-browser';
5
4
 
6
- /**
7
- * @public @function escapeRegex
8
- * @description
9
- * Function responsible for substitution of chars that are a no-go for regex
10
- * @param { string } phrase
11
- * @returns { string }
12
- */
13
- const escapeRegex = (phrase) => {
14
- return phrase.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
15
- };
16
- /**
17
- * @public @function highlightSearchedText
18
- * @description
19
- * Function responsible for returning html string
20
- * with included marker that contains string that matches
21
- * provided search phrase
22
- * @param { string } highlightText
23
- * @param { string } stringToBeChecked
24
- * @param { string } existingHtmlContent
25
- * @param { string } additionalClasses
26
- * @param { string } sanitizer
27
- * @returns { string }
28
- */
29
- const highlightSearchedText = (highlightText, stringToBeChecked, existingHtmlContent, sanitizer, additionalClasses) => {
30
- // If search is empty just return current content
31
- if (highlightText === '') {
32
- return stringToBeChecked;
33
- }
34
- // Split search string into words
35
- const splittedValue = highlightText.split(' ');
36
- if (!splittedValue || splittedValue.length === 0) {
37
- return stringToBeChecked;
38
- }
39
- const splittedStringToBeChecked = stringToBeChecked
40
- ? stringToBeChecked.split(' ')
41
- : [];
42
- const searchPhrases = splittedValue.filter(phrase => phrase.length > 0);
43
- const markedWords = [];
44
- // Go through search phrases and validate each string
45
- const newContent = splittedStringToBeChecked
46
- .map((wordToBeChecked) => {
47
- const searchMarkRawResult = searchPhrases
48
- .map(phrase => {
49
- const safeString = escapeRegex(phrase);
50
- const searchRegEx = new RegExp(safeString, 'i');
51
- const testResult = searchRegEx.test(wordToBeChecked);
52
- if (!testResult) {
53
- return wordToBeChecked;
54
- }
55
- // Prevent text duplication when user enters same word multiple times
56
- const wordIsAlreadyMarked = markedWords.some(alreadyMarkedWord => alreadyMarkedWord === wordToBeChecked);
57
- if (wordIsAlreadyMarked) {
58
- return wordToBeChecked;
59
- }
60
- markedWords.push(wordToBeChecked);
61
- // Prepare content to be replaced with mark text
62
- const markedContent = wordToBeChecked.replace(searchRegEx, (match) => {
63
- return `<mark class='bg-primary text-white p-0 ${additionalClasses ?? ''}'>${match}</mark>`;
64
- });
65
- return markedContent;
66
- })
67
- .reduce((accumulator, currentItem) => {
68
- const itemAlreadyExists = accumulator.some(item => item === currentItem);
69
- if (!itemAlreadyExists) {
70
- accumulator.push(currentItem);
71
- }
72
- return accumulator;
73
- }, []);
74
- /**
75
- * At this point we have correctly marker content, however there can be
76
- * duplicate words in the array. E.g. we have text First Client and user
77
- * types Client First. This will give us two array. First one would be:
78
- * ['First', '<mark class='highlighted-text '>First</mark>']
79
- * Second one would be:
80
- * ['<mark class='highlighted-text '>Client</mark>', 'Client']
81
- * We have to filter out those plain values that are marked
82
- */
83
- const sanitizedMarkedContent = searchMarkRawResult.filter(markedContentItem => {
84
- const wordIsAlsoMarked = markedWords.some(word => word === markedContentItem);
85
- if (wordIsAlsoMarked) {
86
- return false;
87
- }
88
- return true;
89
- });
90
- return sanitizedMarkedContent;
91
- })
92
- .join(' ');
93
- /**
94
- * We want to sanitize this before pushing to DOM.
95
- * Just to be on the safe side. Fallback to existing value if
96
- * sanitize returns null
97
- */
98
- const sanitizedContent = sanitizer.sanitize(SecurityContext.HTML, newContent) ?? existingHtmlContent;
99
- return sanitizedContent;
5
+ /**
6
+ * @public @function escapeRegex
7
+ * @description
8
+ * Function responsible for substitution of chars that are a no-go for regex
9
+ * @param { string } phrase
10
+ * @returns { string }
11
+ */
12
+ const escapeRegex = (phrase) => {
13
+ return phrase.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
14
+ };
15
+ /**
16
+ * @public @function highlightSearchedText
17
+ * @description
18
+ * Function responsible for returning html string
19
+ * with included marker that contains string that matches
20
+ * provided search phrase
21
+ * @param { string } highlightText
22
+ * @param { string } stringToBeChecked
23
+ * @param { string } existingHtmlContent
24
+ * @param { string } additionalClasses
25
+ * @param { string } sanitizer
26
+ * @returns { string }
27
+ */
28
+ const highlightSearchedText = (highlightText, stringToBeChecked, existingHtmlContent, sanitizer, additionalClasses) => {
29
+ // If search is empty just return current content
30
+ if (highlightText === '') {
31
+ return stringToBeChecked;
32
+ }
33
+ // Split search string into words
34
+ const splittedValue = highlightText.split(' ');
35
+ if (!splittedValue || splittedValue.length === 0) {
36
+ return stringToBeChecked;
37
+ }
38
+ const splittedStringToBeChecked = stringToBeChecked
39
+ ? stringToBeChecked.split(' ')
40
+ : [];
41
+ const searchPhrases = splittedValue.filter(phrase => phrase.length > 0);
42
+ const markedWords = [];
43
+ // Go through search phrases and validate each string
44
+ const newContent = splittedStringToBeChecked
45
+ .map((wordToBeChecked) => {
46
+ const searchMarkRawResult = searchPhrases
47
+ .map(phrase => {
48
+ const safeString = escapeRegex(phrase);
49
+ const searchRegEx = new RegExp(safeString, 'i');
50
+ const testResult = searchRegEx.test(wordToBeChecked);
51
+ if (!testResult) {
52
+ return wordToBeChecked;
53
+ }
54
+ // Prevent text duplication when user enters same word multiple times
55
+ const wordIsAlreadyMarked = markedWords.some(alreadyMarkedWord => alreadyMarkedWord === wordToBeChecked);
56
+ if (wordIsAlreadyMarked) {
57
+ return wordToBeChecked;
58
+ }
59
+ markedWords.push(wordToBeChecked);
60
+ // Prepare content to be replaced with mark text
61
+ const markedContent = wordToBeChecked.replace(searchRegEx, (match) => {
62
+ return `<mark class='bg-primary text-white p-0 ${additionalClasses ?? ''}'>${match}</mark>`;
63
+ });
64
+ return markedContent;
65
+ })
66
+ .reduce((accumulator, currentItem) => {
67
+ const itemAlreadyExists = accumulator.some(item => item === currentItem);
68
+ if (!itemAlreadyExists) {
69
+ accumulator.push(currentItem);
70
+ }
71
+ return accumulator;
72
+ }, []);
73
+ /**
74
+ * At this point we have correctly marker content, however there can be
75
+ * duplicate words in the array. E.g. we have text First Client and user
76
+ * types Client First. This will give us two array. First one would be:
77
+ * ['First', '<mark class='highlighted-text '>First</mark>']
78
+ * Second one would be:
79
+ * ['<mark class='highlighted-text '>Client</mark>', 'Client']
80
+ * We have to filter out those plain values that are marked
81
+ */
82
+ const sanitizedMarkedContent = searchMarkRawResult.filter(markedContentItem => {
83
+ const wordIsAlsoMarked = markedWords.some(word => word === markedContentItem);
84
+ if (wordIsAlsoMarked) {
85
+ return false;
86
+ }
87
+ return true;
88
+ });
89
+ return sanitizedMarkedContent;
90
+ })
91
+ .join(' ');
92
+ /**
93
+ * We want to sanitize this before pushing to DOM.
94
+ * Just to be on the safe side. Fallback to existing value if
95
+ * sanitize returns null
96
+ */
97
+ const sanitizedContent = sanitizer.sanitize(SecurityContext.HTML, newContent) ?? existingHtmlContent;
98
+ return sanitizedContent;
100
99
  };
101
100
 
102
- class HighlightTextDirective {
103
- get highlightText() {
104
- return this._search;
105
- }
106
- set highlightText(value) {
107
- this._search = value;
108
- // Now process the search value
109
- this.markSearchedText(value);
110
- }
111
- constructor(_elementRef, _sanitizer) {
112
- this._elementRef = _elementRef;
113
- this._sanitizer = _sanitizer;
114
- /**
115
- * INPUTS
116
- */
117
- /**
118
- * CSS classes to be appended to the marked text
119
- */
120
- this.additionalClasses = '';
121
- /**
122
- * Search term that should be found
123
- */
124
- this._search = '';
125
- /**
126
- * For now make this case insensitive. We might change this to
127
- * input latter if needed
128
- */
129
- this.caseSensitive = false;
130
- }
131
- markSearchedText(highlightText) {
132
- // Make sure that native element is present
133
- if (this._elementRef?.nativeElement) {
134
- const currentHtmlContent = this._elementRef.nativeElement
135
- .innerHTML;
136
- const text = this._elementRef.nativeElement.textContent ?? '';
137
- const highlightedText = highlightSearchedText(highlightText, text, currentHtmlContent, this._sanitizer, this.additionalClasses);
138
- this.content = highlightedText;
139
- }
140
- }
141
- }
142
- HighlightTextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HighlightTextDirective, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Directive });
143
- HighlightTextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: HighlightTextDirective, selector: "[highlightText]", inputs: { additionalClasses: "additionalClasses", highlightText: "highlightText" }, host: { properties: { "innerHtml": "this.content" } }, ngImport: i0 });
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HighlightTextDirective, decorators: [{
145
- type: Directive,
146
- args: [{
147
- selector: '[highlightText]'
148
- }]
149
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DomSanitizer }]; }, propDecorators: { additionalClasses: [{
150
- type: Input
151
- }], highlightText: [{
152
- type: Input
153
- }], content: [{
154
- type: HostBinding,
155
- args: ['innerHtml']
101
+ class SdsHighlightTextDirective {
102
+ get highlightText() {
103
+ return this._search;
104
+ }
105
+ set highlightText(value) {
106
+ this._search = value;
107
+ // Now process the search value
108
+ this.markSearchedText(value);
109
+ }
110
+ constructor(_elementRef, _sanitizer) {
111
+ this._elementRef = _elementRef;
112
+ this._sanitizer = _sanitizer;
113
+ /**
114
+ * INPUTS
115
+ */
116
+ /**
117
+ * CSS classes to be appended to the marked text
118
+ */
119
+ this.additionalClasses = '';
120
+ /**
121
+ * Search term that should be found
122
+ */
123
+ this._search = '';
124
+ /**
125
+ * For now make this case insensitive. We might change this to
126
+ * input latter if needed
127
+ */
128
+ this.caseSensitive = false;
129
+ }
130
+ markSearchedText(highlightText) {
131
+ // Make sure that native element is present
132
+ if (this._elementRef?.nativeElement) {
133
+ const currentHtmlContent = this._elementRef.nativeElement
134
+ .innerHTML;
135
+ const text = this._elementRef.nativeElement.textContent ?? '';
136
+ const highlightedText = highlightSearchedText(highlightText, text, currentHtmlContent, this._sanitizer, this.additionalClasses);
137
+ this.content = highlightedText;
138
+ }
139
+ }
140
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsHighlightTextDirective, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Directive }); }
141
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: SdsHighlightTextDirective, isStandalone: true, selector: "[sdsHighlightText]", inputs: { additionalClasses: "additionalClasses", highlightText: "highlightText" }, host: { properties: { "innerHtml": "this.content" } }, ngImport: i0 }); }
142
+ }
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsHighlightTextDirective, decorators: [{
144
+ type: Directive,
145
+ args: [{
146
+ selector: '[sdsHighlightText]',
147
+ standalone: true
148
+ }]
149
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DomSanitizer }], propDecorators: { additionalClasses: [{
150
+ type: Input
151
+ }], highlightText: [{
152
+ type: Input
153
+ }], content: [{
154
+ type: HostBinding,
155
+ args: ['innerHtml']
156
156
  }] } });
157
157
 
158
- class HighlightTextPipe {
159
- constructor(_elementRef, _sanitizer) {
160
- this._elementRef = _elementRef;
161
- this._sanitizer = _sanitizer;
162
- }
163
- transform(highlightText, stringToBeChecked, additionalClasses) {
164
- // Make sure that native element is present
165
- if (this._elementRef?.nativeElement) {
166
- const currentHtmlContent = this._elementRef.nativeElement
167
- .innerHTML;
168
- const highlightedText = highlightSearchedText(highlightText, stringToBeChecked, currentHtmlContent, this._sanitizer, additionalClasses);
169
- return highlightedText;
170
- }
171
- return stringToBeChecked;
172
- }
173
- }
174
- HighlightTextPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HighlightTextPipe, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
175
- HighlightTextPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: HighlightTextPipe, name: "highlightText" });
176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HighlightTextPipe, decorators: [{
177
- type: Pipe,
178
- args: [{
179
- name: 'highlightText'
180
- }]
181
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DomSanitizer }]; } });
182
-
183
- class SdsHighlightTextModule {
184
- }
185
- SdsHighlightTextModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsHighlightTextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
186
- SdsHighlightTextModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SdsHighlightTextModule, declarations: [HighlightTextDirective,
187
- HighlightTextPipe], imports: [CommonModule], exports: [HighlightTextDirective,
188
- HighlightTextPipe] });
189
- SdsHighlightTextModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsHighlightTextModule, imports: [CommonModule] });
190
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsHighlightTextModule, decorators: [{
191
- type: NgModule,
192
- args: [{
193
- declarations: [
194
- HighlightTextDirective,
195
- HighlightTextPipe
196
- ],
197
- exports: [
198
- HighlightTextDirective,
199
- HighlightTextPipe
200
- ],
201
- imports: [
202
- CommonModule
203
- ]
204
- }]
205
- }] });
158
+ class SdsHighlightTextPipe {
159
+ constructor(_elementRef, _sanitizer) {
160
+ this._elementRef = _elementRef;
161
+ this._sanitizer = _sanitizer;
162
+ }
163
+ transform(highlightText, stringToBeChecked, additionalClasses) {
164
+ // Make sure that native element is present
165
+ if (this._elementRef?.nativeElement) {
166
+ const currentHtmlContent = this._elementRef.nativeElement
167
+ .innerHTML;
168
+ const highlightedText = highlightSearchedText(highlightText, stringToBeChecked, currentHtmlContent, this._sanitizer, additionalClasses);
169
+ return highlightedText;
170
+ }
171
+ return stringToBeChecked;
172
+ }
173
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsHighlightTextPipe, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
174
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: SdsHighlightTextPipe, isStandalone: true, name: "sdsHighlightText" }); }
175
+ }
176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsHighlightTextPipe, decorators: [{
177
+ type: Pipe,
178
+ args: [{
179
+ name: 'sdsHighlightText',
180
+ standalone: true
181
+ }]
182
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DomSanitizer }] });
206
183
 
207
- /**
208
- * Generated bundle index. Do not edit.
184
+ /**
185
+ * Generated bundle index. Do not edit.
209
186
  */
210
187
 
211
- export { HighlightTextDirective, HighlightTextPipe, SdsHighlightTextModule };
188
+ export { SdsHighlightTextDirective, SdsHighlightTextPipe };
212
189
  //# sourceMappingURL=spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-highlight-text.mjs","sources":["../../../projects/ngx-sds-components/src/lib/highlight-text/utils/highlight-text.utils.ts","../../../projects/ngx-sds-components/src/lib/highlight-text/directives/highlight-text.directive.ts","../../../projects/ngx-sds-components/src/lib/highlight-text/pipes/highlight-text.pipe.ts","../../../projects/ngx-sds-components/src/lib/highlight-text/spicainternational-ngx-sds-components-src-lib-highlight-text.ts"],"sourcesContent":["import { SecurityContext } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n/**\r\n * @public @function escapeRegex\r\n * @description\r\n * Function responsible for substitution of chars that are a no-go for regex\r\n * @param { string } phrase\r\n * @returns { string }\r\n */\r\nexport const escapeRegex = (phrase: string): string => {\r\n return phrase.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\r\n};\r\n\r\n/**\r\n * @public @function highlightSearchedText\r\n * @description\r\n * Function responsible for returning html string\r\n * with included marker that contains string that matches\r\n * provided search phrase\r\n * @param { string } highlightText\r\n * @param { string } stringToBeChecked\r\n * @param { string } existingHtmlContent\r\n * @param { string } additionalClasses\r\n * @param { string } sanitizer\r\n * @returns { string }\r\n */\r\nexport const highlightSearchedText = (\r\n highlightText: string,\r\n stringToBeChecked: string,\r\n existingHtmlContent: string,\r\n sanitizer: DomSanitizer,\r\n additionalClasses?: string\r\n ): string => {\r\n // If search is empty just return current content\r\n if (highlightText === '') {\r\n return stringToBeChecked;\r\n }\r\n\r\n // Split search string into words\r\n const splittedValue = highlightText.split(' ');\r\n\r\n if (!splittedValue || splittedValue.length === 0) {\r\n return stringToBeChecked;\r\n }\r\n\r\n const splittedStringToBeChecked: string[] = stringToBeChecked\r\n ? stringToBeChecked.split(' ')\r\n : [];\r\n\r\n const searchPhrases: string[] = splittedValue.filter(\r\n phrase => phrase.length > 0\r\n );\r\n\r\n const markedWords: string[] = [];\r\n\r\n // Go through search phrases and validate each string\r\n const newContent = splittedStringToBeChecked\r\n .map((wordToBeChecked: string) => {\r\n const searchMarkRawResult = searchPhrases\r\n .map(phrase => {\r\n const safeString = escapeRegex(phrase);\r\n\r\n const searchRegEx = new RegExp(safeString, 'i');\r\n\r\n const testResult: boolean = searchRegEx.test(wordToBeChecked);\r\n\r\n if (!testResult) {\r\n return wordToBeChecked;\r\n }\r\n\r\n // Prevent text duplication when user enters same word multiple times\r\n const wordIsAlreadyMarked = markedWords.some(alreadyMarkedWord => alreadyMarkedWord === wordToBeChecked)\r\n\r\n if (wordIsAlreadyMarked) {\r\n return wordToBeChecked;\r\n }\r\n\r\n markedWords.push(wordToBeChecked);\r\n\r\n // Prepare content to be replaced with mark text\r\n const markedContent = wordToBeChecked.replace(\r\n searchRegEx,\r\n (match: string) => {\r\n return `<mark class='bg-primary text-white p-0 ${\r\n additionalClasses ?? ''\r\n }'>${match}</mark>`;\r\n }\r\n );\r\n return markedContent;\r\n })\r\n .reduce((accumulator: string[], currentItem: string) => {\r\n const itemAlreadyExists = accumulator.some(\r\n item => item === currentItem\r\n );\r\n\r\n if (!itemAlreadyExists) {\r\n accumulator.push(currentItem);\r\n }\r\n\r\n return accumulator;\r\n }, []);\r\n\r\n /**\r\n * At this point we have correctly marker content, however there can be\r\n * duplicate words in the array. E.g. we have text First Client and user\r\n * types Client First. This will give us two array. First one would be:\r\n * ['First', '<mark class='highlighted-text '>First</mark>']\r\n * Second one would be:\r\n * ['<mark class='highlighted-text '>Client</mark>', 'Client']\r\n * We have to filter out those plain values that are marked\r\n */\r\n const sanitizedMarkedContent = searchMarkRawResult.filter(\r\n markedContentItem => {\r\n const wordIsAlsoMarked = markedWords.some(\r\n word => word === markedContentItem\r\n );\r\n\r\n if (wordIsAlsoMarked) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n );\r\n\r\n return sanitizedMarkedContent;\r\n })\r\n .join(' ');\r\n\r\n /**\r\n * We want to sanitize this before pushing to DOM.\r\n * Just to be on the safe side. Fallback to existing value if\r\n * sanitize returns null\r\n */\r\n const sanitizedContent =\r\n sanitizer.sanitize(SecurityContext.HTML, newContent) ?? existingHtmlContent;\r\n\r\n return sanitizedContent;\r\n};\r\n","import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { highlightSearchedText } from '../utils';\r\n\r\n@Directive({\r\n selector: '[sdsHighlightText]',\r\n standalone: true\r\n})\r\nexport class SdsHighlightTextDirective {\r\n/**\r\n * INPUTS\r\n */\r\n /**\r\n * CSS classes to be appended to the marked text\r\n */\r\n @Input() additionalClasses: string = '';\r\n\r\n /**\r\n * Search term that should be found\r\n */\r\n private _search: string = '';\r\n @Input()\r\n get highlightText(): string {\r\n return this._search;\r\n }\r\n set highlightText(value: string) {\r\n this._search = value;\r\n\r\n // Now process the search value\r\n this.markSearchedText(value);\r\n }\r\n\r\n /**\r\n * OTHER PROPS\r\n */\r\n @HostBinding('innerHtml')\r\n content!: string;\r\n\r\n /**\r\n * For now make this case insensitive. We might change this to\r\n * input latter if needed\r\n */\r\n protected caseSensitive: boolean = false;\r\n\r\n constructor(\r\n private readonly _elementRef: ElementRef,\r\n private readonly _sanitizer: DomSanitizer\r\n ) {}\r\n\r\n protected markSearchedText(highlightText: string): void {\r\n // Make sure that native element is present\r\n if (this._elementRef?.nativeElement) {\r\n const currentHtmlContent = (this._elementRef.nativeElement as HTMLElement)\r\n .innerHTML;\r\n\r\n const text =\r\n (this._elementRef.nativeElement as HTMLElement).textContent ?? '';\r\n\r\n const highlightedText = highlightSearchedText(\r\n highlightText,\r\n text,\r\n currentHtmlContent,\r\n this._sanitizer,\r\n this.additionalClasses\r\n );\r\n\r\n this.content = highlightedText;\r\n }\r\n }\r\n}\r\n","import { ElementRef, Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { highlightSearchedText } from '../utils';\r\n\r\n@Pipe({\r\n name: 'sdsHighlightText',\r\n standalone: true\r\n})\r\nexport class SdsHighlightTextPipe implements PipeTransform {\r\n constructor(\r\n private readonly _elementRef: ElementRef,\r\n private readonly _sanitizer: DomSanitizer\r\n ) {}\r\n\r\n transform(\r\n highlightText: string,\r\n stringToBeChecked: string,\r\n additionalClasses?: string\r\n ): string {\r\n // Make sure that native element is present\r\n if (this._elementRef?.nativeElement) {\r\n const currentHtmlContent = (this._elementRef.nativeElement as HTMLElement)\r\n .innerHTML;\r\n\r\n const highlightedText = highlightSearchedText(\r\n highlightText,\r\n stringToBeChecked,\r\n currentHtmlContent,\r\n this._sanitizer,\r\n additionalClasses\r\n );\r\n\r\n return highlightedText;\r\n }\r\n\r\n return stringToBeChecked;\r\n }\r\n\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}