@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,1025 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, EventEmitter, ViewChild, Input, Output, ContentChild, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { locale } from 'devextreme/localization';
4
+ import { isSameDay, startOfMonth, endOfMonth, isSameMonth, add, startOfDay, differenceInMonths, differenceInDays, startOfYear, addYears, endOfYear, addMonths, startOfWeek, addWeeks, endOfWeek, addDays, isBefore, isAfter, isSameYear } from 'date-fns';
5
+ import { faAngleLeft, faAngleRight, faCalendar, faLock } from '@fortawesome/pro-regular-svg-icons';
6
+ import { faArrowRight } from '@fortawesome/pro-light-svg-icons';
7
+ import * as i7 from 'devextreme-angular';
8
+ import { DxDateBoxModule, DxCalendarModule } from 'devextreme-angular';
9
+ import * as i6 from 'devextreme-angular/ui/scroll-view';
10
+ import { DxScrollViewModule } from 'devextreme-angular/ui/scroll-view';
11
+ import * as i4 from 'devextreme-angular/ui/nested';
12
+ import { DxoAnimationModule, DxoShowModule, DxoHideModule } from 'devextreme-angular/ui/nested';
13
+ import * as i2 from '@fortawesome/angular-fontawesome';
14
+ import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
15
+ import * as i5 from 'devextreme-angular/core';
16
+ import { DxTemplateModule } from 'devextreme-angular/core';
17
+ import * as i3 from 'devextreme-angular/ui/popover';
18
+ import { DxPopoverModule } from 'devextreme-angular/ui/popover';
19
+ import { NgFor, NgIf } from '@angular/common';
20
+ import { CdkTrapFocus } from '@angular/cdk/a11y';
21
+ import { SdsDateComparePipe } from '@spicainternational/ngx-sds-components/src/lib/date-pipes';
22
+
23
+ class DateRangeTranslations {
24
+ constructor() {
25
+ this.custom = '';
26
+ }
27
+ }
28
+ class PeriodPickerDateRangeDefinition {
29
+ constructor(name, type = 'fixed', dynamicDateRangeDefinition, dateFrom, dateTo) {
30
+ this.name = '';
31
+ this.type = 'fixed';
32
+ this.name = name;
33
+ this.type = type;
34
+ this.dynamicDateRangeDefinition = dynamicDateRangeDefinition;
35
+ this.dateFrom = dateFrom;
36
+ this.dateTo = dateTo;
37
+ }
38
+ }
39
+ class PeriodPickerDateRangeDynamicDefinition {
40
+ constructor(dimension, modifier) {
41
+ this.dimension = dimension;
42
+ this.modifier = modifier;
43
+ }
44
+ }
45
+ class PeriodPickerDateRange {
46
+ constructor(name, dateFrom, dateTo) {
47
+ this.name = name;
48
+ this.dateFrom = dateFrom;
49
+ this.dateTo = dateTo;
50
+ }
51
+ }
52
+ class PeriodPickerDynamicDateRangeDefinitionGenerator {
53
+ static generateMonthlyRanges(currentMonthText, previousMonthText, nextMonthText) {
54
+ const ranges = [];
55
+ if (currentMonthText) {
56
+ ranges.push(new PeriodPickerDateRangeDefinition(currentMonthText, 'dynamic', { dimension: 'm', modifier: 0 }));
57
+ }
58
+ if (nextMonthText) {
59
+ ranges.push(new PeriodPickerDateRangeDefinition(nextMonthText, 'dynamic', { dimension: 'm', modifier: 1 }));
60
+ }
61
+ if (previousMonthText) {
62
+ ranges.push(new PeriodPickerDateRangeDefinition(previousMonthText, 'dynamic', { dimension: 'm', modifier: -1 }));
63
+ }
64
+ return ranges;
65
+ }
66
+ static generateWeeklyRanges(currentWeekText, previousWeekText, nextWeekText) {
67
+ const ranges = [];
68
+ if (currentWeekText) {
69
+ ranges.push(new PeriodPickerDateRangeDefinition(currentWeekText, 'dynamic', { dimension: 'w', modifier: 0 }));
70
+ }
71
+ if (nextWeekText) {
72
+ ranges.push(new PeriodPickerDateRangeDefinition(nextWeekText, 'dynamic', { dimension: 'w', modifier: 1 }));
73
+ }
74
+ if (previousWeekText) {
75
+ ranges.push(new PeriodPickerDateRangeDefinition(previousWeekText, 'dynamic', { dimension: 'w', modifier: -1 }));
76
+ }
77
+ return ranges;
78
+ }
79
+ static generateDailyRanges(currentDayText, previousDayText, nextDayText) {
80
+ const ranges = [];
81
+ if (currentDayText) {
82
+ ranges.push(new PeriodPickerDateRangeDefinition(currentDayText, 'dynamic', { dimension: 'd', modifier: 0 }));
83
+ }
84
+ if (nextDayText) {
85
+ ranges.push(new PeriodPickerDateRangeDefinition(nextDayText, 'dynamic', { dimension: 'd', modifier: 1 }));
86
+ }
87
+ if (previousDayText) {
88
+ ranges.push(new PeriodPickerDateRangeDefinition(previousDayText, 'dynamic', { dimension: 'd', modifier: -1 }));
89
+ }
90
+ return ranges;
91
+ }
92
+ }
93
+
94
+ class SdsDatePickerService {
95
+ constructor() { }
96
+ getRange(currentStartDate, currentEndDate, direction) {
97
+ const modifier = direction == 'next' ? 1 : -1;
98
+ let dateStart, dateEnd;
99
+ if (isSameDay(currentStartDate, startOfMonth(currentStartDate)) &&
100
+ isSameDay(currentEndDate, endOfMonth(currentEndDate)) &&
101
+ isSameMonth(currentStartDate, currentEndDate)) {
102
+ // Month range.
103
+ dateStart = add(currentStartDate, { months: modifier });
104
+ dateEnd = startOfDay(endOfMonth(add(currentEndDate, { months: modifier })));
105
+ }
106
+ else {
107
+ // Custom range in months
108
+ if (isSameDay(currentStartDate, startOfMonth(currentStartDate)) &&
109
+ isSameDay(currentEndDate, endOfMonth(currentEndDate))) {
110
+ const monthsDiff = differenceInMonths(currentEndDate, currentStartDate) + 1;
111
+ dateStart = add(currentStartDate, {
112
+ months: monthsDiff * modifier,
113
+ });
114
+ dateEnd = startOfDay(endOfMonth(add(currentEndDate, { months: monthsDiff * modifier })));
115
+ }
116
+ else {
117
+ // Custom range in days
118
+ const dayDiff = differenceInDays(currentEndDate, currentStartDate) + 1;
119
+ dateStart = add(currentStartDate, { days: dayDiff * modifier });
120
+ dateEnd = add(currentEndDate, { days: dayDiff * modifier });
121
+ }
122
+ }
123
+ return [dateStart, dateEnd];
124
+ }
125
+ getPredefinedDateRanges(dateRangeDefinitions, referenceDay, firstDayOfWeek) {
126
+ let predefinedDateRanges = new Array();
127
+ referenceDay = startOfDay(referenceDay);
128
+ dateRangeDefinitions.forEach((definition) => {
129
+ if (definition.type == 'fixed') {
130
+ if (definition.dateFrom !== undefined &&
131
+ definition.dateTo !== undefined) {
132
+ const fixedDateRange = new PeriodPickerDateRange(definition.name, definition.dateFrom, definition.dateTo);
133
+ predefinedDateRanges.push(fixedDateRange);
134
+ }
135
+ }
136
+ else if (definition.type == 'dynamic') {
137
+ const dateRangeDefinition = definition.dynamicDateRangeDefinition;
138
+ if (dateRangeDefinition) {
139
+ let dateFrom = null;
140
+ let dateTo = null;
141
+ switch (dateRangeDefinition.dimension) {
142
+ case 'd':
143
+ dateFrom = addDays(referenceDay, dateRangeDefinition.modifier);
144
+ dateTo = addDays(referenceDay, dateRangeDefinition.modifier);
145
+ break;
146
+ case 'w':
147
+ dateFrom = startOfWeek(addWeeks(referenceDay, dateRangeDefinition.modifier), { weekStartsOn: firstDayOfWeek });
148
+ dateTo = endOfWeek(addWeeks(referenceDay, dateRangeDefinition.modifier), { weekStartsOn: firstDayOfWeek });
149
+ break;
150
+ case 'm':
151
+ dateFrom = startOfMonth(addMonths(referenceDay, dateRangeDefinition.modifier));
152
+ dateTo = endOfMonth(addMonths(referenceDay, dateRangeDefinition.modifier));
153
+ break;
154
+ case 'y':
155
+ dateFrom = startOfYear(addYears(referenceDay, dateRangeDefinition.modifier));
156
+ dateTo = endOfYear(addYears(referenceDay, dateRangeDefinition.modifier));
157
+ break;
158
+ default:
159
+ break;
160
+ }
161
+ if (dateFrom != undefined && dateTo != undefined) {
162
+ const dynamicRangeDefinition = new PeriodPickerDateRange(definition.name, dateFrom, startOfDay(dateTo));
163
+ predefinedDateRanges.push(dynamicRangeDefinition);
164
+ }
165
+ }
166
+ }
167
+ });
168
+ return predefinedDateRanges;
169
+ }
170
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsDatePickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
171
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsDatePickerService, providedIn: 'root' }); }
172
+ }
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsDatePickerService, decorators: [{
174
+ type: Injectable,
175
+ args: [{
176
+ providedIn: 'root',
177
+ }]
178
+ }], ctorParameters: () => [] });
179
+
180
+ // import { faLock } from '@fortawesome/pro-solid-svg-icons';
181
+ class SdsDatePickerComponent {
182
+ // public methods
183
+ constructor(changeRef, datePickerService) {
184
+ this.changeRef = changeRef;
185
+ this.datePickerService = datePickerService;
186
+ this.displayContent = undefined;
187
+ // public interface
188
+ this.selectionKind = 'period';
189
+ this.dateRangeDefinitions = [];
190
+ // single date selector
191
+ this.selectedDate = new Date();
192
+ this.selectedDateChange = new EventEmitter();
193
+ this.selectedDateStartChange = new EventEmitter();
194
+ // format function for displaying date when single date is selected
195
+ this.singleDayFormatFn = undefined;
196
+ // format function for displaying each date when date range is selected
197
+ this.dateRangeFormatFn = undefined;
198
+ this.selectedDateEndChange = new EventEmitter();
199
+ this.periodChange = new EventEmitter();
200
+ this.disabled = false;
201
+ this.validationError = '';
202
+ this.isValid = true;
203
+ this.disabledDates = [];
204
+ this.applyText = 'close';
205
+ this.cancelText = 'close';
206
+ this.firstDayOfWeek = 1;
207
+ this.dateRangeDefinitionsWidth = '11rem';
208
+ this.showPreviousAndNextButtons = true;
209
+ this.width = '30rem';
210
+ this.dropdownWrapperClass = '';
211
+ this.dropdownWrapperId = '';
212
+ this.getPreviousDateCallback = this.getPreviousDay;
213
+ this.getNextDateCallback = this.getNextDay;
214
+ this.getPreviousRangeCallback = this.getPreviousRange;
215
+ this.getNextRangeCallback = this.getNextRange;
216
+ this.useCustomDisplayContent = false;
217
+ this.displayPredefinedDateRangeName = false;
218
+ this.style = 'classic';
219
+ this.compactStyleDisplay = 'predefinedRange';
220
+ this.dateInputDisplayFormat = 'shortDate';
221
+ // #region Aria inputs
222
+ /**
223
+ * @description
224
+ * Component aria-label. Defaults to 'Date picker'
225
+ */
226
+ this.componentAriaLabel = 'Date picker';
227
+ /**
228
+ * @description
229
+ * Predefined date range definitions dropdown button aria-label. Defaults to 'Open predefined date ranges pane'
230
+ */
231
+ this.openDateRangeDefinitionsAriaLabel = 'Open predefined date ranges pane';
232
+ /**
233
+ * @description
234
+ * Next period button aria-label. Default to 'Next period'
235
+ */
236
+ this.nextPeriodAriaLabel = 'Next period';
237
+ /**
238
+ * @description
239
+ * Previous period button aria-label. Defaults to 'Previous period'
240
+ */
241
+ this.previousPeriodAriaLabel = 'Previous period';
242
+ // public properties
243
+ this.previousPeriodIcon = faAngleLeft;
244
+ this.nextPeriodIcon = faAngleRight;
245
+ this.calendarIcon = faCalendar;
246
+ this.toIcon = faArrowRight;
247
+ this.lockIcon = faLock;
248
+ this.predefinedDateRanges = [];
249
+ this.predefinedDateRangesGeneratedDate = undefined;
250
+ this.dateRanges = [];
251
+ this.selectedDateRangeName = '';
252
+ this.selectedDateRangeTextSegment1 = '';
253
+ this.selectedDateRangeTextSegment2 = '';
254
+ this.selectedDateCalendar = new Date();
255
+ this.selectedDateInternal = new Date();
256
+ this.dateStartOld = '';
257
+ this.dateStart = '';
258
+ this.dateEndOld = '';
259
+ this.dateEnd = '';
260
+ this.showPredefinedOptionsSelector = false;
261
+ this.hidingConfirmedDate = false;
262
+ this.isSettingNotPreprocessedDate = false;
263
+ this.isSelectedPredefinedPeriod = false;
264
+ this.selectedDateFocus = true;
265
+ this.elementUUID = 'sds-as-' + crypto.randomUUID();
266
+ this.initCalendarValue = true;
267
+ this.singleDatePickerBox = undefined;
268
+ this.selectedDateStartBox = undefined;
269
+ this.selectedDateEndBox = undefined;
270
+ this.calendar = undefined;
271
+ this._selectedDateRangeButton = undefined;
272
+ this.randomIdReference = Math.floor(Math.random() * Number.MAX_SAFE_INTEGER);
273
+ this.isDateDisabled = (args) => {
274
+ if (this.lockBeforeDate && isBefore(args.date, this.lockBeforeDate)) {
275
+ return true;
276
+ }
277
+ return this.disabledDates.some((day) => isSameDay(args.date, day));
278
+ };
279
+ this.dateRangeDefinitions = [];
280
+ this.minDateDefault = new Date(1900, 1, 1);
281
+ this.maxDateDefault = add(startOfDay(new Date()), { years: 50 });
282
+ this.showDatepicker = false;
283
+ this.translations = {
284
+ cancel: 'Cancel',
285
+ apply: 'Apply',
286
+ custom: 'Custom',
287
+ presets: 'Presets',
288
+ };
289
+ this.customDateRange = new PeriodPickerDateRange(this.translations.custom, undefined, undefined);
290
+ this.selectedDateRange = this.customDateRange;
291
+ this.selectedDateInternal = startOfDay(new Date());
292
+ this.selectedDateStart = startOfMonth(new Date());
293
+ this.selectedDateEnd = startOfDay(endOfMonth(new Date()));
294
+ this.setSelectedDateRangeText();
295
+ }
296
+ ngOnInit() { }
297
+ ngOnChanges(changes) {
298
+ if (changes['dateRangeDefinitions']) {
299
+ this.generateDateRanges(true);
300
+ }
301
+ if (changes['selectionKind']) {
302
+ if (this.selectionKind == 'single') {
303
+ const date = new Date(this.selectedDateInternal);
304
+ this.matchDateRange(date, date);
305
+ this.setDateRangeText(date, date);
306
+ }
307
+ else {
308
+ const date1 = new Date(this.selectedDateStart);
309
+ const date2 = new Date(this.selectedDateEnd);
310
+ this.matchDateRange(date1, date2);
311
+ this.setDateRangeText(date1, date2);
312
+ }
313
+ }
314
+ if (changes['translations']) {
315
+ this.updateCustomText();
316
+ }
317
+ if (changes['locales']) {
318
+ this.handleLocalesChange();
319
+ }
320
+ if (changes['selectedDateStart'] || changes['selectedDateEnd']) {
321
+ this.dateStartOld = this.selectedDateStart;
322
+ this.dateEndOld = this.selectedDateEnd;
323
+ }
324
+ if (changes['selectedDate']) {
325
+ const value = new Date(changes['selectedDate'].currentValue);
326
+ this.selectedDateInternal = startOfDay(value);
327
+ if (this.selectionKind == 'single') {
328
+ this.dateStart = this.selectedDateInternal;
329
+ this.dateEnd = this.selectedDateInternal;
330
+ this.matchDateRange(this.selectedDateInternal, this.selectedDateInternal);
331
+ this.setDateRangeText(this.selectedDateInternal, this.selectedDateInternal);
332
+ }
333
+ this.changeRef.detectChanges();
334
+ }
335
+ if (changes['selectedDateStart']) {
336
+ const value = changes['selectedDateStart'].currentValue;
337
+ const selectedValue = value instanceof Date ? value : new Date();
338
+ if (this.selectionKind == 'period') {
339
+ if (this.isSettingNotPreprocessedDate && this.showDatepicker) {
340
+ this.dateStart = selectedValue;
341
+ this.selectedDateInternal = selectedValue;
342
+ this.isSettingNotPreprocessedDate = false;
343
+ }
344
+ else if (!this.isSelectedPredefinedPeriod &&
345
+ this.showDatepicker) {
346
+ if (this.selectedDateStartFocus) {
347
+ this.dateStart = selectedValue;
348
+ this.selectedDateInternal = selectedValue;
349
+ if (this.dateEnd instanceof Date &&
350
+ (isSameDay(selectedValue, this.dateEnd) ||
351
+ isAfter(selectedValue, this.dateEnd))) {
352
+ this.dateEnd = selectedValue;
353
+ }
354
+ }
355
+ }
356
+ else {
357
+ this.dateStart = selectedValue;
358
+ this.selectedDateFocus = false;
359
+ }
360
+ this.calendar?.instance?.repaint();
361
+ this.removeDxDefaultCalendarFocus();
362
+ if (this.selectedDateStart instanceof Date &&
363
+ this.selectedDateEnd instanceof Date) {
364
+ this.matchDateRange(this.selectedDateStart, this.selectedDateEnd);
365
+ this.setDateRangeText(this.selectedDateStart, this.selectedDateEnd);
366
+ }
367
+ }
368
+ this.changeRef.detectChanges();
369
+ }
370
+ if (changes['selectedDateEnd']) {
371
+ const value = changes['selectedDateEnd'].currentValue;
372
+ const selectedValue = value instanceof Date ? value : new Date();
373
+ if (this.selectionKind == 'period') {
374
+ if (!this.isSelectedPredefinedPeriod) {
375
+ if (this.selectedDateEndFocus) {
376
+ this.dateEnd = selectedValue;
377
+ this.selectedDateInternal = selectedValue;
378
+ if (this.dateStart instanceof Date &&
379
+ (isSameDay(selectedValue, this.dateStart) ||
380
+ isAfter(this.dateStart, selectedValue))) {
381
+ this.dateStart = selectedValue;
382
+ }
383
+ }
384
+ }
385
+ else {
386
+ this.dateEnd = selectedValue;
387
+ this.selectedDateInternal = selectedValue;
388
+ }
389
+ this.removeDxDefaultCalendarFocus();
390
+ if (this.selectedDateStart instanceof Date &&
391
+ this.selectedDateEnd instanceof Date) {
392
+ this.matchDateRange(this.selectedDateStart, this.selectedDateEnd);
393
+ this.setDateRangeText(this.selectedDateStart, this.selectedDateEnd);
394
+ }
395
+ }
396
+ }
397
+ if (changes['firstDayOfWeek']) {
398
+ this.generateDateRanges(true);
399
+ }
400
+ }
401
+ setDateRangeDefinitions(definitions) {
402
+ this.dateRangeDefinitions = definitions;
403
+ this.generateDateRanges(true);
404
+ }
405
+ setTranslations(translations) {
406
+ this.translations = translations;
407
+ this.updateCustomText();
408
+ }
409
+ setLocales(locales) {
410
+ this.locales = locales;
411
+ this.handleLocalesChange();
412
+ }
413
+ get selectedDateStartFocus() {
414
+ return this.selectedDateFocus;
415
+ }
416
+ get selectedDateEndFocus() {
417
+ return !this.selectedDateFocus;
418
+ }
419
+ get isMinimumLimit() {
420
+ if (this.minDate instanceof Date &&
421
+ this.selectedDateInternal instanceof Date) {
422
+ return (isSameDay(this.selectedDateInternal, this.minDate) ||
423
+ isBefore(this.selectedDateInternal, this.minDate));
424
+ }
425
+ return false;
426
+ }
427
+ get isMaximumLimit() {
428
+ if (this.maxDate instanceof Date &&
429
+ this.selectedDateInternal instanceof Date) {
430
+ return (isSameDay(this.selectedDateInternal, this.maxDate) ||
431
+ isAfter(this.selectedDateInternal, this.maxDate));
432
+ }
433
+ return false;
434
+ }
435
+ onDateChange(event) {
436
+ let selectedDateFromEvent = new Date(event.value);
437
+ if (this.selectionKind == 'period') {
438
+ const interactiveChange = event.event;
439
+ if (interactiveChange) {
440
+ if (this.selectedDateStartFocus) {
441
+ this.handleStartDateChange(selectedDateFromEvent);
442
+ }
443
+ else if (this.selectedDateEndFocus) {
444
+ this.handleEndDateChange(selectedDateFromEvent);
445
+ }
446
+ this.setSelectedDate(this.selectedDateStart, this.selectedDateEnd, false);
447
+ }
448
+ }
449
+ else if (this.selectionKind == 'single') {
450
+ this.showDatepicker = false;
451
+ this.selectedDateInternal = selectedDateFromEvent;
452
+ }
453
+ }
454
+ handleStartDateChange(newDate) {
455
+ this.selectedDateStart = newDate;
456
+ this.selectedDateCalendar = newDate;
457
+ if (!this.initCalendarValue) {
458
+ this.selectedDateFocus = false;
459
+ if (isAfter(newDate, this.selectedDateEnd)) {
460
+ this.selectedDateEnd = newDate;
461
+ }
462
+ else {
463
+ this.selectedDateCalendar = new Date(this.selectedDateEnd);
464
+ }
465
+ }
466
+ }
467
+ handleEndDateChange(newDate) {
468
+ this.selectedDateEnd = newDate;
469
+ this.selectedDateCalendar = newDate;
470
+ if (
471
+ // selected date is before start date -> set start date
472
+ isBefore(newDate, this.selectedDateStart)) {
473
+ this.selectedDateFocus = true;
474
+ this.selectedDateStart = newDate;
475
+ this.selectedDateFocus = false;
476
+ }
477
+ }
478
+ onStartDateChange(event) {
479
+ this.handleStartDateChange(event.value);
480
+ this.setSelectedDate(this.selectedDateStart, this.selectedDateEnd, false);
481
+ }
482
+ onEndDateChange(event) {
483
+ this.handleEndDateChange(event.value);
484
+ this.setSelectedDate(this.selectedDateStart, this.selectedDateEnd, false);
485
+ }
486
+ onRangeKeyReleased(event, range) {
487
+ if (event.key === 'Enter') {
488
+ this.changDateRange(range);
489
+ }
490
+ }
491
+ onStartDateFocus() {
492
+ this.initCalendarValue = true;
493
+ this.selectedDateFocus = true;
494
+ if (this.selectedDateStart) {
495
+ this.selectedDateInternal = new Date(this.selectedDateStart);
496
+ this.selectedDateCalendar = new Date(this.selectedDateStart);
497
+ }
498
+ setTimeout(() => {
499
+ this.initCalendarValue = false;
500
+ });
501
+ }
502
+ onEndDateFocus() {
503
+ this.selectedDateFocus = false;
504
+ if (this.selectedDateEnd) {
505
+ this.selectedDateInternal = new Date(this.selectedDateEnd);
506
+ this.selectedDateCalendar = new Date(this.selectedDateEnd);
507
+ }
508
+ }
509
+ applyPeriodPicker() {
510
+ this.hidingConfirmedDate = true;
511
+ this.showDatepicker = false;
512
+ }
513
+ onShowingCalendarPopover() {
514
+ this.hidingConfirmedDate = false;
515
+ if (this.selectionKind == 'single') {
516
+ setTimeout(() => {
517
+ this.singleDatePickerBox?.instance.focus();
518
+ });
519
+ }
520
+ else {
521
+ this.dateStartOld = this.selectedDateStart;
522
+ this.dateEndOld = this.selectedDateEnd;
523
+ this.isSettingNotPreprocessedDate = true;
524
+ setTimeout(() => {
525
+ this.selectedDateStartBox?.instance.focus();
526
+ this.onStartDateFocus();
527
+ });
528
+ }
529
+ }
530
+ closeDatepickerPopup(emitChange = true) {
531
+ // if (this.showDatepicker) {
532
+ // this.showDatepicker = false;
533
+ if (this.selectionKind == 'single') {
534
+ this.setSelectedDate(this.selectedDateInternal, this.selectedDateInternal, emitChange);
535
+ }
536
+ else {
537
+ if (this.hidingConfirmedDate) {
538
+ this.setSelectedDate(this.selectedDateStart, this.selectedDateEnd, true);
539
+ }
540
+ else {
541
+ // this.setSelectedDate(this.dateStartOld, this.dateEndOld, true);
542
+ this.setSelectedDate(this.dateStartOld, this.dateEndOld, false);
543
+ }
544
+ // this.hidingConfirmedDate = false;
545
+ }
546
+ if (this._selectedDateRangeButton) {
547
+ this._selectedDateRangeButton.nativeElement.focus({ focusVisible: false });
548
+ }
549
+ // }
550
+ }
551
+ onHiddenCalendarPopover() {
552
+ this.closeDatepickerPopup();
553
+ }
554
+ setSelectedDate(dateStart, dateEnd, emitChange = true) {
555
+ this.selectedDateStart = dateStart;
556
+ this.selectedDateEnd = dateEnd;
557
+ this.selectedDateInternal = this.selectionKind === 'single' ? dateStart : dateEnd;
558
+ this.isSelectedPredefinedPeriod = false;
559
+ if (emitChange) {
560
+ if (this.selectionKind == 'single') {
561
+ this.selectedDate = new Date(this.selectedDateInternal);
562
+ this.selectedDateChange.emit(this.selectedDateInternal);
563
+ }
564
+ else {
565
+ const dateStartNew = new Date(this.selectedDateStart);
566
+ const dateEndNew = new Date(this.selectedDateEnd);
567
+ const startDateChanged = (this.dateStartOld instanceof Date && !isSameDay(this.dateStartOld, dateStartNew)) ||
568
+ (typeof this.dateStartOld === 'string' && this.dateStartOld === '');
569
+ const endDateChanged = (this.dateEndOld instanceof Date && !isSameDay(this.dateEndOld, dateEndNew)) ||
570
+ (typeof this.dateEndOld === 'string' && this.dateEndOld === '');
571
+ if (startDateChanged) {
572
+ this.dateStartOld = new Date(this.selectedDateStart);
573
+ this.selectedDateStartChange.emit(this.selectedDateStart);
574
+ }
575
+ if (endDateChanged) {
576
+ this.dateEndOld = new Date(this.selectedDateEnd);
577
+ this.selectedDateEndChange.emit(this.selectedDateEnd);
578
+ }
579
+ if (startDateChanged || endDateChanged) {
580
+ this.periodChange.emit([
581
+ this.selectedDateStart,
582
+ this.selectedDateEnd,
583
+ ]);
584
+ }
585
+ }
586
+ if (this.selectedDateStart instanceof Date &&
587
+ this.selectedDateEnd instanceof Date) {
588
+ this.matchDateRange(this.selectedDateStart, this.selectedDateEnd);
589
+ this.setDateRangeText(this.selectedDateStart, this.selectedDateEnd);
590
+ }
591
+ }
592
+ this.changeRef.detectChanges();
593
+ }
594
+ goToNextDate() {
595
+ if (this.selectionKind == 'single') {
596
+ const newDate = this.getNextDateCallback(this.selectedDateInternal);
597
+ this.selectedDateInternal = new Date(newDate);
598
+ this.setSelectedDate(newDate, newDate);
599
+ }
600
+ else {
601
+ if (!(this.selectedDateStart instanceof Date) || !(this.selectedDateEnd instanceof Date)) {
602
+ return;
603
+ }
604
+ const range = this.getNextRangeCallback(this.selectedDateStart, this.selectedDateEnd);
605
+ this.setSelectedDate(range[0], range[1]);
606
+ }
607
+ }
608
+ goToPreviousDate() {
609
+ if (this.selectionKind == 'single') {
610
+ const newDate = this.getPreviousDateCallback(this.selectedDateInternal);
611
+ this.selectedDateInternal = new Date(newDate);
612
+ this.setSelectedDate(newDate, newDate);
613
+ }
614
+ else {
615
+ if (!(this.selectedDateStart instanceof Date) || !(this.selectedDateEnd instanceof Date)) {
616
+ return;
617
+ }
618
+ const range = this.getPreviousRangeCallback(this.selectedDateStart, this.selectedDateEnd);
619
+ this.setSelectedDate(range[0], range[1]);
620
+ }
621
+ }
622
+ // public setNextPreviousDay(setNext: any) {
623
+ // this.isSelectedPredefinedPeriod = true;
624
+ // let newDate = setNext
625
+ // ? add(this.selectedDateInternal as Date, { days: 1 })
626
+ // : add(this.selectedDateInternal as Date, { days: -1 });
627
+ // this.selectedDateInternal = new Date(newDate);
628
+ // this.setSelectedDate(newDate, newDate);
629
+ // }
630
+ getNextDay(currentDate) {
631
+ this.isSelectedPredefinedPeriod = true;
632
+ return add(this.selectedDateInternal, { days: 1 });
633
+ }
634
+ getPreviousDay(currentDate) {
635
+ this.isSelectedPredefinedPeriod = true;
636
+ return add(this.selectedDateInternal, { days: -1 });
637
+ }
638
+ getNextRange(currentStartDate, currentEndDate) {
639
+ this.isSelectedPredefinedPeriod = true;
640
+ return this.datePickerService.getRange(new Date(currentStartDate), new Date(currentEndDate), 'next');
641
+ }
642
+ getPreviousRange(currentStartDate, currentEndDate) {
643
+ this.isSelectedPredefinedPeriod = true;
644
+ return this.datePickerService.getRange(new Date(currentStartDate), new Date(currentEndDate), 'previous');
645
+ }
646
+ setNextPreviousRange(setNext) {
647
+ this.isSelectedPredefinedPeriod = true;
648
+ if (!(this.selectedDateStart instanceof Date) ||
649
+ !(this.selectedDateEnd instanceof Date)) {
650
+ return;
651
+ }
652
+ const range = this.datePickerService.getRange(this.selectedDateStart, this.selectedDateEnd, setNext ? 'next' : 'previous');
653
+ this.setSelectedDate(range[0], range[1]);
654
+ }
655
+ getCellCssClass(date) {
656
+ const calendarDate = new Date(date);
657
+ let css = '';
658
+ if (this.selectionKind == 'period') {
659
+ const selectedDateStartAsDate = new Date(this.selectedDateStart);
660
+ const selectedDateEndAsDate = new Date(this.selectedDateEnd);
661
+ if (isAfter(calendarDate, startOfDay(selectedDateStartAsDate)) &&
662
+ isBefore(calendarDate, startOfDay(selectedDateEndAsDate)) &&
663
+ !this.disabledDates.some((day) => isSameDay(calendarDate, day))) {
664
+ css += ' bg-primary-light text-dark rounded-0';
665
+ }
666
+ else {
667
+ if (isSameDay(calendarDate, selectedDateStartAsDate)) {
668
+ css += ' bg-primary text-white rounded-start';
669
+ }
670
+ if (isSameDay(calendarDate, selectedDateEndAsDate)) {
671
+ css += ' bg-primary text-white rounded-end';
672
+ }
673
+ }
674
+ }
675
+ return css;
676
+ }
677
+ selectEndDate(event) {
678
+ if (this.selectionKind == "period" && this.selectedDateStartFocus && this.calendarCellClicked(event)) {
679
+ this.selectedDateFocus = false;
680
+ this.selectedDateCalendar = new Date(this.selectedDateEnd);
681
+ }
682
+ }
683
+ onKeydown(event) {
684
+ if (this.showDatepicker) {
685
+ if (event.code === 'Escape') {
686
+ this.showDatepicker = false;
687
+ event.stopImmediatePropagation();
688
+ }
689
+ else if (event.code === 'Enter' || event.code === 'NumpadEnter') {
690
+ if (!this.disabled) {
691
+ this.applyPeriodPicker();
692
+ }
693
+ event.stopImmediatePropagation();
694
+ }
695
+ }
696
+ }
697
+ calendarCellClicked(event) {
698
+ // This check is tightly coupled with current DX implementation so it
699
+ // must be re-checked after each major update of the DX components
700
+ // Also check if dx-calendar provides info about clicked element by
701
+ // design.
702
+ const targetParentClassList = event.target?.offsetParent?.classList;
703
+ if (!targetParentClassList) {
704
+ return false;
705
+ }
706
+ const isCalendarCell = [...targetParentClassList].includes('dx-calendar-cell');
707
+ return isCalendarCell;
708
+ }
709
+ handleLocalesChange() {
710
+ // apply new locale to DX
711
+ // if array of locales was provided use first one
712
+ if (typeof this.locales === 'string') {
713
+ locale(this.locales);
714
+ }
715
+ else if (Array.isArray(this.locales) && this.locales.length > 0) {
716
+ locale(this.locales[0]);
717
+ }
718
+ ;
719
+ this.selectedDateStartBox?.instance.repaint();
720
+ this.selectedDateEndBox?.instance.repaint();
721
+ this.singleDatePickerBox?.instance.repaint();
722
+ this.calendar?.instance.repaint();
723
+ this.setSelectedDateRangeText();
724
+ }
725
+ updateCustomText() {
726
+ this.customDateRange.name = this.translations?.custom
727
+ ? this.translations.custom
728
+ : '';
729
+ }
730
+ removeDxDefaultCalendarFocus() {
731
+ const element = document.querySelector('#datepickercomponent .dx-calendar-selected-date');
732
+ if (element &&
733
+ element?.classList?.contains('dx-calendar-selected-date')) {
734
+ element?.classList?.remove('dx-calendar-selected-date');
735
+ }
736
+ }
737
+ setSelectedDateRangeText() {
738
+ if (this.selectionKind == 'single') {
739
+ this.matchDateRange(new Date(this.selectedDateInternal), new Date(this.selectedDateInternal));
740
+ this.setDateRangeText(new Date(this.selectedDateInternal), new Date(this.selectedDateInternal));
741
+ }
742
+ else {
743
+ this.matchDateRange(new Date(this.selectedDateStart), new Date(this.selectedDateEnd));
744
+ this.setDateRangeText(new Date(this.selectedDateStart), new Date(this.selectedDateEnd));
745
+ }
746
+ }
747
+ toggleDateRangeSelectorVisibility() {
748
+ if (!this.showPredefinedOptionsSelector) {
749
+ this.generateDateRanges();
750
+ }
751
+ this.showPredefinedOptionsSelector =
752
+ !this.showPredefinedOptionsSelector;
753
+ }
754
+ changDateRange(range) {
755
+ this.showPredefinedOptionsSelector = false;
756
+ this.showDatepicker = false;
757
+ this.selectedDateRange = range;
758
+ if (range === this.customDateRange) {
759
+ // this.openDatepickerPopup();
760
+ this.showDatepicker = true;
761
+ }
762
+ else {
763
+ this.dateStart = range.dateFrom
764
+ ? range.dateFrom
765
+ : startOfDay(new Date());
766
+ this.dateEnd = range.dateTo ? range.dateTo : startOfDay(new Date());
767
+ this.setSelectedDate(this.dateStart, this.dateEnd, true);
768
+ }
769
+ }
770
+ matchDateRange(dateFrom, dateTo) {
771
+ if (!dateFrom || !dateTo) {
772
+ this.selectedDateRange = this.customDateRange;
773
+ return;
774
+ }
775
+ this.generateDateRanges();
776
+ const dateRange = this.predefinedDateRanges.filter((x) => isSameDay(x.dateFrom, dateFrom) &&
777
+ isSameDay(x.dateTo, dateTo));
778
+ if (dateRange.length) {
779
+ this.selectedDateRange = dateRange[0];
780
+ }
781
+ else {
782
+ this.selectedDateRange = this.customDateRange;
783
+ }
784
+ }
785
+ setDateRangeText(dateFrom, dateTo) {
786
+ const today = new Date();
787
+ this.selectedDateRangeName = '';
788
+ this.selectedDateRangeTextSegment1 = '';
789
+ this.selectedDateRangeTextSegment2 = '';
790
+ if (!(dateFrom instanceof Date) || !(dateTo instanceof Date)) {
791
+ return;
792
+ }
793
+ // RESOLVE PERIOD
794
+ // one day
795
+ if (isSameDay(dateFrom, dateTo)) {
796
+ if (typeof this.singleDayFormatFn !== 'undefined') {
797
+ this.selectedDateRangeTextSegment1 = this.singleDayFormatFn(dateFrom);
798
+ }
799
+ else {
800
+ if (this.style == 'compact' && this.compactStyleDisplay == 'both' && this.selectedDateRange && this.selectedDateRange != this.customDateRange) {
801
+ this.selectedDateRangeTextSegment1 = this.formatDate(dateFrom); //skip day name, as we have custom text.
802
+ }
803
+ else {
804
+ this.selectedDateRangeTextSegment1 = this.formatDate(dateFrom, 'day-long');
805
+ }
806
+ }
807
+ }
808
+ // date range
809
+ else {
810
+ // date range - use provided dateRange format function (if defined)
811
+ if (typeof this.dateRangeFormatFn !== 'undefined') {
812
+ this.selectedDateRangeTextSegment1 = this.dateRangeFormatFn(dateFrom);
813
+ this.selectedDateRangeTextSegment2 = this.dateRangeFormatFn(dateTo);
814
+ }
815
+ // full month
816
+ else if (isSameDay(dateFrom, startOfMonth(dateFrom)) &&
817
+ isSameDay(dateTo, endOfMonth(dateTo)) &&
818
+ isSameMonth(dateFrom, dateTo)) {
819
+ this.selectedDateRangeTextSegment1 = this.formatDate(dateFrom, 'month');
820
+ }
821
+ // date range - use default date format function
822
+ else {
823
+ this.selectedDateRangeTextSegment1 = this.formatDate(dateFrom, isSameYear(dateFrom, today) ? 'day-short' : 'day');
824
+ this.selectedDateRangeTextSegment2 = this.formatDate(dateTo, isSameYear(dateTo, today) ? 'day-short' : 'day');
825
+ }
826
+ }
827
+ if (this.style == 'compact' && this.selectedDateRange && this.selectedDateRange != this.customDateRange) {
828
+ if (this.compactStyleDisplay == 'predefinedRange') {
829
+ this.selectedDateRangeName = this.selectedDateRange.name;
830
+ this.selectedDateRangeTextSegment1 = '';
831
+ this.selectedDateRangeTextSegment2 = '';
832
+ }
833
+ if (this.compactStyleDisplay == 'both') {
834
+ this.selectedDateRangeName = this.selectedDateRange.name + ', ';
835
+ }
836
+ }
837
+ // @Input() public style: 'classic' | 'compact' = 'classic';
838
+ // @Input() public compactStyleDisplay: 'date' | 'predefinedRange' | 'both' = 'predefinedRange';
839
+ // if (this.style == 'compact' && this.compactStyleDisplay == 'predefinedRange' && this.selectedDateRange && this.selectedDateRange != this.customDateRange) {
840
+ // this.selectedDateRangeTextSegment1 = this.selectedDateRange.name;
841
+ // this.selectedDateRangeTextSegment2 = '';
842
+ // return;
843
+ // }
844
+ // if (this.style == 'compact' && this.compactStyleDisplay == 'both' && this.selectedDateRange && this.selectedDateRange != this.customDateRange) {
845
+ // this.selectedDateRangeTextSegment1 = this.selectedDateRange.name;
846
+ // this.selectedDateRangeTextSegment2 = '';
847
+ // return;
848
+ // }
849
+ }
850
+ formatDate(date, type) {
851
+ switch (type) {
852
+ case 'month':
853
+ return date.toLocaleDateString(this.locales, {
854
+ month: 'long',
855
+ year: 'numeric',
856
+ day: undefined,
857
+ });
858
+ case 'day-long':
859
+ return date.toLocaleDateString(this.locales, {
860
+ day: 'numeric',
861
+ month: 'numeric',
862
+ year: 'numeric',
863
+ weekday: 'long',
864
+ });
865
+ case 'day-short':
866
+ return date.toLocaleDateString(this.locales, {
867
+ day: 'numeric',
868
+ month: 'short',
869
+ });
870
+ case 'day':
871
+ return date.toLocaleDateString(this.locales, {
872
+ day: 'numeric',
873
+ month: 'short',
874
+ year: 'numeric',
875
+ });
876
+ default:
877
+ return date.toLocaleDateString(this.locales, {
878
+ day: 'numeric',
879
+ month: 'numeric',
880
+ year: 'numeric',
881
+ });
882
+ }
883
+ }
884
+ generateDateRanges(force) {
885
+ const today = startOfDay(new Date());
886
+ if (force ||
887
+ !this.predefinedDateRangesGeneratedDate ||
888
+ !isSameDay(this.predefinedDateRangesGeneratedDate, today)) {
889
+ this.predefinedDateRangesGeneratedDate = today;
890
+ this.predefinedDateRanges =
891
+ this.datePickerService.getPredefinedDateRanges(this.dateRangeDefinitions, today, this.firstDayOfWeek);
892
+ this.dateRanges = [...this.predefinedDateRanges];
893
+ this.dateRanges.push(this.customDateRange);
894
+ }
895
+ }
896
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsDatePickerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: SdsDatePickerService }], target: i0.ɵɵFactoryTarget.Component }); }
897
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SdsDatePickerComponent, isStandalone: true, selector: "sds-date-picker", inputs: { selectionKind: "selectionKind", dateRangeDefinitions: "dateRangeDefinitions", selectedDate: "selectedDate", selectedDateStart: "selectedDateStart", singleDayFormatFn: "singleDayFormatFn", dateRangeFormatFn: "dateRangeFormatFn", selectedDateEnd: "selectedDateEnd", minDate: "minDate", maxDate: "maxDate", locales: "locales", disabled: "disabled", validationError: "validationError", isValid: "isValid", disabledDates: "disabledDates", applyText: "applyText", cancelText: "cancelText", translations: "translations", firstDayOfWeek: "firstDayOfWeek", dateRangeDefinitionsWidth: "dateRangeDefinitionsWidth", showPreviousAndNextButtons: "showPreviousAndNextButtons", width: "width", dropdownWrapperClass: "dropdownWrapperClass", dropdownWrapperId: "dropdownWrapperId", getPreviousDateCallback: "getPreviousDateCallback", getNextDateCallback: "getNextDateCallback", getPreviousRangeCallback: "getPreviousRangeCallback", getNextRangeCallback: "getNextRangeCallback", useCustomDisplayContent: "useCustomDisplayContent", displayPredefinedDateRangeName: "displayPredefinedDateRangeName", style: "style", compactStyleDisplay: "compactStyleDisplay", dateInputDisplayFormat: "dateInputDisplayFormat", componentAriaLabel: "componentAriaLabel", openDateRangeDefinitionsAriaLabel: "openDateRangeDefinitionsAriaLabel", nextPeriodAriaLabel: "nextPeriodAriaLabel", previousPeriodAriaLabel: "previousPeriodAriaLabel", lockBeforeDate: "lockBeforeDate", lockBeforeDateHint: "lockBeforeDateHint" }, outputs: { selectedDateChange: "selectedDateChange", selectedDateStartChange: "selectedDateStartChange", selectedDateEndChange: "selectedDateEndChange", periodChange: "periodChange" }, queries: [{ propertyName: "displayContent", first: true, predicate: ["display"], descendants: true }], viewQueries: [{ propertyName: "singleDatePickerBox", first: true, predicate: ["singleDatePickerBox"], descendants: true }, { propertyName: "selectedDateStartBox", first: true, predicate: ["selectedDateStartBox"], descendants: true }, { propertyName: "selectedDateEndBox", first: true, predicate: ["selectedDateEndBox"], descendants: true }, { propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }, { propertyName: "_selectedDateRangeButton", first: true, predicate: ["selectedDateRangeButton"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<!-- <div id=\"datepickerbuttons\"> -->\r\n <div\r\n class=\"datepicker d-inline-flex bg-white sds-no-print\"\r\n role=\"group\"\r\n [attr.aria-label]=\"componentAriaLabel\"\r\n [style.width]=\"width\"\r\n >\r\n\r\n <ng-container *ngIf=\"style == 'classic'\">\r\n <div\r\n class=\"btn-group\"\r\n role=\"group\"\r\n >\r\n <button\r\n *ngIf=\"dateRangeDefinitions && dateRangeDefinitions.length > 0\"\r\n id=\"pickerPredefinedRangeDropdown{{ randomIdReference }}\"\r\n type=\"button\"\r\n class=\"\r\n btn btn-white\r\n border\r\n rounded-start\r\n border-end\r\n p-0\r\n sds-fw-400\"\r\n [disabled]=\"disabled\"\r\n [style.width]=\"dateRangeDefinitionsWidth\"\r\n (click)=\"toggleDateRangeSelectorVisibility()\"\r\n >\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"ps-2 ms-1 me-1 date-range-text text-truncate\">\r\n {{selectedDateRange.name}}\r\n </div>\r\n <button type=\"button\" class=\"btn btn-light date-range-dropdown-button sds-fw-400\" [attr.aria-label]=\"openDateRangeDefinitionsAriaLabel\"\r\n [attr.aria-controls]=\"elementUUID + '_predefined_periods_dropdown'\">\r\n <span class=\"dropdown-toggle\"></span>\r\n </button>\r\n </div>\r\n\r\n </button>\r\n\r\n <dx-popover\r\n *ngIf=\"dateRangeDefinitions && dateRangeDefinitions.length > 0\"\r\n [id]=\"elementUUID + '_predefined_periods_dropdown'\"\r\n target=\"#pickerPredefinedRangeDropdown{{ randomIdReference }}\"\r\n position=\"bottom\"\r\n [(visible)]=\"showPredefinedOptionsSelector\"\r\n [wrapperAttr]=\"{ class: 'sds-datepicker-ranges-popover sds-dx-popup-no-arrow' }\"\r\n [minWidth]=\"dateRangeDefinitionsWidth\"\r\n\r\n >\r\n <div *dxTemplate=\"let data of 'content'\" cdkTrapFocus>\r\n <div *ngFor=\"let range of dateRanges\">\r\n <div\r\n role=\"button\"\r\n tabindex=\"0\"\r\n class=\"predefined-date-range px-3 py-2 w-100\"\r\n [class.selected]=\"range === selectedDateRange\"\r\n (click)=\"changDateRange(range)\"\r\n (keydown)=\"onRangeKeyReleased($event, range)\"\r\n >\r\n {{range.name}}\r\n </div>\r\n </div>\r\n </div>\r\n </dx-popover>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <button\r\n *ngIf=\"showPreviousAndNextButtons\"\r\n class=\"btn btn-white border border-end-0 pe-2 sds-fw-400\"\r\n [class.rounded-start] = \"style == 'compact' || (!dateRangeDefinitions || dateRangeDefinitions.length === 0)\"\r\n [class.border-start-0] = \"style == 'classic' && dateRangeDefinitions.length > 0\"\r\n type=\"button\"\r\n [attr.aria-label]=\"previousPeriodAriaLabel\"\r\n [disabled]=\"isMinimumLimit || disabled\"\r\n (click)=\"goToPreviousDate()\"\r\n >\r\n <fa-icon [icon]=\"previousPeriodIcon\"></fa-icon>\r\n\r\n </button>\r\n\r\n <button\r\n #selectedDateRangeButton\r\n id=\"pickerDropdown{{ randomIdReference }}\"\r\n class=\"btn btn-white border-top border-bottom text-truncate px-0 selected-period sds-fw-400\"\r\n [class.rounded-start] = \"(!dateRangeDefinitions || dateRangeDefinitions.length === 0) && !showPreviousAndNextButtons\"\r\n [class.border-start] = \"(!dateRangeDefinitions || dateRangeDefinitions.length === 0) && !showPreviousAndNextButtons\"\r\n [class.rounded-end] = \"!showPreviousAndNextButtons\"\r\n [class.border-end] = \"!showPreviousAndNextButtons\"\r\n [disabled]=\"disabled\"\r\n type=\"button\"\r\n (click)=\"showDatepicker = !showDatepicker\"\r\n >\r\n\r\n <ng-content *ngIf=\"useCustomDisplayContent\" select=\"display\"></ng-content>\r\n <div *ngIf=\"!useCustomDisplayContent\"\r\n class=\"d-flex justify-content-center align-items-center\">\r\n <!-- <div class=\"mx-1\">\r\n <fa-icon [icon]=\"calendarIcon\" size=\"sm\"></fa-icon>\r\n </div> -->\r\n <div class=\"mx-1 text-truncate\">\r\n <span>{{selectedDateRangeName}}</span>\r\n <span>{{selectedDateRangeTextSegment1}}</span>\r\n <fa-icon\r\n *ngIf=\"selectedDateRangeTextSegment2\"\r\n class=\"mx-2\"\r\n [icon]=\"toIcon\"\r\n size=\"sm\"\r\n ></fa-icon>\r\n <span>{{selectedDateRangeTextSegment2}}</span>\r\n </div>\r\n </div>\r\n </button>\r\n\r\n <button\r\n *ngIf=\"showPreviousAndNextButtons\"\r\n class=\"btn btn-white border rounded-end border-start-0 ps-2 sds-fw-400\"\r\n type=\"button\"\r\n [attr.aria-label]=\"nextPeriodAriaLabel\"\r\n [disabled]=\"isMaximumLimit || disabled\"\r\n (click)=\"goToNextDate()\"\r\n >\r\n <fa-icon [icon]=\"nextPeriodIcon\"></fa-icon>\r\n </button>\r\n </div>\r\n\r\n <div class=\"sds-print-only h-100\">\r\n\r\n <ng-content *ngIf=\"useCustomDisplayContent\" select=\"display\"></ng-content>\r\n <div *ngIf=\"!useCustomDisplayContent\"\r\n class=\"d-flex justify-content-center align-items-center\">\r\n <!-- <div class=\"mx-1\">\r\n <fa-icon [icon]=\"calendarIcon\" size=\"sm\"></fa-icon>\r\n </div> -->\r\n <div class=\"mx-1 text-truncate\">\r\n <span>{{selectedDateRangeTextSegment1}}</span>\r\n <fa-icon\r\n *ngIf=\"selectedDateRangeTextSegment2\"\r\n class=\"mx-2\"\r\n [icon]=\"toIcon\"\r\n size=\"sm\"\r\n ></fa-icon>\r\n <span>{{selectedDateRangeTextSegment2}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n<dx-popover\r\n target=\"#pickerDropdown{{ randomIdReference }}\"\r\n position=\"bottom\"\r\n [(visible)]=\"showDatepicker\"\r\n (onHiding)=\"onHiddenCalendarPopover()\"\r\n (onShowing)=\"onShowingCalendarPopover()\"\r\n class=\"m-0 p-0\"\r\n [wrapperAttr]=\"{\r\n class: 'sds-datepicker-popover ' + dropdownWrapperClass,\r\n id: dropdownWrapperId\r\n }\"\r\n>\r\n <dxo-animation>\r\n <dxo-show\r\n type=\"pop\"\r\n [from]=\"{ scale: 0.9 }\"\r\n [to]=\"{ scale: 1 }\"\r\n ></dxo-show>\r\n <dxo-hide\r\n type=\"fade\"\r\n [from]=\"1\"\r\n [to]=\"0\"\r\n ></dxo-hide>\r\n </dxo-animation>\r\n <div *dxTemplate=\"let data of 'content'\" (keydown)=\"onKeydown($event)\" tabindex=\"1\">\r\n <dx-scroll-view>\r\n <div class=\"d-flex flex-row\">\r\n\r\n <div\r\n *ngIf=\"style == 'compact' && dateRanges.length > 1\"\r\n class=\"d-flex flex-column p-3 bg-gray-100\"\r\n style=\"border-right: 1px solid var(--bs-gray-200)\"\r\n >\r\n <div\r\n *ngIf=\"translations.presets\" class=\"px-3 py-2\">\r\n <label>{{ translations.presets }}</label>\r\n </div>\r\n <div *ngFor=\"let range of dateRanges\">\r\n <div\r\n class=\"predefined-date-range px-3 py-2 w-100\"\r\n [class.selected]=\"range === selectedDateRange\"\r\n (click)=\"changDateRange(range)\"\r\n >\r\n {{range.name}}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div id=\"datepickercomponent\">\r\n <div\r\n *ngIf=\"this.selectionKind == 'period'\"\r\n id=\"date-inputs\"\r\n class=\"d-flex flex-wrap justify-content-center align-items-center px-3 pt-3 pb-2\"\r\n >\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <dx-date-box\r\n #selectedDateStartBox\r\n class=\"border p-1 m-0 text-center rounded datepicker-input\"\r\n [class.activeInput]=\"selectedDateFocus\"\r\n [showClearButton]=\"false\"\r\n [showDropDownButton]=\"false\"\r\n [useMaskBehavior]=\"true\"\r\n [displayFormat]=\"dateInputDisplayFormat\"\r\n type=\"date\"\r\n [min]=\"minDate || minDateDefault\"\r\n [max]=\"maxDate || maxDateDefault\"\r\n [isValid]=\"isValid\"\r\n [validationError]=\"validationError\"\r\n [disabled]=\"disabled\"\r\n [value]=\"selectedDateStart\"\r\n (onValueChanged)=\"onStartDateChange($event)\"\r\n (onFocusIn)=\"onStartDateFocus()\"\r\n >\r\n </dx-date-box>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-center align-items-center px-2\">\r\n <fa-icon [icon]=\"toIcon\"></fa-icon>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-center align-items-center\">\r\n <dx-date-box\r\n #selectedDateEndBox\r\n class=\"border p-1 m-0 text-center rounded datepicker-input\"\r\n [class.activeInput]=\"!selectedDateFocus\"\r\n [showClearButton]=\"false\"\r\n [showDropDownButton]=\"false\"\r\n [useMaskBehavior]=\"true\"\r\n [displayFormat]=\"dateInputDisplayFormat\"\r\n type=\"date\"\r\n [min]=\"minDate || minDateDefault\"\r\n [max]=\"maxDate || maxDateDefault\"\r\n [isValid]=\"isValid\"\r\n [validationError]=\"validationError\"\r\n [disabled]=\"disabled\"\r\n [value]=\"selectedDateEnd\"\r\n (onValueChanged)=\"onEndDateChange($event)\"\r\n (onFocusIn)=\"onEndDateFocus()\"\r\n >\r\n </dx-date-box>\r\n </div>\r\n </div>\r\n\r\n <div class=\"bg-white mx-2 px-2 py-2 date-picker-date-selection\">\r\n <div\r\n *ngIf=\"this.selectionKind == 'single'\"\r\n id=\"date-inputs\"\r\n class=\"d-flex flex-wrap justify-content-center align-items-center p-2\"\r\n >\r\n <div class=\"d-flex justify-content-center align-items-center\">\r\n <dx-date-box\r\n #singleDatePickerBox\r\n class=\"border p-1 m-0 text-center rounded datepicker-input datepicker-input-large\"\r\n [class.activeInput]=\"true\"\r\n [showClearButton]=\"false\"\r\n [showDropDownButton]=\"false\"\r\n [useMaskBehavior]=\"true\"\r\n [displayFormat]=\"dateInputDisplayFormat\"\r\n type=\"date\"\r\n [min]=\"minDate || minDateDefault\"\r\n [max]=\"maxDate || maxDateDefault\"\r\n [isValid]=\"isValid\"\r\n [validationError]=\"validationError\"\r\n [disabled]=\"disabled\"\r\n [(value)]=\"selectedDateInternal\"\r\n >\r\n </dx-date-box>\r\n <!-- (onValueChanged)=\" closeDatepickerPopup()\" -->\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"d-flex justify-content-center align-items-center\"\r\n (click)=\"selectEndDate($event)\">\r\n\r\n <dx-calendar\r\n #calendar\r\n [min]=\"minDate || minDateDefault\"\r\n [max]=\"maxDate || maxDateDefault\"\r\n [disabledDates]=\"isDateDisabled\"\r\n [isValid]=\"isValid\"\r\n [validationError]=\"validationError\"\r\n [disabled]=\"disabled\"\r\n [value]=\"this.selectionKind == 'period' ? selectedDateCalendar : selectedDateInternal\"\r\n (onValueChanged)=\"onDateChange($event)\"\r\n [firstDayOfWeek]=\"firstDayOfWeek\"\r\n >\r\n <div\r\n *dxTemplate=\"let cellData of 'cell'\"\r\n [class]=\"'h-100 pt-1' + getCellCssClass(cellData.date)\"\r\n [style.line-height.px]=\"23\"\r\n\r\n >\r\n\r\n <div *ngIf=\"lockBeforeDate && (cellData.date | sdsDateCompare: lockBeforeDate : 'lte'); then thenLockBlock else elseDefaultBlock\"></div>\r\n <ng-template #thenLockBlock>\r\n <fa-icon [title]=\"lockBeforeDateHint\" [icon]=\"lockIcon\" class=\"locked-day position-absolute-x\"></fa-icon>\r\n </ng-template>\r\n <ng-template #elseDefaultBlock>\r\n {{ cellData.text }}\r\n </ng-template>\r\n </div>\r\n </dx-calendar>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"this.selectionKind == 'period'\"\r\n class=\"d-flex justify-content-end align-items-center px-3 pt-2 pb-3\"\r\n >\r\n <button\r\n class=\"btn btn-secondary sds-fw-400\"\r\n [disabled]=\"disabled\"\r\n (click)=\"showDatepicker = false\"\r\n type=\"button\"\r\n >\r\n {{ translations.cancel}}\r\n </button>\r\n <!-- (click)=\"closeDatepickerPopup()\" -->\r\n <button\r\n class=\"btn btn-primary ms-1 sds-fw-400\"\r\n [disabled]=\"disabled\"\r\n (click)=\"applyPeriodPicker()\"\r\n type=\"button\"\r\n >\r\n {{ translations.apply}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dx-scroll-view>\r\n </div>\r\n</dx-popover>\r\n<!-- </div> -->\r\n\r\n", styles: ["#datepickercomponent .datepicker-input{width:125px}#datepickercomponent .datepicker-input-large{width:250px!important}#datepickercomponent .datepicker-input.activeInput{border-color:#2886b1!important;border-width:2px!important}#datepickercomponent ::ng-deep .dx-calendar-cell{padding:inherit!important}#datepickercomponent ::ng-deep .dx-calendar-cell.dx-calendar-other-month{opacity:.5!important}#datepickercomponent .timebox-fixed-width{width:80px}#datepickercomponent ::ng-deep .text-center .dx-texteditor-input{text-align:center!important}#datepickercomponent ::ng-deep .p-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-5 .dx-texteditor-input{min-height:inherit!important;padding:inherit!important}#datepickercomponent ::ng-deep .px-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-5 .dx-texteditor-input{min-height:inherit!important;padding:inherit!important}.datepicker{display:inline-flex}.datepicker .border,.datepicker .border-bottom,.datepicker .border-top,.datepicker .border-left,.datepicker .border-right{border-color:var(--bs-gray-400)!important}.datepicker>button{border-radius:0;border-left:none;border-right:none}.datepicker .preselect-options-fixed-width{width:150px}.datepicker .selected-period{flex:1 1 auto}.datepicker .date-range-dropdown-button{box-shadow:none!important;border:1px solid white;flex:0;padding-top:.3rem!important;padding-bottom:.3rem!important}.datepicker .date-range-text{flex:1;min-width:0;text-align:start}.predefined-date-range{cursor:pointer;font-size:1rem;line-height:1.5rem;min-width:10rem;border-radius:2px}.predefined-date-range:hover{background-color:#0000000a}.predefined-date-range:active{color:#fff;background-color:#3b8fc2}.predefined-date-range.selected:not(:active){background-color:#e6e6e6}::ng-deep .sds-datepicker-popover.dx-popover-wrapper .dx-popup-content{padding:0}::ng-deep .sds-datepicker-ranges-popover .dx-popup-content{padding:.25rem;font-size:1rem}::ng-deep .sds-datepicker-ranges-popover .dropdown-item:focus{outline:none}::ng-deep .sds-datepicker-ranges-popover .dropdown-item .selected{background-color:var(--bs-gray-300)}::ng-deep .sds-datepicker-popover .date-picker-date-selection dx-calendar .dx-calendar-cell.dx-calendar-empty-cell:has(fa-icon.locked-day){background:initial!important}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SdsDateComparePipe, name: "sdsDateCompare" }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "ngmodule", type: DxPopoverModule }, { kind: "component", type: i3.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: "component", type: i4.DxoAnimationComponent, selector: "dxo-animation", inputs: ["hide", "show", "duration", "easing", "enabled", "maxPointCountSupported", "complete", "delay", "direction", "from", "staggerDelay", "start", "to", "type"] }, { kind: "component", type: i4.DxoHideComponent, selector: "dxo-hide", inputs: ["complete", "delay", "direction", "duration", "easing", "from", "staggerDelay", "start", "to", "type"] }, { kind: "component", type: i4.DxoShowComponent, selector: "dxo-show", inputs: ["complete", "delay", "direction", "duration", "easing", "from", "staggerDelay", "start", "to", "type"] }, { kind: "directive", type: i5.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "ngmodule", type: DxTemplateModule }, { kind: "ngmodule", type: DxoAnimationModule }, { kind: "ngmodule", type: DxoShowModule }, { kind: "ngmodule", type: DxoHideModule }, { 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: "ngmodule", type: DxDateBoxModule }, { kind: "component", type: i7.DxDateBoxComponent, selector: "dx-date-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "adaptivityEnabled", "applyButtonText", "applyValueMode", "buttons", "calendarOptions", "cancelButtonText", "dateOutOfRangeMessage", "dateSerializationFormat", "deferRendering", "disabled", "disabledDates", "displayFormat", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "interval", "invalidDateMessage", "isDirty", "isValid", "label", "labelMode", "max", "maxLength", "min", "name", "opened", "openOnFieldClick", "pickerType", "placeholder", "readOnly", "rtlEnabled", "showAnalogClock", "showClearButton", "showDropDownButton", "spellcheck", "stylingMode", "tabIndex", "text", "todayButtonText", "type", "useMaskBehavior", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "adaptivityEnabledChange", "applyButtonTextChange", "applyValueModeChange", "buttonsChange", "calendarOptionsChange", "cancelButtonTextChange", "dateOutOfRangeMessageChange", "dateSerializationFormatChange", "deferRenderingChange", "disabledChange", "disabledDatesChange", "displayFormatChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "intervalChange", "invalidDateMessageChange", "isDirtyChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "maxLengthChange", "minChange", "nameChange", "openedChange", "openOnFieldClickChange", "pickerTypeChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showAnalogClockChange", "showClearButtonChange", "showDropDownButtonChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "todayButtonTextChange", "typeChange", "useMaskBehaviorChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "ngmodule", type: DxCalendarModule }, { kind: "component", type: i7.DxCalendarComponent, selector: "dx-calendar", inputs: ["accessKey", "activeStateEnabled", "cellTemplate", "dateSerializationFormat", "disabled", "disabledDates", "elementAttr", "firstDayOfWeek", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "isDirty", "isValid", "max", "maxZoomLevel", "min", "minZoomLevel", "name", "readOnly", "rtlEnabled", "selectionMode", "selectWeekOnClick", "showTodayButton", "showWeekNumbers", "tabIndex", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "visible", "weekNumberRule", "width", "zoomLevel"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "cellTemplateChange", "dateSerializationFormatChange", "disabledChange", "disabledDatesChange", "elementAttrChange", "firstDayOfWeekChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "isDirtyChange", "isValidChange", "maxChange", "maxZoomLevelChange", "minChange", "minZoomLevelChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "selectionModeChange", "selectWeekOnClickChange", "showTodayButtonChange", "showWeekNumbersChange", "tabIndexChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "visibleChange", "weekNumberRuleChange", "widthChange", "zoomLevelChange", "onBlur"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
898
+ }
899
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsDatePickerComponent, decorators: [{
900
+ type: Component,
901
+ args: [{ selector: 'sds-date-picker', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
902
+ NgFor,
903
+ NgIf,
904
+ SdsDateComparePipe,
905
+ CdkTrapFocus,
906
+ FontAwesomeModule,
907
+ DxPopoverModule,
908
+ DxTemplateModule,
909
+ DxoAnimationModule,
910
+ DxoShowModule,
911
+ DxoHideModule,
912
+ DxScrollViewModule,
913
+ DxDateBoxModule,
914
+ DxCalendarModule,
915
+ ], template: "<!-- <div id=\"datepickerbuttons\"> -->\r\n <div\r\n class=\"datepicker d-inline-flex bg-white sds-no-print\"\r\n role=\"group\"\r\n [attr.aria-label]=\"componentAriaLabel\"\r\n [style.width]=\"width\"\r\n >\r\n\r\n <ng-container *ngIf=\"style == 'classic'\">\r\n <div\r\n class=\"btn-group\"\r\n role=\"group\"\r\n >\r\n <button\r\n *ngIf=\"dateRangeDefinitions && dateRangeDefinitions.length > 0\"\r\n id=\"pickerPredefinedRangeDropdown{{ randomIdReference }}\"\r\n type=\"button\"\r\n class=\"\r\n btn btn-white\r\n border\r\n rounded-start\r\n border-end\r\n p-0\r\n sds-fw-400\"\r\n [disabled]=\"disabled\"\r\n [style.width]=\"dateRangeDefinitionsWidth\"\r\n (click)=\"toggleDateRangeSelectorVisibility()\"\r\n >\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"ps-2 ms-1 me-1 date-range-text text-truncate\">\r\n {{selectedDateRange.name}}\r\n </div>\r\n <button type=\"button\" class=\"btn btn-light date-range-dropdown-button sds-fw-400\" [attr.aria-label]=\"openDateRangeDefinitionsAriaLabel\"\r\n [attr.aria-controls]=\"elementUUID + '_predefined_periods_dropdown'\">\r\n <span class=\"dropdown-toggle\"></span>\r\n </button>\r\n </div>\r\n\r\n </button>\r\n\r\n <dx-popover\r\n *ngIf=\"dateRangeDefinitions && dateRangeDefinitions.length > 0\"\r\n [id]=\"elementUUID + '_predefined_periods_dropdown'\"\r\n target=\"#pickerPredefinedRangeDropdown{{ randomIdReference }}\"\r\n position=\"bottom\"\r\n [(visible)]=\"showPredefinedOptionsSelector\"\r\n [wrapperAttr]=\"{ class: 'sds-datepicker-ranges-popover sds-dx-popup-no-arrow' }\"\r\n [minWidth]=\"dateRangeDefinitionsWidth\"\r\n\r\n >\r\n <div *dxTemplate=\"let data of 'content'\" cdkTrapFocus>\r\n <div *ngFor=\"let range of dateRanges\">\r\n <div\r\n role=\"button\"\r\n tabindex=\"0\"\r\n class=\"predefined-date-range px-3 py-2 w-100\"\r\n [class.selected]=\"range === selectedDateRange\"\r\n (click)=\"changDateRange(range)\"\r\n (keydown)=\"onRangeKeyReleased($event, range)\"\r\n >\r\n {{range.name}}\r\n </div>\r\n </div>\r\n </div>\r\n </dx-popover>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <button\r\n *ngIf=\"showPreviousAndNextButtons\"\r\n class=\"btn btn-white border border-end-0 pe-2 sds-fw-400\"\r\n [class.rounded-start] = \"style == 'compact' || (!dateRangeDefinitions || dateRangeDefinitions.length === 0)\"\r\n [class.border-start-0] = \"style == 'classic' && dateRangeDefinitions.length > 0\"\r\n type=\"button\"\r\n [attr.aria-label]=\"previousPeriodAriaLabel\"\r\n [disabled]=\"isMinimumLimit || disabled\"\r\n (click)=\"goToPreviousDate()\"\r\n >\r\n <fa-icon [icon]=\"previousPeriodIcon\"></fa-icon>\r\n\r\n </button>\r\n\r\n <button\r\n #selectedDateRangeButton\r\n id=\"pickerDropdown{{ randomIdReference }}\"\r\n class=\"btn btn-white border-top border-bottom text-truncate px-0 selected-period sds-fw-400\"\r\n [class.rounded-start] = \"(!dateRangeDefinitions || dateRangeDefinitions.length === 0) && !showPreviousAndNextButtons\"\r\n [class.border-start] = \"(!dateRangeDefinitions || dateRangeDefinitions.length === 0) && !showPreviousAndNextButtons\"\r\n [class.rounded-end] = \"!showPreviousAndNextButtons\"\r\n [class.border-end] = \"!showPreviousAndNextButtons\"\r\n [disabled]=\"disabled\"\r\n type=\"button\"\r\n (click)=\"showDatepicker = !showDatepicker\"\r\n >\r\n\r\n <ng-content *ngIf=\"useCustomDisplayContent\" select=\"display\"></ng-content>\r\n <div *ngIf=\"!useCustomDisplayContent\"\r\n class=\"d-flex justify-content-center align-items-center\">\r\n <!-- <div class=\"mx-1\">\r\n <fa-icon [icon]=\"calendarIcon\" size=\"sm\"></fa-icon>\r\n </div> -->\r\n <div class=\"mx-1 text-truncate\">\r\n <span>{{selectedDateRangeName}}</span>\r\n <span>{{selectedDateRangeTextSegment1}}</span>\r\n <fa-icon\r\n *ngIf=\"selectedDateRangeTextSegment2\"\r\n class=\"mx-2\"\r\n [icon]=\"toIcon\"\r\n size=\"sm\"\r\n ></fa-icon>\r\n <span>{{selectedDateRangeTextSegment2}}</span>\r\n </div>\r\n </div>\r\n </button>\r\n\r\n <button\r\n *ngIf=\"showPreviousAndNextButtons\"\r\n class=\"btn btn-white border rounded-end border-start-0 ps-2 sds-fw-400\"\r\n type=\"button\"\r\n [attr.aria-label]=\"nextPeriodAriaLabel\"\r\n [disabled]=\"isMaximumLimit || disabled\"\r\n (click)=\"goToNextDate()\"\r\n >\r\n <fa-icon [icon]=\"nextPeriodIcon\"></fa-icon>\r\n </button>\r\n </div>\r\n\r\n <div class=\"sds-print-only h-100\">\r\n\r\n <ng-content *ngIf=\"useCustomDisplayContent\" select=\"display\"></ng-content>\r\n <div *ngIf=\"!useCustomDisplayContent\"\r\n class=\"d-flex justify-content-center align-items-center\">\r\n <!-- <div class=\"mx-1\">\r\n <fa-icon [icon]=\"calendarIcon\" size=\"sm\"></fa-icon>\r\n </div> -->\r\n <div class=\"mx-1 text-truncate\">\r\n <span>{{selectedDateRangeTextSegment1}}</span>\r\n <fa-icon\r\n *ngIf=\"selectedDateRangeTextSegment2\"\r\n class=\"mx-2\"\r\n [icon]=\"toIcon\"\r\n size=\"sm\"\r\n ></fa-icon>\r\n <span>{{selectedDateRangeTextSegment2}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n<dx-popover\r\n target=\"#pickerDropdown{{ randomIdReference }}\"\r\n position=\"bottom\"\r\n [(visible)]=\"showDatepicker\"\r\n (onHiding)=\"onHiddenCalendarPopover()\"\r\n (onShowing)=\"onShowingCalendarPopover()\"\r\n class=\"m-0 p-0\"\r\n [wrapperAttr]=\"{\r\n class: 'sds-datepicker-popover ' + dropdownWrapperClass,\r\n id: dropdownWrapperId\r\n }\"\r\n>\r\n <dxo-animation>\r\n <dxo-show\r\n type=\"pop\"\r\n [from]=\"{ scale: 0.9 }\"\r\n [to]=\"{ scale: 1 }\"\r\n ></dxo-show>\r\n <dxo-hide\r\n type=\"fade\"\r\n [from]=\"1\"\r\n [to]=\"0\"\r\n ></dxo-hide>\r\n </dxo-animation>\r\n <div *dxTemplate=\"let data of 'content'\" (keydown)=\"onKeydown($event)\" tabindex=\"1\">\r\n <dx-scroll-view>\r\n <div class=\"d-flex flex-row\">\r\n\r\n <div\r\n *ngIf=\"style == 'compact' && dateRanges.length > 1\"\r\n class=\"d-flex flex-column p-3 bg-gray-100\"\r\n style=\"border-right: 1px solid var(--bs-gray-200)\"\r\n >\r\n <div\r\n *ngIf=\"translations.presets\" class=\"px-3 py-2\">\r\n <label>{{ translations.presets }}</label>\r\n </div>\r\n <div *ngFor=\"let range of dateRanges\">\r\n <div\r\n class=\"predefined-date-range px-3 py-2 w-100\"\r\n [class.selected]=\"range === selectedDateRange\"\r\n (click)=\"changDateRange(range)\"\r\n >\r\n {{range.name}}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div id=\"datepickercomponent\">\r\n <div\r\n *ngIf=\"this.selectionKind == 'period'\"\r\n id=\"date-inputs\"\r\n class=\"d-flex flex-wrap justify-content-center align-items-center px-3 pt-3 pb-2\"\r\n >\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <dx-date-box\r\n #selectedDateStartBox\r\n class=\"border p-1 m-0 text-center rounded datepicker-input\"\r\n [class.activeInput]=\"selectedDateFocus\"\r\n [showClearButton]=\"false\"\r\n [showDropDownButton]=\"false\"\r\n [useMaskBehavior]=\"true\"\r\n [displayFormat]=\"dateInputDisplayFormat\"\r\n type=\"date\"\r\n [min]=\"minDate || minDateDefault\"\r\n [max]=\"maxDate || maxDateDefault\"\r\n [isValid]=\"isValid\"\r\n [validationError]=\"validationError\"\r\n [disabled]=\"disabled\"\r\n [value]=\"selectedDateStart\"\r\n (onValueChanged)=\"onStartDateChange($event)\"\r\n (onFocusIn)=\"onStartDateFocus()\"\r\n >\r\n </dx-date-box>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-center align-items-center px-2\">\r\n <fa-icon [icon]=\"toIcon\"></fa-icon>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-center align-items-center\">\r\n <dx-date-box\r\n #selectedDateEndBox\r\n class=\"border p-1 m-0 text-center rounded datepicker-input\"\r\n [class.activeInput]=\"!selectedDateFocus\"\r\n [showClearButton]=\"false\"\r\n [showDropDownButton]=\"false\"\r\n [useMaskBehavior]=\"true\"\r\n [displayFormat]=\"dateInputDisplayFormat\"\r\n type=\"date\"\r\n [min]=\"minDate || minDateDefault\"\r\n [max]=\"maxDate || maxDateDefault\"\r\n [isValid]=\"isValid\"\r\n [validationError]=\"validationError\"\r\n [disabled]=\"disabled\"\r\n [value]=\"selectedDateEnd\"\r\n (onValueChanged)=\"onEndDateChange($event)\"\r\n (onFocusIn)=\"onEndDateFocus()\"\r\n >\r\n </dx-date-box>\r\n </div>\r\n </div>\r\n\r\n <div class=\"bg-white mx-2 px-2 py-2 date-picker-date-selection\">\r\n <div\r\n *ngIf=\"this.selectionKind == 'single'\"\r\n id=\"date-inputs\"\r\n class=\"d-flex flex-wrap justify-content-center align-items-center p-2\"\r\n >\r\n <div class=\"d-flex justify-content-center align-items-center\">\r\n <dx-date-box\r\n #singleDatePickerBox\r\n class=\"border p-1 m-0 text-center rounded datepicker-input datepicker-input-large\"\r\n [class.activeInput]=\"true\"\r\n [showClearButton]=\"false\"\r\n [showDropDownButton]=\"false\"\r\n [useMaskBehavior]=\"true\"\r\n [displayFormat]=\"dateInputDisplayFormat\"\r\n type=\"date\"\r\n [min]=\"minDate || minDateDefault\"\r\n [max]=\"maxDate || maxDateDefault\"\r\n [isValid]=\"isValid\"\r\n [validationError]=\"validationError\"\r\n [disabled]=\"disabled\"\r\n [(value)]=\"selectedDateInternal\"\r\n >\r\n </dx-date-box>\r\n <!-- (onValueChanged)=\" closeDatepickerPopup()\" -->\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"d-flex justify-content-center align-items-center\"\r\n (click)=\"selectEndDate($event)\">\r\n\r\n <dx-calendar\r\n #calendar\r\n [min]=\"minDate || minDateDefault\"\r\n [max]=\"maxDate || maxDateDefault\"\r\n [disabledDates]=\"isDateDisabled\"\r\n [isValid]=\"isValid\"\r\n [validationError]=\"validationError\"\r\n [disabled]=\"disabled\"\r\n [value]=\"this.selectionKind == 'period' ? selectedDateCalendar : selectedDateInternal\"\r\n (onValueChanged)=\"onDateChange($event)\"\r\n [firstDayOfWeek]=\"firstDayOfWeek\"\r\n >\r\n <div\r\n *dxTemplate=\"let cellData of 'cell'\"\r\n [class]=\"'h-100 pt-1' + getCellCssClass(cellData.date)\"\r\n [style.line-height.px]=\"23\"\r\n\r\n >\r\n\r\n <div *ngIf=\"lockBeforeDate && (cellData.date | sdsDateCompare: lockBeforeDate : 'lte'); then thenLockBlock else elseDefaultBlock\"></div>\r\n <ng-template #thenLockBlock>\r\n <fa-icon [title]=\"lockBeforeDateHint\" [icon]=\"lockIcon\" class=\"locked-day position-absolute-x\"></fa-icon>\r\n </ng-template>\r\n <ng-template #elseDefaultBlock>\r\n {{ cellData.text }}\r\n </ng-template>\r\n </div>\r\n </dx-calendar>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"this.selectionKind == 'period'\"\r\n class=\"d-flex justify-content-end align-items-center px-3 pt-2 pb-3\"\r\n >\r\n <button\r\n class=\"btn btn-secondary sds-fw-400\"\r\n [disabled]=\"disabled\"\r\n (click)=\"showDatepicker = false\"\r\n type=\"button\"\r\n >\r\n {{ translations.cancel}}\r\n </button>\r\n <!-- (click)=\"closeDatepickerPopup()\" -->\r\n <button\r\n class=\"btn btn-primary ms-1 sds-fw-400\"\r\n [disabled]=\"disabled\"\r\n (click)=\"applyPeriodPicker()\"\r\n type=\"button\"\r\n >\r\n {{ translations.apply}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dx-scroll-view>\r\n </div>\r\n</dx-popover>\r\n<!-- </div> -->\r\n\r\n", styles: ["#datepickercomponent .datepicker-input{width:125px}#datepickercomponent .datepicker-input-large{width:250px!important}#datepickercomponent .datepicker-input.activeInput{border-color:#2886b1!important;border-width:2px!important}#datepickercomponent ::ng-deep .dx-calendar-cell{padding:inherit!important}#datepickercomponent ::ng-deep .dx-calendar-cell.dx-calendar-other-month{opacity:.5!important}#datepickercomponent .timebox-fixed-width{width:80px}#datepickercomponent ::ng-deep .text-center .dx-texteditor-input{text-align:center!important}#datepickercomponent ::ng-deep .p-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .p-5 .dx-texteditor-input{min-height:inherit!important;padding:inherit!important}#datepickercomponent ::ng-deep .px-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .px-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .py-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pb-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pt-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pl-5 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-0 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-1 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-2 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-3 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-4 .dx-texteditor-input,#datepickercomponent ::ng-deep .pr-5 .dx-texteditor-input{min-height:inherit!important;padding:inherit!important}.datepicker{display:inline-flex}.datepicker .border,.datepicker .border-bottom,.datepicker .border-top,.datepicker .border-left,.datepicker .border-right{border-color:var(--bs-gray-400)!important}.datepicker>button{border-radius:0;border-left:none;border-right:none}.datepicker .preselect-options-fixed-width{width:150px}.datepicker .selected-period{flex:1 1 auto}.datepicker .date-range-dropdown-button{box-shadow:none!important;border:1px solid white;flex:0;padding-top:.3rem!important;padding-bottom:.3rem!important}.datepicker .date-range-text{flex:1;min-width:0;text-align:start}.predefined-date-range{cursor:pointer;font-size:1rem;line-height:1.5rem;min-width:10rem;border-radius:2px}.predefined-date-range:hover{background-color:#0000000a}.predefined-date-range:active{color:#fff;background-color:#3b8fc2}.predefined-date-range.selected:not(:active){background-color:#e6e6e6}::ng-deep .sds-datepicker-popover.dx-popover-wrapper .dx-popup-content{padding:0}::ng-deep .sds-datepicker-ranges-popover .dx-popup-content{padding:.25rem;font-size:1rem}::ng-deep .sds-datepicker-ranges-popover .dropdown-item:focus{outline:none}::ng-deep .sds-datepicker-ranges-popover .dropdown-item .selected{background-color:var(--bs-gray-300)}::ng-deep .sds-datepicker-popover .date-picker-date-selection dx-calendar .dx-calendar-cell.dx-calendar-empty-cell:has(fa-icon.locked-day){background:initial!important}\n"] }]
916
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: SdsDatePickerService }], propDecorators: { displayContent: [{
917
+ type: ContentChild,
918
+ args: ['display']
919
+ }], selectionKind: [{
920
+ type: Input
921
+ }], dateRangeDefinitions: [{
922
+ type: Input
923
+ }], selectedDate: [{
924
+ type: Input
925
+ }], selectedDateChange: [{
926
+ type: Output
927
+ }], selectedDateStart: [{
928
+ type: Input
929
+ }], selectedDateStartChange: [{
930
+ type: Output
931
+ }], singleDayFormatFn: [{
932
+ type: Input
933
+ }], dateRangeFormatFn: [{
934
+ type: Input
935
+ }], selectedDateEnd: [{
936
+ type: Input
937
+ }], selectedDateEndChange: [{
938
+ type: Output
939
+ }], periodChange: [{
940
+ type: Output
941
+ }], minDate: [{
942
+ type: Input
943
+ }], maxDate: [{
944
+ type: Input
945
+ }], locales: [{
946
+ type: Input
947
+ }], disabled: [{
948
+ type: Input
949
+ }], validationError: [{
950
+ type: Input
951
+ }], isValid: [{
952
+ type: Input
953
+ }], disabledDates: [{
954
+ type: Input
955
+ }], applyText: [{
956
+ type: Input
957
+ }], cancelText: [{
958
+ type: Input
959
+ }], translations: [{
960
+ type: Input
961
+ }], firstDayOfWeek: [{
962
+ type: Input
963
+ }], dateRangeDefinitionsWidth: [{
964
+ type: Input
965
+ }], showPreviousAndNextButtons: [{
966
+ type: Input
967
+ }], width: [{
968
+ type: Input
969
+ }], dropdownWrapperClass: [{
970
+ type: Input
971
+ }], dropdownWrapperId: [{
972
+ type: Input
973
+ }], getPreviousDateCallback: [{
974
+ type: Input
975
+ }], getNextDateCallback: [{
976
+ type: Input
977
+ }], getPreviousRangeCallback: [{
978
+ type: Input
979
+ }], getNextRangeCallback: [{
980
+ type: Input
981
+ }], useCustomDisplayContent: [{
982
+ type: Input
983
+ }], displayPredefinedDateRangeName: [{
984
+ type: Input
985
+ }], style: [{
986
+ type: Input
987
+ }], compactStyleDisplay: [{
988
+ type: Input
989
+ }], dateInputDisplayFormat: [{
990
+ type: Input
991
+ }], componentAriaLabel: [{
992
+ type: Input
993
+ }], openDateRangeDefinitionsAriaLabel: [{
994
+ type: Input
995
+ }], nextPeriodAriaLabel: [{
996
+ type: Input
997
+ }], previousPeriodAriaLabel: [{
998
+ type: Input
999
+ }], lockBeforeDate: [{
1000
+ type: Input
1001
+ }], lockBeforeDateHint: [{
1002
+ type: Input
1003
+ }], singleDatePickerBox: [{
1004
+ type: ViewChild,
1005
+ args: ['singleDatePickerBox', { static: false }]
1006
+ }], selectedDateStartBox: [{
1007
+ type: ViewChild,
1008
+ args: ['selectedDateStartBox', { static: false }]
1009
+ }], selectedDateEndBox: [{
1010
+ type: ViewChild,
1011
+ args: ['selectedDateEndBox', { static: false }]
1012
+ }], calendar: [{
1013
+ type: ViewChild,
1014
+ args: ['calendar', { static: false }]
1015
+ }], _selectedDateRangeButton: [{
1016
+ type: ViewChild,
1017
+ args: ['selectedDateRangeButton', { static: true }]
1018
+ }] } });
1019
+
1020
+ /**
1021
+ * Generated bundle index. Do not edit.
1022
+ */
1023
+
1024
+ export { DateRangeTranslations, PeriodPickerDateRange, PeriodPickerDateRangeDefinition, PeriodPickerDateRangeDynamicDefinition, PeriodPickerDynamicDateRangeDefinitionGenerator, SdsDatePickerComponent };
1025
+ //# sourceMappingURL=spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map