@daffodil/design 0.68.0 → 0.69.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.
Files changed (121) hide show
  1. package/esm2022/article/article/article.component.mjs +2 -2
  2. package/esm2022/article/examples/article-headings/article-headings.component.mjs +3 -4
  3. package/esm2022/loading-icon/examples/loading-icon-color/loading-icon-color.component.mjs +3 -3
  4. package/esm2022/loading-icon/loading-icon/loading-icon.component.mjs +3 -3
  5. package/esm2022/modal/service/modal.service.mjs +2 -3
  6. package/esm2022/public_api.mjs +1 -2
  7. package/esm2022/sidebar/public_api.mjs +2 -1
  8. package/esm2022/sidebar/sidebar-viewport/sidebar-viewport.component.mjs +12 -4
  9. package/esm2022/sidebar/sidebar-viewport-backdrop/animation/backdrop-animation-state.mjs +2 -0
  10. package/esm2022/sidebar/sidebar-viewport-backdrop/animation/backdrop-animation.mjs +20 -0
  11. package/esm2022/sidebar/sidebar-viewport-backdrop/sidebar-viewport-backdrop.component.mjs +91 -0
  12. package/esm2022/sidebar/sidebar.module.mjs +10 -9
  13. package/esm2022/toast/daffodil-design-toast.mjs +5 -0
  14. package/esm2022/toast/examples/daffodil-design-toast-examples.mjs +5 -0
  15. package/esm2022/toast/examples/default-toast/default-toast.component.mjs +38 -0
  16. package/esm2022/toast/examples/default-toast/default-toast.module.mjs +36 -0
  17. package/esm2022/toast/examples/index.mjs +2 -0
  18. package/esm2022/toast/examples/public_api.mjs +15 -0
  19. package/esm2022/toast/examples/toast-positions/toast-positions.component.mjs +42 -0
  20. package/esm2022/toast/examples/toast-positions/toast-positions.module.mjs +57 -0
  21. package/esm2022/toast/examples/toast-status/toast-status.component.mjs +45 -0
  22. package/esm2022/toast/examples/toast-status/toast-status.module.mjs +40 -0
  23. package/esm2022/toast/examples/toast-with-custom-duration/toast-with-custom-duration.component.mjs +26 -0
  24. package/esm2022/toast/examples/toast-with-custom-duration/toast-with-custom-duration.module.mjs +32 -0
  25. package/esm2022/toast/index.mjs +2 -0
  26. package/esm2022/toast/interfaces/toast-action.mjs +2 -0
  27. package/esm2022/toast/interfaces/toast.mjs +2 -0
  28. package/esm2022/toast/options/daff-toast-options.mjs +16 -0
  29. package/esm2022/toast/public_api.mjs +9 -0
  30. package/esm2022/toast/service/changes-focus.mjs +2 -0
  31. package/esm2022/toast/service/position-strategy.mjs +29 -0
  32. package/esm2022/toast/service/position.service.mjs +33 -0
  33. package/esm2022/toast/service/toast.service.mjs +116 -0
  34. package/esm2022/toast/toast/toast-config.mjs +2 -0
  35. package/esm2022/toast/toast/toast-template.component.mjs +262 -0
  36. package/esm2022/toast/toast/toast.component.mjs +82 -0
  37. package/esm2022/toast/toast-actions/toast-actions.directive.mjs +19 -0
  38. package/esm2022/toast/toast-message/toast-message.directive.mjs +19 -0
  39. package/esm2022/toast/toast-title/toast-title.directive.mjs +19 -0
  40. package/esm2022/toast/toast.module.mjs +70 -0
  41. package/esm2022/tree/examples/basic-tree/basic-tree.component.mjs +1 -1
  42. package/esm2022/tree/interfaces/tree-render-mode.mjs +2 -0
  43. package/esm2022/tree/public_api.mjs +2 -1
  44. package/esm2022/tree/tree/tree.component.mjs +43 -36
  45. package/esm2022/tree/utils/flatten-tree.mjs +26 -14
  46. package/esm2022/tree/utils/transform.mjs +25 -0
  47. package/fesm2022/daffodil-design-article-examples.mjs +2 -2
  48. package/fesm2022/daffodil-design-article-examples.mjs.map +1 -1
  49. package/fesm2022/daffodil-design-article.mjs +2 -2
  50. package/fesm2022/daffodil-design-article.mjs.map +1 -1
  51. package/fesm2022/daffodil-design-loading-icon-examples.mjs +2 -2
  52. package/fesm2022/daffodil-design-loading-icon-examples.mjs.map +1 -1
  53. package/fesm2022/daffodil-design-loading-icon.mjs +2 -2
  54. package/fesm2022/daffodil-design-loading-icon.mjs.map +1 -1
  55. package/fesm2022/daffodil-design-modal.mjs +1 -2
  56. package/fesm2022/daffodil-design-modal.mjs.map +1 -1
  57. package/fesm2022/daffodil-design-sidebar.mjs +131 -14
  58. package/fesm2022/daffodil-design-sidebar.mjs.map +1 -1
  59. package/fesm2022/daffodil-design-toast-examples.mjs +287 -0
  60. package/fesm2022/daffodil-design-toast-examples.mjs.map +1 -0
  61. package/fesm2022/daffodil-design-toast.mjs +625 -0
  62. package/fesm2022/daffodil-design-toast.mjs.map +1 -0
  63. package/fesm2022/daffodil-design-tree-examples.mjs +1 -1
  64. package/fesm2022/daffodil-design-tree-examples.mjs.map +1 -1
  65. package/fesm2022/daffodil-design-tree.mjs +92 -48
  66. package/fesm2022/daffodil-design-tree.mjs.map +1 -1
  67. package/fesm2022/daffodil-design.mjs +1 -125
  68. package/fesm2022/daffodil-design.mjs.map +1 -1
  69. package/loading-icon/src/loading-icon-theme.scss +24 -8
  70. package/navbar/README.md +1 -1
  71. package/package.json +1 -1
  72. package/public_api.d.ts +0 -1
  73. package/scss/theme.scss +2 -0
  74. package/sidebar/public_api.d.ts +1 -0
  75. package/sidebar/sidebar-viewport/sidebar-viewport.component.d.ts +3 -2
  76. package/sidebar/sidebar-viewport-backdrop/animation/backdrop-animation-state.d.ts +2 -0
  77. package/{molecules/backdrop → sidebar/sidebar-viewport-backdrop}/animation/backdrop-animation.d.ts +1 -1
  78. package/{molecules/backdrop/backdrop/backdrop.component.d.ts → sidebar/sidebar-viewport-backdrop/sidebar-viewport-backdrop.component.d.ts} +5 -5
  79. package/sidebar/sidebar.module.d.ts +4 -4
  80. package/toast/README.md +115 -0
  81. package/toast/examples/default-toast/default-toast.component.d.ts +15 -0
  82. package/toast/examples/default-toast/default-toast.module.d.ts +11 -0
  83. package/toast/examples/index.d.ts +1 -0
  84. package/toast/examples/public_api.d.ts +2 -0
  85. package/toast/examples/toast-positions/toast-positions.component.d.ts +17 -0
  86. package/toast/examples/toast-positions/toast-positions.module.d.ts +12 -0
  87. package/toast/examples/toast-status/toast-status.component.d.ts +14 -0
  88. package/toast/examples/toast-status/toast-status.module.d.ts +12 -0
  89. package/toast/examples/toast-with-custom-duration/toast-with-custom-duration.component.d.ts +10 -0
  90. package/toast/examples/toast-with-custom-duration/toast-with-custom-duration.module.d.ts +10 -0
  91. package/toast/index.d.ts +1 -0
  92. package/toast/interfaces/toast-action.d.ts +38 -0
  93. package/toast/interfaces/toast.d.ts +20 -0
  94. package/toast/options/daff-toast-options.d.ts +15 -0
  95. package/toast/public_api.d.ts +11 -0
  96. package/toast/service/changes-focus.d.ts +2 -0
  97. package/toast/service/position-strategy.d.ts +3 -0
  98. package/toast/service/position.service.d.ts +15 -0
  99. package/toast/service/toast.service.d.ts +29 -0
  100. package/toast/src/toast-theme.scss +63 -0
  101. package/toast/toast/toast-config.d.ts +7 -0
  102. package/toast/toast/toast-template.component.d.ts +20 -0
  103. package/toast/toast/toast.component.d.ts +52 -0
  104. package/toast/toast-actions/toast-actions.directive.d.ts +6 -0
  105. package/toast/toast-message/toast-message.directive.d.ts +6 -0
  106. package/toast/toast-title/toast-title.directive.d.ts +6 -0
  107. package/toast/toast.module.d.ts +17 -0
  108. package/tree/README.md +1 -3
  109. package/tree/interfaces/tree-render-mode.d.ts +6 -0
  110. package/tree/public_api.d.ts +2 -0
  111. package/tree/tree/tree.component.d.ts +33 -11
  112. package/tree/utils/flatten-tree.d.ts +2 -1
  113. package/tree/utils/transform.d.ts +13 -0
  114. package/esm2022/molecules/backdrop/animation/backdrop-animation-state.mjs +0 -2
  115. package/esm2022/molecules/backdrop/animation/backdrop-animation.mjs +0 -20
  116. package/esm2022/molecules/backdrop/backdrop/backdrop.component.mjs +0 -87
  117. package/esm2022/molecules/backdrop/backdrop.module.mjs +0 -24
  118. package/esm2022/molecules/backdrop/public_api.mjs +0 -3
  119. package/molecules/backdrop/animation/backdrop-animation-state.d.ts +0 -2
  120. package/molecules/backdrop/backdrop.module.d.ts +0 -8
  121. package/molecules/backdrop/public_api.d.ts +0 -2
