@fundamental-ngx/cdk 0.40.4-rc.6 → 0.41.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/esm2020/utils/index.mjs +2 -1
  2. package/esm2020/utils/toast/base-toast-animations.mjs +22 -0
  3. package/esm2020/utils/toast/base-toast-positions.mjs +108 -0
  4. package/esm2020/utils/toast/base-toast.service.mjs +258 -0
  5. package/esm2020/utils/toast/classes/action-dismissible/base-toast-action-dismissible-ref.mjs +36 -0
  6. package/esm2020/utils/toast/classes/base-toast-animated-container.component.mjs +83 -0
  7. package/esm2020/utils/toast/classes/base-toast-config.mjs +23 -0
  8. package/esm2020/utils/toast/classes/base-toast-container.component.mjs +72 -0
  9. package/esm2020/utils/toast/classes/base-toast-overlay-container.mjs +25 -0
  10. package/esm2020/utils/toast/classes/base-toast-ref.mjs +41 -0
  11. package/esm2020/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-config.mjs +19 -0
  12. package/esm2020/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-container.component.mjs +39 -0
  13. package/esm2020/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-ref.mjs +23 -0
  14. package/esm2020/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible.service.mjs +25 -0
  15. package/esm2020/utils/toast/index.mjs +16 -0
  16. package/esm2020/utils/toast/interfaces/toast-container-component.interface.mjs +2 -0
  17. package/esm2020/utils/toast/interfaces/toast-duration-dismissible-container-component.interface.mjs +2 -0
  18. package/esm2020/utils/toast/interfaces/toast-text-component.interface.mjs +2 -0
  19. package/fesm2015/fundamental-ngx-cdk-utils.mjs +738 -5
  20. package/fesm2015/fundamental-ngx-cdk-utils.mjs.map +1 -1
  21. package/fesm2020/fundamental-ngx-cdk-utils.mjs +748 -5
  22. package/fesm2020/fundamental-ngx-cdk-utils.mjs.map +1 -1
  23. package/fundamental-ngx-cdk-v0.41.0-rc.1.tgz +0 -0
  24. package/package.json +2 -2
  25. package/utils/index.d.ts +1 -0
  26. package/utils/toast/base-toast-animations.d.ts +7 -0
  27. package/utils/toast/base-toast-positions.d.ts +122 -0
  28. package/utils/toast/base-toast.service.d.ts +151 -0
  29. package/utils/toast/classes/action-dismissible/base-toast-action-dismissible-ref.d.ts +23 -0
  30. package/utils/toast/classes/base-toast-animated-container.component.d.ts +39 -0
  31. package/utils/toast/classes/base-toast-config.d.ts +53 -0
  32. package/utils/toast/classes/base-toast-container.component.d.ts +55 -0
  33. package/utils/toast/classes/base-toast-overlay-container.d.ts +16 -0
  34. package/utils/toast/classes/base-toast-ref.d.ts +31 -0
  35. package/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-config.d.ts +15 -0
  36. package/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-container.component.d.ts +20 -0
  37. package/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-ref.d.ts +20 -0
  38. package/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible.service.d.ts +11 -0
  39. package/utils/toast/index.d.ts +15 -0
  40. package/utils/toast/interfaces/toast-container-component.interface.d.ts +14 -0
  41. package/utils/toast/interfaces/toast-duration-dismissible-container-component.interface.d.ts +6 -0
  42. package/utils/toast/interfaces/toast-text-component.interface.d.ts +5 -0
  43. package/fundamental-ngx-cdk-v0.40.4-rc.6.tgz +0 -0
@@ -18,4 +18,5 @@ export * from './abstract-fd-ngx-class';
18
18
  export * from './pipes';
19
19
  export * from './tokens/module-deprecations.token';
