@spicainternational/ngx-sds-components 7.12.0-beta.2 → 8.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -57
- package/esm2022/public-api.mjs +36 -0
- 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 +165 -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 +120 -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/esm2022/src/lib/ripple/public-api.mjs +2 -0
- package/esm2022/src/lib/ripple/ripple.directive.mjs +103 -0
- package/esm2022/src/lib/ripple/spicainternational-ngx-sds-components-src-lib-ripple.mjs +5 -0
- package/{esm2020 → esm2022}/src/lib/segmented-control/public-api.mjs +2 -3
- package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +109 -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 +250 -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 +589 -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-ripple.mjs +110 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-ripple.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +116 -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 +6 -4
- package/{fesm2015 → fesm2022}/spicainternational-ngx-sds-components.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/package.json +123 -169
- package/public-api.d.ts +32 -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 +56 -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 +45 -41
- 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/ripple/index.d.ts +5 -0
- package/src/lib/ripple/public-api.d.ts +1 -0
- package/src/lib/ripple/ripple.directive.d.ts +21 -0
- package/src/lib/ripple/sds-ripple.css +20 -0
- 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 +27 -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/public-api.mjs +0 -34
- 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 -109
- 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 -604
- 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 -604
- 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
|
@@ -0,0 +1 @@
|
|
|
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/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\nimport { DxDateBoxModule, DxCalendarModule } from 'devextreme-angular';\r\nimport { DxScrollViewModule } from 'devextreme-angular/ui/scroll-view';\r\nimport { DxoAnimationModule, DxoShowModule, DxoHideModule } from 'devextreme-angular/ui/nested';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { DxTemplateModule } from 'devextreme-angular/core';\r\nimport { DxPopoverModule } from 'devextreme-angular/ui/popover';\r\nimport { NgIf, NgFor } from '@angular/common';\r\nimport { CdkTrapFocus } from '@angular/cdk/a11y';\r\nimport { SdsDateComparePipe } from '@spicainternational/ngx-sds-components/src/lib/date-pipes';\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 standalone: true,\r\n imports: [\r\n NgFor,\r\n NgIf,\r\n\r\n SdsDateComparePipe,\r\n\r\n CdkTrapFocus,\r\n FontAwesomeModule,\r\n\r\n DxPopoverModule,\r\n DxTemplateModule,\r\n DxoAnimationModule,\r\n DxoShowModule,\r\n DxoHideModule,\r\n DxScrollViewModule,\r\n DxDateBoxModule,\r\n DxCalendarModule,\r\n ],\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=\"sds-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=\"sds-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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SdsDatePickerService"],"mappings":"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"}
|