@@ -0,0 +1,33 @@
1
+ import { BreakpointObserver } from '@angular/cdk/layout';
2
+ import { Inject, Injectable, } from '@angular/core';
3
+ import { DaffBreakpoints } from '@daffodil/design';
4
+ import { DAFF_TOAST_OPTIONS, } from '../options/daff-toast-options';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/cdk/layout";
7
+ export class DaffToastPositionService {
8
+ constructor(options, mediaQuery) {
9
+ this.options = options;
10
+ this.mediaQuery = mediaQuery;
11
+ this._config = options.position;
12
+ }
13
+ get config() {
14
+ return this.mediaQuery.isMatched(DaffBreakpoints.MOBILE)
15
+ ? this._position ?? this._config
16
+ : { vertical: 'bottom', horizontal: 'center' };
17
+ }
18
+ set config(val) {
19
+ this._config = val;
20
+ }
21
+ setPosition(position) {
22
+ this._position = position;
23
+ }
24
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffToastPositionService, deps: [{ token: DAFF_TOAST_OPTIONS }, { token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable }); }
25
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffToastPositionService }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffToastPositionService, decorators: [{
28
+ type: Injectable
29
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
30
+ type: Inject,
31
+ args: [DAFF_TOAST_OPTIONS]
32
+ }] }, { type: i1.BreakpointObserver }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduL3RvYXN0L3NyYy9zZXJ2aWNlL3Bvc2l0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUNMLE1BQU0sRUFDTixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRW5ELE9BQU8sRUFHTCxrQkFBa0IsR0FDbkIsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBR3ZDLE1BQU0sT0FBTyx3QkFBd0I7SUFFbkMsWUFBZ0QsT0FBeUIsRUFBVSxVQUE4QjtRQUFqRSxZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUFVLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBQy9HLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUNsQyxDQUFDO0lBS0QsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO1lBQ3RELENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPO1lBQ2hDLENBQUMsQ0FBb0IsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUN0RSxDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsR0FBc0I7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUEyQjtRQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM1QixDQUFDO2lJQXJCVSx3QkFBd0Isa0JBRWYsa0JBQWtCO3FJQUYzQix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVU7OzBCQUdJLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQge1xuICBJbmplY3QsXG4gIEluamVjdGFibGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEYWZmQnJlYWtwb2ludHMgfSBmcm9tICdAZGFmZm9kaWwvZGVzaWduJztcblxuaW1wb3J0IHtcbiAgRGFmZlRvYXN0T3B0aW9ucyxcbiAgRGFmZlRvYXN0UG9zaXRpb24sXG4gIERBRkZfVE9BU1RfT1BUSU9OUyxcbn0gZnJvbSAnLi4vb3B0aW9ucy9kYWZmLXRvYXN0LW9wdGlvbnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGFmZlRvYXN0UG9zaXRpb25TZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERBRkZfVE9BU1RfT1BUSU9OUykgcHJpdmF0ZSBvcHRpb25zOiBEYWZmVG9hc3RPcHRpb25zLCBwcml2YXRlIG1lZGlhUXVlcnk6IEJyZWFrcG9pbnRPYnNlcnZlcikge1xuICAgIHRoaXMuX2NvbmZpZyA9IG9wdGlvbnMucG9zaXRpb247XG4gIH1cblxuICBwcml2YXRlIF9jb25maWc6IERhZmZUb2FzdFBvc2l0aW9uO1xuICBwcml2YXRlIF9wb3NpdGlvbjogRGFmZlRvYXN0UG9zaXRpb247XG5cbiAgZ2V0IGNvbmZpZygpOiBEYWZmVG9hc3RQb3NpdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMubWVkaWFRdWVyeS5pc01hdGNoZWQoRGFmZkJyZWFrcG9pbnRzLk1PQklMRSlcbiAgICAgID8gdGhpcy5fcG9zaXRpb24gPz8gdGhpcy5fY29uZmlnXG4gICAgICA6IDxEYWZmVG9hc3RQb3NpdGlvbj57IHZlcnRpY2FsOiAnYm90dG9tJywgaG9yaXpvbnRhbDogJ2NlbnRlcicgfTtcbiAgfVxuXG4gIHNldCBjb25maWcodmFsOiBEYWZmVG9hc3RQb3NpdGlvbikge1xuICAgIHRoaXMuX2NvbmZpZyA9IHZhbDtcbiAgfVxuXG4gIHNldFBvc2l0aW9uKHBvc2l0aW9uOiBEYWZmVG9hc3RQb3NpdGlvbikge1xuICAgIHRoaXMuX3Bvc2l0aW9uID0gcG9zaXRpb247XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,116 @@
1
+ import { BreakpointObserver } from '@angular/cdk/layout';
2
+ import { Overlay, } from '@angular/cdk/overlay';
3
+ import { ComponentPortal } from '@angular/cdk/portal';
4
+ import { EventEmitter, Inject, Injectable, Optional, SkipSelf, } from '@angular/core';
5
+ import { EMPTY, merge, of, } from 'rxjs';
6
+ import { delay, filter, map, take, tap, } from 'rxjs/operators';
7
+ import { DaffBreakpoints, DaffFocusStackService, } from '@daffodil/design';
8
+ import { daffToastChangesFocus } from './changes-focus';
9
+ import { createPositionStrategy } from './position-strategy';
10
+ import { DaffToastPositionService } from './position.service';
11
+ import { DAFF_TOAST_OPTIONS, } from '../options/daff-toast-options';
12
+ import { daffDefaultToastConfiguration, } from '../toast/toast-config';
13
+ import { DaffToastTemplateComponent } from '../toast/toast-template.component';
14
+ import { DaffToastModule } from '../toast.module';
15
+ import * as i0 from "@angular/core";
16
+ import * as i1 from "@angular/cdk/overlay";
17
+ import * as i2 from "@angular/cdk/layout";
18
+ import * as i3 from "./position.service";
19
+ import * as i4 from "@daffodil/design";
20
+ export class DaffToastService {
21
+ constructor(overlay, options, _parentToast, mediaQuery, toastPosition, focusStack) {
22
+ this.overlay = overlay;
23
+ this.options = options;
24
+ this._parentToast = _parentToast;
25
+ this.mediaQuery = mediaQuery;
26
+ this.toastPosition = toastPosition;
27
+ this.focusStack = focusStack;
28
+ this._toasts = [];
29
+ this._sub = this.mediaQuery.observe(DaffBreakpoints.MOBILE).pipe(filter(() => this._overlayRef !== undefined), map((position) => createPositionStrategy(this.toastPosition.config)), tap((strategy) => this._overlayRef.updatePositionStrategy(strategy))).subscribe();
30
+ }
31
+ ngOnDestroy() {
32
+ this._sub.unsubscribe();
33
+ }
34
+ _attachToastTemplate(overlayRef) {
35
+ const template = overlayRef.attach(new ComponentPortal(DaffToastTemplateComponent));
36
+ return template;
37
+ }
38
+ _createOverlayRef() {
39
+ return this.overlay.create({
40
+ hasBackdrop: false,
41
+ scrollStrategy: this.overlay.scrollStrategies.noop(),
42
+ positionStrategy: createPositionStrategy(this.toastPosition.config),
43
+ });
44
+ }
45
+ open(toast, configuration) {
46
+ if (this._parentToast && this.options.useParent) {
47
+ return this._parentToast.open(toast, configuration);
48
+ }
49
+ const config = {
50
+ ...daffDefaultToastConfiguration,
51
+ // sets the default duration to 5000ms if a toast does not have actions
52
+ duration: toast.actions?.length > 0 ? undefined : 5000,
53
+ ...configuration,
54
+ };
55
+ if (this._toasts.length === 0) {
56
+ this._overlayRef = this._createOverlayRef();
57
+ this._template = this._attachToastTemplate(this._overlayRef);
58
+ }
59
+ const dismissEvent = new EventEmitter();
60
+ const _toastPlus = {
61
+ dismissible: true,
62
+ ...toast,
63
+ dismiss: () => {
64
+ dismissEvent.emit();
65
+ },
66
+ dismissalStream: merge(config.duration ? of(undefined).pipe(delay(config.duration)) : EMPTY, dismissEvent).pipe(take(1)),
67
+ };
68
+ _toastPlus.dismissalStream.subscribe(() => {
69
+ this.close(_toastPlus);
70
+ });
71
+ this._toasts = [
72
+ _toastPlus,
73
+ ...this._toasts,
74
+ ];
75
+ this._template.instance.items = this._toasts;
76
+ return _toastPlus;
77
+ }
78
+ close(toast) {
79
+ if (this._parentToast && this.options.useParent) {
80
+ this._parentToast.close(toast);
81
+ return;
82
+ }
83
+ if (daffToastChangesFocus(toast)) {
84
+ this.focusStack.pop();
85
+ }
86
+ const index = this._toasts.indexOf(toast);
87
+ if (index === -1) {
88
+ throw new Error('The Toast that you are trying to remove does not exist.');
89
+ }
90
+ this._toasts = this._toasts.filter(m => m !== toast);
91
+ this._template.instance.items = [...this._toasts];
92
+ // This currently overrides the ":leave" animation as we currently
93
+ // remove the animating element immediately after there are no more toasts,
94
+ // without waiting for the animation to complete.
95
+ if (this._toasts.length === 0) {
96
+ this._overlayRef.dispose();
97
+ this._template.destroy();
98
+ this._overlayRef = undefined;
99
+ this._template = undefined;
100
+ }
101
+ }
102
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffToastService, deps: [{ token: i1.Overlay }, { token: DAFF_TOAST_OPTIONS }, { token: DaffToastService, optional: true, skipSelf: true }, { token: i2.BreakpointObserver }, { token: i3.DaffToastPositionService }, { token: i4.DaffFocusStackService }], target: i0.ɵɵFactoryTarget.Injectable }); }
103
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffToastService, providedIn: DaffToastModule }); }
104
+ }
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffToastService, decorators: [{
106
+ type: Injectable,
107
+ args: [{ providedIn: DaffToastModule }]
108
+ }], ctorParameters: () => [{ type: i1.Overlay }, { type: undefined, decorators: [{
109
+ type: Inject,
110
+ args: [DAFF_TOAST_OPTIONS]
111
+ }] }, { type: DaffToastService, decorators: [{
112
+ type: Optional
113
+ }, {
114
+ type: SkipSelf
115
+ }] }, { type: i2.BreakpointObserver }, { type: i3.DaffToastPositionService }, { type: i4.DaffFocusStackService }] });
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduL3RvYXN0L3NyYy9zZXJ2aWNlL3RvYXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUNMLE9BQU8sR0FFUixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBRUwsWUFBWSxFQUNaLE1BQU0sRUFDTixVQUFVLEVBRVYsUUFBUSxFQUNSLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsS0FBSyxFQUVMLEtBQUssRUFDTCxFQUFFLEdBRUgsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixHQUFHLEVBQ0gsSUFBSSxFQUNKLEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFDTCxlQUFlLEVBQ2YscUJBQXFCLEdBQ3RCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFLOUQsT0FBTyxFQUNMLGtCQUFrQixHQUVuQixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFDTCw2QkFBNkIsR0FFOUIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQUdsRCxNQUFNLE9BQU8s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Q3BELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWxELGtFQUFrRTtRQUNsRSwyRUFBMkU7UUFDM0UsaURBQWlEO1FBQ2pELElBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztTQUM1QjtJQUNILENBQUM7aUlBeEhVLGdCQUFnQix5Q0FZakIsa0JBQWtCO3FJQVpqQixnQkFBZ0IsY0FESCxlQUFlOzsyRkFDNUIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRTs7MEJBYXRDLE1BQU07MkJBQUMsa0JBQWtCOzswQkFDekIsUUFBUTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHtcbiAgT3ZlcmxheSxcbiAgT3ZlcmxheVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBDb21wb25lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbmplY3RhYmxlLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBTa2lwU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBFTVBUWSxcbiAgaW50ZXJ2YWwsXG4gIG1lcmdlLFxuICBvZixcbiAgU3Vic2NyaXB0aW9uLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGRlbGF5LFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgdGFrZSxcbiAgdGFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIERhZmZCcmVha3BvaW50cyxcbiAgRGFmZkZvY3VzU3RhY2tTZXJ2aWNlLFxufSBmcm9tICdAZGFmZm9kaWwvZGVzaWduJztcblxuaW1wb3J0IHsgZGFmZlRvYXN0Q2hhbmdlc0ZvY3VzIH0gZnJvbSAnLi9jaGFuZ2VzLWZvY3VzJztcbmltcG9ydCB7IGNyZWF0ZVBvc2l0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL3Bvc2l0aW9uLXN0cmF0ZWd5JztcbmltcG9ydCB7IERhZmZUb2FzdFBvc2l0aW9uU2VydmljZSB9IGZyb20gJy4vcG9zaXRpb24uc2VydmljZSc7XG5pbXBvcnQge1xuICBEYWZmVG9hc3QsXG4gIERhZmZUb2FzdERhdGEsXG59IGZyb20gJy4uL2ludGVyZmFjZXMvdG9hc3QnO1xuaW1wb3J0IHtcbiAgREFGRl9UT0FTVF9PUFRJT05TLFxuICBEYWZmVG9hc3RPcHRpb25zLFxufSBmcm9tICcuLi9vcHRpb25zL2RhZmYtdG9hc3Qtb3B0aW9ucyc7XG5pbXBvcnQge1xuICBkYWZmRGVmYXVsdFRvYXN0Q29uZmlndXJhdGlvbixcbiAgRGFmZlRvYXN0Q29uZmlndXJhdGlvbixcbn0gZnJvbSAnLi4vdG9hc3QvdG9hc3QtY29uZmlnJztcbmltcG9ydCB7IERhZmZUb2FzdFRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9hc3QvdG9hc3QtdGVtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IERhZmZUb2FzdE1vZHVsZSB9IGZyb20gJy4uL3RvYXN0Lm1vZHVsZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogRGFmZlRvYXN0TW9kdWxlIH0pXG5leHBvcnQgY2xhc3MgRGFmZlRvYXN0U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfc3ViOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBfdG9hc3RzOiBEYWZmVG9hc3RbXSA9IFtdO1xuXG4gIHByaXZhdGUgX292ZXJsYXlSZWY/OiBPdmVybGF5UmVmO1xuXG4gIHByaXZhdGUgX3RlbXBsYXRlPzogQ29tcG9uZW50UmVmPERhZmZUb2FzdFRlbXBsYXRlQ29tcG9uZW50PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgQEluamVjdChEQUZGX1RPQVNUX09QVElPTlMpIHByaXZhdGUgb3B0aW9uczogRGFmZlRvYXN0T3B0aW9ucyxcbiAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwcml2YXRlIF9wYXJlbnRUb2FzdDogRGFmZlRvYXN0U2VydmljZSxcbiAgICBwcml2YXRlIG1lZGlhUXVlcnk6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICBwcml2YXRlIHRvYXN0UG9zaXRpb246IERhZmZUb2FzdFBvc2l0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGZvY3VzU3RhY2s6IERhZmZGb2N1c1N0YWNrU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5fc3ViID0gdGhpcy5tZWRpYVF1ZXJ5Lm9ic2VydmUoRGFmZkJyZWFrcG9pbnRzLk1PQklMRSkucGlwZShcbiAgICAgIGZpbHRlcigoKSA9PiB0aGlzLl9vdmVybGF5UmVmICE9PSB1bmRlZmluZWQpLFxuICAgICAgbWFwKChwb3NpdGlvbikgPT4gY3JlYXRlUG9zaXRpb25TdHJhdGVneSh0aGlzLnRvYXN0UG9zaXRpb24uY29uZmlnKSksXG4gICAgICB0YXAoKHN0cmF0ZWd5KSA9PiB0aGlzLl9vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3koc3RyYXRlZ3kpKSxcbiAgICApLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIF9hdHRhY2hUb2FzdFRlbXBsYXRlKFxuXHQgIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsXG4gICk6IENvbXBvbmVudFJlZjxEYWZmVG9hc3RUZW1wbGF0ZUNvbXBvbmVudD4ge1xuXHQgIGNvbnN0IHRlbXBsYXRlID0gb3ZlcmxheVJlZi5hdHRhY2gobmV3IENvbXBvbmVudFBvcnRhbChEYWZmVG9hc3RUZW1wbGF0ZUNvbXBvbmVudCkpO1xuXHQgIHJldHVybiB0ZW1wbGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZU92ZXJsYXlSZWYoKTogT3ZlcmxheVJlZiB7XG4gICAgcmV0dXJuIHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuXHQgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuXHQgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLm5vb3AoKSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IGNyZWF0ZVBvc2l0aW9uU3RyYXRlZ3kodGhpcy50b2FzdFBvc2l0aW9uLmNvbmZpZyksXG5cdCAgfSk7XG4gIH1cblxuICBvcGVuKFxuXHQgIHRvYXN0OiBEYWZmVG9hc3REYXRhLFxuXHQgIGNvbmZpZ3VyYXRpb24/OiBQYXJ0aWFsPERhZmZUb2FzdENvbmZpZ3VyYXRpb24+LFxuICApOiBEYWZmVG9hc3Qge1xuICAgIGlmKHRoaXMuX3BhcmVudFRvYXN0ICYmIHRoaXMub3B0aW9ucy51c2VQYXJlbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9wYXJlbnRUb2FzdC5vcGVuKHRvYXN0LCBjb25maWd1cmF0aW9uKTtcbiAgICB9XG5cblx0ICBjb25zdCBjb25maWc6IERhZmZUb2FzdENvbmZpZ3VyYXRpb24gPSB7XG4gICAgICAuLi5kYWZmRGVmYXVsdFRvYXN0Q29uZmlndXJhdGlvbixcbiAgICAgIC8vIHNldHMgdGhlIGRlZmF1bHQgZHVyYXRpb24gdG8gNTAwMG1zIGlmIGEgdG9hc3QgZG9lcyBub3QgaGF2ZSBhY3Rpb25zXG4gICAgICBkdXJhdGlvbjogdG9hc3QuYWN0aW9ucz8ubGVuZ3RoID4gMCA/IHVuZGVmaW5lZCA6IDUwMDAsXG4gICAgICAuLi5jb25maWd1cmF0aW9uLFxuICAgIH07XG4gICAgaWYodGhpcy5fdG9hc3RzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX2NyZWF0ZU92ZXJsYXlSZWYoKTtcbiAgICAgIHRoaXMuX3RlbXBsYXRlID0gdGhpcy5fYXR0YWNoVG9hc3RUZW1wbGF0ZSh0aGlzLl9vdmVybGF5UmVmKTtcbiAgICB9XG4gICAgY29uc3QgZGlzbWlzc0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIGNvbnN0IF90b2FzdFBsdXM6IERhZmZUb2FzdCA9IHtcbiAgICAgIGRpc21pc3NpYmxlOiB0cnVlLFxuICAgICAgLi4udG9hc3QsXG4gICAgICBkaXNtaXNzOiAoKSA9PiB7XG4gICAgICAgIGRpc21pc3NFdmVudC5lbWl0KCk7XG4gICAgICB9LFxuICAgICAgZGlzbWlzc2FsU3RyZWFtOiBtZXJnZShcbiAgICAgICAgY29uZmlnLmR1cmF0aW9uID8gb2YodW5kZWZpbmVkKS5waXBlKGRlbGF5KGNvbmZpZy5kdXJhdGlvbikpIDogRU1QVFksXG4gICAgICAgIGRpc21pc3NFdmVudCxcbiAgICAgICkucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICksXG4gICAgfTtcblxuICAgIF90b2FzdFBsdXMuZGlzbWlzc2FsU3RyZWFtLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNsb3NlKF90b2FzdFBsdXMpO1xuICAgIH0pO1xuXG5cdCAgdGhpcy5fdG9hc3RzID0gW1xuICAgICAgX3RvYXN0UGx1cyxcbiAgICAgIC4uLnRoaXMuX3RvYXN0cyxcbiAgICBdO1xuXG4gICAgdGhpcy5fdGVtcGxhdGUuaW5zdGFuY2UuaXRlbXMgPSB0aGlzLl90b2FzdHM7XG5cblx0ICByZXR1cm4gX3RvYXN0UGx1cztcbiAgfVxuXG4gIGNsb3NlKHRvYXN0OiBEYWZmVG9hc3QpOiB2b2lkIHtcbiAgICBpZih0aGlzLl9wYXJlbnRUb2FzdCAmJiB0aGlzLm9wdGlvbnMudXNlUGFyZW50KSB7XG4gICAgICB0aGlzLl9wYXJlbnRUb2FzdC5jbG9zZSh0b2FzdCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYoZGFmZlRvYXN0Q2hhbmdlc0ZvY3VzKHRvYXN0KSkge1xuICAgICAgdGhpcy5mb2N1c1N0YWNrLnBvcCgpO1xuICAgIH1cblxuXHQgIGNvbnN0IGluZGV4ID0gdGhpcy5fdG9hc3RzLmluZGV4T2YodG9hc3QpO1xuXHQgIGlmIChpbmRleCA9PT0gLTEpIHtcblx0ICAgIHRocm93IG5ldyBFcnJvcihcblx0ICAgICAgJ1RoZSBUb2FzdCB0aGF0IHlvdSBhcmUgdHJ5aW5nIHRvIHJlbW92ZSBkb2VzIG5vdCBleGlzdC4nLFxuXHQgICAgKTtcblx0ICB9XG5cblx0ICB0aGlzLl90b2FzdHMgPSB0aGlzLl90b2FzdHMuZmlsdGVyKG0gPT4gbSAhPT0gdG9hc3QpO1xuICAgIHRoaXMuX3RlbXBsYXRlLmluc3RhbmNlLml0ZW1zID0gWy4uLnRoaXMuX3RvYXN0c107XG5cbiAgICAvLyBUaGlzIGN1cnJlbnRseSBvdmVycmlkZXMgdGhlIFwiOmxlYXZlXCIgYW5pbWF0aW9uIGFzIHdlIGN1cnJlbnRseVxuICAgIC8vIHJlbW92ZSB0aGUgYW5pbWF0aW5nIGVsZW1lbnQgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlcmUgYXJlIG5vIG1vcmUgdG9hc3RzLFxuICAgIC8vIHdpdGhvdXQgd2FpdGluZyBmb3IgdGhlIGFuaW1hdGlvbiB0byBjb21wbGV0ZS5cbiAgICBpZih0aGlzLl90b2FzdHMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLl9vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuX3RlbXBsYXRlLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuX292ZXJsYXlSZWYgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLl90ZW1wbGF0ZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export const daffDefaultToastConfiguration = {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ24vdG9hc3Qvc3JjL3RvYXN0L3RvYXN0LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBMkIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBEYWZmVG9hc3RDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBkdXJhdGlvbiAoaW4gbWlsbGlzZWNvbmRzKSB0aGF0IGEgdG9hc3QgaXMgdmlzaWJsZSBiZWZvcmUgaXQncyBkaXNtaXNzZWQuXG4gICAqL1xuICBkdXJhdGlvbj86IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IGRhZmZEZWZhdWx0VG9hc3RDb25maWd1cmF0aW9uOiBEYWZmVG9hc3RDb25maWd1cmF0aW9uID0ge307XG4iXX0=
@@ -0,0 +1,262 @@
1
+ import { animate, style, transition, trigger, } from '@angular/animations';
2
+ import { Input, ChangeDetectionStrategy, Component, ChangeDetectorRef, Inject, Output, EventEmitter, } from '@angular/core';
3
+ import { faTimes } from '@fortawesome/free-solid-svg-icons';
4
+ import { DAFF_TOAST_OPTIONS, } from '../options/daff-toast-options';
5
+ import { DaffToastPositionService } from '../service/position.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../service/position.service";
8
+ import * as i2 from "@angular/common";
9
+ import * as i3 from "@daffodil/design/button";
10
+ import * as i4 from "@fortawesome/angular-fontawesome";
11
+ import * as i5 from "./toast.component";
12
+ import * as i6 from "../toast-actions/toast-actions.directive";
13
+ import * as i7 from "../toast-title/toast-title.directive";
14
+ import * as i8 from "../toast-message/toast-message.directive";
15
+ export class DaffToastTemplateComponent {
16
+ constructor(cd, options, toastPosition) {
17
+ this.cd = cd;
18
+ this.options = options;
19
+ this.toastPosition = toastPosition;
20
+ this.faTimes = faTimes;
21
+ this._items = [];
22
+ this.closeToast = new EventEmitter();
23
+ }
24
+ onCloseToast(event) {
25
+ this.closeToast.emit();
26
+ }
27
+ get slideAnimation() {
28
+ switch (this.toastPosition.config.horizontal + '-' + this.toastPosition.config.vertical) {
29
+ case 'left-top':
30
+ case 'left-bottom':
31
+ return {
32
+ value: 0,
33
+ params: {
34
+ startX: '-100%',
35
+ endX: '0',
36
+ startY: '0',
37
+ endY: '0',
38
+ },
39
+ };
40
+ case 'right-top':
41
+ case 'right-bottom':
42
+ return {
43
+ value: 0,
44
+ params: {
45
+ startX: '100%',
46
+ endX: '0',
47
+ startY: '0',
48
+ endY: '0',
49
+ },
50
+ };
51
+ case 'center-top':
52
+ return {
53
+ value: 0,
54
+ params: {
55
+ startX: '0',
56
+ endX: '0',
57
+ startY: '-100%',
58
+ endY: '0',
59
+ },
60
+ };
61
+ case 'center-bottom':
62
+ return {
63
+ value: 0,
64
+ params: {
65
+ startX: '0',
66
+ endX: '0',
67
+ startY: '100%',
68
+ endY: '0',
69
+ },
70
+ };
71
+ }
72
+ }
73
+ get items() {
74
+ return this._items;
75
+ }
76
+ set items(value) {
77
+ this._items = value;
78
+ this.cd.markForCheck();
79
+ }
80
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffToastTemplateComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: DAFF_TOAST_OPTIONS }, { token: i1.DaffToastPositionService }], target: i0.ɵɵFactoryTarget.Component }); }
81
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: DaffToastTemplateComponent, selector: "ng-component", inputs: { items: "items" }, outputs: { closeToast: "closeToast" }, ngImport: i0, template: `
82
+ <daff-toast
83
+ *ngFor="let item of items | slice:0:3"
84
+ [toast]="item"
85
+ [status]="item.status ?? null"
86
+ (closeToast)="item.dismiss()"
87
+ [@slideIn]="slideAnimation"
88
+ [attr.role]="item.actions ? 'alertdialog' : undefined"
89
+ [attr.aria-labelledby]="item.actions ? item.title : undefined"
90
+ [attr.aria-describedby]="item.actions ? item.message : undefined">
91
+ <div daffToastTitle>{{ item.title }}</div>
92
+ <div daffToastMessage>{{ item.message }}</div>
93
+ <div daffToastActions *ngIf="item.actions">
94
+ <ng-container *ngFor="let action of item.actions">
95
+ <ng-container *ngTemplateOutlet="button;context:{ action, item }"></ng-container>
96
+ </ng-container>
97
+ </div>
98
+ <button daff-icon-button color="theme-contrast"
99
+ *ngIf="item.dismissible"
100
+ aria-label="close button"
101
+ [attr.aria-hidden]="item.actions ? undefined : true"
102
+ (click)="onCloseToast(item.dismiss())">
103
+ <fa-icon [icon]="faTimes" size="sm" [fixedWidth]="true"></fa-icon>
104
+ </button>
105
+ </daff-toast>
106
+
107
+ <ng-template #button let-action="action" let-item="item">
108
+ <ng-container [ngSwitch]="action.type">
109
+ <button type="button" *ngSwitchDefault daff-button
110
+ [status]="action.status"
111
+ [color]="action.color"
112
+ [size]="action.size"
113
+ [attr.aria-label]="action.content"
114
+ (click)="action.eventEmitter?.emit({ event: $event, action})">
115
+ {{ action.content }}
116
+ </button>
117
+ <button type="button" *ngSwitchCase="'stroked'" daff-stroked-button
118
+ [status]="action.status"
119
+ [color]="action.color"
120
+ [size]="action.size"
121
+ [attr.aria-label]="action.content"
122
+ (click)="action.eventEmitter?.emit({ event: $event, action})">
123
+ {{ action.content }}
124
+ </button>
125
+ <button type="button" *ngSwitchCase="'raised'" daff-raised-button
126
+ [status]="action.status"
127
+ [color]="action.color"
128
+ [size]="action.size"
129
+ [attr.aria-label]="action.content"
130
+ (click)="action.eventEmitter?.emit({ event: $event, action})">
131
+ {{ action.content }}
132
+ </button>
133
+ <button type="button" *ngSwitchCase="'flat'" daff-flat-button
134
+ [status]="action.status"
135
+ [color]="action.color"
136
+ [size]="action.size"
137
+ [attr.aria-label]="action.content"
138
+ (click)="action.eventEmitter?.emit({ event: $event, action})">
139
+ {{ action.content }}
140
+ </button>
141
+ <button type="button" *ngSwitchCase="'underline'" daff-underline-button
142
+ [status]="action.status"
143
+ [color]="action.color"
144
+ [size]="action.size"
145
+ [attr.aria-label]="action.content"
146
+ (click)="action.eventEmitter?.emit({ event: $event, action})">
147
+ {{ action.content }}
148
+ </button>
149
+ </ng-container>
150
+ </ng-template>
151
+ `, isInline: true, 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: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i3.DaffButtonComponent, selector: "button[daff-button],button[daff-stroked-button],button[daff-raised-button],button[daff-flat-button],button[daff-icon-button],button[daff-underline-button],a[daff-button],a[daff-stroked-button],a[daff-raised-button],a[daff-flat-button],a[daff-icon-button],a[daff-underline-button]", inputs: ["color", "size", "status", "loading", "tabindex", "disabled"] }, { kind: "component", type: i4.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: i5.DaffToastComponent, selector: "daff-toast", inputs: ["status", "toast"] }, { kind: "directive", type: i6.DaffToastActionsDirective, selector: "[daffToastActions]" }, { kind: "directive", type: i7.DaffToastTitleDirective, selector: "[daffToastTitle]" }, { kind: "directive", type: i8.DaffToastMessageDirective, selector: "[daffToastMessage]" }, { kind: "pipe", type: i2.SlicePipe, name: "slice" }], animations: [
152
+ trigger('slideIn', [
153
+ transition(':enter', [
154
+ style({ opacity: '0', transform: 'translate({{startX}}, {{startY}})' }),
155
+ animate('300ms ease-out', style({ opacity: '1', transform: 'translate({{endX}}, {{endY}})' })),
156
+ ], { params: {
157
+ startX: '0',
158
+ startY: '0',
159
+ endX: '0',
160
+ endY: '0',
161
+ } }),
162
+ ]),
163
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
164
+ }
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffToastTemplateComponent, decorators: [{
166
+ type: Component,
167
+ args: [{
168
+ changeDetection: ChangeDetectionStrategy.OnPush,
169
+ template: `
170
+ <daff-toast
171
+ *ngFor="let item of items | slice:0:3"
172
+ [toast]="item"
173
+ [status]="item.status ?? null"
174
+ (closeToast)="item.dismiss()"
175
+ [@slideIn]="slideAnimation"
176
+ [attr.role]="item.actions ? 'alertdialog' : undefined"
177
+ [attr.aria-labelledby]="item.actions ? item.title : undefined"
178
+ [attr.aria-describedby]="item.actions ? item.message : undefined">
179
+ <div daffToastTitle>{{ item.title }}</div>
180
+ <div daffToastMessage>{{ item.message }}</div>
181
+ <div daffToastActions *ngIf="item.actions">
182
+ <ng-container *ngFor="let action of item.actions">
183
+ <ng-container *ngTemplateOutlet="button;context:{ action, item }"></ng-container>
184
+ </ng-container>
185
+ </div>
186
+ <button daff-icon-button color="theme-contrast"
187
+ *ngIf="item.dismissible"
188
+ aria-label="close button"
189
+ [attr.aria-hidden]="item.actions ? undefined : true"
190
+ (click)="onCloseToast(item.dismiss())">
191
+ <fa-icon [icon]="faTimes" size="sm" [fixedWidth]="true"></fa-icon>
192
+ </button>
193
+ </daff-toast>
194
+
195
+ <ng-template #button let-action="action" let-item="item">
196
+ <ng-container [ngSwitch]="action.type">
197
+ <button type="button" *ngSwitchDefault daff-button
198
+ [status]="action.status"
199
+ [color]="action.color"
200
+ [size]="action.size"
201
+ [attr.aria-label]="action.content"
202
+ (click)="action.eventEmitter?.emit({ event: $event, action})">
203
+ {{ action.content }}
204
+ </button>
205
+ <button type="button" *ngSwitchCase="'stroked'" daff-stroked-button
206
+ [status]="action.status"
207
+ [color]="action.color"
208
+ [size]="action.size"
209
+ [attr.aria-label]="action.content"
210
+ (click)="action.eventEmitter?.emit({ event: $event, action})">
211
+ {{ action.content }}
212
+ </button>
213
+ <button type="button" *ngSwitchCase="'raised'" daff-raised-button
214
+ [status]="action.status"
215
+ [color]="action.color"
216
+ [size]="action.size"
217
+ [attr.aria-label]="action.content"
218
+ (click)="action.eventEmitter?.emit({ event: $event, action})">
219
+ {{ action.content }}
220
+ </button>
221
+ <button type="button" *ngSwitchCase="'flat'" daff-flat-button
222
+ [status]="action.status"
223
+ [color]="action.color"
224
+ [size]="action.size"
225
+ [attr.aria-label]="action.content"
226
+ (click)="action.eventEmitter?.emit({ event: $event, action})">
227
+ {{ action.content }}
228
+ </button>
229
+ <button type="button" *ngSwitchCase="'underline'" daff-underline-button
230
+ [status]="action.status"
231
+ [color]="action.color"
232
+ [size]="action.size"
233
+ [attr.aria-label]="action.content"
234
+ (click)="action.eventEmitter?.emit({ event: $event, action})">
235
+ {{ action.content }}
236
+ </button>
237
+ </ng-container>
238
+ </ng-template>
239
+ `,
240
+ animations: [
241
+ trigger('slideIn', [
242
+ transition(':enter', [
243
+ style({ opacity: '0', transform: 'translate({{startX}}, {{startY}})' }),
244
+ animate('300ms ease-out', style({ opacity: '1', transform: 'translate({{endX}}, {{endY}})' })),
245
+ ], { params: {
246
+ startX: '0',
247
+ startY: '0',
248
+ endX: '0',
249
+ endY: '0',
250
+ } }),
251
+ ]),
252
+ ],
253
+ }]
254
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
255
+ type: Inject,
256
+ args: [DAFF_TOAST_OPTIONS]
257
+ }] }, { type: i1.DaffToastPositionService }], propDecorators: { closeToast: [{
258
+ type: Output
259
+ }], items: [{
260
+ type: Input
261
+ }] } });
262
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtdGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ24vdG9hc3Qvc3JjL3RvYXN0L3RvYXN0LXRlbXBsYXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsT0FBTyxFQUNQLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxHQUNSLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUNMLEtBQUssRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGlCQUFpQixFQUNqQixNQUFNLEVBQ04sTUFBTSxFQUNOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHNUQsT0FBTyxFQUVMLGtCQUFrQixHQUNuQixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7O0FBMEZ2RSxNQUFNLE9BQU8sMEJBQTBCO0lBS3JDLFlBQ1UsRUFBcUIsRUFFckIsT0FBeUIsRUFDekIsYUFBdUM7UUFIdkMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFFckIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFDekIsa0JBQWEsR0FBYixhQUFhLENBQTBCO1FBUmpELFlBQU8sR0FBRyxPQUFPLENBQUM7UUFFVixXQUFNLEdBQWdCLEVBQUUsQ0FBQztRQVN2QixlQUFVLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7SUFGMUQsQ0FBQztJQUlMLFlBQVksQ0FBQyxLQUFZO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixRQUFRLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFD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OzZCQUMvRixFQUNELEVBQUUsTUFBTSxFQUFFO29DQUNSLE1BQU0sRUFBRSxHQUFHO29DQUNYLE1BQU0sRUFBRSxHQUFHO29DQUNYLElBQUksRUFBRSxHQUFHO29DQUNULElBQUksRUFBRSxHQUFHO2lDQUNWLEVBQUUsQ0FBQzt5QkFDTCxDQUFDO3FCQUNIO2lCQUNGOzswQkFRSSxNQUFNOzJCQUFDLGtCQUFrQjtnRkFLbEIsVUFBVTtzQkFBbkIsTUFBTTtnQkF3REgsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYW5pbWF0ZSxcbiAgc3R5bGUsXG4gIHRyYW5zaXRpb24sXG4gIHRyaWdnZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgSW5wdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBJbmplY3QsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZhVGltZXMgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuXG5pbXBvcnQgeyBEYWZmVG9hc3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3RvYXN0JztcbmltcG9ydCB7XG4gIERhZmZUb2FzdE9wdGlvbnMsXG4gIERBRkZfVE9BU1RfT1BUSU9OUyxcbn0gZnJvbSAnLi4vb3B0aW9ucy9kYWZmLXRvYXN0LW9wdGlvbnMnO1xuaW1wb3J0IHsgRGFmZlRvYXN0UG9zaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9wb3NpdGlvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkYWZmLXRvYXN0XG4gICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcyB8IHNsaWNlOjA6M1wiXG4gICAgICBbdG9hc3RdPVwiaXRlbVwiXG4gICAgICBbc3RhdHVzXT1cIml0ZW0uc3RhdHVzID8/IG51bGxcIlxuICAgICAgKGNsb3NlVG9hc3QpPVwiaXRlbS5kaXNtaXNzKClcIlxuICAgICAgW0BzbGlkZUluXT1cInNsaWRlQW5pbWF0aW9uXCJcbiAgICAgIFthdHRyLnJvbGVdPVwiaXRlbS5hY3Rpb25zID8gJ2FsZXJ0ZGlhbG9nJyA6IHVuZGVmaW5lZFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXRlbS5hY3Rpb25zID8gaXRlbS50aXRsZSA6IHVuZGVmaW5lZFwiXG4gICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIml0ZW0uYWN0aW9ucyA/IGl0ZW0ubWVzc2FnZSA6IHVuZGVmaW5lZFwiPlxuICAgICAgPGRpdiBkYWZmVG9hc3RUaXRsZT57eyBpdGVtLnRpdGxlIH19PC9kaXY+XG4gICAgICA8ZGl2IGRhZmZUb2FzdE1lc3NhZ2U+e3sgaXRlbS5tZXNzYWdlIH19PC9kaXY+XG4gICAgICA8ZGl2IGRhZmZUb2FzdEFjdGlvbnMgKm5nSWY9XCJpdGVtLmFjdGlvbnNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGl0ZW0uYWN0aW9uc1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b247Y29udGV4dDp7IGFjdGlvbiwgaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uIGRhZmYtaWNvbi1idXR0b24gY29sb3I9XCJ0aGVtZS1jb250cmFzdFwiXG4gICAgICAgICpuZ0lmPVwiaXRlbS5kaXNtaXNzaWJsZVwiXG4gICAgICAgIGFyaWEtbGFiZWw9XCJjbG9zZSBidXR0b25cIlxuICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJpdGVtLmFjdGlvbnMgPyB1bmRlZmluZWQgOiB0cnVlXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2VUb2FzdChpdGVtLmRpc21pc3MoKSlcIj5cbiAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJmYVRpbWVzXCIgc2l6ZT1cInNtXCIgW2ZpeGVkV2lkdGhdPVwidHJ1ZVwiPjwvZmEtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGFmZi10b2FzdD5cblxuICAgIDxuZy10ZW1wbGF0ZSAjYnV0dG9uIGxldC1hY3Rpb249XCJhY3Rpb25cIiBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImFjdGlvbi50eXBlXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICpuZ1N3aXRjaERlZmF1bHQgZGFmZi1idXR0b25cbiAgICAgICAgICBbc3RhdHVzXT1cImFjdGlvbi5zdGF0dXNcIlxuICAgICAgICAgIFtjb2xvcl09XCJhY3Rpb24uY29sb3JcIlxuICAgICAgICAgIFtzaXplXT1cImFjdGlvbi5zaXplXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFjdGlvbi5jb250ZW50XCJcbiAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uLmV2ZW50RW1pdHRlcj8uZW1pdCh7IGV2ZW50OiAkZXZlbnQsIGFjdGlvbn0pXCI+XG4gICAgICAgICAgICB7eyBhY3Rpb24uY29udGVudCB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nU3dpdGNoQ2FzZT1cIidzdHJva2VkJ1wiIGRhZmYtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICBbc3RhdHVzXT1cImFjdGlvbi5zdGF0dXNcIlxuICAgICAgICAgIFtjb2xvcl09XCJhY3Rpb24uY29sb3JcIlxuICAgICAgICAgIFtzaXplXT1cImFjdGlvbi5zaXplXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFjdGlvbi5jb250ZW50XCJcbiAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uLmV2ZW50RW1pdHRlcj8uZW1pdCh7IGV2ZW50OiAkZXZlbnQsIGFjdGlvbn0pXCI+XG4gICAgICAgICAgICB7eyBhY3Rpb24uY29udGVudCB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nU3dpdGNoQ2FzZT1cIidyYWlzZWQnXCIgZGFmZi1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgW3N0YXR1c109XCJhY3Rpb24uc3RhdHVzXCJcbiAgICAgICAgICBbY29sb3JdPVwiYWN0aW9uLmNvbG9yXCJcbiAgICAgICAgICBbc2l6ZV09XCJhY3Rpb24uc2l6ZVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhY3Rpb24uY29udGVudFwiXG4gICAgICAgICAgKGNsaWNrKT1cImFjdGlvbi5ldmVudEVtaXR0ZXI/LmVtaXQoeyBldmVudDogJGV2ZW50LCBhY3Rpb259KVwiPlxuICAgICAgICAgICAge3sgYWN0aW9uLmNvbnRlbnQgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICpuZ1N3aXRjaENhc2U9XCInZmxhdCdcIiBkYWZmLWZsYXQtYnV0dG9uXG4gICAgICAgICAgW3N0YXR1c109XCJhY3Rpb24uc3RhdHVzXCJcbiAgICAgICAgICBbY29sb3JdPVwiYWN0aW9uLmNvbG9yXCJcbiAgICAgICAgICBbc2l6ZV09XCJhY3Rpb24uc2l6ZVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhY3Rpb24uY29udGVudFwiXG4gICAgICAgICAgKGNsaWNrKT1cImFjdGlvbi5ldmVudEVtaXR0ZXI/LmVtaXQoeyBldmVudDogJGV2ZW50LCBhY3Rpb259KVwiPlxuICAgICAgICAgICAge3sgYWN0aW9uLmNvbnRlbnQgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICpuZ1N3aXRjaENhc2U9XCIndW5kZXJsaW5lJ1wiIGRhZmYtdW5kZXJsaW5lLWJ1dHRvblxuICAgICAgICAgIFtzdGF0dXNdPVwiYWN0aW9uLnN0YXR1c1wiXG4gICAgICAgICAgW2NvbG9yXT1cImFjdGlvbi5jb2xvclwiXG4gICAgICAgICAgW3NpemVdPVwiYWN0aW9uLnNpemVcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYWN0aW9uLmNvbnRlbnRcIlxuICAgICAgICAgIChjbGljayk9XCJhY3Rpb24uZXZlbnRFbWl0dGVyPy5lbWl0KHsgZXZlbnQ6ICRldmVudCwgYWN0aW9ufSlcIj5cbiAgICAgICAgICAgIHt7IGFjdGlvbi5jb250ZW50IH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgYCxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3NsaWRlSW4nLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgIHN0eWxlKHsgb3BhY2l0eTogJzAnLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoe3tzdGFydFh9fSwge3tzdGFydFl9fSknIH0pLFxuICAgICAgICBhbmltYXRlKCczMDBtcyBlYXNlLW91dCcsIHN0eWxlKHsgb3BhY2l0eTogJzEnLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoe3tlbmRYfX0sIHt7ZW5kWX19KScgfSkpLFxuICAgICAgXSxcbiAgICAgIHsgcGFyYW1zOiB7XG4gICAgICAgIHN0YXJ0WDogJzAnLFxuICAgICAgICBzdGFydFk6ICcwJyxcbiAgICAgICAgZW5kWDogJzAnLFxuICAgICAgICBlbmRZOiAnMCcsXG4gICAgICB9IH0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYWZmVG9hc3RUZW1wbGF0ZUNvbXBvbmVudCB7XG4gIGZhVGltZXMgPSBmYVRpbWVzO1xuXG4gIHByaXZhdGUgX2l0ZW1zOiBEYWZmVG9hc3RbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBJbmplY3QoREFGRl9UT0FTVF9PUFRJT05TKVxuICAgIHByaXZhdGUgb3B0aW9uczogRGFmZlRvYXN0T3B0aW9ucyxcbiAgICBwcml2YXRlIHRvYXN0UG9zaXRpb246IERhZmZUb2FzdFBvc2l0aW9uU2VydmljZSxcbiAgKSB7IH1cblxuICBAT3V0cHV0KCkgY2xvc2VUb2FzdDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIG9uQ2xvc2VUb2FzdChldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmNsb3NlVG9hc3QuZW1pdCgpO1xuICB9XG5cbiAgZ2V0IHNsaWRlQW5pbWF0aW9uKCk6IGFueSB7XG4gICAgc3dpdGNoICh0aGlzLnRvYXN0UG9zaXRpb24uY29uZmlnLmhvcml6b250YWwgKyAnLScgKyB0aGlzLnRvYXN0UG9zaXRpb24uY29uZmlnLnZlcnRpY2FsKSB7XG4gICAgICBjYXNlICdsZWZ0LXRvcCc6XG4gICAgICBjYXNlICdsZWZ0LWJvdHRvbSc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdmFsdWU6IDAsXG4gICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICBzdGFydFg6ICctMTAwJScsXG4gICAgICAgICAgICBlbmRYOiAnMCcsXG4gICAgICAgICAgICBzdGFydFk6ICcwJyxcbiAgICAgICAgICAgIGVuZFk6ICcwJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgY2FzZSAncmlnaHQtdG9wJzpcbiAgICAgIGNhc2UgJ3JpZ2h0LWJvdHRvbSc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdmFsdWU6IDAsXG4gICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICBzdGFydFg6ICcxMDAlJyxcbiAgICAgICAgICAgIGVuZFg6ICcwJyxcbiAgICAgICAgICAgIHN0YXJ0WTogJzAnLFxuICAgICAgICAgICAgZW5kWTogJzAnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG5cbiAgICAgIGNhc2UgJ2NlbnRlci10b3AnOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHZhbHVlOiAwLFxuICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgc3RhcnRYOiAnMCcsXG4gICAgICAgICAgICBlbmRYOiAnMCcsXG4gICAgICAgICAgICBzdGFydFk6ICctMTAwJScsXG4gICAgICAgICAgICBlbmRZOiAnMCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcblxuICAgICAgY2FzZSAnY2VudGVyLWJvdHRvbSc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdmFsdWU6IDAsXG4gICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICBzdGFydFg6ICcwJyxcbiAgICAgICAgICAgIGVuZFg6ICcwJyxcbiAgICAgICAgICAgIHN0YXJ0WTogJzEwMCUnLFxuICAgICAgICAgICAgZW5kWTogJzAnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGl0ZW1zKCk6IERhZmZUb2FzdFtdIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXM7XG4gIH1cbiAgc2V0IGl0ZW1zKHZhbHVlOiBEYWZmVG9hc3RbXSkge1xuICAgIHRoaXMuX2l0ZW1zID0gdmFsdWU7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,82 @@
1
+ import { ConfigurableFocusTrapFactory, } from '@angular/cdk/a11y';
2
+ import { Component, ElementRef, Renderer2, HostBinding, ContentChild, ViewEncapsulation, ChangeDetectionStrategy, HostListener, Input, } from '@angular/core';
3
+ import { daffArticleEncapsulatedMixin, DaffFocusStackService, DaffPrefixDirective, daffStatusMixin, } from '@daffodil/design';
4
+ import { daffToastChangesFocus } from '../service/changes-focus';
5
+ import { DaffToastActionsDirective } from '../toast-actions/toast-actions.directive';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/cdk/a11y";
8
+ import * as i2 from "@daffodil/design";
9
+ import * as i3 from "@angular/common";
10
+ /**
11
+ * An _elementRef is needed for the core mixins
12
+ */
13
+ class DaffToastBase {
14
+ constructor(_elementRef, _renderer) {
15
+ this._elementRef = _elementRef;
16
+ this._renderer = _renderer;
17
+ }
18
+ }
19
+ const _daffToastBase = daffArticleEncapsulatedMixin(daffStatusMixin(DaffToastBase));
20
+ /**
21
+ * DaffToastComponent provides a way to display and
22
+ * communicate information for user actions or system updates.
23
+ */
24
+ export class DaffToastComponent extends _daffToastBase {
25
+ /**
26
+ * @docs-private
27
+ */
28
+ onEscape() {
29
+ this.toast.dismiss();
30
+ }
31
+ constructor(elementRef, renderer, _focusTrapFactory, _focusStack) {
32
+ super(elementRef, renderer);
33
+ this.elementRef = elementRef;
34
+ this.renderer = renderer;
35
+ this._focusTrapFactory = _focusTrapFactory;
36
+ this._focusStack = _focusStack;
37
+ /** @docs-private */
38
+ this.class = true;
39
+ /** @docs-private */
40
+ this.role = 'status';
41
+ }
42
+ ngAfterContentInit() {
43
+ if (daffToastChangesFocus(this.toast)) {
44
+ this._focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement);
45
+ }
46
+ }
47
+ ngAfterViewInit() {
48
+ if (daffToastChangesFocus(this.toast)) {
49
+ this._focusStack.push();
50
+ this._focusTrap.focusFirstTabbableElementWhenReady();
51
+ }
52
+ }
53
+ ngOnDestroy() {
54
+ if (daffToastChangesFocus(this.toast)) {
55
+ this._focusTrap.destroy();
56
+ }
57
+ }
58
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffToastComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.ConfigurableFocusTrapFactory }, { token: i2.DaffFocusStackService }], target: i0.ɵɵFactoryTarget.Component }); }
59
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: DaffToastComponent, selector: "daff-toast", inputs: { status: "status", toast: "toast" }, host: { listeners: { "keydown.escape": "onEscape()" }, properties: { "class.daff-toast": "this.class", "attr.role": "this.role" } }, queries: [{ propertyName: "_actions", first: true, predicate: DaffToastActionsDirective, descendants: true }, { propertyName: "_prefix", first: true, predicate: DaffPrefixDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<div class=\"daff-toast__details\">\n <div class=\"daff-toast__content\">\n <ng-content select=\"[daffToastTitle]\"></ng-content>\n <ng-content select=\"[daffToastMessage]\"></ng-content>\n </div>\n <ng-content select=\"[daffToastActions]\"></ng-content>\n</div>\n<ng-content></ng-content>\n", styles: [".daff-toast{display:flex;border-radius:.25rem;font-size:1rem;line-height:1.5rem;position:relative;min-width:15rem;max-width:90vw}@media (min-width: 480px){.daff-toast{max-width:22rem}}.daff-toast+div+.daff-toast,.daff-toast+div+div+.daff-toast,.daff-toast+.daff-toast{margin-top:.75rem}.daff-toast:before{content:\"\";border-radius:.25rem 0 0 .25rem;position:absolute;height:100%;left:0;top:0;width:.25rem}.daff-toast .daff-prefix{padding:1rem 0 1rem 1rem}.daff-toast__close-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;appearance:none;background:none;border:none;color:currentColor;margin:0;min-height:3rem;height:3rem;min-width:3rem;width:3rem}.daff-toast__details{display:block;font-size:1rem;line-height:1.5rem;width:100%}.daff-toast__content{display:flex;flex-direction:column;gap:.25rem;padding:1rem}.daff-toast__title{font-weight:600}.daff-toast__message{font-weight:400;line-height:1.25rem}.daff-toast__actions{display:flex;align-items:center;gap:.5rem;min-height:3rem;padding:0 1rem 1rem}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
60
+ }
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffToastComponent, decorators: [{
62
+ type: Component,
63
+ args: [{ selector: 'daff-toast', inputs: ['status'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<div class=\"daff-toast__details\">\n <div class=\"daff-toast__content\">\n <ng-content select=\"[daffToastTitle]\"></ng-content>\n <ng-content select=\"[daffToastMessage]\"></ng-content>\n </div>\n <ng-content select=\"[daffToastActions]\"></ng-content>\n</div>\n<ng-content></ng-content>\n", styles: [".daff-toast{display:flex;border-radius:.25rem;font-size:1rem;line-height:1.5rem;position:relative;min-width:15rem;max-width:90vw}@media (min-width: 480px){.daff-toast{max-width:22rem}}.daff-toast+div+.daff-toast,.daff-toast+div+div+.daff-toast,.daff-toast+.daff-toast{margin-top:.75rem}.daff-toast:before{content:\"\";border-radius:.25rem 0 0 .25rem;position:absolute;height:100%;left:0;top:0;width:.25rem}.daff-toast .daff-prefix{padding:1rem 0 1rem 1rem}.daff-toast__close-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;appearance:none;background:none;border:none;color:currentColor;margin:0;min-height:3rem;height:3rem;min-width:3rem;width:3rem}.daff-toast__details{display:block;font-size:1rem;line-height:1.5rem;width:100%}.daff-toast__content{display:flex;flex-direction:column;gap:.25rem;padding:1rem}.daff-toast__title{font-weight:600}.daff-toast__message{font-weight:400;line-height:1.25rem}.daff-toast__actions{display:flex;align-items:center;gap:.5rem;min-height:3rem;padding:0 1rem 1rem}\n"] }]
64
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.ConfigurableFocusTrapFactory }, { type: i2.DaffFocusStackService }], propDecorators: { class: [{
65
+ type: HostBinding,
66
+ args: ['class.daff-toast']
67
+ }], role: [{
68
+ type: HostBinding,
69
+ args: ['attr.role']
70
+ }], _actions: [{
71
+ type: ContentChild,
72
+ args: [DaffToastActionsDirective]
73
+ }], _prefix: [{
74
+ type: ContentChild,
75
+ args: [DaffPrefixDirective]
76
+ }], toast: [{
77
+ type: Input
78
+ }], onEscape: [{
79
+ type: HostListener,
80
+ args: ['keydown.escape']
81
+ }] } });
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ24vdG9hc3Qvc3JjL3RvYXN0L3RvYXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduL3RvYXN0L3NyYy90b2FzdC90b2FzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsNEJBQTRCLEdBQzdCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxFQUNULFdBQVcsRUFDWCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUd2QixZQUFZLEVBQ1osS0FBSyxHQUVOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIscUJBQXFCLEVBRXJCLG1CQUFtQixFQUVuQixlQUFlLEdBQ2hCLE1BQU0sa0JBQWtCLENBQUM7QUFHMUIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDakUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7O0FBRXJGOztHQUVHO0FBQ0gsTUFBTSxhQUFhO0lBQ2pCLFlBQW1CLFdBQXVCLEVBQVMsU0FBb0I7UUFBcEQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBUyxjQUFTLEdBQVQsU0FBUyxDQUFXO0lBQUcsQ0FBQztDQUM1RTtBQUVELE1BQU0sY0FBYyxHQUFHLDRCQUE0QixDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0FBRXBGOzs7R0FHRztBQVdILE1BQU0sT0FBTyxrQkFDWCxTQUFRLGNBQWM7SUFnQnRCOztPQUVHO0lBRUgsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUlELFlBQ1UsVUFBc0IsRUFDdEIsUUFBbUIsRUFDbkIsaUJBQStDLEVBQy9DLFdBQWtDO1FBRTNDLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFMbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBOEI7UUFDL0MsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO1FBNUI1QyxvQkFBb0I7UUFDYSxVQUFLLEdBQUcsSUFBSSxDQUFDO1FBRTlDLG9CQUFvQjtRQUNNLFNBQUksR0FBRyxRQUFRLENBQUM7SUEyQjFDLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUM3QyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FDL0IsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLEVBQUUsQ0FBQztTQUN0RDtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7aUlBdkRVLGtCQUFrQjtxSEFBbEIsa0JBQWtCLDJRQVNmLHlCQUF5QiwwRUFHekIsbUJBQW1CLHVFQ25FbkMsc1pBV0E7OzJGRDRDYSxrQkFBa0I7a0JBVjlCLFNBQVM7K0JBQ0UsWUFBWSxVQUtkLENBQUMsUUFBUSxDQUFDLGlCQUNILGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07c0xBTWQsS0FBSztzQkFBckMsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBR0wsSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXO2dCQUd0QixRQUFRO3NCQURULFlBQVk7dUJBQUMseUJBQXlCO2dCQUlyQyxPQUFPO3NCQURSLFlBQVk7dUJBQUMsbUJBQW1CO2dCQUd4QixLQUFLO3NCQUFiLEtBQUs7Z0JBTU4sUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbmZpZ3VyYWJsZUZvY3VzVHJhcCxcbiAgQ29uZmlndXJhYmxlRm9jdXNUcmFwRmFjdG9yeSxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBSZW5kZXJlcjIsXG4gIEhvc3RCaW5kaW5nLFxuICBDb250ZW50Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgZGFmZkFydGljbGVFbmNhcHN1bGF0ZWRNaXhpbixcbiAgRGFmZkZvY3VzU3RhY2tTZXJ2aWNlLFxuICBEYWZmUHJlZml4YWJsZSxcbiAgRGFmZlByZWZpeERpcmVjdGl2ZSxcbiAgRGFmZlN0YXR1c2FibGUsXG4gIGRhZmZTdGF0dXNNaXhpbixcbn0gZnJvbSAnQGRhZmZvZGlsL2Rlc2lnbic7XG5cbmltcG9ydCB7IERhZmZUb2FzdCB9IGZyb20gJy4uL2ludGVyZmFjZXMvdG9hc3QnO1xuaW1wb3J0IHsgZGFmZlRvYXN0Q2hhbmdlc0ZvY3VzIH0gZnJvbSAnLi4vc2VydmljZS9jaGFuZ2VzLWZvY3VzJztcbmltcG9ydCB7IERhZmZUb2FzdEFjdGlvbnNEaXJlY3RpdmUgfSBmcm9tICcuLi90b2FzdC1hY3Rpb25zL3RvYXN0LWFjdGlvbnMuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBBbiBfZWxlbWVudFJlZiBpcyBuZWVkZWQgZm9yIHRoZSBjb3JlIG1peGluc1xuICovXG5jbGFzcyBEYWZmVG9hc3RCYXNlIHtcbiAgY29uc3RydWN0b3IocHVibGljIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwdWJsaWMgX3JlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG59XG5cbmNvbnN0IF9kYWZmVG9hc3RCYXNlID0gZGFmZkFydGljbGVFbmNhcHN1bGF0ZWRNaXhpbihkYWZmU3RhdHVzTWl4aW4oRGFmZlRvYXN0QmFzZSkpO1xuXG4vKipcbiAqIERhZmZUb2FzdENvbXBvbmVudCBwcm92aWRlcyBhIHdheSB0byBkaXNwbGF5IGFuZFxuICogY29tbXVuaWNhdGUgaW5mb3JtYXRpb24gZm9yIHVzZXIgYWN0aW9ucyBvciBzeXN0ZW0gdXBkYXRlcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGFmZi10b2FzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2FzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RvYXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIC8vIHRvZG8oZGFtaWVud2ViZGV2KTogcmVtb3ZlIG9uY2UgZGVjb3JhdG9ycyBoaXQgc3RhZ2UgMyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdC9pc3N1ZXMvNzM0MlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc3RhdHVzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEYWZmVG9hc3RDb21wb25lbnRcbiAgZXh0ZW5kcyBfZGFmZlRvYXN0QmFzZVxuICBpbXBsZW1lbnRzIERhZmZQcmVmaXhhYmxlLCBEYWZmU3RhdHVzYWJsZSwgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kYWZmLXRvYXN0JykgY2xhc3MgPSB0cnVlO1xuXG4gIC8qKiBAZG9jcy1wcml2YXRlICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdzdGF0dXMnO1xuXG4gIEBDb250ZW50Q2hpbGQoRGFmZlRvYXN0QWN0aW9uc0RpcmVjdGl2ZSlcbiAgICBfYWN0aW9uczogRGFmZlRvYXN0QWN0aW9uc0RpcmVjdGl2ZTtcblxuICBAQ29udGVudENoaWxkKERhZmZQcmVmaXhEaXJlY3RpdmUpXG4gICAgX3ByZWZpeDogRGFmZlByZWZpeERpcmVjdGl2ZTtcblxuICBASW5wdXQoKSB0b2FzdDogRGFmZlRvYXN0O1xuXG4gIC8qKlxuICAgKiBAZG9jcy1wcml2YXRlXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVzY2FwZScpXG4gIG9uRXNjYXBlKCkge1xuICAgIHRoaXMudG9hc3QuZGlzbWlzcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZm9jdXNUcmFwOiBDb25maWd1cmFibGVGb2N1c1RyYXA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIF9mb2N1c1RyYXBGYWN0b3J5OiBDb25maWd1cmFibGVGb2N1c1RyYXBGYWN0b3J5LFxuICAgIHByaXZhdGUgX2ZvY3VzU3RhY2s6IERhZmZGb2N1c1N0YWNrU2VydmljZSxcbiAgKSB7XG5cdCAgc3VwZXIoZWxlbWVudFJlZiwgcmVuZGVyZXIpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIGlmKGRhZmZUb2FzdENoYW5nZXNGb2N1cyh0aGlzLnRvYXN0KSkge1xuICAgICAgdGhpcy5fZm9jdXNUcmFwID0gdGhpcy5fZm9jdXNUcmFwRmFjdG9yeS5jcmVhdGUoXG4gICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmKGRhZmZUb2FzdENoYW5nZXNGb2N1cyh0aGlzLnRvYXN0KSkge1xuICAgICAgdGhpcy5fZm9jdXNTdGFjay5wdXNoKCk7XG4gICAgICB0aGlzLl9mb2N1c1RyYXAuZm9jdXNGaXJzdFRhYmJhYmxlRWxlbWVudFdoZW5SZWFkeSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmKGRhZmZUb2FzdENoYW5nZXNGb2N1cyh0aGlzLnRvYXN0KSkge1xuICAgICAgdGhpcy5fZm9jdXNUcmFwLmRlc3Ryb3koKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJfcHJlZml4XCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltkYWZmUHJlZml4XVwiPjwvbmctY29udGVudD5cbjwvbmctY29udGFpbmVyPlxuPGRpdiBjbGFzcz1cImRhZmYtdG9hc3RfX2RldGFpbHNcIj5cbiAgPGRpdiBjbGFzcz1cImRhZmYtdG9hc3RfX2NvbnRlbnRcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZGFmZlRvYXN0VGl0bGVdXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltkYWZmVG9hc3RNZXNzYWdlXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltkYWZmVG9hc3RBY3Rpb25zXVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -0,0 +1,19 @@
1
+ import { Directive, HostBinding, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DaffToastActionsDirective {
4
+ constructor() {
5
+ this.class = true;
6
+ }
7
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffToastActionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.1", type: DaffToastActionsDirective, selector: "[daffToastActions]", host: { properties: { "class.daff-toast__actions": "this.class" } }, ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffToastActionsDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: '[daffToastActions]',
14
+ }]
15
+ }], propDecorators: { class: [{
16
+ type: HostBinding,
17
+ args: ['class.daff-toast__actions']
18
+ }] } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtYWN0aW9ucy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Rlc2lnbi90b2FzdC9zcmMvdG9hc3QtYWN0aW9ucy90b2FzdC1hY3Rpb25zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQzs7QUFNdkIsTUFBTSxPQUFPLHlCQUF5QjtJQUp0QztRQU00QyxVQUFLLEdBQUcsSUFBSSxDQUFDO0tBQ3hEO2lJQUhZLHlCQUF5QjtxSEFBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQUpyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7aUJBQy9COzhCQUkyQyxLQUFLO3NCQUE5QyxXQUFXO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgSG9zdEJpbmRpbmcsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGFmZlRvYXN0QWN0aW9uc10nLFxufSlcblxuZXhwb3J0IGNsYXNzIERhZmZUb2FzdEFjdGlvbnNEaXJlY3RpdmUge1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZGFmZi10b2FzdF9fYWN0aW9ucycpIGNsYXNzID0gdHJ1ZTtcbn1cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { Directive, HostBinding, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DaffToastMessageDirective {
4
+ constructor() {
5
+ this.class = true;
6
+ }
7
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffToastMessageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.1", type: DaffToastMessageDirective, selector: "[daffToastMessage]", host: { properties: { "class.daff-toast__message": "this.class" } }, ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DaffToastMessageDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: '[daffToastMessage]',
14
+ }]
15
+ }], propDecorators: { class: [{
16
+ type: HostBinding,
17
+ args: ['class.daff-toast__message']
18
+ }] } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtbWVzc2FnZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Rlc2lnbi90b2FzdC9zcmMvdG9hc3QtbWVzc2FnZS90b2FzdC1tZXNzYWdlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQzs7QUFNdkIsTUFBTSxPQUFPLHlCQUF5QjtJQUp0QztRQU00QyxVQUFLLEdBQUcsSUFBSSxDQUFDO0tBQ3hEO2lJQUhZLHlCQUF5QjtxSEFBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQUpyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7aUJBQy9COzhCQUkyQyxLQUFLO3NCQUE5QyxXQUFXO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgSG9zdEJpbmRpbmcsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGFmZlRvYXN0TWVzc2FnZV0nLFxufSlcblxuZXhwb3J0IGNsYXNzIERhZmZUb2FzdE1lc3NhZ2VEaXJlY3RpdmUge1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZGFmZi10b2FzdF9fbWVzc2FnZScpIGNsYXNzID0gdHJ1ZTtcbn1cbiJdfQ==