20
20
  export * from './tokens/viewport-size.observable';
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi91dGlscy5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3R5cGVjaGVjayc7XG5leHBvcnQgKiBmcm9tICcuL2NvZXJjaW9uL2FycmF5JztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL251bGxhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RzJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vZHJhZy1hbmQtZHJvcCc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZnVuY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LWl0ZW0vbGlzdC1pdGVtLXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9hYnN0cmFjdC1mZC1uZ3gtY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9tb2R1bGUtZGVwcmVjYXRpb25zLnRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL3ZpZXdwb3J0LXNpemUub2JzZXJ2YWJsZSc7XG4iXX0=
21
+ export * from './toast';
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi91dGlscy5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3R5cGVjaGVjayc7XG5leHBvcnQgKiBmcm9tICcuL2NvZXJjaW9uL2FycmF5JztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL251bGxhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RzJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vZHJhZy1hbmQtZHJvcCc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZnVuY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LWl0ZW0vbGlzdC1pdGVtLXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9hYnN0cmFjdC1mZC1uZ3gtY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9tb2R1bGUtZGVwcmVjYXRpb25zLnRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL3ZpZXdwb3J0LXNpemUub2JzZXJ2YWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL3RvYXN0JztcbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { animate, state, style, transition, trigger } from '@angular/animations';
2
+ /**
3
+ * Animations used by the Toast components.
4
+ */
5
+ export const baseToastAnimations = {
6
+ /** Animation that shows and hides Toast. */
7
+ toastState: trigger('state', [
8
+ state('void, hidden', style({
9
+ transform: 'translateY(1rem)',
10
+ opacity: 0
11
+ })),
12
+ state('visible', style({
13
+ transform: 'translateY(0)',
14
+ opacity: 1
15
+ })),
16
+ transition('* => visible', animate('150ms cubic-bezier(0, 0, 0.2, 1)')),
17
+ transition('* => void, * => hidden', animate('75ms cubic-bezier(0.4, 0.0, 1, 1)', style({
18
+ opacity: 0
19
+ })))
20
+ ])
21
+ };
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10b2FzdC1hbmltYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy90b2FzdC9iYXNlLXRvYXN0LWFuaW1hdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQTRCLE1BQU0scUJBQXFCLENBQUM7QUFFM0c7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FFNUI7SUFDQSw0Q0FBNEM7SUFDNUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUU7UUFDekIsS0FBSyxDQUNELGNBQWMsRUFDZCxLQUFLLENBQUM7WUFDRixTQUFTLEVBQUUsa0JBQWtCO1lBQzdCLE9BQU8sRUFBRSxDQUFDO1NBQ2IsQ0FBQyxDQUNMO1FBQ0QsS0FBSyxDQUNELFNBQVMsRUFDVCxLQUFLLENBQUM7WUFDRixTQUFTLEVBQUUsZUFBZTtZQUMxQixPQUFPLEVBQUUsQ0FBQztTQUNiLENBQUMsQ0FDTDtRQUNELFVBQVUsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDdkUsVUFBVSxDQUNOLHdCQUF3QixFQUN4QixPQUFPLENBQ0gsbUNBQW1DLEVBQ25DLEtBQUssQ0FBQztZQUNGLE9BQU8sRUFBRSxDQUFDO1NBQ2IsQ0FBQyxDQUNMLENBQ0o7S0FDSixDQUFDO0NBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciwgQW5pbWF0aW9uVHJpZ2dlck1ldGFkYXRhIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbi8qKlxuICogQW5pbWF0aW9ucyB1c2VkIGJ5IHRoZSBUb2FzdCBjb21wb25lbnRzLlxuICovXG5leHBvcnQgY29uc3QgYmFzZVRvYXN0QW5pbWF0aW9uczoge1xuICAgIHJlYWRvbmx5IHRvYXN0U3RhdGU6IEFuaW1hdGlvblRyaWdnZXJNZXRhZGF0YTtcbn0gPSB7XG4gICAgLyoqIEFuaW1hdGlvbiB0aGF0IHNob3dzIGFuZCBoaWRlcyBUb2FzdC4gKi9cbiAgICB0b2FzdFN0YXRlOiB0cmlnZ2VyKCdzdGF0ZScsIFtcbiAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAndm9pZCwgaGlkZGVuJyxcbiAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDFyZW0pJyxcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwXG4gICAgICAgICAgICB9KVxuICAgICAgICApLFxuICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICd2aXNpYmxlJyxcbiAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJyxcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxXG4gICAgICAgICAgICB9KVxuICAgICAgICApLFxuICAgICAgICB0cmFuc2l0aW9uKCcqID0+IHZpc2libGUnLCBhbmltYXRlKCcxNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKScpKSxcbiAgICAgICAgdHJhbnNpdGlvbihcbiAgICAgICAgICAgICcqID0+IHZvaWQsICogPT4gaGlkZGVuJyxcbiAgICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAgICAgJzc1bXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAxLCAxKScsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKVxuICAgIF0pXG59O1xuIl19
@@ -0,0 +1,108 @@
1
+ export const toastConnectedTopPosition = {
2
+ originX: 'center',
3
+ originY: 'bottom',
4
+ overlayX: 'center',
5
+ overlayY: 'top',
6
+ offsetY: 16
7
+ };
8
+ export const toastConnectedTopLeftPosition = {
9
+ ...toastConnectedTopPosition,
10
+ ...{ overlayX: 'start', originX: 'start' }
11
+ };
12
+ export const toastConnectedTopRightPosition = {
13
+ ...toastConnectedTopPosition,
14
+ ...{ overlayX: 'end', originX: 'end' }
15
+ };
16
+ export const toastConnectedBottomPosition = {
17
+ originX: 'center',
18
+ originY: 'top',
19
+ overlayX: 'center',
20
+ overlayY: 'bottom',
21
+ offsetY: -16
22
+ };
23
+ export const toastConnectedBottomLeftPosition = {
24
+ ...toastConnectedBottomPosition,
25
+ ...{ overlayX: 'start', originX: 'start' }
26
+ };
27
+ export const toastConnectedBottomRightPosition = {
28
+ ...toastConnectedBottomPosition,
29
+ ...{ overlayX: 'end', originX: 'end' }
30
+ };
31
+ /**
32
+ * Base Toast Position class.
33
+ */
34
+ export class BaseToastPosition {
35
+ }
36
+ /**
37
+ * Toast Position class.
38
+ * The first item will pop from the top-center of the screen.
39
+ * New items will stack after the first item.
40
+ */
41
+ export class ToastTopCenterPosition extends BaseToastPosition {
42
+ }
43
+ /** @hidden */
44
+ ToastTopCenterPosition.global = {
45
+ top: '1rem',
46
+ center: true
47
+ };
48
+ /** @hidden */
49
+ ToastTopCenterPosition.connected = toastConnectedTopPosition;
50
+ /**
51
+ * Toast Position class.
52
+ * The first item will pop from the bottom-center of the screen.
53
+ * New items will stack before first item.
54
+ */
55
+ export class ToastBottomCenterPosition extends BaseToastPosition {
56
+ }
57
+ /** @hidden */
58
+ ToastBottomCenterPosition.global = {
59
+ bottom: '1rem',
60
+ center: true
61
+ };
62
+ /** @hidden */
63
+ ToastBottomCenterPosition.connected = toastConnectedBottomPosition;
64
+ /**
65
+ * Toast Position class.
66
+ * The first item will pop from the top-left of the screen.
67
+ * New items will stack after first item.
68
+ */
69
+ export class ToastTopLeftPosition extends ToastTopCenterPosition {
70
+ }
71
+ /** @hidden */
72
+ ToastTopLeftPosition.global = { ...ToastTopCenterPosition.global, ...{ left: '1rem', center: false } };
73
+ /** @hidden */
74
+ ToastTopLeftPosition.connected = toastConnectedTopLeftPosition;
75
+ /**
76
+ * Toast Position class.
77
+ * The first item will pop from the top-right of the screen.
78
+ * New items will stack after first item.
79
+ */
80
+ export class ToastTopRightPosition extends ToastTopCenterPosition {
81
+ }
82
+ /** @hidden */
83
+ ToastTopRightPosition.global = { ...ToastTopCenterPosition.global, ...{ right: '1rem', center: false } };
84
+ /** @hidden */
85
+ ToastTopRightPosition.connected = toastConnectedTopRightPosition;
86
+ /**
87
+ * Toast Position class.
88
+ * The first item will pop from the bottom-left of the screen.
89
+ * New items will stack before first item.
90
+ */
91
+ export class ToastBottomLeftPosition extends ToastBottomCenterPosition {
92
+ }
93
+ /** @hidden */
94
+ ToastBottomLeftPosition.global = { ...ToastBottomCenterPosition.global, ...{ left: '1rem', center: false } };
95
+ /** @hidden */
96
+ ToastBottomLeftPosition.connected = toastConnectedBottomLeftPosition;
97
+ /**
98
+ * Toast Position class.
99
+ * The first item will pop from the bottom-right of the screen.
100
+ * New items will stack before first item.
101
+ */
102
+ export class ToastBottomRightPosition extends ToastBottomCenterPosition {
103
+ }
104
+ /** @hidden */
105
+ ToastBottomRightPosition.global = { ...ToastBottomCenterPosition.global, ...{ right: '1rem', center: false } };
106
+ /** @hidden */
107
+ ToastBottomRightPosition.connected = toastConnectedBottomRightPosition;
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10b2FzdC1wb3NpdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL3RvYXN0L2Jhc2UtdG9hc3QtcG9zaXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFzQjtJQUN4RCxPQUFPLEVBQUUsUUFBUTtJQUNqQixPQUFPLEVBQUUsUUFBUTtJQUNqQixRQUFRLEVBQUUsUUFBUTtJQUNsQixRQUFRLEVBQUUsS0FBSztJQUNmLE9BQU8sRUFBRSxFQUFFO0NBQ2QsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFzQjtJQUM1RCxHQUFHLHlCQUF5QjtJQUM1QixHQUFHLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFO0NBQzdDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBc0I7SUFDN0QsR0FBRyx5QkFBeUI7SUFDNUIsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtDQUN6QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQXNCO0lBQzNELE9BQU8sRUFBRSxRQUFRO0lBQ2pCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLENBQUMsRUFBRTtDQUNmLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBc0I7SUFDL0QsR0FBRyw0QkFBNEI7SUFDL0IsR0FBRyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRTtDQUM3QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQXNCO0lBQ2hFLEdBQUcsNEJBQTRCO0lBQy9CLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7Q0FDekMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixpQkFBaUI7Q0FTdEM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjs7QUFDekQsY0FBYztBQUNQLDZCQUFNLEdBQXdCO0lBQ2pDLEdBQUcsRUFBRSxNQUFNO0lBQ1gsTUFBTSxFQUFFLElBQUk7Q0FDZixDQUFDO0FBQ0YsY0FBYztBQUNQLGdDQUFTLEdBQXNCLHlCQUF5QixDQUFDO0FBR3BFOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsaUJBQWlCOztBQUM1RCxjQUFjO0FBQ1AsZ0NBQU0sR0FBd0I7SUFDakMsTUFBTSxFQUFFLE1BQU07SUFDZCxNQUFNLEVBQUUsSUFBSTtDQUNmLENBQUM7QUFDRixjQUFjO0FBQ1AsbUNBQVMsR0FBc0IsNEJBQTRCLENBQUM7QUFHdkU7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxzQkFBc0I7O0FBQzVELGNBQWM7QUFDRSwyQkFBTSxHQUFHLEVBQUUsR0FBRyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7QUFDbEcsY0FBYztBQUNFLDhCQUFTLEdBQXNCLDZCQUE2QixDQUFDO0FBR2pGOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsc0JBQXNCOztBQUM3RCxjQUFjO0FBQ0UsNEJBQU0sR0FBRyxFQUFFLEdBQUcsc0JBQXNCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0FBQ25HLGNBQWM7QUFDRSwrQkFBUyxHQUFzQiw4QkFBOEIsQ0FBQztBQUdsRjs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHVCQUF3QixTQUFRLHlCQUF5Qjs7QUFDbEUsY0FBYztBQUNFLDhCQUFNLEdBQUcsRUFBRSxHQUFHLHlCQUF5QixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztBQUNyRyxjQUFjO0FBQ0UsaUNBQVMsR0FBRyxnQ0FBZ0MsQ0FBQztBQUdqRTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHlCQUF5Qjs7QUFDbkUsY0FBYztBQUNFLCtCQUFNLEdBQUcsRUFBRSxHQUFHLHlCQUF5QixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztBQUN0RyxjQUFjO0FBQ0Usa0NBQVMsR0FBRyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRvYXN0R2xvYmFsUG9zaXRpb24ge1xuICAgIGxlZnQ/OiBzdHJpbmc7XG4gICAgcmlnaHQ/OiBzdHJpbmc7XG4gICAgYm90dG9tPzogc3RyaW5nO1xuICAgIHRvcD86IHN0cmluZztcbiAgICBjZW50ZXI6IGJvb2xlYW47XG4gICAgY2VudGVyVmVydGljYWxseT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCB0b2FzdENvbm5lY3RlZFRvcFBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgIG9mZnNldFk6IDE2XG59O1xuXG5leHBvcnQgY29uc3QgdG9hc3RDb25uZWN0ZWRUb3BMZWZ0UG9zaXRpb246IENvbm5lY3RlZFBvc2l0aW9uID0ge1xuICAgIC4uLnRvYXN0Q29ubmVjdGVkVG9wUG9zaXRpb24sXG4gICAgLi4ueyBvdmVybGF5WDogJ3N0YXJ0Jywgb3JpZ2luWDogJ3N0YXJ0JyB9XG59O1xuXG5leHBvcnQgY29uc3QgdG9hc3RDb25uZWN0ZWRUb3BSaWdodFBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgICAuLi50b2FzdENvbm5lY3RlZFRvcFBvc2l0aW9uLFxuICAgIC4uLnsgb3ZlcmxheVg6ICdlbmQnLCBvcmlnaW5YOiAnZW5kJyB9XG59O1xuXG5leHBvcnQgY29uc3QgdG9hc3RDb25uZWN0ZWRCb3R0b21Qb3NpdGlvbjogQ29ubmVjdGVkUG9zaXRpb24gPSB7XG4gICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICBvZmZzZXRZOiAtMTZcbn07XG5cbmV4cG9ydCBjb25zdCB0b2FzdENvbm5lY3RlZEJvdHRvbUxlZnRQb3NpdGlvbjogQ29ubmVjdGVkUG9zaXRpb24gPSB7XG4gICAgLi4udG9hc3RDb25uZWN0ZWRCb3R0b21Qb3NpdGlvbixcbiAgICAuLi57IG92ZXJsYXlYOiAnc3RhcnQnLCBvcmlnaW5YOiAnc3RhcnQnIH1cbn07XG5cbmV4cG9ydCBjb25zdCB0b2FzdENvbm5lY3RlZEJvdHRvbVJpZ2h0UG9zaXRpb246IENvbm5lY3RlZFBvc2l0aW9uID0ge1xuICAgIC4uLnRvYXN0Q29ubmVjdGVkQm90dG9tUG9zaXRpb24sXG4gICAgLi4ueyBvdmVybGF5WDogJ2VuZCcsIG9yaWdpblg6ICdlbmQnIH1cbn07XG5cbi8qKlxuICogQmFzZSBUb2FzdCBQb3NpdGlvbiBjbGFzcy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VUb2FzdFBvc2l0aW9uIHtcbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbiBzdHJhdGVneSBvZiB0aGUgZmlyc3QgaXRlbS5cbiAgICAgKi9cbiAgICBnbG9iYWwhOiBUb2FzdEdsb2JhbFBvc2l0aW9uO1xuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIHN0cmF0ZWd5IG9mIHRoZSBuZXdseSBhZGRlZCBpdGVtcy5cbiAgICAgKi9cbiAgICBjb25uZWN0ZWQhOiBDb25uZWN0ZWRQb3NpdGlvbjtcbn1cblxuLyoqXG4gKiBUb2FzdCBQb3NpdGlvbiBjbGFzcy5cbiAqIFRoZSBmaXJzdCBpdGVtIHdpbGwgcG9wIGZyb20gdGhlIHRvcC1jZW50ZXIgb2YgdGhlIHNjcmVlbi5cbiAqIE5ldyBpdGVtcyB3aWxsIHN0YWNrIGFmdGVyIHRoZSBmaXJzdCBpdGVtLlxuICovXG5leHBvcnQgY2xhc3MgVG9hc3RUb3BDZW50ZXJQb3NpdGlvbiBleHRlbmRzIEJhc2VUb2FzdFBvc2l0aW9uIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHN0YXRpYyBnbG9iYWw6IFRvYXN0R2xvYmFsUG9zaXRpb24gPSB7XG4gICAgICAgIHRvcDogJzFyZW0nLFxuICAgICAgICBjZW50ZXI6IHRydWVcbiAgICB9O1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIGNvbm5lY3RlZDogQ29ubmVjdGVkUG9zaXRpb24gPSB0b2FzdENvbm5lY3RlZFRvcFBvc2l0aW9uO1xufVxuXG4vKipcbiAqIFRvYXN0IFBvc2l0aW9uIGNsYXNzLlxuICogVGhlIGZpcnN0IGl0ZW0gd2lsbCBwb3AgZnJvbSB0aGUgYm90dG9tLWNlbnRlciBvZiB0aGUgc2NyZWVuLlxuICogTmV3IGl0ZW1zIHdpbGwgc3RhY2sgYmVmb3JlIGZpcnN0IGl0ZW0uXG4gKi9cbmV4cG9ydCBjbGFzcyBUb2FzdEJvdHRvbUNlbnRlclBvc2l0aW9uIGV4dGVuZHMgQmFzZVRvYXN0UG9zaXRpb24ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIGdsb2JhbDogVG9hc3RHbG9iYWxQb3NpdGlvbiA9IHtcbiAgICAgICAgYm90dG9tOiAnMXJlbScsXG4gICAgICAgIGNlbnRlcjogdHJ1ZVxuICAgIH07XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzdGF0aWMgY29ubmVjdGVkOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHRvYXN0Q29ubmVjdGVkQm90dG9tUG9zaXRpb247XG59XG5cbi8qKlxuICogVG9hc3QgUG9zaXRpb24gY2xhc3MuXG4gKiBUaGUgZmlyc3QgaXRlbSB3aWxsIHBvcCBmcm9tIHRoZSB0b3AtbGVmdCBvZiB0aGUgc2NyZWVuLlxuICogTmV3IGl0ZW1zIHdpbGwgc3RhY2sgYWZ0ZXIgZmlyc3QgaXRlbS5cbiAqL1xuZXhwb3J0IGNsYXNzIFRvYXN0VG9wTGVmdFBvc2l0aW9uIGV4dGVuZHMgVG9hc3RUb3BDZW50ZXJQb3NpdGlvbiB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzdGF0aWMgb3ZlcnJpZGUgZ2xvYmFsID0geyAuLi5Ub2FzdFRvcENlbnRlclBvc2l0aW9uLmdsb2JhbCwgLi4ueyBsZWZ0OiAnMXJlbScsIGNlbnRlcjogZmFsc2UgfSB9O1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIG92ZXJyaWRlIGNvbm5lY3RlZDogQ29ubmVjdGVkUG9zaXRpb24gPSB0b2FzdENvbm5lY3RlZFRvcExlZnRQb3NpdGlvbjtcbn1cblxuLyoqXG4gKiBUb2FzdCBQb3NpdGlvbiBjbGFzcy5cbiAqIFRoZSBmaXJzdCBpdGVtIHdpbGwgcG9wIGZyb20gdGhlIHRvcC1yaWdodCBvZiB0aGUgc2NyZWVuLlxuICogTmV3IGl0ZW1zIHdpbGwgc3RhY2sgYWZ0ZXIgZmlyc3QgaXRlbS5cbiAqL1xuZXhwb3J0IGNsYXNzIFRvYXN0VG9wUmlnaHRQb3NpdGlvbiBleHRlbmRzIFRvYXN0VG9wQ2VudGVyUG9zaXRpb24ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIG92ZXJyaWRlIGdsb2JhbCA9IHsgLi4uVG9hc3RUb3BDZW50ZXJQb3NpdGlvbi5nbG9iYWwsIC4uLnsgcmlnaHQ6ICcxcmVtJywgY2VudGVyOiBmYWxzZSB9IH07XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzdGF0aWMgb3ZlcnJpZGUgY29ubmVjdGVkOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHRvYXN0Q29ubmVjdGVkVG9wUmlnaHRQb3NpdGlvbjtcbn1cblxuLyoqXG4gKiBUb2FzdCBQb3NpdGlvbiBjbGFzcy5cbiAqIFRoZSBmaXJzdCBpdGVtIHdpbGwgcG9wIGZyb20gdGhlIGJvdHRvbS1sZWZ0IG9mIHRoZSBzY3JlZW4uXG4gKiBOZXcgaXRlbXMgd2lsbCBzdGFjayBiZWZvcmUgZmlyc3QgaXRlbS5cbiAqL1xuZXhwb3J0IGNsYXNzIFRvYXN0Qm90dG9tTGVmdFBvc2l0aW9uIGV4dGVuZHMgVG9hc3RCb3R0b21DZW50ZXJQb3NpdGlvbiB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzdGF0aWMgb3ZlcnJpZGUgZ2xvYmFsID0geyAuLi5Ub2FzdEJvdHRvbUNlbnRlclBvc2l0aW9uLmdsb2JhbCwgLi4ueyBsZWZ0OiAnMXJlbScsIGNlbnRlcjogZmFsc2UgfSB9O1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIG92ZXJyaWRlIGNvbm5lY3RlZCA9IHRvYXN0Q29ubmVjdGVkQm90dG9tTGVmdFBvc2l0aW9uO1xufVxuXG4vKipcbiAqIFRvYXN0IFBvc2l0aW9uIGNsYXNzLlxuICogVGhlIGZpcnN0IGl0ZW0gd2lsbCBwb3AgZnJvbSB0aGUgYm90dG9tLXJpZ2h0IG9mIHRoZSBzY3JlZW4uXG4gKiBOZXcgaXRlbXMgd2lsbCBzdGFjayBiZWZvcmUgZmlyc3QgaXRlbS5cbiAqL1xuZXhwb3J0IGNsYXNzIFRvYXN0Qm90dG9tUmlnaHRQb3NpdGlvbiBleHRlbmRzIFRvYXN0Qm90dG9tQ2VudGVyUG9zaXRpb24ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIG92ZXJyaWRlIGdsb2JhbCA9IHsgLi4uVG9hc3RCb3R0b21DZW50ZXJQb3NpdGlvbi5nbG9iYWwsIC4uLnsgcmlnaHQ6ICcxcmVtJywgY2VudGVyOiBmYWxzZSB9IH07XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzdGF0aWMgb3ZlcnJpZGUgY29ubmVjdGVkID0gdG9hc3RDb25uZWN0ZWRCb3R0b21SaWdodFBvc2l0aW9uO1xufVxuIl19
@@ -0,0 +1,258 @@
1
+ import { GlobalPositionStrategy, Overlay, OverlayConfig } from '@angular/cdk/overlay';
2
+ import { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
3
+ import { Injectable, Injector, TemplateRef } from '@angular/core';
4
+ import { Subject } from 'rxjs';
5
+ import { takeUntil } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/cdk/overlay";
8
+ export class BaseToastService {
9
+ /** @hidden */
10
+ constructor(overlay, injector) {
11
+ this.overlay = overlay;
12
+ this.injector = injector;
13
+ /**
14
+ * @hidden
15
+ * Array of all current toasts.
16
+ */
17
+ this._toasts = [];
18
+ /**
19
+ * @hiden
20
+ */
21
+ this._toastsMap = new Map();
22
+ /** @hidden */
23
+ this._destroy$ = new Subject();
24
+ }
25
+ /**
26
+ * Dismisses all Toasts.
27
+ */
28
+ hideAll() {
29
+ this._toasts.forEach((t) => t.dismiss());
30
+ }
31
+ /**
32
+ * Returns `true` if there are some message toasts currently open. `False` otherwise.
33
+ */
34
+ hasOpenMessageToasts() {
35
+ return this._toasts.length > 0;
36
+ }
37
+ /**
38
+ * @deprecated.
39
+ * Use `hideAll()` method instead.
40
+ */
41
+ dismissAll() {
42
+ this.hideAll();
43
+ }
44
+ /**
45
+ * Sets new position strategy for all Toast items.
46
+ * @param newStrategy New Position Strategy
47
+ */
48
+ setNewPositionStrategy(newStrategy) {
49
+ if (newStrategy === this.toastPositionStrategy) {
50
+ return;
51
+ }
52
+ this.toastPositionStrategy = newStrategy;
53
+ this._refreshOverlayPositions();
54
+ }
55
+ /**
56
+ * @hidden
57
+ * Places a new component or a template as the content of the Toast container.
58
+ */
59
+ _attach(content, userConfig) {
60
+ const config = { ...this.defaultConfig, ...userConfig };
61
+ const positionStrategy = config.positionStrategy || this.toastPositionStrategy;
62
+ const overlayRef = this._createOverlay(positionStrategy);
63
+ const containerRef = this.attachToastContainerComponent(overlayRef, config);
64
+ const toastRef = this.getToastRef(containerRef, overlayRef, positionStrategy);
65
+ toastRef._defaultPositionStrategy = !config.positionStrategy;
66
+ if (content instanceof TemplateRef) {
67
+ // TemplatePortal requires viewContainer ref
68
+ const viewRef = null;
69
+ const portal = new TemplatePortal(content, viewRef, { $implicit: config, toastRef });
70
+ toastRef.instance = containerRef.attachTemplatePortal(portal);
71
+ }
72
+ else {
73
+ const injector = this.createContentComponentInjector(config, toastRef);
74
+ const portal = new ComponentPortal(content, undefined, injector);
75
+ const contentRef = containerRef.attachComponentPortal(portal);
76
+ // We can't pass this via the injector, because the injector is created earlier.
77
+ toastRef.instance = contentRef.instance;
78
+ contentRef.changeDetectorRef.detectChanges();
79
+ }
80
+ const allToasts = this._toastsMap.get(positionStrategy) || [];
81
+ allToasts.push(toastRef);
82
+ this._toasts.push(toastRef);
83
+ this._toastsMap.set(positionStrategy, allToasts);
84
+ this.animateToast(toastRef);
85
+ return toastRef;
86
+ }
87
+ /**
88
+ * Attaches the Toast container component to the overlay.
89
+ */
90
+ attachToastContainerComponent(overlayRef, config) {
91
+ const injector = Injector.create({
92
+ parent: this.injector,
93
+ providers: this.getContainerComponentProviders(config)
94
+ });
95
+ const containerPortal = new ComponentPortal(this.toastContainerComponent, null, injector);
96
+ const containerRef = overlayRef.attach(containerPortal);
97
+ containerRef.instance.config = config;
98
+ containerRef.instance.overlayRef = overlayRef;
99
+ return containerRef.instance;
100
+ }
101
+ /**
102
+ * Creates an injector to be used inside a Toast component.
103
+ * @param config Config that was used to create the Toast.
104
+ * @param toastRef Reference to the Toastr.
105
+ */
106
+ createContentComponentInjector(config, toastRef) {
107
+ return Injector.create({
108
+ parent: this.injector,
109
+ providers: this.getContentComponentProviders(config, toastRef)
110
+ });
111
+ }
112
+ /** @hidden */
113
+ ngOnDestroy() {
114
+ this._destroy$.next();
115
+ this._destroy$.complete();
116
+ }
117
+ /**
118
+ * Animates the old Toast out and the new one in.
119
+ */
120
+ animateToast(toastRef) {
121
+ const positionStrategy = toastRef.positionStrategy;
122
+ // When the toast is dismissed, clear the reference to it.
123
+ toastRef
124
+ .afterDismissed()
125
+ .pipe(takeUntil(this._destroy$))
126
+ .subscribe(() => {
127
+ const allToasts = this._toastsMap.get(positionStrategy) || [];
128
+ allToasts.splice(allToasts.indexOf(toastRef), 1);
129
+ this._toasts.splice(this._toasts.indexOf(toastRef), 1);
130
+ this._toastsMap.set(positionStrategy, allToasts);
131
+ this._refreshOverlayPositions();
132
+ });
133
+ toastRef.containerInstance.enter();
134
+ }
135
+ /**
136
+ * @hidden
137
+ * Creates a new overlay and places it in the correct location.
138
+ */
139
+ _createOverlay(positionStrategy) {
140
+ const overlayConfig = new OverlayConfig();
141
+ overlayConfig.positionStrategy = this._getPositionStrategy(positionStrategy);
142
+ overlayConfig.panelClass = 'fd-toast-overlay';
143
+ return this.overlay.create(overlayConfig);
144
+ }
145
+ /**
146
+ * @hidden
147
+ * @returns Initial Position Strategy of the Toast Overlay Reference.
148
+ */
149
+ _getPositionStrategy(positionStrategy) {
150
+ const lastOverlay = this._getLastToastWithSamePosition(positionStrategy);
151
+ const globalOverlay = this._toastsMap.get(positionStrategy)?.find((toast) => {
152
+ const config = toast.overlayRef.getConfig();
153
+ return config.positionStrategy instanceof GlobalPositionStrategy;
154
+ });
155
+ if (lastOverlay && globalOverlay) {
156
+ return this._composeFlexibleConnectedPosition(lastOverlay.overlayRef.overlayElement, positionStrategy);
157
+ }
158
+ return this._composeGlobalPosition(positionStrategy);
159
+ }
160
+ /**
161
+ * @hidden
162
+ * @param needlePosition
163
+ * @private
164
+ */
165
+ _getLastToastWithSamePosition(needlePosition) {
166
+ return [...(this._toastsMap.get(needlePosition) || [])]?.reverse()[0];
167
+ }
168
+ /**
169
+ * @hidden
170
+ * @param connectedElm element to connect with.
171
+ * @returns Flexible Connected Position Strategy for Overlay Reference.
172
+ */
173
+ _composeFlexibleConnectedPosition(connectedElm, positionStrategy) {
174
+ positionStrategy = positionStrategy || this.toastPositionStrategy;
175
+ return this.overlay
176
+ .position()
177
+ .flexibleConnectedTo(connectedElm)
178
+ .withPush(false)
179
+ .withPositions([positionStrategy.connected]);
180
+ }
181
+ /**
182
+ * @hidden
183
+ * @returns Default Global Position for Overlay Reference.
184
+ */
185
+ _composeGlobalPosition(positionStrategy) {
186
+ const globalPosition = this.overlay.position().global();
187
+ const globalToastPositionStrategy = positionStrategy.global;
188
+ for (const [position, value] of Object.entries(globalToastPositionStrategy)) {
189
+ switch (position) {
190
+ case 'left':
191
+ globalPosition.left(value);
192
+ break;
193
+ case 'right':
194
+ globalPosition.right(value);
195
+ break;
196
+ case 'bottom':
197
+ globalPosition.bottom(value);
198
+ break;
199
+ case 'top':
200
+ globalPosition.top(value);
201
+ break;
202
+ case 'center':
203
+ globalPosition.centerHorizontally();
204
+ break;
205
+ case 'centerVertically':
206
+ globalPosition.centerVertically();
207
+ break;
208
+ }
209
+ }
210
+ return globalPosition;
211
+ }
212
+ /** @hidden */
213
+ _refreshOverlayPositions() {
214
+ this._toastsMap.forEach((toasts) => {
215
+ this._updateOverlayPositionStrategy(toasts);
216
+ });
217
+ }
218
+ /** @hidden */
219
+ _updateOverlayPositionStrategy(toasts) {
220
+ toasts.forEach((toastRef) => {
221
+ const positionStrategy = this._updatePositionStrategy(toastRef);
222
+ const overlayConfig = toastRef.overlayRef.getConfig();
223
+ toastRef.overlayRef.updatePositionStrategy(positionStrategy);
224
+ overlayConfig.positionStrategy = positionStrategy;
225
+ });
226
+ }
227
+ /**
228
+ * @hidden
229
+ * Updates the position of a current Overlay Reference.
230
+ * @param overlay Overlay reference which position needs to be updated.
231
+ * @returns New Position Strategy.
232
+ */
233
+ _updatePositionStrategy(toast) {
234
+ const positionStrategy = toast._defaultPositionStrategy ? this.toastPositionStrategy : toast.positionStrategy;
235
+ const config = toast.overlayRef.getConfig();
236
+ if (config.positionStrategy instanceof GlobalPositionStrategy) {
237
+ return this._composeGlobalPosition(positionStrategy);
238
+ }
239
+ const toasts = this._toastsMap.get(positionStrategy) || [];
240
+ const globalOverlay = toasts?.find(({ overlayRef }) => {
241
+ const overlayConfig = overlayRef.getConfig();
242
+ return overlayConfig.positionStrategy instanceof GlobalPositionStrategy;
243
+ });
244
+ if (!globalOverlay) {
245
+ return this._composeGlobalPosition(positionStrategy);
246
+ }
247
+ // Get Previous overlay item.
248
+ const overlayItemIndex = toasts.findIndex((t) => t === toast);
249
+ const previousOverlay = toasts[overlayItemIndex - 1];
250
+ return this._composeFlexibleConnectedPosition(previousOverlay.overlayRef.overlayElement, positionStrategy);
251
+ }
252
+ }
253
+ BaseToastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseToastService, deps: [{ token: i1.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
254
+ BaseToastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseToastService });
255
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseToastService, decorators: [{
256
+ type: Injectable
257
+ }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.Injector }]; } });
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10b2FzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy90b2FzdC9iYXNlLXRvYXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdILHNCQUFzQixFQUN0QixPQUFPLEVBQ1AsYUFBYSxFQUdoQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUdILFVBQVUsRUFFVixRQUFRLEVBR1IsV0FBVyxFQUdkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFRM0MsTUFBTSxPQUFnQixnQkFBZ0I7SUE4QmxDLGNBQWM7SUFDZCxZQUE2QixPQUFnQixFQUFTLFFBQWtCO1FBQTNDLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBZnhFOzs7V0FHRztRQUNPLFlBQU8sR0FBbUIsRUFBRSxDQUFDO1FBRXZDOztXQUVHO1FBQ08sZUFBVSxHQUFHLElBQUksR0FBRyxFQUFxQyxDQUFDO1FBRXBFLGNBQWM7UUFDTixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUdtQyxDQUFDO0lBeUM1RTs7T0FFRztJQUNILE9BQU87UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7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TSxNQUFNLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUU1QyxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsWUFBWSxzQkFBc0IsRUFBRTtZQUMzRCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFM0QsTUFBTSxhQUFhLEdBQUcsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRTtZQUNsRCxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUM7WUFFN0MsT0FBTyxhQUFhLENBQUMsZ0JBQWdCLFlBQVksc0JBQXNCLENBQUM7UUFDNUUsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDeEQ7UUFFRCw2QkFBNkI7UUFDN0IsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7UUFDOUQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXJELE9BQU8sSUFBSSxDQUFDLGlDQUFpQyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDL0csQ0FBQzs7NkdBdFdpQixnQkFBZ0I7aUhBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnRUeXBlLFxuICAgIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSxcbiAgICBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5LFxuICAgIE92ZXJsYXksXG4gICAgT3ZlcmxheUNvbmZpZyxcbiAgICBPdmVybGF5UmVmLFxuICAgIFBvc2l0aW9uU3RyYXRlZ3lcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEluamVjdGFibGUsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5qZWN0b3IsXG4gICAgT25EZXN0cm95LFxuICAgIFN0YXRpY1Byb3ZpZGVyLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFR5cGUsXG4gICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJhc2VUb2FzdFBvc2l0aW9uLCBUb2FzdEdsb2JhbFBvc2l0aW9uIH0gZnJvbSAnLi9iYXNlLXRvYXN0LXBvc2l0aW9ucyc7XG5pbXBvcnQgeyBCYXNlVG9hc3RDb25maWcgfSBmcm9tICcuL2NsYXNzZXMvYmFzZS10b2FzdC1jb25maWcnO1xuaW1wb3J0IHsgQmFzZVRvYXN0UmVmIH0gZnJvbSAnLi9jbGFzc2VzL2Jhc2UtdG9hc3QtcmVmJztcbmltcG9ydCB7IFRvYXN0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9pbnRlcmZhY2VzL3RvYXN0LWNvbnRhaW5lci1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRvYXN0VGV4dENvbXBvbmVudCB9IGZyb20gJy4vaW50ZXJmYWNlcy90b2FzdC10ZXh0LWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVRvYXN0U2VydmljZTxcbiAgICBQIGV4dGVuZHMgQmFzZVRvYXN0Q29uZmlnLFxuICAgIEMgZXh0ZW5kcyBUb2FzdENvbnRhaW5lckNvbXBvbmVudDxQPiA9IFRvYXN0Q29udGFpbmVyQ29tcG9uZW50PFA+XG4+IGltcGxlbWVudHMgT25EZXN0cm95XG57XG4gICAgLyoqIENvbXBvbmVudCBmb3Igc2ltcGxlIHRleHQgdG9hc3QuICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHRvYXN0VGV4dENvbXBvbmVudDogVHlwZTxUb2FzdFRleHRDb21wb25lbnQ+O1xuICAgIC8qKiBDb21wb25lbnQgZm9yIFRvYXN0IENvbnRhaW5lci4gKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgdG9hc3RDb250YWluZXJDb21wb25lbnQ6IFR5cGU8Qz47XG4gICAgLyoqIEluamVjdGlvbiB0b2tlbiBmb3IgVG9hc3QgRGF0YS4gKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgdG9hc3REYXRhSW5qZWN0aW9uVG9rZW46IEluamVjdGlvblRva2VuPGFueT47XG4gICAgLyoqIFRvYXN0IFBvc2l0aW9uIFN0cmF0ZWd5LiAqL1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCB0b2FzdFBvc2l0aW9uU3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uO1xuICAgIC8qKiBUb2FzdCBkZWZhdWx0IGNvbmZpZy4gKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZGVmYXVsdENvbmZpZzogUDtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBcnJheSBvZiBhbGwgY3VycmVudCB0b2FzdHMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF90b2FzdHM6IEJhc2VUb2FzdFJlZltdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZW5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX3RvYXN0c01hcCA9IG5ldyBNYXA8QmFzZVRvYXN0UG9zaXRpb24sIEJhc2VUb2FzdFJlZltdPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihwdWJsaWMgb3ZlcmxheTogT3ZlcmxheSwgcHVibGljIGluamVjdG9yOiBJbmplY3Rvcikge31cblxuICAgIC8qKlxuICAgICAqIEdldHMgVG9hc3QgQ29udGFpbmVyIHByb3ZpZGVycy5cbiAgICAgKiBAcGFyYW0gY29uZmlnIFRvYXN0IENvbmZpZy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0Q29udGFpbmVyQ29tcG9uZW50UHJvdmlkZXJzKGNvbmZpZzogUCk6IFN0YXRpY1Byb3ZpZGVyW107XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIFRvYXN0IENvbnRlbnQgcHJvdmlkZXJzLlxuICAgICAqIEBwYXJhbSBjb25maWcgVG9hc3QgQ29uZmlnLlxuICAgICAqIEBwYXJhbSB0b2FzdFJlZiBUb2FzdCBSZWZlcmVuY2UuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldENvbnRlbnRDb21wb25lbnRQcm92aWRlcnM8VD4oY29uZmlnOiBQLCB0b2FzdFJlZjogQmFzZVRvYXN0UmVmPFQ+KTogU3RhdGljUHJvdmlkZXJbXTtcblxuICAgIC8qKlxuICAgICAqIE9wZW5zIGEgVG9hc3Qgd2l0aCB0aGUgcHJvdmlkZWQgY29uZmlndXJhdGlvbi5cbiAgICAgKiBAcGFyYW0gdG9hc3QgYWNjZXB0cyBzdHJpbmcsIENvbXBvbmVudCBvciBUZW1wbGF0ZVJlZi5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBvcGVuPFQ+KFxuICAgICAgICB0b2FzdDogc3RyaW5nIHwgVHlwZTxUPiB8IFRlbXBsYXRlUmVmPFQ+XG4gICAgKTogQmFzZVRvYXN0UmVmPFRvYXN0VGV4dENvbXBvbmVudCB8IFQgfCBFbWJlZGRlZFZpZXdSZWY8VD4sIFA+O1xuXG4gICAgYWJzdHJhY3Qgb3BlbkZyb21TdHJpbmcobWVzc2FnZTogc3RyaW5nLCBjb25maWc6IFApOiBCYXNlVG9hc3RSZWY8VG9hc3RUZXh0Q29tcG9uZW50LCBQPjtcblxuICAgIC8qKlxuICAgICAqIE9wZW5zIGEgVG9hc3Qgd2l0aCBwcm92aWRlZCBjb21wb25lbnQgaW5zaWRlLlxuICAgICAqIEBwYXJhbSBjb21wb25lbnQgQ29tcG9uZW50IHRvIHJlbmRlciBpbnNpZGUgYSBUb2FzdC5cbiAgICAgKiBAcGFyYW0gY29uZmlnIFRvYXN0IGNvbmZpZ3VyYXRpb24uXG4gICAgICogQHJldHVybnMgVG9hc3QgcmVmZXJlbmNlLlxuICAgICAqL1xuICAgIGFic3RyYWN0IG9wZW5Gcm9tQ29tcG9uZW50PFQ+KGNvbXBvbmVudDogVHlwZTxUPiwgY29uZmlnOiBQKTogQmFzZVRvYXN0UmVmPFQsIFA+O1xuXG4gICAgLyoqXG4gICAgICogT3BlbnMgYSBUb2FzdCB3aXRoIHByb3ZpZGVkIFRlbXBsYXRlIFJlZmVyZW5jZS5cbiAgICAgKiBAcGFyYW0gdGVtcGxhdGUgVGVtcGxhdGUgUmVmZXJlbmNlIHRvIHJlbmRlciBpbnNpZGUgYSBUb2FzdC5cbiAgICAgKiBAcGFyYW0gY29uZmlnIFRvYXN0IGNvbmZpZ3VyYXRpb24uXG4gICAgICogQHJldHVybnMgVG9hc3QgcmVmZXJlbmNlLlxuICAgICAqL1xuICAgIGFic3RyYWN0IG9wZW5Gcm9tVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4sIGNvbmZpZzogUCk6IEJhc2VUb2FzdFJlZjxFbWJlZGRlZFZpZXdSZWY8YW55Pj47XG5cbiAgICAvKipcbiAgICAgKiBEaXNtaXNzZXMgYWxsIFRvYXN0cy5cbiAgICAgKi9cbiAgICBoaWRlQWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90b2FzdHMuZm9yRWFjaCgodCkgPT4gdC5kaXNtaXNzKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYHRydWVgIGlmIHRoZXJlIGFyZSBzb21lIG1lc3NhZ2UgdG9hc3RzIGN1cnJlbnRseSBvcGVuLiBgRmFsc2VgIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBoYXNPcGVuTWVzc2FnZVRvYXN0cygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RvYXN0cy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkLlxuICAgICAqIFVzZSBgaGlkZUFsbCgpYCBtZXRob2QgaW5zdGVhZC5cbiAgICAgKi9cbiAgICBkaXNtaXNzQWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhpZGVBbGwoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIG5ldyBwb3NpdGlvbiBzdHJhdGVneSBmb3IgYWxsIFRvYXN0IGl0ZW1zLlxuICAgICAqIEBwYXJhbSBuZXdTdHJhdGVneSBOZXcgUG9zaXRpb24gU3RyYXRlZ3lcbiAgICAgKi9cbiAgICBzZXROZXdQb3NpdGlvblN0cmF0ZWd5KG5ld1N0cmF0ZWd5OiBCYXNlVG9hc3RQb3NpdGlvbik6IHZvaWQge1xuICAgICAgICBpZiAobmV3U3RyYXRlZ3kgPT09IHRoaXMudG9hc3RQb3NpdGlvblN0cmF0ZWd5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRvYXN0UG9zaXRpb25TdHJhdGVneSA9IG5ld1N0cmF0ZWd5O1xuXG4gICAgICAgIHRoaXMuX3JlZnJlc2hPdmVybGF5UG9zaXRpb25zKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBUb2FzdCBSZWZlcmVuY2UgZm9yIHByb3ZpZGVkIGNvbnRhaW5lciBhbmQgb3ZlcmxheS5cbiAgICAgKiBAcGFyYW0gY29udGFpbmVyUmVmIENvbnRhaW5lciByZWZlcmVuY2UuXG4gICAgICogQHBhcmFtIG92ZXJsYXlSZWYgT3ZlcmxheSBSZWZlcmVuY2UuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldFRvYXN0UmVmPFQ+KFxuICAgICAgICBjb250YWluZXJSZWY6IEMsXG4gICAgICAgIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsXG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uXG4gICAgKTogQmFzZVRvYXN0UmVmPFQgfCBFbWJlZGRlZFZpZXdSZWY8YW55PiwgUD47XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogUGxhY2VzIGEgbmV3IGNvbXBvbmVudCBvciBhIHRlbXBsYXRlIGFzIHRoZSBjb250ZW50IG9mIHRoZSBUb2FzdCBjb250YWluZXIuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9hdHRhY2g8VD4oXG4gICAgICAgIGNvbnRlbnQ6IENvbXBvbmVudFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPixcbiAgICAgICAgdXNlckNvbmZpZz86IFBcbiAgICApOiBCYXNlVG9hc3RSZWY8VCB8IEVtYmVkZGVkVmlld1JlZjxhbnk+LCBQPiB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCAuLi51c2VyQ29uZmlnIH07XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSBjb25maWcucG9zaXRpb25TdHJhdGVneSB8fCB0aGlzLnRvYXN0UG9zaXRpb25TdHJhdGVneTtcbiAgICAgICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMuX2NyZWF0ZU92ZXJsYXkocG9zaXRpb25TdHJhdGVneSk7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclJlZiA9IHRoaXMuYXR0YWNoVG9hc3RDb250YWluZXJDb21wb25lbnQob3ZlcmxheVJlZiwgY29uZmlnKTtcbiAgICAgICAgY29uc3QgdG9hc3RSZWYgPSB0aGlzLmdldFRvYXN0UmVmPFQ+KGNvbnRhaW5lclJlZiwgb3ZlcmxheVJlZiwgcG9zaXRpb25TdHJhdGVneSk7XG4gICAgICAgIHRvYXN0UmVmLl9kZWZhdWx0UG9zaXRpb25TdHJhdGVneSA9ICFjb25maWcucG9zaXRpb25TdHJhdGVneTtcblxuICAgICAgICBpZiAoY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICAvLyBUZW1wbGF0ZVBvcnRhbCByZXF1aXJlcyB2aWV3Q29udGFpbmVyIHJlZlxuICAgICAgICAgICAgY29uc3Qgdmlld1JlZiA9IG51bGwgYXMgYW55IGFzIFZpZXdDb250YWluZXJSZWY7XG4gICAgICAgICAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoY29udGVudCwgdmlld1JlZiwgeyAkaW1wbGljaXQ6IGNvbmZpZywgdG9hc3RSZWYgfSBhcyBhbnkpO1xuXG4gICAgICAgICAgICB0b2FzdFJlZi5pbnN0YW5jZSA9IGNvbnRhaW5lclJlZi5hdHRhY2hUZW1wbGF0ZVBvcnRhbChwb3J0YWwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaW5qZWN0b3IgPSB0aGlzLmNyZWF0ZUNvbnRlbnRDb21wb25lbnRJbmplY3Rvcihjb25maWcsIHRvYXN0UmVmKTtcbiAgICAgICAgICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoY29udGVudCwgdW5kZWZpbmVkLCBpbmplY3Rvcik7XG4gICAgICAgICAgICBjb25zdCBjb250ZW50UmVmID0gY29udGFpbmVyUmVmLmF0dGFjaENvbXBvbmVudFBvcnRhbDxUPihwb3J0YWwpO1xuXG4gICAgICAgICAgICAvLyBXZSBjYW4ndCBwYXNzIHRoaXMgdmlhIHRoZSBpbmplY3RvciwgYmVjYXVzZSB0aGUgaW5qZWN0b3IgaXMgY3JlYXRlZCBlYXJsaWVyLlxuICAgICAgICAgICAgdG9hc3RSZWYuaW5zdGFuY2UgPSBjb250ZW50UmVmLmluc3RhbmNlO1xuXG4gICAgICAgICAgICBjb250ZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFsbFRvYXN0cyA9IHRoaXMuX3RvYXN0c01hcC5nZXQocG9zaXRpb25TdHJhdGVneSkgfHwgW107XG4gICAgICAgIGFsbFRvYXN0cy5wdXNoKHRvYXN0UmVmKTtcbiAgICAgICAgdGhpcy5fdG9hc3RzLnB1c2godG9hc3RSZWYpO1xuICAgICAgICB0aGlzLl90b2FzdHNNYXAuc2V0KHBvc2l0aW9uU3RyYXRlZ3ksIGFsbFRvYXN0cyk7XG5cbiAgICAgICAgdGhpcy5hbmltYXRlVG9hc3Q8VD4odG9hc3RSZWYpO1xuXG4gICAgICAgIHJldHVybiB0b2FzdFJlZjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBdHRhY2hlcyB0aGUgVG9hc3QgY29udGFpbmVyIGNvbXBvbmVudCB0byB0aGUgb3ZlcmxheS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXR0YWNoVG9hc3RDb250YWluZXJDb21wb25lbnQob3ZlcmxheVJlZjogT3ZlcmxheVJlZiwgY29uZmlnOiBQKTogQyB7XG4gICAgICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICAgICAgICAgIHByb3ZpZGVyczogdGhpcy5nZXRDb250YWluZXJDb21wb25lbnRQcm92aWRlcnMoY29uZmlnKVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBjb250YWluZXJQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKHRoaXMudG9hc3RDb250YWluZXJDb21wb25lbnQsIG51bGwsIGluamVjdG9yKTtcbiAgICAgICAgY29uc3QgY29udGFpbmVyUmVmOiBDb21wb25lbnRSZWY8Qz4gPSBvdmVybGF5UmVmLmF0dGFjaChjb250YWluZXJQb3J0YWwpO1xuXG4gICAgICAgIGNvbnRhaW5lclJlZi5pbnN0YW5jZS5jb25maWcgPSBjb25maWc7XG4gICAgICAgIGNvbnRhaW5lclJlZi5pbnN0YW5jZS5vdmVybGF5UmVmID0gb3ZlcmxheVJlZjtcblxuICAgICAgICByZXR1cm4gY29udGFpbmVyUmVmLmluc3RhbmNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5qZWN0b3IgdG8gYmUgdXNlZCBpbnNpZGUgYSBUb2FzdCBjb21wb25lbnQuXG4gICAgICogQHBhcmFtIGNvbmZpZyBDb25maWcgdGhhdCB3YXMgdXNlZCB0byBjcmVhdGUgdGhlIFRvYXN0LlxuICAgICAqIEBwYXJhbSB0b2FzdFJlZiBSZWZlcmVuY2UgdG8gdGhlIFRvYXN0ci5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQ29udGVudENvbXBvbmVudEluamVjdG9yPFQ+KGNvbmZpZzogUCwgdG9hc3RSZWY6IEJhc2VUb2FzdFJlZjxUPik6IEluamVjdG9yIHtcbiAgICAgICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICAgICBwcm92aWRlcnM6IHRoaXMuZ2V0Q29udGVudENvbXBvbmVudFByb3ZpZGVycyhjb25maWcsIHRvYXN0UmVmKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQW5pbWF0ZXMgdGhlIG9sZCBUb2FzdCBvdXQgYW5kIHRoZSBuZXcgb25lIGluLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhbmltYXRlVG9hc3Q8VD4odG9hc3RSZWY6IEJhc2VUb2FzdFJlZjxUIHwgRW1iZWRkZWRWaWV3UmVmPGFueT4sIFA+KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0b2FzdFJlZi5wb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICAvLyBXaGVuIHRoZSB0b2FzdCBpcyBkaXNtaXNzZWQsIGNsZWFyIHRoZSByZWZlcmVuY2UgdG8gaXQuXG4gICAgICAgIHRvYXN0UmVmXG4gICAgICAgICAgICAuYWZ0ZXJEaXNtaXNzZWQoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFsbFRvYXN0cyA9IHRoaXMuX3RvYXN0c01hcC5nZXQocG9zaXRpb25TdHJhdGVneSkgfHwgW107XG4gICAgICAgICAgICAgICAgYWxsVG9hc3RzLnNwbGljZShhbGxUb2FzdHMuaW5kZXhPZih0b2FzdFJlZiksIDEpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3RvYXN0cy5zcGxpY2UodGhpcy5fdG9hc3RzLmluZGV4T2YodG9hc3RSZWYpLCAxKTtcbiAgICAgICAgICAgICAgICB0aGlzLl90b2FzdHNNYXAuc2V0KHBvc2l0aW9uU3RyYXRlZ3ksIGFsbFRvYXN0cyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVmcmVzaE92ZXJsYXlQb3NpdGlvbnMoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRvYXN0UmVmLmNvbnRhaW5lckluc3RhbmNlLmVudGVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIENyZWF0ZXMgYSBuZXcgb3ZlcmxheSBhbmQgcGxhY2VzIGl0IGluIHRoZSBjb3JyZWN0IGxvY2F0aW9uLlxuICAgICAqL1xuICAgIHByaXZhdGUgX2NyZWF0ZU92ZXJsYXkocG9zaXRpb25TdHJhdGVneTogQmFzZVRvYXN0UG9zaXRpb24pOiBPdmVybGF5UmVmIHtcbiAgICAgICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKCk7XG5cbiAgICAgICAgb3ZlcmxheUNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5fZ2V0UG9zaXRpb25TdHJhdGVneShwb3NpdGlvblN0cmF0ZWd5KTtcbiAgICAgICAgb3ZlcmxheUNvbmZpZy5wYW5lbENsYXNzID0gJ2ZkLXRvYXN0LW92ZXJsYXknO1xuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHJldHVybnMgSW5pdGlhbCBQb3NpdGlvbiBTdHJhdGVneSBvZiB0aGUgVG9hc3QgT3ZlcmxheSBSZWZlcmVuY2UuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2V0UG9zaXRpb25TdHJhdGVneShwb3NpdGlvblN0cmF0ZWd5OiBCYXNlVG9hc3RQb3NpdGlvbik6IFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICBjb25zdCBsYXN0T3ZlcmxheSA9IHRoaXMuX2dldExhc3RUb2FzdFdpdGhTYW1lUG9zaXRpb24ocG9zaXRpb25TdHJhdGVneSk7XG5cbiAgICAgICAgY29uc3QgZ2xvYmFsT3ZlcmxheSA9IHRoaXMuX3RvYXN0c01hcC5nZXQocG9zaXRpb25TdHJhdGVneSk/LmZpbmQoKHRvYXN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb25maWcgPSB0b2FzdC5vdmVybGF5UmVmLmdldENvbmZpZygpO1xuXG4gICAgICAgICAgICByZXR1cm4gY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgaW5zdGFuY2VvZiBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAobGFzdE92ZXJsYXkgJiYgZ2xvYmFsT3ZlcmxheSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBvc2VGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uKGxhc3RPdmVybGF5Lm92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQsIHBvc2l0aW9uU3RyYXRlZ3kpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBvc2VHbG9iYWxQb3NpdGlvbihwb3NpdGlvblN0cmF0ZWd5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIG5lZWRsZVBvc2l0aW9uXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIF9nZXRMYXN0VG9hc3RXaXRoU2FtZVBvc2l0aW9uKG5lZWRsZVBvc2l0aW9uOiBCYXNlVG9hc3RQb3NpdGlvbik6IEJhc2VUb2FzdFJlZjxQLCBDPiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBbLi4uKHRoaXMuX3RvYXN0c01hcC5nZXQobmVlZGxlUG9zaXRpb24pIHx8IFtdKV0/LnJldmVyc2UoKVswXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIGNvbm5lY3RlZEVsbSBlbGVtZW50IHRvIGNvbm5lY3Qgd2l0aC5cbiAgICAgKiBAcmV0dXJucyBGbGV4aWJsZSBDb25uZWN0ZWQgUG9zaXRpb24gU3RyYXRlZ3kgZm9yIE92ZXJsYXkgUmVmZXJlbmNlLlxuICAgICAqL1xuICAgIHByaXZhdGUgX2NvbXBvc2VGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uKFxuICAgICAgICBjb25uZWN0ZWRFbG06IEhUTUxFbGVtZW50LFxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBCYXNlVG9hc3RQb3NpdGlvblxuICAgICk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kgPSBwb3NpdGlvblN0cmF0ZWd5IHx8IHRoaXMudG9hc3RQb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5XG4gICAgICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oY29ubmVjdGVkRWxtKVxuICAgICAgICAgICAgLndpdGhQdXNoKGZhbHNlKVxuICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW3Bvc2l0aW9uU3RyYXRlZ3kuY29ubmVjdGVkXSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEByZXR1cm5zIERlZmF1bHQgR2xvYmFsIFBvc2l0aW9uIGZvciBPdmVybGF5IFJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9jb21wb3NlR2xvYmFsUG9zaXRpb24ocG9zaXRpb25TdHJhdGVneTogQmFzZVRvYXN0UG9zaXRpb24pOiBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICAgICAgY29uc3QgZ2xvYmFsUG9zaXRpb24gPSB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKTtcblxuICAgICAgICBjb25zdCBnbG9iYWxUb2FzdFBvc2l0aW9uU3RyYXRlZ3k6IFRvYXN0R2xvYmFsUG9zaXRpb24gPSBwb3NpdGlvblN0cmF0ZWd5Lmdsb2JhbDtcblxuICAgICAgICBmb3IgKGNvbnN0IFtwb3NpdGlvbiwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGdsb2JhbFRvYXN0UG9zaXRpb25TdHJhdGVneSkpIHtcbiAgICAgICAgICAgIHN3aXRjaCAocG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgICAgICAgICAgICAgZ2xvYmFsUG9zaXRpb24ubGVmdCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICAgICAgICAgICAgZ2xvYmFsUG9zaXRpb24ucmlnaHQodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICAgICAgICAgICAgICBnbG9iYWxQb3NpdGlvbi5ib3R0b20odmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd0b3AnOlxuICAgICAgICAgICAgICAgICAgICBnbG9iYWxQb3NpdGlvbi50b3AodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdjZW50ZXInOlxuICAgICAgICAgICAgICAgICAgICBnbG9iYWxQb3NpdGlvbi5jZW50ZXJIb3Jpem9udGFsbHkoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnY2VudGVyVmVydGljYWxseSc6XG4gICAgICAgICAgICAgICAgICAgIGdsb2JhbFBvc2l0aW9uLmNlbnRlclZlcnRpY2FsbHkoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdsb2JhbFBvc2l0aW9uO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVmcmVzaE92ZXJsYXlQb3NpdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RvYXN0c01hcC5mb3JFYWNoKCh0b2FzdHMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZU92ZXJsYXlQb3NpdGlvblN0cmF0ZWd5KHRvYXN0cyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdXBkYXRlT3ZlcmxheVBvc2l0aW9uU3RyYXRlZ3kodG9hc3RzOiBCYXNlVG9hc3RSZWZbXSk6IHZvaWQge1xuICAgICAgICB0b2FzdHMuZm9yRWFjaCgodG9hc3RSZWYpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl91cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHRvYXN0UmVmKTtcbiAgICAgICAgICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSB0b2FzdFJlZi5vdmVybGF5UmVmLmdldENvbmZpZygpO1xuXG4gICAgICAgICAgICB0b2FzdFJlZi5vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3kocG9zaXRpb25TdHJhdGVneSk7XG4gICAgICAgICAgICBvdmVybGF5Q29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgPSBwb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVXBkYXRlcyB0aGUgcG9zaXRpb24gb2YgYSBjdXJyZW50IE92ZXJsYXkgUmVmZXJlbmNlLlxuICAgICAqIEBwYXJhbSBvdmVybGF5IE92ZXJsYXkgcmVmZXJlbmNlIHdoaWNoIHBvc2l0aW9uIG5lZWRzIHRvIGJlIHVwZGF0ZWQuXG4gICAgICogQHJldHVybnMgTmV3IFBvc2l0aW9uIFN0cmF0ZWd5LlxuICAgICAqL1xuICAgIHByaXZhdGUgX3VwZGF0ZVBvc2l0aW9uU3RyYXRlZ3kodG9hc3Q6IEJhc2VUb2FzdFJlZik6IFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdG9hc3QuX2RlZmF1bHRQb3NpdGlvblN0cmF0ZWd5ID8gdGhpcy50b2FzdFBvc2l0aW9uU3RyYXRlZ3kgOiB0b2FzdC5wb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICBjb25zdCBjb25maWcgPSB0b2FzdC5vdmVybGF5UmVmLmdldENvbmZpZygpO1xuXG4gICAgICAgIGlmIChjb25maWcucG9zaXRpb25TdHJhdGVneSBpbnN0YW5jZW9mIEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9jb21wb3NlR2xvYmFsUG9zaXRpb24ocG9zaXRpb25TdHJhdGVneSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0b2FzdHMgPSB0aGlzLl90b2FzdHNNYXAuZ2V0KHBvc2l0aW9uU3RyYXRlZ3kpIHx8IFtdO1xuXG4gICAgICAgIGNvbnN0IGdsb2JhbE92ZXJsYXkgPSB0b2FzdHM/LmZpbmQoKHsgb3ZlcmxheVJlZiB9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gb3ZlcmxheVJlZi5nZXRDb25maWcoKTtcblxuICAgICAgICAgICAgcmV0dXJuIG92ZXJsYXlDb25maWcucG9zaXRpb25TdHJhdGVneSBpbnN0YW5jZW9mIEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghZ2xvYmFsT3ZlcmxheSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBvc2VHbG9iYWxQb3NpdGlvbihwb3NpdGlvblN0cmF0ZWd5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdldCBQcmV2aW91cyBvdmVybGF5IGl0ZW0uXG4gICAgICAgIGNvbnN0IG92ZXJsYXlJdGVtSW5kZXggPSB0b2FzdHMuZmluZEluZGV4KCh0KSA9PiB0ID09PSB0b2FzdCk7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzT3ZlcmxheSA9IHRvYXN0c1tvdmVybGF5SXRlbUluZGV4IC0gMV07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBvc2VGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uKHByZXZpb3VzT3ZlcmxheS5vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LCBwb3NpdGlvblN0cmF0ZWd5KTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,36 @@
1
+ import { Subject } from 'rxjs';
2
+ import { BaseToastDurationDismissibleRef } from '../duration-dismissible/base-toast-duration-dismissible-ref';
3
+ export class BaseToastActionDismissibleRef extends BaseToastDurationDismissibleRef {
4
+ /** @hidden */
5
+ constructor(containerInstance, overlayRef, positionStrategy) {
6
+ super(containerInstance, overlayRef, positionStrategy);
7
+ /** Subject for notifying the user that the Toast action-dismissible was called. */
8
+ this.onAction$ = new Subject();
9
+ /** Whether the Toast was dismissed using the action-dismissible button. */
10
+ this.dismissedByAction = false;
11
+ this.onAction().subscribe(() => this.dismiss());
12
+ }
13
+ /** Marks the Toast action-dismissible clicked. */
14
+ dismissWithAction(reason = null) {
15
+ if (!this.onAction$.closed) {
16
+ this.dismissedByAction = true;
17
+ this.onAction$.next(reason);
18
+ this.onAction$.complete();
19
+ }
20
+ }
21
+ /** Gets an observable that is notified when the Toast action-dismissible is called. */
22
+ onAction() {
23
+ return this.onAction$;
24
+ }
25
+ /**
26
+ * @hidden
27
+ * Cleans up the DOM after closing.
28
+ */
29
+ _finishDismiss() {
30
+ if (!this.onAction$.closed) {
31
+ this.onAction$.complete();
32
+ }
33
+ super._finishDismiss();
34
+ }
35
+ }
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10b2FzdC1hY3Rpb24tZGlzbWlzc2libGUtcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy90b2FzdC9jbGFzc2VzL2FjdGlvbi1kaXNtaXNzaWJsZS9iYXNlLXRvYXN0LWFjdGlvbi1kaXNtaXNzaWJsZS1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUk5RyxNQUFNLE9BQWdCLDZCQUdwQixTQUFRLCtCQUFxQztJQU8zQyxjQUFjO0lBQ2QsWUFDSSxpQkFBb0UsRUFDcEUsVUFBc0IsRUFDdEIsZ0JBQW1DO1FBRW5DLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQVozRCxtRkFBbUY7UUFDaEUsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFpQixDQUFDO1FBRTVELDJFQUEyRTtRQUNqRSxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFVaEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsa0RBQWtEO0lBQ2xELGlCQUFpQixDQUFDLFNBQXdCLElBQUk7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7WUFFOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUM3QjtJQUNMLENBQUM7SUFFRCx1RkFBdUY7SUFDdkYsUUFBUTtRQUNKLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7OztPQUdHO0lBQ2dCLGNBQWM7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDN0I7UUFFRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDM0IsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJhc2VUb2FzdFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vYmFzZS10b2FzdC1wb3NpdGlvbnMnO1xuaW1wb3J0IHsgQmFzZVRvYXN0RHVyYXRpb25EaXNtaXNzaWJsZVJlZiB9IGZyb20gJy4uL2R1cmF0aW9uLWRpc21pc3NpYmxlL2Jhc2UtdG9hc3QtZHVyYXRpb24tZGlzbWlzc2libGUtcmVmJztcbmltcG9ydCB7IEJhc2VUb2FzdER1cmF0aW9uRGlzbWlzc2libGVDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9kdXJhdGlvbi1kaXNtaXNzaWJsZS9iYXNlLXRvYXN0LWR1cmF0aW9uLWRpc21pc3NpYmxlLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFzZVRvYXN0Q29uZmlnIH0gZnJvbSAnLi4vYmFzZS10b2FzdC1jb25maWcnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVRvYXN0QWN0aW9uRGlzbWlzc2libGVSZWY8XG4gICAgVCA9IGFueSxcbiAgICBQIGV4dGVuZHMgQmFzZVRvYXN0Q29uZmlnPFQ+ID0gYW55XG4+IGV4dGVuZHMgQmFzZVRvYXN0RHVyYXRpb25EaXNtaXNzaWJsZVJlZjxULCBQPiB7XG4gICAgLyoqIFN1YmplY3QgZm9yIG5vdGlmeWluZyB0aGUgdXNlciB0aGF0IHRoZSBUb2FzdCBhY3Rpb24tZGlzbWlzc2libGUgd2FzIGNhbGxlZC4gKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb25BY3Rpb24kID0gbmV3IFN1YmplY3Q8c3RyaW5nIHwgbnVsbD4oKTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBUb2FzdCB3YXMgZGlzbWlzc2VkIHVzaW5nIHRoZSBhY3Rpb24tZGlzbWlzc2libGUgYnV0dG9uLiAqL1xuICAgIHByb3RlY3RlZCBkaXNtaXNzZWRCeUFjdGlvbiA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgICAgIGNvbnRhaW5lckluc3RhbmNlOiBCYXNlVG9hc3REdXJhdGlvbkRpc21pc3NpYmxlQ29udGFpbmVyQ29tcG9uZW50PFA+LFxuICAgICAgICBvdmVybGF5UmVmOiBPdmVybGF5UmVmLFxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBCYXNlVG9hc3RQb3NpdGlvblxuICAgICkge1xuICAgICAgICBzdXBlcihjb250YWluZXJJbnN0YW5jZSwgb3ZlcmxheVJlZiwgcG9zaXRpb25TdHJhdGVneSk7XG5cbiAgICAgICAgdGhpcy5vbkFjdGlvbigpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmRpc21pc3MoKSk7XG4gICAgfVxuXG4gICAgLyoqIE1hcmtzIHRoZSBUb2FzdCBhY3Rpb24tZGlzbWlzc2libGUgY2xpY2tlZC4gKi9cbiAgICBkaXNtaXNzV2l0aEFjdGlvbihyZWFzb246IHN0cmluZyB8IG51bGwgPSBudWxsKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5vbkFjdGlvbiQuY2xvc2VkKSB7XG4gICAgICAgICAgICB0aGlzLmRpc21pc3NlZEJ5QWN0aW9uID0gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5vbkFjdGlvbiQubmV4dChyZWFzb24pO1xuICAgICAgICAgICAgdGhpcy5vbkFjdGlvbiQuY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBHZXRzIGFuIG9ic2VydmFibGUgdGhhdCBpcyBub3RpZmllZCB3aGVuIHRoZSBUb2FzdCBhY3Rpb24tZGlzbWlzc2libGUgaXMgY2FsbGVkLiAqL1xuICAgIG9uQWN0aW9uKCk6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vbkFjdGlvbiQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIENsZWFucyB1cCB0aGUgRE9NIGFmdGVyIGNsb3NpbmcuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIF9maW5pc2hEaXNtaXNzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMub25BY3Rpb24kLmNsb3NlZCkge1xuICAgICAgICAgICAgdGhpcy5vbkFjdGlvbiQuY29tcGxldGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN1cGVyLl9maW5pc2hEaXNtaXNzKCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,83 @@
1
+ import { Directive, HostBinding, HostListener, inject, NgZone } from '@angular/core';
2
+ import { take } from 'rxjs';
3
+ import { BaseToastContainerComponent } from './base-toast-container.component';
4
+ import * as i0 from "@angular/core";
5
+ export class BaseToastAnimatedContainerComponent extends BaseToastContainerComponent {
6
+ /** @hidden */
7
+ constructor(config) {
8
+ super(config);
9
+ /**
10
+ * @hidden
11
+ * The state of the Message Toast animations.
12
+ */
13
+ this._animationState = 'void';
14
+ /**
15
+ * @hidden
16
+ * Whether the animations should be disabled.
17
+ */
18
+ this._animationsDisabled = false;
19
+ /** @hidden */
20
+ this._ngZone = inject(NgZone);
21
+ this._animationsDisabled = !config.animated;
22
+ }
23
+ /** Begin animation of Message Toast entrance into view. */
24
+ enter() {
25
+ this._animationState = 'visible';
26
+ }
27
+ /** Begin animation of Message Toast removal. */
28
+ exit() {
29
+ this._animationState = 'hidden';
30
+ }
31
+ /** @hidden */
32
+ ngOnDestroy() {
33
+ this._completeExit();
34
+ }
35
+ /**
36
+ * @hidden
37
+ * Handle end of animations, updating the state of the Message Toast.
38
+ */
39
+ _onAnimationEnd(event) {
40
+ const { fromState, toState } = event;
41
+ if ((toState === 'void' && fromState !== 'void') || toState === 'hidden') {
42
+ this._completeExit();
43
+ }
44
+ if (toState === 'visible') {
45
+ // Note: we shouldn't use `this` inside the zone callback,
46
+ // because it can cause a memory leak.
47
+ const onEnter = this.onEnter$;
48
+ this._ngZone.run(() => {
49
+ onEnter.next();
50
+ onEnter.complete();
51
+ });
52
+ }
53
+ }
54
+ /**
55
+ * @hidden
56
+ * Waits for the zone to settle before removing the element. Helps prevent
57
+ * errors where we end up removing an element which is in the middle of an animation.
58
+ */
59
+ _completeExit() {
60
+ // Note: we shouldn't use `this` inside the zone callback,
61
+ // because it can cause a memory leak.
62
+ const onExit = this.onExit$;
63
+ this._ngZone.onMicrotaskEmpty.pipe(take(1)).subscribe(() => {
64
+ onExit.next();
65
+ onExit.complete();
66
+ });
67
+ }
68
+ }
69
+ BaseToastAnimatedContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseToastAnimatedContainerComponent, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
70
+ BaseToastAnimatedContainerComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: BaseToastAnimatedContainerComponent, host: { listeners: { "@state.done": "_onAnimationEnd($event)" }, properties: { "@state": "this._animationState", "@.disabled": "this._animationsDisabled" } }, usesInheritance: true, ngImport: i0 });
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseToastAnimatedContainerComponent, decorators: [{
72
+ type: Directive
73
+ }], ctorParameters: function () { return [{ type: undefined }]; }, propDecorators: { _animationState: [{
74
+ type: HostBinding,
75
+ args: ['@state']
76
+ }], _animationsDisabled: [{
77
+ type: HostBinding,
78
+ args: ['@.disabled']
79
+ }], _onAnimationEnd: [{
80
+ type: HostListener,
81
+ args: ['@state.done', ['$event']]
82
+ }] } });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10b2FzdC1hbmltYXRlZC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy90b2FzdC9jbGFzc2VzL2Jhc2UtdG9hc3QtYW5pbWF0ZWQtY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUcvRSxNQUFNLE9BQWdCLG1DQUNsQixTQUFRLDJCQUE4QjtJQW9CdEMsY0FBYztJQUNkLFlBQVksTUFBUztRQUNqQixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFuQmxCOzs7V0FHRztRQUVLLG9CQUFlLEdBQUcsTUFBTSxDQUFDO1FBRWpDOzs7V0FHRztRQUVLLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUVwQyxjQUFjO1FBQ0osWUFBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUsvQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2hELENBQUM7SUFFRCwyREFBMkQ7SUFDM0QsS0FBSztRQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxnREFBZ0Q7SUFDaEQsSUFBSTtRQUNBLElBQUksQ0FBQyxlQUFlLEdBQUcsUUFBUSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxjQUFjO0lBQ2QsV0FBVztRQUNQLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7OztPQUdHO0lBRUssZUFBZSxDQUFDLEtBQXFCO1FBQ3pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRXJDLElBQUksQ0FBQyxPQUFPLEtBQUssTUFBTSxJQUFJLFNBQVMsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQ3RFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN4QjtRQUVELElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRTtZQUN2QiwwREFBMEQ7WUFDMUQsc0NBQXNDO1lBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFFOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNsQixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGFBQWE7UUFDakIsMERBQTBEO1FBQzFELHNDQUFzQztRQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRTVCLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkQsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7Z0lBaEZpQixtQ0FBbUM7b0hBQW5DLG1DQUFtQzsyRkFBbkMsbUNBQW1DO2tCQUR4RCxTQUFTOzZGQVVFLGVBQWU7c0JBRHRCLFdBQVc7dUJBQUMsUUFBUTtnQkFRYixtQkFBbUI7c0JBRDFCLFdBQVc7dUJBQUMsWUFBWTtnQkFnQ2pCLGVBQWU7c0JBRHRCLFlBQVk7dUJBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5pbWF0aW9uRXZlbnQgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBOZ1pvbmUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmFzZUFuaW1hdGVkVG9hc3RDb25maWcgfSBmcm9tICcuL2Jhc2UtdG9hc3QtY29uZmlnJztcbmltcG9ydCB7IEJhc2VUb2FzdENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS10b2FzdC1jb250YWluZXIuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVRvYXN0QW5pbWF0ZWRDb250YWluZXJDb21wb25lbnQ8UCBleHRlbmRzIEJhc2VBbmltYXRlZFRvYXN0Q29uZmlnPlxuICAgIGV4dGVuZHMgQmFzZVRvYXN0Q29udGFpbmVyQ29tcG9uZW50PFA+XG4gICAgaW1wbGVtZW50cyBPbkRlc3Ryb3lcbntcbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVGhlIHN0YXRlIG9mIHRoZSBNZXNzYWdlIFRvYXN0IGFuaW1hdGlvbnMuXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdAc3RhdGUnKVxuICAgIHByaXZhdGUgX2FuaW1hdGlvblN0YXRlID0gJ3ZvaWQnO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFdoZXRoZXIgdGhlIGFuaW1hdGlvbnMgc2hvdWxkIGJlIGRpc2FibGVkLlxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnQC5kaXNhYmxlZCcpXG4gICAgcHJpdmF0ZSBfYW5pbWF0aW9uc0Rpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCBfbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKGNvbmZpZzogUCkge1xuICAgICAgICBzdXBlcihjb25maWcpO1xuICAgICAgICB0aGlzLl9hbmltYXRpb25zRGlzYWJsZWQgPSAhY29uZmlnLmFuaW1hdGVkO1xuICAgIH1cblxuICAgIC8qKiBCZWdpbiBhbmltYXRpb24gb2YgTWVzc2FnZSBUb2FzdCBlbnRyYW5jZSBpbnRvIHZpZXcuICovXG4gICAgZW50ZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2FuaW1hdGlvblN0YXRlID0gJ3Zpc2libGUnO1xuICAgIH1cblxuICAgIC8qKiBCZWdpbiBhbmltYXRpb24gb2YgTWVzc2FnZSBUb2FzdCByZW1vdmFsLiAqL1xuICAgIGV4aXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2FuaW1hdGlvblN0YXRlID0gJ2hpZGRlbic7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29tcGxldGVFeGl0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEhhbmRsZSBlbmQgb2YgYW5pbWF0aW9ucywgdXBkYXRpbmcgdGhlIHN0YXRlIG9mIHRoZSBNZXNzYWdlIFRvYXN0LlxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ0BzdGF0ZS5kb25lJywgWyckZXZlbnQnXSlcbiAgICBwcml2YXRlIF9vbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBmcm9tU3RhdGUsIHRvU3RhdGUgfSA9IGV2ZW50O1xuXG4gICAgICAgIGlmICgodG9TdGF0ZSA9PT0gJ3ZvaWQnICYmIGZyb21TdGF0ZSAhPT0gJ3ZvaWQnKSB8fCB0b1N0YXRlID09PSAnaGlkZGVuJykge1xuICAgICAgICAgICAgdGhpcy5fY29tcGxldGVFeGl0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodG9TdGF0ZSA9PT0gJ3Zpc2libGUnKSB7XG4gICAgICAgICAgICAvLyBOb3RlOiB3ZSBzaG91bGRuJ3QgdXNlIGB0aGlzYCBpbnNpZGUgdGhlIHpvbmUgY2FsbGJhY2ssXG4gICAgICAgICAgICAvLyBiZWNhdXNlIGl0IGNhbiBjYXVzZSBhIG1lbW9yeSBsZWFrLlxuICAgICAgICAgICAgY29uc3Qgb25FbnRlciA9IHRoaXMub25FbnRlciQ7XG5cbiAgICAgICAgICAgIHRoaXMuX25nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIG9uRW50ZXIubmV4dCgpO1xuICAgICAgICAgICAgICAgIG9uRW50ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFdhaXRzIGZvciB0aGUgem9uZSB0byBzZXR0bGUgYmVmb3JlIHJlbW92aW5nIHRoZSBlbGVtZW50LiBIZWxwcyBwcmV2ZW50XG4gICAgICogZXJyb3JzIHdoZXJlIHdlIGVuZCB1cCByZW1vdmluZyBhbiBlbGVtZW50IHdoaWNoIGlzIGluIHRoZSBtaWRkbGUgb2YgYW4gYW5pbWF0aW9uLlxuICAgICAqL1xuICAgIHByaXZhdGUgX2NvbXBsZXRlRXhpdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gTm90ZTogd2Ugc2hvdWxkbid0IHVzZSBgdGhpc2AgaW5zaWRlIHRoZSB6b25lIGNhbGxiYWNrLFxuICAgICAgICAvLyBiZWNhdXNlIGl0IGNhbiBjYXVzZSBhIG1lbW9yeSBsZWFrLlxuICAgICAgICBjb25zdCBvbkV4aXQgPSB0aGlzLm9uRXhpdCQ7XG5cbiAgICAgICAgdGhpcy5fbmdab25lLm9uTWljcm90YXNrRW1wdHkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgb25FeGl0Lm5leHQoKTtcbiAgICAgICAgICAgIG9uRXhpdC5jb21wbGV0ZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { ToastBottomCenterPosition } from '../base-toast-positions';
2
+ /**
3
+ * Base Configuration class used when opening a Toast.
4
+ */
5
+ export class BaseToastConfig {
6
+ constructor() {
7
+ /**
8
+ * Toast position strategy.
9
+ */
10
+ this.positionStrategy = ToastBottomCenterPosition;
11
+ }
12
+ }
13
+ /**
14
+ * Base Configuration class used when opening an animated Toast.
15
+ */
16
+ export class BaseAnimatedToastConfig extends BaseToastConfig {
17
+ constructor() {
18
+ super(...arguments);
19
+ /** Whether the toast should be animated. */
20
+ this.animated = true;
21
+ }
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10b2FzdC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL3RvYXN0L2NsYXNzZXMvYmFzZS10b2FzdC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQix5QkFBeUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXZGOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFBNUI7UUFXSTs7V0FFRztRQUNILHFCQUFnQixHQUF1Qix5QkFBeUIsQ0FBQztJQW9DckUsQ0FBQztDQUFBO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQWlDLFNBQVEsZUFBa0I7SUFBeEU7O1FBQ0ksNENBQTRDO1FBQzVDLGFBQVEsR0FBSSxJQUFJLENBQUM7SUFDckIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVRvYXN0UG9zaXRpb24sIFRvYXN0Qm90dG9tQ2VudGVyUG9zaXRpb24gfSBmcm9tICcuLi9iYXNlLXRvYXN0LXBvc2l0aW9ucyc7XG5cbi8qKlxuICogQmFzZSBDb25maWd1cmF0aW9uIGNsYXNzIHVzZWQgd2hlbiBvcGVuaW5nIGEgVG9hc3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBCYXNlVG9hc3RDb25maWc8VCA9IGFueT4ge1xuICAgIC8qKlxuICAgICAqIERhdGEgYmVpbmcgaW5qZWN0ZWQgaW50byB0aGUgY2hpbGQgY29tcG9uZW50LlxuICAgICAqL1xuICAgIGRhdGE/OiBUO1xuXG4gICAgLyoqXG4gICAgICogQXJpYS1sYWJlbCBmb3IgdGhlIG1lc3NhZ2UgdG9hc3QgY29tcG9uZW50IGVsZW1lbnQuXG4gICAgICovXG4gICAgYXJpYUxhYmVsPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVG9hc3QgcG9zaXRpb24gc3RyYXRlZ3kuXG4gICAgICovXG4gICAgcG9zaXRpb25TdHJhdGVneT86IEJhc2VUb2FzdFBvc2l0aW9uID0gVG9hc3RCb3R0b21DZW50ZXJQb3NpdGlvbjtcblxuICAgIC8qKlxuICAgICAqIFRvYXN0IG1pbmltdW0gd2lkdGguXG4gICAgICovXG4gICAgbWluV2lkdGg/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUb2FzdCBtYXhpbXVtIHdpZHRoLlxuICAgICAqL1xuICAgIG1heFdpZHRoPzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVG9hc3QgbWluaW11bSBoZWlnaHQuXG4gICAgICovXG4gICAgbWluSGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVG9hc3QgbWF4aW11bSBoZWlnaHQuXG4gICAgICovXG4gICAgbWF4SGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVG9hc3Qgd2lkdGguXG4gICAgICovXG4gICAgd2lkdGg/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUb2FzdCBoZWlnaHQuXG4gICAgICovXG4gICAgaGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVG9hc3QgSUQuXG4gICAgICovXG4gICAgaWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQmFzZSBDb25maWd1cmF0aW9uIGNsYXNzIHVzZWQgd2hlbiBvcGVuaW5nIGFuIGFuaW1hdGVkIFRvYXN0LlxuICovXG5leHBvcnQgY2xhc3MgQmFzZUFuaW1hdGVkVG9hc3RDb25maWc8VCA9IGFueT4gZXh0ZW5kcyBCYXNlVG9hc3RDb25maWc8VD4ge1xuICAgIC8qKiBXaGV0aGVyIHRoZSB0b2FzdCBzaG91bGQgYmUgYW5pbWF0ZWQuICovXG4gICAgYW5pbWF0ZWQ/ID0gdHJ1ZTtcbn1cbiJdfQ==