@spicainternational/ngx-sds-components 5.33.2 → 6.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/src/lib/app-switcher/app-switcher.component.mjs +8 -10
- package/esm2020/src/lib/app-switcher/app-switcher.module.mjs +7 -13
- package/esm2020/src/lib/avatar/avatar-group.component.mjs +6 -6
- package/esm2020/src/lib/avatar/avatar.component.mjs +4 -4
- package/esm2020/src/lib/avatar/avatar.module.mjs +7 -9
- package/esm2020/src/lib/badge/badge.directive.mjs +7 -6
- package/esm2020/src/lib/badge/badge.module.mjs +5 -7
- package/esm2020/src/lib/badge/components/badge.component.mjs +12 -12
- package/esm2020/src/lib/callout/callout.component.mjs +5 -5
- package/esm2020/src/lib/callout/callout.module.mjs +5 -7
- package/esm2020/src/lib/color-picker/color-picker.component.mjs +8 -8
- package/esm2020/src/lib/color-picker/color-picker.module.mjs +7 -9
- package/esm2020/src/lib/date-picker/date-picker.component.mjs +8 -8
- package/esm2020/src/lib/date-picker/date-picker.module.mjs +14 -16
- package/esm2020/src/lib/date-picker/sds-date-picker.service.mjs +4 -4
- package/esm2020/src/lib/date-pipes/date-format.pipe.mjs +4 -4
- package/esm2020/src/lib/date-pipes/date-period-format.pipe.mjs +4 -4
- package/esm2020/src/lib/date-pipes/date-pipes.module.mjs +5 -7
- package/esm2020/src/lib/duration-box/duration-box.component.mjs +8 -8
- package/esm2020/src/lib/duration-box/duration-box.module.mjs +10 -12
- package/esm2020/src/lib/duration-box/duration.service.mjs +4 -4
- package/esm2020/src/lib/duration-pipe/duration-format.pipe.mjs +4 -4
- package/esm2020/src/lib/duration-pipe/duration-pipe.module.mjs +5 -5
- package/esm2020/src/lib/ellipsis/directives/ellipsis.directive.mjs +4 -4
- package/esm2020/src/lib/ellipsis/ellipsis.module.mjs +5 -7
- package/esm2020/src/lib/expansion-panel/expansion-panel.component.mjs +7 -7
- package/esm2020/src/lib/expansion-panel/expansion-panel.module.mjs +5 -5
- package/esm2020/src/lib/highlight-text/directives/highlight-text.directive.mjs +12 -12
- package/esm2020/src/lib/highlight-text/highlight-text.module.mjs +5 -7
- package/esm2020/src/lib/highlight-text/pipes/highlight-text.pipe.mjs +4 -4
- package/esm2020/src/lib/intersection/directives/intersection.directive.mjs +13 -13
- package/esm2020/src/lib/intersection/intersection.module.mjs +5 -7
- package/esm2020/src/lib/intersection/services/intersection.service.mjs +4 -4
- package/esm2020/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.mjs +4 -4
- package/esm2020/src/lib/keyboard-shortcut/keyboard-shortcut.module.mjs +5 -7
- package/esm2020/src/lib/layout/default-layout/default-layout.component.mjs +5 -5
- package/esm2020/src/lib/layout/extra-large-layout/extra-large-layout.component.mjs +5 -5
- package/esm2020/src/lib/layout/fluid-layout/fluid-layout.component.mjs +5 -5
- package/esm2020/src/lib/layout/layout.module.mjs +6 -8
- package/esm2020/src/lib/layout/medium-layout/medium-layout.component.mjs +5 -5
- package/esm2020/src/lib/layout/small-layout/small-layout.component.mjs +5 -5
- package/esm2020/src/lib/message/message.component.mjs +7 -7
- package/esm2020/src/lib/message/message.module.mjs +6 -8
- package/esm2020/src/lib/modal/dialog/dialog.component.mjs +7 -7
- package/esm2020/src/lib/modal/modal.component.mjs +7 -7
- package/esm2020/src/lib/modal/modal.module.mjs +7 -9
- package/esm2020/src/lib/navigation/navigation-container/navigation-container.component.mjs +4 -4
- package/esm2020/src/lib/navigation/navigation-external-link/navigation-external-link.component.mjs +7 -7
- package/esm2020/src/lib/navigation/navigation-group/navigation-group.component.mjs +13 -13
- package/esm2020/src/lib/navigation/navigation-header/navigation-header.component.mjs +5 -5
- package/esm2020/src/lib/navigation/navigation-route-link/navigation-route-link.component.mjs +7 -7
- package/esm2020/src/lib/navigation/navigation-separator/navigation-separator.component.mjs +5 -5
- package/esm2020/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.mjs +8 -8
- package/esm2020/src/lib/navigation/navigation.module.mjs +10 -12
- package/esm2020/src/lib/navigation/pipes/navigation-route-active.pipe.mjs +5 -6
- package/esm2020/src/lib/navigation/product-home/product-home.component.mjs +6 -6
- package/esm2020/src/lib/number-box/number-box.component.mjs +6 -8
- package/esm2020/src/lib/number-box/number-box.module.mjs +6 -8
- package/esm2020/src/lib/page-header/page-header.component.mjs +5 -5
- package/esm2020/src/lib/page-header/page-header.module.mjs +5 -5
- package/esm2020/src/lib/pane/pane.component.mjs +7 -7
- package/esm2020/src/lib/pane/pane.module.mjs +6 -8
- package/esm2020/src/lib/quick-info/quick-info.component.mjs +7 -7
- package/esm2020/src/lib/quick-info/quick-info.module.mjs +7 -9
- package/esm2020/src/lib/segmented-control/segmented-control.component.mjs +5 -5
- package/esm2020/src/lib/segmented-control/segmented-control.module.mjs +5 -7
- package/esm2020/src/lib/side-bar/side-bar.component.mjs +7 -13
- package/esm2020/src/lib/side-bar/side-bar.module.mjs +5 -7
- package/esm2020/src/lib/static-value/static-value.component.mjs +7 -7
- package/esm2020/src/lib/static-value/static-value.module.mjs +6 -8
- package/esm2020/src/lib/table-actions/table-actions.component.mjs +5 -5
- package/esm2020/src/lib/table-actions/table-actions.module.mjs +7 -9
- package/esm2020/src/lib/timeline/components/timeline.component.mjs +5 -5
- package/esm2020/src/lib/timeline/timeline.module.mjs +5 -7
- package/esm2020/src/lib/timer/services/timer.service.mjs +4 -4
- package/esm2020/src/lib/timer/timer.module.mjs +10 -12
- package/esm2020/src/lib/tooltip/components/tooltip.component.mjs +7 -7
- package/esm2020/src/lib/tooltip/tooltip.directive.mjs +4 -4
- package/esm2020/src/lib/tooltip/tooltip.module.mjs +6 -8
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +13 -21
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-avatar.mjs +13 -15
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-badge.mjs +21 -22
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-callout.mjs +8 -10
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +13 -15
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +23 -25
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +10 -12
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +19 -21
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +7 -7
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +7 -9
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +10 -10
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs +18 -20
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-intersection.mjs +19 -21
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +7 -9
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-layout.mjs +25 -27
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-message.mjs +11 -13
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-message.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-modal.mjs +16 -18
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs +56 -59
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-number-box.mjs +10 -14
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-page-header.mjs +8 -8
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-pane.mjs +11 -13
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +12 -14
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +8 -10
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +10 -18
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-static-value.mjs +11 -13
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +10 -12
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-timeline.mjs +8 -10
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-timer.mjs +12 -14
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +14 -16
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +13 -21
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-avatar.mjs +13 -15
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-badge.mjs +21 -22
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-callout.mjs +8 -10
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +13 -15
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +23 -25
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs +10 -12
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +19 -21
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +7 -7
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +7 -9
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +10 -10
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs +18 -20
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-intersection.mjs +19 -21
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +7 -9
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-layout.mjs +25 -27
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-message.mjs +11 -13
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-message.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-modal.mjs +16 -18
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs +56 -59
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-number-box.mjs +10 -14
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-page-header.mjs +8 -8
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-pane.mjs +11 -13
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +12 -14
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +8 -10
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +10 -18
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-static-value.mjs +11 -13
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +10 -12
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-timeline.mjs +8 -10
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-timer.mjs +12 -14
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +14 -16
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +1 -1
- package/package.json +39 -39
- package/src/lib/app-switcher/app-switcher.component.d.ts +1 -2
- package/src/lib/app-switcher/app-switcher.module.d.ts +3 -4
- package/src/lib/avatar/avatar-group.component.d.ts +1 -1
- package/src/lib/avatar/avatar.component.d.ts +1 -1
- package/src/lib/badge/badge.directive.d.ts +1 -1
- package/src/lib/badge/badge.types.d.ts +2 -2
- package/src/lib/badge/components/badge.component.d.ts +1 -1
- package/src/lib/callout/callout.component.d.ts +1 -1
- package/src/lib/color-picker/color-picker.component.d.ts +1 -1
- package/src/lib/date-picker/date-picker.component.d.ts +1 -1
- package/src/lib/date-pipes/date-format.pipe.d.ts +1 -1
- package/src/lib/date-pipes/date-period-format.pipe.d.ts +1 -1
- package/src/lib/duration-box/duration-box.component.d.ts +1 -1
- package/src/lib/duration-box/duration-box.types.d.ts +1 -1
- package/src/lib/duration-pipe/duration-format.pipe.d.ts +1 -1
- package/src/lib/ellipsis/directives/ellipsis.directive.d.ts +1 -1
- package/src/lib/expansion-panel/expansion-panel.component.d.ts +2 -2
- package/src/lib/expansion-panel/expansion-panel.types.d.ts +1 -1
- package/src/lib/highlight-text/directives/highlight-text.directive.d.ts +1 -1
- package/src/lib/highlight-text/pipes/highlight-text.pipe.d.ts +1 -1
- package/src/lib/highlight-text/utils/highlight-text.utils.d.ts +1 -1
- package/src/lib/intersection/directives/intersection.directive.d.ts +1 -1
- package/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.d.ts +1 -1
- package/src/lib/layout/default-layout/default-layout.component.d.ts +1 -1
- package/src/lib/layout/extra-large-layout/extra-large-layout.component.d.ts +1 -1
- package/src/lib/layout/fluid-layout/fluid-layout.component.d.ts +1 -1
- package/src/lib/layout/medium-layout/medium-layout.component.d.ts +1 -1
- package/src/lib/layout/small-layout/small-layout.component.d.ts +1 -1
- package/src/lib/message/message.component.d.ts +1 -1
- package/src/lib/modal/dialog/dialog.component.d.ts +2 -2
- package/src/lib/modal/dialog/dialog.types.d.ts +1 -1
- package/src/lib/modal/modal.component.d.ts +1 -1
- package/src/lib/navigation/navigation-container/navigation-container.component.d.ts +1 -1
- package/src/lib/navigation/navigation-external-link/navigation-external-link.component.d.ts +1 -1
- package/src/lib/navigation/navigation-group/navigation-group.component.d.ts +1 -1
- package/src/lib/navigation/navigation-header/navigation-header.component.d.ts +1 -1
- package/src/lib/navigation/navigation-route-link/navigation-route-link.component.d.ts +1 -1
- package/src/lib/navigation/navigation-separator/navigation-separator.component.d.ts +1 -1
- package/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.d.ts +1 -1
- package/src/lib/navigation/pipes/navigation-route-active.pipe.d.ts +1 -1
- package/src/lib/navigation/product-home/product-home.component.d.ts +1 -1
- package/src/lib/number-box/number-box.component.d.ts +1 -1
- package/src/lib/page-header/page-header.component.d.ts +1 -1
- package/src/lib/pane/pane.component.d.ts +1 -1
- package/src/lib/quick-info/quick-info.component.d.ts +1 -1
- package/src/lib/segmented-control/segmented-control.component.d.ts +1 -1
- package/src/lib/side-bar/side-bar.component.d.ts +2 -3
- package/src/lib/static-value/static-value.component.d.ts +1 -1
- package/src/lib/table-actions/table-actions.component.d.ts +1 -1
- package/src/lib/timeline/components/timeline.component.d.ts +1 -1
- package/src/lib/timeline/types/timeline.types.d.ts +1 -1
- package/src/lib/tooltip/components/tooltip.component.d.ts +1 -1
- package/src/lib/tooltip/tooltip.directive.d.ts +1 -1
- package/src/lib/tooltip/tooltip.types.d.ts +2 -2
- package/src/lib/app-switcher/package.json +0 -10
- package/src/lib/avatar/package.json +0 -10
- package/src/lib/badge/package.json +0 -10
- package/src/lib/callout/package.json +0 -10
- package/src/lib/color-picker/package.json +0 -10
- package/src/lib/date-picker/package.json +0 -10
- package/src/lib/date-pipes/package.json +0 -10
- package/src/lib/duration-box/package.json +0 -10
- package/src/lib/duration-pipe/package.json +0 -10
- package/src/lib/ellipsis/package.json +0 -10
- package/src/lib/expansion-panel/package.json +0 -10
- package/src/lib/highlight-text/package.json +0 -10
- package/src/lib/intersection/package.json +0 -10
- package/src/lib/keyboard-shortcut/package.json +0 -10
- package/src/lib/layout/package.json +0 -10
- package/src/lib/message/package.json +0 -10
- package/src/lib/modal/package.json +0 -10
- package/src/lib/navigation/package.json +0 -10
- package/src/lib/number-box/package.json +0 -10
- package/src/lib/page-header/package.json +0 -10
- package/src/lib/pane/package.json +0 -10
- package/src/lib/quick-info/package.json +0 -10
- package/src/lib/segmented-control/package.json +0 -10
- package/src/lib/side-bar/package.json +0 -10
- package/src/lib/static-value/package.json +0 -10
- package/src/lib/table-actions/package.json +0 -10
- package/src/lib/timeline/package.json +0 -10
- package/src/lib/timer/package.json +0 -10
- package/src/lib/tooltip/package.json +0 -10
- /package/{spicainternational-ngx-sds-components.d.ts → index.d.ts} +0 -0
- /package/src/lib/app-switcher/{spicainternational-ngx-sds-components-src-lib-app-switcher.d.ts → index.d.ts} +0 -0
- /package/src/lib/avatar/{spicainternational-ngx-sds-components-src-lib-avatar.d.ts → index.d.ts} +0 -0
- /package/src/lib/badge/{spicainternational-ngx-sds-components-src-lib-badge.d.ts → index.d.ts} +0 -0
- /package/src/lib/callout/{spicainternational-ngx-sds-components-src-lib-callout.d.ts → index.d.ts} +0 -0
- /package/src/lib/color-picker/{spicainternational-ngx-sds-components-src-lib-color-picker.d.ts → index.d.ts} +0 -0
- /package/src/lib/date-picker/{spicainternational-ngx-sds-components-src-lib-date-picker.d.ts → index.d.ts} +0 -0
- /package/src/lib/date-pipes/{spicainternational-ngx-sds-components-src-lib-date-pipes.d.ts → index.d.ts} +0 -0
- /package/src/lib/duration-box/{spicainternational-ngx-sds-components-src-lib-duration-box.d.ts → index.d.ts} +0 -0
- /package/src/lib/duration-pipe/{spicainternational-ngx-sds-components-src-lib-duration-pipe.d.ts → index.d.ts} +0 -0
- /package/src/lib/ellipsis/{spicainternational-ngx-sds-components-src-lib-ellipsis.d.ts → index.d.ts} +0 -0
- /package/src/lib/expansion-panel/{spicainternational-ngx-sds-components-src-lib-expansion-panel.d.ts → index.d.ts} +0 -0
- /package/src/lib/highlight-text/{spicainternational-ngx-sds-components-src-lib-highlight-text.d.ts → index.d.ts} +0 -0
- /package/src/lib/intersection/{spicainternational-ngx-sds-components-src-lib-intersection.d.ts → index.d.ts} +0 -0
- /package/src/lib/keyboard-shortcut/{spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.d.ts → index.d.ts} +0 -0
- /package/src/lib/layout/{spicainternational-ngx-sds-components-src-lib-layout.d.ts → index.d.ts} +0 -0
- /package/src/lib/message/{spicainternational-ngx-sds-components-src-lib-message.d.ts → index.d.ts} +0 -0
- /package/src/lib/modal/{spicainternational-ngx-sds-components-src-lib-modal.d.ts → index.d.ts} +0 -0
- /package/src/lib/navigation/{spicainternational-ngx-sds-components-src-lib-navigation.d.ts → index.d.ts} +0 -0
- /package/src/lib/number-box/{spicainternational-ngx-sds-components-src-lib-number-box.d.ts → index.d.ts} +0 -0
- /package/src/lib/page-header/{spicainternational-ngx-sds-components-src-lib-page-header.d.ts → index.d.ts} +0 -0
- /package/src/lib/pane/{spicainternational-ngx-sds-components-src-lib-pane.d.ts → index.d.ts} +0 -0
- /package/src/lib/quick-info/{spicainternational-ngx-sds-components-src-lib-quick-info.d.ts → index.d.ts} +0 -0
- /package/src/lib/segmented-control/{spicainternational-ngx-sds-components-src-lib-segmented-control.d.ts → index.d.ts} +0 -0
- /package/src/lib/side-bar/{spicainternational-ngx-sds-components-src-lib-side-bar.d.ts → index.d.ts} +0 -0
- /package/src/lib/static-value/{spicainternational-ngx-sds-components-src-lib-static-value.d.ts → index.d.ts} +0 -0
- /package/src/lib/table-actions/{spicainternational-ngx-sds-components-src-lib-table-actions.d.ts → index.d.ts} +0 -0
- /package/src/lib/timeline/{spicainternational-ngx-sds-components-src-lib-timeline.d.ts → index.d.ts} +0 -0
- /package/src/lib/timer/{spicainternational-ngx-sds-components-src-lib-timer.d.ts → index.d.ts} +0 -0
- /package/src/lib/tooltip/{spicainternational-ngx-sds-components-src-lib-tooltip.d.ts → index.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-timer.mjs","sources":["../../../projects/ngx-sds-components/src/lib/timer/utils/timer.utils.ts","../../../projects/ngx-sds-components/src/lib/timer/services/timer.service.ts","../../../projects/ngx-sds-components/src/lib/timer/timer.module.ts","../../../projects/ngx-sds-components/src/lib/timer/spicainternational-ngx-sds-components-src-lib-timer.ts"],"sourcesContent":["/**\r\n * @public @function timeToNextFifteenMinutesInterval\r\n * @description\r\n * Function responsible for calc of time until next fifteen minutes interval. By fifteen minutes interval\r\n * we mean (e.g. 08:15, 08:30, 08:45,...)\r\n * @param { number } currentTimestampMs\r\n * @returns { number }\r\n */\r\nexport const timeToNextFifteenMinutesInterval = (currentTimestamp: number) => {\r\n const timestampSeconds = currentTimestamp / 1000;\r\n\r\n const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 900;\r\n\r\n const numberOfSecondsToTheNextInterval = 900 - numberOfSecondsIntoTheCurrentInterval;\r\n return numberOfSecondsToTheNextInterval;\r\n}\r\n\r\n/**\r\n * @public @function timeToNextFiveMinutesInterval\r\n * @description\r\n * Function responsible for calc of time until next five minutes interval. By five minutes interval\r\n * we mean (e.g. 08:05, 08:10, 08:15,...)\r\n * @param { number } currentTimestampMs\r\n * @returns { number }\r\n */\r\nexport const timeToNextFiveMinutesInterval = (currentTimestamp: number) => {\r\n const timestampSeconds = currentTimestamp / 1000;\r\n\r\n const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 300;\r\n\r\n const numberOfSecondsToTheNextInterval = 300 - numberOfSecondsIntoTheCurrentInterval;\r\n return numberOfSecondsToTheNextInterval;\r\n}\r\n\r\n/**\r\n * @public @function timeToNextHour\r\n * @description\r\n * Function responsible for calc of time until next hour\r\n * @param { number } currentTimestampMs\r\n * @returns { number }\r\n */\r\nexport const timeToNextHour = (currentTimestamp: number) => {\r\n const timestampSeconds = currentTimestamp / 1000;\r\n\r\n const numberOfSecondsIntoTheCurrentHour = timestampSeconds % 3600;\r\n\r\n const numberOfSecondsToTheNextHour = 3600 - numberOfSecondsIntoTheCurrentHour;\r\n return numberOfSecondsToTheNextHour;\r\n };\r\n\r\n /**\r\n * @public @function timeToNextHalfHour\r\n * @description\r\n * Function responsible for calc of time until half hour\r\n * @param { number } currentTimestampMs\r\n * @returns { number }\r\n */\r\nexport const timeToNextHalfHour = (currentTimestamp: number) => {\r\n const timestampSeconds = currentTimestamp / 1000;\r\n\r\n const numberOfSecondsIntoTheCurrentHalfHour = timestampSeconds % 1800;\r\n\r\n const numberOfSecondsToTheNextHalfHour = 1800 - numberOfSecondsIntoTheCurrentHalfHour;\r\n return numberOfSecondsToTheNextHalfHour;\r\n };\r\n\r\n/**\r\n * @public @function timeToNextMinuteInterval\r\n * @description\r\n * Function responsible for calc of time until next minute interval. By minute interval\r\n * we mean (e.g. 08:00, 08:01, 08:02,...)\r\n * @param { number } currentTimestampMs\r\n * @returns { number }\r\n */\r\nexport const timeToNextMinuteInterval = (currentTimestamp: number) => {\r\n const timestampSeconds = currentTimestamp / 1000;\r\n\r\n const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 60;\r\n\r\n const numberOfSecondsToTheNextInterval = 60 - numberOfSecondsIntoTheCurrentInterval;\r\n return numberOfSecondsToTheNextInterval;\r\n}\r\n\r\n/**\r\n * @public @function timeToNextSecondInterval\r\n * @description\r\n * Function responsible for calc of time until next second interval. By second interval\r\n * we mean (e.g. 08:00:01, 08:00:01, 08:00:02,...)\r\n * @param { number } currentTimestampMs\r\n * @returns { number }\r\n */\r\nexport const timeToNextSecondInterval = (currentTimestamp: number) => {\r\n const timestampSeconds = currentTimestamp;\r\n\r\n const numberOfMilisecSecondsIntoTheCurrentInterval = timestampSeconds % 999;\r\n\r\n const numberOfMilisecondsSecondsToTheNextInterval = 999 - numberOfMilisecSecondsIntoTheCurrentInterval;\r\n return numberOfMilisecondsSecondsToTheNextInterval;\r\n}\r\n\r\n/**\r\n * @public @function timeToNextTenMinutesInterval\r\n * @description\r\n * Function responsible for calc of time until next ten minutes interval. By ten minutes interval\r\n * we mean (e.g. 08:10, 08:20, 08:30,...)\r\n * @param { number } currentTimestampMs\r\n * @returns { number }\r\n */\r\nexport const timeToNextTenMinutesInterval = (currentTimestamp: number) => {\r\n const timestampSeconds = currentTimestamp / 1000;\r\n\r\n const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 600;\r\n\r\n const numberOfSecondsToTheNextInterval = 600 - numberOfSecondsIntoTheCurrentInterval;\r\n return numberOfSecondsToTheNextInterval;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, Subscription, interval } from 'rxjs';\r\nimport { timeToNextFifteenMinutesInterval, timeToNextFiveMinutesInterval, timeToNextHalfHour, timeToNextHour, timeToNextMinuteInterval, timeToNextSecondInterval, timeToNextTenMinutesInterval } from '../utils';\r\nimport { debounceTime, skip } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TimerService {\r\n /**\r\n * @description\r\n * Timer emitted every 15 minutes (e.g. 08:00, 08:15, 08:30, etc.)\r\n */\r\n public fifteenMinutesInterval$: Observable<void>;\r\n\r\n /**\r\n * @description\r\n * Timer emitted every 5 minutes (e.g. 08:00, 08:05, 08:10, etc.)\r\n */\r\n public fiveMinutesInterval$: Observable<void>;\r\n\r\n /**\r\n * @description\r\n * Timer that invokes each full hour\r\n */\r\n public fullHourInterval$: Observable<void>;\r\n\r\n /**\r\n * @description\r\n * Timer emitted every 30 minutes at full and half hour (e.g. at 10:00, 10:30, 11:00, etc.)\r\n */\r\n public halfHourInterval$: Observable<void>;\r\n\r\n /**\r\n * @description\r\n * Timer emitted every minute (e.g. 08:00, 08:01, 08:02, etc.)\r\n */\r\n public minuteInterval$: Observable<void>;\r\n\r\n /**\r\n * @description\r\n * Timer emitted every second\r\n */\r\n public secondsInterval$: Observable<void>;\r\n\r\n /**\r\n * @description\r\n * Timer emitted every 10 minutes (e.g. 08:00, 08:10, 08:20, etc.)\r\n */\r\n public tenMinutesInterval$: Observable<void>;\r\n\r\n /**\r\n * @description\r\n * Source for fifteen minute interval\r\n */\r\n private _fifteenMinutesInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined)\r\n\r\n /**\r\n * @description\r\n * Source for five minute interval\r\n */\r\n private _fiveMinutesInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined)\r\n\r\n /**\r\n * @description\r\n * Source for half hour interval\r\n */\r\n private _fullHourInterval: BehaviorSubject<void> = new BehaviorSubject<void>(\r\n undefined\r\n );\r\n\r\n /**\r\n * @description\r\n * Source for half hour interval\r\n */\r\n private _halfHourInterval: BehaviorSubject<void> = new BehaviorSubject<void>(\r\n undefined\r\n );\r\n\r\n /**\r\n * @description\r\n * Source for minute interval\r\n */\r\n private _minuteInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined)\r\n\r\n /**\r\n * @description\r\n * Source for secong interval\r\n */\r\n private _secondsInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined);\r\n\r\n /**\r\n * @description\r\n * Source for ten minutes interval\r\n */\r\n private _tenMinutesInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined)\r\n\r\n private _subscriptions: Subscription[] = [];\r\n\r\nconstructor() {\r\n this.fifteenMinutesInterval$ = this._fifteenMinutesInterval.asObservable().pipe(skip(1));\r\n this.fiveMinutesInterval$ = this._fiveMinutesInterval.asObservable().pipe(skip(1));\r\n this.fullHourInterval$ = this._fullHourInterval.asObservable().pipe(skip(1));\r\n this.halfHourInterval$ = this._halfHourInterval.asObservable().pipe(skip(1));\r\n this.minuteInterval$ = this._minuteInterval.asObservable().pipe().pipe(skip(1));\r\n this.secondsInterval$ = this._secondsInterval.asObservable().pipe(skip(1));\r\n this.tenMinutesInterval$ = this._tenMinutesInterval.asObservable().pipe(skip(1));\r\n\r\n const timeOffsetToFullSecond = timeToNextSecondInterval(new Date().getTime())\r\n\r\n // This observable will invoke each second while app is running\r\n const ticksSubscription: Subscription = interval(1000).pipe(debounceTime(timeOffsetToFullSecond)).subscribe(\r\n intervalTick => {\r\n const now = new Date().getTime();\r\n\r\n const timeRemainingToNextMinuteInterval = timeToNextMinuteInterval(now);\r\n\r\n const timeRemaingingToNextFiveMinutesInterval = timeToNextFiveMinutesInterval(now);\r\n\r\n const timeRemainingToNextTenMinutesInterval = timeToNextTenMinutesInterval(now);\r\n\r\n const timeRemainingToNextFifteenMinutesInterval = timeToNextFifteenMinutesInterval(now);\r\n\r\n const timeRemainingToNextFullHour = timeToNextHour(\r\n now\r\n );\r\n\r\n const timeRemainingToNextHalfHour = timeToNextHalfHour(\r\n now\r\n );\r\n\r\n this._secondsInterval.next();\r\n\r\n // Check if its minute tick\r\n if (timeRemainingToNextMinuteInterval > 59) {\r\n this._minuteInterval.next();\r\n }\r\n\r\n // Check if its five minute interval tick\r\n if (timeRemaingingToNextFiveMinutesInterval > 299) {\r\n this._fiveMinutesInterval.next();\r\n }\r\n\r\n // Check if its ten minute interval\r\n if (timeRemainingToNextTenMinutesInterval > 599) {\r\n this._tenMinutesInterval.next();\r\n }\r\n\r\n // Check if its fifteen minute interval\r\n if (timeRemainingToNextFifteenMinutesInterval > 899) {\r\n this._fifteenMinutesInterval.next();\r\n }\r\n\r\n // Check if its half hour tick\r\n if (timeRemainingToNextHalfHour > 1799) {\r\n this._halfHourInterval.next();\r\n }\r\n\r\n // Check if its full hour tick\r\n if (timeRemainingToNextFullHour > 3599) {\r\n this._fullHourInterval.next();\r\n }\r\n\r\n // Define any additional intervals that might be needed\r\n }\r\n );\r\n\r\n this._subscriptions.push(ticksSubscription);\r\n}\r\n}\r\n","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TimerService } from './services';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class SdsTimerModule {\r\n static forRoot(): ModuleWithProviders<SdsTimerModule> {\r\n return {\r\n ngModule: SdsTimerModule,\r\n providers: [TimerService]\r\n }\r\n }\r\n\r\n constructor(@Optional() @SkipSelf() parentModule: SdsTimerModule) {\r\n if (parentModule) {\r\n throw new Error(\r\n 'TimerModule is already loaded. Import it in the AppModule only'\r\n );\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-timer.mjs","sources":["../../../projects/ngx-sds-components/src/lib/timer/utils/timer.utils.ts","../../../projects/ngx-sds-components/src/lib/timer/services/timer.service.ts","../../../projects/ngx-sds-components/src/lib/timer/timer.module.ts","../../../projects/ngx-sds-components/src/lib/timer/spicainternational-ngx-sds-components-src-lib-timer.ts"],"sourcesContent":["/**\r\n * @public @function timeToNextFifteenMinutesInterval\r\n * @description\r\n * Function responsible for calc of time until next fifteen minutes interval. By fifteen minutes interval\r\n * we mean (e.g. 08:15, 08:30, 08:45,...)\r\n * @param { number } currentTimestampMs\r\n * @returns { number }\r\n */\r\nexport const timeToNextFifteenMinutesInterval = (currentTimestamp: number) => {\r\n const timestampSeconds = currentTimestamp / 1000;\r\n\r\n const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 900;\r\n\r\n const numberOfSecondsToTheNextInterval = 900 - numberOfSecondsIntoTheCurrentInterval;\r\n return numberOfSecondsToTheNextInterval;\r\n}\r\n\r\n/**\r\n * @public @function timeToNextFiveMinutesInterval\r\n * @description\r\n * Function responsible for calc of time until next five minutes interval. By five minutes interval\r\n * we mean (e.g. 08:05, 08:10, 08:15,...)\r\n * @param { number } currentTimestampMs\r\n * @returns { number }\r\n */\r\nexport const timeToNextFiveMinutesInterval = (currentTimestamp: number) => {\r\n const timestampSeconds = currentTimestamp / 1000;\r\n\r\n const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 300;\r\n\r\n const numberOfSecondsToTheNextInterval = 300 - numberOfSecondsIntoTheCurrentInterval;\r\n return numberOfSecondsToTheNextInterval;\r\n}\r\n\r\n/**\r\n * @public @function timeToNextHour\r\n * @description\r\n * Function responsible for calc of time until next hour\r\n * @param { number } currentTimestampMs\r\n * @returns { number }\r\n */\r\nexport const timeToNextHour = (currentTimestamp: number) => {\r\n const timestampSeconds = currentTimestamp / 1000;\r\n\r\n const numberOfSecondsIntoTheCurrentHour = timestampSeconds % 3600;\r\n\r\n const numberOfSecondsToTheNextHour = 3600 - numberOfSecondsIntoTheCurrentHour;\r\n return numberOfSecondsToTheNextHour;\r\n };\r\n\r\n /**\r\n * @public @function timeToNextHalfHour\r\n * @description\r\n * Function responsible for calc of time until half hour\r\n * @param { number } currentTimestampMs\r\n * @returns { number }\r\n */\r\nexport const timeToNextHalfHour = (currentTimestamp: number) => {\r\n const timestampSeconds = currentTimestamp / 1000;\r\n\r\n const numberOfSecondsIntoTheCurrentHalfHour = timestampSeconds % 1800;\r\n\r\n const numberOfSecondsToTheNextHalfHour = 1800 - numberOfSecondsIntoTheCurrentHalfHour;\r\n return numberOfSecondsToTheNextHalfHour;\r\n };\r\n\r\n/**\r\n * @public @function timeToNextMinuteInterval\r\n * @description\r\n * Function responsible for calc of time until next minute interval. By minute interval\r\n * we mean (e.g. 08:00, 08:01, 08:02,...)\r\n * @param { number } currentTimestampMs\r\n * @returns { number }\r\n */\r\nexport const timeToNextMinuteInterval = (currentTimestamp: number) => {\r\n const timestampSeconds = currentTimestamp / 1000;\r\n\r\n const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 60;\r\n\r\n const numberOfSecondsToTheNextInterval = 60 - numberOfSecondsIntoTheCurrentInterval;\r\n return numberOfSecondsToTheNextInterval;\r\n}\r\n\r\n/**\r\n * @public @function timeToNextSecondInterval\r\n * @description\r\n * Function responsible for calc of time until next second interval. By second interval\r\n * we mean (e.g. 08:00:01, 08:00:01, 08:00:02,...)\r\n * @param { number } currentTimestampMs\r\n * @returns { number }\r\n */\r\nexport const timeToNextSecondInterval = (currentTimestamp: number) => {\r\n const timestampSeconds = currentTimestamp;\r\n\r\n const numberOfMilisecSecondsIntoTheCurrentInterval = timestampSeconds % 999;\r\n\r\n const numberOfMilisecondsSecondsToTheNextInterval = 999 - numberOfMilisecSecondsIntoTheCurrentInterval;\r\n return numberOfMilisecondsSecondsToTheNextInterval;\r\n}\r\n\r\n/**\r\n * @public @function timeToNextTenMinutesInterval\r\n * @description\r\n * Function responsible for calc of time until next ten minutes interval. By ten minutes interval\r\n * we mean (e.g. 08:10, 08:20, 08:30,...)\r\n * @param { number } currentTimestampMs\r\n * @returns { number }\r\n */\r\nexport const timeToNextTenMinutesInterval = (currentTimestamp: number) => {\r\n const timestampSeconds = currentTimestamp / 1000;\r\n\r\n const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 600;\r\n\r\n const numberOfSecondsToTheNextInterval = 600 - numberOfSecondsIntoTheCurrentInterval;\r\n return numberOfSecondsToTheNextInterval;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, Subscription, interval } from 'rxjs';\r\nimport { timeToNextFifteenMinutesInterval, timeToNextFiveMinutesInterval, timeToNextHalfHour, timeToNextHour, timeToNextMinuteInterval, timeToNextSecondInterval, timeToNextTenMinutesInterval } from '../utils';\r\nimport { debounceTime, skip } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TimerService {\r\n /**\r\n * @description\r\n * Timer emitted every 15 minutes (e.g. 08:00, 08:15, 08:30, etc.)\r\n */\r\n public fifteenMinutesInterval$: Observable<void>;\r\n\r\n /**\r\n * @description\r\n * Timer emitted every 5 minutes (e.g. 08:00, 08:05, 08:10, etc.)\r\n */\r\n public fiveMinutesInterval$: Observable<void>;\r\n\r\n /**\r\n * @description\r\n * Timer that invokes each full hour\r\n */\r\n public fullHourInterval$: Observable<void>;\r\n\r\n /**\r\n * @description\r\n * Timer emitted every 30 minutes at full and half hour (e.g. at 10:00, 10:30, 11:00, etc.)\r\n */\r\n public halfHourInterval$: Observable<void>;\r\n\r\n /**\r\n * @description\r\n * Timer emitted every minute (e.g. 08:00, 08:01, 08:02, etc.)\r\n */\r\n public minuteInterval$: Observable<void>;\r\n\r\n /**\r\n * @description\r\n * Timer emitted every second\r\n */\r\n public secondsInterval$: Observable<void>;\r\n\r\n /**\r\n * @description\r\n * Timer emitted every 10 minutes (e.g. 08:00, 08:10, 08:20, etc.)\r\n */\r\n public tenMinutesInterval$: Observable<void>;\r\n\r\n /**\r\n * @description\r\n * Source for fifteen minute interval\r\n */\r\n private _fifteenMinutesInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined)\r\n\r\n /**\r\n * @description\r\n * Source for five minute interval\r\n */\r\n private _fiveMinutesInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined)\r\n\r\n /**\r\n * @description\r\n * Source for half hour interval\r\n */\r\n private _fullHourInterval: BehaviorSubject<void> = new BehaviorSubject<void>(\r\n undefined\r\n );\r\n\r\n /**\r\n * @description\r\n * Source for half hour interval\r\n */\r\n private _halfHourInterval: BehaviorSubject<void> = new BehaviorSubject<void>(\r\n undefined\r\n );\r\n\r\n /**\r\n * @description\r\n * Source for minute interval\r\n */\r\n private _minuteInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined)\r\n\r\n /**\r\n * @description\r\n * Source for secong interval\r\n */\r\n private _secondsInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined);\r\n\r\n /**\r\n * @description\r\n * Source for ten minutes interval\r\n */\r\n private _tenMinutesInterval: BehaviorSubject<void> = new BehaviorSubject<void>(undefined)\r\n\r\n private _subscriptions: Subscription[] = [];\r\n\r\nconstructor() {\r\n this.fifteenMinutesInterval$ = this._fifteenMinutesInterval.asObservable().pipe(skip(1));\r\n this.fiveMinutesInterval$ = this._fiveMinutesInterval.asObservable().pipe(skip(1));\r\n this.fullHourInterval$ = this._fullHourInterval.asObservable().pipe(skip(1));\r\n this.halfHourInterval$ = this._halfHourInterval.asObservable().pipe(skip(1));\r\n this.minuteInterval$ = this._minuteInterval.asObservable().pipe().pipe(skip(1));\r\n this.secondsInterval$ = this._secondsInterval.asObservable().pipe(skip(1));\r\n this.tenMinutesInterval$ = this._tenMinutesInterval.asObservable().pipe(skip(1));\r\n\r\n const timeOffsetToFullSecond = timeToNextSecondInterval(new Date().getTime())\r\n\r\n // This observable will invoke each second while app is running\r\n const ticksSubscription: Subscription = interval(1000).pipe(debounceTime(timeOffsetToFullSecond)).subscribe(\r\n intervalTick => {\r\n const now = new Date().getTime();\r\n\r\n const timeRemainingToNextMinuteInterval = timeToNextMinuteInterval(now);\r\n\r\n const timeRemaingingToNextFiveMinutesInterval = timeToNextFiveMinutesInterval(now);\r\n\r\n const timeRemainingToNextTenMinutesInterval = timeToNextTenMinutesInterval(now);\r\n\r\n const timeRemainingToNextFifteenMinutesInterval = timeToNextFifteenMinutesInterval(now);\r\n\r\n const timeRemainingToNextFullHour = timeToNextHour(\r\n now\r\n );\r\n\r\n const timeRemainingToNextHalfHour = timeToNextHalfHour(\r\n now\r\n );\r\n\r\n this._secondsInterval.next();\r\n\r\n // Check if its minute tick\r\n if (timeRemainingToNextMinuteInterval > 59) {\r\n this._minuteInterval.next();\r\n }\r\n\r\n // Check if its five minute interval tick\r\n if (timeRemaingingToNextFiveMinutesInterval > 299) {\r\n this._fiveMinutesInterval.next();\r\n }\r\n\r\n // Check if its ten minute interval\r\n if (timeRemainingToNextTenMinutesInterval > 599) {\r\n this._tenMinutesInterval.next();\r\n }\r\n\r\n // Check if its fifteen minute interval\r\n if (timeRemainingToNextFifteenMinutesInterval > 899) {\r\n this._fifteenMinutesInterval.next();\r\n }\r\n\r\n // Check if its half hour tick\r\n if (timeRemainingToNextHalfHour > 1799) {\r\n this._halfHourInterval.next();\r\n }\r\n\r\n // Check if its full hour tick\r\n if (timeRemainingToNextFullHour > 3599) {\r\n this._fullHourInterval.next();\r\n }\r\n\r\n // Define any additional intervals that might be needed\r\n }\r\n );\r\n\r\n this._subscriptions.push(ticksSubscription);\r\n}\r\n}\r\n","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TimerService } from './services';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class SdsTimerModule {\r\n static forRoot(): ModuleWithProviders<SdsTimerModule> {\r\n return {\r\n ngModule: SdsTimerModule,\r\n providers: [TimerService]\r\n }\r\n }\r\n\r\n constructor(@Optional() @SkipSelf() parentModule: SdsTimerModule) {\r\n if (parentModule) {\r\n throw new Error(\r\n 'TimerModule is already loaded. Import it in the AppModule only'\r\n );\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Component, Directive, Input, HostListener, NgModule } from '@angular/core';
|
|
3
|
-
import * as
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
|
-
import * as
|
|
5
|
+
import * as i2 from '@fortawesome/angular-fontawesome';
|
|
6
6
|
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
|
7
7
|
|
|
8
8
|
class SdsTooltipComponent {
|
|
@@ -16,11 +16,11 @@ class SdsTooltipComponent {
|
|
|
16
16
|
}
|
|
17
17
|
ngOnInit() { }
|
|
18
18
|
}
|
|
19
|
-
SdsTooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
20
|
-
SdsTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
19
|
+
SdsTooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
SdsTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SdsTooltipComponent, selector: "ng-component", ngImport: i0, template: "<div class=\"sds-tooltip\"\r\n [ngClass]=\"['sds-tooltip-' + position, 'sds-tooltip-' + theme, tooltipClass]\"\r\n [class.sds-tooltip-visible]=\"visible\"\r\n [style.left.px]=\"left\"\r\n [style.top.px]=\"top\"\r\n >\r\n <fa-icon class=\"sds-tooltip-icon\"\r\n *ngIf=\"tooltipIcon\" \r\n [icon]=\"tooltipIcon\">\r\n </fa-icon>\r\n\r\n <small class=\"sds-tooltip-text\">\r\n {{ tooltip }}\r\n </small>\r\n\r\n</div>\r\n", styles: [".sds-tooltip{position:fixed;background-color:#000;border-radius:4px;color:#fff;padding:3px 6px;max-width:15rem;z-index:1070;opacity:0}.sds-tooltip fa-icon{margin-right:.25rem}.sds-tooltip-visible{opacity:1;transition:opacity .3s}.sds-tooltip-light{background-color:var(--bs-gray-200);color:#000}.sds-tooltip-dark{background-color:#000;color:#fff}.sds-tooltip-danger{background-color:var(--bs-danger);color:#fff}.sds-tooltip-success{background-color:var(--bs-success);color:#fff}.sds-tooltip-warning{background-color:var(--bs-warning);color:var(--bs-gray-900)}.sds-tooltip-info{background-color:var(--bs-info);color:#fff}.sds-tooltip-classic{background-color:#fff;color:#000;border:1px solid gray}.sds-tooltip-below{transform:translate(-50%);margin-top:.5rem}.sds-tooltip-above{transform:translate(-50%,calc(-100% - .5rem));margin-bottom:.5rem}.sds-tooltip-left{transform:translate(calc(-100% - .5rem),-50%)}.sds-tooltip-right{transform:translateY(-50%);margin-left:.5rem}.sds-tooltip-dynamic{margin-left:20px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsTooltipComponent, decorators: [{
|
|
22
22
|
type: Component,
|
|
23
|
-
args: [{ template: "<div class=\"sds-tooltip\"\r\n [ngClass]=\"['sds-tooltip-' + position, 'sds-tooltip-' + theme, tooltipClass]\"\r\n [class.sds-tooltip-visible]=\"visible\"\r\n [style.left.px]=\"left\"\r\n [style.top.px]=\"top\"\r\n >\r\n <fa-icon class=\"sds-tooltip-icon\"\r\n *ngIf=\"tooltipIcon\" \r\n [icon]=\"tooltipIcon\">\r\n </fa-icon>\r\n\r\n <small class=\"sds-tooltip-text\">\r\n {{ tooltip }}\r\n </small>\r\n\r\n</div>\r\n", styles: [".sds-tooltip{position:fixed;background-color:#000;border-radius:4px;color:#fff;padding:3px 6px;max-width:15rem;z-index:1070;opacity:0}.sds-tooltip fa-icon{margin-right:.25rem}.sds-tooltip-visible{opacity:1;transition:opacity .3s}.sds-tooltip-light{background-color
|
|
23
|
+
args: [{ template: "<div class=\"sds-tooltip\"\r\n [ngClass]=\"['sds-tooltip-' + position, 'sds-tooltip-' + theme, tooltipClass]\"\r\n [class.sds-tooltip-visible]=\"visible\"\r\n [style.left.px]=\"left\"\r\n [style.top.px]=\"top\"\r\n >\r\n <fa-icon class=\"sds-tooltip-icon\"\r\n *ngIf=\"tooltipIcon\" \r\n [icon]=\"tooltipIcon\">\r\n </fa-icon>\r\n\r\n <small class=\"sds-tooltip-text\">\r\n {{ tooltip }}\r\n </small>\r\n\r\n</div>\r\n", styles: [".sds-tooltip{position:fixed;background-color:#000;border-radius:4px;color:#fff;padding:3px 6px;max-width:15rem;z-index:1070;opacity:0}.sds-tooltip fa-icon{margin-right:.25rem}.sds-tooltip-visible{opacity:1;transition:opacity .3s}.sds-tooltip-light{background-color:var(--bs-gray-200);color:#000}.sds-tooltip-dark{background-color:#000;color:#fff}.sds-tooltip-danger{background-color:var(--bs-danger);color:#fff}.sds-tooltip-success{background-color:var(--bs-success);color:#fff}.sds-tooltip-warning{background-color:var(--bs-warning);color:var(--bs-gray-900)}.sds-tooltip-info{background-color:var(--bs-info);color:#fff}.sds-tooltip-classic{background-color:#fff;color:#000;border:1px solid gray}.sds-tooltip-below{transform:translate(-50%);margin-top:.5rem}.sds-tooltip-above{transform:translate(-50%,calc(-100% - .5rem));margin-bottom:.5rem}.sds-tooltip-left{transform:translate(calc(-100% - .5rem),-50%)}.sds-tooltip-right{transform:translateY(-50%);margin-left:.5rem}.sds-tooltip-dynamic{margin-left:20px}\n"] }]
|
|
24
24
|
}], ctorParameters: function () { return []; } });
|
|
25
25
|
|
|
26
26
|
/**
|
|
@@ -189,9 +189,9 @@ class TooltipDirective {
|
|
|
189
189
|
}
|
|
190
190
|
}
|
|
191
191
|
}
|
|
192
|
-
TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
193
|
-
TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
194
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
192
|
+
TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
193
|
+
TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TooltipDirective, selector: "[sdsTooltip]", inputs: { tooltip: "tooltip", tooltipClass: "tooltipClass", tooltipIcon: "tooltipIcon", position: "position", theme: "theme", showDelay: "showDelay", hideDelay: "hideDelay" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "mousemove": "onMouseMove($event)", "touchstart": "onTouchStart($event)", "touchend": "onTouchEnd()" } }, usesOnChanges: true, ngImport: i0 });
|
|
194
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TooltipDirective, decorators: [{
|
|
195
195
|
type: Directive,
|
|
196
196
|
args: [{
|
|
197
197
|
selector: '[sdsTooltip]',
|
|
@@ -229,15 +229,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
|
229
229
|
|
|
230
230
|
class SdsTooltipModule {
|
|
231
231
|
}
|
|
232
|
-
SdsTooltipModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
233
|
-
SdsTooltipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
|
232
|
+
SdsTooltipModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
233
|
+
SdsTooltipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SdsTooltipModule, declarations: [SdsTooltipComponent,
|
|
234
234
|
TooltipDirective], imports: [CommonModule,
|
|
235
235
|
FontAwesomeModule], exports: [TooltipDirective] });
|
|
236
|
-
SdsTooltipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
]] });
|
|
240
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsTooltipModule, decorators: [{
|
|
236
|
+
SdsTooltipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsTooltipModule, imports: [CommonModule,
|
|
237
|
+
FontAwesomeModule] });
|
|
238
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsTooltipModule, decorators: [{
|
|
241
239
|
type: NgModule,
|
|
242
240
|
args: [{
|
|
243
241
|
declarations: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-tooltip.mjs","sources":["../../../projects/ngx-sds-components/src/lib/tooltip/components/tooltip.component.ts","../../../projects/ngx-sds-components/src/lib/tooltip/components/tooltip.component.html","../../../projects/ngx-sds-components/src/lib/tooltip/utils/tooltip.utils.ts","../../../projects/ngx-sds-components/src/lib/tooltip/tooltip.directive.ts","../../../projects/ngx-sds-components/src/lib/tooltip/tooltip.module.ts","../../../projects/ngx-sds-components/src/lib/tooltip/spicainternational-ngx-sds-components-src-lib-tooltip.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\r\nimport { TooltipPosition, TooltipTheme } from '../tooltip.types';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\n\r\n@Component({\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.scss'],\r\n})\r\nexport class SdsTooltipComponent implements OnInit {\r\n\r\n public tooltip: string = '';\r\n public left: number = 0;\r\n public top: number = 0;\r\n public visible: boolean = false;\r\n\r\n public tooltipIcon?: IconProp;\r\n public tooltipClass?: string;\r\n\r\n public position: TooltipPosition = 'above';\r\n public theme: TooltipTheme = 'dark';\r\n\r\n\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div class=\"sds-tooltip\"\r\n [ngClass]=\"['sds-tooltip-' + position, 'sds-tooltip-' + theme, tooltipClass]\"\r\n [class.sds-tooltip-visible]=\"visible\"\r\n [style.left.px]=\"left\"\r\n [style.top.px]=\"top\"\r\n >\r\n <fa-icon class=\"sds-tooltip-icon\"\r\n *ngIf=\"tooltipIcon\" \r\n [icon]=\"tooltipIcon\">\r\n </fa-icon>\r\n\r\n <small class=\"sds-tooltip-text\">\r\n {{ tooltip }}\r\n </small>\r\n\r\n</div>\r\n","/**\r\n * Check if device is mobile phone or tablet\r\n * {@link https://stackoverflow.com/a/11381730 | [SO] Detecting a mobile browser }\r\n */\r\nexport const isMobile = function() {\r\n let check = false;\r\n (function(a){\r\n if(\r\n // RegExp for mobile devices\r\n /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i\r\n // preform regex check\r\n .test(a.substr(0,4))\r\n ) \r\n check = true;\r\n })(navigator.userAgent||navigator.vendor||(window as any).opera);\r\n return check;\r\n };\r\n ","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n ElementRef,\r\n EmbeddedViewRef,\r\n HostListener,\r\n Injector,\r\n Input,\r\n OnChanges,\r\n Renderer2,\r\n SimpleChanges,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { SdsTooltipComponent } from './components/tooltip.component';\r\nimport { TooltipPosition, TooltipTheme } from './tooltip.types';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { isMobile } from './utils';\r\n\r\n@Directive({\r\n selector: '[sdsTooltip]',\r\n})\r\nexport class TooltipDirective implements OnChanges {\r\n @Input() tooltip = '';\r\n @Input() tooltipClass = '';\r\n @Input() tooltipIcon?: IconProp;\r\n @Input() position: TooltipPosition = 'above';\r\n @Input() theme: TooltipTheme = 'dark';\r\n @Input() showDelay = 0;\r\n @Input() hideDelay = 0;\r\n\r\n private componentRef: ComponentRef<any> | null = null;\r\n private showTimeout?: number;\r\n private hideTimeout?: number;\r\n private touchTimeout?: number;\r\n\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private appRef: ApplicationRef,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n // private viewContainerRef: ViewContainerRef,\r\n private injector: Injector,\r\n // private renderer2: Renderer2\r\n ) {\r\n // this.renderer2.listen('window', 'scroll', (_) => {\r\n // console.log('scroll');\r\n // this.setHideTooltipTimeout();\r\n // });\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['tooltip']) {\r\n if (this.componentRef !== null) {\r\n this.componentRef.instance.tooltip = this.tooltip;\r\n } \r\n }\r\n\r\n if (changes['tooltipIcon']) {\r\n if (this.componentRef !== null) {\r\n this.componentRef.instance.tooltipIcon = this.tooltipIcon;\r\n } \r\n } \r\n \r\n if (changes['tooltipClass']) {\r\n if (this.componentRef !== null) {\r\n this.componentRef.instance.tooltipClass = this.tooltipClass;\r\n } \r\n } \r\n }\r\n\r\n @HostListener('mouseenter')\r\n onMouseEnter(): void {\r\n if(isMobile()) return;\r\n\r\n this.initializeTooltip();\r\n }\r\n\r\n @HostListener('mouseleave')\r\n onMouseLeave(): void {\r\n if(isMobile()) return;\r\n\r\n this.setHideTooltipTimeout();\r\n }\r\n\r\n // @HostListener(\"window:scroll\", [])\r\n // onWindowScroll() {\r\n // console.log('scroll');\r\n // this.setHideTooltipTimeout();\r\n // }\r\n\r\n // @HostListener('window:scroll') onScroll(e: Event): void {\r\n // console.log((e.target as Element).scrollTop);\r\n // }\r\n\r\n // @HostListener('scroll') onScrollHost(e: Event): void {\r\n // console.log((e.target as Element).scrollTop);\r\n // }\r\n\r\n @HostListener('mousemove', ['$event'])\r\n onMouseMove($event: MouseEvent): void {\r\n if(isMobile()) return;\r\n\r\n if (this.componentRef !== null && this.position === 'dynamic') {\r\n this.componentRef.instance.left = $event.clientX;\r\n this.componentRef.instance.top = $event.clientY;\r\n this.componentRef.instance.tooltip = this.tooltip;\r\n this.componentRef.instance.tooltipIcon = this.tooltipIcon;\r\n this.componentRef.instance.tooltipClass = this.tooltipClass;\r\n }\r\n }\r\n\r\n @HostListener('touchstart', ['$event'])\r\n onTouchStart($event: TouchEvent): void {\r\n // Only triggered on mobile devices, no need to check device type\r\n \r\n window.clearTimeout(this.touchTimeout);\r\n this.touchTimeout = window.setTimeout(this.initializeTooltip.bind(this), 500);\r\n }\r\n\r\n @HostListener('touchend')\r\n onTouchEnd(): void {\r\n // Only triggered on mobile devices, no need to check device type\r\n\r\n window.clearTimeout(this.touchTimeout);\r\n this.setHideTooltipTimeout();\r\n }\r\n\r\n private initializeTooltip() {\r\n if (this.componentRef === null) {\r\n window.clearInterval(this.hideDelay);\r\n\r\n if (this.tooltip) {\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(SdsTooltipComponent);\r\n this.componentRef = componentFactory.create(this.injector);\r\n\r\n this.appRef.attachView(this.componentRef.hostView);\r\n const [tooltipDOMElement] = (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes;\r\n\r\n this.setTooltipComponentProperties();\r\n\r\n document.body.appendChild(tooltipDOMElement);\r\n this.showTimeout = window.setTimeout(this.showTooltip.bind(this), this.showDelay);\r\n }\r\n }\r\n }\r\n\r\n private setTooltipComponentProperties() {\r\n if (this.componentRef !== null) {\r\n this.componentRef.instance.tooltip = this.tooltip;\r\n this.componentRef.instance.tooltipIcon = this.tooltipIcon;\r\n this.componentRef.instance.tooltipClass = this.tooltipClass;\r\n this.componentRef.instance.position = this.position;\r\n this.componentRef.instance.theme = this.theme;\r\n\r\n const { left, right, top, bottom } = this.elementRef.nativeElement.getBoundingClientRect();\r\n\r\n switch (this.position) {\r\n case 'below': {\r\n this.componentRef.instance.left = Math.round((right - left) / 2 + left);\r\n this.componentRef.instance.top = Math.round(bottom);\r\n break;\r\n }\r\n case 'above': {\r\n this.componentRef.instance.left = Math.round((right - left) / 2 + left);\r\n this.componentRef.instance.top = Math.round(top);\r\n break;\r\n }\r\n case 'right': {\r\n this.componentRef.instance.left = Math.round(right);\r\n this.componentRef.instance.top = Math.round(top + (bottom - top) / 2);\r\n break;\r\n }\r\n case 'left': {\r\n this.componentRef.instance.left = Math.round(left);\r\n this.componentRef.instance.top = Math.round(top + (bottom - top) / 2);\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private showTooltip() {\r\n if (this.tooltip && this.componentRef !== null) {\r\n this.componentRef.instance.visible = true;\r\n }\r\n }\r\n\r\n private setHideTooltipTimeout() {\r\n this.hideTimeout = window.setTimeout(this.destroy.bind(this), this.hideDelay);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy();\r\n }\r\n\r\n destroy(): void {\r\n if (this.componentRef !== null) {\r\n window.clearInterval(this.showTimeout);\r\n window.clearInterval(this.hideDelay);\r\n this.appRef.detachView(this.componentRef.hostView);\r\n this.componentRef.destroy();\r\n this.componentRef = null;\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdsTooltipComponent } from '../tooltip/components/tooltip.component';\r\nimport { TooltipDirective } from './tooltip.directive';\r\nimport { TooltipPosition, TooltipTheme } from './tooltip.types';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n SdsTooltipComponent,\r\n TooltipDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n FontAwesomeModule\r\n ],\r\n exports: [\r\n TooltipDirective\r\n ]\r\n})\r\nexport class SdsTooltipModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-tooltip.mjs","sources":["../../../projects/ngx-sds-components/src/lib/tooltip/components/tooltip.component.ts","../../../projects/ngx-sds-components/src/lib/tooltip/components/tooltip.component.html","../../../projects/ngx-sds-components/src/lib/tooltip/utils/tooltip.utils.ts","../../../projects/ngx-sds-components/src/lib/tooltip/tooltip.directive.ts","../../../projects/ngx-sds-components/src/lib/tooltip/tooltip.module.ts","../../../projects/ngx-sds-components/src/lib/tooltip/spicainternational-ngx-sds-components-src-lib-tooltip.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\r\nimport { TooltipPosition, TooltipTheme } from '../tooltip.types';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\n\r\n@Component({\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.scss'],\r\n})\r\nexport class SdsTooltipComponent implements OnInit {\r\n\r\n public tooltip: string = '';\r\n public left: number = 0;\r\n public top: number = 0;\r\n public visible: boolean = false;\r\n\r\n public tooltipIcon?: IconProp;\r\n public tooltipClass?: string;\r\n\r\n public position: TooltipPosition = 'above';\r\n public theme: TooltipTheme = 'dark';\r\n\r\n\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div class=\"sds-tooltip\"\r\n [ngClass]=\"['sds-tooltip-' + position, 'sds-tooltip-' + theme, tooltipClass]\"\r\n [class.sds-tooltip-visible]=\"visible\"\r\n [style.left.px]=\"left\"\r\n [style.top.px]=\"top\"\r\n >\r\n <fa-icon class=\"sds-tooltip-icon\"\r\n *ngIf=\"tooltipIcon\" \r\n [icon]=\"tooltipIcon\">\r\n </fa-icon>\r\n\r\n <small class=\"sds-tooltip-text\">\r\n {{ tooltip }}\r\n </small>\r\n\r\n</div>\r\n","/**\r\n * Check if device is mobile phone or tablet\r\n * {@link https://stackoverflow.com/a/11381730 | [SO] Detecting a mobile browser }\r\n */\r\nexport const isMobile = function() {\r\n let check = false;\r\n (function(a){\r\n if(\r\n // RegExp for mobile devices\r\n /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i\r\n // preform regex check\r\n .test(a.substr(0,4))\r\n ) \r\n check = true;\r\n })(navigator.userAgent||navigator.vendor||(window as any).opera);\r\n return check;\r\n };\r\n ","import {\r\n ApplicationRef,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n ElementRef,\r\n EmbeddedViewRef,\r\n HostListener,\r\n Injector,\r\n Input,\r\n OnChanges,\r\n Renderer2,\r\n SimpleChanges,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { SdsTooltipComponent } from './components/tooltip.component';\r\nimport { TooltipPosition, TooltipTheme } from './tooltip.types';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { isMobile } from './utils';\r\n\r\n@Directive({\r\n selector: '[sdsTooltip]',\r\n})\r\nexport class TooltipDirective implements OnChanges {\r\n @Input() tooltip = '';\r\n @Input() tooltipClass = '';\r\n @Input() tooltipIcon?: IconProp;\r\n @Input() position: TooltipPosition = 'above';\r\n @Input() theme: TooltipTheme = 'dark';\r\n @Input() showDelay = 0;\r\n @Input() hideDelay = 0;\r\n\r\n private componentRef: ComponentRef<any> | null = null;\r\n private showTimeout?: number;\r\n private hideTimeout?: number;\r\n private touchTimeout?: number;\r\n\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private appRef: ApplicationRef,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n // private viewContainerRef: ViewContainerRef,\r\n private injector: Injector,\r\n // private renderer2: Renderer2\r\n ) {\r\n // this.renderer2.listen('window', 'scroll', (_) => {\r\n // console.log('scroll');\r\n // this.setHideTooltipTimeout();\r\n // });\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['tooltip']) {\r\n if (this.componentRef !== null) {\r\n this.componentRef.instance.tooltip = this.tooltip;\r\n } \r\n }\r\n\r\n if (changes['tooltipIcon']) {\r\n if (this.componentRef !== null) {\r\n this.componentRef.instance.tooltipIcon = this.tooltipIcon;\r\n } \r\n } \r\n \r\n if (changes['tooltipClass']) {\r\n if (this.componentRef !== null) {\r\n this.componentRef.instance.tooltipClass = this.tooltipClass;\r\n } \r\n } \r\n }\r\n\r\n @HostListener('mouseenter')\r\n onMouseEnter(): void {\r\n if(isMobile()) return;\r\n\r\n this.initializeTooltip();\r\n }\r\n\r\n @HostListener('mouseleave')\r\n onMouseLeave(): void {\r\n if(isMobile()) return;\r\n\r\n this.setHideTooltipTimeout();\r\n }\r\n\r\n // @HostListener(\"window:scroll\", [])\r\n // onWindowScroll() {\r\n // console.log('scroll');\r\n // this.setHideTooltipTimeout();\r\n // }\r\n\r\n // @HostListener('window:scroll') onScroll(e: Event): void {\r\n // console.log((e.target as Element).scrollTop);\r\n // }\r\n\r\n // @HostListener('scroll') onScrollHost(e: Event): void {\r\n // console.log((e.target as Element).scrollTop);\r\n // }\r\n\r\n @HostListener('mousemove', ['$event'])\r\n onMouseMove($event: MouseEvent): void {\r\n if(isMobile()) return;\r\n\r\n if (this.componentRef !== null && this.position === 'dynamic') {\r\n this.componentRef.instance.left = $event.clientX;\r\n this.componentRef.instance.top = $event.clientY;\r\n this.componentRef.instance.tooltip = this.tooltip;\r\n this.componentRef.instance.tooltipIcon = this.tooltipIcon;\r\n this.componentRef.instance.tooltipClass = this.tooltipClass;\r\n }\r\n }\r\n\r\n @HostListener('touchstart', ['$event'])\r\n onTouchStart($event: TouchEvent): void {\r\n // Only triggered on mobile devices, no need to check device type\r\n \r\n window.clearTimeout(this.touchTimeout);\r\n this.touchTimeout = window.setTimeout(this.initializeTooltip.bind(this), 500);\r\n }\r\n\r\n @HostListener('touchend')\r\n onTouchEnd(): void {\r\n // Only triggered on mobile devices, no need to check device type\r\n\r\n window.clearTimeout(this.touchTimeout);\r\n this.setHideTooltipTimeout();\r\n }\r\n\r\n private initializeTooltip() {\r\n if (this.componentRef === null) {\r\n window.clearInterval(this.hideDelay);\r\n\r\n if (this.tooltip) {\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(SdsTooltipComponent);\r\n this.componentRef = componentFactory.create(this.injector);\r\n\r\n this.appRef.attachView(this.componentRef.hostView);\r\n const [tooltipDOMElement] = (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes;\r\n\r\n this.setTooltipComponentProperties();\r\n\r\n document.body.appendChild(tooltipDOMElement);\r\n this.showTimeout = window.setTimeout(this.showTooltip.bind(this), this.showDelay);\r\n }\r\n }\r\n }\r\n\r\n private setTooltipComponentProperties() {\r\n if (this.componentRef !== null) {\r\n this.componentRef.instance.tooltip = this.tooltip;\r\n this.componentRef.instance.tooltipIcon = this.tooltipIcon;\r\n this.componentRef.instance.tooltipClass = this.tooltipClass;\r\n this.componentRef.instance.position = this.position;\r\n this.componentRef.instance.theme = this.theme;\r\n\r\n const { left, right, top, bottom } = this.elementRef.nativeElement.getBoundingClientRect();\r\n\r\n switch (this.position) {\r\n case 'below': {\r\n this.componentRef.instance.left = Math.round((right - left) / 2 + left);\r\n this.componentRef.instance.top = Math.round(bottom);\r\n break;\r\n }\r\n case 'above': {\r\n this.componentRef.instance.left = Math.round((right - left) / 2 + left);\r\n this.componentRef.instance.top = Math.round(top);\r\n break;\r\n }\r\n case 'right': {\r\n this.componentRef.instance.left = Math.round(right);\r\n this.componentRef.instance.top = Math.round(top + (bottom - top) / 2);\r\n break;\r\n }\r\n case 'left': {\r\n this.componentRef.instance.left = Math.round(left);\r\n this.componentRef.instance.top = Math.round(top + (bottom - top) / 2);\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private showTooltip() {\r\n if (this.tooltip && this.componentRef !== null) {\r\n this.componentRef.instance.visible = true;\r\n }\r\n }\r\n\r\n private setHideTooltipTimeout() {\r\n this.hideTimeout = window.setTimeout(this.destroy.bind(this), this.hideDelay);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy();\r\n }\r\n\r\n destroy(): void {\r\n if (this.componentRef !== null) {\r\n window.clearInterval(this.showTimeout);\r\n window.clearInterval(this.hideDelay);\r\n this.appRef.detachView(this.componentRef.hostView);\r\n this.componentRef.destroy();\r\n this.componentRef = null;\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdsTooltipComponent } from '../tooltip/components/tooltip.component';\r\nimport { TooltipDirective } from './tooltip.directive';\r\nimport { TooltipPosition, TooltipTheme } from './tooltip.types';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n SdsTooltipComponent,\r\n TooltipDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n FontAwesomeModule\r\n ],\r\n exports: [\r\n TooltipDirective\r\n ]\r\n})\r\nexport class SdsTooltipModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { EventEmitter, Component, ChangeDetectionStrategy, ViewChild, Input, Output, NgModule } from '@angular/core';
|
|
3
|
-
import * as
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
|
-
import
|
|
6
|
-
import * as i1 from 'devextreme-angular/ui/popover';
|
|
5
|
+
import * as i2 from 'devextreme-angular/ui/popover';
|
|
7
6
|
import { DxPopoverModule } from 'devextreme-angular/ui/popover';
|
|
8
|
-
import * as
|
|
7
|
+
import * as i3 from 'devextreme-angular/ui/scroll-view';
|
|
9
8
|
import { DxScrollViewModule } from 'devextreme-angular/ui/scroll-view';
|
|
10
|
-
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
|
11
9
|
|
|
12
10
|
class SdsAppSwitcherComponent {
|
|
13
11
|
constructor() {
|
|
14
12
|
this.switchText = '';
|
|
15
13
|
this.discoverText = '';
|
|
16
14
|
this.productClick = new EventEmitter();
|
|
17
|
-
this.selectorIcon = faGrid;
|
|
18
15
|
this.elementUUID = 'sds-as-' + crypto.randomUUID();
|
|
19
16
|
this.showDropdown = false;
|
|
20
17
|
this.showSkeleton = true;
|
|
@@ -53,11 +50,11 @@ class SdsAppSwitcherComponent {
|
|
|
53
50
|
this.showDropdown = !this.showDropdown;
|
|
54
51
|
}
|
|
55
52
|
}
|
|
56
|
-
SdsAppSwitcherComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
57
|
-
SdsAppSwitcherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
53
|
+
SdsAppSwitcherComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsAppSwitcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
+
SdsAppSwitcherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SdsAppSwitcherComponent, selector: "sds-app-switcher", inputs: { productCode: "productCode", userProductCodes: "userProductCodes", tenantProducts: "tenantProducts", switchText: "switchText", discoverText: "discoverText" }, outputs: { productClick: "productClick" }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #productTemplate let-product=\"product\">\r\n <div class=\"product-logo\">\r\n <img [src]=\"product.logoUri\" alt=\"{{ product.Name }}\">\r\n </div>\r\n <div class=\"product-title d-flex align-items-center\">\r\n {{product.name}}\r\n </div>\r\n <div class=\"product-description\">\r\n {{product.description}}\r\n </div>\r\n</ng-template>\r\n\r\n<div \r\n [id]=\"elementUUID\"\r\n class=\"btn-group app-switcher\">\r\n <button \r\n type=\"button\" \r\n class=\"btn btn-link rounded p-0 text-dark switcher-button d-flex align-items-center justify-content-center\"\r\n aria-controls=\"dropdown-basic\"\r\n (click)=\"onDropdownClicked()\">\r\n \r\n <svg width=\"0.86rem\" height=\"0.86rem\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <!-- Row 1 -->\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0\" fill=\"black\" />\r\n \r\n <!-- Row 2 -->\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0.33rem\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0.33rem\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0.33rem\" fill=\"black\" />\r\n \r\n <!-- Row 3 -->\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0.66rem\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0.66rem\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0.66rem\" fill=\"black\" />\r\n </svg>\r\n \r\n </button>\r\n</div>\r\n\r\n<dx-popover\r\n #popover\r\n target=\"#{{elementUUID}}\"\r\n [(visible)]=\"showDropdown\"\r\n [wrapperAttr]=\"{ class: 'sds-app-switcher-popover' }\"\r\n >\r\n <dx-scroll-view \r\n showScrollbar=\"always\">\r\n \r\n <div class=\"app-switcher-menu\">\r\n <ng-container *ngIf=\"showSkeleton\">\r\n <div class=\"header skeleton skeleton-height-1 w-50 \"></div>\r\n <div class=\"product mt-2 skeleton skeleton-height-2\"></div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!showSkeleton && activatedProducts.length > 0\">\r\n <h6 class=\"header\">{{ switchText }}</h6>\r\n <div *ngFor=\"let activatedProduct of activatedProducts\" \r\n class=\"product\"\r\n (click)=\"emitProductClick(activatedProduct)\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"productTemplate\"\r\n [ngTemplateOutletContext]=\"{ product: activatedProduct }\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!showSkeleton && discoverProducts.length > 0\">\r\n <h6 class=\"header\">{{ discoverText }}</h6>\r\n\r\n <div *ngFor=\"let discoverProduct of discoverProducts\" \r\n class=\"product\"\r\n (click)=\"emitProductClick(discoverProduct)\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"productTemplate\"\r\n [ngTemplateOutletContext]=\"{ product: discoverProduct }\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </dx-scroll-view>\r\n</dx-popover>\r\n\r\n ", styles: [".switcher-button{width:1.5rem!important;height:1.5rem!important;border:none!important;border-radius:0!important}.switcher-button rect{fill:var(--bs-dark)}::ng-deep .sds-app-switcher-popover .dx-popup-content{padding:.5rem;font-size:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "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", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "component", type: i3.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsAppSwitcherComponent, decorators: [{
|
|
59
56
|
type: Component,
|
|
60
|
-
args: [{ selector: 'sds-app-switcher', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #productTemplate let-product=\"product\">\r\n <div class=\"product-logo\">\r\n <img [src]=\"product.logoUri\" alt=\"{{ product.Name }}\">\r\n </div>\r\n <div class=\"product-title d-flex align-items-center\">\r\n {{product.name}}\r\n </div>\r\n <div class=\"product-description\">\r\n {{product.description}}\r\n </div>\r\n</ng-template>\r\n\r\n<div \r\n [id]=\"elementUUID\"\r\n class=\"btn-group app-switcher\">\r\n <button \r\n type=\"button\" \r\n class=\"btn btn-link rounded p-0 text-dark switcher-button d-flex align-items-center justify-content-center\"\r\n aria-controls=\"dropdown-basic\"\r\n (click)=\"onDropdownClicked()\">\r\n \r\n <svg width=\"0.86rem\" height=\"0.86rem\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <!-- Row 1 -->\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0\" fill=\"black\" />\r\n \r\n <!-- Row 2 -->\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0.33rem\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0.33rem\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0.33rem\" fill=\"black\" />\r\n \r\n <!-- Row 3 -->\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0.66rem\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0.66rem\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0.66rem\" fill=\"black\" />\r\n </svg>\r\n \r\n </button>\r\n</div>\r\n\r\n<dx-popover\r\n #popover\r\n target=\"#{{elementUUID}}\"\r\n [(visible)]=\"showDropdown\"\r\n [wrapperAttr]=\"{ class: 'sds-app-switcher-popover' }\"\r\n >\r\n <dx-scroll-view \r\n showScrollbar=\"always\">\r\n \r\n <div class=\"app-switcher-menu\">\r\n <ng-container *ngIf=\"showSkeleton\">\r\n <div class=\"header skeleton skeleton-height-1 w-50 \"></div>\r\n <div class=\"product mt-2 skeleton skeleton-height-2\"></div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!showSkeleton && activatedProducts.length > 0\">\r\n <h6 class=\"header\">{{ switchText }}</h6>\r\n <div *ngFor=\"let activatedProduct of activatedProducts\" \r\n class=\"product\"\r\n (click)=\"emitProductClick(activatedProduct)\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"productTemplate\"\r\n [ngTemplateOutletContext]=\"{ product: activatedProduct }\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!showSkeleton && discoverProducts.length > 0\">\r\n <h6 class=\"header\">{{ discoverText }}</h6>\r\n\r\n <div *ngFor=\"let discoverProduct of discoverProducts\" \r\n class=\"product\"\r\n (click)=\"emitProductClick(discoverProduct)\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"productTemplate\"\r\n [ngTemplateOutletContext]=\"{ product: discoverProduct }\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </dx-scroll-view>\r\n</dx-popover>\r\n\r\n ", styles: [".switcher-button{width:1.5rem!important;height:1.5rem!important;border:none!important;border-radius:0!important}.switcher-button rect{fill
|
|
57
|
+
args: [{ selector: 'sds-app-switcher', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #productTemplate let-product=\"product\">\r\n <div class=\"product-logo\">\r\n <img [src]=\"product.logoUri\" alt=\"{{ product.Name }}\">\r\n </div>\r\n <div class=\"product-title d-flex align-items-center\">\r\n {{product.name}}\r\n </div>\r\n <div class=\"product-description\">\r\n {{product.description}}\r\n </div>\r\n</ng-template>\r\n\r\n<div \r\n [id]=\"elementUUID\"\r\n class=\"btn-group app-switcher\">\r\n <button \r\n type=\"button\" \r\n class=\"btn btn-link rounded p-0 text-dark switcher-button d-flex align-items-center justify-content-center\"\r\n aria-controls=\"dropdown-basic\"\r\n (click)=\"onDropdownClicked()\">\r\n \r\n <svg width=\"0.86rem\" height=\"0.86rem\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <!-- Row 1 -->\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0\" fill=\"black\" />\r\n \r\n <!-- Row 2 -->\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0.33rem\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0.33rem\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0.33rem\" fill=\"black\" />\r\n \r\n <!-- Row 3 -->\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0.66rem\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0.66rem\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0.66rem\" fill=\"black\" />\r\n </svg>\r\n \r\n </button>\r\n</div>\r\n\r\n<dx-popover\r\n #popover\r\n target=\"#{{elementUUID}}\"\r\n [(visible)]=\"showDropdown\"\r\n [wrapperAttr]=\"{ class: 'sds-app-switcher-popover' }\"\r\n >\r\n <dx-scroll-view \r\n showScrollbar=\"always\">\r\n \r\n <div class=\"app-switcher-menu\">\r\n <ng-container *ngIf=\"showSkeleton\">\r\n <div class=\"header skeleton skeleton-height-1 w-50 \"></div>\r\n <div class=\"product mt-2 skeleton skeleton-height-2\"></div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!showSkeleton && activatedProducts.length > 0\">\r\n <h6 class=\"header\">{{ switchText }}</h6>\r\n <div *ngFor=\"let activatedProduct of activatedProducts\" \r\n class=\"product\"\r\n (click)=\"emitProductClick(activatedProduct)\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"productTemplate\"\r\n [ngTemplateOutletContext]=\"{ product: activatedProduct }\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!showSkeleton && discoverProducts.length > 0\">\r\n <h6 class=\"header\">{{ discoverText }}</h6>\r\n\r\n <div *ngFor=\"let discoverProduct of discoverProducts\" \r\n class=\"product\"\r\n (click)=\"emitProductClick(discoverProduct)\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"productTemplate\"\r\n [ngTemplateOutletContext]=\"{ product: discoverProduct }\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </dx-scroll-view>\r\n</dx-popover>\r\n\r\n ", styles: [".switcher-button{width:1.5rem!important;height:1.5rem!important;border:none!important;border-radius:0!important}.switcher-button rect{fill:var(--bs-dark)}::ng-deep .sds-app-switcher-popover .dx-popup-content{padding:.5rem;font-size:1rem}\n"] }]
|
|
61
58
|
}], ctorParameters: function () { return []; }, propDecorators: { popover: [{
|
|
62
59
|
type: ViewChild,
|
|
63
60
|
args: ['popover', { static: false }]
|
|
@@ -77,18 +74,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
|
77
74
|
|
|
78
75
|
class SdsAppSwitcherModule {
|
|
79
76
|
}
|
|
80
|
-
SdsAppSwitcherModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
81
|
-
SdsAppSwitcherModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
|
82
|
-
FontAwesomeModule,
|
|
77
|
+
SdsAppSwitcherModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsAppSwitcherModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
78
|
+
SdsAppSwitcherModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SdsAppSwitcherModule, declarations: [SdsAppSwitcherComponent], imports: [CommonModule,
|
|
83
79
|
DxPopoverModule,
|
|
84
80
|
DxScrollViewModule], exports: [SdsAppSwitcherComponent] });
|
|
85
|
-
SdsAppSwitcherModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
DxScrollViewModule
|
|
90
|
-
]] });
|
|
91
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsAppSwitcherModule, decorators: [{
|
|
81
|
+
SdsAppSwitcherModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsAppSwitcherModule, imports: [CommonModule,
|
|
82
|
+
DxPopoverModule,
|
|
83
|
+
DxScrollViewModule] });
|
|
84
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdsAppSwitcherModule, decorators: [{
|
|
92
85
|
type: NgModule,
|
|
93
86
|
args: [{
|
|
94
87
|
declarations: [
|
|
@@ -96,7 +89,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
|
96
89
|
],
|
|
97
90
|
imports: [
|
|
98
91
|
CommonModule,
|
|
99
|
-
FontAwesomeModule,
|
|
100
92
|
DxPopoverModule,
|
|
101
93
|
DxScrollViewModule
|
|
102
94
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-app-switcher.mjs","sources":["../../../projects/ngx-sds-components/src/lib/app-switcher/app-switcher.component.ts","../../../projects/ngx-sds-components/src/lib/app-switcher/app-switcher.component.html","../../../projects/ngx-sds-components/src/lib/app-switcher/app-switcher.module.ts","../../../projects/ngx-sds-components/src/lib/app-switcher/spicainternational-ngx-sds-components-src-lib-app-switcher.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { faGrid } from '@fortawesome/pro-solid-svg-icons';\r\nimport { DxPopoverComponent } from 'devextreme-angular';\r\n\r\nimport { ProductModel } from './app-switcher.model';\r\n\r\n@Component({\r\n selector: 'sds-app-switcher',\r\n templateUrl: './app-switcher.component.html',\r\n styleUrls: ['./app-switcher.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdsAppSwitcherComponent implements OnInit, OnChanges {\r\n @ViewChild('popover', {static: false}) private popover?: DxPopoverComponent;\r\n \r\n @Input() public productCode: Number | undefined;\r\n @Input() public userProductCodes: Number[] | undefined;\r\n @Input() public tenantProducts: ProductModel[] | undefined;\r\n\r\n @Input() public switchText: string = '';\r\n @Input() public discoverText: string = '';\r\n\r\n @Output() public productClick: EventEmitter<ProductModel> = new EventEmitter();\r\n\r\n\r\n public activatedProducts: ProductModel[];\r\n public discoverProducts: ProductModel[];\r\n \r\n public showSkeleton: boolean;\r\n public selectorIcon = faGrid;\r\n\r\n public elementUUID = 'sds-as-' + crypto.randomUUID();\r\n public showDropdown = false;\r\n \r\n constructor() {\r\n this.showSkeleton = true;\r\n this.activatedProducts = new Array<ProductModel>();\r\n this.discoverProducts = new Array<ProductModel>(); \r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['userProductCodes'] || changes['tenantProducts'] || changes['productCode']) {\r\n if (this.userProductCodes !== undefined && this.tenantProducts !== undefined && this.productCode !== undefined) {\r\n this.activatedProducts = [];\r\n this.discoverProducts = [];\r\n\r\n this.tenantProducts.forEach(product => {\r\n if ((this.userProductCodes as Number[]).includes(product.code)) {\r\n // exclude current product from the list\r\n if (product.code != this.productCode) {\r\n this.activatedProducts.push(product);\r\n }\r\n } else {\r\n this.discoverProducts.push(product);\r\n }\r\n });\r\n this.showSkeleton = false;\r\n } else {\r\n this.showSkeleton = true;\r\n }\r\n this.popover?.instance.repaint();\r\n }\r\n }\r\n\r\n public emitProductClick(product: ProductModel): void {\r\n this.productClick.emit(product);\r\n }\r\n\r\n public onDropdownClicked(){\r\n this.showDropdown = !this.showDropdown;\r\n }\r\n\r\n}\r\n","<ng-template #productTemplate let-product=\"product\">\r\n <div class=\"product-logo\">\r\n <img [src]=\"product.logoUri\" alt=\"{{ product.Name }}\">\r\n </div>\r\n <div class=\"product-title d-flex align-items-center\">\r\n {{product.name}}\r\n </div>\r\n <div class=\"product-description\">\r\n {{product.description}}\r\n </div>\r\n</ng-template>\r\n\r\n<div \r\n [id]=\"elementUUID\"\r\n class=\"btn-group app-switcher\">\r\n <button \r\n type=\"button\" \r\n class=\"btn btn-link rounded p-0 text-dark switcher-button d-flex align-items-center justify-content-center\"\r\n aria-controls=\"dropdown-basic\"\r\n (click)=\"onDropdownClicked()\">\r\n \r\n <svg width=\"0.86rem\" height=\"0.86rem\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <!-- Row 1 -->\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0\" fill=\"black\" />\r\n \r\n <!-- Row 2 -->\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0.33rem\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0.33rem\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0.33rem\" fill=\"black\" />\r\n \r\n <!-- Row 3 -->\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0.66rem\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0.66rem\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0.66rem\" fill=\"black\" />\r\n </svg>\r\n \r\n </button>\r\n</div>\r\n\r\n<dx-popover\r\n #popover\r\n target=\"#{{elementUUID}}\"\r\n [(visible)]=\"showDropdown\"\r\n [wrapperAttr]=\"{ class: 'sds-app-switcher-popover' }\"\r\n >\r\n <dx-scroll-view \r\n showScrollbar=\"always\">\r\n \r\n <div class=\"app-switcher-menu\">\r\n <ng-container *ngIf=\"showSkeleton\">\r\n <div class=\"header skeleton skeleton-height-1 w-50 \"></div>\r\n <div class=\"product mt-2 skeleton skeleton-height-2\"></div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!showSkeleton && activatedProducts.length > 0\">\r\n <h6 class=\"header\">{{ switchText }}</h6>\r\n <div *ngFor=\"let activatedProduct of activatedProducts\" \r\n class=\"product\"\r\n (click)=\"emitProductClick(activatedProduct)\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"productTemplate\"\r\n [ngTemplateOutletContext]=\"{ product: activatedProduct }\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!showSkeleton && discoverProducts.length > 0\">\r\n <h6 class=\"header\">{{ discoverText }}</h6>\r\n\r\n <div *ngFor=\"let discoverProduct of discoverProducts\" \r\n class=\"product\"\r\n (click)=\"emitProductClick(discoverProduct)\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"productTemplate\"\r\n [ngTemplateOutletContext]=\"{ product: discoverProduct }\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </dx-scroll-view>\r\n</dx-popover>\r\n\r\n ","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdsAppSwitcherComponent } from './app-switcher.component';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { DxPopoverModule } from 'devextreme-angular/ui/popover';\r\nimport { DxScrollViewModule } from 'devextreme-angular/ui/scroll-view';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n SdsAppSwitcherComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FontAwesomeModule,\r\n DxPopoverModule,\r\n DxScrollViewModule\r\n ],\r\n exports: [\r\n SdsAppSwitcherComponent\r\n ]\r\n})\r\nexport class SdsAppSwitcherModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-app-switcher.mjs","sources":["../../../projects/ngx-sds-components/src/lib/app-switcher/app-switcher.component.ts","../../../projects/ngx-sds-components/src/lib/app-switcher/app-switcher.component.html","../../../projects/ngx-sds-components/src/lib/app-switcher/app-switcher.module.ts","../../../projects/ngx-sds-components/src/lib/app-switcher/spicainternational-ngx-sds-components-src-lib-app-switcher.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { DxPopoverComponent } from 'devextreme-angular';\r\n\r\nimport { ProductModel } from './app-switcher.model';\r\n\r\n@Component({\r\n selector: 'sds-app-switcher',\r\n templateUrl: './app-switcher.component.html',\r\n styleUrls: ['./app-switcher.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SdsAppSwitcherComponent implements OnInit, OnChanges {\r\n @ViewChild('popover', {static: false}) private popover?: DxPopoverComponent;\r\n \r\n @Input() public productCode: Number | undefined;\r\n @Input() public userProductCodes: Number[] | undefined;\r\n @Input() public tenantProducts: ProductModel[] | undefined;\r\n\r\n @Input() public switchText: string = '';\r\n @Input() public discoverText: string = '';\r\n\r\n @Output() public productClick: EventEmitter<ProductModel> = new EventEmitter();\r\n\r\n\r\n public activatedProducts: ProductModel[];\r\n public discoverProducts: ProductModel[];\r\n \r\n public showSkeleton: boolean;\r\n\r\n public elementUUID = 'sds-as-' + crypto.randomUUID();\r\n public showDropdown = false;\r\n \r\n constructor() {\r\n this.showSkeleton = true;\r\n this.activatedProducts = new Array<ProductModel>();\r\n this.discoverProducts = new Array<ProductModel>(); \r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['userProductCodes'] || changes['tenantProducts'] || changes['productCode']) {\r\n if (this.userProductCodes !== undefined && this.tenantProducts !== undefined && this.productCode !== undefined) {\r\n this.activatedProducts = [];\r\n this.discoverProducts = [];\r\n\r\n this.tenantProducts.forEach(product => {\r\n if ((this.userProductCodes as Number[]).includes(product.code)) {\r\n // exclude current product from the list\r\n if (product.code != this.productCode) {\r\n this.activatedProducts.push(product);\r\n }\r\n } else {\r\n this.discoverProducts.push(product);\r\n }\r\n });\r\n this.showSkeleton = false;\r\n } else {\r\n this.showSkeleton = true;\r\n }\r\n this.popover?.instance.repaint();\r\n }\r\n }\r\n\r\n public emitProductClick(product: ProductModel): void {\r\n this.productClick.emit(product);\r\n }\r\n\r\n public onDropdownClicked(){\r\n this.showDropdown = !this.showDropdown;\r\n }\r\n\r\n}\r\n","<ng-template #productTemplate let-product=\"product\">\r\n <div class=\"product-logo\">\r\n <img [src]=\"product.logoUri\" alt=\"{{ product.Name }}\">\r\n </div>\r\n <div class=\"product-title d-flex align-items-center\">\r\n {{product.name}}\r\n </div>\r\n <div class=\"product-description\">\r\n {{product.description}}\r\n </div>\r\n</ng-template>\r\n\r\n<div \r\n [id]=\"elementUUID\"\r\n class=\"btn-group app-switcher\">\r\n <button \r\n type=\"button\" \r\n class=\"btn btn-link rounded p-0 text-dark switcher-button d-flex align-items-center justify-content-center\"\r\n aria-controls=\"dropdown-basic\"\r\n (click)=\"onDropdownClicked()\">\r\n \r\n <svg width=\"0.86rem\" height=\"0.86rem\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <!-- Row 1 -->\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0\" fill=\"black\" />\r\n \r\n <!-- Row 2 -->\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0.33rem\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0.33rem\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0.33rem\" fill=\"black\" />\r\n \r\n <!-- Row 3 -->\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0\" y=\"0.66rem\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.33rem\" y=\"0.66rem\" fill=\"black\" />\r\n <rect width=\"0.2rem\" height=\"0.2rem\" x=\"0.66rem\" y=\"0.66rem\" fill=\"black\" />\r\n </svg>\r\n \r\n </button>\r\n</div>\r\n\r\n<dx-popover\r\n #popover\r\n target=\"#{{elementUUID}}\"\r\n [(visible)]=\"showDropdown\"\r\n [wrapperAttr]=\"{ class: 'sds-app-switcher-popover' }\"\r\n >\r\n <dx-scroll-view \r\n showScrollbar=\"always\">\r\n \r\n <div class=\"app-switcher-menu\">\r\n <ng-container *ngIf=\"showSkeleton\">\r\n <div class=\"header skeleton skeleton-height-1 w-50 \"></div>\r\n <div class=\"product mt-2 skeleton skeleton-height-2\"></div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!showSkeleton && activatedProducts.length > 0\">\r\n <h6 class=\"header\">{{ switchText }}</h6>\r\n <div *ngFor=\"let activatedProduct of activatedProducts\" \r\n class=\"product\"\r\n (click)=\"emitProductClick(activatedProduct)\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"productTemplate\"\r\n [ngTemplateOutletContext]=\"{ product: activatedProduct }\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!showSkeleton && discoverProducts.length > 0\">\r\n <h6 class=\"header\">{{ discoverText }}</h6>\r\n\r\n <div *ngFor=\"let discoverProduct of discoverProducts\" \r\n class=\"product\"\r\n (click)=\"emitProductClick(discoverProduct)\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"productTemplate\"\r\n [ngTemplateOutletContext]=\"{ product: discoverProduct }\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </dx-scroll-view>\r\n</dx-popover>\r\n\r\n ","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdsAppSwitcherComponent } from './app-switcher.component';\r\nimport { DxPopoverModule } from 'devextreme-angular/ui/popover';\r\nimport { DxScrollViewModule } from 'devextreme-angular/ui/scroll-view';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n SdsAppSwitcherComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DxPopoverModule,\r\n DxScrollViewModule\r\n ],\r\n exports: [\r\n SdsAppSwitcherComponent\r\n ]\r\n})\r\nexport class SdsAppSwitcherModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|