@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.
- package/README.md +13 -57
- package/{esm2020 → esm2022}/public-api.mjs +35 -34
- package/{esm2020 → esm2022}/spicainternational-ngx-sds-components.mjs +4 -4
- package/esm2022/src/lib/app-switcher/app-switcher.component.mjs +116 -0
- package/{esm2020 → esm2022}/src/lib/app-switcher/app-switcher.model.mjs +1 -1
- package/esm2022/src/lib/app-switcher/public-api.mjs +3 -0
- package/{esm2020 → esm2022}/src/lib/app-switcher/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +4 -4
- package/esm2022/src/lib/avatar/avatar-group.component.mjs +82 -0
- package/{esm2020 → esm2022}/src/lib/avatar/avatar-group.model.mjs +1 -1
- package/esm2022/src/lib/avatar/avatar.component.mjs +151 -0
- package/esm2022/src/lib/avatar/public-api.mjs +4 -0
- package/{esm2020 → esm2022}/src/lib/avatar/spicainternational-ngx-sds-components-src-lib-avatar.mjs +4 -4
- package/esm2022/src/lib/badge/badge.directive.mjs +90 -0
- package/{esm2020 → esm2022}/src/lib/badge/badge.types.mjs +1 -1
- package/esm2022/src/lib/badge/components/badge.component.mjs +59 -0
- package/{esm2020 → esm2022}/src/lib/badge/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/badge/spicainternational-ngx-sds-components-src-lib-badge.mjs +4 -4
- package/esm2022/src/lib/callout/callout.component.mjs +20 -0
- package/{esm2020 → esm2022}/src/lib/callout/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/callout/spicainternational-ngx-sds-components-src-lib-callout.mjs +4 -4
- package/esm2022/src/lib/color-picker/color-picker.component.mjs +82 -0
- package/{esm2020 → esm2022}/src/lib/color-picker/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/color-picker/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +4 -4
- package/esm2022/src/lib/date-picker/date-picker.component.mjs +863 -0
- package/esm2022/src/lib/date-picker/date-picker.model.mjs +71 -0
- package/esm2022/src/lib/date-picker/public-api.mjs +3 -0
- package/esm2022/src/lib/date-picker/sds-date-picker.service.mjs +90 -0
- package/{esm2020 → esm2022}/src/lib/date-picker/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +4 -4
- package/esm2022/src/lib/date-pipes/date-compare.pipe.mjs +32 -0
- package/esm2022/src/lib/date-pipes/date-format.pipe.mjs +31 -0
- package/esm2022/src/lib/date-pipes/date-period-format.pipe.mjs +49 -0
- package/{esm2020 → esm2022}/src/lib/date-pipes/date-time-formats.constants.mjs +155 -155
- package/esm2022/src/lib/date-pipes/date-time-range-duration.pipe.mjs +33 -0
- package/esm2022/src/lib/date-pipes/date-time-range-format.pipe.mjs +49 -0
- package/{esm2020 → esm2022}/src/lib/date-pipes/public-api.mjs +8 -8
- package/{esm2020 → esm2022}/src/lib/date-pipes/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +4 -4
- package/esm2022/src/lib/drawer/drawer.component.mjs +103 -0
- package/{esm2020 → esm2022}/src/lib/drawer/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/drawer/spicainternational-ngx-sds-components-src-lib-drawer.mjs +4 -4
- package/esm2022/src/lib/duration-box/duration-box.component.mjs +279 -0
- package/{esm2020 → esm2022}/src/lib/duration-box/duration-box.types.mjs +1 -1
- package/esm2022/src/lib/duration-box/duration.service.mjs +72 -0
- package/{esm2020 → esm2022}/src/lib/duration-box/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/duration-box/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +4 -4
- package/esm2022/src/lib/duration-pipe/duration-format.pipe.mjs +27 -0
- package/{esm2020 → esm2022}/src/lib/duration-pipe/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/duration-pipe/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +4 -4
- package/esm2022/src/lib/ellipsis/directives/ellipsis.directive.mjs +52 -0
- package/{esm2020 → esm2022}/src/lib/ellipsis/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/ellipsis/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +4 -4
- package/esm2022/src/lib/expansion-panel/expansion-panel.component.mjs +86 -0
- package/{esm2020 → esm2022}/src/lib/expansion-panel/expansion-panel.types.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/expansion-panel/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/expansion-panel/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +4 -4
- package/esm2022/src/lib/highlight-text/directives/highlight-text.directive.mjs +61 -0
- package/{esm2020 → esm2022}/src/lib/highlight-text/directives/index.mjs +1 -1
- package/esm2022/src/lib/highlight-text/pipes/highlight-text.pipe.mjs +30 -0
- package/{esm2020 → esm2022}/src/lib/highlight-text/pipes/index.mjs +1 -1
- package/esm2022/src/lib/highlight-text/public-api.mjs +3 -0
- package/{esm2020 → esm2022}/src/lib/highlight-text/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs +4 -4
- package/esm2022/src/lib/highlight-text/utils/highlight-text.utils.mjs +97 -0
- package/{esm2020 → esm2022}/src/lib/highlight-text/utils/index.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/intersection/directives/index.mjs +1 -1
- package/esm2022/src/lib/intersection/directives/intersection.directive.mjs +52 -0
- package/esm2022/src/lib/intersection/public-api.mjs +3 -0
- package/{esm2020 → esm2022}/src/lib/intersection/services/index.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/intersection/services/intersection.service.mjs +54 -54
- package/{esm2020 → esm2022}/src/lib/intersection/spicainternational-ngx-sds-components-src-lib-intersection.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/keyboard-shortcut/directives/index.mjs +1 -1
- package/esm2022/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.mjs +57 -0
- package/{esm2020 → esm2022}/src/lib/keyboard-shortcut/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/keyboard-shortcut/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +4 -4
- package/esm2022/src/lib/layout/default-layout/default-layout.component.mjs +15 -0
- package/esm2022/src/lib/layout/extra-large-layout/extra-large-layout.component.mjs +15 -0
- package/esm2022/src/lib/layout/fluid-layout/fluid-layout.component.mjs +15 -0
- package/esm2022/src/lib/layout/medium-layout/medium-layout.component.mjs +15 -0
- package/esm2022/src/lib/layout/public-api.mjs +6 -0
- package/esm2022/src/lib/layout/small-layout/small-layout.component.mjs +15 -0
- package/{esm2020 → esm2022}/src/lib/layout/spicainternational-ngx-sds-components-src-lib-layout.mjs +4 -4
- package/esm2022/src/lib/message/message.component.mjs +60 -0
- package/{esm2020 → esm2022}/src/lib/message/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/message/spicainternational-ngx-sds-components-src-lib-message.mjs +4 -4
- package/esm2022/src/lib/modal/dialog/dialog.component.mjs +187 -0
- package/{esm2020 → esm2022}/src/lib/modal/dialog/dialog.types.mjs +1 -1
- package/esm2022/src/lib/modal/modal.component.mjs +153 -0
- package/{esm2020 → esm2022}/src/lib/modal/modal.model.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/modal/public-api.mjs +3 -4
- package/{esm2020 → esm2022}/src/lib/modal/spicainternational-ngx-sds-components-src-lib-modal.mjs +4 -4
- package/esm2022/src/lib/navigation/models/navigation-models.mjs +2 -0
- package/esm2022/src/lib/navigation/navigation-collapsible-frame/navigation-collapsible-frame.component.mjs +17 -0
- package/esm2022/src/lib/navigation/navigation-container/navigation-container.component.mjs +61 -0
- package/esm2022/src/lib/navigation/navigation-external-link/navigation-external-link.component.mjs +38 -0
- package/esm2022/src/lib/navigation/navigation-group/navigation-group.component.mjs +110 -0
- package/esm2022/src/lib/navigation/navigation-header/navigation-header.component.mjs +21 -0
- package/esm2022/src/lib/navigation/navigation-route-link/navigation-route-link.component.mjs +38 -0
- package/esm2022/src/lib/navigation/navigation-separator/navigation-separator.component.mjs +15 -0
- package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.mjs +30 -0
- package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.mjs +45 -0
- package/{esm2020 → esm2022}/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.types.mjs +1 -1
- package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.mjs +25 -0
- package/{esm2020 → esm2022}/src/lib/navigation/navigation-user-profile/navigation-profile.model.mjs +1 -1
- package/esm2022/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.mjs +107 -0
- package/esm2022/src/lib/navigation/product-home/product-home.component.mjs +71 -0
- package/esm2022/src/lib/navigation/public-api.mjs +14 -0
- package/{esm2020 → esm2022}/src/lib/navigation/spicainternational-ngx-sds-components-src-lib-navigation.mjs +4 -4
- package/esm2022/src/lib/navigation/utils/navigation.utils.mjs +48 -0
- package/esm2022/src/lib/number-box/number-box.component.mjs +138 -0
- package/{esm2020 → esm2022}/src/lib/number-box/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/number-box/spicainternational-ngx-sds-components-src-lib-number-box.mjs +4 -4
- package/esm2022/src/lib/page-header/page-header.component.mjs +25 -0
- package/{esm2020 → esm2022}/src/lib/page-header/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/page-header/spicainternational-ngx-sds-components-src-lib-page-header.mjs +4 -4
- package/esm2022/src/lib/pane/pane.component.mjs +43 -0
- package/{esm2020 → esm2022}/src/lib/pane/pane.model.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/pane/public-api.mjs +3 -4
- package/{esm2020 → esm2022}/src/lib/pane/spicainternational-ngx-sds-components-src-lib-pane.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/quick-info/public-api.mjs +2 -3
- package/esm2022/src/lib/quick-info/quick-info.component.mjs +121 -0
- package/{esm2020 → esm2022}/src/lib/quick-info/quick-info.model.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/quick-info/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/segmented-control/public-api.mjs +2 -3
- package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +60 -0
- package/{esm2020 → esm2022}/src/lib/segmented-control/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/side-bar/public-api.mjs +2 -3
- package/esm2022/src/lib/side-bar/side-bar.component.mjs +39 -0
- package/{esm2020 → esm2022}/src/lib/side-bar/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/static-value/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/static-value/spicainternational-ngx-sds-components-src-lib-static-value.mjs +4 -4
- package/esm2022/src/lib/static-value/static-value.component.mjs +25 -0
- package/{esm2020 → esm2022}/src/lib/table-actions/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/table-actions/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +4 -4
- package/esm2022/src/lib/table-actions/table-actions.component.mjs +49 -0
- package/esm2022/src/lib/timeline/components/timeline.component.mjs +388 -0
- package/{esm2020 → esm2022}/src/lib/timeline/models/timeline.model.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/timeline/public-api.mjs +2 -3
- package/esm2022/src/lib/timeline/services/timeline.service.mjs +152 -0
- package/{esm2020 → esm2022}/src/lib/timeline/spicainternational-ngx-sds-components-src-lib-timeline.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/timeline/types/timeline.types.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/timer/public-api.mjs +3 -4
- package/{esm2020 → esm2022}/src/lib/timer/services/index.mjs +1 -1
- package/esm2022/src/lib/timer/services/timer.service.mjs +99 -0
- package/{esm2020 → esm2022}/src/lib/timer/spicainternational-ngx-sds-components-src-lib-timer.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/timer/utils/index.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/timer/utils/timer.utils.mjs +96 -96
- package/esm2022/src/lib/tooltip/components/tooltip.component.mjs +26 -0
- package/{esm2020 → esm2022}/src/lib/tooltip/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/tooltip/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +4 -4
- package/esm2022/src/lib/tooltip/tooltip.directive.mjs +192 -0
- package/{esm2020 → esm2022}/src/lib/tooltip/tooltip.types.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/tooltip/utils/index.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/tooltip/utils/tooltip.utils.mjs +16 -16
- package/esm2022/src/lib/utils/date-time/date-time-format.function.mjs +15 -0
- package/esm2022/src/lib/utils/date-time/intl-date-time-format-options-presets.mjs +29 -0
- package/esm2022/src/lib/utils/date-time/public-api.mjs +3 -0
- package/esm2022/src/lib/utils/date-time/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs +5 -0
- package/esm2022/src/lib/utils/public-api.mjs +2 -0
- package/esm2022/src/lib/utils/spicainternational-ngx-sds-components-src-lib-utils.mjs +5 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +122 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs +236 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs +153 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs +27 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +89 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +1025 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +330 -399
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +1 -0
- package/{fesm2015 → fesm2022}/spicainternational-ngx-sds-components-src-lib-drawer.mjs +103 -118
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +354 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +34 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +59 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +93 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs +178 -201
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-intersection.mjs +99 -114
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +64 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs +70 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs +67 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs +343 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs +579 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs +145 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs +32 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs +50 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +128 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +67 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +46 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs +32 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +56 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs +546 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-timer.mjs +192 -223
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +228 -250
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs +49 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils.mjs +49 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils.mjs.map +1 -0
- package/{fesm2015 → fesm2022}/spicainternational-ngx-sds-components.mjs +5 -4
- package/{fesm2015 → fesm2022}/spicainternational-ngx-sds-components.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/package.json +120 -172
- package/public-api.d.ts +31 -30
- package/src/lib/app-switcher/app-switcher.component.d.ts +34 -34
- package/src/lib/app-switcher/app-switcher.model.d.ts +8 -8
- package/src/lib/app-switcher/index.d.ts +5 -5
- package/src/lib/app-switcher/public-api.d.ts +2 -3
- package/src/lib/avatar/avatar-group.component.d.ts +28 -28
- package/src/lib/avatar/avatar-group.model.d.ts +6 -6
- package/src/lib/avatar/avatar.component.d.ts +53 -55
- package/src/lib/avatar/index.d.ts +5 -5
- package/src/lib/avatar/public-api.d.ts +3 -4
- package/src/lib/badge/badge.directive.d.ts +23 -23
- package/src/lib/badge/badge.types.d.ts +2 -2
- package/src/lib/badge/components/badge.component.d.ts +23 -23
- package/src/lib/badge/index.d.ts +5 -5
- package/src/lib/badge/public-api.d.ts +1 -2
- package/src/lib/callout/callout.component.d.ts +10 -10
- package/src/lib/callout/index.d.ts +5 -5
- package/src/lib/callout/public-api.d.ts +1 -2
- package/src/lib/color-picker/color-picker.component.d.ts +27 -28
- package/src/lib/color-picker/index.d.ts +5 -5
- package/src/lib/color-picker/public-api.d.ts +1 -2
- package/src/lib/date-picker/date-picker.component.d.ts +149 -149
- package/src/lib/date-picker/date-picker.model.d.ts +34 -34
- package/src/lib/date-picker/index.d.ts +5 -5
- package/src/lib/date-picker/public-api.d.ts +2 -3
- package/src/lib/date-picker/sds-date-picker.service.d.ts +9 -9
- package/src/lib/date-pipes/date-compare.pipe.d.ts +7 -7
- package/src/lib/date-pipes/date-format.pipe.d.ts +19 -18
- package/src/lib/date-pipes/date-period-format.pipe.d.ts +11 -7
- package/src/lib/date-pipes/date-time-formats.constants.d.ts +22 -22
- package/src/lib/date-pipes/date-time-range-duration.pipe.d.ts +7 -7
- package/src/lib/date-pipes/date-time-range-format.pipe.d.ts +15 -15
- package/src/lib/date-pipes/index.d.ts +5 -5
- package/src/lib/date-pipes/public-api.d.ts +7 -7
- package/src/lib/drawer/drawer.component.d.ts +24 -24
- package/src/lib/drawer/index.d.ts +5 -5
- package/src/lib/drawer/public-api.d.ts +1 -2
- package/src/lib/duration-box/duration-box.component.d.ts +137 -137
- package/src/lib/duration-box/duration-box.types.d.ts +1 -1
- package/src/lib/duration-box/duration.service.d.ts +10 -10
- package/src/lib/duration-box/index.d.ts +5 -5
- package/src/lib/duration-box/public-api.d.ts +1 -2
- package/src/lib/duration-pipe/duration-format.pipe.d.ts +7 -7
- package/src/lib/duration-pipe/index.d.ts +5 -5
- package/src/lib/duration-pipe/public-api.d.ts +1 -2
- package/src/lib/ellipsis/directives/ellipsis.directive.d.ts +13 -13
- package/src/lib/ellipsis/index.d.ts +5 -5
- package/src/lib/ellipsis/public-api.d.ts +1 -2
- package/src/lib/expansion-panel/expansion-panel.component.d.ts +52 -52
- package/src/lib/expansion-panel/expansion-panel.types.d.ts +2 -2
- package/src/lib/expansion-panel/index.d.ts +5 -5
- package/src/lib/expansion-panel/public-api.d.ts +1 -2
- package/src/lib/highlight-text/directives/highlight-text.directive.d.ts +33 -33
- package/src/lib/highlight-text/directives/index.d.ts +1 -1
- package/src/lib/highlight-text/index.d.ts +5 -5
- package/src/lib/highlight-text/pipes/highlight-text.pipe.d.ts +11 -11
- package/src/lib/highlight-text/pipes/index.d.ts +1 -1
- package/src/lib/highlight-text/public-api.d.ts +2 -3
- package/src/lib/highlight-text/utils/highlight-text.utils.d.ts +23 -23
- package/src/lib/highlight-text/utils/index.d.ts +1 -1
- package/src/lib/intersection/directives/index.d.ts +1 -1
- package/src/lib/intersection/directives/intersection.directive.d.ts +24 -24
- package/src/lib/intersection/index.d.ts +5 -5
- package/src/lib/intersection/public-api.d.ts +2 -3
- package/src/lib/intersection/services/index.d.ts +1 -1
- package/src/lib/intersection/services/intersection.service.d.ts +19 -19
- package/src/lib/keyboard-shortcut/directives/index.d.ts +1 -1
- package/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.d.ts +22 -22
- package/src/lib/keyboard-shortcut/index.d.ts +5 -5
- package/src/lib/keyboard-shortcut/public-api.d.ts +1 -2
- package/src/lib/layout/default-layout/default-layout.component.d.ts +8 -8
- package/src/lib/layout/extra-large-layout/extra-large-layout.component.d.ts +8 -8
- package/src/lib/layout/fluid-layout/fluid-layout.component.d.ts +8 -8
- package/src/lib/layout/index.d.ts +5 -5
- package/src/lib/layout/medium-layout/medium-layout.component.d.ts +8 -8
- package/src/lib/layout/public-api.d.ts +5 -6
- package/src/lib/layout/small-layout/small-layout.component.d.ts +8 -8
- package/src/lib/message/index.d.ts +5 -5
- package/src/lib/message/message.component.d.ts +24 -24
- package/src/lib/message/public-api.d.ts +1 -2
- package/src/lib/modal/dialog/dialog.component.d.ts +61 -61
- package/src/lib/modal/dialog/dialog.types.d.ts +1 -1
- package/src/lib/modal/index.d.ts +5 -5
- package/src/lib/modal/modal.component.d.ts +54 -54
- package/src/lib/modal/modal.model.d.ts +3 -3
- package/src/lib/modal/public-api.d.ts +2 -3
- package/src/lib/navigation/index.d.ts +5 -5
- package/src/lib/navigation/models/navigation-models.d.ts +4 -0
- package/src/lib/navigation/navigation-collapsible-frame/navigation-collapsible-frame.component.d.ts +7 -0
- package/src/lib/navigation/navigation-container/navigation-container.component.d.ts +26 -9
- package/src/lib/navigation/navigation-external-link/navigation-external-link.component.d.ts +17 -15
- package/src/lib/navigation/navigation-group/navigation-group.component.d.ts +44 -40
- package/src/lib/navigation/navigation-header/navigation-header.component.d.ts +11 -9
- package/src/lib/navigation/navigation-route-link/navigation-route-link.component.d.ts +19 -17
- package/src/lib/navigation/navigation-separator/navigation-separator.component.d.ts +10 -8
- package/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.d.ts +11 -11
- package/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.d.ts +17 -17
- package/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.types.d.ts +1 -1
- package/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.d.ts +9 -9
- package/src/lib/navigation/navigation-user-profile/navigation-profile.model.d.ts +6 -6
- package/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.d.ts +34 -31
- package/src/lib/navigation/product-home/product-home.component.d.ts +32 -23
- package/src/lib/navigation/public-api.d.ts +13 -12
- package/src/lib/navigation/utils/navigation.utils.d.ts +2 -2
- package/src/lib/number-box/index.d.ts +5 -5
- package/src/lib/number-box/number-box.component.d.ts +83 -83
- package/src/lib/number-box/public-api.d.ts +1 -2
- package/src/lib/page-header/index.d.ts +5 -5
- package/src/lib/page-header/page-header.component.d.ts +11 -11
- package/src/lib/page-header/public-api.d.ts +1 -2
- package/src/lib/pane/index.d.ts +5 -5
- package/src/lib/pane/pane.component.d.ts +19 -19
- package/src/lib/pane/pane.model.d.ts +8 -8
- package/src/lib/pane/public-api.d.ts +2 -3
- package/src/lib/quick-info/index.d.ts +5 -5
- package/src/lib/quick-info/public-api.d.ts +1 -2
- package/src/lib/quick-info/quick-info.component.d.ts +43 -43
- package/src/lib/quick-info/quick-info.model.d.ts +9 -9
- package/src/lib/segmented-control/index.d.ts +5 -5
- package/src/lib/segmented-control/public-api.d.ts +1 -2
- package/src/lib/segmented-control/segmented-control.component.d.ts +21 -21
- package/src/lib/side-bar/index.d.ts +5 -5
- package/src/lib/side-bar/public-api.d.ts +1 -2
- package/src/lib/side-bar/side-bar.component.d.ts +24 -74
- package/src/lib/static-value/index.d.ts +5 -5
- package/src/lib/static-value/public-api.d.ts +1 -2
- package/src/lib/static-value/static-value.component.d.ts +12 -12
- package/src/lib/table-actions/index.d.ts +5 -5
- package/src/lib/table-actions/public-api.d.ts +1 -2
- package/src/lib/table-actions/table-actions.component.d.ts +16 -16
- package/src/lib/timeline/components/timeline.component.d.ts +206 -198
- package/src/lib/timeline/index.d.ts +5 -5
- package/src/lib/timeline/models/timeline.model.d.ts +38 -38
- package/src/lib/timeline/public-api.d.ts +1 -2
- package/src/lib/timeline/services/timeline.service.d.ts +24 -21
- package/src/lib/timeline/types/timeline.types.d.ts +2 -2
- package/src/lib/timer/index.d.ts +5 -5
- package/src/lib/timer/public-api.d.ts +2 -3
- package/src/lib/timer/services/index.d.ts +1 -1
- package/src/lib/timer/services/timer.service.d.ts +78 -78
- package/src/lib/timer/utils/index.d.ts +1 -1
- package/src/lib/timer/utils/timer.utils.d.ts +61 -61
- package/src/lib/tooltip/components/tooltip.component.d.ts +18 -18
- package/src/lib/tooltip/index.d.ts +5 -5
- package/src/lib/tooltip/public-api.d.ts +1 -2
- package/src/lib/tooltip/tooltip.directive.d.ts +36 -36
- package/src/lib/tooltip/tooltip.types.d.ts +2 -2
- package/src/lib/tooltip/utils/index.d.ts +1 -1
- package/src/lib/tooltip/utils/tooltip.utils.d.ts +5 -5
- package/src/lib/utils/date-time/date-time-format.function.d.ts +2 -0
- package/src/lib/utils/date-time/index.d.ts +5 -0
- package/src/lib/utils/date-time/intl-date-time-format-options-presets.d.ts +4 -0
- package/src/lib/utils/date-time/public-api.d.ts +2 -0
- package/src/lib/utils/index.d.ts +5 -0
- package/src/lib/utils/public-api.d.ts +1 -0
- package/esm2020/src/lib/app-switcher/app-switcher.component.mjs +0 -107
- package/esm2020/src/lib/app-switcher/app-switcher.module.mjs +0 -36
- package/esm2020/src/lib/app-switcher/public-api.mjs +0 -4
- package/esm2020/src/lib/avatar/avatar-group.component.mjs +0 -80
- package/esm2020/src/lib/avatar/avatar.component.mjs +0 -162
- package/esm2020/src/lib/avatar/avatar.module.mjs +0 -41
- package/esm2020/src/lib/avatar/public-api.mjs +0 -5
- package/esm2020/src/lib/badge/badge.directive.mjs +0 -89
- package/esm2020/src/lib/badge/badge.module.mjs +0 -27
- package/esm2020/src/lib/badge/components/badge.component.mjs +0 -59
- package/esm2020/src/lib/callout/callout.component.mjs +0 -20
- package/esm2020/src/lib/callout/callout.module.mjs +0 -25
- package/esm2020/src/lib/color-picker/color-picker.component.mjs +0 -76
- package/esm2020/src/lib/color-picker/color-picker.module.mjs +0 -33
- package/esm2020/src/lib/date-picker/date-picker.component.mjs +0 -841
- package/esm2020/src/lib/date-picker/date-picker.model.mjs +0 -71
- package/esm2020/src/lib/date-picker/date-picker.module.mjs +0 -68
- package/esm2020/src/lib/date-picker/public-api.mjs +0 -4
- package/esm2020/src/lib/date-picker/sds-date-picker.service.mjs +0 -90
- package/esm2020/src/lib/date-pipes/date-compare.pipe.mjs +0 -31
- package/esm2020/src/lib/date-pipes/date-format.pipe.mjs +0 -73
- package/esm2020/src/lib/date-pipes/date-period-format.pipe.mjs +0 -44
- package/esm2020/src/lib/date-pipes/date-pipes.module.mjs +0 -43
- package/esm2020/src/lib/date-pipes/date-time-range-duration.pipe.mjs +0 -31
- package/esm2020/src/lib/date-pipes/date-time-range-format.pipe.mjs +0 -48
- package/esm2020/src/lib/drawer/drawer.component.mjs +0 -103
- package/esm2020/src/lib/drawer/drawer.module.mjs +0 -18
- package/esm2020/src/lib/duration-box/duration-box.component.mjs +0 -261
- package/esm2020/src/lib/duration-box/duration-box.module.mjs +0 -44
- package/esm2020/src/lib/duration-box/duration.service.mjs +0 -72
- package/esm2020/src/lib/duration-pipe/duration-format.pipe.mjs +0 -26
- package/esm2020/src/lib/duration-pipe/duration-pipe.module.mjs +0 -18
- package/esm2020/src/lib/ellipsis/directives/ellipsis.directive.mjs +0 -51
- package/esm2020/src/lib/ellipsis/ellipsis.module.mjs +0 -24
- package/esm2020/src/lib/expansion-panel/expansion-panel.component.mjs +0 -86
- package/esm2020/src/lib/expansion-panel/expansion-panel.module.mjs +0 -25
- package/esm2020/src/lib/highlight-text/directives/highlight-text.directive.mjs +0 -60
- package/esm2020/src/lib/highlight-text/highlight-text.module.mjs +0 -29
- package/esm2020/src/lib/highlight-text/pipes/highlight-text.pipe.mjs +0 -29
- package/esm2020/src/lib/highlight-text/public-api.mjs +0 -4
- package/esm2020/src/lib/highlight-text/utils/highlight-text.utils.mjs +0 -97
- package/esm2020/src/lib/intersection/directives/intersection.directive.mjs +0 -51
- package/esm2020/src/lib/intersection/intersection.module.mjs +0 -20
- package/esm2020/src/lib/intersection/public-api.mjs +0 -4
- package/esm2020/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.mjs +0 -56
- package/esm2020/src/lib/keyboard-shortcut/keyboard-shortcut.module.mjs +0 -24
- package/esm2020/src/lib/layout/default-layout/default-layout.component.mjs +0 -15
- package/esm2020/src/lib/layout/extra-large-layout/extra-large-layout.component.mjs +0 -15
- package/esm2020/src/lib/layout/fluid-layout/fluid-layout.component.mjs +0 -15
- package/esm2020/src/lib/layout/layout.module.mjs +0 -47
- package/esm2020/src/lib/layout/medium-layout/medium-layout.component.mjs +0 -15
- package/esm2020/src/lib/layout/public-api.mjs +0 -7
- package/esm2020/src/lib/layout/small-layout/small-layout.component.mjs +0 -15
- package/esm2020/src/lib/message/message.component.mjs +0 -60
- package/esm2020/src/lib/message/message.module.mjs +0 -28
- package/esm2020/src/lib/modal/dialog/dialog.component.mjs +0 -187
- package/esm2020/src/lib/modal/modal.component.mjs +0 -147
- package/esm2020/src/lib/modal/modal.module.mjs +0 -43
- package/esm2020/src/lib/navigation/navigation-container/navigation-container.component.mjs +0 -17
- package/esm2020/src/lib/navigation/navigation-external-link/navigation-external-link.component.mjs +0 -37
- package/esm2020/src/lib/navigation/navigation-group/navigation-group.component.mjs +0 -100
- package/esm2020/src/lib/navigation/navigation-header/navigation-header.component.mjs +0 -17
- package/esm2020/src/lib/navigation/navigation-route-link/navigation-route-link.component.mjs +0 -33
- package/esm2020/src/lib/navigation/navigation-separator/navigation-separator.component.mjs +0 -14
- package/esm2020/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.mjs +0 -26
- package/esm2020/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.mjs +0 -40
- package/esm2020/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.mjs +0 -23
- package/esm2020/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.mjs +0 -99
- package/esm2020/src/lib/navigation/navigation.module.mjs +0 -107
- package/esm2020/src/lib/navigation/pipes/navigation-route-active.pipe.mjs +0 -30
- package/esm2020/src/lib/navigation/product-home/product-home.component.mjs +0 -54
- package/esm2020/src/lib/navigation/public-api.mjs +0 -13
- package/esm2020/src/lib/navigation/utils/navigation.utils.mjs +0 -48
- package/esm2020/src/lib/number-box/number-box.component.mjs +0 -138
- package/esm2020/src/lib/number-box/number-box.module.mjs +0 -28
- package/esm2020/src/lib/page-header/page-header.component.mjs +0 -25
- package/esm2020/src/lib/page-header/page-header.module.mjs +0 -19
- package/esm2020/src/lib/pane/pane.component.mjs +0 -43
- package/esm2020/src/lib/pane/pane.module.mjs +0 -28
- package/esm2020/src/lib/quick-info/quick-info.component.mjs +0 -116
- package/esm2020/src/lib/quick-info/quick-info.module.mjs +0 -33
- package/esm2020/src/lib/segmented-control/segmented-control.component.mjs +0 -55
- package/esm2020/src/lib/segmented-control/segmented-control.module.mjs +0 -29
- package/esm2020/src/lib/side-bar/side-bar.component.mjs +0 -109
- package/esm2020/src/lib/side-bar/side-bar.module.mjs +0 -28
- package/esm2020/src/lib/static-value/static-value.component.mjs +0 -25
- package/esm2020/src/lib/static-value/static-value.module.mjs +0 -28
- package/esm2020/src/lib/table-actions/table-actions.component.mjs +0 -42
- package/esm2020/src/lib/table-actions/table-actions.module.mjs +0 -32
- package/esm2020/src/lib/timeline/components/timeline.component.mjs +0 -364
- package/esm2020/src/lib/timeline/services/timeline.service.mjs +0 -120
- package/esm2020/src/lib/timeline/timeline.module.mjs +0 -24
- package/esm2020/src/lib/timer/services/timer.service.mjs +0 -99
- package/esm2020/src/lib/timer/timer.module.mjs +0 -34
- package/esm2020/src/lib/tooltip/components/tooltip.component.mjs +0 -22
- package/esm2020/src/lib/tooltip/tooltip.directive.mjs +0 -191
- package/esm2020/src/lib/tooltip/tooltip.module.mjs +0 -31
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +0 -150
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-avatar.mjs +0 -284
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-badge.mjs +0 -175
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-callout.mjs +0 -49
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +0 -113
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +0 -1071
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +0 -411
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +0 -379
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +0 -48
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +0 -80
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +0 -115
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs +0 -215
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-intersection.mjs +0 -127
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +0 -85
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-layout.mjs +0 -110
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-message.mjs +0 -92
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-message.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-modal.mjs +0 -378
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs +0 -595
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-number-box.mjs +0 -170
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-page-header.mjs +0 -48
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-pane.mjs +0 -75
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +0 -155
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +0 -88
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +0 -141
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-static-value.mjs +0 -57
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +0 -78
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-timeline.mjs +0 -515
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-timer.mjs +0 -235
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +0 -260
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +0 -146
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-avatar.mjs +0 -282
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-badge.mjs +0 -175
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-callout.mjs +0 -49
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +0 -113
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +0 -1064
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-drawer.mjs +0 -125
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +0 -377
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +0 -48
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +0 -79
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +0 -115
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +0 -83
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-layout.mjs +0 -110
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-message.mjs +0 -92
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-message.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-modal.mjs +0 -376
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs +0 -595
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-number-box.mjs +0 -170
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-page-header.mjs +0 -48
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-pane.mjs +0 -75
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +0 -153
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +0 -88
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +0 -141
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-static-value.mjs +0 -57
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +0 -78
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-timeline.mjs +0 -511
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components.mjs +0 -39
- package/fesm2020/spicainternational-ngx-sds-components.mjs.map +0 -1
- package/src/lib/app-switcher/app-switcher.module.d.ts +0 -11
- package/src/lib/avatar/avatar.module.d.ts +0 -11
- package/src/lib/badge/badge.module.d.ts +0 -9
- package/src/lib/callout/callout.module.d.ts +0 -8
- package/src/lib/color-picker/color-picker.module.d.ts +0 -10
- package/src/lib/date-picker/date-picker.module.d.ts +0 -12
- package/src/lib/date-pipes/date-pipes.module.d.ts +0 -12
- package/src/lib/drawer/drawer.module.d.ts +0 -8
- package/src/lib/duration-box/duration-box.module.d.ts +0 -10
- package/src/lib/duration-pipe/duration-pipe.module.d.ts +0 -8
- package/src/lib/ellipsis/ellipsis.module.d.ts +0 -8
- package/src/lib/expansion-panel/expansion-panel.module.d.ts +0 -15
- package/src/lib/highlight-text/highlight-text.module.d.ts +0 -9
- package/src/lib/intersection/intersection.module.d.ts +0 -8
- package/src/lib/keyboard-shortcut/keyboard-shortcut.module.d.ts +0 -8
- package/src/lib/layout/layout.module.d.ts +0 -13
- package/src/lib/message/message.module.d.ts +0 -9
- package/src/lib/modal/modal.module.d.ts +0 -12
- package/src/lib/navigation/navigation.module.d.ts +0 -28
- package/src/lib/navigation/pipes/navigation-route-active.pipe.d.ts +0 -7
- package/src/lib/number-box/number-box.module.d.ts +0 -9
- package/src/lib/page-header/page-header.module.d.ts +0 -8
- package/src/lib/pane/pane.module.d.ts +0 -9
- package/src/lib/quick-info/quick-info.module.d.ts +0 -10
- package/src/lib/segmented-control/segmented-control.module.d.ts +0 -9
- package/src/lib/side-bar/side-bar.module.d.ts +0 -9
- package/src/lib/static-value/static-value.module.d.ts +0 -9
- package/src/lib/table-actions/table-actions.module.d.ts +0 -10
- package/src/lib/timeline/timeline.module.d.ts +0 -8
- package/src/lib/timer/timer.module.d.ts +0 -10
- package/src/lib/tooltip/tooltip.module.d.ts +0 -10
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-date-picker.mjs","sources":["../../../projects/ngx-sds-components/src/lib/date-picker/date-picker.model.ts","../../../projects/ngx-sds-components/src/lib/date-picker/sds-date-picker.service.ts","../../../projects/ngx-sds-components/src/lib/date-picker/date-picker.component.ts","../../../projects/ngx-sds-components/src/lib/date-picker/date-picker.component.html","../../../projects/ngx-sds-components/src/lib/date-picker/date-picker.module.ts","../../../projects/ngx-sds-components/src/lib/date-picker/spicainternational-ngx-sds-components-src-lib-date-picker.ts"],"sourcesContent":["export class DateRangeTranslations {\r\n custom: string = '';\r\n}\r\n\r\nexport class PeriodPickerDateRangeDefinition {\r\n name: string = '';\r\n type: 'dynamic' | 'fixed' = 'fixed';\r\n\r\n dynamicDateRangeDefinition?: PeriodPickerDateRangeDynamicDefinition;\r\n\r\n dateFrom?: Date;\r\n dateTo?: Date;\r\n\r\n constructor(\r\n name: string,\r\n type: 'dynamic' | 'fixed' = 'fixed',\r\n dynamicDateRangeDefinition?: PeriodPickerDateRangeDynamicDefinition,\r\n dateFrom?: Date,\r\n dateTo?: Date\r\n ) {\r\n this.name = name;\r\n this.type = type;\r\n this.dynamicDateRangeDefinition = dynamicDateRangeDefinition;\r\n this.dateFrom = dateFrom;\r\n this.dateTo = dateTo;\r\n }\r\n}\r\n\r\nexport class PeriodPickerDateRangeDynamicDefinition {\r\n dimension: 'd' | 'w' | 'm' | 'y';\r\n modifier: number;\r\n\r\n constructor(dimension: 'd' | 'w' | 'm' | 'y', modifier: number) {\r\n this.dimension = dimension;\r\n this.modifier = modifier;\r\n }\r\n}\r\n\r\nexport class PeriodPickerDateRange {\r\n name: string;\r\n dateFrom?: Date;\r\n dateTo?: Date;\r\n\r\n constructor(name: string, dateFrom?: Date, dateTo?: Date) {\r\n this.name = name;\r\n this.dateFrom = dateFrom;\r\n this.dateTo = dateTo;\r\n }\r\n}\r\n\r\nexport class PeriodPickerDynamicDateRangeDefinitionGenerator {\r\n\r\n static generateMonthlyRanges(currentMonthText: string, previousMonthText: string, nextMonthText: string): PeriodPickerDateRangeDefinition[] {\r\n const ranges: PeriodPickerDateRangeDefinition[] = [];\r\n\r\n if (currentMonthText) {\r\n ranges.push(new PeriodPickerDateRangeDefinition(currentMonthText, 'dynamic', {dimension: 'm', modifier: 0}))\r\n }\r\n\r\n if (nextMonthText) {\r\n ranges.push(new PeriodPickerDateRangeDefinition(nextMonthText, 'dynamic', {dimension: 'm', modifier: 1}))\r\n }\r\n\r\n if (previousMonthText) {\r\n ranges.push(new PeriodPickerDateRangeDefinition(previousMonthText, 'dynamic', {dimension: 'm', modifier: -1}))\r\n }\r\n\r\n return ranges;\r\n }\r\n\r\n static generateWeeklyRanges(currentWeekText: string, previousWeekText: string, nextWeekText: string): PeriodPickerDateRangeDefinition[] {\r\n const ranges: PeriodPickerDateRangeDefinition[] = [];\r\n\r\n if (currentWeekText) {\r\n ranges.push(new PeriodPickerDateRangeDefinition(currentWeekText, 'dynamic', {dimension: 'w', modifier: 0}))\r\n }\r\n\r\n if (nextWeekText) {\r\n ranges.push(new PeriodPickerDateRangeDefinition(nextWeekText, 'dynamic', {dimension: 'w', modifier: 1}))\r\n }\r\n\r\n if (previousWeekText) {\r\n ranges.push(new PeriodPickerDateRangeDefinition(previousWeekText, 'dynamic', {dimension: 'w', modifier: -1}))\r\n }\r\n \r\n return ranges;\r\n } \r\n\r\n static generateDailyRanges(currentDayText: string, previousDayText: string, nextDayText: string): PeriodPickerDateRangeDefinition[] {\r\n const ranges: PeriodPickerDateRangeDefinition[] = [];\r\n\r\n if (currentDayText) {\r\n ranges.push(new PeriodPickerDateRangeDefinition(currentDayText, 'dynamic', {dimension: 'd', modifier: 0}))\r\n }\r\n\r\n if (nextDayText) {\r\n ranges.push(new PeriodPickerDateRangeDefinition(nextDayText, 'dynamic', {dimension: 'd', modifier: 1}))\r\n }\r\n\r\n if (previousDayText) {\r\n ranges.push(new PeriodPickerDateRangeDefinition(previousDayText, 'dynamic', {dimension: 'd', modifier: -1}))\r\n }\r\n \r\n return ranges;\r\n } \r\n\r\n}\r\n\r\nexport interface PeriodPickerTranslations {\r\n cancel: string;\r\n apply: string;\r\n custom: string;\r\n\r\n printLabel?: string;\r\n\r\n presets?: string;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n add,\r\n addDays,\r\n addMonths,\r\n addWeeks,\r\n addYears,\r\n differenceInDays,\r\n differenceInMonths,\r\n endOfMonth,\r\n endOfWeek,\r\n endOfYear,\r\n isSameDay,\r\n isSameMonth,\r\n startOfDay,\r\n startOfMonth,\r\n startOfWeek,\r\n startOfYear,\r\n} from 'date-fns';\r\nimport {\r\n PeriodPickerDateRange,\r\n PeriodPickerDateRangeDefinition,\r\n} from './date-picker.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SdsDatePickerService {\r\n constructor() {}\r\n\r\n public getRange(\r\n currentStartDate: Date,\r\n currentEndDate: Date,\r\n direction: 'previous' | 'next'\r\n ): [Date, Date] {\r\n const modifier = direction == 'next' ? 1 : -1;\r\n\r\n let dateStart, dateEnd;\r\n if (\r\n isSameDay(currentStartDate, startOfMonth(currentStartDate)) &&\r\n isSameDay(currentEndDate, endOfMonth(currentEndDate)) &&\r\n isSameMonth(currentStartDate, currentEndDate)\r\n ) {\r\n // Month range.\r\n dateStart = add(currentStartDate, { months: modifier });\r\n dateEnd = startOfDay(\r\n endOfMonth(add(currentEndDate, { months: modifier }))\r\n );\r\n } else {\r\n // Custom range in months\r\n if (\r\n isSameDay(currentStartDate, startOfMonth(currentStartDate)) &&\r\n isSameDay(currentEndDate, endOfMonth(currentEndDate))\r\n ) {\r\n const monthsDiff =\r\n differenceInMonths(currentEndDate, currentStartDate) + 1;\r\n dateStart = add(currentStartDate, {\r\n months: monthsDiff * modifier,\r\n });\r\n dateEnd = startOfDay(\r\n endOfMonth(\r\n add(currentEndDate, { months: monthsDiff * modifier })\r\n )\r\n );\r\n } else {\r\n // Custom range in days\r\n const dayDiff =\r\n differenceInDays(currentEndDate, currentStartDate) + 1;\r\n dateStart = add(currentStartDate, { days: dayDiff * modifier });\r\n dateEnd = add(currentEndDate, { days: dayDiff * modifier });\r\n }\r\n }\r\n return [dateStart, dateEnd];\r\n }\r\n\r\n public getPredefinedDateRanges(\r\n dateRangeDefinitions: Array<PeriodPickerDateRangeDefinition>,\r\n referenceDay: Date,\r\n firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6\r\n ): Array<PeriodPickerDateRange> {\r\n let predefinedDateRanges = new Array<PeriodPickerDateRange>();\r\n referenceDay = startOfDay(referenceDay);\r\n\r\n dateRangeDefinitions.forEach((definition) => {\r\n if (definition.type == 'fixed') {\r\n if (\r\n definition.dateFrom !== undefined &&\r\n definition.dateTo !== undefined\r\n ) {\r\n const fixedDateRange = new PeriodPickerDateRange(\r\n definition.name,\r\n definition.dateFrom,\r\n definition.dateTo\r\n );\r\n predefinedDateRanges.push(fixedDateRange);\r\n }\r\n } else if (definition.type == 'dynamic') {\r\n const dateRangeDefinition =\r\n definition.dynamicDateRangeDefinition;\r\n\r\n if (dateRangeDefinition) {\r\n let dateFrom: Date | null = null;\r\n let dateTo: Date | null = null;\r\n\r\n switch (dateRangeDefinition.dimension) {\r\n case 'd':\r\n dateFrom = addDays(\r\n referenceDay,\r\n dateRangeDefinition.modifier\r\n );\r\n dateTo = addDays(\r\n referenceDay,\r\n dateRangeDefinition.modifier\r\n );\r\n break;\r\n case 'w':\r\n dateFrom = startOfWeek(\r\n addWeeks(\r\n referenceDay,\r\n dateRangeDefinition.modifier\r\n ),\r\n { weekStartsOn: firstDayOfWeek }\r\n );\r\n dateTo = endOfWeek(\r\n addWeeks(\r\n referenceDay,\r\n dateRangeDefinition.modifier\r\n ),\r\n { weekStartsOn: firstDayOfWeek }\r\n );\r\n break;\r\n\r\n case 'm':\r\n dateFrom = startOfMonth(\r\n addMonths(\r\n referenceDay,\r\n dateRangeDefinition.modifier\r\n )\r\n );\r\n dateTo = endOfMonth(\r\n addMonths(\r\n referenceDay,\r\n dateRangeDefinition.modifier\r\n )\r\n );\r\n break;\r\n\r\n case 'y':\r\n dateFrom = startOfYear(\r\n addYears(\r\n referenceDay,\r\n dateRangeDefinition.modifier\r\n )\r\n );\r\n dateTo = endOfYear(\r\n addYears(\r\n referenceDay,\r\n dateRangeDefinition.modifier\r\n )\r\n );\r\n break;\r\n default:\r\n break;\r\n }\r\n if (dateFrom != undefined && dateTo != undefined) {\r\n const dynamicRangeDefinition =\r\n new PeriodPickerDateRange(\r\n definition.name,\r\n dateFrom,\r\n startOfDay(dateTo)\r\n );\r\n predefinedDateRanges.push(dynamicRangeDefinition);\r\n }\r\n }\r\n }\r\n });\r\n return predefinedDateRanges;\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { DxCalendarComponent } from 'devextreme-angular/ui/calendar';\r\nimport { DxDateBoxComponent } from 'devextreme-angular/ui/date-box';\r\nimport { locale } from \"devextreme/localization\";\r\n\r\nimport {\r\n isSameDay,\r\n isSameYear,\r\n isSameMonth,\r\n startOfDay,\r\n startOfMonth,\r\n endOfMonth,\r\n isAfter,\r\n isBefore,\r\n add,\r\n} from 'date-fns';\r\n\r\nimport {\r\n faAngleLeft,\r\n faAngleRight,\r\n faCalendar,\r\n faLock\r\n} from '@fortawesome/pro-regular-svg-icons';\r\n\r\nimport { faArrowRight } from '@fortawesome/pro-light-svg-icons';\r\n\r\nimport {\r\n PeriodPickerDateRange,\r\n PeriodPickerDateRangeDefinition,\r\n PeriodPickerTranslations,\r\n} from './date-picker.model';\r\nimport { SdsDatePickerService } from './sds-date-picker.service';\r\n\r\n// import { faLock } from '@fortawesome/pro-solid-svg-icons';\r\n\r\n@Component({\r\n selector: 'sds-date-picker',\r\n templateUrl: './date-picker.component.html',\r\n styleUrls: ['./date-picker.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SdsDatePickerComponent implements OnInit, OnChanges {\r\n @ContentChild('display') displayContent: any = undefined;\r\n\r\n // public interface\r\n @Input() selectionKind: 'period' | 'single' = 'period';\r\n\r\n @Input() dateRangeDefinitions: Array<PeriodPickerDateRangeDefinition> = [];\r\n\r\n // single date selector\r\n @Input() selectedDate: Date = new Date();\r\n @Output() public selectedDateChange = new EventEmitter();\r\n\r\n // period selector\r\n @Input() selectedDateStart: string | number | Date;\r\n @Output() selectedDateStartChange = new EventEmitter();\r\n\r\n // format function for displaying date when single date is selected\r\n @Input() singleDayFormatFn: ((date: Date) => string ) | undefined = undefined;\r\n // format function for displaying each date when date range is selected\r\n @Input() dateRangeFormatFn: ((date: Date) => string ) | undefined = undefined;\r\n\r\n @Input() selectedDateEnd: string | number | Date;\r\n @Output() selectedDateEndChange = new EventEmitter();\r\n @Output() periodChange = new EventEmitter();\r\n\r\n @Input() minDate?: Date;\r\n @Input() maxDate?: Date;\r\n\r\n @Input() locales?: string | Array<string>;\r\n @Input() disabled: boolean = false;\r\n @Input() validationError: string = '';\r\n @Input() isValid: boolean = true;\r\n\r\n @Input() disabledDates: Date[] = [];\r\n\r\n @Input() public applyText?: string = 'close';\r\n @Input() public cancelText?: string = 'close';\r\n\r\n @Input() public translations: PeriodPickerTranslations;\r\n\r\n @Input() public firstDayOfWeek: 0 | 1 | 2 | 3 | 4 | 5 | 6 = 1;\r\n\r\n @Input() public dateRangeDefinitionsWidth: string = '11rem';\r\n @Input() public showPreviousAndNextButtons: boolean = true;\r\n\r\n @Input() public width: string = '30rem';\r\n\r\n @Input() public dropdownWrapperClass: string = '';\r\n @Input() public dropdownWrapperId: string = '';\r\n\r\n @Input() public getPreviousDateCallback: (currentDate: string | number | Date) => string | number | Date = this.getPreviousDay;\r\n @Input() public getNextDateCallback: (currentDate: string | number | Date) => string | number | Date = this.getNextDay;\r\n\r\n @Input() public getPreviousRangeCallback: (currentStartDate: string | number | Date, currentEndDate: string | number | Date) => [string | number | Date, string | number | Date] = this.getPreviousRange;\r\n @Input() public getNextRangeCallback: (currentStartDate: string | number | Date, currentEndDate: string | number | Date) => [string | number | Date, string | number | Date] = this.getNextRange;\r\n\r\n @Input() public useCustomDisplayContent = false;\r\n\r\n @Input() public displayPredefinedDateRangeName = false\r\n\r\n @Input() public style: 'classic' | 'compact' = 'classic';\r\n @Input() public compactStyleDisplay: 'date' | 'predefinedRange' | 'both' = 'predefinedRange';\r\n\r\n @Input() public dateInputDisplayFormat: string = 'shortDate';\r\n\r\n // #region Aria inputs\r\n /**\r\n * @description\r\n * Component aria-label. Defaults to 'Date picker'\r\n */\r\n @Input() public componentAriaLabel = 'Date picker'\r\n\r\n /**\r\n * @description\r\n * Predefined date range definitions dropdown button aria-label. Defaults to 'Open predefined date ranges pane'\r\n */\r\n @Input() public openDateRangeDefinitionsAriaLabel = 'Open predefined date ranges pane'\r\n\r\n /**\r\n * @description\r\n * Next period button aria-label. Default to 'Next period'\r\n */\r\n @Input() public nextPeriodAriaLabel = 'Next period'\r\n\r\n /**\r\n * @description\r\n * Previous period button aria-label. Defaults to 'Previous period'\r\n */\r\n @Input() public previousPeriodAriaLabel = 'Previous period'\r\n\r\n // #endregion ARIA inputs\r\n\r\n @Input() public lockBeforeDate?: Date;\r\n @Input() public lockBeforeDateHint?: string;\r\n\r\n\r\n // public properties\r\n previousPeriodIcon = faAngleLeft;\r\n nextPeriodIcon = faAngleRight;\r\n calendarIcon = faCalendar;\r\n toIcon = faArrowRight;\r\n lockIcon = faLock;\r\n\r\n predefinedDateRanges: Array<PeriodPickerDateRange> = [];\r\n predefinedDateRangesGeneratedDate: Date | undefined = undefined;\r\n selectedDateRange: PeriodPickerDateRange;\r\n dateRanges: Array<PeriodPickerDateRange> = [];\r\n\r\n selectedDateRangeName: string = '';\r\n selectedDateRangeTextSegment1: string = '';\r\n selectedDateRangeTextSegment2: string = '';\r\n\r\n minDateDefault: Date;\r\n maxDateDefault: Date;\r\n\r\n selectedDateCalendar: string | number | Date = new Date();\r\n selectedDateInternal: string | number | Date = new Date();\r\n\r\n dateStartOld: string | number | Date = '';\r\n dateStart: string | number | Date = '';\r\n dateEndOld: string | number | Date = '';\r\n dateEnd: string | number | Date = '';\r\n\r\n showDatepicker: boolean;\r\n showPredefinedOptionsSelector: boolean = false;\r\n\r\n hidingConfirmedDate: boolean = false;\r\n\r\n isSettingNotPreprocessedDate: boolean = false;\r\n isSelectedPredefinedPeriod: boolean = false;\r\n selectedDateFocus: boolean = true;\r\n\r\n protected elementUUID = 'sds-as-' + crypto.randomUUID();\r\n\r\n // private fields\r\n private customDateRange: PeriodPickerDateRange;\r\n private initCalendarValue: boolean = true;\r\n\r\n @ViewChild('singleDatePickerBox', { static: false })\r\n private singleDatePickerBox: DxDateBoxComponent | undefined = undefined;\r\n @ViewChild('selectedDateStartBox', { static: false })\r\n private selectedDateStartBox: DxDateBoxComponent | undefined = undefined;\r\n @ViewChild('selectedDateEndBox', { static: false })\r\n private selectedDateEndBox: DxDateBoxComponent | undefined = undefined;\r\n\r\n @ViewChild('calendar', { static: false }) private calendar:\r\n | DxCalendarComponent\r\n | undefined = undefined;\r\n\r\n @ViewChild('selectedDateRangeButton', { static: true})\r\n private _selectedDateRangeButton: ElementRef | undefined = undefined;\r\n\r\n // public methods\r\n constructor(\r\n private changeRef: ChangeDetectorRef,\r\n private datePickerService: SdsDatePickerService\r\n ) {\r\n this.dateRangeDefinitions = [];\r\n\r\n this.minDateDefault = new Date(1900, 1, 1);\r\n this.maxDateDefault = add(startOfDay(new Date()), { years: 50 });\r\n\r\n this.showDatepicker = false;\r\n\r\n this.translations = {\r\n cancel: 'Cancel',\r\n apply: 'Apply',\r\n custom: 'Custom',\r\n presets: 'Presets',\r\n };\r\n\r\n this.customDateRange = new PeriodPickerDateRange(\r\n this.translations.custom,\r\n undefined,\r\n undefined\r\n );\r\n\r\n this.selectedDateRange = this.customDateRange;\r\n\r\n this.selectedDateInternal = startOfDay(new Date());\r\n\r\n this.selectedDateStart = startOfMonth(new Date());\r\n this.selectedDateEnd = startOfDay(endOfMonth(new Date()));\r\n\r\n this.setSelectedDateRangeText();\r\n\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['dateRangeDefinitions']) {\r\n this.generateDateRanges(true);\r\n }\r\n\r\n if (changes['selectionKind']){\r\n\r\n if (this.selectionKind == 'single') {\r\n const date = new Date(this.selectedDateInternal);\r\n\r\n this.matchDateRange(date, date);\r\n this.setDateRangeText(date, date);\r\n } else {\r\n const date1 = new Date(this.selectedDateStart);\r\n const date2 = new Date(this.selectedDateEnd);\r\n\r\n this.matchDateRange(date1, date2);\r\n this.setDateRangeText(date1, date2);\r\n }\r\n\r\n }\r\n\r\n if (changes['translations']) {\r\n this.updateCustomText();\r\n }\r\n\r\n if (changes['locales']) {\r\n this.handleLocalesChange();\r\n }\r\n\r\n if (changes['selectedDateStart'] || changes['selectedDateEnd']) {\r\n this.dateStartOld = this.selectedDateStart;\r\n this.dateEndOld = this.selectedDateEnd;\r\n }\r\n\r\n if (changes['selectedDate']) {\r\n const value = new Date(changes['selectedDate'].currentValue);\r\n\r\n this.selectedDateInternal = startOfDay(value);\r\n\r\n if (this.selectionKind == 'single') {\r\n this.dateStart = this.selectedDateInternal;\r\n this.dateEnd = this.selectedDateInternal;\r\n\r\n this.matchDateRange(this.selectedDateInternal, this.selectedDateInternal);\r\n this.setDateRangeText(this.selectedDateInternal, this.selectedDateInternal);\r\n }\r\n this.changeRef.detectChanges();\r\n }\r\n\r\n if (changes['selectedDateStart']) {\r\n const value = changes['selectedDateStart'].currentValue;\r\n const selectedValue = value instanceof Date ? value : new Date();\r\n if (this.selectionKind == 'period') {\r\n if (this.isSettingNotPreprocessedDate && this.showDatepicker) {\r\n this.dateStart = selectedValue;\r\n this.selectedDateInternal = selectedValue;\r\n this.isSettingNotPreprocessedDate = false;\r\n } else if (\r\n !this.isSelectedPredefinedPeriod &&\r\n this.showDatepicker\r\n ) {\r\n if (this.selectedDateStartFocus) {\r\n this.dateStart = selectedValue;\r\n this.selectedDateInternal = selectedValue;\r\n if (\r\n this.dateEnd instanceof Date &&\r\n (isSameDay(selectedValue, this.dateEnd) ||\r\n isAfter(selectedValue, this.dateEnd))\r\n ) {\r\n this.dateEnd = selectedValue;\r\n }\r\n }\r\n } else {\r\n this.dateStart = selectedValue;\r\n this.selectedDateFocus = false;\r\n }\r\n\r\n this.calendar?.instance?.repaint();\r\n this.removeDxDefaultCalendarFocus();\r\n if (\r\n this.selectedDateStart instanceof Date &&\r\n this.selectedDateEnd instanceof Date\r\n ) {\r\n this.matchDateRange(this.selectedDateStart, this.selectedDateEnd);\r\n this.setDateRangeText(this.selectedDateStart, this.selectedDateEnd);\r\n }\r\n }\r\n this.changeRef.detectChanges();\r\n }\r\n\r\n if (changes['selectedDateEnd']) {\r\n const value = changes['selectedDateEnd'].currentValue;\r\n const selectedValue = value instanceof Date ? value : new Date();\r\n if (this.selectionKind == 'period') {\r\n if (!this.isSelectedPredefinedPeriod) {\r\n if (this.selectedDateEndFocus) {\r\n this.dateEnd = selectedValue;\r\n this.selectedDateInternal = selectedValue;\r\n\r\n if (\r\n this.dateStart instanceof Date &&\r\n (isSameDay(selectedValue, this.dateStart) ||\r\n isAfter(this.dateStart, selectedValue))\r\n ) {\r\n this.dateStart = selectedValue;\r\n }\r\n }\r\n } else {\r\n this.dateEnd = selectedValue;\r\n this.selectedDateInternal = selectedValue;\r\n }\r\n\r\n this.removeDxDefaultCalendarFocus();\r\n if (\r\n this.selectedDateStart instanceof Date &&\r\n this.selectedDateEnd instanceof Date\r\n ) {\r\n this.matchDateRange(this.selectedDateStart, this.selectedDateEnd);\r\n this.setDateRangeText(this.selectedDateStart, this.selectedDateEnd);\r\n }\r\n }\r\n }\r\n\r\n if (changes['firstDayOfWeek']) {\r\n this.generateDateRanges(true);\r\n }\r\n }\r\n\r\n\r\n public randomIdReference: number = Math.floor(\r\n Math.random() * Number.MAX_SAFE_INTEGER\r\n );\r\n\r\n public setDateRangeDefinitions(definitions: Array<PeriodPickerDateRangeDefinition>): void {\r\n this.dateRangeDefinitions = definitions;\r\n this.generateDateRanges(true);\r\n }\r\n\r\n public setTranslations(translations: PeriodPickerTranslations): void {\r\n this.translations = translations;\r\n this.updateCustomText();\r\n }\r\n\r\n public setLocales(locales: string | Array<string>): void {\r\n this.locales = locales;\r\n this.handleLocalesChange();\r\n }\r\n\r\n public get selectedDateStartFocus(): boolean {\r\n return this.selectedDateFocus;\r\n }\r\n public get selectedDateEndFocus(): boolean {\r\n return !this.selectedDateFocus;\r\n }\r\n\r\n public get isMinimumLimit() {\r\n if (\r\n this.minDate instanceof Date &&\r\n this.selectedDateInternal instanceof Date\r\n ) {\r\n return (\r\n isSameDay(this.selectedDateInternal, this.minDate) ||\r\n isBefore(this.selectedDateInternal, this.minDate)\r\n );\r\n }\r\n return false;\r\n }\r\n\r\n public get isMaximumLimit() {\r\n if (\r\n this.maxDate instanceof Date &&\r\n this.selectedDateInternal instanceof Date\r\n ) {\r\n return (\r\n isSameDay(this.selectedDateInternal, this.maxDate) ||\r\n isAfter(this.selectedDateInternal, this.maxDate)\r\n );\r\n }\r\n return false;\r\n }\r\n\r\n public onDateChange(event: any) {\r\n let selectedDateFromEvent = new Date(event.value);\r\n\r\n if (this.selectionKind == 'period') {\r\n const interactiveChange = event.event;\r\n\r\n if (interactiveChange) {\r\n if (this.selectedDateStartFocus) {\r\n this.handleStartDateChange(selectedDateFromEvent);\r\n } else if (this.selectedDateEndFocus) {\r\n this.handleEndDateChange(selectedDateFromEvent);\r\n }\r\n\r\n this.setSelectedDate(\r\n this.selectedDateStart,\r\n this.selectedDateEnd,\r\n false\r\n );\r\n }\r\n } else if (this.selectionKind == 'single') {\r\n this.showDatepicker = false;\r\n this.selectedDateInternal = selectedDateFromEvent;\r\n }\r\n }\r\n\r\n public handleStartDateChange(newDate: Date) {\r\n this.selectedDateStart = newDate;\r\n this.selectedDateCalendar = newDate;\r\n\r\n if (!this.initCalendarValue) {\r\n this.selectedDateFocus = false;\r\n\r\n if (isAfter(newDate, this.selectedDateEnd as Date)) {\r\n this.selectedDateEnd = newDate;\r\n } else {\r\n this.selectedDateCalendar = new Date(this.selectedDateEnd);\r\n }\r\n }\r\n }\r\n\r\n public handleEndDateChange(newDate: Date) {\r\n this.selectedDateEnd = newDate;\r\n this.selectedDateCalendar = newDate;\r\n\r\n if (\r\n // selected date is before start date -> set start date\r\n isBefore(newDate, this.selectedDateStart as Date)\r\n ) {\r\n this.selectedDateFocus = true;\r\n this.selectedDateStart = newDate;\r\n this.selectedDateFocus = false;\r\n }\r\n }\r\n\r\n public onStartDateChange(event: any) {\r\n this.handleStartDateChange(event.value);\r\n\r\n this.setSelectedDate(\r\n this.selectedDateStart,\r\n this.selectedDateEnd,\r\n false\r\n );\r\n }\r\n\r\n public onEndDateChange(event: any) {\r\n this.handleEndDateChange(event.value);\r\n\r\n this.setSelectedDate(\r\n this.selectedDateStart,\r\n this.selectedDateEnd,\r\n false\r\n );\r\n }\r\n\r\n public onRangeKeyReleased(event: KeyboardEvent, range: PeriodPickerDateRange) {\r\n if (event.key === 'Enter') {\r\n this.changDateRange(range);\r\n }\r\n }\r\n\r\n public onStartDateFocus() {\r\n this.initCalendarValue = true;\r\n this.selectedDateFocus = true;\r\n\r\n if (this.selectedDateStart) {\r\n this.selectedDateInternal = new Date(this.selectedDateStart);\r\n this.selectedDateCalendar = new Date(this.selectedDateStart);\r\n }\r\n\r\n setTimeout(() => {\r\n this.initCalendarValue = false;\r\n });\r\n }\r\n\r\n public onEndDateFocus() {\r\n this.selectedDateFocus = false;\r\n\r\n if (this.selectedDateEnd) {\r\n this.selectedDateInternal = new Date(this.selectedDateEnd);\r\n this.selectedDateCalendar = new Date(this.selectedDateEnd);\r\n }\r\n }\r\n\r\n public applyPeriodPicker() {\r\n this.hidingConfirmedDate = true;\r\n this.showDatepicker = false;\r\n }\r\n\r\n public onShowingCalendarPopover(): void {\r\n this.hidingConfirmedDate = false;\r\n\r\n if (this.selectionKind == 'single') {\r\n setTimeout(() => {\r\n this.singleDatePickerBox?.instance.focus();\r\n });\r\n } else {\r\n this.dateStartOld = this.selectedDateStart;\r\n this.dateEndOld = this.selectedDateEnd;\r\n this.isSettingNotPreprocessedDate = true;\r\n setTimeout(() => {\r\n this.selectedDateStartBox?.instance.focus();\r\n this.onStartDateFocus();\r\n });\r\n }\r\n\r\n }\r\n\r\n public closeDatepickerPopup(emitChange = true) {\r\n // if (this.showDatepicker) {\r\n // this.showDatepicker = false;\r\n if (this.selectionKind == 'single') {\r\n this.setSelectedDate(\r\n this.selectedDateInternal,\r\n this.selectedDateInternal,\r\n emitChange\r\n );\r\n } else {\r\n if (this.hidingConfirmedDate) {\r\n this.setSelectedDate(this.selectedDateStart, this.selectedDateEnd, true);\r\n }\r\n else {\r\n // this.setSelectedDate(this.dateStartOld, this.dateEndOld, true);\r\n this.setSelectedDate(this.dateStartOld, this.dateEndOld, false);\r\n }\r\n // this.hidingConfirmedDate = false;\r\n }\r\n\r\n if (this._selectedDateRangeButton){\r\n this._selectedDateRangeButton.nativeElement.focus({focusVisible: false});\r\n }\r\n // }\r\n }\r\n\r\n public onHiddenCalendarPopover(): void {\r\n this.closeDatepickerPopup()\r\n }\r\n\r\n public setSelectedDate(\r\n dateStart: string | number | Date,\r\n dateEnd: string | number | Date,\r\n emitChange = true\r\n ) {\r\n this.selectedDateStart = dateStart;\r\n this.selectedDateEnd = dateEnd;\r\n\r\n this.selectedDateInternal = this.selectionKind === 'single' ? dateStart : dateEnd;\r\n\r\n this.isSelectedPredefinedPeriod = false;\r\n\r\n if (emitChange) {\r\n if (this.selectionKind == 'single') {\r\n this.selectedDate = new Date(this.selectedDateInternal);\r\n this.selectedDateChange.emit(this.selectedDateInternal);\r\n } else {\r\n const dateStartNew = new Date(this.selectedDateStart);\r\n const dateEndNew = new Date(this.selectedDateEnd);\r\n\r\n const startDateChanged =\r\n (this.dateStartOld instanceof Date && !isSameDay(this.dateStartOld, dateStartNew)) ||\r\n (typeof this.dateStartOld === 'string' && this.dateStartOld === '');\r\n const endDateChanged =\r\n (this.dateEndOld instanceof Date && !isSameDay(this.dateEndOld, dateEndNew)) ||\r\n (typeof this.dateEndOld === 'string' && this.dateEndOld === '');\r\n\r\n if (startDateChanged) {\r\n this.dateStartOld = new Date(this.selectedDateStart);\r\n this.selectedDateStartChange.emit(this.selectedDateStart);\r\n }\r\n\r\n if (endDateChanged) {\r\n this.dateEndOld = new Date(this.selectedDateEnd);\r\n this.selectedDateEndChange.emit(this.selectedDateEnd);\r\n }\r\n\r\n if (startDateChanged || endDateChanged) {\r\n this.periodChange.emit([\r\n this.selectedDateStart,\r\n this.selectedDateEnd,\r\n ]);\r\n }\r\n }\r\n\r\n if (\r\n this.selectedDateStart instanceof Date &&\r\n this.selectedDateEnd instanceof Date\r\n ) {\r\n this.matchDateRange(this.selectedDateStart, this.selectedDateEnd);\r\n this.setDateRangeText(this.selectedDateStart, this.selectedDateEnd);\r\n }\r\n\r\n }\r\n this.changeRef.detectChanges();\r\n }\r\n\r\n public goToNextDate() {\r\n if (this.selectionKind == 'single') {\r\n const newDate = this.getNextDateCallback(this.selectedDateInternal);\r\n this.selectedDateInternal = new Date(newDate);\r\n this.setSelectedDate(newDate, newDate);\r\n\r\n } else {\r\n if (!(this.selectedDateStart instanceof Date) || !(this.selectedDateEnd instanceof Date)) {\r\n return;\r\n }\r\n\r\n const range = this.getNextRangeCallback(\r\n this.selectedDateStart,\r\n this.selectedDateEnd\r\n );\r\n this.setSelectedDate(range[0], range[1]);\r\n }\r\n }\r\n\r\n public goToPreviousDate() {\r\n if (this.selectionKind == 'single') {\r\n const newDate = this.getPreviousDateCallback(this.selectedDateInternal);\r\n this.selectedDateInternal = new Date(newDate);\r\n this.setSelectedDate(newDate, newDate);\r\n } else {\r\n if (!(this.selectedDateStart instanceof Date) || !(this.selectedDateEnd instanceof Date)) {\r\n return;\r\n }\r\n\r\n const range = this.getPreviousRangeCallback(\r\n this.selectedDateStart,\r\n this.selectedDateEnd\r\n );\r\n this.setSelectedDate(range[0], range[1]);\r\n }\r\n }\r\n\r\n // public setNextPreviousDay(setNext: any) {\r\n // this.isSelectedPredefinedPeriod = true;\r\n // let newDate = setNext\r\n // ? add(this.selectedDateInternal as Date, { days: 1 })\r\n // : add(this.selectedDateInternal as Date, { days: -1 });\r\n\r\n // this.selectedDateInternal = new Date(newDate);\r\n // this.setSelectedDate(newDate, newDate);\r\n // }\r\n\r\n public getNextDay(currentDate: string | number | Date): string | number | Date {\r\n this.isSelectedPredefinedPeriod = true;\r\n return add(this.selectedDateInternal as Date, { days: 1 });\r\n }\r\n\r\n public getPreviousDay(currentDate: string | number | Date): string | number | Date {\r\n this.isSelectedPredefinedPeriod = true;\r\n return add(this.selectedDateInternal as Date, { days: -1 });\r\n }\r\n\r\n\r\n public getNextRange(currentStartDate: string | number | Date, currentEndDate: string | number | Date): [string | number | Date, string | number | Date] {\r\n this.isSelectedPredefinedPeriod = true;\r\n return this.datePickerService.getRange(\r\n new Date(currentStartDate),\r\n new Date(currentEndDate),\r\n 'next'\r\n );\r\n }\r\n\r\n public getPreviousRange(currentStartDate: string | number | Date, currentEndDate: string | number | Date): [string | number | Date, string | number | Date] {\r\n this.isSelectedPredefinedPeriod = true;\r\n return this.datePickerService.getRange(\r\n new Date(currentStartDate),\r\n new Date(currentEndDate),\r\n 'previous'\r\n );\r\n }\r\n\r\n public setNextPreviousRange(setNext: boolean) {\r\n this.isSelectedPredefinedPeriod = true;\r\n if (\r\n !(this.selectedDateStart instanceof Date) ||\r\n !(this.selectedDateEnd instanceof Date)\r\n ) {\r\n return;\r\n }\r\n\r\n const range = this.datePickerService.getRange(\r\n this.selectedDateStart,\r\n this.selectedDateEnd,\r\n setNext ? 'next' : 'previous'\r\n );\r\n this.setSelectedDate(range[0], range[1]);\r\n }\r\n\r\n public getCellCssClass(date: any) {\r\n const calendarDate = new Date(date);\r\n let css = '';\r\n\r\n if (this.selectionKind == 'period') {\r\n const selectedDateStartAsDate = new Date(this.selectedDateStart);\r\n const selectedDateEndAsDate = new Date(this.selectedDateEnd);\r\n\r\n if (\r\n isAfter(calendarDate, startOfDay(selectedDateStartAsDate)) &&\r\n isBefore(calendarDate, startOfDay(selectedDateEndAsDate)) &&\r\n !this.disabledDates.some((day) => isSameDay(calendarDate, day))\r\n ) {\r\n css += ' bg-primary-light text-dark rounded-0';\r\n } else {\r\n if (isSameDay(calendarDate, selectedDateStartAsDate)) {\r\n css += ' bg-primary text-white rounded-start';\r\n }\r\n if (isSameDay(calendarDate, selectedDateEndAsDate)) {\r\n css += ' bg-primary text-white rounded-end';\r\n }\r\n }\r\n }\r\n return css;\r\n }\r\n\r\n public selectEndDate(event: any): void {\r\n if (this.selectionKind == \"period\" && this.selectedDateStartFocus && this.calendarCellClicked(event)) {\r\n this.selectedDateFocus = false;\r\n this.selectedDateCalendar = new Date(this.selectedDateEnd);\r\n }\r\n }\r\n\r\n public onKeydown(event: KeyboardEvent){\r\n\r\n if (this.showDatepicker) {\r\n if (event.code === 'Escape') {\r\n this.showDatepicker = false;\r\n event.stopImmediatePropagation();\r\n } else if (event.code === 'Enter' || event.code === 'NumpadEnter') {\r\n if (!this.disabled) {\r\n this.applyPeriodPicker();\r\n }\r\n event.stopImmediatePropagation();\r\n }\r\n }\r\n }\r\n\r\n private calendarCellClicked(event: any): boolean {\r\n // This check is tightly coupled with current DX implementation so it\r\n // must be re-checked after each major update of the DX components\r\n // Also check if dx-calendar provides info about clicked element by\r\n // design.\r\n const targetParentClassList = event.target?.offsetParent?.classList;\r\n if (!targetParentClassList) {\r\n return false;\r\n }\r\n const isCalendarCell = [...targetParentClassList].includes('dx-calendar-cell');\r\n return isCalendarCell;\r\n }\r\n\r\n private handleLocalesChange(): void {\r\n // apply new locale to DX\r\n // if array of locales was provided use first one\r\n if (typeof this.locales === 'string') {\r\n locale(this.locales);\r\n } else if (Array.isArray(this.locales) && this.locales.length > 0) {\r\n locale(this.locales[0]);\r\n };\r\n this.selectedDateStartBox?.instance.repaint();\r\n this.selectedDateEndBox?.instance.repaint();\r\n this.singleDatePickerBox?.instance.repaint();\r\n this.calendar?.instance.repaint();\r\n\r\n this.setSelectedDateRangeText();\r\n }\r\n\r\n private updateCustomText(): void {\r\n this.customDateRange.name = this.translations?.custom\r\n ? this.translations.custom\r\n : '';\r\n }\r\n\r\n private removeDxDefaultCalendarFocus() {\r\n const element = document.querySelector(\r\n '#datepickercomponent .dx-calendar-selected-date'\r\n );\r\n if (\r\n element &&\r\n element?.classList?.contains('dx-calendar-selected-date')\r\n ) {\r\n element?.classList?.remove('dx-calendar-selected-date');\r\n }\r\n }\r\n\r\n private setSelectedDateRangeText(){\r\n if (this.selectionKind == 'single') {\r\n this.matchDateRange(new Date(this.selectedDateInternal), new Date(this.selectedDateInternal));\r\n this.setDateRangeText(new Date(this.selectedDateInternal), new Date(this.selectedDateInternal));\r\n } else {\r\n this.matchDateRange(new Date(this.selectedDateStart), new Date(this.selectedDateEnd));\r\n this.setDateRangeText(new Date(this.selectedDateStart), new Date(this.selectedDateEnd));\r\n }\r\n }\r\n\r\n public toggleDateRangeSelectorVisibility() {\r\n if (!this.showPredefinedOptionsSelector) {\r\n this.generateDateRanges();\r\n }\r\n\r\n this.showPredefinedOptionsSelector =\r\n !this.showPredefinedOptionsSelector;\r\n }\r\n\r\n public changDateRange(range: PeriodPickerDateRange) {\r\n this.showPredefinedOptionsSelector = false;\r\n this.showDatepicker = false;\r\n this.selectedDateRange = range;\r\n\r\n if (range === this.customDateRange) {\r\n // this.openDatepickerPopup();\r\n this.showDatepicker = true;\r\n } else {\r\n this.dateStart = range.dateFrom\r\n ? range.dateFrom\r\n : startOfDay(new Date());\r\n this.dateEnd = range.dateTo ? range.dateTo : startOfDay(new Date());\r\n this.setSelectedDate(this.dateStart, this.dateEnd, true);\r\n }\r\n }\r\n\r\n public isDateDisabled = (args: any): boolean => {\r\n if (this.lockBeforeDate && isBefore(args.date, this.lockBeforeDate)) {\r\n return true;\r\n }\r\n return this.disabledDates.some((day) => isSameDay(args.date, day));\r\n }\r\n\r\n private matchDateRange(dateFrom?: Date, dateTo?: Date): void {\r\n if (!dateFrom || !dateTo) {\r\n this.selectedDateRange = this.customDateRange;\r\n return;\r\n }\r\n\r\n this.generateDateRanges();\r\n\r\n const dateRange = this.predefinedDateRanges.filter(\r\n (x) =>\r\n isSameDay(x.dateFrom as Date, dateFrom) &&\r\n isSameDay(x.dateTo as Date, dateTo)\r\n );\r\n if (dateRange.length) {\r\n this.selectedDateRange = dateRange[0];\r\n } else {\r\n this.selectedDateRange = this.customDateRange;\r\n }\r\n }\r\n\r\n private setDateRangeText(dateFrom?: Date, dateTo?: Date): void {\r\n const today = new Date();\r\n this.selectedDateRangeName = '';\r\n this.selectedDateRangeTextSegment1 = '';\r\n this.selectedDateRangeTextSegment2 = '';\r\n\r\n if (!(dateFrom instanceof Date) || !(dateTo instanceof Date)) {\r\n return;\r\n }\r\n\r\n // RESOLVE PERIOD\r\n // one day\r\n if (isSameDay(dateFrom, dateTo)) {\r\n if (typeof this.singleDayFormatFn !== 'undefined'){\r\n this.selectedDateRangeTextSegment1 = this.singleDayFormatFn(dateFrom);\r\n } else {\r\n if (this.style == 'compact' && this.compactStyleDisplay == 'both' && this.selectedDateRange && this.selectedDateRange != this.customDateRange) {\r\n this.selectedDateRangeTextSegment1 = this.formatDate(dateFrom); //skip day name, as we have custom text.\r\n } else {\r\n this.selectedDateRangeTextSegment1 = this.formatDate(dateFrom, 'day-long');\r\n }\r\n }\r\n }\r\n // date range\r\n else {\r\n // date range - use provided dateRange format function (if defined)\r\n if (typeof this.dateRangeFormatFn !== 'undefined') {\r\n this.selectedDateRangeTextSegment1 = this.dateRangeFormatFn(dateFrom);\r\n this.selectedDateRangeTextSegment2 = this.dateRangeFormatFn(dateTo);\r\n }\r\n // full month\r\n else if (\r\n isSameDay(dateFrom, startOfMonth(dateFrom)) &&\r\n isSameDay(dateTo, endOfMonth(dateTo)) &&\r\n isSameMonth(dateFrom, dateTo)\r\n ) {\r\n this.selectedDateRangeTextSegment1 = this.formatDate(\r\n dateFrom,\r\n 'month'\r\n );\r\n }\r\n // date range - use default date format function\r\n else {\r\n this.selectedDateRangeTextSegment1 = this.formatDate(\r\n dateFrom,\r\n isSameYear(dateFrom, today) ? 'day-short' : 'day'\r\n );\r\n this.selectedDateRangeTextSegment2 = this.formatDate(\r\n dateTo,\r\n isSameYear(dateTo, today) ? 'day-short' : 'day'\r\n );\r\n }\r\n }\r\n\r\n if (this.style == 'compact' && this.selectedDateRange && this.selectedDateRange != this.customDateRange) {\r\n if (this.compactStyleDisplay == 'predefinedRange') {\r\n this.selectedDateRangeName = this.selectedDateRange.name;\r\n this.selectedDateRangeTextSegment1 = '';\r\n this.selectedDateRangeTextSegment2 = '';\r\n }\r\n\r\n if (this.compactStyleDisplay == 'both') {\r\n this.selectedDateRangeName = this.selectedDateRange.name + ', ';\r\n }\r\n }\r\n // @Input() public style: 'classic' | 'compact' = 'classic';\r\n // @Input() public compactStyleDisplay: 'date' | 'predefinedRange' | 'both' = 'predefinedRange';\r\n // if (this.style == 'compact' && this.compactStyleDisplay == 'predefinedRange' && this.selectedDateRange && this.selectedDateRange != this.customDateRange) {\r\n // this.selectedDateRangeTextSegment1 = this.selectedDateRange.name;\r\n // this.selectedDateRangeTextSegment2 = '';\r\n // return;\r\n // }\r\n // if (this.style == 'compact' && this.compactStyleDisplay == 'both' && this.selectedDateRange && this.selectedDateRange != this.customDateRange) {\r\n // this.selectedDateRangeTextSegment1 = this.selectedDateRange.name;\r\n // this.selectedDateRangeTextSegment2 = '';\r\n // return;\r\n // }\r\n }\r\n\r\n private formatDate(\r\n date: Date,\r\n type?: 'month' | 'day' | 'day-long' | 'day-short' | undefined\r\n ): string {\r\n switch (type) {\r\n case 'month':\r\n return date.toLocaleDateString(this.locales, {\r\n month: 'long',\r\n year: 'numeric',\r\n day: undefined,\r\n });\r\n case 'day-long':\r\n return date.toLocaleDateString(this.locales, {\r\n day: 'numeric',\r\n month: 'numeric',\r\n year: 'numeric',\r\n weekday: 'long',\r\n });\r\n case 'day-short':\r\n return date.toLocaleDateString(this.locales, {\r\n day: 'numeric',\r\n month: 'short',\r\n });\r\n case 'day':\r\n return date.toLocaleDateString(this.locales, {\r\n day: 'numeric',\r\n month: 'short',\r\n year: 'numeric',\r\n });\r\n default:\r\n return date.toLocaleDateString(this.locales, {\r\n day: 'numeric',\r\n month: 'numeric',\r\n year: 'numeric',\r\n });\r\n }\r\n }\r\n\r\n private generateDateRanges(force?: boolean) {\r\n const today = startOfDay(new Date());\r\n\r\n if (\r\n force ||\r\n !this.predefinedDateRangesGeneratedDate ||\r\n !isSameDay(this.predefinedDateRangesGeneratedDate, today)\r\n ) {\r\n this.predefinedDateRangesGeneratedDate = today;\r\n\r\n this.predefinedDateRanges =\r\n this.datePickerService.getPredefinedDateRanges(\r\n this.dateRangeDefinitions,\r\n today,\r\n this.firstDayOfWeek\r\n );\r\n\r\n this.dateRanges = [...this.predefinedDateRanges];\r\n this.dateRanges.push(this.customDateRange);\r\n }\r\n }\r\n\r\n // private methods\r\n}\r\n","<!-- <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","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { DxDateBoxModule, DxDropDownBoxModule, DxDropDownButtonModule, DxListModule, DxSelectBoxModule } from 'devextreme-angular';\r\nimport { DxPopoverModule } from 'devextreme-angular';\r\nimport { DxScrollViewModule } from 'devextreme-angular';\r\nimport { DxCalendarModule } from 'devextreme-angular';\r\n\r\n// import { DxDateBoxModule } from 'devextreme-angular/ui/date-box';\r\nimport { SdsDatePickerComponent } from './date-picker.component';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { SdsDatePipesModule } from '@spicainternational/ngx-sds-components/src/lib/date-pipes';\r\n\r\n\r\nconst components = [\r\n SdsDatePickerComponent\r\n]\r\n\r\n@NgModule({\r\n declarations: [\r\n ...components\r\n ],\r\n imports: [\r\n A11yModule,\r\n CommonModule,\r\n\r\n FontAwesomeModule,\r\n\r\n DxDateBoxModule,\r\n DxPopoverModule,\r\n DxScrollViewModule,\r\n DxCalendarModule,\r\n\r\n DxDropDownButtonModule,\r\n DxDropDownBoxModule,\r\n DxSelectBoxModule,\r\n DxListModule,\r\n\r\n SdsDatePipesModule\r\n ],\r\n exports: [\r\n ...components\r\n ]\r\n})\r\nexport class SdsDatePickerModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SdsDatePickerService"],"mappings":"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"}
|