@spicainternational/ngx-sds-components 7.12.0-beta.1 → 8.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 (624) hide show
  1. package/README.md +13 -57
  2. package/{esm2020 → esm2022}/public-api.mjs +35 -34
  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 +151 -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 +110 -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/{esm2020 → esm2022}/src/lib/segmented-control/public-api.mjs +2 -3
  122. package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +60 -0
  123. package/{esm2020 → esm2022}/src/lib/segmented-control/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +4 -4
  124. package/{esm2020 → esm2022}/src/lib/side-bar/public-api.mjs +2 -3
  125. package/esm2022/src/lib/side-bar/side-bar.component.mjs +39 -0
  126. package/{esm2020 → esm2022}/src/lib/side-bar/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +4 -4
  127. package/{esm2020 → esm2022}/src/lib/static-value/public-api.mjs +2 -3
  128. package/{esm2020 → esm2022}/src/lib/static-value/spicainternational-ngx-sds-components-src-lib-static-value.mjs +4 -4
  129. package/esm2022/src/lib/static-value/static-value.component.mjs +25 -0
  130. package/{esm2020 → esm2022}/src/lib/table-actions/public-api.mjs +2 -3
  131. package/{esm2020 → esm2022}/src/lib/table-actions/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +4 -4
  132. package/esm2022/src/lib/table-actions/table-actions.component.mjs +49 -0
  133. package/esm2022/src/lib/timeline/components/timeline.component.mjs +388 -0
  134. package/{esm2020 → esm2022}/src/lib/timeline/models/timeline.model.mjs +1 -1
  135. package/{esm2020 → esm2022}/src/lib/timeline/public-api.mjs +2 -3
  136. package/esm2022/src/lib/timeline/services/timeline.service.mjs +152 -0
  137. package/{esm2020 → esm2022}/src/lib/timeline/spicainternational-ngx-sds-components-src-lib-timeline.mjs +4 -4
  138. package/{esm2020 → esm2022}/src/lib/timeline/types/timeline.types.mjs +1 -1
  139. package/{esm2020 → esm2022}/src/lib/timer/public-api.mjs +3 -4
  140. package/{esm2020 → esm2022}/src/lib/timer/services/index.mjs +1 -1
  141. package/esm2022/src/lib/timer/services/timer.service.mjs +99 -0
  142. package/{esm2020 → esm2022}/src/lib/timer/spicainternational-ngx-sds-components-src-lib-timer.mjs +4 -4
  143. package/{esm2020 → esm2022}/src/lib/timer/utils/index.mjs +1 -1
  144. package/{esm2020 → esm2022}/src/lib/timer/utils/timer.utils.mjs +96 -96
  145. package/esm2022/src/lib/tooltip/components/tooltip.component.mjs +26 -0
  146. package/{esm2020 → esm2022}/src/lib/tooltip/public-api.mjs +2 -3
  147. package/{esm2020 → esm2022}/src/lib/tooltip/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +4 -4
  148. package/esm2022/src/lib/tooltip/tooltip.directive.mjs +192 -0
  149. package/{esm2020 → esm2022}/src/lib/tooltip/tooltip.types.mjs +1 -1
  150. package/{esm2020 → esm2022}/src/lib/tooltip/utils/index.mjs +1 -1
  151. package/{esm2020 → esm2022}/src/lib/tooltip/utils/tooltip.utils.mjs +16 -16
  152. package/esm2022/src/lib/utils/date-time/date-time-format.function.mjs +15 -0
  153. package/esm2022/src/lib/utils/date-time/intl-date-time-format-options-presets.mjs +29 -0
  154. package/esm2022/src/lib/utils/date-time/public-api.mjs +3 -0
  155. package/esm2022/src/lib/utils/date-time/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs +5 -0
  156. package/esm2022/src/lib/utils/public-api.mjs +2 -0
  157. package/esm2022/src/lib/utils/spicainternational-ngx-sds-components-src-lib-utils.mjs +5 -0
  158. package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +122 -0
  159. package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +1 -0
  160. package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs +236 -0
  161. package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +1 -0
  162. package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs +153 -0
  163. package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +1 -0
  164. package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs +27 -0
  165. package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +1 -0
  166. package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +89 -0
  167. package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +1 -0
  168. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +1025 -0
  169. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -0
  170. package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +330 -399
  171. package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +1 -0
  172. package/{fesm2015 → fesm2022}/spicainternational-ngx-sds-components-src-lib-drawer.mjs +103 -118
  173. package/fesm2022/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +1 -0
  174. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +354 -0
  175. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +1 -0
  176. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +34 -0
  177. package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +1 -0
  178. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +59 -0
  179. package/fesm2022/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +1 -0
  180. package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +93 -0
  181. package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +1 -0
  182. package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs +178 -201
  183. package/fesm2022/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +1 -0
  184. package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-intersection.mjs +99 -114
  185. package/fesm2022/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +1 -0
  186. package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +64 -0
  187. package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +1 -0
  188. package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs +70 -0
  189. package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +1 -0
  190. package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs +67 -0
  191. package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs.map +1 -0
  192. package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs +343 -0
  193. package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +1 -0
  194. package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs +579 -0
  195. package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -0
  196. package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs +145 -0
  197. package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +1 -0
  198. package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs +32 -0
  199. package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +1 -0
  200. package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs +50 -0
  201. package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +1 -0
  202. package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +128 -0
  203. package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +1 -0
  204. package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +67 -0
  205. package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +1 -0
  206. package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +46 -0
  207. package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +1 -0
  208. package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs +32 -0
  209. package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +1 -0
  210. package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +56 -0
  211. package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +1 -0
  212. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs +546 -0
  213. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +1 -0
  214. package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-timer.mjs +192 -223
  215. package/fesm2022/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +1 -0
  216. package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +228 -250
  217. package/fesm2022/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +1 -0
  218. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs +49 -0
  219. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs.map +1 -0
  220. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils.mjs +49 -0
  221. package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils.mjs.map +1 -0
  222. package/{fesm2015 → fesm2022}/spicainternational-ngx-sds-components.mjs +5 -4
  223. package/{fesm2015 → fesm2022}/spicainternational-ngx-sds-components.mjs.map +1 -1
  224. package/index.d.ts +5 -5
  225. package/package.json +120 -172
  226. package/public-api.d.ts +31 -30
  227. package/src/lib/app-switcher/app-switcher.component.d.ts +34 -34
  228. package/src/lib/app-switcher/app-switcher.model.d.ts +8 -8
  229. package/src/lib/app-switcher/index.d.ts +5 -5
  230. package/src/lib/app-switcher/public-api.d.ts +2 -3
  231. package/src/lib/avatar/avatar-group.component.d.ts +28 -28
  232. package/src/lib/avatar/avatar-group.model.d.ts +6 -6
  233. package/src/lib/avatar/avatar.component.d.ts +53 -55
  234. package/src/lib/avatar/index.d.ts +5 -5
  235. package/src/lib/avatar/public-api.d.ts +3 -4
  236. package/src/lib/badge/badge.directive.d.ts +23 -23
  237. package/src/lib/badge/badge.types.d.ts +2 -2
  238. package/src/lib/badge/components/badge.component.d.ts +23 -23
  239. package/src/lib/badge/index.d.ts +5 -5
  240. package/src/lib/badge/public-api.d.ts +1 -2
  241. package/src/lib/callout/callout.component.d.ts +10 -10
  242. package/src/lib/callout/index.d.ts +5 -5
  243. package/src/lib/callout/public-api.d.ts +1 -2
  244. package/src/lib/color-picker/color-picker.component.d.ts +27 -28
  245. package/src/lib/color-picker/index.d.ts +5 -5
  246. package/src/lib/color-picker/public-api.d.ts +1 -2
  247. package/src/lib/date-picker/date-picker.component.d.ts +149 -149
  248. package/src/lib/date-picker/date-picker.model.d.ts +34 -34
  249. package/src/lib/date-picker/index.d.ts +5 -5
  250. package/src/lib/date-picker/public-api.d.ts +2 -3
  251. package/src/lib/date-picker/sds-date-picker.service.d.ts +9 -9
  252. package/src/lib/date-pipes/date-compare.pipe.d.ts +7 -7
  253. package/src/lib/date-pipes/date-format.pipe.d.ts +19 -18
  254. package/src/lib/date-pipes/date-period-format.pipe.d.ts +11 -7
  255. package/src/lib/date-pipes/date-time-formats.constants.d.ts +22 -22
  256. package/src/lib/date-pipes/date-time-range-duration.pipe.d.ts +7 -7
  257. package/src/lib/date-pipes/date-time-range-format.pipe.d.ts +15 -15
  258. package/src/lib/date-pipes/index.d.ts +5 -5
  259. package/src/lib/date-pipes/public-api.d.ts +7 -7
  260. package/src/lib/drawer/drawer.component.d.ts +24 -24
  261. package/src/lib/drawer/index.d.ts +5 -5
  262. package/src/lib/drawer/public-api.d.ts +1 -2
  263. package/src/lib/duration-box/duration-box.component.d.ts +137 -137
  264. package/src/lib/duration-box/duration-box.types.d.ts +1 -1
  265. package/src/lib/duration-box/duration.service.d.ts +10 -10
  266. package/src/lib/duration-box/index.d.ts +5 -5
  267. package/src/lib/duration-box/public-api.d.ts +1 -2
  268. package/src/lib/duration-pipe/duration-format.pipe.d.ts +7 -7
  269. package/src/lib/duration-pipe/index.d.ts +5 -5
  270. package/src/lib/duration-pipe/public-api.d.ts +1 -2
  271. package/src/lib/ellipsis/directives/ellipsis.directive.d.ts +13 -13
  272. package/src/lib/ellipsis/index.d.ts +5 -5
  273. package/src/lib/ellipsis/public-api.d.ts +1 -2
  274. package/src/lib/expansion-panel/expansion-panel.component.d.ts +52 -52
  275. package/src/lib/expansion-panel/expansion-panel.types.d.ts +2 -2
  276. package/src/lib/expansion-panel/index.d.ts +5 -5
  277. package/src/lib/expansion-panel/public-api.d.ts +1 -2
  278. package/src/lib/highlight-text/directives/highlight-text.directive.d.ts +33 -33
  279. package/src/lib/highlight-text/directives/index.d.ts +1 -1
  280. package/src/lib/highlight-text/index.d.ts +5 -5
  281. package/src/lib/highlight-text/pipes/highlight-text.pipe.d.ts +11 -11
  282. package/src/lib/highlight-text/pipes/index.d.ts +1 -1
  283. package/src/lib/highlight-text/public-api.d.ts +2 -3
  284. package/src/lib/highlight-text/utils/highlight-text.utils.d.ts +23 -23
  285. package/src/lib/highlight-text/utils/index.d.ts +1 -1
  286. package/src/lib/intersection/directives/index.d.ts +1 -1
  287. package/src/lib/intersection/directives/intersection.directive.d.ts +24 -24
  288. package/src/lib/intersection/index.d.ts +5 -5
  289. package/src/lib/intersection/public-api.d.ts +2 -3
  290. package/src/lib/intersection/services/index.d.ts +1 -1
  291. package/src/lib/intersection/services/intersection.service.d.ts +19 -19
  292. package/src/lib/keyboard-shortcut/directives/index.d.ts +1 -1
  293. package/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.d.ts +22 -22
  294. package/src/lib/keyboard-shortcut/index.d.ts +5 -5
  295. package/src/lib/keyboard-shortcut/public-api.d.ts +1 -2
  296. package/src/lib/layout/default-layout/default-layout.component.d.ts +8 -8
  297. package/src/lib/layout/extra-large-layout/extra-large-layout.component.d.ts +8 -8
  298. package/src/lib/layout/fluid-layout/fluid-layout.component.d.ts +8 -8
  299. package/src/lib/layout/index.d.ts +5 -5
  300. package/src/lib/layout/medium-layout/medium-layout.component.d.ts +8 -8
  301. package/src/lib/layout/public-api.d.ts +5 -6
  302. package/src/lib/layout/small-layout/small-layout.component.d.ts +8 -8
  303. package/src/lib/message/index.d.ts +5 -5
  304. package/src/lib/message/message.component.d.ts +24 -24
  305. package/src/lib/message/public-api.d.ts +1 -2
  306. package/src/lib/modal/dialog/dialog.component.d.ts +61 -61
  307. package/src/lib/modal/dialog/dialog.types.d.ts +1 -1
  308. package/src/lib/modal/index.d.ts +5 -5
  309. package/src/lib/modal/modal.component.d.ts +54 -54
  310. package/src/lib/modal/modal.model.d.ts +3 -3
  311. package/src/lib/modal/public-api.d.ts +2 -3
  312. package/src/lib/navigation/index.d.ts +5 -5
  313. package/src/lib/navigation/models/navigation-models.d.ts +4 -0
  314. package/src/lib/navigation/navigation-collapsible-frame/navigation-collapsible-frame.component.d.ts +7 -0
  315. package/src/lib/navigation/navigation-container/navigation-container.component.d.ts +26 -9
  316. package/src/lib/navigation/navigation-external-link/navigation-external-link.component.d.ts +17 -15
  317. package/src/lib/navigation/navigation-group/navigation-group.component.d.ts +44 -40
  318. package/src/lib/navigation/navigation-header/navigation-header.component.d.ts +11 -9
  319. package/src/lib/navigation/navigation-route-link/navigation-route-link.component.d.ts +19 -17
  320. package/src/lib/navigation/navigation-separator/navigation-separator.component.d.ts +10 -8
  321. package/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.d.ts +11 -11
  322. package/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.d.ts +17 -17
  323. package/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.types.d.ts +1 -1
  324. package/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.d.ts +9 -9
  325. package/src/lib/navigation/navigation-user-profile/navigation-profile.model.d.ts +6 -6
  326. package/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.d.ts +34 -31
  327. package/src/lib/navigation/product-home/product-home.component.d.ts +32 -23
  328. package/src/lib/navigation/public-api.d.ts +13 -12
  329. package/src/lib/navigation/utils/navigation.utils.d.ts +2 -2
  330. package/src/lib/number-box/index.d.ts +5 -5
  331. package/src/lib/number-box/number-box.component.d.ts +83 -83
  332. package/src/lib/number-box/public-api.d.ts +1 -2
  333. package/src/lib/page-header/index.d.ts +5 -5
  334. package/src/lib/page-header/page-header.component.d.ts +11 -11
  335. package/src/lib/page-header/public-api.d.ts +1 -2
  336. package/src/lib/pane/index.d.ts +5 -5
  337. package/src/lib/pane/pane.component.d.ts +19 -19
  338. package/src/lib/pane/pane.model.d.ts +8 -8
  339. package/src/lib/pane/public-api.d.ts +2 -3
  340. package/src/lib/quick-info/index.d.ts +5 -5
  341. package/src/lib/quick-info/public-api.d.ts +1 -2
  342. package/src/lib/quick-info/quick-info.component.d.ts +43 -43
  343. package/src/lib/quick-info/quick-info.model.d.ts +9 -9
  344. package/src/lib/segmented-control/index.d.ts +5 -5
  345. package/src/lib/segmented-control/public-api.d.ts +1 -2
  346. package/src/lib/segmented-control/segmented-control.component.d.ts +21 -21
  347. package/src/lib/side-bar/index.d.ts +5 -5
  348. package/src/lib/side-bar/public-api.d.ts +1 -2
  349. package/src/lib/side-bar/side-bar.component.d.ts +24 -74
  350. package/src/lib/static-value/index.d.ts +5 -5
  351. package/src/lib/static-value/public-api.d.ts +1 -2
  352. package/src/lib/static-value/static-value.component.d.ts +12 -12
  353. package/src/lib/table-actions/index.d.ts +5 -5
  354. package/src/lib/table-actions/public-api.d.ts +1 -2
  355. package/src/lib/table-actions/table-actions.component.d.ts +16 -16
  356. package/src/lib/timeline/components/timeline.component.d.ts +206 -198
  357. package/src/lib/timeline/index.d.ts +5 -5
  358. package/src/lib/timeline/models/timeline.model.d.ts +38 -38
  359. package/src/lib/timeline/public-api.d.ts +1 -2
  360. package/src/lib/timeline/services/timeline.service.d.ts +24 -21
  361. package/src/lib/timeline/types/timeline.types.d.ts +2 -2
  362. package/src/lib/timer/index.d.ts +5 -5
  363. package/src/lib/timer/public-api.d.ts +2 -3
  364. package/src/lib/timer/services/index.d.ts +1 -1
  365. package/src/lib/timer/services/timer.service.d.ts +78 -78
  366. package/src/lib/timer/utils/index.d.ts +1 -1
  367. package/src/lib/timer/utils/timer.utils.d.ts +61 -61
  368. package/src/lib/tooltip/components/tooltip.component.d.ts +18 -18
  369. package/src/lib/tooltip/index.d.ts +5 -5
  370. package/src/lib/tooltip/public-api.d.ts +1 -2
  371. package/src/lib/tooltip/tooltip.directive.d.ts +36 -36
  372. package/src/lib/tooltip/tooltip.types.d.ts +2 -2
  373. package/src/lib/tooltip/utils/index.d.ts +1 -1
  374. package/src/lib/tooltip/utils/tooltip.utils.d.ts +5 -5
  375. package/src/lib/utils/date-time/date-time-format.function.d.ts +2 -0
  376. package/src/lib/utils/date-time/index.d.ts +5 -0
  377. package/src/lib/utils/date-time/intl-date-time-format-options-presets.d.ts +4 -0
  378. package/src/lib/utils/date-time/public-api.d.ts +2 -0
  379. package/src/lib/utils/index.d.ts +5 -0
  380. package/src/lib/utils/public-api.d.ts +1 -0
  381. package/esm2020/src/lib/app-switcher/app-switcher.component.mjs +0 -107
  382. package/esm2020/src/lib/app-switcher/app-switcher.module.mjs +0 -36
  383. package/esm2020/src/lib/app-switcher/public-api.mjs +0 -4
  384. package/esm2020/src/lib/avatar/avatar-group.component.mjs +0 -80
  385. package/esm2020/src/lib/avatar/avatar.component.mjs +0 -162
  386. package/esm2020/src/lib/avatar/avatar.module.mjs +0 -41
  387. package/esm2020/src/lib/avatar/public-api.mjs +0 -5
  388. package/esm2020/src/lib/badge/badge.directive.mjs +0 -89
  389. package/esm2020/src/lib/badge/badge.module.mjs +0 -27
  390. package/esm2020/src/lib/badge/components/badge.component.mjs +0 -59
  391. package/esm2020/src/lib/callout/callout.component.mjs +0 -20
  392. package/esm2020/src/lib/callout/callout.module.mjs +0 -25
  393. package/esm2020/src/lib/color-picker/color-picker.component.mjs +0 -76
  394. package/esm2020/src/lib/color-picker/color-picker.module.mjs +0 -33
  395. package/esm2020/src/lib/date-picker/date-picker.component.mjs +0 -841
  396. package/esm2020/src/lib/date-picker/date-picker.model.mjs +0 -71
  397. package/esm2020/src/lib/date-picker/date-picker.module.mjs +0 -68
  398. package/esm2020/src/lib/date-picker/public-api.mjs +0 -4
  399. package/esm2020/src/lib/date-picker/sds-date-picker.service.mjs +0 -90
  400. package/esm2020/src/lib/date-pipes/date-compare.pipe.mjs +0 -31
  401. package/esm2020/src/lib/date-pipes/date-format.pipe.mjs +0 -73
  402. package/esm2020/src/lib/date-pipes/date-period-format.pipe.mjs +0 -44
  403. package/esm2020/src/lib/date-pipes/date-pipes.module.mjs +0 -43
  404. package/esm2020/src/lib/date-pipes/date-time-range-duration.pipe.mjs +0 -31
  405. package/esm2020/src/lib/date-pipes/date-time-range-format.pipe.mjs +0 -48
  406. package/esm2020/src/lib/drawer/drawer.component.mjs +0 -103
  407. package/esm2020/src/lib/drawer/drawer.module.mjs +0 -18
  408. package/esm2020/src/lib/duration-box/duration-box.component.mjs +0 -261
  409. package/esm2020/src/lib/duration-box/duration-box.module.mjs +0 -44
  410. package/esm2020/src/lib/duration-box/duration.service.mjs +0 -72
  411. package/esm2020/src/lib/duration-pipe/duration-format.pipe.mjs +0 -26
  412. package/esm2020/src/lib/duration-pipe/duration-pipe.module.mjs +0 -18
  413. package/esm2020/src/lib/ellipsis/directives/ellipsis.directive.mjs +0 -51
  414. package/esm2020/src/lib/ellipsis/ellipsis.module.mjs +0 -24
  415. package/esm2020/src/lib/expansion-panel/expansion-panel.component.mjs +0 -86
  416. package/esm2020/src/lib/expansion-panel/expansion-panel.module.mjs +0 -25
  417. package/esm2020/src/lib/highlight-text/directives/highlight-text.directive.mjs +0 -60
  418. package/esm2020/src/lib/highlight-text/highlight-text.module.mjs +0 -29
  419. package/esm2020/src/lib/highlight-text/pipes/highlight-text.pipe.mjs +0 -29
  420. package/esm2020/src/lib/highlight-text/public-api.mjs +0 -4
  421. package/esm2020/src/lib/highlight-text/utils/highlight-text.utils.mjs +0 -97
  422. package/esm2020/src/lib/intersection/directives/intersection.directive.mjs +0 -51
  423. package/esm2020/src/lib/intersection/intersection.module.mjs +0 -20
  424. package/esm2020/src/lib/intersection/public-api.mjs +0 -4
  425. package/esm2020/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.mjs +0 -56
  426. package/esm2020/src/lib/keyboard-shortcut/keyboard-shortcut.module.mjs +0 -24
  427. package/esm2020/src/lib/layout/default-layout/default-layout.component.mjs +0 -15
  428. package/esm2020/src/lib/layout/extra-large-layout/extra-large-layout.component.mjs +0 -15
  429. package/esm2020/src/lib/layout/fluid-layout/fluid-layout.component.mjs +0 -15
  430. package/esm2020/src/lib/layout/layout.module.mjs +0 -47
  431. package/esm2020/src/lib/layout/medium-layout/medium-layout.component.mjs +0 -15
  432. package/esm2020/src/lib/layout/public-api.mjs +0 -7
  433. package/esm2020/src/lib/layout/small-layout/small-layout.component.mjs +0 -15
  434. package/esm2020/src/lib/message/message.component.mjs +0 -60
  435. package/esm2020/src/lib/message/message.module.mjs +0 -28
  436. package/esm2020/src/lib/modal/dialog/dialog.component.mjs +0 -187
  437. package/esm2020/src/lib/modal/modal.component.mjs +0 -147
  438. package/esm2020/src/lib/modal/modal.module.mjs +0 -43
  439. package/esm2020/src/lib/navigation/navigation-container/navigation-container.component.mjs +0 -17
  440. package/esm2020/src/lib/navigation/navigation-external-link/navigation-external-link.component.mjs +0 -37
  441. package/esm2020/src/lib/navigation/navigation-group/navigation-group.component.mjs +0 -100
  442. package/esm2020/src/lib/navigation/navigation-header/navigation-header.component.mjs +0 -17
  443. package/esm2020/src/lib/navigation/navigation-route-link/navigation-route-link.component.mjs +0 -33
  444. package/esm2020/src/lib/navigation/navigation-separator/navigation-separator.component.mjs +0 -14
  445. package/esm2020/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.mjs +0 -26
  446. package/esm2020/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.mjs +0 -40
  447. package/esm2020/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.mjs +0 -23
  448. package/esm2020/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.mjs +0 -99
  449. package/esm2020/src/lib/navigation/navigation.module.mjs +0 -107
  450. package/esm2020/src/lib/navigation/pipes/navigation-route-active.pipe.mjs +0 -30
  451. package/esm2020/src/lib/navigation/product-home/product-home.component.mjs +0 -54
  452. package/esm2020/src/lib/navigation/public-api.mjs +0 -13
  453. package/esm2020/src/lib/navigation/utils/navigation.utils.mjs +0 -48
  454. package/esm2020/src/lib/number-box/number-box.component.mjs +0 -138
  455. package/esm2020/src/lib/number-box/number-box.module.mjs +0 -28
  456. package/esm2020/src/lib/page-header/page-header.component.mjs +0 -25
  457. package/esm2020/src/lib/page-header/page-header.module.mjs +0 -19
  458. package/esm2020/src/lib/pane/pane.component.mjs +0 -43
  459. package/esm2020/src/lib/pane/pane.module.mjs +0 -28
  460. package/esm2020/src/lib/quick-info/quick-info.component.mjs +0 -116
  461. package/esm2020/src/lib/quick-info/quick-info.module.mjs +0 -33
  462. package/esm2020/src/lib/segmented-control/segmented-control.component.mjs +0 -55
  463. package/esm2020/src/lib/segmented-control/segmented-control.module.mjs +0 -29
  464. package/esm2020/src/lib/side-bar/side-bar.component.mjs +0 -109
  465. package/esm2020/src/lib/side-bar/side-bar.module.mjs +0 -28
  466. package/esm2020/src/lib/static-value/static-value.component.mjs +0 -25
  467. package/esm2020/src/lib/static-value/static-value.module.mjs +0 -28
  468. package/esm2020/src/lib/table-actions/table-actions.component.mjs +0 -42
  469. package/esm2020/src/lib/table-actions/table-actions.module.mjs +0 -32
  470. package/esm2020/src/lib/timeline/components/timeline.component.mjs +0 -364
  471. package/esm2020/src/lib/timeline/services/timeline.service.mjs +0 -120
  472. package/esm2020/src/lib/timeline/timeline.module.mjs +0 -24
  473. package/esm2020/src/lib/timer/services/timer.service.mjs +0 -99
  474. package/esm2020/src/lib/timer/timer.module.mjs +0 -34
  475. package/esm2020/src/lib/tooltip/components/tooltip.component.mjs +0 -22
  476. package/esm2020/src/lib/tooltip/tooltip.directive.mjs +0 -191
  477. package/esm2020/src/lib/tooltip/tooltip.module.mjs +0 -31
  478. package/fesm2015/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +0 -150
  479. package/fesm2015/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +0 -1
  480. package/fesm2015/spicainternational-ngx-sds-components-src-lib-avatar.mjs +0 -284
  481. package/fesm2015/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +0 -1
  482. package/fesm2015/spicainternational-ngx-sds-components-src-lib-badge.mjs +0 -175
  483. package/fesm2015/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +0 -1
  484. package/fesm2015/spicainternational-ngx-sds-components-src-lib-callout.mjs +0 -49
  485. package/fesm2015/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +0 -1
  486. package/fesm2015/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +0 -113
  487. package/fesm2015/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +0 -1
  488. package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +0 -1071
  489. package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +0 -1
  490. package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +0 -411
  491. package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +0 -1
  492. package/fesm2015/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +0 -1
  493. package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +0 -379
  494. package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +0 -1
  495. package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +0 -48
  496. package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +0 -1
  497. package/fesm2015/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +0 -80
  498. package/fesm2015/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +0 -1
  499. package/fesm2015/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +0 -115
  500. package/fesm2015/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +0 -1
  501. package/fesm2015/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs +0 -215
  502. package/fesm2015/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +0 -1
  503. package/fesm2015/spicainternational-ngx-sds-components-src-lib-intersection.mjs +0 -127
  504. package/fesm2015/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +0 -1
  505. package/fesm2015/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +0 -85
  506. package/fesm2015/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +0 -1
  507. package/fesm2015/spicainternational-ngx-sds-components-src-lib-layout.mjs +0 -110
  508. package/fesm2015/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +0 -1
  509. package/fesm2015/spicainternational-ngx-sds-components-src-lib-message.mjs +0 -92
  510. package/fesm2015/spicainternational-ngx-sds-components-src-lib-message.mjs.map +0 -1
  511. package/fesm2015/spicainternational-ngx-sds-components-src-lib-modal.mjs +0 -378
  512. package/fesm2015/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +0 -1
  513. package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs +0 -595
  514. package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +0 -1
  515. package/fesm2015/spicainternational-ngx-sds-components-src-lib-number-box.mjs +0 -170
  516. package/fesm2015/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +0 -1
  517. package/fesm2015/spicainternational-ngx-sds-components-src-lib-page-header.mjs +0 -48
  518. package/fesm2015/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +0 -1
  519. package/fesm2015/spicainternational-ngx-sds-components-src-lib-pane.mjs +0 -75
  520. package/fesm2015/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +0 -1
  521. package/fesm2015/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +0 -155
  522. package/fesm2015/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +0 -1
  523. package/fesm2015/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +0 -88
  524. package/fesm2015/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +0 -1
  525. package/fesm2015/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +0 -141
  526. package/fesm2015/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +0 -1
  527. package/fesm2015/spicainternational-ngx-sds-components-src-lib-static-value.mjs +0 -57
  528. package/fesm2015/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +0 -1
  529. package/fesm2015/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +0 -78
  530. package/fesm2015/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +0 -1
  531. package/fesm2015/spicainternational-ngx-sds-components-src-lib-timeline.mjs +0 -515
  532. package/fesm2015/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +0 -1
  533. package/fesm2015/spicainternational-ngx-sds-components-src-lib-timer.mjs +0 -235
  534. package/fesm2015/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +0 -1
  535. package/fesm2015/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +0 -260
  536. package/fesm2015/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +0 -1
  537. package/fesm2020/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +0 -146
  538. package/fesm2020/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +0 -1
  539. package/fesm2020/spicainternational-ngx-sds-components-src-lib-avatar.mjs +0 -282
  540. package/fesm2020/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +0 -1
  541. package/fesm2020/spicainternational-ngx-sds-components-src-lib-badge.mjs +0 -175
  542. package/fesm2020/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +0 -1
  543. package/fesm2020/spicainternational-ngx-sds-components-src-lib-callout.mjs +0 -49
  544. package/fesm2020/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +0 -1
  545. package/fesm2020/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +0 -113
  546. package/fesm2020/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +0 -1
  547. package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +0 -1064
  548. package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +0 -1
  549. package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +0 -1
  550. package/fesm2020/spicainternational-ngx-sds-components-src-lib-drawer.mjs +0 -125
  551. package/fesm2020/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +0 -1
  552. package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +0 -377
  553. package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +0 -1
  554. package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +0 -48
  555. package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +0 -1
  556. package/fesm2020/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +0 -79
  557. package/fesm2020/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +0 -1
  558. package/fesm2020/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +0 -115
  559. package/fesm2020/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +0 -1
  560. package/fesm2020/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +0 -1
  561. package/fesm2020/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +0 -1
  562. package/fesm2020/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +0 -83
  563. package/fesm2020/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +0 -1
  564. package/fesm2020/spicainternational-ngx-sds-components-src-lib-layout.mjs +0 -110
  565. package/fesm2020/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +0 -1
  566. package/fesm2020/spicainternational-ngx-sds-components-src-lib-message.mjs +0 -92
  567. package/fesm2020/spicainternational-ngx-sds-components-src-lib-message.mjs.map +0 -1
  568. package/fesm2020/spicainternational-ngx-sds-components-src-lib-modal.mjs +0 -376
  569. package/fesm2020/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +0 -1
  570. package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs +0 -595
  571. package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +0 -1
  572. package/fesm2020/spicainternational-ngx-sds-components-src-lib-number-box.mjs +0 -170
  573. package/fesm2020/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +0 -1
  574. package/fesm2020/spicainternational-ngx-sds-components-src-lib-page-header.mjs +0 -48
  575. package/fesm2020/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +0 -1
  576. package/fesm2020/spicainternational-ngx-sds-components-src-lib-pane.mjs +0 -75
  577. package/fesm2020/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +0 -1
  578. package/fesm2020/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +0 -153
  579. package/fesm2020/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +0 -1
  580. package/fesm2020/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +0 -88
  581. package/fesm2020/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +0 -1
  582. package/fesm2020/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +0 -141
  583. package/fesm2020/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +0 -1
  584. package/fesm2020/spicainternational-ngx-sds-components-src-lib-static-value.mjs +0 -57
  585. package/fesm2020/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +0 -1
  586. package/fesm2020/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +0 -78
  587. package/fesm2020/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +0 -1
  588. package/fesm2020/spicainternational-ngx-sds-components-src-lib-timeline.mjs +0 -511
  589. package/fesm2020/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +0 -1
  590. package/fesm2020/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +0 -1
  591. package/fesm2020/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +0 -1
  592. package/fesm2020/spicainternational-ngx-sds-components.mjs +0 -39
  593. package/fesm2020/spicainternational-ngx-sds-components.mjs.map +0 -1
  594. package/src/lib/app-switcher/app-switcher.module.d.ts +0 -11
  595. package/src/lib/avatar/avatar.module.d.ts +0 -11
  596. package/src/lib/badge/badge.module.d.ts +0 -9
  597. package/src/lib/callout/callout.module.d.ts +0 -8
  598. package/src/lib/color-picker/color-picker.module.d.ts +0 -10
  599. package/src/lib/date-picker/date-picker.module.d.ts +0 -12
  600. package/src/lib/date-pipes/date-pipes.module.d.ts +0 -12
  601. package/src/lib/drawer/drawer.module.d.ts +0 -8
  602. package/src/lib/duration-box/duration-box.module.d.ts +0 -10
  603. package/src/lib/duration-pipe/duration-pipe.module.d.ts +0 -8
  604. package/src/lib/ellipsis/ellipsis.module.d.ts +0 -8
  605. package/src/lib/expansion-panel/expansion-panel.module.d.ts +0 -15
  606. package/src/lib/highlight-text/highlight-text.module.d.ts +0 -9
  607. package/src/lib/intersection/intersection.module.d.ts +0 -8
  608. package/src/lib/keyboard-shortcut/keyboard-shortcut.module.d.ts +0 -8
  609. package/src/lib/layout/layout.module.d.ts +0 -13
  610. package/src/lib/message/message.module.d.ts +0 -9
  611. package/src/lib/modal/modal.module.d.ts +0 -12
  612. package/src/lib/navigation/navigation.module.d.ts +0 -28
  613. package/src/lib/navigation/pipes/navigation-route-active.pipe.d.ts +0 -7
  614. package/src/lib/number-box/number-box.module.d.ts +0 -9
  615. package/src/lib/page-header/page-header.module.d.ts +0 -8
  616. package/src/lib/pane/pane.module.d.ts +0 -9
  617. package/src/lib/quick-info/quick-info.module.d.ts +0 -10
  618. package/src/lib/segmented-control/segmented-control.module.d.ts +0 -9
  619. package/src/lib/side-bar/side-bar.module.d.ts +0 -9
  620. package/src/lib/static-value/static-value.module.d.ts +0 -9
  621. package/src/lib/table-actions/table-actions.module.d.ts +0 -10
  622. package/src/lib/timeline/timeline.module.d.ts +0 -8
  623. package/src/lib/timer/timer.module.d.ts +0 -10
  624. package/src/lib/tooltip/tooltip.module.d.ts +0 -10
