@spicainternational/ngx-sds-components 7.12.0-beta.1 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -57
- package/{esm2020 → esm2022}/public-api.mjs +35 -34
- package/{esm2020 → esm2022}/spicainternational-ngx-sds-components.mjs +4 -4
- package/esm2022/src/lib/app-switcher/app-switcher.component.mjs +116 -0
- package/{esm2020 → esm2022}/src/lib/app-switcher/app-switcher.model.mjs +1 -1
- package/esm2022/src/lib/app-switcher/public-api.mjs +3 -0
- package/{esm2020 → esm2022}/src/lib/app-switcher/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +4 -4
- package/esm2022/src/lib/avatar/avatar-group.component.mjs +82 -0
- package/{esm2020 → esm2022}/src/lib/avatar/avatar-group.model.mjs +1 -1
- package/esm2022/src/lib/avatar/avatar.component.mjs +151 -0
- package/esm2022/src/lib/avatar/public-api.mjs +4 -0
- package/{esm2020 → esm2022}/src/lib/avatar/spicainternational-ngx-sds-components-src-lib-avatar.mjs +4 -4
- package/esm2022/src/lib/badge/badge.directive.mjs +90 -0
- package/{esm2020 → esm2022}/src/lib/badge/badge.types.mjs +1 -1
- package/esm2022/src/lib/badge/components/badge.component.mjs +59 -0
- package/{esm2020 → esm2022}/src/lib/badge/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/badge/spicainternational-ngx-sds-components-src-lib-badge.mjs +4 -4
- package/esm2022/src/lib/callout/callout.component.mjs +20 -0
- package/{esm2020 → esm2022}/src/lib/callout/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/callout/spicainternational-ngx-sds-components-src-lib-callout.mjs +4 -4
- package/esm2022/src/lib/color-picker/color-picker.component.mjs +82 -0
- package/{esm2020 → esm2022}/src/lib/color-picker/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/color-picker/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +4 -4
- package/esm2022/src/lib/date-picker/date-picker.component.mjs +863 -0
- package/esm2022/src/lib/date-picker/date-picker.model.mjs +71 -0
- package/esm2022/src/lib/date-picker/public-api.mjs +3 -0
- package/esm2022/src/lib/date-picker/sds-date-picker.service.mjs +90 -0
- package/{esm2020 → esm2022}/src/lib/date-picker/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +4 -4
- package/esm2022/src/lib/date-pipes/date-compare.pipe.mjs +32 -0
- package/esm2022/src/lib/date-pipes/date-format.pipe.mjs +31 -0
- package/esm2022/src/lib/date-pipes/date-period-format.pipe.mjs +49 -0
- package/{esm2020 → esm2022}/src/lib/date-pipes/date-time-formats.constants.mjs +155 -155
- package/esm2022/src/lib/date-pipes/date-time-range-duration.pipe.mjs +33 -0
- package/esm2022/src/lib/date-pipes/date-time-range-format.pipe.mjs +49 -0
- package/{esm2020 → esm2022}/src/lib/date-pipes/public-api.mjs +8 -8
- package/{esm2020 → esm2022}/src/lib/date-pipes/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +4 -4
- package/esm2022/src/lib/drawer/drawer.component.mjs +103 -0
- package/{esm2020 → esm2022}/src/lib/drawer/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/drawer/spicainternational-ngx-sds-components-src-lib-drawer.mjs +4 -4
- package/esm2022/src/lib/duration-box/duration-box.component.mjs +279 -0
- package/{esm2020 → esm2022}/src/lib/duration-box/duration-box.types.mjs +1 -1
- package/esm2022/src/lib/duration-box/duration.service.mjs +72 -0
- package/{esm2020 → esm2022}/src/lib/duration-box/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/duration-box/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +4 -4
- package/esm2022/src/lib/duration-pipe/duration-format.pipe.mjs +27 -0
- package/{esm2020 → esm2022}/src/lib/duration-pipe/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/duration-pipe/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +4 -4
- package/esm2022/src/lib/ellipsis/directives/ellipsis.directive.mjs +52 -0
- package/{esm2020 → esm2022}/src/lib/ellipsis/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/ellipsis/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +4 -4
- package/esm2022/src/lib/expansion-panel/expansion-panel.component.mjs +86 -0
- package/{esm2020 → esm2022}/src/lib/expansion-panel/expansion-panel.types.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/expansion-panel/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/expansion-panel/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +4 -4
- package/esm2022/src/lib/highlight-text/directives/highlight-text.directive.mjs +61 -0
- package/{esm2020 → esm2022}/src/lib/highlight-text/directives/index.mjs +1 -1
- package/esm2022/src/lib/highlight-text/pipes/highlight-text.pipe.mjs +30 -0
- package/{esm2020 → esm2022}/src/lib/highlight-text/pipes/index.mjs +1 -1
- package/esm2022/src/lib/highlight-text/public-api.mjs +3 -0
- package/{esm2020 → esm2022}/src/lib/highlight-text/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs +4 -4
- package/esm2022/src/lib/highlight-text/utils/highlight-text.utils.mjs +97 -0
- package/{esm2020 → esm2022}/src/lib/highlight-text/utils/index.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/intersection/directives/index.mjs +1 -1
- package/esm2022/src/lib/intersection/directives/intersection.directive.mjs +52 -0
- package/esm2022/src/lib/intersection/public-api.mjs +3 -0
- package/{esm2020 → esm2022}/src/lib/intersection/services/index.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/intersection/services/intersection.service.mjs +54 -54
- package/{esm2020 → esm2022}/src/lib/intersection/spicainternational-ngx-sds-components-src-lib-intersection.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/keyboard-shortcut/directives/index.mjs +1 -1
- package/esm2022/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.mjs +57 -0
- package/{esm2020 → esm2022}/src/lib/keyboard-shortcut/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/keyboard-shortcut/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +4 -4
- package/esm2022/src/lib/layout/default-layout/default-layout.component.mjs +15 -0
- package/esm2022/src/lib/layout/extra-large-layout/extra-large-layout.component.mjs +15 -0
- package/esm2022/src/lib/layout/fluid-layout/fluid-layout.component.mjs +15 -0
- package/esm2022/src/lib/layout/medium-layout/medium-layout.component.mjs +15 -0
- package/esm2022/src/lib/layout/public-api.mjs +6 -0
- package/esm2022/src/lib/layout/small-layout/small-layout.component.mjs +15 -0
- package/{esm2020 → esm2022}/src/lib/layout/spicainternational-ngx-sds-components-src-lib-layout.mjs +4 -4
- package/esm2022/src/lib/message/message.component.mjs +60 -0
- package/{esm2020 → esm2022}/src/lib/message/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/message/spicainternational-ngx-sds-components-src-lib-message.mjs +4 -4
- package/esm2022/src/lib/modal/dialog/dialog.component.mjs +187 -0
- package/{esm2020 → esm2022}/src/lib/modal/dialog/dialog.types.mjs +1 -1
- package/esm2022/src/lib/modal/modal.component.mjs +153 -0
- package/{esm2020 → esm2022}/src/lib/modal/modal.model.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/modal/public-api.mjs +3 -4
- package/{esm2020 → esm2022}/src/lib/modal/spicainternational-ngx-sds-components-src-lib-modal.mjs +4 -4
- package/esm2022/src/lib/navigation/models/navigation-models.mjs +2 -0
- package/esm2022/src/lib/navigation/navigation-collapsible-frame/navigation-collapsible-frame.component.mjs +17 -0
- package/esm2022/src/lib/navigation/navigation-container/navigation-container.component.mjs +61 -0
- package/esm2022/src/lib/navigation/navigation-external-link/navigation-external-link.component.mjs +38 -0
- package/esm2022/src/lib/navigation/navigation-group/navigation-group.component.mjs +110 -0
- package/esm2022/src/lib/navigation/navigation-header/navigation-header.component.mjs +21 -0
- package/esm2022/src/lib/navigation/navigation-route-link/navigation-route-link.component.mjs +38 -0
- package/esm2022/src/lib/navigation/navigation-separator/navigation-separator.component.mjs +15 -0
- package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.mjs +30 -0
- package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.mjs +45 -0
- package/{esm2020 → esm2022}/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.types.mjs +1 -1
- package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.mjs +25 -0
- package/{esm2020 → esm2022}/src/lib/navigation/navigation-user-profile/navigation-profile.model.mjs +1 -1
- package/esm2022/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.mjs +107 -0
- package/esm2022/src/lib/navigation/product-home/product-home.component.mjs +71 -0
- package/esm2022/src/lib/navigation/public-api.mjs +14 -0
- package/{esm2020 → esm2022}/src/lib/navigation/spicainternational-ngx-sds-components-src-lib-navigation.mjs +4 -4
- package/esm2022/src/lib/navigation/utils/navigation.utils.mjs +48 -0
- package/esm2022/src/lib/number-box/number-box.component.mjs +138 -0
- package/{esm2020 → esm2022}/src/lib/number-box/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/number-box/spicainternational-ngx-sds-components-src-lib-number-box.mjs +4 -4
- package/esm2022/src/lib/page-header/page-header.component.mjs +25 -0
- package/{esm2020 → esm2022}/src/lib/page-header/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/page-header/spicainternational-ngx-sds-components-src-lib-page-header.mjs +4 -4
- package/esm2022/src/lib/pane/pane.component.mjs +43 -0
- package/{esm2020 → esm2022}/src/lib/pane/pane.model.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/pane/public-api.mjs +3 -4
- package/{esm2020 → esm2022}/src/lib/pane/spicainternational-ngx-sds-components-src-lib-pane.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/quick-info/public-api.mjs +2 -3
- package/esm2022/src/lib/quick-info/quick-info.component.mjs +121 -0
- package/{esm2020 → esm2022}/src/lib/quick-info/quick-info.model.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/quick-info/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/segmented-control/public-api.mjs +2 -3
- package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +60 -0
- package/{esm2020 → esm2022}/src/lib/segmented-control/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/side-bar/public-api.mjs +2 -3
- package/esm2022/src/lib/side-bar/side-bar.component.mjs +39 -0
- package/{esm2020 → esm2022}/src/lib/side-bar/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/static-value/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/static-value/spicainternational-ngx-sds-components-src-lib-static-value.mjs +4 -4
- package/esm2022/src/lib/static-value/static-value.component.mjs +25 -0
- package/{esm2020 → esm2022}/src/lib/table-actions/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/table-actions/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +4 -4
- package/esm2022/src/lib/table-actions/table-actions.component.mjs +49 -0
- package/esm2022/src/lib/timeline/components/timeline.component.mjs +388 -0
- package/{esm2020 → esm2022}/src/lib/timeline/models/timeline.model.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/timeline/public-api.mjs +2 -3
- package/esm2022/src/lib/timeline/services/timeline.service.mjs +152 -0
- package/{esm2020 → esm2022}/src/lib/timeline/spicainternational-ngx-sds-components-src-lib-timeline.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/timeline/types/timeline.types.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/timer/public-api.mjs +3 -4
- package/{esm2020 → esm2022}/src/lib/timer/services/index.mjs +1 -1
- package/esm2022/src/lib/timer/services/timer.service.mjs +99 -0
- package/{esm2020 → esm2022}/src/lib/timer/spicainternational-ngx-sds-components-src-lib-timer.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/timer/utils/index.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/timer/utils/timer.utils.mjs +96 -96
- package/esm2022/src/lib/tooltip/components/tooltip.component.mjs +26 -0
- package/{esm2020 → esm2022}/src/lib/tooltip/public-api.mjs +2 -3
- package/{esm2020 → esm2022}/src/lib/tooltip/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +4 -4
- package/esm2022/src/lib/tooltip/tooltip.directive.mjs +192 -0
- package/{esm2020 → esm2022}/src/lib/tooltip/tooltip.types.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/tooltip/utils/index.mjs +1 -1
- package/{esm2020 → esm2022}/src/lib/tooltip/utils/tooltip.utils.mjs +16 -16
- package/esm2022/src/lib/utils/date-time/date-time-format.function.mjs +15 -0
- package/esm2022/src/lib/utils/date-time/intl-date-time-format-options-presets.mjs +29 -0
- package/esm2022/src/lib/utils/date-time/public-api.mjs +3 -0
- package/esm2022/src/lib/utils/date-time/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs +5 -0
- package/esm2022/src/lib/utils/public-api.mjs +2 -0
- package/esm2022/src/lib/utils/spicainternational-ngx-sds-components-src-lib-utils.mjs +5 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +122 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs +236 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs +153 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs +27 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +89 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +1025 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +330 -399
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +1 -0
- package/{fesm2015 → fesm2022}/spicainternational-ngx-sds-components-src-lib-drawer.mjs +103 -118
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +354 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +34 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +59 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +93 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs +178 -201
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-intersection.mjs +99 -114
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +64 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs +70 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs +67 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs +343 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs +579 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs +145 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs +32 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs +50 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +128 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +67 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +46 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs +32 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +56 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs +546 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-timer.mjs +192 -223
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +228 -250
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs +49 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs.map +1 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils.mjs +49 -0
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils.mjs.map +1 -0
- package/{fesm2015 → fesm2022}/spicainternational-ngx-sds-components.mjs +5 -4
- package/{fesm2015 → fesm2022}/spicainternational-ngx-sds-components.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/package.json +120 -172
- package/public-api.d.ts +31 -30
- package/src/lib/app-switcher/app-switcher.component.d.ts +34 -34
- package/src/lib/app-switcher/app-switcher.model.d.ts +8 -8
- package/src/lib/app-switcher/index.d.ts +5 -5
- package/src/lib/app-switcher/public-api.d.ts +2 -3
- package/src/lib/avatar/avatar-group.component.d.ts +28 -28
- package/src/lib/avatar/avatar-group.model.d.ts +6 -6
- package/src/lib/avatar/avatar.component.d.ts +53 -55
- package/src/lib/avatar/index.d.ts +5 -5
- package/src/lib/avatar/public-api.d.ts +3 -4
- package/src/lib/badge/badge.directive.d.ts +23 -23
- package/src/lib/badge/badge.types.d.ts +2 -2
- package/src/lib/badge/components/badge.component.d.ts +23 -23
- package/src/lib/badge/index.d.ts +5 -5
- package/src/lib/badge/public-api.d.ts +1 -2
- package/src/lib/callout/callout.component.d.ts +10 -10
- package/src/lib/callout/index.d.ts +5 -5
- package/src/lib/callout/public-api.d.ts +1 -2
- package/src/lib/color-picker/color-picker.component.d.ts +27 -28
- package/src/lib/color-picker/index.d.ts +5 -5
- package/src/lib/color-picker/public-api.d.ts +1 -2
- package/src/lib/date-picker/date-picker.component.d.ts +149 -149
- package/src/lib/date-picker/date-picker.model.d.ts +34 -34
- package/src/lib/date-picker/index.d.ts +5 -5
- package/src/lib/date-picker/public-api.d.ts +2 -3
- package/src/lib/date-picker/sds-date-picker.service.d.ts +9 -9
- package/src/lib/date-pipes/date-compare.pipe.d.ts +7 -7
- package/src/lib/date-pipes/date-format.pipe.d.ts +19 -18
- package/src/lib/date-pipes/date-period-format.pipe.d.ts +11 -7
- package/src/lib/date-pipes/date-time-formats.constants.d.ts +22 -22
- package/src/lib/date-pipes/date-time-range-duration.pipe.d.ts +7 -7
- package/src/lib/date-pipes/date-time-range-format.pipe.d.ts +15 -15
- package/src/lib/date-pipes/index.d.ts +5 -5
- package/src/lib/date-pipes/public-api.d.ts +7 -7
- package/src/lib/drawer/drawer.component.d.ts +24 -24
- package/src/lib/drawer/index.d.ts +5 -5
- package/src/lib/drawer/public-api.d.ts +1 -2
- package/src/lib/duration-box/duration-box.component.d.ts +137 -137
- package/src/lib/duration-box/duration-box.types.d.ts +1 -1
- package/src/lib/duration-box/duration.service.d.ts +10 -10
- package/src/lib/duration-box/index.d.ts +5 -5
- package/src/lib/duration-box/public-api.d.ts +1 -2
- package/src/lib/duration-pipe/duration-format.pipe.d.ts +7 -7
- package/src/lib/duration-pipe/index.d.ts +5 -5
- package/src/lib/duration-pipe/public-api.d.ts +1 -2
- package/src/lib/ellipsis/directives/ellipsis.directive.d.ts +13 -13
- package/src/lib/ellipsis/index.d.ts +5 -5
- package/src/lib/ellipsis/public-api.d.ts +1 -2
- package/src/lib/expansion-panel/expansion-panel.component.d.ts +52 -52
- package/src/lib/expansion-panel/expansion-panel.types.d.ts +2 -2
- package/src/lib/expansion-panel/index.d.ts +5 -5
- package/src/lib/expansion-panel/public-api.d.ts +1 -2
- package/src/lib/highlight-text/directives/highlight-text.directive.d.ts +33 -33
- package/src/lib/highlight-text/directives/index.d.ts +1 -1
- package/src/lib/highlight-text/index.d.ts +5 -5
- package/src/lib/highlight-text/pipes/highlight-text.pipe.d.ts +11 -11
- package/src/lib/highlight-text/pipes/index.d.ts +1 -1
- package/src/lib/highlight-text/public-api.d.ts +2 -3
- package/src/lib/highlight-text/utils/highlight-text.utils.d.ts +23 -23
- package/src/lib/highlight-text/utils/index.d.ts +1 -1
- package/src/lib/intersection/directives/index.d.ts +1 -1
- package/src/lib/intersection/directives/intersection.directive.d.ts +24 -24
- package/src/lib/intersection/index.d.ts +5 -5
- package/src/lib/intersection/public-api.d.ts +2 -3
- package/src/lib/intersection/services/index.d.ts +1 -1
- package/src/lib/intersection/services/intersection.service.d.ts +19 -19
- package/src/lib/keyboard-shortcut/directives/index.d.ts +1 -1
- package/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.d.ts +22 -22
- package/src/lib/keyboard-shortcut/index.d.ts +5 -5
- package/src/lib/keyboard-shortcut/public-api.d.ts +1 -2
- package/src/lib/layout/default-layout/default-layout.component.d.ts +8 -8
- package/src/lib/layout/extra-large-layout/extra-large-layout.component.d.ts +8 -8
- package/src/lib/layout/fluid-layout/fluid-layout.component.d.ts +8 -8
- package/src/lib/layout/index.d.ts +5 -5
- package/src/lib/layout/medium-layout/medium-layout.component.d.ts +8 -8
- package/src/lib/layout/public-api.d.ts +5 -6
- package/src/lib/layout/small-layout/small-layout.component.d.ts +8 -8
- package/src/lib/message/index.d.ts +5 -5
- package/src/lib/message/message.component.d.ts +24 -24
- package/src/lib/message/public-api.d.ts +1 -2
- package/src/lib/modal/dialog/dialog.component.d.ts +61 -61
- package/src/lib/modal/dialog/dialog.types.d.ts +1 -1
- package/src/lib/modal/index.d.ts +5 -5
- package/src/lib/modal/modal.component.d.ts +54 -54
- package/src/lib/modal/modal.model.d.ts +3 -3
- package/src/lib/modal/public-api.d.ts +2 -3
- package/src/lib/navigation/index.d.ts +5 -5
- package/src/lib/navigation/models/navigation-models.d.ts +4 -0
- package/src/lib/navigation/navigation-collapsible-frame/navigation-collapsible-frame.component.d.ts +7 -0
- package/src/lib/navigation/navigation-container/navigation-container.component.d.ts +26 -9
- package/src/lib/navigation/navigation-external-link/navigation-external-link.component.d.ts +17 -15
- package/src/lib/navigation/navigation-group/navigation-group.component.d.ts +44 -40
- package/src/lib/navigation/navigation-header/navigation-header.component.d.ts +11 -9
- package/src/lib/navigation/navigation-route-link/navigation-route-link.component.d.ts +19 -17
- package/src/lib/navigation/navigation-separator/navigation-separator.component.d.ts +10 -8
- package/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.d.ts +11 -11
- package/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.d.ts +17 -17
- package/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.types.d.ts +1 -1
- package/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.d.ts +9 -9
- package/src/lib/navigation/navigation-user-profile/navigation-profile.model.d.ts +6 -6
- package/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.d.ts +34 -31
- package/src/lib/navigation/product-home/product-home.component.d.ts +32 -23
- package/src/lib/navigation/public-api.d.ts +13 -12
- package/src/lib/navigation/utils/navigation.utils.d.ts +2 -2
- package/src/lib/number-box/index.d.ts +5 -5
- package/src/lib/number-box/number-box.component.d.ts +83 -83
- package/src/lib/number-box/public-api.d.ts +1 -2
- package/src/lib/page-header/index.d.ts +5 -5
- package/src/lib/page-header/page-header.component.d.ts +11 -11
- package/src/lib/page-header/public-api.d.ts +1 -2
- package/src/lib/pane/index.d.ts +5 -5
- package/src/lib/pane/pane.component.d.ts +19 -19
- package/src/lib/pane/pane.model.d.ts +8 -8
- package/src/lib/pane/public-api.d.ts +2 -3
- package/src/lib/quick-info/index.d.ts +5 -5
- package/src/lib/quick-info/public-api.d.ts +1 -2
- package/src/lib/quick-info/quick-info.component.d.ts +43 -43
- package/src/lib/quick-info/quick-info.model.d.ts +9 -9
- package/src/lib/segmented-control/index.d.ts +5 -5
- package/src/lib/segmented-control/public-api.d.ts +1 -2
- package/src/lib/segmented-control/segmented-control.component.d.ts +21 -21
- package/src/lib/side-bar/index.d.ts +5 -5
- package/src/lib/side-bar/public-api.d.ts +1 -2
- package/src/lib/side-bar/side-bar.component.d.ts +24 -74
- package/src/lib/static-value/index.d.ts +5 -5
- package/src/lib/static-value/public-api.d.ts +1 -2
- package/src/lib/static-value/static-value.component.d.ts +12 -12
- package/src/lib/table-actions/index.d.ts +5 -5
- package/src/lib/table-actions/public-api.d.ts +1 -2
- package/src/lib/table-actions/table-actions.component.d.ts +16 -16
- package/src/lib/timeline/components/timeline.component.d.ts +206 -198
- package/src/lib/timeline/index.d.ts +5 -5
- package/src/lib/timeline/models/timeline.model.d.ts +38 -38
- package/src/lib/timeline/public-api.d.ts +1 -2
- package/src/lib/timeline/services/timeline.service.d.ts +24 -21
- package/src/lib/timeline/types/timeline.types.d.ts +2 -2
- package/src/lib/timer/index.d.ts +5 -5
- package/src/lib/timer/public-api.d.ts +2 -3
- package/src/lib/timer/services/index.d.ts +1 -1
- package/src/lib/timer/services/timer.service.d.ts +78 -78
- package/src/lib/timer/utils/index.d.ts +1 -1
- package/src/lib/timer/utils/timer.utils.d.ts +61 -61
- package/src/lib/tooltip/components/tooltip.component.d.ts +18 -18
- package/src/lib/tooltip/index.d.ts +5 -5
- package/src/lib/tooltip/public-api.d.ts +1 -2
- package/src/lib/tooltip/tooltip.directive.d.ts +36 -36
- package/src/lib/tooltip/tooltip.types.d.ts +2 -2
- package/src/lib/tooltip/utils/index.d.ts +1 -1
- package/src/lib/tooltip/utils/tooltip.utils.d.ts +5 -5
- package/src/lib/utils/date-time/date-time-format.function.d.ts +2 -0
- package/src/lib/utils/date-time/index.d.ts +5 -0
- package/src/lib/utils/date-time/intl-date-time-format-options-presets.d.ts +4 -0
- package/src/lib/utils/date-time/public-api.d.ts +2 -0
- package/src/lib/utils/index.d.ts +5 -0
- package/src/lib/utils/public-api.d.ts +1 -0
- package/esm2020/src/lib/app-switcher/app-switcher.component.mjs +0 -107
- package/esm2020/src/lib/app-switcher/app-switcher.module.mjs +0 -36
- package/esm2020/src/lib/app-switcher/public-api.mjs +0 -4
- package/esm2020/src/lib/avatar/avatar-group.component.mjs +0 -80
- package/esm2020/src/lib/avatar/avatar.component.mjs +0 -162
- package/esm2020/src/lib/avatar/avatar.module.mjs +0 -41
- package/esm2020/src/lib/avatar/public-api.mjs +0 -5
- package/esm2020/src/lib/badge/badge.directive.mjs +0 -89
- package/esm2020/src/lib/badge/badge.module.mjs +0 -27
- package/esm2020/src/lib/badge/components/badge.component.mjs +0 -59
- package/esm2020/src/lib/callout/callout.component.mjs +0 -20
- package/esm2020/src/lib/callout/callout.module.mjs +0 -25
- package/esm2020/src/lib/color-picker/color-picker.component.mjs +0 -76
- package/esm2020/src/lib/color-picker/color-picker.module.mjs +0 -33
- package/esm2020/src/lib/date-picker/date-picker.component.mjs +0 -841
- package/esm2020/src/lib/date-picker/date-picker.model.mjs +0 -71
- package/esm2020/src/lib/date-picker/date-picker.module.mjs +0 -68
- package/esm2020/src/lib/date-picker/public-api.mjs +0 -4
- package/esm2020/src/lib/date-picker/sds-date-picker.service.mjs +0 -90
- package/esm2020/src/lib/date-pipes/date-compare.pipe.mjs +0 -31
- package/esm2020/src/lib/date-pipes/date-format.pipe.mjs +0 -73
- package/esm2020/src/lib/date-pipes/date-period-format.pipe.mjs +0 -44
- package/esm2020/src/lib/date-pipes/date-pipes.module.mjs +0 -43
- package/esm2020/src/lib/date-pipes/date-time-range-duration.pipe.mjs +0 -31
- package/esm2020/src/lib/date-pipes/date-time-range-format.pipe.mjs +0 -48
- package/esm2020/src/lib/drawer/drawer.component.mjs +0 -103
- package/esm2020/src/lib/drawer/drawer.module.mjs +0 -18
- package/esm2020/src/lib/duration-box/duration-box.component.mjs +0 -261
- package/esm2020/src/lib/duration-box/duration-box.module.mjs +0 -44
- package/esm2020/src/lib/duration-box/duration.service.mjs +0 -72
- package/esm2020/src/lib/duration-pipe/duration-format.pipe.mjs +0 -26
- package/esm2020/src/lib/duration-pipe/duration-pipe.module.mjs +0 -18
- package/esm2020/src/lib/ellipsis/directives/ellipsis.directive.mjs +0 -51
- package/esm2020/src/lib/ellipsis/ellipsis.module.mjs +0 -24
- package/esm2020/src/lib/expansion-panel/expansion-panel.component.mjs +0 -86
- package/esm2020/src/lib/expansion-panel/expansion-panel.module.mjs +0 -25
- package/esm2020/src/lib/highlight-text/directives/highlight-text.directive.mjs +0 -60
- package/esm2020/src/lib/highlight-text/highlight-text.module.mjs +0 -29
- package/esm2020/src/lib/highlight-text/pipes/highlight-text.pipe.mjs +0 -29
- package/esm2020/src/lib/highlight-text/public-api.mjs +0 -4
- package/esm2020/src/lib/highlight-text/utils/highlight-text.utils.mjs +0 -97
- package/esm2020/src/lib/intersection/directives/intersection.directive.mjs +0 -51
- package/esm2020/src/lib/intersection/intersection.module.mjs +0 -20
- package/esm2020/src/lib/intersection/public-api.mjs +0 -4
- package/esm2020/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.mjs +0 -56
- package/esm2020/src/lib/keyboard-shortcut/keyboard-shortcut.module.mjs +0 -24
- package/esm2020/src/lib/layout/default-layout/default-layout.component.mjs +0 -15
- package/esm2020/src/lib/layout/extra-large-layout/extra-large-layout.component.mjs +0 -15
- package/esm2020/src/lib/layout/fluid-layout/fluid-layout.component.mjs +0 -15
- package/esm2020/src/lib/layout/layout.module.mjs +0 -47
- package/esm2020/src/lib/layout/medium-layout/medium-layout.component.mjs +0 -15
- package/esm2020/src/lib/layout/public-api.mjs +0 -7
- package/esm2020/src/lib/layout/small-layout/small-layout.component.mjs +0 -15
- package/esm2020/src/lib/message/message.component.mjs +0 -60
- package/esm2020/src/lib/message/message.module.mjs +0 -28
- package/esm2020/src/lib/modal/dialog/dialog.component.mjs +0 -187
- package/esm2020/src/lib/modal/modal.component.mjs +0 -147
- package/esm2020/src/lib/modal/modal.module.mjs +0 -43
- package/esm2020/src/lib/navigation/navigation-container/navigation-container.component.mjs +0 -17
- package/esm2020/src/lib/navigation/navigation-external-link/navigation-external-link.component.mjs +0 -37
- package/esm2020/src/lib/navigation/navigation-group/navigation-group.component.mjs +0 -100
- package/esm2020/src/lib/navigation/navigation-header/navigation-header.component.mjs +0 -17
- package/esm2020/src/lib/navigation/navigation-route-link/navigation-route-link.component.mjs +0 -33
- package/esm2020/src/lib/navigation/navigation-separator/navigation-separator.component.mjs +0 -14
- package/esm2020/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.mjs +0 -26
- package/esm2020/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.mjs +0 -40
- package/esm2020/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.mjs +0 -23
- package/esm2020/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.mjs +0 -99
- package/esm2020/src/lib/navigation/navigation.module.mjs +0 -107
- package/esm2020/src/lib/navigation/pipes/navigation-route-active.pipe.mjs +0 -30
- package/esm2020/src/lib/navigation/product-home/product-home.component.mjs +0 -54
- package/esm2020/src/lib/navigation/public-api.mjs +0 -13
- package/esm2020/src/lib/navigation/utils/navigation.utils.mjs +0 -48
- package/esm2020/src/lib/number-box/number-box.component.mjs +0 -138
- package/esm2020/src/lib/number-box/number-box.module.mjs +0 -28
- package/esm2020/src/lib/page-header/page-header.component.mjs +0 -25
- package/esm2020/src/lib/page-header/page-header.module.mjs +0 -19
- package/esm2020/src/lib/pane/pane.component.mjs +0 -43
- package/esm2020/src/lib/pane/pane.module.mjs +0 -28
- package/esm2020/src/lib/quick-info/quick-info.component.mjs +0 -116
- package/esm2020/src/lib/quick-info/quick-info.module.mjs +0 -33
- package/esm2020/src/lib/segmented-control/segmented-control.component.mjs +0 -55
- package/esm2020/src/lib/segmented-control/segmented-control.module.mjs +0 -29
- package/esm2020/src/lib/side-bar/side-bar.component.mjs +0 -109
- package/esm2020/src/lib/side-bar/side-bar.module.mjs +0 -28
- package/esm2020/src/lib/static-value/static-value.component.mjs +0 -25
- package/esm2020/src/lib/static-value/static-value.module.mjs +0 -28
- package/esm2020/src/lib/table-actions/table-actions.component.mjs +0 -42
- package/esm2020/src/lib/table-actions/table-actions.module.mjs +0 -32
- package/esm2020/src/lib/timeline/components/timeline.component.mjs +0 -364
- package/esm2020/src/lib/timeline/services/timeline.service.mjs +0 -120
- package/esm2020/src/lib/timeline/timeline.module.mjs +0 -24
- package/esm2020/src/lib/timer/services/timer.service.mjs +0 -99
- package/esm2020/src/lib/timer/timer.module.mjs +0 -34
- package/esm2020/src/lib/tooltip/components/tooltip.component.mjs +0 -22
- package/esm2020/src/lib/tooltip/tooltip.directive.mjs +0 -191
- package/esm2020/src/lib/tooltip/tooltip.module.mjs +0 -31
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +0 -150
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-avatar.mjs +0 -284
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-badge.mjs +0 -175
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-callout.mjs +0 -49
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +0 -113
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +0 -1071
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +0 -411
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +0 -379
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +0 -48
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +0 -80
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +0 -115
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs +0 -215
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-intersection.mjs +0 -127
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +0 -85
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-layout.mjs +0 -110
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-message.mjs +0 -92
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-message.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-modal.mjs +0 -378
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs +0 -595
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-number-box.mjs +0 -170
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-page-header.mjs +0 -48
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-pane.mjs +0 -75
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +0 -155
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +0 -88
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +0 -141
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-static-value.mjs +0 -57
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +0 -78
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-timeline.mjs +0 -515
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-timer.mjs +0 -235
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +0 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +0 -260
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +0 -146
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-avatar.mjs +0 -282
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-badge.mjs +0 -175
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-callout.mjs +0 -49
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +0 -113
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +0 -1064
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-drawer.mjs +0 -125
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +0 -377
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +0 -48
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +0 -79
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +0 -115
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +0 -83
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-layout.mjs +0 -110
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-message.mjs +0 -92
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-message.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-modal.mjs +0 -376
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs +0 -595
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-number-box.mjs +0 -170
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-page-header.mjs +0 -48
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-pane.mjs +0 -75
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +0 -153
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +0 -88
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +0 -141
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-static-value.mjs +0 -57
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +0 -78
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-timeline.mjs +0 -511
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +0 -1
- package/fesm2020/spicainternational-ngx-sds-components.mjs +0 -39
- package/fesm2020/spicainternational-ngx-sds-components.mjs.map +0 -1
- package/src/lib/app-switcher/app-switcher.module.d.ts +0 -11
- package/src/lib/avatar/avatar.module.d.ts +0 -11
- package/src/lib/badge/badge.module.d.ts +0 -9
- package/src/lib/callout/callout.module.d.ts +0 -8
- package/src/lib/color-picker/color-picker.module.d.ts +0 -10
- package/src/lib/date-picker/date-picker.module.d.ts +0 -12
- package/src/lib/date-pipes/date-pipes.module.d.ts +0 -12
- package/src/lib/drawer/drawer.module.d.ts +0 -8
- package/src/lib/duration-box/duration-box.module.d.ts +0 -10
- package/src/lib/duration-pipe/duration-pipe.module.d.ts +0 -8
- package/src/lib/ellipsis/ellipsis.module.d.ts +0 -8
- package/src/lib/expansion-panel/expansion-panel.module.d.ts +0 -15
- package/src/lib/highlight-text/highlight-text.module.d.ts +0 -9
- package/src/lib/intersection/intersection.module.d.ts +0 -8
- package/src/lib/keyboard-shortcut/keyboard-shortcut.module.d.ts +0 -8
- package/src/lib/layout/layout.module.d.ts +0 -13
- package/src/lib/message/message.module.d.ts +0 -9
- package/src/lib/modal/modal.module.d.ts +0 -12
- package/src/lib/navigation/navigation.module.d.ts +0 -28
- package/src/lib/navigation/pipes/navigation-route-active.pipe.d.ts +0 -7
- package/src/lib/number-box/number-box.module.d.ts +0 -9
- package/src/lib/page-header/page-header.module.d.ts +0 -8
- package/src/lib/pane/pane.module.d.ts +0 -9
- package/src/lib/quick-info/quick-info.module.d.ts +0 -10
- package/src/lib/segmented-control/segmented-control.module.d.ts +0 -9
- package/src/lib/side-bar/side-bar.module.d.ts +0 -9
- package/src/lib/static-value/static-value.module.d.ts +0 -9
- package/src/lib/table-actions/table-actions.module.d.ts +0 -10
- package/src/lib/timeline/timeline.module.d.ts +0 -8
- package/src/lib/timer/timer.module.d.ts +0 -10
- package/src/lib/tooltip/tooltip.module.d.ts +0 -10
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable, EventEmitter, ViewChild, Input, Output, Component } from '@angular/core';
|
|
3
|
+
import { SdsDurationFormatPipe } from '@spicainternational/ngx-sds-components/src/lib/duration-pipe';
|
|
4
|
+
import * as i2 from 'devextreme-angular';
|
|
5
|
+
import { DxTextBoxModule, DxValidatorModule } from 'devextreme-angular';
|
|
6
|
+
import * as i3 from 'devextreme-angular/ui/nested';
|
|
7
|
+
import { DxiValidationRuleModule, DxiButtonModule } from 'devextreme-angular/ui/nested';
|
|
8
|
+
import * as i6 from 'devextreme-angular/ui/scroll-view';
|
|
9
|
+
import { DxScrollViewModule } from 'devextreme-angular/ui/scroll-view';
|
|
10
|
+
import * as i4 from 'devextreme-angular/core';
|
|
11
|
+
import { DxTemplateModule } from 'devextreme-angular/core';
|
|
12
|
+
import * as i5 from 'devextreme-angular/ui/popover';
|
|
13
|
+
import { DxPopoverModule } from 'devextreme-angular/ui/popover';
|
|
14
|
+
import { NgIf, NgFor } from '@angular/common';
|
|
15
|
+
|
|
16
|
+
class DurationService {
|
|
17
|
+
constructor() { }
|
|
18
|
+
resolve(input) {
|
|
19
|
+
if (!input || input.length === 0) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
const inputSegments = input.split(':');
|
|
23
|
+
if (inputSegments.length > 2) {
|
|
24
|
+
//invalid input
|
|
25
|
+
return 0;
|
|
26
|
+
}
|
|
27
|
+
else if (inputSegments.length == 2) {
|
|
28
|
+
// we have hrs and minutes
|
|
29
|
+
const hrs = parseInt(inputSegments[0] ? inputSegments[0] : '0');
|
|
30
|
+
const mins = parseInt(inputSegments[1] ? inputSegments[1] : '0');
|
|
31
|
+
const totalMins = (hrs * 60) + mins;
|
|
32
|
+
return totalMins;
|
|
33
|
+
}
|
|
34
|
+
else if (inputSegments.length == 1) {
|
|
35
|
+
// take last two digits as mins
|
|
36
|
+
const nonSeparated = inputSegments[0];
|
|
37
|
+
let totalMins = 0;
|
|
38
|
+
if (nonSeparated.length <= 2) {
|
|
39
|
+
totalMins = parseInt(nonSeparated);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
const lastIndex = nonSeparated.length - 2;
|
|
43
|
+
const part1 = nonSeparated.slice(0, lastIndex);
|
|
44
|
+
const part2 = nonSeparated.slice(lastIndex);
|
|
45
|
+
const hrs = parseInt(part1);
|
|
46
|
+
const mins = parseInt(part2);
|
|
47
|
+
totalMins = (hrs * 60) + mins;
|
|
48
|
+
}
|
|
49
|
+
return totalMins;
|
|
50
|
+
}
|
|
51
|
+
return 0;
|
|
52
|
+
}
|
|
53
|
+
isValidInput(input) {
|
|
54
|
+
if (input === '') {
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
const regexNumbersOnly = /^[+-]?\d+$/;
|
|
58
|
+
const regexColonSeparated = /^[+-]?\d+:\d+$/;
|
|
59
|
+
return regexNumbersOnly.test(input) || regexColonSeparated.test(input);
|
|
60
|
+
}
|
|
61
|
+
getDefaultValue(min, max) {
|
|
62
|
+
let defaultValue = 0;
|
|
63
|
+
// try keeping the 0 as default
|
|
64
|
+
// if it is outside the min/max then adjust
|
|
65
|
+
if (min) {
|
|
66
|
+
defaultValue = Math.max(defaultValue, min);
|
|
67
|
+
}
|
|
68
|
+
if (max) {
|
|
69
|
+
defaultValue = Math.min(defaultValue, max);
|
|
70
|
+
}
|
|
71
|
+
return defaultValue;
|
|
72
|
+
}
|
|
73
|
+
isValueWithinLimits(value, min, max) {
|
|
74
|
+
return !((min != undefined && value < min) || (max != undefined && value > max));
|
|
75
|
+
}
|
|
76
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DurationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
77
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DurationService, providedIn: 'root' }); }
|
|
78
|
+
}
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DurationService, decorators: [{
|
|
80
|
+
type: Injectable,
|
|
81
|
+
args: [{
|
|
82
|
+
providedIn: 'root',
|
|
83
|
+
}]
|
|
84
|
+
}], ctorParameters: () => [] });
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Component allows user to enter duration in h:mm format. User may also select no value is this is applicable to the
|
|
88
|
+
* use case. A list of pre-defined durations can be provided for easier selection.
|
|
89
|
+
*
|
|
90
|
+
* The auto resolve function tries to convert entered text into minutes. The algorithm splits entry into two parts
|
|
91
|
+
* hours and minutes based on delimiter or if there is none - it takes last two digits as minutes.
|
|
92
|
+
*
|
|
93
|
+
* @export
|
|
94
|
+
* @class SdsDurationBoxComponent
|
|
95
|
+
*/
|
|
96
|
+
class SdsDurationBoxComponent {
|
|
97
|
+
constructor(_durationInputResolver) {
|
|
98
|
+
this._durationInputResolver = _durationInputResolver;
|
|
99
|
+
/**
|
|
100
|
+
* Duration length expressed in minutes; when we allow empty values this property can be null.
|
|
101
|
+
*
|
|
102
|
+
* @type {(number | null)}
|
|
103
|
+
* @memberof SdsDurationBoxComponent
|
|
104
|
+
*/
|
|
105
|
+
this.value = null;
|
|
106
|
+
this.valueChange = new EventEmitter();
|
|
107
|
+
/**
|
|
108
|
+
* Allow user to select empty value. You should provide emptyValueText in this case. The emitted value is 'null'.
|
|
109
|
+
*
|
|
110
|
+
* @type {boolean}
|
|
111
|
+
* @memberof SdsDurationBoxComponent
|
|
112
|
+
*/
|
|
113
|
+
this.allowEmptyValue = true;
|
|
114
|
+
/**
|
|
115
|
+
* Text to be displayed when value is cleared
|
|
116
|
+
*
|
|
117
|
+
* @type {string}
|
|
118
|
+
* @memberof SdsDurationBoxComponent
|
|
119
|
+
*/
|
|
120
|
+
this.emptyValueText = 'not set';
|
|
121
|
+
/**
|
|
122
|
+
* Width of component. By default 10rem.
|
|
123
|
+
*
|
|
124
|
+
* @type {string}
|
|
125
|
+
* @memberof SdsDurationBoxComponent
|
|
126
|
+
*/
|
|
127
|
+
this.width = '10rem';
|
|
128
|
+
/**
|
|
129
|
+
* Specifies whether the UI component responds to user interaction.
|
|
130
|
+
*
|
|
131
|
+
* @type {boolean}
|
|
132
|
+
* @memberof SdsDurationBoxComponent
|
|
133
|
+
*/
|
|
134
|
+
this.disabled = false;
|
|
135
|
+
/**
|
|
136
|
+
* Specifies whether to display the Clear button in the UI component.
|
|
137
|
+
*
|
|
138
|
+
* @type {boolean}
|
|
139
|
+
* @memberof SdsDurationBoxComponent
|
|
140
|
+
*/
|
|
141
|
+
this.showClearButton = false;
|
|
142
|
+
/**
|
|
143
|
+
* Specifies how range limits are handled.
|
|
144
|
+
*
|
|
145
|
+
* @type {('fallbackToLastValue' | 'showValidationError')}
|
|
146
|
+
* @memberof SdsDurationBoxComponent
|
|
147
|
+
*/
|
|
148
|
+
this.rangeViolationHandling = 'autoResolve';
|
|
149
|
+
/**
|
|
150
|
+
* Range violation message. Applicable when rangeViolationHandling is set to 'autoResolve'
|
|
151
|
+
*
|
|
152
|
+
* @type {string}
|
|
153
|
+
* @memberof SdsDurationBoxComponent
|
|
154
|
+
*/
|
|
155
|
+
this.rangeViolationText = 'value is outside the valid range';
|
|
156
|
+
/**
|
|
157
|
+
* Indicates whether the editor's value is valid.
|
|
158
|
+
*
|
|
159
|
+
* @type {boolean}
|
|
160
|
+
* @memberof SdsDurationBoxComponent
|
|
161
|
+
*/
|
|
162
|
+
this.isValid = true;
|
|
163
|
+
// public elementUUID = 'sds-db-' + crypto.randomUUID();
|
|
164
|
+
this.elementUUID = `sds-db-${Math.ceil(Math.random() * 1000000)}`;
|
|
165
|
+
this.inputValue = '';
|
|
166
|
+
this.showOptions = false;
|
|
167
|
+
this.isValueEmpty = false;
|
|
168
|
+
this.isValueSetInternally = false;
|
|
169
|
+
this._durationPipe = new SdsDurationFormatPipe();
|
|
170
|
+
this.optionsDropdownButton = {
|
|
171
|
+
icon: 'spindown',
|
|
172
|
+
stylingMode: 'text',
|
|
173
|
+
onClick: () => {
|
|
174
|
+
this.showOptions = !this.showOptions;
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
this.clearValueButton = {
|
|
178
|
+
icon: 'clear',
|
|
179
|
+
stylingMode: 'text',
|
|
180
|
+
elementAttr: { class: 'sds-durationbox-clear-button' },
|
|
181
|
+
onClick: () => {
|
|
182
|
+
this.applyOption(null);
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
ngAfterViewInit() {
|
|
187
|
+
if (this._validationRule) {
|
|
188
|
+
this._validationRule.validationCallback = () => {
|
|
189
|
+
return this.checkIfValid();
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
ngOnChanges(changes) {
|
|
194
|
+
if (changes['value'] ||
|
|
195
|
+
changes['min'] || changes['max'] ||
|
|
196
|
+
changes['rangeViolationHandling'] ||
|
|
197
|
+
changes['allowEmptyValue']) {
|
|
198
|
+
this.validateInputs();
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
ngOnInit() { }
|
|
202
|
+
blockNonNumberOrSemicolon(e) {
|
|
203
|
+
this.isValueSetInternally = false;
|
|
204
|
+
}
|
|
205
|
+
resolveInput() {
|
|
206
|
+
if (!this.isValueSetInternally) {
|
|
207
|
+
if (!this._durationInputResolver.isValidInput(this.inputValue)) {
|
|
208
|
+
// we have invalid input. use old value
|
|
209
|
+
this.setInputValueInternally(this.value);
|
|
210
|
+
this.setValidationStatusAndValidate(true);
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
const resolvedValue = this._durationInputResolver.resolve(this.inputValue);
|
|
214
|
+
if (resolvedValue === null && this.allowEmptyValue) {
|
|
215
|
+
this.setValue(null);
|
|
216
|
+
this.setValidationStatusAndValidate(true);
|
|
217
|
+
}
|
|
218
|
+
else if (resolvedValue === null && !this.allowEmptyValue) {
|
|
219
|
+
this.setValue(this._durationInputResolver.getDefaultValue());
|
|
220
|
+
this.setValidationStatusAndValidate(true);
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
// make sure that the value is within the min/max period
|
|
224
|
+
if (this._durationInputResolver.isValueWithinLimits(resolvedValue, this.min, this.max)) {
|
|
225
|
+
this.setValue(resolvedValue);
|
|
226
|
+
this.setValidationStatusAndValidate(true);
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
// use old value
|
|
230
|
+
if (this.rangeViolationHandling === 'autoResolve') {
|
|
231
|
+
this.setInputValueInternally(this.value);
|
|
232
|
+
this.setValidationStatusAndValidate(true);
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
this.setInputValueInternally(resolvedValue);
|
|
236
|
+
this.setValidationStatusAndValidate(false);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
applyOption(value) {
|
|
244
|
+
this.showOptions = false;
|
|
245
|
+
this.isValueSetInternally = false;
|
|
246
|
+
this.setValue(value);
|
|
247
|
+
}
|
|
248
|
+
checkIfValid() {
|
|
249
|
+
return this.isValid;
|
|
250
|
+
}
|
|
251
|
+
validateInputs() {
|
|
252
|
+
if (this.value === null) {
|
|
253
|
+
// handle null input
|
|
254
|
+
if (this.allowEmptyValue) {
|
|
255
|
+
this.setValue(null);
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
this.setValue(this._durationInputResolver.getDefaultValue());
|
|
259
|
+
this.inputValue = this._durationPipe.transform(this.value, this.emptyValueText);
|
|
260
|
+
}
|
|
261
|
+
this.setValidationStatusAndValidate(true);
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
// handle value input
|
|
265
|
+
if (this._durationInputResolver.isValueWithinLimits(this.value, this.min, this.max)) {
|
|
266
|
+
this.inputValue = this._durationPipe.transform(this.value, this.emptyValueText);
|
|
267
|
+
this.setValidationStatusAndValidate(true);
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
// value is out of range
|
|
271
|
+
if (this.rangeViolationHandling === 'autoResolve') {
|
|
272
|
+
this.setValue(this._durationInputResolver.getDefaultValue(this.min, this.max));
|
|
273
|
+
this.inputValue = this._durationPipe.transform(this.value, this.emptyValueText);
|
|
274
|
+
this.setValidationStatusAndValidate(true);
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
this.inputValue = this._durationPipe.transform(this.value, this.emptyValueText);
|
|
278
|
+
this.setValidationStatusAndValidate(false);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
this._validator?.instance.validate();
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
setValue(value) {
|
|
285
|
+
this.isValueEmpty = (value === null);
|
|
286
|
+
this.value = value;
|
|
287
|
+
this.valueChange.emit(this.value);
|
|
288
|
+
this.setInputValueInternally(value);
|
|
289
|
+
}
|
|
290
|
+
setInputValueInternally(value) {
|
|
291
|
+
this.isValueSetInternally = true;
|
|
292
|
+
setTimeout(() => {
|
|
293
|
+
this.inputValue = this._durationPipe.transform(value, this.emptyValueText);
|
|
294
|
+
}, 0);
|
|
295
|
+
}
|
|
296
|
+
setValidationStatusAndValidate(isWithinRange) {
|
|
297
|
+
this.isValid = (this.rangeViolationHandling === 'autoResolve') || isWithinRange;
|
|
298
|
+
this._validator?.instance.validate();
|
|
299
|
+
}
|
|
300
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsDurationBoxComponent, deps: [{ token: DurationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
301
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SdsDurationBoxComponent, isStandalone: true, selector: "sds-duration-box", inputs: { value: "value", allowEmptyValue: "allowEmptyValue", emptyValueText: "emptyValueText", options: "options", width: "width", disabled: "disabled", showClearButton: "showClearButton", max: "max", min: "min", rangeViolationHandling: "rangeViolationHandling", rangeViolationText: "rangeViolationText" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "_validationRule", first: true, predicate: ["validationRule"], descendants: true }, { propertyName: "_validator", first: true, predicate: ["validator"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<dx-text-box\r\n #textbox\r\n [id]=\"elementUUID\"\r\n class=\"sds-durationbox\"\r\n [(value)]=\"inputValue\"\r\n (onKeyDown)=\"blockNonNumberOrSemicolon($event)\"\r\n (onChange)=\"resolveInput()\"\r\n [width]=\"width\"\r\n [disabled]=\"disabled\"\r\n >\r\n\r\n <dx-validator \r\n #validator>\r\n <dxi-validation-rule\r\n #validationRule\r\n type=\"custom\"\r\n [message]=\"rangeViolationText\"\r\n [reevaluate]=\"true\"\r\n ></dxi-validation-rule>\r\n </dx-validator>\r\n\r\n <dxi-button\r\n *ngIf=\"allowEmptyValue && showClearButton\"\r\n name=\"clearValue\"\r\n location=\"after\"\r\n [options]=\"clearValueButton\"\r\n ></dxi-button>\r\n \r\n <dxi-button\r\n *ngIf=\"options && options.length > 0\"\r\n name=\"optionsDropdown\"\r\n location=\"after\"\r\n [options]=\"optionsDropdownButton\"\r\n ></dxi-button>\r\n</dx-text-box>\r\n\r\n\r\n<dx-popover\r\n target=\"#{{elementUUID}}\"\r\n [(visible)]=\"showOptions\"\r\n [minWidth]=\"width\"\r\n [hideOnOutsideClick]=\"true\"\r\n [wrapperAttr]=\"{ class: 'sds-durationbox-options-popover' }\"\r\n >\r\n\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <dx-scroll-view>\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"isValueEmpty\"\r\n (click)=\"applyOption(null)\"\r\n > {{ emptyValueText}}\r\n </button>\r\n\r\n <div *ngFor=\"let option of options\">\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"option === value\"\r\n (click)=\"applyOption(option)\"\r\n > {{option | sdsDurationFormat}}\r\n </button>\r\n </div>\r\n </dx-scroll-view>\r\n </div>\r\n</dx-popover>", styles: ["::ng-deep .sds-durationbox .sds-durationbox-clear-button .dx-icon{color:#999}::ng-deep .sds-durationbox-options-popover .dx-popup-content{padding:.25rem;font-size:1rem}::ng-deep .sds-durationbox-options-popover .dropdown-item{padding:.5rem}::ng-deep .sds-durationbox-options-popover .dropdown-item:hover{background-color:var(--bs-gray-100)}::ng-deep .sds-durationbox-options-popover .dropdown-item:focus{outline:none}::ng-deep .sds-durationbox-options-popover .dropdown-item.selected{background-color:var(--bs-gray-300)}\n"], dependencies: [{ kind: "ngmodule", type: DxTextBoxModule }, { kind: "component", type: i2.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isDirty", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isDirtyChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i3.DxiButtonComponent, selector: "dxi-button", inputs: ["location", "name", "options", "cssClass", "disabled", "hint", "icon", "onClick", "template", "text", "visible"] }, { kind: "directive", type: i4.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "ngmodule", type: DxValidatorModule }, { kind: "component", type: i2.DxValidatorComponent, selector: "dx-validator", inputs: ["adapter", "elementAttr", "height", "name", "validationGroup", "validationRules", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onValidated", "adapterChange", "elementAttrChange", "heightChange", "nameChange", "validationGroupChange", "validationRulesChange", "widthChange"] }, { kind: "component", type: i3.DxiValidationRuleComponent, selector: "dxi-validation-rule", inputs: ["message", "trim", "type", "ignoreEmptyValue", "max", "min", "reevaluate", "validationCallback", "comparisonTarget", "comparisonType", "pattern"] }, { kind: "ngmodule", type: DxiValidationRuleModule }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DxiButtonModule }, { kind: "ngmodule", type: DxPopoverModule }, { kind: "component", type: i5.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "deferRendering", "disabled", "enableBodyScroll", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "deferRenderingChange", "disabledChange", "enableBodyScrollChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "ngmodule", type: DxTemplateModule }, { kind: "ngmodule", type: DxScrollViewModule }, { kind: "component", type: i6.DxScrollViewComponent, selector: "dx-scroll-view", inputs: ["bounceEnabled", "direction", "disabled", "elementAttr", "height", "pulledDownText", "pullingDownText", "reachBottomText", "refreshingText", "rtlEnabled", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onPullDown", "onReachBottom", "onScroll", "onUpdated", "bounceEnabledChange", "directionChange", "disabledChange", "elementAttrChange", "heightChange", "pulledDownTextChange", "pullingDownTextChange", "reachBottomTextChange", "refreshingTextChange", "rtlEnabledChange", "scrollByContentChange", "scrollByThumbChange", "showScrollbarChange", "useNativeChange", "widthChange"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: SdsDurationFormatPipe, name: "sdsDurationFormat" }] }); }
|
|
302
|
+
}
|
|
303
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsDurationBoxComponent, decorators: [{
|
|
304
|
+
type: Component,
|
|
305
|
+
args: [{ selector: 'sds-duration-box', standalone: true, imports: [
|
|
306
|
+
DxTextBoxModule,
|
|
307
|
+
DxValidatorModule,
|
|
308
|
+
DxiValidationRuleModule,
|
|
309
|
+
NgIf,
|
|
310
|
+
DxiButtonModule,
|
|
311
|
+
DxPopoverModule,
|
|
312
|
+
DxTemplateModule,
|
|
313
|
+
DxScrollViewModule,
|
|
314
|
+
NgFor,
|
|
315
|
+
SdsDurationFormatPipe,
|
|
316
|
+
], template: "<dx-text-box\r\n #textbox\r\n [id]=\"elementUUID\"\r\n class=\"sds-durationbox\"\r\n [(value)]=\"inputValue\"\r\n (onKeyDown)=\"blockNonNumberOrSemicolon($event)\"\r\n (onChange)=\"resolveInput()\"\r\n [width]=\"width\"\r\n [disabled]=\"disabled\"\r\n >\r\n\r\n <dx-validator \r\n #validator>\r\n <dxi-validation-rule\r\n #validationRule\r\n type=\"custom\"\r\n [message]=\"rangeViolationText\"\r\n [reevaluate]=\"true\"\r\n ></dxi-validation-rule>\r\n </dx-validator>\r\n\r\n <dxi-button\r\n *ngIf=\"allowEmptyValue && showClearButton\"\r\n name=\"clearValue\"\r\n location=\"after\"\r\n [options]=\"clearValueButton\"\r\n ></dxi-button>\r\n \r\n <dxi-button\r\n *ngIf=\"options && options.length > 0\"\r\n name=\"optionsDropdown\"\r\n location=\"after\"\r\n [options]=\"optionsDropdownButton\"\r\n ></dxi-button>\r\n</dx-text-box>\r\n\r\n\r\n<dx-popover\r\n target=\"#{{elementUUID}}\"\r\n [(visible)]=\"showOptions\"\r\n [minWidth]=\"width\"\r\n [hideOnOutsideClick]=\"true\"\r\n [wrapperAttr]=\"{ class: 'sds-durationbox-options-popover' }\"\r\n >\r\n\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <dx-scroll-view>\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"isValueEmpty\"\r\n (click)=\"applyOption(null)\"\r\n > {{ emptyValueText}}\r\n </button>\r\n\r\n <div *ngFor=\"let option of options\">\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"option === value\"\r\n (click)=\"applyOption(option)\"\r\n > {{option | sdsDurationFormat}}\r\n </button>\r\n </div>\r\n </dx-scroll-view>\r\n </div>\r\n</dx-popover>", styles: ["::ng-deep .sds-durationbox .sds-durationbox-clear-button .dx-icon{color:#999}::ng-deep .sds-durationbox-options-popover .dx-popup-content{padding:.25rem;font-size:1rem}::ng-deep .sds-durationbox-options-popover .dropdown-item{padding:.5rem}::ng-deep .sds-durationbox-options-popover .dropdown-item:hover{background-color:var(--bs-gray-100)}::ng-deep .sds-durationbox-options-popover .dropdown-item:focus{outline:none}::ng-deep .sds-durationbox-options-popover .dropdown-item.selected{background-color:var(--bs-gray-300)}\n"] }]
|
|
317
|
+
}], ctorParameters: () => [{ type: DurationService }], propDecorators: { value: [{
|
|
318
|
+
type: Input
|
|
319
|
+
}], valueChange: [{
|
|
320
|
+
type: Output
|
|
321
|
+
}], allowEmptyValue: [{
|
|
322
|
+
type: Input
|
|
323
|
+
}], emptyValueText: [{
|
|
324
|
+
type: Input
|
|
325
|
+
}], options: [{
|
|
326
|
+
type: Input
|
|
327
|
+
}], width: [{
|
|
328
|
+
type: Input
|
|
329
|
+
}], disabled: [{
|
|
330
|
+
type: Input
|
|
331
|
+
}], showClearButton: [{
|
|
332
|
+
type: Input
|
|
333
|
+
}], max: [{
|
|
334
|
+
type: Input
|
|
335
|
+
}], min: [{
|
|
336
|
+
type: Input
|
|
337
|
+
}], rangeViolationHandling: [{
|
|
338
|
+
type: Input
|
|
339
|
+
}], rangeViolationText: [{
|
|
340
|
+
type: Input
|
|
341
|
+
}], _validationRule: [{
|
|
342
|
+
type: ViewChild,
|
|
343
|
+
args: ['validationRule', { static: false }]
|
|
344
|
+
}], _validator: [{
|
|
345
|
+
type: ViewChild,
|
|
346
|
+
args: ['validator', { static: false }]
|
|
347
|
+
}] } });
|
|
348
|
+
|
|
349
|
+
/**
|
|
350
|
+
* Generated bundle index. Do not edit.
|
|
351
|
+
*/
|
|
352
|
+
|
|
353
|
+
export { SdsDurationBoxComponent };
|
|
354
|
+
//# sourceMappingURL=spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-duration-box.mjs","sources":["../../../projects/ngx-sds-components/src/lib/duration-box/duration.service.ts","../../../projects/ngx-sds-components/src/lib/duration-box/duration-box.component.ts","../../../projects/ngx-sds-components/src/lib/duration-box/duration-box.component.html","../../../projects/ngx-sds-components/src/lib/duration-box/spicainternational-ngx-sds-components-src-lib-duration-box.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DurationService {\r\n \r\n constructor() {}\r\n\r\n public resolve(input: string): number | null{\r\n if (!input || input.length === 0) {\r\n return null;\r\n }\r\n\r\n const inputSegments = input.split(':');\r\n if (inputSegments.length > 2) {\r\n //invalid input\r\n return 0;\r\n } else if (inputSegments.length == 2){\r\n // we have hrs and minutes\r\n const hrs = parseInt(inputSegments[0] ? inputSegments[0] : '0');\r\n const mins = parseInt(inputSegments[1] ? inputSegments[1] : '0');\r\n const totalMins = (hrs * 60) + mins;\r\n\r\n return totalMins;\r\n } else if (inputSegments.length == 1) {\r\n // take last two digits as mins\r\n const nonSeparated = inputSegments[0];\r\n\r\n let totalMins = 0;\r\n if (nonSeparated.length <= 2) {\r\n totalMins = parseInt(nonSeparated)\r\n } else {\r\n const lastIndex = nonSeparated.length - 2;\r\n const part1 = nonSeparated.slice(0, lastIndex);\r\n const part2 = nonSeparated.slice(lastIndex);\r\n const hrs = parseInt(part1);\r\n const mins = parseInt(part2);\r\n totalMins = (hrs * 60) + mins; \r\n }\r\n return totalMins;\r\n }\r\n return 0; \r\n }\r\n\r\n public isValidInput(input: string) {\r\n if (input === '') {\r\n return true;\r\n }\r\n\r\n const regexNumbersOnly = /^[+-]?\\d+$/;\r\n const regexColonSeparated = /^[+-]?\\d+:\\d+$/;\r\n return regexNumbersOnly.test(input) || regexColonSeparated.test(input);\r\n }\r\n\r\n public getDefaultValue(min?: number, max?: number): number {\r\n let defaultValue = 0;\r\n // try keeping the 0 as default\r\n // if it is outside the min/max then adjust\r\n if (min) {\r\n defaultValue = Math.max(defaultValue, min);\r\n }\r\n if (max) {\r\n defaultValue = Math.min(defaultValue, max);\r\n }\r\n return defaultValue;\r\n }\r\n\r\n public isValueWithinLimits(value: number, min?: number, max?: number): boolean {\r\n return !((min != undefined && value < min) || (max != undefined && value > max))\r\n } \r\n\r\n}\r\n","import { AfterViewInit, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { SdsDurationFormatPipe } from '@spicainternational/ngx-sds-components/src/lib/duration-pipe';\r\nimport { DxValidatorComponent, DxTextBoxModule, DxValidatorModule } from 'devextreme-angular';\r\nimport { DxiValidationRuleComponent, DxiValidationRuleModule, DxiButtonModule } from 'devextreme-angular/ui/nested';\r\nimport { DurationBoxRangeViolationHandling } from './duration-box.types';\r\nimport { DurationService } from './duration.service';\r\n// import { SdsDurationFormatPipe as SdsDurationFormatPipe_1 } from '../duration-pipe/duration-format.pipe';\r\nimport { DxScrollViewModule } from 'devextreme-angular/ui/scroll-view';\r\nimport { DxTemplateModule } from 'devextreme-angular/core';\r\nimport { DxPopoverModule } from 'devextreme-angular/ui/popover';\r\nimport { NgIf, NgFor } from '@angular/common';\r\n\r\n/**\r\n * Component allows user to enter duration in h:mm format. User may also select no value is this is applicable to the \r\n * use case. A list of pre-defined durations can be provided for easier selection.\r\n * \r\n * The auto resolve function tries to convert entered text into minutes. The algorithm splits entry into two parts \r\n * hours and minutes based on delimiter or if there is none - it takes last two digits as minutes.\r\n *\r\n * @export\r\n * @class SdsDurationBoxComponent\r\n */\r\n@Component({\r\n selector: 'sds-duration-box',\r\n templateUrl: './duration-box.component.html',\r\n styleUrls: ['./duration-box.component.scss'],\r\n standalone: true,\r\n imports: [\r\n DxTextBoxModule,\r\n DxValidatorModule,\r\n DxiValidationRuleModule,\r\n NgIf,\r\n DxiButtonModule,\r\n DxPopoverModule,\r\n DxTemplateModule,\r\n DxScrollViewModule,\r\n NgFor,\r\n SdsDurationFormatPipe,\r\n ],\r\n})\r\nexport class SdsDurationBoxComponent implements OnInit, OnChanges, AfterViewInit {\r\n /**\r\n * Duration length expressed in minutes; when we allow empty values this property can be null.\r\n *\r\n * @type {(number | null)}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() value: number | null = null;\r\n @Output() valueChange = new EventEmitter<number | null>();\r\n\r\n /**\r\n * Allow user to select empty value. You should provide emptyValueText in this case. The emitted value is 'null'.\r\n *\r\n * @type {boolean}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() allowEmptyValue: boolean = true;\r\n\r\n /**\r\n * Text to be displayed when value is cleared\r\n *\r\n * @type {string}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() emptyValueText: string = 'not set';\r\n\r\n /**\r\n * Array of pre-defined durations that will be displayed in dropdown for easier selection.\r\n *\r\n * @type {number[]}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() options?: number[];\r\n \r\n /**\r\n * Width of component. By default 10rem.\r\n *\r\n * @type {string}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() width: string = '10rem';\r\n\r\n /**\r\n * Specifies whether the UI component responds to user interaction.\r\n *\r\n * @type {boolean}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() disabled: boolean = false;\r\n \r\n /**\r\n * Specifies whether to display the Clear button in the UI component.\r\n *\r\n * @type {boolean}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() showClearButton: boolean = false;\r\n\r\n /**\r\n * The maximum value accepted by the duration box.\r\n *\r\n * @type {number}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() max?: number;\r\n\r\n /**\r\n * The minimum value accepted by the duration box.\r\n *\r\n * @type {number}\r\n * @memberof SdsDurationBoxComponent\r\n */ \r\n @Input() min?: number;\r\n\r\n /**\r\n * Specifies how range limits are handled.\r\n *\r\n * @type {('fallbackToLastValue' | 'showValidationError')}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() rangeViolationHandling: DurationBoxRangeViolationHandling = 'autoResolve';\r\n\r\n /**\r\n * Range violation message. Applicable when rangeViolationHandling is set to 'autoResolve'\r\n *\r\n * @type {string}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n @Input() rangeViolationText: string = 'value is outside the valid range';\r\n\r\n /**\r\n * Indicates whether the editor's value is valid.\r\n *\r\n * @type {boolean}\r\n * @memberof SdsDurationBoxComponent\r\n */\r\n public isValid: boolean = true;\r\n\r\n\r\n\r\n // public elementUUID = 'sds-db-' + crypto.randomUUID();\r\n public elementUUID = `sds-db-${Math.ceil(Math.random() * 1000000)}`;\r\n\r\n\r\n public inputValue: string = '';\r\n public showOptions: boolean = false;\r\n \r\n public optionsDropdownButton;\r\n public clearValueButton;\r\n\r\n public isValueEmpty = false;\r\n\r\n\r\n @ViewChild('validationRule', { static: false }) private _validationRule: DxiValidationRuleComponent | undefined;\r\n @ViewChild('validator', { static: false }) private _validator: DxValidatorComponent | undefined;\r\n\r\n private isValueSetInternally = false;\r\n private _durationPipe: SdsDurationFormatPipe;\r\n\r\n constructor(\r\n private _durationInputResolver: DurationService,\r\n ) {\r\n this._durationPipe = new SdsDurationFormatPipe();\r\n \r\n this.optionsDropdownButton = {\r\n icon: 'spindown',\r\n stylingMode: 'text',\r\n \r\n onClick: () => {\r\n this.showOptions = !this.showOptions;\r\n }\r\n }\r\n\r\n this.clearValueButton = {\r\n icon: 'clear',\r\n stylingMode: 'text',\r\n elementAttr: { class: 'sds-durationbox-clear-button' },\r\n onClick: () => {\r\n this.applyOption(null);\r\n }\r\n } \r\n }\r\n ngAfterViewInit(): void {\r\n if (this._validationRule) {\r\n this._validationRule.validationCallback = () => { \r\n return this.checkIfValid() \r\n };\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (\r\n changes['value'] || \r\n changes['min'] || changes['max'] || \r\n changes['rangeViolationHandling'] ||\r\n changes['allowEmptyValue']\r\n ) {\r\n this.validateInputs();\r\n } \r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n public blockNonNumberOrSemicolon(e: any) {\r\n this.isValueSetInternally = false;\r\n }\r\n\r\n public resolveInput() {\r\n if (!this.isValueSetInternally){\r\n if (!this._durationInputResolver.isValidInput(this.inputValue)) {\r\n // we have invalid input. use old value\r\n this.setInputValueInternally(this.value);\r\n this.setValidationStatusAndValidate(true);\r\n } else {\r\n const resolvedValue = this._durationInputResolver.resolve(this.inputValue);\r\n if (resolvedValue === null && this.allowEmptyValue) {\r\n this.setValue(null);\r\n this.setValidationStatusAndValidate(true);\r\n } else if (resolvedValue === null && !this.allowEmptyValue) {\r\n this.setValue(this._durationInputResolver.getDefaultValue());\r\n this.setValidationStatusAndValidate(true);\r\n } else {\r\n // make sure that the value is within the min/max period\r\n if (this._durationInputResolver.isValueWithinLimits(resolvedValue as number, this.min, this.max)) {\r\n this.setValue(resolvedValue);\r\n this.setValidationStatusAndValidate(true);\r\n } else {\r\n // use old value\r\n if (this.rangeViolationHandling === 'autoResolve'){\r\n this.setInputValueInternally(this.value);\r\n this.setValidationStatusAndValidate(true);\r\n } else {\r\n this.setInputValueInternally(resolvedValue);\r\n this.setValidationStatusAndValidate(false);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n public applyOption(value: number | null){\r\n this.showOptions = false;\r\n this.isValueSetInternally = false;\r\n this.setValue(value);\r\n }\r\n\r\n public checkIfValid() {\r\n return this.isValid;\r\n }\r\n\r\n private validateInputs(){\r\n if (this.value === null) {\r\n // handle null input\r\n if (this.allowEmptyValue) {\r\n this.setValue(null);\r\n } else {\r\n this.setValue(this._durationInputResolver.getDefaultValue());\r\n this.inputValue = this._durationPipe.transform(this.value, this.emptyValueText);\r\n }\r\n this.setValidationStatusAndValidate(true);\r\n } else {\r\n // handle value input\r\n if (this._durationInputResolver.isValueWithinLimits(this.value, this.min, this.max)){\r\n this.inputValue = this._durationPipe.transform(this.value, this.emptyValueText);\r\n this.setValidationStatusAndValidate(true);\r\n } else {\r\n // value is out of range\r\n if (this.rangeViolationHandling === 'autoResolve'){\r\n this.setValue(this._durationInputResolver.getDefaultValue(this.min, this.max));\r\n this.inputValue = this._durationPipe.transform(this.value, this.emptyValueText);\r\n this.setValidationStatusAndValidate(true);\r\n } else {\r\n this.inputValue = this._durationPipe.transform(this.value, this.emptyValueText);\r\n this.setValidationStatusAndValidate(false);\r\n }\r\n }\r\n this._validator?.instance.validate();\r\n } \r\n }\r\n\r\n private setValue(value: number | null){\r\n this.isValueEmpty = (value === null);\r\n this.value = value;\r\n this.valueChange.emit(this.value);\r\n this.setInputValueInternally(value);\r\n }\r\n\r\n private setInputValueInternally(value: number | null){\r\n this.isValueSetInternally = true;\r\n setTimeout(() => {\r\n this.inputValue = this._durationPipe.transform(value, this.emptyValueText);\r\n }, 0);\r\n }\r\n\r\n private setValidationStatusAndValidate(isWithinRange: boolean){\r\n this.isValid = (this.rangeViolationHandling === 'autoResolve') || isWithinRange;\r\n this._validator?.instance.validate();\r\n }\r\n\r\n}\r\n","<dx-text-box\r\n #textbox\r\n [id]=\"elementUUID\"\r\n class=\"sds-durationbox\"\r\n [(value)]=\"inputValue\"\r\n (onKeyDown)=\"blockNonNumberOrSemicolon($event)\"\r\n (onChange)=\"resolveInput()\"\r\n [width]=\"width\"\r\n [disabled]=\"disabled\"\r\n >\r\n\r\n <dx-validator \r\n #validator>\r\n <dxi-validation-rule\r\n #validationRule\r\n type=\"custom\"\r\n [message]=\"rangeViolationText\"\r\n [reevaluate]=\"true\"\r\n ></dxi-validation-rule>\r\n </dx-validator>\r\n\r\n <dxi-button\r\n *ngIf=\"allowEmptyValue && showClearButton\"\r\n name=\"clearValue\"\r\n location=\"after\"\r\n [options]=\"clearValueButton\"\r\n ></dxi-button>\r\n \r\n <dxi-button\r\n *ngIf=\"options && options.length > 0\"\r\n name=\"optionsDropdown\"\r\n location=\"after\"\r\n [options]=\"optionsDropdownButton\"\r\n ></dxi-button>\r\n</dx-text-box>\r\n\r\n\r\n<dx-popover\r\n target=\"#{{elementUUID}}\"\r\n [(visible)]=\"showOptions\"\r\n [minWidth]=\"width\"\r\n [hideOnOutsideClick]=\"true\"\r\n [wrapperAttr]=\"{ class: 'sds-durationbox-options-popover' }\"\r\n >\r\n\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <dx-scroll-view>\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"isValueEmpty\"\r\n (click)=\"applyOption(null)\"\r\n > {{ emptyValueText}}\r\n </button>\r\n\r\n <div *ngFor=\"let option of options\">\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"option === value\"\r\n (click)=\"applyOption(option)\"\r\n > {{option | sdsDurationFormat}}\r\n </button>\r\n </div>\r\n </dx-scroll-view>\r\n </div>\r\n</dx-popover>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.DurationService"],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Pipe } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
class SdsDurationFormatPipe {
|
|
5
|
+
transform(value, emptyValueText = '') {
|
|
6
|
+
if (value === null) {
|
|
7
|
+
return emptyValueText;
|
|
8
|
+
}
|
|
9
|
+
else if (typeof value === 'number') {
|
|
10
|
+
const sign = Math.sign(value);
|
|
11
|
+
value = Math.abs(value);
|
|
12
|
+
const hours = Math.floor(value / 60);
|
|
13
|
+
const mins = value % 60;
|
|
14
|
+
return `${sign === -1 ? '-' : ''}${hours.toString().padStart(1, '0')}:${mins.toString().padStart(2, '0')}`;
|
|
15
|
+
}
|
|
16
|
+
return '';
|
|
17
|
+
}
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsDurationFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
19
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: SdsDurationFormatPipe, isStandalone: true, name: "sdsDurationFormat" }); }
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsDurationFormatPipe, decorators: [{
|
|
22
|
+
type: Pipe,
|
|
23
|
+
args: [{
|
|
24
|
+
name: 'sdsDurationFormat',
|
|
25
|
+
standalone: true,
|
|
26
|
+
}]
|
|
27
|
+
}] });
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Generated bundle index. Do not edit.
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
export { SdsDurationFormatPipe };
|
|
34
|
+
//# sourceMappingURL=spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs","sources":["../../../projects/ngx-sds-components/src/lib/duration-pipe/duration-format.pipe.ts","../../../projects/ngx-sds-components/src/lib/duration-pipe/spicainternational-ngx-sds-components-src-lib-duration-pipe.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'sdsDurationFormat',\r\n standalone: true,\r\n})\r\nexport class SdsDurationFormatPipe implements PipeTransform {\r\n transform(value: number | null, emptyValueText: string = ''): string {\r\n if (value === null) {\r\n return emptyValueText;\r\n } else if (typeof value === 'number') {\r\n const sign = Math.sign(value);\r\n value = Math.abs(value);\r\n const hours = Math.floor(value / 60);\r\n const mins = value % 60;\r\n return `${sign === -1 ? '-' : ''}${hours.toString().padStart(1, '0')}:${mins.toString().padStart(2, '0')}`;\r\n }\r\n return '';\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAMa,qBAAqB,CAAA;AAC9B,IAAA,SAAS,CAAC,KAAoB,EAAE,cAAA,GAAyB,EAAE,EAAA;AACvD,QAAA,IAAI,KAAK,KAAK,IAAI,EAAE;AAChB,YAAA,OAAO,cAAc;;AAClB,aAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAC7B,YAAA,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;AACpC,YAAA,MAAM,IAAI,GAAG,KAAK,GAAG,EAAE;AACvB,YAAA,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;;AAE9G,QAAA,OAAO,EAAE;;+GAXJ,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,mBAAA,EAAA,CAAA,CAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,mBAAmB;AACzB,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA;;;ACLD;;AAEG;;;;"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { HostListener, Input, Directive } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
/*
|
|
5
|
+
* Parent must have a fixed width for this directive to work properly.
|
|
6
|
+
* Ellipsis will not appear without a parent width.
|
|
7
|
+
*
|
|
8
|
+
* tooltipText: @Input overrides the element's innerHtml with the provided
|
|
9
|
+
* string variable in the title, used to prevent HTML tags from appearing
|
|
10
|
+
* in the mouseover title. This will override text from an Input node.
|
|
11
|
+
*/
|
|
12
|
+
class SdsEllipsisDirective {
|
|
13
|
+
constructor(elementRef, renderer) {
|
|
14
|
+
this.elementRef = elementRef;
|
|
15
|
+
this.renderer = renderer;
|
|
16
|
+
}
|
|
17
|
+
ngAfterViewInit() {
|
|
18
|
+
this.element = this.elementRef.nativeElement;
|
|
19
|
+
this.renderer.setStyle(this.element, 'display', 'block');
|
|
20
|
+
this.renderer.setStyle(this.element, 'overflow', 'hidden');
|
|
21
|
+
this.renderer.setStyle(this.element, 'textOverflow', 'ellipsis');
|
|
22
|
+
this.renderer.setStyle(this.element, 'whiteSpace', 'nowrap');
|
|
23
|
+
}
|
|
24
|
+
enter() {
|
|
25
|
+
if (this.element && this.element.offsetWidth < this.element.scrollWidth) {
|
|
26
|
+
// this.renderer.setStyle(this.element, 'cursor', 'pointer');
|
|
27
|
+
if (this.tooltipText !== undefined && this.tooltipText.length > 0) {
|
|
28
|
+
this.element.title = this.tooltipText;
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
else if (this.element.nodeName === 'INPUT') {
|
|
32
|
+
this.element.title = this.elementRef?.nativeElement?.value;
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
this.element.title = this.element.innerHTML;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsEllipsisDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
39
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: SdsEllipsisDirective, isStandalone: true, selector: "[sdsEllipsis]", inputs: { tooltipText: "tooltipText" }, host: { listeners: { "mouseenter": "enter()" } }, ngImport: i0 }); }
|
|
40
|
+
}
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsEllipsisDirective, decorators: [{
|
|
42
|
+
type: Directive,
|
|
43
|
+
args: [{
|
|
44
|
+
selector: '[sdsEllipsis]',
|
|
45
|
+
standalone: true,
|
|
46
|
+
}]
|
|
47
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { tooltipText: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}], enter: [{
|
|
50
|
+
type: HostListener,
|
|
51
|
+
args: ['mouseenter']
|
|
52
|
+
}] } });
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Generated bundle index. Do not edit.
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
export { SdsEllipsisDirective };
|
|
59
|
+
//# sourceMappingURL=spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-ellipsis.mjs","sources":["../../../projects/ngx-sds-components/src/lib/ellipsis/directives/ellipsis.directive.ts","../../../projects/ngx-sds-components/src/lib/ellipsis/spicainternational-ngx-sds-components-src-lib-ellipsis.ts"],"sourcesContent":["import { AfterViewInit, Directive, ElementRef, HostListener, Input, Renderer2 } from '@angular/core';\r\n\r\n/*\r\n * Parent must have a fixed width for this directive to work properly.\r\n * Ellipsis will not appear without a parent width.\r\n *\r\n * tooltipText: @Input overrides the element's innerHtml with the provided\r\n * string variable in the title, used to prevent HTML tags from appearing\r\n * in the mouseover title. This will override text from an Input node.\r\n */\r\n@Directive({\r\n selector: '[sdsEllipsis]',\r\n standalone: true,\r\n})\r\nexport class SdsEllipsisDirective implements AfterViewInit {\r\n @Input() public tooltipText?: string;\r\n\r\n private element?: HTMLElement;\r\n\r\n public constructor(\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n public ngAfterViewInit(): void {\r\n this.element = this.elementRef.nativeElement;\r\n this.renderer.setStyle(this.element, 'display', 'block');\r\n this.renderer.setStyle(this.element, 'overflow', 'hidden');\r\n this.renderer.setStyle(this.element, 'textOverflow', 'ellipsis');\r\n this.renderer.setStyle(this.element, 'whiteSpace', 'nowrap');\r\n }\r\n\r\n @HostListener('mouseenter') public enter(): void {\r\n if (this.element && this.element.offsetWidth < this.element.scrollWidth) {\r\n // this.renderer.setStyle(this.element, 'cursor', 'pointer');\r\n\r\n if (this.tooltipText !== undefined && this.tooltipText.length > 0) {\r\n this.element.title = this.tooltipText;\r\n return;\r\n } else if (this.element.nodeName === 'INPUT') {\r\n this.element.title = this.elementRef?.nativeElement?.value;\r\n return;\r\n }\r\n this.element.title = this.element.innerHTML;\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAEA;;;;;;;AAOG;MAKU,oBAAoB,CAAA;IAK7B,WACY,CAAA,UAAsB,EACtB,QAAmB,EAAA;QADnB,IAAU,CAAA,UAAA,GAAV,UAAU;QACV,IAAQ,CAAA,QAAA,GAAR,QAAQ;;IAGb,eAAe,GAAA;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa;AAC5C,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC;AACxD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC;AAC1D,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,CAAC;AAChE,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC;;IAG7B,KAAK,GAAA;AACpC,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;;AAGrE,YAAA,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/D,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW;gBACrC;;iBACG,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;AAC1C,gBAAA,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK;gBAC1D;;YAEJ,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;;;+GA7B1C,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA;uGAEmB,WAAW,EAAA,CAAA;sBAA1B;gBAiBkC,KAAK,EAAA,CAAA;sBAAvC,YAAY;uBAAC,YAAY;;;AChC9B;;AAEG;;;;"}
|