@flywheel-io/vision 2.0.0-beta.8 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/color.utils.d.ts +2 -0
- package/components/alert/alert.component.d.ts +1 -1
- package/components/app-icon/app-icon.component.d.ts +1 -1
- package/components/avatar/avatar.component.d.ts +7 -2
- package/components/badge/badge.component.d.ts +1 -1
- package/components/breadcrumbs/crumb.component.d.ts +1 -1
- package/components/button/button.component.d.ts +1 -1
- package/components/button-group/button-group.component.d.ts +1 -1
- package/components/button-toggle/button-toggle-item/button-toggle-item.component.d.ts +1 -1
- package/components/button-toggle/button-toggle.component.d.ts +1 -1
- package/components/card/card-attribute/card-attribute.component.d.ts +1 -1
- package/components/card/card-author/card-author.component.d.ts +1 -1
- package/components/card/card-header/card-header.component.d.ts +1 -1
- package/components/card/card.component.d.ts +1 -1
- package/components/checkbox/checkbox.component.d.ts +1 -1
- package/components/chip/chip.component.d.ts +1 -1
- package/components/contained-input/contained-input.component.d.ts +1 -1
- package/components/date-input/date-input.component.d.ts +1 -1
- package/components/dialog/dialog-confirm.component.d.ts +1 -1
- package/components/dialog/dialog-content.component.d.ts +1 -1
- package/components/dialog/dialog-simple.component.d.ts +1 -1
- package/components/dialog/dialog.component.d.ts +1 -1
- package/components/form-heading/form-heading.component.d.ts +1 -1
- package/components/icon/icon.component.d.ts +1 -1
- package/components/icon/icon.types.d.ts +1 -1
- package/components/icon-button/icon-button.component.d.ts +1 -1
- package/components/layouts/context/context.component.d.ts +1 -1
- package/components/layouts/grid/grid.component.d.ts +1 -1
- package/components/layouts/layout-group.component.d.ts +1 -1
- package/components/layouts/panel/panel.component.d.ts +1 -1
- package/components/layouts/sidebar/sidebar.component.d.ts +1 -1
- package/components/layouts/toolbar/toolbar.component.d.ts +1 -1
- package/components/menu/menu-container/menu-container.component.d.ts +26 -11
- package/components/menu/menu-item/menu-item.component.d.ts +5 -6
- package/components/menu/menu-item-group/menu-item-group.component.d.ts +1 -1
- package/components/menu/menu-sub-item/menu-sub-item.component.d.ts +1 -5
- package/components/menu/menu.component.d.ts +3 -23
- package/components/navbar/navbar-item/navbar-item.component.d.ts +1 -1
- package/components/navbar/navbar-sub-item/navbar-sub-item.component.d.ts +1 -1
- package/components/navbar/navbar.component.d.ts +1 -1
- package/components/number-input/number-input.component.d.ts +1 -1
- package/components/paginator/paginator-advanced/paginator-advanced.component.d.ts +1 -1
- package/components/paginator/paginator.component.d.ts +6 -3
- package/components/phone-input/phone-input.component.d.ts +1 -1
- package/components/phone-input/phone-input.model.d.ts +1 -1
- package/components/popover/popover-panel/popover-panel.component.d.ts +1 -1
- package/components/popover/popover.component.d.ts +1 -1
- package/components/progress/bar/bar.component.d.ts +1 -1
- package/components/progress/spinner/spinner.component.d.ts +1 -1
- package/components/radio/radio-group.component.d.ts +1 -1
- package/components/radio/radio.component.d.ts +1 -1
- package/components/section-heading/back-button/back-button.component.d.ts +1 -1
- package/components/section-heading/section-heading.component.d.ts +1 -1
- package/components/section-heading/subsection-heading/subsection-heading.component.d.ts +1 -1
- package/components/select-menu/multi-select-menu/multi-select-menu.component.d.ts +39 -22
- package/components/select-menu/select-menu.component.d.ts +1 -1
- package/components/select-menu/select-menu.module.d.ts +7 -6
- package/components/snackbar/snackbar/snackbar.component.d.ts +1 -1
- package/components/stepper/step.component.d.ts +1 -1
- package/components/stepper/stepper.component.d.ts +1 -1
- package/components/switch/switch.component.d.ts +1 -1
- package/components/table/cell.d.ts +1 -1
- package/components/table/row.d.ts +3 -5
- package/components/tabs/tab/tab.component.d.ts +1 -1
- package/components/tabs/tab-panel/tab-panel.component.d.ts +1 -1
- package/components/tabs/tabs.component.d.ts +1 -1
- package/components/text-input/text-input.component.d.ts +9 -6
- package/components/textarea-input/textarea-input.component.d.ts +1 -1
- package/components/tooltip/tooltip-panel/tooltip-panel.component.d.ts +1 -1
- package/components/tooltip/tooltip.component.d.ts +1 -1
- package/components/wrapped-input/wrapped-input.component.d.ts +1 -1
- package/esm2022/color.utils.mjs +45 -0
- package/{esm2020 → esm2022}/components/alert/alert.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/alert/alert.module.mjs +9 -9
- package/{esm2020 → esm2022}/components/app-icon/app-icon.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/app-icon/app-icon.module.mjs +7 -7
- package/esm2022/components/avatar/avatar.component.mjs +66 -0
- package/{esm2020 → esm2022}/components/avatar/avatar.module.mjs +7 -7
- package/esm2022/components/badge/badge.component.mjs +45 -0
- package/{esm2020 → esm2022}/components/badge/badge.module.mjs +5 -5
- package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +22 -0
- package/{esm2020 → esm2022}/components/breadcrumbs/breadcrumbs.module.mjs +9 -9
- package/esm2022/components/breadcrumbs/crumb.component.mjs +34 -0
- package/{esm2020 → esm2022}/components/button/button.component.mjs +4 -4
- package/esm2022/components/button/button.directives.mjs +129 -0
- package/{esm2020 → esm2022}/components/button/button.module.mjs +21 -21
- package/esm2022/components/button-group/button-group.component.mjs +131 -0
- package/{esm2020 → esm2022}/components/button-group/button-group.module.mjs +9 -9
- package/esm2022/components/button-toggle/button-toggle-item/button-toggle-item.component.mjs +54 -0
- package/esm2022/components/button-toggle/button-toggle.component.mjs +137 -0
- package/{esm2020 → esm2022}/components/button-toggle/button-toggle.module.mjs +9 -9
- package/{esm2020 → esm2022}/components/card/card-attribute/card-attribute.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/card/card-author/card-author.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/card/card-content/card-content.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/card/card-footer/card-footer.component.mjs +8 -8
- package/{esm2020 → esm2022}/components/card/card-header/card-header.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/card/card.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/card/card.module.mjs +19 -19
- package/esm2022/components/checkbox/checkbox.component.mjs +79 -0
- package/{esm2020 → esm2022}/components/checkbox/checkbox.module.mjs +9 -9
- package/esm2022/components/chip/chip.component.mjs +52 -0
- package/{esm2020 → esm2022}/components/chip/chip.module.mjs +9 -9
- package/esm2022/components/contained-input/contained-input.component.mjs +86 -0
- package/{esm2020 → esm2022}/components/contained-input/contained-input.module.mjs +13 -13
- package/esm2022/components/date-input/date-input.component.mjs +139 -0
- package/{esm2020 → esm2022}/components/date-input/date-input.module.mjs +9 -9
- package/{esm2020 → esm2022}/components/dialog/dialog-actions.component.mjs +9 -9
- package/{esm2020 → esm2022}/components/dialog/dialog-confirm.component.mjs +6 -6
- package/esm2022/components/dialog/dialog-content.component.mjs +38 -0
- package/{esm2020 → esm2022}/components/dialog/dialog-header.component.mjs +9 -9
- package/{esm2020 → esm2022}/components/dialog/dialog-simple.component.mjs +6 -6
- package/{esm2020 → esm2022}/components/dialog/dialog.component.mjs +7 -7
- package/{esm2020 → esm2022}/components/dialog/dialog.service.mjs +6 -6
- package/{esm2020 → esm2022}/components/dialog/dialogs.module.mjs +27 -27
- package/{esm2020 → esm2022}/components/form-heading/form-heading.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/form-heading/form-heading.module.mjs +9 -9
- package/esm2022/components/forms/validators.mjs +81 -0
- package/esm2022/components/icon/icon.component.mjs +61 -0
- package/{esm2020 → esm2022}/components/icon/icon.module.mjs +5 -5
- package/{esm2020 → esm2022}/components/icon-button/icon-button.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/icon-button/icon-button.module.mjs +7 -7
- package/esm2022/components/layouts/context/context.component.mjs +46 -0
- package/{esm2020 → esm2022}/components/layouts/grid/grid.component.mjs +7 -7
- package/esm2022/components/layouts/layout-group.component.mjs +36 -0
- package/{esm2020 → esm2022}/components/layouts/layouts.module.mjs +19 -19
- package/{esm2020 → esm2022}/components/layouts/panel/panel.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/layouts/sidebar/sidebar.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/layouts/toolbar/toolbar.component.mjs +4 -4
- package/esm2022/components/menu/menu-close-triggers.directive.mjs +38 -0
- package/esm2022/components/menu/menu-container/menu-container.component.mjs +126 -0
- package/{esm2020 → esm2022}/components/menu/menu-header/menu-header.component.mjs +4 -4
- package/esm2022/components/menu/menu-item/menu-item.component.mjs +134 -0
- package/{esm2020 → esm2022}/components/menu/menu-item-group/menu-item-group.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/menu/menu-separator/menu-separator.component.mjs +4 -4
- package/esm2022/components/menu/menu-sub-item/menu-sub-item.component.mjs +103 -0
- package/esm2022/components/menu/menu.component.mjs +129 -0
- package/{esm2020 → esm2022}/components/menu/menu.module.mjs +37 -37
- package/{esm2020 → esm2022}/components/navbar/navbar-header/navbar-header.component.mjs +4 -4
- package/esm2022/components/navbar/navbar-item/navbar-item.component.mjs +95 -0
- package/esm2022/components/navbar/navbar-sub-item/navbar-sub-item.component.mjs +76 -0
- package/esm2022/components/navbar/navbar.component.mjs +75 -0
- package/{esm2020 → esm2022}/components/navbar/navbar.module.mjs +25 -25
- package/esm2022/components/number-input/number-input.component.mjs +122 -0
- package/{esm2020 → esm2022}/components/number-input/number-input.module.mjs +9 -9
- package/esm2022/components/paginator/paginator-advanced/paginator-advanced.component.mjs +123 -0
- package/esm2022/components/paginator/paginator.component.mjs +133 -0
- package/{esm2020 → esm2022}/components/paginator/paginator.module.mjs +17 -17
- package/esm2022/components/phone-input/phone-input.component.mjs +285 -0
- package/{esm2020 → esm2022}/components/phone-input/phone-input.module.mjs +17 -17
- package/{esm2020 → esm2022}/components/popover/popover-panel/popover-panel.component.mjs +4 -4
- package/esm2022/components/popover/popover.component.mjs +76 -0
- package/{esm2020 → esm2022}/components/popover/popover.module.mjs +13 -13
- package/{esm2020 → esm2022}/components/progress/bar/bar.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/progress/progress.module.mjs +7 -7
- package/esm2022/components/progress/spinner/spinner.component.mjs +101 -0
- package/esm2022/components/radio/radio-group.component.mjs +117 -0
- package/esm2022/components/radio/radio.component.mjs +51 -0
- package/{esm2020 → esm2022}/components/radio/radio.module.mjs +11 -11
- package/esm2022/components/section-heading/back-button/back-button.component.mjs +30 -0
- package/{esm2020 → esm2022}/components/section-heading/section-heading.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/section-heading/section-heading.module.mjs +13 -13
- package/{esm2020 → esm2022}/components/section-heading/subsection-heading/subsection-heading.component.mjs +5 -5
- package/esm2022/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +354 -0
- package/esm2022/components/select-menu/select-menu.component.mjs +332 -0
- package/esm2022/components/select-menu/select-menu.module.mjs +60 -0
- package/esm2022/components/shared/pipes/pipes.module.mjs +36 -0
- package/esm2022/components/shared/pipes/translate.pipe.mjs +40 -0
- package/{esm2020 → esm2022}/components/shared/pipes/trusthtml.pipe.mjs +5 -5
- package/esm2022/components/shared/services/menu-manager.service.mjs +27 -0
- package/esm2022/components/shared/translation.service.mjs +26 -0
- package/esm2022/components/snackbar/snackbar/snackbar.component.mjs +111 -0
- package/esm2022/components/snackbar/snackbar-container/snackbar-container.component.mjs +63 -0
- package/{esm2020 → esm2022}/components/snackbar/snackbar.module.mjs +15 -15
- package/esm2022/components/snackbar/snackbar.service.mjs +36 -0
- package/esm2022/components/stepper/step.component.mjs +113 -0
- package/esm2022/components/stepper/stepper.component.mjs +95 -0
- package/{esm2020 → esm2022}/components/stepper/stepper.module.mjs +13 -13
- package/esm2022/components/switch/switch.component.mjs +73 -0
- package/{esm2020 → esm2022}/components/switch/switch.module.mjs +5 -5
- package/{esm2020 → esm2022}/components/table/cell.mjs +24 -24
- package/esm2022/components/table/row.mjs +164 -0
- package/esm2022/components/table/table-dense.component.mjs +38 -0
- package/esm2022/components/table/table.component.mjs +38 -0
- package/{esm2020 → esm2022}/components/table/table.module.mjs +37 -37
- package/esm2022/components/tabs/tab/tab.component.mjs +79 -0
- package/{esm2020 → esm2022}/components/tabs/tab-panel/tab-panel.component.mjs +4 -4
- package/esm2022/components/tabs/tabs.component.mjs +68 -0
- package/{esm2020 → esm2022}/components/tabs/tabs.module.mjs +11 -11
- package/esm2022/components/text-input/text-input.component.mjs +125 -0
- package/{esm2020 → esm2022}/components/text-input/text-input.module.mjs +9 -9
- package/esm2022/components/textarea-input/textarea-input.component.mjs +86 -0
- package/{esm2020 → esm2022}/components/textarea-input/textarea-input.module.mjs +11 -11
- package/{esm2020 → esm2022}/components/tooltip/tooltip-panel/tooltip-panel.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/tooltip/tooltip.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/tooltip/tooltip.module.mjs +13 -13
- package/{esm2020 → esm2022}/components/wrapped-input/wrapped-input.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/wrapped-input/wrapped-input.module.mjs +7 -7
- package/{esm2020 → esm2022}/directives/menu-register.directive.mjs +6 -6
- package/{fesm2020 → fesm2022}/flywheel-io-vision.mjs +1512 -1505
- package/fesm2022/flywheel-io-vision.mjs.map +1 -0
- package/global.scss +1 -0
- package/package.json +9 -12
- package/styles.css +5 -0
- package/esm2020/components/avatar/avatar.component.mjs +0 -53
- package/esm2020/components/badge/badge.component.mjs +0 -45
- package/esm2020/components/breadcrumbs/breadcrumbs.component.mjs +0 -22
- package/esm2020/components/breadcrumbs/crumb.component.mjs +0 -34
- package/esm2020/components/button/button.directives.mjs +0 -129
- package/esm2020/components/button-group/button-group.component.mjs +0 -131
- package/esm2020/components/button-toggle/button-toggle-item/button-toggle-item.component.mjs +0 -54
- package/esm2020/components/button-toggle/button-toggle.component.mjs +0 -137
- package/esm2020/components/checkbox/checkbox.component.mjs +0 -79
- package/esm2020/components/chip/chip.component.mjs +0 -52
- package/esm2020/components/contained-input/contained-input.component.mjs +0 -86
- package/esm2020/components/date-input/date-input.component.mjs +0 -139
- package/esm2020/components/dialog/dialog-content.component.mjs +0 -38
- package/esm2020/components/forms/validators.mjs +0 -81
- package/esm2020/components/icon/icon.component.mjs +0 -61
- package/esm2020/components/layouts/context/context.component.mjs +0 -46
- package/esm2020/components/layouts/layout-group.component.mjs +0 -36
- package/esm2020/components/menu/menu-close-triggers.directive.mjs +0 -38
- package/esm2020/components/menu/menu-container/menu-container.component.mjs +0 -90
- package/esm2020/components/menu/menu-item/menu-item.component.mjs +0 -136
- package/esm2020/components/menu/menu-sub-item/menu-sub-item.component.mjs +0 -109
- package/esm2020/components/menu/menu.component.mjs +0 -212
- package/esm2020/components/navbar/navbar-item/navbar-item.component.mjs +0 -95
- package/esm2020/components/navbar/navbar-sub-item/navbar-sub-item.component.mjs +0 -76
- package/esm2020/components/navbar/navbar.component.mjs +0 -75
- package/esm2020/components/number-input/number-input.component.mjs +0 -122
- package/esm2020/components/paginator/paginator-advanced/paginator-advanced.component.mjs +0 -123
- package/esm2020/components/paginator/paginator.component.mjs +0 -133
- package/esm2020/components/phone-input/phone-input.component.mjs +0 -285
- package/esm2020/components/popover/popover.component.mjs +0 -76
- package/esm2020/components/progress/spinner/spinner.component.mjs +0 -101
- package/esm2020/components/radio/radio-group.component.mjs +0 -117
- package/esm2020/components/radio/radio.component.mjs +0 -51
- package/esm2020/components/section-heading/back-button/back-button.component.mjs +0 -30
- package/esm2020/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +0 -357
- package/esm2020/components/select-menu/select-menu.component.mjs +0 -332
- package/esm2020/components/select-menu/select-menu.module.mjs +0 -56
- package/esm2020/components/shared/pipes/pipes.module.mjs +0 -36
- package/esm2020/components/shared/pipes/translate.pipe.mjs +0 -40
- package/esm2020/components/shared/services/menu-manager.service.mjs +0 -27
- package/esm2020/components/shared/translation.service.mjs +0 -26
- package/esm2020/components/snackbar/snackbar/snackbar.component.mjs +0 -111
- package/esm2020/components/snackbar/snackbar-container/snackbar-container.component.mjs +0 -63
- package/esm2020/components/snackbar/snackbar.service.mjs +0 -36
- package/esm2020/components/stepper/step.component.mjs +0 -113
- package/esm2020/components/stepper/stepper.component.mjs +0 -95
- package/esm2020/components/switch/switch.component.mjs +0 -73
- package/esm2020/components/table/row.mjs +0 -170
- package/esm2020/components/table/table-dense.component.mjs +0 -38
- package/esm2020/components/table/table.component.mjs +0 -38
- package/esm2020/components/tabs/tab/tab.component.mjs +0 -79
- package/esm2020/components/tabs/tabs.component.mjs +0 -68
- package/esm2020/components/text-input/text-input.component.mjs +0 -112
- package/esm2020/components/textarea-input/textarea-input.component.mjs +0 -86
- package/fesm2015/flywheel-io-vision.mjs +0 -8126
- package/fesm2015/flywheel-io-vision.mjs.map +0 -1
- package/fesm2020/flywheel-io-vision.mjs.map +0 -1
- package/flywheel-io-vision-2.0.0-beta.8.tgz +0 -0
- /package/{esm2020 → esm2022}/components/icon/icon.types.mjs +0 -0
- /package/{esm2020 → esm2022}/components/paginator/paginator.model.mjs +0 -0
- /package/{esm2020 → esm2022}/components/phone-input/country-code.data.mjs +0 -0
- /package/{esm2020 → esm2022}/components/phone-input/phone-input.model.mjs +0 -0
- /package/{esm2020 → esm2022}/components/snackbar/snackbar-message.model.mjs +0 -0
- /package/{esm2020 → esm2022}/components/snackbar/snackbar-timer.service.mjs +0 -0
- /package/{esm2020 → esm2022}/flywheel-io-vision.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/* eslint-disable @rx-angular/no-explicit-change-detection-apis */
|
|
2
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
3
|
+
import { FwSnackbarTimerService } from '../snackbar-timer.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../snackbar-timer.service";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "../../button/button.component";
|
|
8
|
+
import * as i4 from "../../icon-button/icon-button.component";
|
|
9
|
+
import * as i5 from "../../icon/icon.component";
|
|
10
|
+
export class FwSnackbarComponent {
|
|
11
|
+
get cssClass() {
|
|
12
|
+
const cssClass = 'fw-snackbar';
|
|
13
|
+
if (this.message?.severity) {
|
|
14
|
+
return cssClass + ' ' + this.color;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
return cssClass;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
constructor(cdr, timerService) {
|
|
21
|
+
this.cdr = cdr;
|
|
22
|
+
this.timerService = timerService;
|
|
23
|
+
this.messageDuration = 9000;
|
|
24
|
+
this.ready = new EventEmitter();
|
|
25
|
+
this.dismiss = new EventEmitter();
|
|
26
|
+
this.action = new EventEmitter();
|
|
27
|
+
this.color = 'primary';
|
|
28
|
+
}
|
|
29
|
+
ngAfterViewInit() {
|
|
30
|
+
this.ready.emit(this);
|
|
31
|
+
this.cdr.markForCheck();
|
|
32
|
+
}
|
|
33
|
+
startTimer() {
|
|
34
|
+
if (this.message && this.message.duration) {
|
|
35
|
+
this.messageDuration = this.message.duration;
|
|
36
|
+
}
|
|
37
|
+
this.timerService.start(this.messageDuration).then(() => {
|
|
38
|
+
this.handleDismiss();
|
|
39
|
+
this.cdr.markForCheck();
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
stopTimer() {
|
|
43
|
+
this.timerService.stop();
|
|
44
|
+
this.cdr.markForCheck();
|
|
45
|
+
}
|
|
46
|
+
ngOnInit() {
|
|
47
|
+
switch (this.message.severity) {
|
|
48
|
+
case 'success':
|
|
49
|
+
if (!this.message.icon) {
|
|
50
|
+
this.message.icon = 'done-check-tracked';
|
|
51
|
+
}
|
|
52
|
+
this.color = 'success';
|
|
53
|
+
break;
|
|
54
|
+
case 'warning':
|
|
55
|
+
if (!this.message.icon) {
|
|
56
|
+
this.message.icon = 'warning-circle';
|
|
57
|
+
}
|
|
58
|
+
this.color = 'warning';
|
|
59
|
+
break;
|
|
60
|
+
case 'error':
|
|
61
|
+
if (!this.message.icon) {
|
|
62
|
+
this.message.icon = 'warning';
|
|
63
|
+
}
|
|
64
|
+
if (this.message.showClose === undefined) {
|
|
65
|
+
this.message.showClose = true;
|
|
66
|
+
}
|
|
67
|
+
if (!this.message.duration) {
|
|
68
|
+
this.message.duration = 29000;
|
|
69
|
+
}
|
|
70
|
+
this.color = 'danger';
|
|
71
|
+
break;
|
|
72
|
+
case 'info':
|
|
73
|
+
if (!this.message.icon) {
|
|
74
|
+
this.message.icon = 'information-circle';
|
|
75
|
+
}
|
|
76
|
+
this.color = 'primary';
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
handleDismiss() {
|
|
81
|
+
this.dismiss.emit(this.message.id);
|
|
82
|
+
this.cdr.markForCheck();
|
|
83
|
+
}
|
|
84
|
+
handleAction() {
|
|
85
|
+
this.action.emit(this.message.id);
|
|
86
|
+
if (this.message.action) {
|
|
87
|
+
this.message.action();
|
|
88
|
+
}
|
|
89
|
+
this.cdr.markForCheck();
|
|
90
|
+
}
|
|
91
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FwSnackbarTimerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
92
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwSnackbarComponent, selector: "fw-snackbar", inputs: { message: "message", messageDuration: "messageDuration" }, outputs: { ready: "ready", dismiss: "dismiss", action: "action" }, host: { properties: { "class": "this.cssClass" } }, providers: [FwSnackbarTimerService], ngImport: i0, template: "<ng-container *ngIf=\"message\">\n <fw-icon *ngIf=\"message.icon\">{{ message.icon }}</fw-icon>\n <h4 class=\"vision-h4\" *ngIf=\"message.message\">{{ message.message }}</h4>\n <fw-button\n *ngIf=\"message.actionText\" type=\"ghost\"\n [color]=\"color\" size=\"small\"\n (click)=\"handleAction()\">{{ message.actionText }}\n </fw-button>\n <fw-icon-button\n *ngIf=\"message.showClose\"\n icon=\"close\" size=\"small\" [color]=\"message.severity\"\n (click)=\"handleDismiss()\">\n </fw-icon-button>\n <div *ngIf=\"!message.actionText && !message.showClose\"></div>\n</ng-container>\n", styles: [".vision-shadow-extra-large{box-shadow:0 8px 25px #0000001a}.vision-shadow-large,fw-snackbar{box-shadow:0 5px 15px #0000001a}.vision-shadow-medium{box-shadow:0 2px 5px #0000001a}.vision-shadow-small{box-shadow:0 1px 2px #0000000d}.vision-shadow-inner{box-shadow:0 2px 4px #00000014 inset}fw-snackbar{display:flex;align-items:flex-start;box-sizing:border-box;max-width:320px;min-width:200px;min-height:30px;padding:8px 8px 8px 16px;gap:8px;transform-origin:center;background-color:var(--card-header);color:var(--typography-base);white-space:pre-wrap;border-radius:4px;border:1px solid var(--separations-border);margin:8px}fw-snackbar>fw-icon{width:24px;height:24px;font-size:24px;white-space:nowrap;margin:3px 0}fw-snackbar h4{margin:6px 0 0;flex:1}fw-snackbar.primary fw-icon{color:var(--primary-base)}fw-snackbar.danger fw-icon{color:var(--red-base)}fw-snackbar.success fw-icon{color:var(--green-base)}fw-snackbar.warning fw-icon{color:var(--orange-base)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.FwButtonComponent, selector: "fw-button", inputs: ["color", "size", "variant", "type", "disabled", "fullWidth", "leftIcon", "rightIcon"] }, { kind: "component", type: i4.FwIconButtonComponent, selector: "fw-icon-button", inputs: ["color", "icon", "size", "disabled", "selected"] }, { kind: "component", type: i5.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
93
|
+
}
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarComponent, decorators: [{
|
|
95
|
+
type: Component,
|
|
96
|
+
args: [{ selector: 'fw-snackbar', providers: [FwSnackbarTimerService], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"message\">\n <fw-icon *ngIf=\"message.icon\">{{ message.icon }}</fw-icon>\n <h4 class=\"vision-h4\" *ngIf=\"message.message\">{{ message.message }}</h4>\n <fw-button\n *ngIf=\"message.actionText\" type=\"ghost\"\n [color]=\"color\" size=\"small\"\n (click)=\"handleAction()\">{{ message.actionText }}\n </fw-button>\n <fw-icon-button\n *ngIf=\"message.showClose\"\n icon=\"close\" size=\"small\" [color]=\"message.severity\"\n (click)=\"handleDismiss()\">\n </fw-icon-button>\n <div *ngIf=\"!message.actionText && !message.showClose\"></div>\n</ng-container>\n", styles: [".vision-shadow-extra-large{box-shadow:0 8px 25px #0000001a}.vision-shadow-large,fw-snackbar{box-shadow:0 5px 15px #0000001a}.vision-shadow-medium{box-shadow:0 2px 5px #0000001a}.vision-shadow-small{box-shadow:0 1px 2px #0000000d}.vision-shadow-inner{box-shadow:0 2px 4px #00000014 inset}fw-snackbar{display:flex;align-items:flex-start;box-sizing:border-box;max-width:320px;min-width:200px;min-height:30px;padding:8px 8px 8px 16px;gap:8px;transform-origin:center;background-color:var(--card-header);color:var(--typography-base);white-space:pre-wrap;border-radius:4px;border:1px solid var(--separations-border);margin:8px}fw-snackbar>fw-icon{width:24px;height:24px;font-size:24px;white-space:nowrap;margin:3px 0}fw-snackbar h4{margin:6px 0 0;flex:1}fw-snackbar.primary fw-icon{color:var(--primary-base)}fw-snackbar.danger fw-icon{color:var(--red-base)}fw-snackbar.success fw-icon{color:var(--green-base)}fw-snackbar.warning fw-icon{color:var(--orange-base)}\n"] }]
|
|
97
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.FwSnackbarTimerService }], propDecorators: { message: [{
|
|
98
|
+
type: Input
|
|
99
|
+
}], messageDuration: [{
|
|
100
|
+
type: Input
|
|
101
|
+
}], ready: [{
|
|
102
|
+
type: Output
|
|
103
|
+
}], dismiss: [{
|
|
104
|
+
type: Output
|
|
105
|
+
}], action: [{
|
|
106
|
+
type: Output
|
|
107
|
+
}], cssClass: [{
|
|
108
|
+
type: HostBinding,
|
|
109
|
+
args: ['class']
|
|
110
|
+
}] } });
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIvc25hY2tiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIvc25hY2tiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0VBQWtFO0FBQ2xFLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7QUFXbkUsTUFBTSxPQUFPLG1CQUFtQjtJQVE5QixJQUEwQixRQUFRO1FBQ2hDLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQztRQUMvQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDM0IsT0FBTyxRQUFRLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDckMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQW9CLEdBQXNCLEVBQVUsWUFBb0M7UUFBcEUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBd0I7UUFmL0Usb0JBQWUsR0FBVyxJQUFJLENBQUM7UUFDOUIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBQ2hELFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3JDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzlDLFVBQUssR0FBaUQsU0FBUyxDQUFDO0lBWWhFLENB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QUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3hCLENBQUM7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7K0dBdEZVLG1CQUFtQjttR0FBbkIsbUJBQW1CLGlPQUxuQixDQUFDLHNCQUFzQixDQUFDLDBCQ3JCckMsaW1CQWVBOzs0RkRXYSxtQkFBbUI7a0JBVC9CLFNBQVM7K0JBQ0UsYUFBYSxhQUdaLENBQUMsc0JBQXNCLENBQUMsaUJBQ3BCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07MkhBSXRDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNJLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFHbUIsUUFBUTtzQkFBakMsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHJ4LWFuZ3VsYXIvbm8tZXhwbGljaXQtY2hhbmdlLWRldGVjdGlvbi1hcGlzICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZ3U25hY2tiYXJNZXNzYWdlIH0gZnJvbSAnLi4vc25hY2tiYXItbWVzc2FnZS5tb2RlbCc7XG5pbXBvcnQgeyBGd1NuYWNrYmFyVGltZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc25hY2tiYXItdGltZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z3LXNuYWNrYmFyJyxcbiAgc3R5bGVVcmxzOiBbJy4vc25hY2tiYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NuYWNrYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbRndTbmFja2JhclRpbWVyU2VydmljZV0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcblxuZXhwb3J0IGNsYXNzIEZ3U25hY2tiYXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQge1xuICBASW5wdXQoKSBtZXNzYWdlOiBGd1NuYWNrYmFyTWVzc2FnZTtcbiAgQElucHV0KCkgbWVzc2FnZUR1cmF0aW9uOiBudW1iZXIgPSA5MDAwO1xuICBAT3V0cHV0KCkgcmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPEZ3U25hY2tiYXJDb21wb25lbnQ+KCk7XG4gIEBPdXRwdXQoKSBkaXNtaXNzID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBhY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgY29sb3I6ICdwcmltYXJ5JyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInID0gJ3ByaW1hcnknO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBnZXQgY3NzQ2xhc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjc3NDbGFzcyA9ICdmdy1zbmFja2Jhcic7XG4gICAgaWYgKHRoaXMubWVzc2FnZT8uc2V2ZXJpdHkpIHtcbiAgICAgIHJldHVybiBjc3NDbGFzcyArICcgJyArIHRoaXMuY29sb3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjc3NDbGFzcztcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgdGltZXJTZXJ2aWNlOiBGd1NuYWNrYmFyVGltZXJTZXJ2aWNlKSB7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZWFkeS5lbWl0KHRoaXMpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgc3RhcnRUaW1lcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tZXNzYWdlICYmIHRoaXMubWVzc2FnZS5kdXJhdGlvbikge1xuICAgICAgdGhpcy5tZXNzYWdlRHVyYXRpb24gPSB0aGlzLm1lc3NhZ2UuZHVyYXRpb247XG4gICAgfVxuICAgIHRoaXMudGltZXJTZXJ2aWNlLnN0YXJ0KHRoaXMubWVzc2FnZUR1cmF0aW9uKS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlRGlzbWlzcygpO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBzdG9wVGltZXIoKTogdm9pZCB7XG4gICAgdGhpcy50aW1lclNlcnZpY2Uuc3RvcCgpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3dpdGNoICh0aGlzLm1lc3NhZ2Uuc2V2ZXJpdHkpIHtcbiAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICBpZiAoIXRoaXMubWVzc2FnZS5pY29uKSB7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlLmljb24gPSAnZG9uZS1jaGVjay10cmFja2VkJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbG9yID0gJ3N1Y2Nlc3MnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3dhcm5pbmcnOlxuICAgICAgICBpZiAoIXRoaXMubWVzc2FnZS5pY29uKSB7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlLmljb24gPSAnd2FybmluZy1jaXJjbGUnO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29sb3IgPSAnd2FybmluZyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICBpZiAoIXRoaXMubWVzc2FnZS5pY29uKSB7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlLmljb24gPSAnd2FybmluZyc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubWVzc2FnZS5zaG93Q2xvc2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRoaXMubWVzc2FnZS5zaG93Q2xvc2UgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5tZXNzYWdlLmR1cmF0aW9uKSB7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlLmR1cmF0aW9uID0gMjkwMDA7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb2xvciA9ICdkYW5nZXInO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2luZm8nOlxuICAgICAgICBpZiAoIXRoaXMubWVzc2FnZS5pY29uKSB7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlLmljb24gPSAnaW5mb3JtYXRpb24tY2lyY2xlJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbG9yID0gJ3ByaW1hcnknO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBoYW5kbGVEaXNtaXNzKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzbWlzcy5lbWl0KHRoaXMubWVzc2FnZS5pZCk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBoYW5kbGVBY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5hY3Rpb24uZW1pdCh0aGlzLm1lc3NhZ2UuaWQpO1xuICAgIGlmICh0aGlzLm1lc3NhZ2UuYWN0aW9uKSB7XG4gICAgICB0aGlzLm1lc3NhZ2UuYWN0aW9uKCk7XG4gICAgfVxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJtZXNzYWdlXCI+XG4gIDxmdy1pY29uICpuZ0lmPVwibWVzc2FnZS5pY29uXCI+e3sgbWVzc2FnZS5pY29uIH19PC9mdy1pY29uPlxuICA8aDQgY2xhc3M9XCJ2aXNpb24taDRcIiAqbmdJZj1cIm1lc3NhZ2UubWVzc2FnZVwiPnt7IG1lc3NhZ2UubWVzc2FnZSB9fTwvaDQ+XG4gIDxmdy1idXR0b25cbiAgICAqbmdJZj1cIm1lc3NhZ2UuYWN0aW9uVGV4dFwiIHR5cGU9XCJnaG9zdFwiXG4gICAgW2NvbG9yXT1cImNvbG9yXCIgc2l6ZT1cInNtYWxsXCJcbiAgICAoY2xpY2spPVwiaGFuZGxlQWN0aW9uKClcIj57eyBtZXNzYWdlLmFjdGlvblRleHQgfX1cbiAgPC9mdy1idXR0b24+XG4gIDxmdy1pY29uLWJ1dHRvblxuICAgICpuZ0lmPVwibWVzc2FnZS5zaG93Q2xvc2VcIlxuICAgIGljb249XCJjbG9zZVwiIHNpemU9XCJzbWFsbFwiIFtjb2xvcl09XCJtZXNzYWdlLnNldmVyaXR5XCJcbiAgICAoY2xpY2spPVwiaGFuZGxlRGlzbWlzcygpXCI+XG4gIDwvZnctaWNvbi1idXR0b24+XG4gIDxkaXYgKm5nSWY9XCIhbWVzc2FnZS5hY3Rpb25UZXh0ICYmICFtZXNzYWdlLnNob3dDbG9zZVwiPjwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { Subscription } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../snackbar.service";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "../../button/button.component";
|
|
7
|
+
import * as i4 from "../snackbar/snackbar.component";
|
|
8
|
+
export class FwSnackbarContainerComponent {
|
|
9
|
+
get classes() {
|
|
10
|
+
return 'fw-snackbar-container';
|
|
11
|
+
}
|
|
12
|
+
;
|
|
13
|
+
constructor(cdr, snackbarService) {
|
|
14
|
+
this.cdr = cdr;
|
|
15
|
+
this.snackbarService = snackbarService;
|
|
16
|
+
this.limit = 10;
|
|
17
|
+
this.messages = [];
|
|
18
|
+
this.subscriptions = {
|
|
19
|
+
messages: Subscription.EMPTY,
|
|
20
|
+
};
|
|
21
|
+
this.subscriptions.messages = this.snackbarService.messages$.subscribe((messages) => {
|
|
22
|
+
this.messages = messages;
|
|
23
|
+
// eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis
|
|
24
|
+
this.cdr.markForCheck();
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
ngOnDestroy() {
|
|
28
|
+
for (const subscription of Object.values(this.subscriptions)) {
|
|
29
|
+
subscription.unsubscribe();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
onReady(snackbar) {
|
|
33
|
+
const currentMessage = this.messages[this.messages.length - 1];
|
|
34
|
+
currentMessage.ref = snackbar;
|
|
35
|
+
snackbar.startTimer();
|
|
36
|
+
}
|
|
37
|
+
onDismiss(messageId) {
|
|
38
|
+
const message = this.messages.find(currentMessage => currentMessage.id === messageId);
|
|
39
|
+
if (message?.ref) {
|
|
40
|
+
message.ref.stopTimer();
|
|
41
|
+
}
|
|
42
|
+
if (message?.id) {
|
|
43
|
+
this.snackbarService.dismiss(message.id);
|
|
44
|
+
}
|
|
45
|
+
// eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis
|
|
46
|
+
this.cdr.markForCheck();
|
|
47
|
+
}
|
|
48
|
+
clearAll() {
|
|
49
|
+
this.snackbarService.dismissAll();
|
|
50
|
+
// eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis
|
|
51
|
+
this.cdr.markForCheck();
|
|
52
|
+
}
|
|
53
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarContainerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FwSnackbarService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
54
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwSnackbarContainerComponent, selector: "fw-snackbar-container", host: { properties: { "attr.class": "this.classes" } }, ngImport: i0, template: "<div role=\"list\">\n <div class=\"buttons\">\n <fw-button\n *ngIf=\"messages.length > 0\" (click)=\"clearAll()\"\n class=\"clear-all\" aria-label=\"clear all\"\n color=\"slate\" size=\"small\" type=\"ghost\">\n Clear All\n </fw-button>\n </div>\n <fw-snackbar\n *ngFor=\"let message of messages; index as $index\"\n (ready)=\"onReady($event)\"\n (dismiss)=\"onDismiss($event)\"\n [message]=\"message\"\n [attr.aria-label]=\"message.message\"\n role=\"listitem\"\n ></fw-snackbar>\n</div>\n", styles: ["fw-snackbar-container{position:fixed;right:6px;bottom:10px;z-index:999999}fw-snackbar-container .buttons{text-align:right;padding-right:10px}fw-snackbar-container .buttons fw-button{transition:opacity .1s ease-in;opacity:0}fw-snackbar-container:hover .buttons>fw-button{opacity:1}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.FwButtonComponent, selector: "fw-button", inputs: ["color", "size", "variant", "type", "disabled", "fullWidth", "leftIcon", "rightIcon"] }, { kind: "component", type: i4.FwSnackbarComponent, selector: "fw-snackbar", inputs: ["message", "messageDuration"], outputs: ["ready", "dismiss", "action"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
55
|
+
}
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarContainerComponent, decorators: [{
|
|
57
|
+
type: Component,
|
|
58
|
+
args: [{ selector: 'fw-snackbar-container', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div role=\"list\">\n <div class=\"buttons\">\n <fw-button\n *ngIf=\"messages.length > 0\" (click)=\"clearAll()\"\n class=\"clear-all\" aria-label=\"clear all\"\n color=\"slate\" size=\"small\" type=\"ghost\">\n Clear All\n </fw-button>\n </div>\n <fw-snackbar\n *ngFor=\"let message of messages; index as $index\"\n (ready)=\"onReady($event)\"\n (dismiss)=\"onDismiss($event)\"\n [message]=\"message\"\n [attr.aria-label]=\"message.message\"\n role=\"listitem\"\n ></fw-snackbar>\n</div>\n", styles: ["fw-snackbar-container{position:fixed;right:6px;bottom:10px;z-index:999999}fw-snackbar-container .buttons{text-align:right;padding-right:10px}fw-snackbar-container .buttons fw-button{transition:opacity .1s ease-in;opacity:0}fw-snackbar-container:hover .buttons>fw-button{opacity:1}\n"] }]
|
|
59
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.FwSnackbarService }], propDecorators: { classes: [{
|
|
60
|
+
type: HostBinding,
|
|
61
|
+
args: ['attr.class']
|
|
62
|
+
}] } });
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXItY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLWNvbnRhaW5lci9zbmFja2Jhci1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXItY29udGFpbmVyL3NuYWNrYmFyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxXQUFXLEVBRVgsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7OztBQWFwQyxNQUFNLE9BQU8sNEJBQTRCO0lBQ3ZDLElBQStCLE9BQU87UUFDcEMsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0lBQUEsQ0FBQztJQVNGLFlBQW9CLEdBQXNCLEVBQVUsZUFBa0M7UUFBbEUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVSxvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFQdEYsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGFBQVEsR0FBd0IsRUFBRSxDQUFDO1FBRTNCLGtCQUFhLEdBQUc7WUFDdEIsUUFBUSxFQUFFLFlBQVksQ0FBQyxLQUFLO1NBQzdCLENBQUM7UUFHQSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUE2QixFQUFFLEVBQUU7WUFDdkcsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDekIseUVBQXlFO1lBQ3pFLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULEtBQUssTUFBTSxZQUFZLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUM3RCxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsUUFBNkI7UUFDbkMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMvRCxjQUFjLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQztRQUM5QixRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFNBQVMsQ0FBQyxTQUFpQjtRQUN6QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEtBQUssU0FBUyxDQUFDLENBQUM7UUFDdEYsSUFBSSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMxQixDQUFDO1FBQ0QsSUFBSSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFDRCx5RUFBeUU7UUFDekUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEMseUVBQXlFO1FBQ3pFLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQzsrR0FoRFUsNEJBQTRCO21HQUE1Qiw0QkFBNEIscUhDckJ6Qyw0aEJBa0JBOzs0RkRHYSw0QkFBNEI7a0JBUHhDLFNBQVM7K0JBQ0UsdUJBQXVCLGlCQUdsQixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO3NIQUdoQixPQUFPO3NCQUFyQyxXQUFXO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIE9uRGVzdHJveSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZ3U25hY2tiYXJTZXJ2aWNlIH0gZnJvbSAnLi4vc25hY2tiYXIuc2VydmljZSc7XG5pbXBvcnQgeyBGd1NuYWNrYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vc25hY2tiYXIvc25hY2tiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZ3U25hY2tiYXJNZXNzYWdlIH0gZnJvbSAnLi4vc25hY2tiYXItbWVzc2FnZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z3LXNuYWNrYmFyLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbmFja2Jhci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zbmFja2Jhci1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZ3U25hY2tiYXJDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuY2xhc3MnKSBnZXQgY2xhc3NlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiAnZnctc25hY2tiYXItY29udGFpbmVyJztcbiAgfTtcblxuICBsaW1pdCA9IDEwO1xuICBtZXNzYWdlczogRndTbmFja2Jhck1lc3NhZ2VbXSA9IFtdO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyA9IHtcbiAgICBtZXNzYWdlczogU3Vic2NyaXB0aW9uLkVNUFRZLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBzbmFja2JhclNlcnZpY2U6IEZ3U25hY2tiYXJTZXJ2aWNlKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLm1lc3NhZ2VzID0gdGhpcy5zbmFja2JhclNlcnZpY2UubWVzc2FnZXMkLnN1YnNjcmliZSgobWVzc2FnZXM6IEZ3U25hY2tiYXJNZXNzYWdlW10pID0+IHtcbiAgICAgIHRoaXMubWVzc2FnZXMgPSBtZXNzYWdlcztcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAcngtYW5ndWxhci9uby1leHBsaWNpdC1jaGFuZ2UtZGV0ZWN0aW9uLWFwaXNcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2YgT2JqZWN0LnZhbHVlcyh0aGlzLnN1YnNjcmlwdGlvbnMpKSB7XG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBvblJlYWR5KHNuYWNrYmFyOiBGd1NuYWNrYmFyQ29tcG9uZW50KTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudE1lc3NhZ2UgPSB0aGlzLm1lc3NhZ2VzW3RoaXMubWVzc2FnZXMubGVuZ3RoIC0gMV07XG4gICAgY3VycmVudE1lc3NhZ2UucmVmID0gc25hY2tiYXI7XG4gICAgc25hY2tiYXIuc3RhcnRUaW1lcigpO1xuICB9XG5cbiAgb25EaXNtaXNzKG1lc3NhZ2VJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgbWVzc2FnZSA9IHRoaXMubWVzc2FnZXMuZmluZChjdXJyZW50TWVzc2FnZSA9PiBjdXJyZW50TWVzc2FnZS5pZCA9PT0gbWVzc2FnZUlkKTtcbiAgICBpZiAobWVzc2FnZT8ucmVmKSB7XG4gICAgICBtZXNzYWdlLnJlZi5zdG9wVGltZXIoKTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2U/LmlkKSB7XG4gICAgICB0aGlzLnNuYWNrYmFyU2VydmljZS5kaXNtaXNzKG1lc3NhZ2UuaWQpO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHJ4LWFuZ3VsYXIvbm8tZXhwbGljaXQtY2hhbmdlLWRldGVjdGlvbi1hcGlzXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBjbGVhckFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNuYWNrYmFyU2VydmljZS5kaXNtaXNzQWxsKCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEByeC1hbmd1bGFyL25vLWV4cGxpY2l0LWNoYW5nZS1kZXRlY3Rpb24tYXBpc1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8ZGl2IHJvbGU9XCJsaXN0XCI+XG4gIDxkaXYgY2xhc3M9XCJidXR0b25zXCI+XG4gICAgPGZ3LWJ1dHRvblxuICAgICAgKm5nSWY9XCJtZXNzYWdlcy5sZW5ndGggPiAwXCIgKGNsaWNrKT1cImNsZWFyQWxsKClcIlxuICAgICAgY2xhc3M9XCJjbGVhci1hbGxcIiBhcmlhLWxhYmVsPVwiY2xlYXIgYWxsXCJcbiAgICAgIGNvbG9yPVwic2xhdGVcIiBzaXplPVwic21hbGxcIiB0eXBlPVwiZ2hvc3RcIj5cbiAgICAgIENsZWFyIEFsbFxuICAgIDwvZnctYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGZ3LXNuYWNrYmFyXG4gICAgKm5nRm9yPVwibGV0IG1lc3NhZ2Ugb2YgbWVzc2FnZXM7IGluZGV4IGFzICRpbmRleFwiXG4gICAgKHJlYWR5KT1cIm9uUmVhZHkoJGV2ZW50KVwiXG4gICAgKGRpc21pc3MpPVwib25EaXNtaXNzKCRldmVudClcIlxuICAgIFttZXNzYWdlXT1cIm1lc3NhZ2VcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibWVzc2FnZS5tZXNzYWdlXCJcbiAgICByb2xlPVwibGlzdGl0ZW1cIlxuICA+PC9mdy1zbmFja2Jhcj5cbjwvZGl2PlxuIl19
|
|
@@ -8,21 +8,21 @@ import { FwSnackbarComponent } from './snackbar/snackbar.component';
|
|
|
8
8
|
import { FwSnackbarContainerComponent } from './snackbar-container/snackbar-container.component';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export class FwSnackbarModule {
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarModule, declarations: [FwSnackbarComponent,
|
|
13
|
+
FwSnackbarContainerComponent], imports: [CommonModule,
|
|
14
|
+
FwButtonModule,
|
|
15
|
+
FwIconButtonModule,
|
|
16
|
+
FwIconModule], exports: [FwSnackbarComponent,
|
|
17
|
+
FwSnackbarContainerComponent] }); }
|
|
18
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarModule, providers: [
|
|
19
|
+
FwSnackbarService,
|
|
20
|
+
], imports: [CommonModule,
|
|
21
|
+
FwButtonModule,
|
|
22
|
+
FwIconButtonModule,
|
|
23
|
+
FwIconModule] }); }
|
|
11
24
|
}
|
|
12
|
-
|
|
13
|
-
FwSnackbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: FwSnackbarModule, declarations: [FwSnackbarComponent,
|
|
14
|
-
FwSnackbarContainerComponent], imports: [CommonModule,
|
|
15
|
-
FwButtonModule,
|
|
16
|
-
FwIconButtonModule,
|
|
17
|
-
FwIconModule], exports: [FwSnackbarComponent,
|
|
18
|
-
FwSnackbarContainerComponent] });
|
|
19
|
-
FwSnackbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwSnackbarModule, providers: [
|
|
20
|
-
FwSnackbarService,
|
|
21
|
-
], imports: [CommonModule,
|
|
22
|
-
FwButtonModule,
|
|
23
|
-
FwIconButtonModule,
|
|
24
|
-
FwIconModule] });
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwSnackbarModule, decorators: [{
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarModule, decorators: [{
|
|
26
26
|
type: NgModule,
|
|
27
27
|
args: [{
|
|
28
28
|
imports: [
|
|
@@ -44,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
44
44
|
],
|
|
45
45
|
}]
|
|
46
46
|
}] });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbURBQW1ELENBQUM7O0FBcUJqRyxNQUFNLE9BQU8sZ0JBQWdCOytHQUFoQixnQkFBZ0I7Z0hBQWhCLGdCQUFnQixpQkFQekIsbUJBQW1CO1lBQ25CLDRCQUE0QixhQVg1QixZQUFZO1lBQ1osY0FBYztZQUNkLGtCQUFrQjtZQUNsQixZQUFZLGFBR1osbUJBQW1CO1lBQ25CLDRCQUE0QjtnSEFVbkIsZ0JBQWdCLGFBSmhCO1lBQ1QsaUJBQWlCO1NBQ2xCLFlBZkMsWUFBWTtZQUNaLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsWUFBWTs7NEZBY0gsZ0JBQWdCO2tCQW5CNUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGtCQUFrQjt3QkFDbEIsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3dCQUNuQiw0QkFBNEI7cUJBQzdCO29CQUNELFlBQVksRUFBRTt3QkFDWixtQkFBbUI7d0JBQ25CLDRCQUE0QjtxQkFDN0I7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULGlCQUFpQjtxQkFDbEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRndCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLm1vZHVsZSc7XG5pbXBvcnQgeyBGd0ljb25Nb2R1bGUgfSBmcm9tICcuLi9pY29uL2ljb24ubW9kdWxlJztcbmltcG9ydCB7IEZ3SWNvbkJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2ljb24tYnV0dG9uL2ljb24tYnV0dG9uLm1vZHVsZSc7XG5pbXBvcnQgeyBGd1NuYWNrYmFyU2VydmljZSB9IGZyb20gJy4vc25hY2tiYXIuc2VydmljZSc7XG5pbXBvcnQgeyBGd1NuYWNrYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9zbmFja2Jhci9zbmFja2Jhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRndTbmFja2JhckNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vc25hY2tiYXItY29udGFpbmVyL3NuYWNrYmFyLWNvbnRhaW5lci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZ3QnV0dG9uTW9kdWxlLFxuICAgIEZ3SWNvbkJ1dHRvbk1vZHVsZSxcbiAgICBGd0ljb25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBGd1NuYWNrYmFyQ29tcG9uZW50LFxuICAgIEZ3U25hY2tiYXJDb250YWluZXJDb21wb25lbnQsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZ3U25hY2tiYXJDb21wb25lbnQsXG4gICAgRndTbmFja2JhckNvbnRhaW5lckNvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRndTbmFja2JhclNlcnZpY2UsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZ3U25hY2tiYXJNb2R1bGUge1xufVxuIl19
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export function genMessageId() {
|
|
5
|
+
return String.prototype.padStart(24, Math.floor(Math.random() * Date.now()).toString(16));
|
|
6
|
+
}
|
|
7
|
+
export class FwSnackbarService {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.messages$ = new BehaviorSubject([]);
|
|
10
|
+
this.messageQueue = [];
|
|
11
|
+
}
|
|
12
|
+
show(message) {
|
|
13
|
+
if (!message.id) {
|
|
14
|
+
message.id = genMessageId();
|
|
15
|
+
}
|
|
16
|
+
this.messageQueue.push(message);
|
|
17
|
+
this.messages$.next(this.messageQueue);
|
|
18
|
+
}
|
|
19
|
+
dismiss(messageId) {
|
|
20
|
+
this.messageQueue = this.messageQueue.filter((v) => v.id !== messageId);
|
|
21
|
+
this.messages$.next(this.messageQueue);
|
|
22
|
+
}
|
|
23
|
+
dismissAll() {
|
|
24
|
+
this.messageQueue = [];
|
|
25
|
+
this.messages$.next(this.messageQueue);
|
|
26
|
+
}
|
|
27
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
28
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarService, providedIn: 'root' }); }
|
|
29
|
+
}
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwSnackbarService, decorators: [{
|
|
31
|
+
type: Injectable,
|
|
32
|
+
args: [{
|
|
33
|
+
providedIn: 'root',
|
|
34
|
+
}]
|
|
35
|
+
}] });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUl2QyxNQUFNLFVBQVUsWUFBWTtJQUMxQixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM1RixDQUFDO0FBS0QsTUFBTSxPQUFPLGlCQUFpQjtJQUg5QjtRQUlXLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBc0IsRUFBRSxDQUFDLENBQUM7UUFDMUQsaUJBQVksR0FBd0IsRUFBRSxDQUFDO0tBb0JoRDtJQWxCQyxJQUFJLENBQUMsT0FBMEI7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsRUFBRSxHQUFHLFlBQVksRUFBRSxDQUFDO1FBQzlCLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE9BQU8sQ0FBQyxTQUFpQjtRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6QyxDQUFDOytHQXJCVSxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQUZoQixNQUFNOzs0RkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZ3U25hY2tiYXJNZXNzYWdlIH0gZnJvbSAnLi9zbmFja2Jhci1tZXNzYWdlLm1vZGVsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdlbk1lc3NhZ2VJZCgpOiBzdHJpbmcge1xuICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS5wYWRTdGFydCgyNCwgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogRGF0ZS5ub3coKSkudG9TdHJpbmcoMTYpKTtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZ3U25hY2tiYXJTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgbWVzc2FnZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGd1NuYWNrYmFyTWVzc2FnZVtdPihbXSk7XG4gIHByaXZhdGUgbWVzc2FnZVF1ZXVlOiBGd1NuYWNrYmFyTWVzc2FnZVtdID0gW107XG5cbiAgc2hvdyhtZXNzYWdlOiBGd1NuYWNrYmFyTWVzc2FnZSk6IHZvaWQge1xuICAgIGlmICghbWVzc2FnZS5pZCkge1xuICAgICAgbWVzc2FnZS5pZCA9IGdlbk1lc3NhZ2VJZCgpO1xuICAgIH1cblxuICAgIHRoaXMubWVzc2FnZVF1ZXVlLnB1c2gobWVzc2FnZSk7XG4gICAgdGhpcy5tZXNzYWdlcyQubmV4dCh0aGlzLm1lc3NhZ2VRdWV1ZSk7XG4gIH1cblxuICBkaXNtaXNzKG1lc3NhZ2VJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5tZXNzYWdlUXVldWUgPSB0aGlzLm1lc3NhZ2VRdWV1ZS5maWx0ZXIoKHYpID0+IHYuaWQgIT09IG1lc3NhZ2VJZCk7XG4gICAgdGhpcy5tZXNzYWdlcyQubmV4dCh0aGlzLm1lc3NhZ2VRdWV1ZSk7XG4gIH1cblxuICBkaXNtaXNzQWxsKCk6IHZvaWQge1xuICAgIHRoaXMubWVzc2FnZVF1ZXVlID0gW107XG4gICAgdGhpcy5tZXNzYWdlcyQubmV4dCh0aGlzLm1lc3NhZ2VRdWV1ZSk7XG4gIH1cbn1cblxuIl19
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "../icon/icon.component";
|
|
5
|
+
export class FwStepComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.color = 'slate';
|
|
8
|
+
this.variant = 'number';
|
|
9
|
+
this.alignment = 'left';
|
|
10
|
+
this.backgroundColor = 'var(--card-background)';
|
|
11
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
12
|
+
this.select = new EventEmitter();
|
|
13
|
+
}
|
|
14
|
+
handleClick() {
|
|
15
|
+
if (this.completed && !this.done && !this.disabled) {
|
|
16
|
+
this.select.emit(this.stepNumber);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
ngOnChanges(changes) {
|
|
20
|
+
if (changes.status) {
|
|
21
|
+
this.active = false;
|
|
22
|
+
this.disabled = false;
|
|
23
|
+
this.completed = false;
|
|
24
|
+
this.done = false;
|
|
25
|
+
this.color = 'slate';
|
|
26
|
+
switch (changes.status.currentValue) {
|
|
27
|
+
case 'active':
|
|
28
|
+
this.active = true;
|
|
29
|
+
break;
|
|
30
|
+
case 'completed':
|
|
31
|
+
this.completed = true;
|
|
32
|
+
break;
|
|
33
|
+
case 'done':
|
|
34
|
+
this.done = true;
|
|
35
|
+
break;
|
|
36
|
+
case 'disabled':
|
|
37
|
+
this.disabled = true;
|
|
38
|
+
break;
|
|
39
|
+
case 'error':
|
|
40
|
+
this.color = 'error';
|
|
41
|
+
break;
|
|
42
|
+
case 'warning':
|
|
43
|
+
this.color = 'warning';
|
|
44
|
+
break;
|
|
45
|
+
case 'info':
|
|
46
|
+
this.color = 'info';
|
|
47
|
+
break;
|
|
48
|
+
case 'default':
|
|
49
|
+
default:
|
|
50
|
+
// handled in init
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (changes.active && changes.active.previousValue === false) {
|
|
55
|
+
this.status = 'active';
|
|
56
|
+
}
|
|
57
|
+
if (changes.completed && changes.completed.previousValue === false) {
|
|
58
|
+
this.status = 'completed';
|
|
59
|
+
}
|
|
60
|
+
if (changes.done && changes.done.previousValue === false) {
|
|
61
|
+
this.status = 'done';
|
|
62
|
+
}
|
|
63
|
+
if (changes.disabled && changes.disabled.previousValue === false) {
|
|
64
|
+
this.status = 'disabled';
|
|
65
|
+
}
|
|
66
|
+
if (this.color === 'slate' && !this.active && !this.completed && !this.done && !this.disabled) {
|
|
67
|
+
this.status = 'default';
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwStepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
71
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwStepComponent, selector: "fw-step", inputs: { stepNumber: "stepNumber", color: "color", variant: "variant", alignment: "alignment", backgroundColor: "backgroundColor", title: "title", description: "description", icon: "icon", disabled: "disabled", active: "active", completed: "completed", done: "done", status: "status" }, outputs: { select: "select" }, usesOnChanges: true, ngImport: i0, template: "<div\n [ngClass]=\"['step-wrapper', 'step-color-'+color, 'step-alignment-'+alignment]\"\n [class.disabled]=\"disabled\"\n [class.active]=\"active\"\n [class.completed]=\"completed\"\n [class.done]=\"done\"\n (click)=\"handleClick()\">\n <div class=\"step-connector\"></div>\n <div class=\"step-content\" [style]=\"{backgroundColor: backgroundColor}\">\n <div\n class=\"step-decorator-wrapper\"\n [style]=\"{outlineColor: backgroundColor, backgroundColor: backgroundColor}\">\n <div *ngIf=\"done; else notDone\" class=\"step-done\" [style]=\"{outlineColor: backgroundColor}\">\n <fw-icon size=\"small\">done-check</fw-icon>\n </div>\n </div>\n <ng-template #notDone>\n <div *ngIf=\"variant==='number'\" class=\"step-number\">\n <h5 class=\"vision-h5\">{{ stepNumber }}</h5>\n </div>\n <div *ngIf=\"variant==='icon'\" class=\"step-icon\">\n <fw-icon size=\"small\">{{ icon }}</fw-icon>\n </div>\n <div *ngIf=\"variant==='decorator'\" class=\"step-decorator\">\n <ng-content select=\"fw-step-decorator\"></ng-content>\n </div>\n </ng-template>\n <div class=\"step-text\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n </div>\n</div>\n", styles: [":host{box-sizing:border-box;position:relative;flex:1;display:flex;align-items:flex-start;justify-content:center}:host .step-connector{position:absolute;left:-50%;right:0;top:17px;height:1px;width:100%;background-color:var(--separations-base);z-index:49}:host:first-of-type .step-connector{display:none}:host .step-content{position:relative;z-index:50}:host .step-number{box-sizing:border-box;display:flex;width:24px;height:24px;margin:5px 8px;padding:9px;flex-direction:column;justify-content:center;align-items:center;border-radius:64px;border:1px solid var(--separations-base);background:var(--slate-hover)}:host .step-number h5{color:inherit;margin:0}:host .step-icon{box-sizing:border-box;display:flex;width:24px;height:24px;margin:5px 8px;flex-direction:column;justify-content:center;align-items:center;background-color:var(--card-background);color:var(--typography-muted);font-size:24px}:host .step-decorator{box-sizing:border-box;display:flex;width:24px;height:24px;margin:5px 8px;flex-direction:column;justify-content:center;align-items:center;background-color:var(--card-background);font-size:24px}:host .step-done{box-sizing:border-box;display:flex;width:24px;height:24px;margin:5px 8px;flex-direction:column;justify-content:center;align-items:center;border-radius:64px;color:var(--typography-contrast);background-color:var(--green-base);font-size:16px}:host .step-text{flex:1;display:flex;flex-direction:column;justify-content:center;color:var(--typography-muted);font-size:14px;font-weight:500;line-height:130%}:host .step-text h4{margin:0;white-space:nowrap;color:var(--typography-muted)}:host .step-text p{margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-y:hidden;text-overflow:ellipsis}:host .step-text .description{color:var(--typography-muted);font-size:10px;font-weight:400;line-height:12px}:host .step-alignment-center .step-content{background-color:transparent!important;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}:host .step-alignment-center .step-content .step-text{align-items:center}:host .step-alignment-left .step-content{background-color:var(--card-background);padding-right:10px;display:flex;flex-direction:row}:host .active .step-number{background-color:transparent;border:1px solid var(--primary-base);color:var(--primary-base)}:host .active .step-icon{color:var(--primary-base)}:host .active .step-text{color:var(--primary-base)}:host .active .step-text h4{color:var(--primary-base)}:host .active .step-connector{background-color:var(--primary-base)}:host .completed .step-number,:host .completed .step-icon{background-color:var(--primary-base);border:1px solid var(--primary-base);color:var(--typography-contrast)}:host .completed .step-icon{background-color:transparent;border:none;color:var(--primary-base)}:host .completed .step-text{color:var(--typography-base)}:host .completed .step-text h4{color:var(--typography-base)}:host .completed .step-connector{background-color:var(--primary-base)}:host .completed:not(.done){cursor:pointer}:host .done .step-connector{background-color:var(--green-base)}:host .step-color-error .step-number{background-color:var(--red-hover);color:var(--red-base)}:host .step-color-error .step-icon{color:var(--red-base)}:host .step-color-error .step-text{color:var(--red-base)}:host .step-color-error .step-text h4{color:var(--red-base)}:host .step-color-error .step-text .description{color:var(--red-base)}:host .step-color-error.active{color:var(--red-base)}:host .step-color-error.active .step-number{border-color:var(--red-base);color:var(--red-base)}:host .step-color-error.completed .step-number{color:var(--typography-contrast);border-color:var(--red-base);background-color:var(--red-base)}:host .step-color-error.completed .step-icon{background-color:transparent;border:none}:host .step-color-warning .step-number{background-color:var(--orange-hover);color:var(--orange-base)}:host .step-color-warning .step-icon{color:var(--orange-base)}:host .step-color-warning .step-text{color:var(--orange-base)}:host .step-color-warning .step-text h4{color:var(--orange-base)}:host .step-color-warning .step-text .description{color:var(--orange-base)}:host .step-color-warning.active{color:var(--orange-base)}:host .step-color-warning.active .step-number{border-color:var(--orange-base);color:var(--orange-base)}:host .step-color-warning.completed .step-number{color:var(--typography-contrast);border-color:var(--orange-base);background-color:var(--orange-base)}:host .step-color-warning.completed .step-icon{background-color:transparent;border:none}:host .step-color-success .step-number{background-color:var(--green-hover);color:var(--green-base)}:host .step-color-success .step-icon{color:var(--green-base)}:host .step-color-success .step-text{color:var(--green-base)}:host .step-color-success .step-text h4{color:var(--green-base)}:host .step-color-success .step-text .description{color:var(--green-base)}:host .step-color-success.active{color:var(--green-base)}:host .step-color-success.active .step-number{border-color:var(--green-base);color:var(--green-base)}:host .step-color-success.completed .step-number{color:var(--typography-contrast);border-color:var(--green-base);background-color:var(--green-base)}:host .step-color-success.completed .step-icon{background-color:transparent;border:none}:host .step-color-info .step-number{background-color:var(--primary-hover);color:var(--primary-base)}:host .step-color-info .step-icon{color:var(--primary-base)}:host .step-color-info .step-text{color:var(--primary-base)}:host .step-color-info .step-text h4{color:var(--primary-base)}:host .step-color-info .step-text .description{color:var(--primary-base)}:host .step-color-info.active{color:var(--primary-base)}:host .step-color-info.active .step-number{background-color:var(--typography-contrast);border-color:var(--primary-base);color:var(--primary-base)}:host .step-color-info.completed .step-number{color:var(--typography-contrast);border-color:var(--primary-base);background-color:var(--primary-base)}:host .step-color-info.completed .step-icon{background-color:transparent;border:none}:host .disabled .step-text{color:var(--typography-muted);opacity:.4}:host .disabled .step-text h4{color:var(--typography-muted)}:host .disabled .step-text .description{color:var(--typography-muted)}:host .disabled .step-number{color:var(--typography-muted);border-color:var(--separations-base);background-color:var(--slate-focus)}:host .disabled .step-icon{opacity:.4;color:var(--typography-muted);background-color:var(--typography-contrast);border-color:var(--typography-contrast)}\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.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }] }); }
|
|
72
|
+
}
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwStepComponent, decorators: [{
|
|
74
|
+
type: Component,
|
|
75
|
+
args: [{ selector: 'fw-step', template: "<div\n [ngClass]=\"['step-wrapper', 'step-color-'+color, 'step-alignment-'+alignment]\"\n [class.disabled]=\"disabled\"\n [class.active]=\"active\"\n [class.completed]=\"completed\"\n [class.done]=\"done\"\n (click)=\"handleClick()\">\n <div class=\"step-connector\"></div>\n <div class=\"step-content\" [style]=\"{backgroundColor: backgroundColor}\">\n <div\n class=\"step-decorator-wrapper\"\n [style]=\"{outlineColor: backgroundColor, backgroundColor: backgroundColor}\">\n <div *ngIf=\"done; else notDone\" class=\"step-done\" [style]=\"{outlineColor: backgroundColor}\">\n <fw-icon size=\"small\">done-check</fw-icon>\n </div>\n </div>\n <ng-template #notDone>\n <div *ngIf=\"variant==='number'\" class=\"step-number\">\n <h5 class=\"vision-h5\">{{ stepNumber }}</h5>\n </div>\n <div *ngIf=\"variant==='icon'\" class=\"step-icon\">\n <fw-icon size=\"small\">{{ icon }}</fw-icon>\n </div>\n <div *ngIf=\"variant==='decorator'\" class=\"step-decorator\">\n <ng-content select=\"fw-step-decorator\"></ng-content>\n </div>\n </ng-template>\n <div class=\"step-text\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n </div>\n</div>\n", styles: [":host{box-sizing:border-box;position:relative;flex:1;display:flex;align-items:flex-start;justify-content:center}:host .step-connector{position:absolute;left:-50%;right:0;top:17px;height:1px;width:100%;background-color:var(--separations-base);z-index:49}:host:first-of-type .step-connector{display:none}:host .step-content{position:relative;z-index:50}:host .step-number{box-sizing:border-box;display:flex;width:24px;height:24px;margin:5px 8px;padding:9px;flex-direction:column;justify-content:center;align-items:center;border-radius:64px;border:1px solid var(--separations-base);background:var(--slate-hover)}:host .step-number h5{color:inherit;margin:0}:host .step-icon{box-sizing:border-box;display:flex;width:24px;height:24px;margin:5px 8px;flex-direction:column;justify-content:center;align-items:center;background-color:var(--card-background);color:var(--typography-muted);font-size:24px}:host .step-decorator{box-sizing:border-box;display:flex;width:24px;height:24px;margin:5px 8px;flex-direction:column;justify-content:center;align-items:center;background-color:var(--card-background);font-size:24px}:host .step-done{box-sizing:border-box;display:flex;width:24px;height:24px;margin:5px 8px;flex-direction:column;justify-content:center;align-items:center;border-radius:64px;color:var(--typography-contrast);background-color:var(--green-base);font-size:16px}:host .step-text{flex:1;display:flex;flex-direction:column;justify-content:center;color:var(--typography-muted);font-size:14px;font-weight:500;line-height:130%}:host .step-text h4{margin:0;white-space:nowrap;color:var(--typography-muted)}:host .step-text p{margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-y:hidden;text-overflow:ellipsis}:host .step-text .description{color:var(--typography-muted);font-size:10px;font-weight:400;line-height:12px}:host .step-alignment-center .step-content{background-color:transparent!important;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}:host .step-alignment-center .step-content .step-text{align-items:center}:host .step-alignment-left .step-content{background-color:var(--card-background);padding-right:10px;display:flex;flex-direction:row}:host .active .step-number{background-color:transparent;border:1px solid var(--primary-base);color:var(--primary-base)}:host .active .step-icon{color:var(--primary-base)}:host .active .step-text{color:var(--primary-base)}:host .active .step-text h4{color:var(--primary-base)}:host .active .step-connector{background-color:var(--primary-base)}:host .completed .step-number,:host .completed .step-icon{background-color:var(--primary-base);border:1px solid var(--primary-base);color:var(--typography-contrast)}:host .completed .step-icon{background-color:transparent;border:none;color:var(--primary-base)}:host .completed .step-text{color:var(--typography-base)}:host .completed .step-text h4{color:var(--typography-base)}:host .completed .step-connector{background-color:var(--primary-base)}:host .completed:not(.done){cursor:pointer}:host .done .step-connector{background-color:var(--green-base)}:host .step-color-error .step-number{background-color:var(--red-hover);color:var(--red-base)}:host .step-color-error .step-icon{color:var(--red-base)}:host .step-color-error .step-text{color:var(--red-base)}:host .step-color-error .step-text h4{color:var(--red-base)}:host .step-color-error .step-text .description{color:var(--red-base)}:host .step-color-error.active{color:var(--red-base)}:host .step-color-error.active .step-number{border-color:var(--red-base);color:var(--red-base)}:host .step-color-error.completed .step-number{color:var(--typography-contrast);border-color:var(--red-base);background-color:var(--red-base)}:host .step-color-error.completed .step-icon{background-color:transparent;border:none}:host .step-color-warning .step-number{background-color:var(--orange-hover);color:var(--orange-base)}:host .step-color-warning .step-icon{color:var(--orange-base)}:host .step-color-warning .step-text{color:var(--orange-base)}:host .step-color-warning .step-text h4{color:var(--orange-base)}:host .step-color-warning .step-text .description{color:var(--orange-base)}:host .step-color-warning.active{color:var(--orange-base)}:host .step-color-warning.active .step-number{border-color:var(--orange-base);color:var(--orange-base)}:host .step-color-warning.completed .step-number{color:var(--typography-contrast);border-color:var(--orange-base);background-color:var(--orange-base)}:host .step-color-warning.completed .step-icon{background-color:transparent;border:none}:host .step-color-success .step-number{background-color:var(--green-hover);color:var(--green-base)}:host .step-color-success .step-icon{color:var(--green-base)}:host .step-color-success .step-text{color:var(--green-base)}:host .step-color-success .step-text h4{color:var(--green-base)}:host .step-color-success .step-text .description{color:var(--green-base)}:host .step-color-success.active{color:var(--green-base)}:host .step-color-success.active .step-number{border-color:var(--green-base);color:var(--green-base)}:host .step-color-success.completed .step-number{color:var(--typography-contrast);border-color:var(--green-base);background-color:var(--green-base)}:host .step-color-success.completed .step-icon{background-color:transparent;border:none}:host .step-color-info .step-number{background-color:var(--primary-hover);color:var(--primary-base)}:host .step-color-info .step-icon{color:var(--primary-base)}:host .step-color-info .step-text{color:var(--primary-base)}:host .step-color-info .step-text h4{color:var(--primary-base)}:host .step-color-info .step-text .description{color:var(--primary-base)}:host .step-color-info.active{color:var(--primary-base)}:host .step-color-info.active .step-number{background-color:var(--typography-contrast);border-color:var(--primary-base);color:var(--primary-base)}:host .step-color-info.completed .step-number{color:var(--typography-contrast);border-color:var(--primary-base);background-color:var(--primary-base)}:host .step-color-info.completed .step-icon{background-color:transparent;border:none}:host .disabled .step-text{color:var(--typography-muted);opacity:.4}:host .disabled .step-text h4{color:var(--typography-muted)}:host .disabled .step-text .description{color:var(--typography-muted)}:host .disabled .step-number{color:var(--typography-muted);border-color:var(--separations-base);background-color:var(--slate-focus)}:host .disabled .step-icon{opacity:.4;color:var(--typography-muted);background-color:var(--typography-contrast);border-color:var(--typography-contrast)}\n"] }]
|
|
76
|
+
}], propDecorators: { stepNumber: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}], color: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], variant: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], alignment: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], backgroundColor: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], title: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], description: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], icon: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}], disabled: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}], active: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}], completed: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}], done: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], status: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], select: [{
|
|
103
|
+
type: Output
|
|
104
|
+
}] } });
|
|
105
|
+
export class FwStepDecoratorComponent {
|
|
106
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwStepDecoratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
107
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwStepDecoratorComponent, selector: "fw-step-decorator", ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
|
|
108
|
+
}
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwStepDecoratorComponent, decorators: [{
|
|
110
|
+
type: Component,
|
|
111
|
+
args: [{ selector: 'fw-step-decorator', template: '<ng-content></ng-content>' }]
|
|
112
|
+
}] });
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9zdGVwcGVyL3N0ZXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc3RlcHBlci9zdGVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7O0FBU2pHLE1BQU0sT0FBTyxlQUFlO0lBTDVCO1FBT1csVUFBSyxHQUF3RCxPQUFPLENBQUM7UUFDckUsWUFBTyxHQUFxQyxRQUFRLENBQUM7UUFDckQsY0FBUyxHQUF1QixNQUFNLENBQUM7UUFDdkMsb0JBQWUsR0FBWSx3QkFBd0IsQ0FBQztRQVM3RCw0REFBNEQ7UUFDbEQsV0FBTSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0tBMkRyRTtJQXpEQyxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7WUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7WUFDckIsUUFBUSxPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNwQyxLQUFLLFFBQVE7b0JBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7b0JBQ25CLE1BQU07Z0JBQ1IsS0FBSyxXQUFXO29CQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO29CQUN0QixNQUFNO2dCQUNSLEtBQUssTUFBTTtvQkFDVCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztvQkFDakIsTUFBTTtnQkFDUixLQUFLLFVBQVU7b0JBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7b0JBQ3JCLE1BQU07Z0JBQ1IsS0FBSyxPQUFPO29CQUNWLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO29CQUNyQixNQUFNO2dCQUNSLEtBQUssU0FBUztvQkFDWixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztvQkFDdkIsTUFBTTtnQkFDUixLQUFLLE1BQU07b0JBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7b0JBQ3BCLE1BQU07Z0JBQ1IsS0FBSyxTQUFTLENBQUM7Z0JBQ2Y7b0JBQ0Usa0JBQWtCO29CQUNsQixNQUFNO1lBQ1YsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDN0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7UUFDekIsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLGFBQWEsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNuRSxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQztRQUM1QixDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3pELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDakUsSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUM7UUFDM0IsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDOUYsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7K0dBekVVLGVBQWU7bUdBQWYsZUFBZSxtWUNUNUIseXpDQWlDQTs7NEZEeEJhLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsU0FBUzs4QkFLVixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNOztBQWtFVCxNQUFNLE9BQU8sd0JBQXdCOytHQUF4Qix3QkFBd0I7bUdBQXhCLHdCQUF3Qix5REFIekIsMkJBQTJCOzs0RkFHMUIsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLG1CQUFtQixZQUNuQiwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vaWNvbi9pY29uLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctc3RlcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGVwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3RlcC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGd1N0ZXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBzdGVwTnVtYmVyOiBudW1iZXI7XG4gIEBJbnB1dCgpIGNvbG9yPzogJ3NsYXRlJyB8ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAnd2FybmluZycgfCAnaW5mbycgPSAnc2xhdGUnO1xuICBASW5wdXQoKSB2YXJpYW50PzogJ251bWJlcicgfCAnaWNvbicgfCAnZGVjb3JhdG9yJyA9ICdudW1iZXInO1xuICBASW5wdXQoKSBhbGlnbm1lbnQ/OiAnbGVmdCcgfCAnY2VudGVyJyA9ICdsZWZ0JztcbiAgQElucHV0KCkgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nID0gJ3ZhcigtLWNhcmQtYmFja2dyb3VuZCknO1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgQElucHV0KCkgaWNvbj86IEljb25UeXBlO1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFjdGl2ZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNvbXBsZXRlZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRvbmU/OiBib29sZWFuO1xuICBASW5wdXQoKSBzdGF0dXM/OiAnZGVmYXVsdCcgfCAnYWN0aXZlJyB8ICdjb21wbGV0ZWQnIHwgJ2RvbmUnIHwgJ2Rpc2FibGVkJyB8ICdlcnJvcicgfCAnd2FybmluZycgfCAnaW5mbyc7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgc2VsZWN0OiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGhhbmRsZUNsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbXBsZXRlZCAmJiAhdGhpcy5kb25lICYmICF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnNlbGVjdC5lbWl0KHRoaXMuc3RlcE51bWJlcik7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLnN0YXR1cykge1xuICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuY29tcGxldGVkID0gZmFsc2U7XG4gICAgICB0aGlzLmRvbmUgPSBmYWxzZTtcbiAgICAgIHRoaXMuY29sb3IgPSAnc2xhdGUnO1xuICAgICAgc3dpdGNoIChjaGFuZ2VzLnN0YXR1cy5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgY2FzZSAnYWN0aXZlJzpcbiAgICAgICAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2NvbXBsZXRlZCc6XG4gICAgICAgICAgdGhpcy5jb21wbGV0ZWQgPSB0cnVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdkb25lJzpcbiAgICAgICAgICB0aGlzLmRvbmUgPSB0cnVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdkaXNhYmxlZCc6XG4gICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgICB0aGlzLmNvbG9yID0gJ2Vycm9yJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgICAgdGhpcy5jb2xvciA9ICd3YXJuaW5nJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgdGhpcy5jb2xvciA9ICdpbmZvJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnZGVmYXVsdCc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgLy8gaGFuZGxlZCBpbiBpbml0XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmFjdGl2ZSAmJiBjaGFuZ2VzLmFjdGl2ZS5wcmV2aW91c1ZhbHVlID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5zdGF0dXMgPSAnYWN0aXZlJztcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuY29tcGxldGVkICYmIGNoYW5nZXMuY29tcGxldGVkLnByZXZpb3VzVmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLnN0YXR1cyA9ICdjb21wbGV0ZWQnO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5kb25lICYmIGNoYW5nZXMuZG9uZS5wcmV2aW91c1ZhbHVlID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5zdGF0dXMgPSAnZG9uZSc7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmRpc2FibGVkICYmIGNoYW5nZXMuZGlzYWJsZWQucHJldmlvdXNWYWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuc3RhdHVzID0gJ2Rpc2FibGVkJztcbiAgICB9XG4gICAgaWYgKHRoaXMuY29sb3IgPT09ICdzbGF0ZScgJiYgIXRoaXMuYWN0aXZlICYmICF0aGlzLmNvbXBsZXRlZCAmJiAhdGhpcy5kb25lICYmICF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnN0YXR1cyA9ICdkZWZhdWx0JztcbiAgICB9XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctc3RlcC1kZWNvcmF0b3InLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdHlsZVVybHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBGd1N0ZXBEZWNvcmF0b3JDb21wb25lbnQge1xufVxuIiwiPGRpdlxuICBbbmdDbGFzc109XCJbJ3N0ZXAtd3JhcHBlcicsICdzdGVwLWNvbG9yLScrY29sb3IsICdzdGVwLWFsaWdubWVudC0nK2FsaWdubWVudF1cIlxuICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVwiXG4gIFtjbGFzcy5jb21wbGV0ZWRdPVwiY29tcGxldGVkXCJcbiAgW2NsYXNzLmRvbmVdPVwiZG9uZVwiXG4gIChjbGljayk9XCJoYW5kbGVDbGljaygpXCI+XG4gIDxkaXYgY2xhc3M9XCJzdGVwLWNvbm5lY3RvclwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic3RlcC1jb250ZW50XCIgW3N0eWxlXT1cIntiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRDb2xvcn1cIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInN0ZXAtZGVjb3JhdG9yLXdyYXBwZXJcIlxuICAgICAgW3N0eWxlXT1cIntvdXRsaW5lQ29sb3I6IGJhY2tncm91bmRDb2xvciwgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kQ29sb3J9XCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZG9uZTsgZWxzZSBub3REb25lXCIgY2xhc3M9XCJzdGVwLWRvbmVcIiBbc3R5bGVdPVwie291dGxpbmVDb2xvcjogYmFja2dyb3VuZENvbG9yfVwiPlxuICAgICAgICA8ZnctaWNvbiBzaXplPVwic21hbGxcIj5kb25lLWNoZWNrPC9mdy1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG5nLXRlbXBsYXRlICNub3REb25lPlxuICAgICAgPGRpdiAqbmdJZj1cInZhcmlhbnQ9PT0nbnVtYmVyJ1wiIGNsYXNzPVwic3RlcC1udW1iZXJcIj5cbiAgICAgICAgPGg1IGNsYXNzPVwidmlzaW9uLWg1XCI+e3sgc3RlcE51bWJlciB9fTwvaDU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJ2YXJpYW50PT09J2ljb24nXCIgY2xhc3M9XCJzdGVwLWljb25cIj5cbiAgICAgICAgPGZ3LWljb24gc2l6ZT1cInNtYWxsXCI+e3sgaWNvbiB9fTwvZnctaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cInZhcmlhbnQ9PT0nZGVjb3JhdG9yJ1wiIGNsYXNzPVwic3RlcC1kZWNvcmF0b3JcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctc3RlcC1kZWNvcmF0b3JcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJzdGVwLXRleHRcIj5cbiAgICAgIDxoNCBjbGFzcz1cInZpc2lvbi1oNFwiPnt7IHRpdGxlIH19PC9oND5cbiAgICAgIDxwICpuZ0lmPVwiZGVzY3JpcHRpb25cIiBjbGFzcz1cInZpc2lvbi1wNCBkZXNjcmlwdGlvblwiPnt7IGRlc2NyaXB0aW9uIH19PC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { Component, ContentChildren, EventEmitter, HostBinding, Input, Output, } from '@angular/core';
|
|
2
|
+
import { FwStepComponent } from './step.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/platform-browser";
|
|
5
|
+
export class FwStepperComponent {
|
|
6
|
+
get style() {
|
|
7
|
+
return this.sanitizer.bypassSecurityTrustStyle(`
|
|
8
|
+
display: flex;
|
|
9
|
+
background-color: ${this.backgroundColor};
|
|
10
|
+
`);
|
|
11
|
+
}
|
|
12
|
+
constructor(sanitizer) {
|
|
13
|
+
this.sanitizer = sanitizer;
|
|
14
|
+
this.activeStep = 1;
|
|
15
|
+
this.alignment = 'left';
|
|
16
|
+
this.backgroundColor = 'var(--card-background)';
|
|
17
|
+
this.stepChange = new EventEmitter();
|
|
18
|
+
this.subscriptions = [];
|
|
19
|
+
}
|
|
20
|
+
ngOnDestroy() {
|
|
21
|
+
for (const subscription of this.subscriptions) {
|
|
22
|
+
subscription.unsubscribe();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
ngOnChanges(changes) {
|
|
26
|
+
if (changes) {
|
|
27
|
+
this.updateSteps();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
ngAfterContentInit() {
|
|
31
|
+
this.steps.forEach(step => {
|
|
32
|
+
const sub = step.select.subscribe(step => this.handleSelect(step));
|
|
33
|
+
this.subscriptions.push(sub);
|
|
34
|
+
});
|
|
35
|
+
this.updateSteps();
|
|
36
|
+
}
|
|
37
|
+
handleSelect(step) {
|
|
38
|
+
this.activeStep = step;
|
|
39
|
+
this.stepChange.emit(parseInt(step.toString())); // weirdly passing out step directly fails the eqeqeq
|
|
40
|
+
this.updateSteps();
|
|
41
|
+
}
|
|
42
|
+
updateSteps() {
|
|
43
|
+
if (this.steps && this.steps.length > 0) {
|
|
44
|
+
this.steps.forEach(step => {
|
|
45
|
+
if (step.stepNumber < this.activeStep) {
|
|
46
|
+
step.completed = true;
|
|
47
|
+
step.active = false;
|
|
48
|
+
step.done = false;
|
|
49
|
+
step.backgroundColor = this.backgroundColor;
|
|
50
|
+
step.alignment = this.alignment;
|
|
51
|
+
}
|
|
52
|
+
if (step.stepNumber.toString() === this.activeStep.toString()) {
|
|
53
|
+
step.completed = false;
|
|
54
|
+
step.active = true;
|
|
55
|
+
step.done = false;
|
|
56
|
+
step.backgroundColor = this.backgroundColor;
|
|
57
|
+
step.alignment = this.alignment;
|
|
58
|
+
}
|
|
59
|
+
if (step.stepNumber > this.activeStep) {
|
|
60
|
+
step.completed = false;
|
|
61
|
+
step.active = false;
|
|
62
|
+
step.done = false;
|
|
63
|
+
step.backgroundColor = this.backgroundColor;
|
|
64
|
+
step.alignment = this.alignment;
|
|
65
|
+
}
|
|
66
|
+
if (Boolean(this.doneStep) && step.stepNumber <= this.doneStep) {
|
|
67
|
+
step.done = true;
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwStepperComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
73
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwStepperComponent, selector: "fw-stepper", inputs: { activeStep: "activeStep", doneStep: "doneStep", alignment: "alignment", backgroundColor: "backgroundColor" }, outputs: { stepChange: "stepChange" }, host: { properties: { "style": "this.style" } }, queries: [{ propertyName: "steps", predicate: FwStepComponent }], usesOnChanges: true, ngImport: i0, template: '<ng-content select="fw-step"></ng-content>', isInline: true }); }
|
|
74
|
+
}
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwStepperComponent, decorators: [{
|
|
76
|
+
type: Component,
|
|
77
|
+
args: [{ selector: 'fw-stepper', template: '<ng-content select="fw-step"></ng-content>' }]
|
|
78
|
+
}], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { activeStep: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], doneStep: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], alignment: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], backgroundColor: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], stepChange: [{
|
|
87
|
+
type: Output
|
|
88
|
+
}], steps: [{
|
|
89
|
+
type: ContentChildren,
|
|
90
|
+
args: [FwStepComponent]
|
|
91
|
+
}], style: [{
|
|
92
|
+
type: HostBinding,
|
|
93
|
+
args: ['style']
|
|
94
|
+
}] } });
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUdMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQU9uRCxNQUFNLE9BQU8sa0JBQWtCO0lBUTdCLElBQTBCLEtBQUs7UUFDN0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDOzswQkFFekIsSUFBSSxDQUFDLGVBQWU7S0FDekMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUlELFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFoQmxDLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFFdkIsY0FBUyxHQUF1QixNQUFNLENBQUM7UUFDdkMsb0JBQWUsR0FBWSx3QkFBd0IsQ0FBQztRQUNuRCxlQUFVLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFVaEUsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO0lBRzNDLENBQUM7SUFFRCxXQUFXO1FBQ1QsS0FBSyxNQUFNLFlBQVksSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDOUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFD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QzJCLEtBQUs7c0JBQXRDLGVBQWU7dUJBQUMsZUFBZTtnQkFFTixLQUFLO3NCQUE5QixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZ3U3RlcENvbXBvbmVudCB9IGZyb20gJy4vc3RlcC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1zdGVwcGVyJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudCBzZWxlY3Q9XCJmdy1zdGVwXCI+PC9uZy1jb250ZW50PicsXG4gIHN0eWxlVXJsczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEZ3U3RlcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KCkgYWN0aXZlU3RlcDogbnVtYmVyID0gMTtcbiAgQElucHV0KCkgZG9uZVN0ZXA/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGFsaWdubWVudD86ICdsZWZ0JyB8ICdjZW50ZXInID0gJ2xlZnQnO1xuICBASW5wdXQoKSBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmcgPSAndmFyKC0tY2FyZC1iYWNrZ3JvdW5kKSc7XG4gIEBPdXRwdXQoKSBzdGVwQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAQ29udGVudENoaWxkcmVuKEZ3U3RlcENvbXBvbmVudCkgc3RlcHM6IFF1ZXJ5TGlzdDxGd1N0ZXBDb21wb25lbnQ+O1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUnKSBnZXQgc3R5bGUoKTogU2FmZVN0eWxlIHtcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKGBcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoaXMuYmFja2dyb3VuZENvbG9yfTtcbiAgICBgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiB0aGlzLnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcykge1xuICAgICAgdGhpcy51cGRhdGVTdGVwcygpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goc3RlcCA9PiB7XG4gICAgICBjb25zdCBzdWIgPSBzdGVwLnNlbGVjdC5zdWJzY3JpYmUoc3RlcCA9PiB0aGlzLmhhbmRsZVNlbGVjdChzdGVwKSk7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWIpO1xuICAgIH0pO1xuICAgIHRoaXMudXBkYXRlU3RlcHMoKTtcbiAgfVxuXG4gIGhhbmRsZVNlbGVjdChzdGVwPzogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVTdGVwID0gc3RlcDtcbiAgICB0aGlzLnN0ZXBDaGFuZ2UuZW1pdChwYXJzZUludChzdGVwLnRvU3RyaW5nKCkpKTsgLy8gd2VpcmRseSBwYXNzaW5nIG91dCBzdGVwIGRpcmVjdGx5IGZhaWxzIHRoZSBlcWVxZXFcbiAgICB0aGlzLnVwZGF0ZVN0ZXBzKCk7XG4gIH1cblxuICB1cGRhdGVTdGVwcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGVwcyAmJiB0aGlzLnN0ZXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuc3RlcHMuZm9yRWFjaChzdGVwID0+IHtcbiAgICAgICAgaWYgKHN0ZXAuc3RlcE51bWJlciA8IHRoaXMuYWN0aXZlU3RlcCkge1xuICAgICAgICAgIHN0ZXAuY29tcGxldGVkID0gdHJ1ZTtcbiAgICAgICAgICBzdGVwLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgIHN0ZXAuZG9uZSA9IGZhbHNlO1xuICAgICAgICAgIHN0ZXAuYmFja2dyb3VuZENvbG9yID0gdGhpcy5iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgc3RlcC5hbGlnbm1lbnQgPSB0aGlzLmFsaWdubWVudDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RlcC5zdGVwTnVtYmVyLnRvU3RyaW5nKCkgPT09IHRoaXMuYWN0aXZlU3RlcC50b1N0cmluZygpKSB7XG4gICAgICAgICAgc3RlcC5jb21wbGV0ZWQgPSBmYWxzZTtcbiAgICAgICAgICBzdGVwLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgc3RlcC5kb25lID0gZmFsc2U7XG4gICAgICAgICAgc3RlcC5iYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLmJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICBzdGVwLmFsaWdubWVudCA9IHRoaXMuYWxpZ25tZW50O1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGVwLnN0ZXBOdW1iZXIgPiB0aGlzLmFjdGl2ZVN0ZXApIHtcbiAgICAgICAgICBzdGVwLmNvbXBsZXRlZCA9IGZhbHNlO1xuICAgICAgICAgIHN0ZXAuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgc3RlcC5kb25lID0gZmFsc2U7XG4gICAgICAgICAgc3RlcC5iYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLmJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICBzdGVwLmFsaWdubWVudCA9IHRoaXMuYWxpZ25tZW50O1xuICAgICAgICB9XG4gICAgICAgIGlmIChCb29sZWFuKHRoaXMuZG9uZVN0ZXApICYmIHN0ZXAuc3RlcE51bWJlciA8PSB0aGlzLmRvbmVTdGVwKSB7XG4gICAgICAgICAgc3RlcC5kb25lID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|