@@ -0,0 +1,354 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, EventEmitter, ViewChild, Input, Output, Component } from '@angular/core';
3
+ import { SdsDurationFormatPipe } from '@spicainternational/ngx-sds-components/src/lib/duration-pipe';
4
+ import * as i2 from 'devextreme-angular';
5
+ import { DxTextBoxModule, DxValidatorModule } from 'devextreme-angular';
6
+ import * as i3 from 'devextreme-angular/ui/nested';
7
+ import { DxiValidationRuleModule, DxiButtonModule } from 'devextreme-angular/ui/nested';
8
+ import * as i6 from 'devextreme-angular/ui/scroll-view';
9
+ import { DxScrollViewModule } from 'devextreme-angular/ui/scroll-view';
10
+ import * as i4 from 'devextreme-angular/core';
11
+ import { DxTemplateModule } from 'devextreme-angular/core';
12
+ import * as i5 from 'devextreme-angular/ui/popover';
13
+ import { DxPopoverModule } from 'devextreme-angular/ui/popover';
14
+ import { NgIf, NgFor } from '@angular/common';
15
+
16
+ class DurationService {
17
+ constructor() { }
18
+ resolve(input) {
19
+ if (!input || input.length === 0) {
20
+ return null;
21
+ }
22
+ const inputSegments = input.split(':');
23
+ if (inputSegments.length > 2) {
24
+ //invalid input
25
+ return 0;
26
+ }
27
+ else if (inputSegments.length == 2) {
28
+ // we have hrs and minutes
29
+ const hrs = parseInt(inputSegments[0] ? inputSegments[0] : '0');
30
+ const mins = parseInt(inputSegments[1] ? inputSegments[1] : '0');
31
+ const totalMins = (hrs * 60) + mins;
32
+ return totalMins;
33
+ }
34
+ else if (inputSegments.length == 1) {
35
+ // take last two digits as mins
36
+ const nonSeparated = inputSegments[0];
37
+ let totalMins = 0;
38
+ if (nonSeparated.length <= 2) {
39
+ totalMins = parseInt(nonSeparated);
40
+ }
41
+ else {
42
+ const lastIndex = nonSeparated.length - 2;
43
+ const part1 = nonSeparated.slice(0, lastIndex);
44
+ const part2 = nonSeparated.slice(lastIndex);
45
+ const hrs = parseInt(part1);
46
+ const mins = parseInt(part2);
47
+ totalMins = (hrs * 60) + mins;
48
+ }
49
+ return totalMins;
50
+ }
51
+ return 0;
52
+ }
53
+ isValidInput(input) {
54
+ if (input === '') {
55
+ return true;
56
+ }
57
+ const regexNumbersOnly = /^[+-]?\d+$/;
58
+ const regexColonSeparated = /^[+-]?\d+:\d+$/;
59
+ return regexNumbersOnly.test(input) || regexColonSeparated.test(input);
60
+ }
61
+ getDefaultValue(min, max) {
62
+ let defaultValue = 0;
63
+ // try keeping the 0 as default
64
+ // if it is outside the min/max then adjust
65
+ if (min) {
66
+ defaultValue = Math.max(defaultValue, min);
67
+ }
68
+ if (max) {
69
+ defaultValue = Math.min(defaultValue, max);
70
+ }
71
+ return defaultValue;
72
+ }
73
+ isValueWithinLimits(value, min, max) {
74
+ return !((min != undefined && value < min) || (max != undefined && value > max));
75
+ }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DurationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
77
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DurationService, providedIn: 'root' }); }
78
+ }
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DurationService, decorators: [{
80
+ type: Injectable,
81
+ args: [{
82
+ providedIn: 'root',
83
+ }]
84
+ }], ctorParameters: () => [] });
85
+
86
+ /**
87
+ * Component allows user to enter duration in h:mm format. User may also select no value is this is applicable to the
88
+ * use case. A list of pre-defined durations can be provided for easier selection.
89
+ *
90
+ * The auto resolve function tries to convert entered text into minutes. The algorithm splits entry into two parts
91
+ * hours and minutes based on delimiter or if there is none - it takes last two digits as minutes.
92
+ *
93
+ * @export
94
+ * @class SdsDurationBoxComponent
95
+ */
96
+ class SdsDurationBoxComponent {
97
+ constructor(_durationInputResolver) {
98
+ this._durationInputResolver = _durationInputResolver;
99
+ /**
100
+ * Duration length expressed in minutes; when we allow empty values this property can be null.
101
+ *
102
+ * @type {(number | null)}
103
+ * @memberof SdsDurationBoxComponent
104
+ */
105
+ this.value = null;
106
+ this.valueChange = new EventEmitter();
107
+ /**
108
+ * Allow user to select empty value. You should provide emptyValueText in this case. The emitted value is 'null'.
109
+ *
110
+ * @type {boolean}
111
+ * @memberof SdsDurationBoxComponent
112
+ */
113
+ this.allowEmptyValue = true;
114
+ /**
115
+ * Text to be displayed when value is cleared
116
+ *
117
+ * @type {string}
118
+ * @memberof SdsDurationBoxComponent
119
+ */
120
+ this.emptyValueText = 'not set';
121
+ /**
122
+ * Width of component. By default 10rem.
123
+ *
124
+ * @type {string}
125
+ * @memberof SdsDurationBoxComponent
126
+ */
127
+ this.width = '10rem';
128
+ /**
129
+ * Specifies whether the UI component responds to user interaction.
130
+ *
131
+ * @type {boolean}
132
+ * @memberof SdsDurationBoxComponent
133
+ */
134
+ this.disabled = false;
135
+ /**
136
+ * Specifies whether to display the Clear button in the UI component.
137
+ *
138
+ * @type {boolean}
139
+ * @memberof SdsDurationBoxComponent
140
+ */
141
+ this.showClearButton = false;
142
+ /**
143
+ * Specifies how range limits are handled.
144
+ *
145
+ * @type {('fallbackToLastValue' | 'showValidationError')}
146
+ * @memberof SdsDurationBoxComponent
147
+ */
148
+ this.rangeViolationHandling = 'autoResolve';
149
+ /**
150
+ * Range violation message. Applicable when rangeViolationHandling is set to 'autoResolve'
151
+ *
152
+ * @type {string}
153
+ * @memberof SdsDurationBoxComponent
154
+ */
155
+ this.rangeViolationText = 'value is outside the valid range';
156
+ /**
157
+ * Indicates whether the editor's value is valid.
158
+ *
159
+ * @type {boolean}
160
+ * @memberof SdsDurationBoxComponent
161
+ */
162
+ this.isValid = true;
163
+ // public elementUUID = 'sds-db-' + crypto.randomUUID();
164
+ this.elementUUID = `sds-db-${Math.ceil(Math.random() * 1000000)}`;
165
+ this.inputValue = '';
166
+ this.showOptions = false;
167
+ this.isValueEmpty = false;
168
+ this.isValueSetInternally = false;
169
+ this._durationPipe = new SdsDurationFormatPipe();
170
+ this.optionsDropdownButton = {
171
+ icon: 'spindown',
172
+ stylingMode: 'text',
173
+ onClick: () => {
174
+ this.showOptions = !this.showOptions;
175
+ }
176
+ };
177
+ this.clearValueButton = {
178
+ icon: 'clear',
179
+ stylingMode: 'text',
180
+ elementAttr: { class: 'sds-durationbox-clear-button' },
181
+ onClick: () => {
182
+ this.applyOption(null);
183
+ }
184
+ };
185
+ }
186
+ ngAfterViewInit() {
187
+ if (this._validationRule) {
188
+ this._validationRule.validationCallback = () => {
189
+ return this.checkIfValid();
190
+ };
191
+ }
192
+ }
193
+ ngOnChanges(changes) {
194
+ if (changes['value'] ||
195
+ changes['min'] || changes['max'] ||
196
+ changes['rangeViolationHandling'] ||
197
+ changes['allowEmptyValue']) {
198
+ this.validateInputs();
199
+ }
200
+ }
201
+ ngOnInit() { }
202
+ blockNonNumberOrSemicolon(e) {
203
+ this.isValueSetInternally = false;
204
+ }
205
+ resolveInput() {
206
+ if (!this.isValueSetInternally) {
207
+ if (!this._durationInputResolver.isValidInput(this.inputValue)) {
208
+ // we have invalid input. use old value
209
+ this.setInputValueInternally(this.value);
210
+ this.setValidationStatusAndValidate(true);
211
+ }
212
+ else {
213
+ const resolvedValue = this._durationInputResolver.resolve(this.inputValue);
214
+ if (resolvedValue === null && this.allowEmptyValue) {
215
+ this.setValue(null);
216
+ this.setValidationStatusAndValidate(true);
217
+ }
218
+ else if (resolvedValue === null && !this.allowEmptyValue) {
219
+ this.setValue(this._durationInputResolver.getDefaultValue());
220
+ this.setValidationStatusAndValidate(true);
221
+ }
222
+ else {
223
+ // make sure that the value is within the min/max period
224
+ if (this._durationInputResolver.isValueWithinLimits(resolvedValue, this.min, this.max)) {
225
+ this.setValue(resolvedValue);
226
+ this.setValidationStatusAndValidate(true);
227
+ }
228
+ else {
229
+ // use old value
230
+ if (this.rangeViolationHandling === 'autoResolve') {
231
+ this.setInputValueInternally(this.value);
232
+ this.setValidationStatusAndValidate(true);
233
+ }
234
+ else {
235
+ this.setInputValueInternally(resolvedValue);
236
+ this.setValidationStatusAndValidate(false);
237
+ }
238
+ }
239
+ }
240
+ }
241
+ }
242
+ }
243
+ applyOption(value) {
244
+ this.showOptions = false;
245
+ this.isValueSetInternally = false;
246
+ this.setValue(value);
247
+ }
248
+ checkIfValid() {
249
+ return this.isValid;
250
+ }
251
+ validateInputs() {
252
+ if (this.value === null) {
253
+ // handle null input
254
+ if (this.allowEmptyValue) {
255
+ this.setValue(null);
256
+ }
257
+ else {
258
+ this.setValue(this._durationInputResolver.getDefaultValue());
259
+ this.inputValue = this._durationPipe.transform(this.value, this.emptyValueText);
260
+ }
261
+ this.setValidationStatusAndValidate(true);
262
+ }
263
+ else {
264
+ // handle value input
265
+ if (this._durationInputResolver.isValueWithinLimits(this.value, this.min, this.max)) {
266
+ this.inputValue = this._durationPipe.transform(this.value, this.emptyValueText);
267
+ this.setValidationStatusAndValidate(true);
268
+ }
269
+ else {
270
+ // value is out of range
271
+ if (this.rangeViolationHandling === 'autoResolve') {
272
+ this.setValue(this._durationInputResolver.getDefaultValue(this.min, this.max));
273
+ this.inputValue = this._durationPipe.transform(this.value, this.emptyValueText);
274
+ this.setValidationStatusAndValidate(true);
275
+ }
276
+ else {
277
+ this.inputValue = this._durationPipe.transform(this.value, this.emptyValueText);
278
+ this.setValidationStatusAndValidate(false);
279
+ }
280
+ }
281
+ this._validator?.instance.validate();
282
+ }
283
+ }
284
+ setValue(value) {
285
+ this.isValueEmpty = (value === null);
286
+ this.value = value;
287
+ this.valueChange.emit(this.value);
288
+ this.setInputValueInternally(value);
289
+ }
290
+ setInputValueInternally(value) {
291
+ this.isValueSetInternally = true;
292
+ setTimeout(() => {
293
+ this.inputValue = this._durationPipe.transform(value, this.emptyValueText);
294
+ }, 0);
295
+ }
296
+ setValidationStatusAndValidate(isWithinRange) {
297
+ this.isValid = (this.rangeViolationHandling === 'autoResolve') || isWithinRange;
298
+ this._validator?.instance.validate();
299
+ }
300
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsDurationBoxComponent, deps: [{ token: DurationService }], target: i0.ɵɵFactoryTarget.Component }); }
301
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SdsDurationBoxComponent, isStandalone: true, selector: "sds-duration-box", inputs: { value: "value", allowEmptyValue: "allowEmptyValue", emptyValueText: "emptyValueText", options: "options", width: "width", disabled: "disabled", showClearButton: "showClearButton", max: "max", min: "min", rangeViolationHandling: "rangeViolationHandling", rangeViolationText: "rangeViolationText" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "_validationRule", first: true, predicate: ["validationRule"], descendants: true }, { propertyName: "_validator", first: true, predicate: ["validator"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<dx-text-box\r\n #textbox\r\n [id]=\"elementUUID\"\r\n class=\"sds-durationbox\"\r\n [(value)]=\"inputValue\"\r\n (onKeyDown)=\"blockNonNumberOrSemicolon($event)\"\r\n (onChange)=\"resolveInput()\"\r\n [width]=\"width\"\r\n [disabled]=\"disabled\"\r\n >\r\n\r\n <dx-validator \r\n #validator>\r\n <dxi-validation-rule\r\n #validationRule\r\n type=\"custom\"\r\n [message]=\"rangeViolationText\"\r\n [reevaluate]=\"true\"\r\n ></dxi-validation-rule>\r\n </dx-validator>\r\n\r\n <dxi-button\r\n *ngIf=\"allowEmptyValue && showClearButton\"\r\n name=\"clearValue\"\r\n location=\"after\"\r\n [options]=\"clearValueButton\"\r\n ></dxi-button>\r\n \r\n <dxi-button\r\n *ngIf=\"options && options.length > 0\"\r\n name=\"optionsDropdown\"\r\n location=\"after\"\r\n [options]=\"optionsDropdownButton\"\r\n ></dxi-button>\r\n</dx-text-box>\r\n\r\n\r\n<dx-popover\r\n target=\"#{{elementUUID}}\"\r\n [(visible)]=\"showOptions\"\r\n [minWidth]=\"width\"\r\n [hideOnOutsideClick]=\"true\"\r\n [wrapperAttr]=\"{ class: 'sds-durationbox-options-popover' }\"\r\n >\r\n\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <dx-scroll-view>\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"isValueEmpty\"\r\n (click)=\"applyOption(null)\"\r\n > {{ emptyValueText}}\r\n </button>\r\n\r\n <div *ngFor=\"let option of options\">\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"option === value\"\r\n (click)=\"applyOption(option)\"\r\n > {{option | sdsDurationFormat}}\r\n </button>\r\n </div>\r\n </dx-scroll-view>\r\n </div>\r\n</dx-popover>", styles: ["::ng-deep .sds-durationbox .sds-durationbox-clear-button .dx-icon{color:#999}::ng-deep .sds-durationbox-options-popover .dx-popup-content{padding:.25rem;font-size:1rem}::ng-deep .sds-durationbox-options-popover .dropdown-item{padding:.5rem}::ng-deep .sds-durationbox-options-popover .dropdown-item:hover{background-color:var(--bs-gray-100)}::ng-deep .sds-durationbox-options-popover .dropdown-item:focus{outline:none}::ng-deep .sds-durationbox-options-popover .dropdown-item.selected{background-color:var(--bs-gray-300)}\n"], dependencies: [{ kind: "ngmodule", type: DxTextBoxModule }, { kind: "component", type: i2.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isDirty", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isDirtyChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i3.DxiButtonComponent, selector: "dxi-button", inputs: ["location", "name", "options", "cssClass", "disabled", "hint", "icon", "onClick", "template", "text", "visible"] }, { kind: "directive", type: i4.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "ngmodule", type: DxValidatorModule }, { kind: "component", type: i2.DxValidatorComponent, selector: "dx-validator", inputs: ["adapter", "elementAttr", "height", "name", "validationGroup", "validationRules", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onValidated", "adapterChange", "elementAttrChange", "heightChange", "nameChange", "validationGroupChange", "validationRulesChange", "widthChange"] }, { kind: "component", type: i3.DxiValidationRuleComponent, selector: "dxi-validation-rule", inputs: ["message", "trim", "type", "ignoreEmptyValue", "max", "min", "reevaluate", "validationCallback", "comparisonTarget", "comparisonType", "pattern"] }, { kind: "ngmodule", type: DxiValidationRuleModule }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DxiButtonModule }, { kind: "ngmodule", type: DxPopoverModule }, { kind: "component", type: i5.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: DxTemplateModule }, { kind: "ngmodule", type: DxScrollViewModule }, { kind: "component", type: i6.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: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: SdsDurationFormatPipe, name: "sdsDurationFormat" }] }); }
302
+ }
303
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsDurationBoxComponent, decorators: [{
304
+ type: Component,
305
+ args: [{ selector: 'sds-duration-box', standalone: true, imports: [
306
+ DxTextBoxModule,
307
+ DxValidatorModule,
308
+ DxiValidationRuleModule,
309
+ NgIf,
310
+ DxiButtonModule,
311
+ DxPopoverModule,
312
+ DxTemplateModule,
313
+ DxScrollViewModule,
314
+ NgFor,
315
+ SdsDurationFormatPipe,
316
+ ], template: "<dx-text-box\r\n #textbox\r\n [id]=\"elementUUID\"\r\n class=\"sds-durationbox\"\r\n [(value)]=\"inputValue\"\r\n (onKeyDown)=\"blockNonNumberOrSemicolon($event)\"\r\n (onChange)=\"resolveInput()\"\r\n [width]=\"width\"\r\n [disabled]=\"disabled\"\r\n >\r\n\r\n <dx-validator \r\n #validator>\r\n <dxi-validation-rule\r\n #validationRule\r\n type=\"custom\"\r\n [message]=\"rangeViolationText\"\r\n [reevaluate]=\"true\"\r\n ></dxi-validation-rule>\r\n </dx-validator>\r\n\r\n <dxi-button\r\n *ngIf=\"allowEmptyValue && showClearButton\"\r\n name=\"clearValue\"\r\n location=\"after\"\r\n [options]=\"clearValueButton\"\r\n ></dxi-button>\r\n \r\n <dxi-button\r\n *ngIf=\"options && options.length > 0\"\r\n name=\"optionsDropdown\"\r\n location=\"after\"\r\n [options]=\"optionsDropdownButton\"\r\n ></dxi-button>\r\n</dx-text-box>\r\n\r\n\r\n<dx-popover\r\n target=\"#{{elementUUID}}\"\r\n [(visible)]=\"showOptions\"\r\n [minWidth]=\"width\"\r\n [hideOnOutsideClick]=\"true\"\r\n [wrapperAttr]=\"{ class: 'sds-durationbox-options-popover' }\"\r\n >\r\n\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <dx-scroll-view>\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"isValueEmpty\"\r\n (click)=\"applyOption(null)\"\r\n > {{ emptyValueText}}\r\n </button>\r\n\r\n <div *ngFor=\"let option of options\">\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"option === value\"\r\n (click)=\"applyOption(option)\"\r\n > {{option | sdsDurationFormat}}\r\n </button>\r\n </div>\r\n </dx-scroll-view>\r\n </div>\r\n</dx-popover>", styles: ["::ng-deep .sds-durationbox .sds-durationbox-clear-button .dx-icon{color:#999}::ng-deep .sds-durationbox-options-popover .dx-popup-content{padding:.25rem;font-size:1rem}::ng-deep .sds-durationbox-options-popover .dropdown-item{padding:.5rem}::ng-deep .sds-durationbox-options-popover .dropdown-item:hover{background-color:var(--bs-gray-100)}::ng-deep .sds-durationbox-options-popover .dropdown-item:focus{outline:none}::ng-deep .sds-durationbox-options-popover .dropdown-item.selected{background-color:var(--bs-gray-300)}\n"] }]
317
+ }], ctorParameters: () => [{ type: DurationService }], propDecorators: { value: [{
318
+ type: Input
319
+ }], valueChange: [{
320
+ type: Output
321
+ }], allowEmptyValue: [{
322
+ type: Input
323
+ }], emptyValueText: [{
324
+ type: Input
325
+ }], options: [{
326
+ type: Input
327
+ }], width: [{
328
+ type: Input
329
+ }], disabled: [{
330
+ type: Input
331
+ }], showClearButton: [{
332
+ type: Input
333
+ }], max: [{
334
+ type: Input
335
+ }], min: [{
336
+ type: Input
337
+ }], rangeViolationHandling: [{
338
+ type: Input
339
+ }], rangeViolationText: [{
340
+ type: Input
341
+ }], _validationRule: [{
342
+ type: ViewChild,
343
+ args: ['validationRule', { static: false }]
344
+ }], _validator: [{
345
+ type: ViewChild,
346
+ args: ['validator', { static: false }]
347
+ }] } });
348
+
349
+ /**
350
+ * Generated bundle index. Do not edit.
351
+ */
352
+
353
+ export { SdsDurationBoxComponent };
354
+ //# sourceMappingURL=spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-duration-box.mjs","sources":["../../../projects/ngx-sds-components/src/lib/duration-box/duration.service.ts","../../../projects/ngx-sds-components/src/lib/duration-box/duration-box.component.ts","../../../projects/ngx-sds-components/src/lib/duration-box/duration-box.component.html","../../../projects/ngx-sds-components/src/lib/duration-box/spicainternational-ngx-sds-components-src-lib-duration-box.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DurationService {\r\n \r\n constructor() {}\r\n\r\n public resolve(input: string): number | null{\r\n if (!input || input.length === 0) {\r\n return null;\r\n }\r\n\r\n const inputSegments = input.split(':');\r\n if (inputSegments.length > 2) {\r\n //invalid input\r\n return 0;\r\n } else if (inputSegments.length == 2){\r\n // we have hrs and minutes\r\n const hrs = parseInt(inputSegments[0] ? inputSegments[0] : '0');\r\n const mins = parseInt(inputSegments[1] ? inputSegments[1] : '0');\r\n const totalMins = (hrs * 60) + mins;\r\n\r\n return totalMins;\r\n } else if (inputSegments.length == 1) {\r\n // take last two digits as mins\r\n const nonSeparated = inputSegments[0];\r\n\r\n let totalMins = 0;\r\n if (nonSeparated.length <= 2) {\r\n totalMins = parseInt(nonSeparated)\r\n } else {\r\n const lastIndex = nonSeparated.length - 2;\r\n const part1 = nonSeparated.slice(0, lastIndex);\r\n const part2 = nonSeparated.slice(lastIndex);\r\n const hrs = parseInt(part1);\r\n const mins = parseInt(part2);\r\n totalMins = (hrs * 60) + mins; \r\n }\r\n return totalMins;\r\n }\r\n return 0; \r\n }\r\n\r\n public isValidInput(input: string) {\r\n if (input === '') {\r\n return true;\r\n }\r\n\r\n const regexNumbersOnly = /^[+-]?\\d+$/;\r\n const regexColonSeparated = /^[+-]?\\d+:\\d+$/;\r\n return regexNumbersOnly.test(input) || regexColonSeparated.test(input);\r\n }\r\n\r\n public getDefaultValue(min?: number, max?: number): number {\r\n let defaultValue = 0;\r\n // try keeping the 0 as default\r\n // if it is outside the min/max then adjust\r\n if (min) {\r\n defaultValue = Math.max(defaultValue, min);\r\n }\r\n if (max) {\r\n defaultValue = Math.min(defaultValue, max);\r\n }\r\n return defaultValue;\r\n }\r\n\r\n public isValueWithinLimits(value: number, min?: number, max?: number): boolean {\r\n return !((min != undefined && value < min) || (max != undefined && value > max))\r\n } \r\n\r\n}\r\n","import { AfterViewInit, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { SdsDurationFormatPipe } from '@spicainternational/ngx-sds-components/src/lib/duration-pipe';\r\nimport { DxValidatorComponent, DxTextBoxModule, DxValidatorModule } from 'devextreme-angular';\r\nimport { DxiValidationRuleComponent, DxiValidationRuleModule, DxiButtonModule } from 'devextreme-angular/ui/nested';\r\nimport { DurationBoxRangeViolationHandling } from './duration-box.types';\r\nimport { DurationService } from './duration.service';\r\n// import { SdsDurationFormatPipe as SdsDurationFormatPipe_1 } from '../duration-pipe/duration-format.pipe';\r\nimport { DxScrollViewModule } from 'devextreme-angular/ui/scroll-view';\r\nimport { DxTemplateModule } from 'devextreme-angular/core';\r\nimport { DxPopoverModule } from 'devextreme-angular/ui/popover';\r\nimport { NgIf, NgFor } from '@angular/common';\r\n\r\n/**\r\n * Component allows user to enter duration in h:mm format. User may also select no value is this is applicable to the \r\n * use case. A list of pre-defined durations can be provided for easier selection.\r\n * \r\n * The auto resolve function tries to convert entered text into minutes. The algorithm splits entry into two parts \r\n * hours and minutes based on delimiter or if there is none - it takes last two digits as minutes.\r\n *\r\n * @export\r\n * @class SdsDurationBoxComponent\r\n */\r\n@Component({\r\n selector: 'sds-duration-box',\r\n templateUrl: './duration-box.component.html',\r\n styleUrls: ['./duration-box.component.scss'],\r\n standalone: true,\r\n imports: [\r\n DxTextBoxModule,\r\n DxValidatorModule,\r\n DxiValidationRuleModule,\r\n NgIf,\r\n DxiButtonModule,\r\n DxPopoverModule,\r\n DxTemplateModule,\r\n DxScrollViewModule,\r\n NgFor,\r\n SdsDurationFormatPipe,\r\n ],\r\n})\r\nexport class SdsDurationBoxComponent implements OnInit, OnChanges, AfterViewInit {\r\n /**\r\n * Duration length expressed in minutes; when we allow empty values this property can be null.\r\n *\r\n * @type {(number | null)}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() value: number | null = null;\r\n @Output() valueChange = new EventEmitter<number | null>();\r\n\r\n /**\r\n * Allow user to select empty value. You should provide emptyValueText in this case. The emitted value is 'null'.\r\n *\r\n * @type {boolean}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() allowEmptyValue: boolean = true;\r\n\r\n /**\r\n * Text to be displayed when value is cleared\r\n *\r\n * @type {string}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() emptyValueText: string = 'not set';\r\n\r\n /**\r\n * Array of pre-defined durations that will be displayed in dropdown for easier selection.\r\n *\r\n * @type {number[]}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() options?: number[];\r\n \r\n /**\r\n * Width of component. By default 10rem.\r\n *\r\n * @type {string}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() width: string = '10rem';\r\n\r\n /**\r\n * Specifies whether the UI component responds to user interaction.\r\n *\r\n * @type {boolean}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() disabled: boolean = false;\r\n \r\n /**\r\n * Specifies whether to display the Clear button in the UI component.\r\n *\r\n * @type {boolean}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() showClearButton: boolean = false;\r\n\r\n /**\r\n * The maximum value accepted by the duration box.\r\n *\r\n * @type {number}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() max?: number;\r\n\r\n /**\r\n * The minimum value accepted by the duration box.\r\n *\r\n * @type {number}\r\n * @memberof SdsDurationBoxComponent\r\n */ \r\n @Input() min?: number;\r\n\r\n /**\r\n * Specifies how range limits are handled.\r\n *\r\n * @type {('fallbackToLastValue' | 'showValidationError')}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() rangeViolationHandling: DurationBoxRangeViolationHandling = 'autoResolve';\r\n\r\n /**\r\n * Range violation message. Applicable when rangeViolationHandling is set to 'autoResolve'\r\n *\r\n * @type {string}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() rangeViolationText: string = 'value is outside the valid range';\r\n\r\n /**\r\n * Indicates whether the editor's value is valid.\r\n *\r\n * @type {boolean}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n public isValid: boolean = true;\r\n\r\n\r\n\r\n // public elementUUID = 'sds-db-' + crypto.randomUUID();\r\n public elementUUID = `sds-db-${Math.ceil(Math.random() * 1000000)}`;\r\n\r\n\r\n public inputValue: string = '';\r\n public showOptions: boolean = false;\r\n \r\n public optionsDropdownButton;\r\n public clearValueButton;\r\n\r\n public isValueEmpty = false;\r\n\r\n\r\n @ViewChild('validationRule', { static: false }) private _validationRule: DxiValidationRuleComponent | undefined;\r\n @ViewChild('validator', { static: false }) private _validator: DxValidatorComponent | undefined;\r\n\r\n private isValueSetInternally = false;\r\n private _durationPipe: SdsDurationFormatPipe;\r\n\r\n constructor(\r\n private _durationInputResolver: DurationService,\r\n ) {\r\n this._durationPipe = new SdsDurationFormatPipe();\r\n \r\n this.optionsDropdownButton = {\r\n icon: 'spindown',\r\n stylingMode: 'text',\r\n \r\n onClick: () => {\r\n this.showOptions = !this.showOptions;\r\n }\r\n }\r\n\r\n this.clearValueButton = {\r\n icon: 'clear',\r\n stylingMode: 'text',\r\n elementAttr: { class: 'sds-durationbox-clear-button' },\r\n onClick: () => {\r\n this.applyOption(null);\r\n }\r\n } \r\n }\r\n ngAfterViewInit(): void {\r\n if (this._validationRule) {\r\n this._validationRule.validationCallback = () => { \r\n return this.checkIfValid() \r\n };\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (\r\n changes['value'] || \r\n changes['min'] || changes['max'] || \r\n changes['rangeViolationHandling'] ||\r\n changes['allowEmptyValue']\r\n ) {\r\n this.validateInputs();\r\n } \r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n public blockNonNumberOrSemicolon(e: any) {\r\n this.isValueSetInternally = false;\r\n }\r\n\r\n public resolveInput() {\r\n if (!this.isValueSetInternally){\r\n if (!this._durationInputResolver.isValidInput(this.inputValue)) {\r\n // we have invalid input. use old value\r\n this.setInputValueInternally(this.value);\r\n this.setValidationStatusAndValidate(true);\r\n } else {\r\n const resolvedValue = this._durationInputResolver.resolve(this.inputValue);\r\n if (resolvedValue === null && this.allowEmptyValue) {\r\n this.setValue(null);\r\n this.setValidationStatusAndValidate(true);\r\n } else if (resolvedValue === null && !this.allowEmptyValue) {\r\n this.setValue(this._durationInputResolver.getDefaultValue());\r\n this.setValidationStatusAndValidate(true);\r\n } else {\r\n // make sure that the value is within the min/max period\r\n if (this._durationInputResolver.isValueWithinLimits(resolvedValue as number, this.min, this.max)) {\r\n this.setValue(resolvedValue);\r\n this.setValidationStatusAndValidate(true);\r\n } else {\r\n // use old value\r\n if (this.rangeViolationHandling === 'autoResolve'){\r\n this.setInputValueInternally(this.value);\r\n this.setValidationStatusAndValidate(true);\r\n } else {\r\n this.setInputValueInternally(resolvedValue);\r\n this.setValidationStatusAndValidate(false);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n public applyOption(value: number | null){\r\n this.showOptions = false;\r\n this.isValueSetInternally = false;\r\n this.setValue(value);\r\n }\r\n\r\n public checkIfValid() {\r\n return this.isValid;\r\n }\r\n\r\n private validateInputs(){\r\n if (this.value === null) {\r\n // handle null input\r\n if (this.allowEmptyValue) {\r\n this.setValue(null);\r\n } else {\r\n this.setValue(this._durationInputResolver.getDefaultValue());\r\n this.inputValue = this._durationPipe.transform(this.value, this.emptyValueText);\r\n }\r\n this.setValidationStatusAndValidate(true);\r\n } else {\r\n // handle value input\r\n if (this._durationInputResolver.isValueWithinLimits(this.value, this.min, this.max)){\r\n this.inputValue = this._durationPipe.transform(this.value, this.emptyValueText);\r\n this.setValidationStatusAndValidate(true);\r\n } else {\r\n // value is out of range\r\n if (this.rangeViolationHandling === 'autoResolve'){\r\n this.setValue(this._durationInputResolver.getDefaultValue(this.min, this.max));\r\n this.inputValue = this._durationPipe.transform(this.value, this.emptyValueText);\r\n this.setValidationStatusAndValidate(true);\r\n } else {\r\n this.inputValue = this._durationPipe.transform(this.value, this.emptyValueText);\r\n this.setValidationStatusAndValidate(false);\r\n }\r\n }\r\n this._validator?.instance.validate();\r\n } \r\n }\r\n\r\n private setValue(value: number | null){\r\n this.isValueEmpty = (value === null);\r\n this.value = value;\r\n this.valueChange.emit(this.value);\r\n this.setInputValueInternally(value);\r\n }\r\n\r\n private setInputValueInternally(value: number | null){\r\n this.isValueSetInternally = true;\r\n setTimeout(() => {\r\n this.inputValue = this._durationPipe.transform(value, this.emptyValueText);\r\n }, 0);\r\n }\r\n\r\n private setValidationStatusAndValidate(isWithinRange: boolean){\r\n this.isValid = (this.rangeViolationHandling === 'autoResolve') || isWithinRange;\r\n this._validator?.instance.validate();\r\n }\r\n\r\n}\r\n","<dx-text-box\r\n #textbox\r\n [id]=\"elementUUID\"\r\n class=\"sds-durationbox\"\r\n [(value)]=\"inputValue\"\r\n (onKeyDown)=\"blockNonNumberOrSemicolon($event)\"\r\n (onChange)=\"resolveInput()\"\r\n [width]=\"width\"\r\n [disabled]=\"disabled\"\r\n >\r\n\r\n <dx-validator \r\n #validator>\r\n <dxi-validation-rule\r\n #validationRule\r\n type=\"custom\"\r\n [message]=\"rangeViolationText\"\r\n [reevaluate]=\"true\"\r\n ></dxi-validation-rule>\r\n </dx-validator>\r\n\r\n <dxi-button\r\n *ngIf=\"allowEmptyValue && showClearButton\"\r\n name=\"clearValue\"\r\n location=\"after\"\r\n [options]=\"clearValueButton\"\r\n ></dxi-button>\r\n \r\n <dxi-button\r\n *ngIf=\"options && options.length > 0\"\r\n name=\"optionsDropdown\"\r\n location=\"after\"\r\n [options]=\"optionsDropdownButton\"\r\n ></dxi-button>\r\n</dx-text-box>\r\n\r\n\r\n<dx-popover\r\n target=\"#{{elementUUID}}\"\r\n [(visible)]=\"showOptions\"\r\n [minWidth]=\"width\"\r\n [hideOnOutsideClick]=\"true\"\r\n [wrapperAttr]=\"{ class: 'sds-durationbox-options-popover' }\"\r\n >\r\n\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <dx-scroll-view>\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"isValueEmpty\"\r\n (click)=\"applyOption(null)\"\r\n > {{ emptyValueText}}\r\n </button>\r\n\r\n <div *ngFor=\"let option of options\">\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"option === value\"\r\n (click)=\"applyOption(option)\"\r\n > {{option | sdsDurationFormat}}\r\n </button>\r\n </div>\r\n </dx-scroll-view>\r\n </div>\r\n</dx-popover>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.DurationService"],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Pipe } from '@angular/core';
3
+
4
+ class SdsDurationFormatPipe {
5
+ transform(value, emptyValueText = '') {
6
+ if (value === null) {
7
+ return emptyValueText;
8
+ }
9
+ else if (typeof value === 'number') {
10
+ const sign = Math.sign(value);
11
+ value = Math.abs(value);
12
+ const hours = Math.floor(value / 60);
13
+ const mins = value % 60;
14
+ return `${sign === -1 ? '-' : ''}${hours.toString().padStart(1, '0')}:${mins.toString().padStart(2, '0')}`;
15
+ }
16
+ return '';
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsDurationFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
19
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: SdsDurationFormatPipe, isStandalone: true, name: "sdsDurationFormat" }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsDurationFormatPipe, decorators: [{
22
+ type: Pipe,
23
+ args: [{
24
+ name: 'sdsDurationFormat',
25
+ standalone: true,
26
+ }]
27
+ }] });
28
+
29
+ /**
30
+ * Generated bundle index. Do not edit.
31
+ */
32
+
33
+ export { SdsDurationFormatPipe };
34
+ //# sourceMappingURL=spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs","sources":["../../../projects/ngx-sds-components/src/lib/duration-pipe/duration-format.pipe.ts","../../../projects/ngx-sds-components/src/lib/duration-pipe/spicainternational-ngx-sds-components-src-lib-duration-pipe.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'sdsDurationFormat',\r\n standalone: true,\r\n})\r\nexport class SdsDurationFormatPipe implements PipeTransform {\r\n transform(value: number | null, emptyValueText: string = ''): string {\r\n if (value === null) {\r\n return emptyValueText;\r\n } else if (typeof value === 'number') {\r\n const sign = Math.sign(value);\r\n value = Math.abs(value);\r\n const hours = Math.floor(value / 60);\r\n const mins = value % 60;\r\n return `${sign === -1 ? '-' : ''}${hours.toString().padStart(1, '0')}:${mins.toString().padStart(2, '0')}`;\r\n }\r\n return '';\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAMa,qBAAqB,CAAA;AAC9B,IAAA,SAAS,CAAC,KAAoB,EAAE,cAAA,GAAyB,EAAE,EAAA;AACvD,QAAA,IAAI,KAAK,KAAK,IAAI,EAAE;AAChB,YAAA,OAAO,cAAc;;AAClB,aAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAC7B,YAAA,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;AACpC,YAAA,MAAM,IAAI,GAAG,KAAK,GAAG,EAAE;AACvB,YAAA,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;;AAE9G,QAAA,OAAO,EAAE;;+GAXJ,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,mBAAA,EAAA,CAAA,CAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,mBAAmB;AACzB,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA;;;ACLD;;AAEG;;;;"}
@@ -0,0 +1,59 @@
1
+ import * as i0 from '@angular/core';
2
+ import { HostListener, Input, Directive } from '@angular/core';
3
+
4
+ /*
5
+ * Parent must have a fixed width for this directive to work properly.
6
+ * Ellipsis will not appear without a parent width.
7
+ *
8
+ * tooltipText: @Input overrides the element's innerHtml with the provided
9
+ * string variable in the title, used to prevent HTML tags from appearing
10
+ * in the mouseover title. This will override text from an Input node.
11
+ */
12
+ class SdsEllipsisDirective {
13
+ constructor(elementRef, renderer) {
14
+ this.elementRef = elementRef;
15
+ this.renderer = renderer;
16
+ }
17
+ ngAfterViewInit() {
18
+ this.element = this.elementRef.nativeElement;
19
+ this.renderer.setStyle(this.element, 'display', 'block');
20
+ this.renderer.setStyle(this.element, 'overflow', 'hidden');
21
+ this.renderer.setStyle(this.element, 'textOverflow', 'ellipsis');
22
+ this.renderer.setStyle(this.element, 'whiteSpace', 'nowrap');
23
+ }
24
+ enter() {
25
+ if (this.element && this.element.offsetWidth < this.element.scrollWidth) {
26
+ // this.renderer.setStyle(this.element, 'cursor', 'pointer');
27
+ if (this.tooltipText !== undefined && this.tooltipText.length > 0) {
28
+ this.element.title = this.tooltipText;
29
+ return;
30
+ }
31
+ else if (this.element.nodeName === 'INPUT') {
32
+ this.element.title = this.elementRef?.nativeElement?.value;
33
+ return;
34
+ }
35
+ this.element.title = this.element.innerHTML;
36
+ }
37
+ }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsEllipsisDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
39
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: SdsEllipsisDirective, isStandalone: true, selector: "[sdsEllipsis]", inputs: { tooltipText: "tooltipText" }, host: { listeners: { "mouseenter": "enter()" } }, ngImport: i0 }); }
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsEllipsisDirective, decorators: [{
42
+ type: Directive,
43
+ args: [{
44
+ selector: '[sdsEllipsis]',
45
+ standalone: true,
46
+ }]
47
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { tooltipText: [{
48
+ type: Input
49
+ }], enter: [{
50
+ type: HostListener,
51
+ args: ['mouseenter']
52
+ }] } });
53
+
54
+ /**
55
+ * Generated bundle index. Do not edit.
56
+ */
57
+
58
+ export { SdsEllipsisDirective };
59
+ //# sourceMappingURL=spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spicainternational-ngx-sds-components-src-lib-ellipsis.mjs","sources":["../../../projects/ngx-sds-components/src/lib/ellipsis/directives/ellipsis.directive.ts","../../../projects/ngx-sds-components/src/lib/ellipsis/spicainternational-ngx-sds-components-src-lib-ellipsis.ts"],"sourcesContent":["import { AfterViewInit, Directive, ElementRef, HostListener, Input, Renderer2 } from '@angular/core';\r\n\r\n/*\r\n * Parent must have a fixed width for this directive to work properly.\r\n * Ellipsis will not appear without a parent width.\r\n *\r\n * tooltipText: @Input overrides the element's innerHtml with the provided\r\n * string variable in the title, used to prevent HTML tags from appearing\r\n * in the mouseover title. This will override text from an Input node.\r\n */\r\n@Directive({\r\n selector: '[sdsEllipsis]',\r\n standalone: true,\r\n})\r\nexport class SdsEllipsisDirective implements AfterViewInit {\r\n @Input() public tooltipText?: string;\r\n\r\n private element?: HTMLElement;\r\n\r\n public constructor(\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n public ngAfterViewInit(): void {\r\n this.element = this.elementRef.nativeElement;\r\n this.renderer.setStyle(this.element, 'display', 'block');\r\n this.renderer.setStyle(this.element, 'overflow', 'hidden');\r\n this.renderer.setStyle(this.element, 'textOverflow', 'ellipsis');\r\n this.renderer.setStyle(this.element, 'whiteSpace', 'nowrap');\r\n }\r\n\r\n @HostListener('mouseenter') public enter(): void {\r\n if (this.element && this.element.offsetWidth < this.element.scrollWidth) {\r\n // this.renderer.setStyle(this.element, 'cursor', 'pointer');\r\n\r\n if (this.tooltipText !== undefined && this.tooltipText.length > 0) {\r\n this.element.title = this.tooltipText;\r\n return;\r\n } else if (this.element.nodeName === 'INPUT') {\r\n this.element.title = this.elementRef?.nativeElement?.value;\r\n return;\r\n }\r\n this.element.title = this.element.innerHTML;\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAEA;;;;;;;AAOG;MAKU,oBAAoB,CAAA;IAK7B,WACY,CAAA,UAAsB,EACtB,QAAmB,EAAA;QADnB,IAAU,CAAA,UAAA,GAAV,UAAU;QACV,IAAQ,CAAA,QAAA,GAAR,QAAQ;;IAGb,eAAe,GAAA;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa;AAC5C,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC;AACxD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC;AAC1D,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,CAAC;AAChE,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC;;IAG7B,KAAK,GAAA;AACpC,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;;AAGrE,YAAA,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/D,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW;gBACrC;;iBACG,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;AAC1C,gBAAA,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK;gBAC1D;;YAEJ,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;;;+GA7B1C,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA;uGAEmB,WAAW,EAAA,CAAA;sBAA1B;gBAiBkC,KAAK,EAAA,CAAA;sBAAvC,YAAY;uBAAC,YAAY;;;AChC9B;;AAEG;;;;"}