toast-message-display 1.0.74

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 (39) hide show
  1. package/README.md +104 -0
  2. package/esm2022/lib/models/horizontal-alignment.enum.mjs +7 -0
  3. package/esm2022/lib/models/index.mjs +7 -0
  4. package/esm2022/lib/models/toast-colors.enum.mjs +10 -0
  5. package/esm2022/lib/models/toast-display-model.mjs +13 -0
  6. package/esm2022/lib/models/toast-message.model.mjs +11 -0
  7. package/esm2022/lib/models/toast-options.model.mjs +17 -0
  8. package/esm2022/lib/models/vertical-alignment.enum.mjs +6 -0
  9. package/esm2022/lib/services/index.mjs +2 -0
  10. package/esm2022/lib/services/toast-message.service.mjs +54 -0
  11. package/esm2022/lib/toast-demo/toast-demo.component.mjs +62 -0
  12. package/esm2022/lib/toast-message.module.mjs +61 -0
  13. package/esm2022/lib/toast-ui/toast-ui.component.mjs +41 -0
  14. package/esm2022/lib/utils/color-conversion.service.mjs +33 -0
  15. package/esm2022/lib/utils/index.mjs +3 -0
  16. package/esm2022/lib/utils/text-color.service.mjs +93 -0
  17. package/esm2022/public-api.mjs +9 -0
  18. package/esm2022/toast-message-display.mjs +5 -0
  19. package/fesm2022/toast-message-display.mjs +387 -0
  20. package/fesm2022/toast-message-display.mjs.map +1 -0
  21. package/index.d.ts +5 -0
  22. package/lib/models/horizontal-alignment.enum.d.ts +5 -0
  23. package/lib/models/index.d.ts +6 -0
  24. package/lib/models/toast-colors.enum.d.ts +8 -0
  25. package/lib/models/toast-display-model.d.ts +15 -0
  26. package/lib/models/toast-message.model.d.ts +12 -0
  27. package/lib/models/toast-options.model.d.ts +17 -0
  28. package/lib/models/vertical-alignment.enum.d.ts +4 -0
  29. package/lib/services/index.d.ts +1 -0
  30. package/lib/services/toast-message.service.d.ts +14 -0
  31. package/lib/toast-demo/toast-demo.component.d.ts +15 -0
  32. package/lib/toast-message.module.d.ts +17 -0
  33. package/lib/toast-ui/toast-ui.component.d.ts +17 -0
  34. package/lib/utils/color-conversion.service.d.ts +7 -0
  35. package/lib/utils/index.d.ts +2 -0
  36. package/lib/utils/text-color.service.d.ts +42 -0
  37. package/package.json +30 -0
  38. package/public-api.d.ts +5 -0
  39. package/toast-message-display-1.0.74.tgz +0 -0
package/README.md ADDED
@@ -0,0 +1,104 @@
1
+ # ToastMessage - Service
2
+
3
+ install the package
4
+
5
+ `npm install toast-message`
6
+
7
+ Than in your application, import the Module
8
+
9
+ `ToastMessageModule`
10
+
11
+ for example:
12
+
13
+ ```ts
14
+ @NgModule({
15
+ declarations: [
16
+ AppComponent,
17
+ ],
18
+ imports: [
19
+ BrowserModule,
20
+ AppRoutingModule,
21
+ MaterialModule,
22
+
23
+ ToastMessageModule
24
+ ],
25
+ providers: [],
26
+ bootstrap: [AppComponent]
27
+ })
28
+ ```
29
+
30
+ ## Code scaffolding
31
+
32
+ Run `ng generate component component-name --project toast-message` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project toast-message`.
33
+ > Note: Don't forget to add `--project toast-message` or else it will be added to the default project in your `angular.json` file.
34
+
35
+ ## Usage
36
+
37
+ To use the ToastMessage to display the message
38
+
39
+ 1) import the service
40
+
41
+ ```ts
42
+ toastMessage = inject(ToastMessageService)
43
+ ```
44
+
45
+ 2) Create the Message object using the `ToastDisplay` adapter
46
+
47
+ ```ts
48
+ const display = ToastDisplay.adapt({
49
+ message: 'This is a toast message. This is an Error!!',
50
+ action: 'OK',
51
+ color: ToastColors.SUCCESS,
52
+ icon: 'info'
53
+ })
54
+ ```
55
+
56
+ | Input | Type | Description
57
+ | ------- | ------------------- | --------------------------------
58
+ | message | string | Test to display in the message |
59
+ | action | string | Button to dismiss the modal |
60
+ | color | ToastColors | There are 4 colors |
61
+ | icon | MaterialIcon string | There are 4 colors |
62
+
63
+ ### ToastColors ENUM
64
+ ```
65
+ SUCCESS = "#006B31" - GREEEN
66
+ ERROR = "#CC0000 - RED
67
+ INFO = "#02559F" - BLUE
68
+ WARN = "#FFC20E" - YELLOW
69
+ NOTIFY = "#080808" - DARK GREY
70
+ GENERAL = "#f5f5f5" - LIGHT GREY
71
+ ```
72
+
73
+ ### ToastDisplay Adapter
74
+
75
+ ```ts
76
+ message: string;
77
+ action?: string;
78
+ color: ToastColors;
79
+ icon?: string;
80
+ ```
81
+
82
+ ## Displaying the Message
83
+
84
+ After Object for the ToastMessage is created with all the options indicated, then call the message to display
85
+
86
+ `this.toastMessage.toastMessage(display)`
87
+
88
+ ## Options
89
+
90
+ `this.toastMessage.toastMessage(display, 3000, VerticalAlignment.TOP)`
91
+
92
+ duration?: number
93
+
94
+ If no action is provided, then the message will be dismissed after 3 seconds if no `duration` is defined otherwise it will dismiss after the `duration` provided
95
+
96
+ If an action is provided and a `duration` is also provided then the action will b available to dismiss the modal but if no `action` is taken after the `duration` time has passed, the modal will be dismissed automatically.
97
+
98
+ vertical?: VerticalAlignment
99
+
100
+ Positions the toast at TOP or Bottom - default is top
101
+
102
+ ## Update to New Version
103
+
104
+ `npm install toast-message@latest --force`
@@ -0,0 +1,7 @@
1
+ export var HorizontalAlignment;
2
+ (function (HorizontalAlignment) {
3
+ HorizontalAlignment["LEFT"] = "left";
4
+ HorizontalAlignment["RIGHT"] = "right";
5
+ HorizontalAlignment["CENTER"] = "center";
6
+ })(HorizontalAlignment || (HorizontalAlignment = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9yaXpvbnRhbC1hbGlnbm1lbnQuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RvYXN0LW1lc3NhZ2Uvc3JjL2xpYi9tb2RlbHMvaG9yaXpvbnRhbC1hbGlnbm1lbnQuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxtQkFJWDtBQUpELFdBQVksbUJBQW1CO0lBQzdCLG9DQUFhLENBQUE7SUFDYixzQ0FBZSxDQUFBO0lBQ2Ysd0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFJOUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBIb3Jpem9udGFsQWxpZ25tZW50IHtcbiAgTEVGVCA9ICdsZWZ0JyxcbiAgUklHSFQgPSAncmlnaHQnLFxuICBDRU5URVIgPSAnY2VudGVyJyxcbn1cbiJdfQ==
@@ -0,0 +1,7 @@
1
+ export * from "./horizontal-alignment.enum";
2
+ export * from "./vertical-alignment.enum";
3
+ export * from "./toast-colors.enum";
4
+ export * from "./toast-display-model";
5
+ export * from "./toast-message.model";
6
+ export * from "./toast-options.model";
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90b2FzdC1tZXNzYWdlL3NyYy9saWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYywyQkFBMkIsQ0FBQTtBQUN6QyxjQUFjLHFCQUFxQixDQUFBO0FBRW5DLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLHVCQUF1QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vaG9yaXpvbnRhbC1hbGlnbm1lbnQuZW51bVwiXG5leHBvcnQgKiBmcm9tIFwiLi92ZXJ0aWNhbC1hbGlnbm1lbnQuZW51bVwiXG5leHBvcnQgKiBmcm9tIFwiLi90b2FzdC1jb2xvcnMuZW51bVwiXG5cbmV4cG9ydCAqIGZyb20gXCIuL3RvYXN0LWRpc3BsYXktbW9kZWxcIlxuZXhwb3J0ICogZnJvbSBcIi4vdG9hc3QtbWVzc2FnZS5tb2RlbFwiXG5leHBvcnQgKiBmcm9tIFwiLi90b2FzdC1vcHRpb25zLm1vZGVsXCJcblxuIl19
@@ -0,0 +1,10 @@
1
+ export var ToastColors;
2
+ (function (ToastColors) {
3
+ ToastColors["SUCCESS"] = "#006B31";
4
+ ToastColors["ERROR"] = "#CC0000";
5
+ ToastColors["INFO"] = "#02559F";
6
+ ToastColors["WARN"] = "#FFC20E";
7
+ ToastColors["NOTIFY"] = "#080808";
8
+ ToastColors["GENERAL"] = "#f5f5f5";
9
+ })(ToastColors || (ToastColors = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtY29sb3JzLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90b2FzdC1tZXNzYWdlL3NyYy9saWIvbW9kZWxzL3RvYXN0LWNvbG9ycy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFdBT1g7QUFQRCxXQUFZLFdBQVc7SUFDckIsa0NBQW1CLENBQUE7SUFDbkIsZ0NBQWlCLENBQUE7SUFDakIsK0JBQWdCLENBQUE7SUFDaEIsK0JBQWdCLENBQUE7SUFDaEIsaUNBQWtCLENBQUE7SUFDbEIsa0NBQW1CLENBQUE7QUFDckIsQ0FBQyxFQVBXLFdBQVcsS0FBWCxXQUFXLFFBT3RCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gVG9hc3RDb2xvcnMge1xuICBTVUNDRVNTID0gJyMwMDZCMzEnLCAvLyBncmVlblxuICBFUlJPUiA9ICcjQ0MwMDAwJywgICAvLyByZWRcbiAgSU5GTyA9ICcjMDI1NTlGJywgICAgLy8gZ3JleVxuICBXQVJOID0gJyNGRkMyMEUnLCAgICAvLyBvcmFuZ2VcbiAgTk9USUZZID0gJyMwODA4MDgnLCAgICAvLyBibGFja1xuICBHRU5FUkFMID0gJyNmNWY1ZjUnLCAgICAvLyBsaWdodFxufVxuIl19
@@ -0,0 +1,13 @@
1
+ import { ToastColors } from "./toast-colors.enum";
2
+ export class ToastDisplay {
3
+ constructor(message = 'Sample message', action, color = ToastColors.INFO, icon) {
4
+ this.message = message;
5
+ this.action = action;
6
+ this.color = color;
7
+ this.icon = icon;
8
+ }
9
+ static adapt(item) {
10
+ return new ToastDisplay(item?.message, item?.action, item?.color, item?.icon);
11
+ }
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtZGlzcGxheS1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RvYXN0LW1lc3NhZ2Uvc3JjL2xpYi9tb2RlbHMvdG9hc3QtZGlzcGxheS1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFTbEQsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFDUyxVQUFVLGdCQUFnQixFQUMxQixNQUFlLEVBQ2YsUUFBUSxXQUFXLENBQUMsSUFBSSxFQUN4QixJQUFhO1FBSGIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQUNmLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLFNBQUksR0FBSixJQUFJLENBQVM7SUFDbkIsQ0FBQztJQUVKLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBVTtRQUNyQixPQUFPLElBQUksWUFBWSxDQUNyQixJQUFJLEVBQUUsT0FBTyxFQUNiLElBQUksRUFBRSxNQUFNLEVBQ1osSUFBSSxFQUFFLEtBQUssRUFDWCxJQUFJLEVBQUUsSUFBSSxDQUNYLENBQUM7SUFDSixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb2FzdENvbG9ycyB9IGZyb20gXCIuL3RvYXN0LWNvbG9ycy5lbnVtXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9hc3REaXNwbGF5SW50ZXJmYWNlIHtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBhY3Rpb24/OiBzdHJpbmc7XG4gIGNvbG9yOiBUb2FzdENvbG9ycztcbiAgaWNvbj86IHN0cmluZ1xufVxuXG5leHBvcnQgY2xhc3MgVG9hc3REaXNwbGF5IGltcGxlbWVudHMgVG9hc3REaXNwbGF5SW50ZXJmYWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG1lc3NhZ2UgPSAnU2FtcGxlIG1lc3NhZ2UnLFxuICAgIHB1YmxpYyBhY3Rpb24/OiBzdHJpbmcsXG4gICAgcHVibGljIGNvbG9yID0gVG9hc3RDb2xvcnMuSU5GTyxcbiAgICBwdWJsaWMgaWNvbj86IHN0cmluZyxcbiAgKSB7fVxuXG4gIHN0YXRpYyBhZGFwdChpdGVtPzogYW55KTogVG9hc3REaXNwbGF5SW50ZXJmYWNlIHtcbiAgICByZXR1cm4gbmV3IFRvYXN0RGlzcGxheShcbiAgICAgIGl0ZW0/Lm1lc3NhZ2UsXG4gICAgICBpdGVtPy5hY3Rpb24sXG4gICAgICBpdGVtPy5jb2xvcixcbiAgICAgIGl0ZW0/Lmljb24sXG4gICAgKTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,11 @@
1
+ export class ToastMessage {
2
+ constructor(error = '', action = '', icon = 'error') {
3
+ this.error = error;
4
+ this.action = action;
5
+ this.icon = icon;
6
+ }
7
+ static adapt(item) {
8
+ return new ToastMessage(item?.error, item?.action, item?.icon);
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtbWVzc2FnZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RvYXN0LW1lc3NhZ2Uvc3JjL2xpYi9tb2RlbHMvdG9hc3QtbWVzc2FnZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNTLFFBQVEsRUFBRSxFQUNWLFNBQVMsRUFBRSxFQUNYLE9BQU8sT0FBTztRQUZkLFVBQUssR0FBTCxLQUFLLENBQUs7UUFDVixXQUFNLEdBQU4sTUFBTSxDQUFLO1FBQ1gsU0FBSSxHQUFKLElBQUksQ0FBVTtJQUNwQixDQUFDO0lBRUwsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFVO1FBQ3BCLE9BQU8sSUFBSSxZQUFZLENBQ3JCLElBQUksRUFBRSxLQUFLLEVBQ1gsSUFBSSxFQUFFLE1BQU0sRUFDWixJQUFJLEVBQUUsSUFBSSxDQUNYLENBQUE7SUFFSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFRvYXN0TWVzc2FnZUludGVyZmFjZSB7XG4gIGVycm9yOiBzdHJpbmc7XG4gIGFjdGlvbjogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBUb2FzdE1lc3NhZ2UgaW1wbGVtZW50cyBUb2FzdE1lc3NhZ2VJbnRlcmZhY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZXJyb3IgPSAnJyxcbiAgICBwdWJsaWMgYWN0aW9uID0gJycsXG4gICAgcHVibGljIGljb24gPSAnZXJyb3InLFxuICApIHt9XG5cbiBzdGF0aWMgYWRhcHQoaXRlbT86IGFueSk6IFRvYXN0TWVzc2FnZUludGVyZmFjZSB7XG4gICAgcmV0dXJuIG5ldyBUb2FzdE1lc3NhZ2UoXG4gICAgICBpdGVtPy5lcnJvcixcbiAgICAgIGl0ZW0/LmFjdGlvbixcbiAgICAgIGl0ZW0/Lmljb24sXG4gICAgKVxuXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { HorizontalAlignment } from "./horizontal-alignment.enum";
2
+ import { ToastDisplay } from "./toast-display-model";
3
+ import { VerticalAlignment } from "./vertical-alignment.enum";
4
+ export class ToastOptions {
5
+ constructor(duration, horizontalPosition = HorizontalAlignment.CENTER, verticalPosition = VerticalAlignment.TOP, data) {
6
+ this.duration = duration;
7
+ this.horizontalPosition = horizontalPosition;
8
+ this.verticalPosition = verticalPosition;
9
+ this.data = data;
10
+ }
11
+ static adapt(item) {
12
+ if (item?.duration)
13
+ item.duration = item.duration * 1000;
14
+ return new ToastOptions(item?.duration, item?.horizontalPosition, item?.verticalPosition, item?.data ? ToastDisplay.adapt(item.data) : ToastDisplay.adapt());
15
+ }
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Qtb3B0aW9ucy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RvYXN0LW1lc3NhZ2Uvc3JjL2xpYi9tb2RlbHMvdG9hc3Qtb3B0aW9ucy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFTOUQsTUFBTSxPQUFPLFlBQVk7SUFFdkIsWUFDUyxRQUFpQixFQUNqQixxQkFBcUIsbUJBQW1CLENBQUMsTUFBTSxFQUMvQyxtQkFBbUIsaUJBQWlCLENBQUMsR0FBRyxFQUN4QyxJQUFtQjtRQUhuQixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBNkI7UUFDL0MscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQUN4QyxTQUFJLEdBQUosSUFBSSxDQUFlO0lBQ3pCLENBQUM7SUFFSixNQUFNLENBQUMsS0FBSyxDQUFDLElBQVU7UUFFckIsSUFBRyxJQUFJLEVBQUUsUUFBUTtZQUFFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUE7UUFFdkQsT0FBTyxJQUFJLFlBQVksQ0FDckIsSUFBSSxFQUFFLFFBQVEsRUFDZCxJQUFJLEVBQUUsa0JBQWtCLEVBQ3hCLElBQUksRUFBRSxnQkFBZ0IsRUFDdEIsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FDbEUsQ0FBQTtJQUNILENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhvcml6b250YWxBbGlnbm1lbnQgfSBmcm9tIFwiLi9ob3Jpem9udGFsLWFsaWdubWVudC5lbnVtXCI7XG5pbXBvcnQgeyBUb2FzdERpc3BsYXkgfSBmcm9tIFwiLi90b2FzdC1kaXNwbGF5LW1vZGVsXCI7XG5pbXBvcnQgeyBWZXJ0aWNhbEFsaWdubWVudCB9IGZyb20gXCIuL3ZlcnRpY2FsLWFsaWdubWVudC5lbnVtXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9hc3RPcHRpb25zSW50ZXJmYWNlIHtcbiAgZHVyYXRpb24/OiBudW1iZXJcbiAgaG9yaXpvbnRhbFBvc2l0aW9uPzogSG9yaXpvbnRhbEFsaWdubWVudFxuICB2ZXJ0aWNhbFBvc2l0aW9uPzogVmVydGljYWxBbGlnbm1lbnRcbiAgZGF0YT86IFRvYXN0RGlzcGxheVxufVxuXG5leHBvcnQgY2xhc3MgVG9hc3RPcHRpb25zIGltcGxlbWVudHMgVG9hc3RPcHRpb25zSW50ZXJmYWNlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZHVyYXRpb24/OiBudW1iZXIsXG4gICAgcHVibGljIGhvcml6b250YWxQb3NpdGlvbiA9IEhvcml6b250YWxBbGlnbm1lbnQuQ0VOVEVSLFxuICAgIHB1YmxpYyB2ZXJ0aWNhbFBvc2l0aW9uID0gVmVydGljYWxBbGlnbm1lbnQuVE9QLFxuICAgIHB1YmxpYyBkYXRhPzogVG9hc3REaXNwbGF5XG4gICkge31cblxuICBzdGF0aWMgYWRhcHQoaXRlbT86IGFueSk6IFRvYXN0T3B0aW9uc0ludGVyZmFjZSB7XG5cbiAgICBpZihpdGVtPy5kdXJhdGlvbikgaXRlbS5kdXJhdGlvbiA9IGl0ZW0uZHVyYXRpb24gKiAxMDAwXG5cbiAgICByZXR1cm4gbmV3IFRvYXN0T3B0aW9ucyhcbiAgICAgIGl0ZW0/LmR1cmF0aW9uLFxuICAgICAgaXRlbT8uaG9yaXpvbnRhbFBvc2l0aW9uLFxuICAgICAgaXRlbT8udmVydGljYWxQb3NpdGlvbixcbiAgICAgIGl0ZW0/LmRhdGEgPyBUb2FzdERpc3BsYXkuYWRhcHQoaXRlbS5kYXRhKSA6IFRvYXN0RGlzcGxheS5hZGFwdCgpXG4gICAgKVxuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export var VerticalAlignment;
2
+ (function (VerticalAlignment) {
3
+ VerticalAlignment["TOP"] = "top";
4
+ VerticalAlignment["BOTTOM"] = "bottom";
5
+ })(VerticalAlignment || (VerticalAlignment = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtYWxpZ25tZW50LmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90b2FzdC1tZXNzYWdlL3NyYy9saWIvbW9kZWxzL3ZlcnRpY2FsLWFsaWdubWVudC5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDM0IsZ0NBQVcsQ0FBQTtJQUNYLHNDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFIVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBRzVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gVmVydGljYWxBbGlnbm1lbnQge1xuICBUT1AgPSAndG9wJyxcbiAgQk9UVE9NID0gJ2JvdHRvbScsXG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from "./toast-message.service";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90b2FzdC1tZXNzYWdlL3NyYy9saWIvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL3RvYXN0LW1lc3NhZ2Uuc2VydmljZVwiXG4iXX0=
@@ -0,0 +1,54 @@
1
+ import { inject, Injectable } from '@angular/core';
2
+ import { MatSnackBar } from '@angular/material/snack-bar';
3
+ import { ToastUIComponent } from '../toast-ui/toast-ui.component';
4
+ import { ToastOptions } from '../models/toast-options.model';
5
+ import { ToastDisplay } from '../models/toast-display-model';
6
+ import { take } from 'rxjs/operators';
7
+ import * as i0 from "@angular/core";
8
+ export class ToastMessageService {
9
+ constructor() {
10
+ this.snackBar = inject(MatSnackBar);
11
+ this.toastQueue = [];
12
+ this.isToastVisible = false;
13
+ this.defaultDuration = 3;
14
+ }
15
+ toastMessage(options = ToastDisplay.adapt(), duration, vertical) {
16
+ this.toastQueue.push({ options, duration, vertical });
17
+ this.showNextToast();
18
+ }
19
+ showNextToast() {
20
+ if (this.isToastVisible || this.toastQueue.length === 0)
21
+ return;
22
+ const { options, duration, vertical } = this.toastQueue.shift();
23
+ const durationDismiss = (!options.action) ? this.defaultDuration : duration;
24
+ const displayOptions = ToastOptions.adapt({
25
+ duration: durationDismiss,
26
+ horizontalPosition: 'center',
27
+ verticalPosition: vertical,
28
+ data: options
29
+ });
30
+ this.isToastVisible = true;
31
+ this.snackBarRef = this.snackBar.openFromComponent(ToastUIComponent, displayOptions);
32
+ if (this.snackBarRef) {
33
+ this.snackBarRef
34
+ .afterDismissed()
35
+ .pipe(take(1))
36
+ .subscribe(() => {
37
+ this.isToastVisible = false;
38
+ this.showNextToast();
39
+ });
40
+ }
41
+ else {
42
+ console.error('Snackbar reference is undefined. Unable to subscribe to dismissal event.');
43
+ }
44
+ }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
46
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageService, providedIn: 'root' }); }
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageService, decorators: [{
49
+ type: Injectable,
50
+ args: [{
51
+ providedIn: 'root'
52
+ }]
53
+ }] });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtbWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9hc3QtbWVzc2FnZS9zcmMvbGliL3NlcnZpY2VzL3RvYXN0LW1lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFrQixNQUFNLDZCQUE2QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUt0QyxNQUFNLE9BQU8sbUJBQW1CO0lBSGhDO1FBS1UsYUFBUSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUvQixlQUFVLEdBQWlGLEVBQUUsQ0FBQztRQUM5RixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUUvQixvQkFBZSxHQUFHLENBQUMsQ0FBQztLQXdDckI7SUFwQ0MsWUFBWSxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUMsS0FBSyxFQUFFLEVBQUUsUUFBaUIsRUFBRSxRQUE0QjtRQUMxRixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLGFBQWE7UUFFbkIsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFNO1FBRS9ELE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFHLENBQUE7UUFFaEUsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFBO1FBRTNFLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDeEMsUUFBUSxFQUFFLGVBQWU7WUFDekIsa0JBQWtCLEVBQUUsUUFBUTtZQUM1QixnQkFBZ0IsRUFBRSxRQUFRO1lBQzFCLElBQUksRUFBRSxPQUFPO1NBQ2QsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBRXJGLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVztpQkFDYixjQUFjLEVBQUU7aUJBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2IsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1NBQ047YUFBTTtZQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUMsMEVBQTBFLENBQUMsQ0FBQztTQUMzRjtJQUVILENBQUM7K0dBOUNVLG1CQUFtQjttSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyLCBNYXRTbmFja0JhclJlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBUb2FzdFVJQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9hc3QtdWkvdG9hc3QtdWkuY29tcG9uZW50JztcbmltcG9ydCB7IFRvYXN0T3B0aW9ucyB9IGZyb20gJy4uL21vZGVscy90b2FzdC1vcHRpb25zLm1vZGVsJztcbmltcG9ydCB7IFZlcnRpY2FsQWxpZ25tZW50IH0gZnJvbSAnLi4vbW9kZWxzL3ZlcnRpY2FsLWFsaWdubWVudC5lbnVtJztcbmltcG9ydCB7IFRvYXN0RGlzcGxheSB9IGZyb20gJy4uL21vZGVscy90b2FzdC1kaXNwbGF5LW1vZGVsJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0TWVzc2FnZVNlcnZpY2Uge1xuXG4gIHByaXZhdGUgc25hY2tCYXIgPSBpbmplY3QoTWF0U25hY2tCYXIpO1xuXG4gIHByaXZhdGUgdG9hc3RRdWV1ZTogeyBvcHRpb25zOiBUb2FzdERpc3BsYXksIGR1cmF0aW9uPzogbnVtYmVyLCB2ZXJ0aWNhbD86IFZlcnRpY2FsQWxpZ25tZW50IH1bXSA9IFtdO1xuICBwcml2YXRlIGlzVG9hc3RWaXNpYmxlID0gZmFsc2U7XG5cbiAgZGVmYXVsdER1cmF0aW9uID0gMztcblxuICBzbmFja0JhclJlZjogTWF0U25hY2tCYXJSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICB0b2FzdE1lc3NhZ2Uob3B0aW9ucyA9IFRvYXN0RGlzcGxheS5hZGFwdCgpLCBkdXJhdGlvbj86IG51bWJlciwgdmVydGljYWw/OiBWZXJ0aWNhbEFsaWdubWVudCkge1xuICAgIHRoaXMudG9hc3RRdWV1ZS5wdXNoKHsgb3B0aW9ucywgZHVyYXRpb24sIHZlcnRpY2FsIH0pO1xuICAgIHRoaXMuc2hvd05leHRUb2FzdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93TmV4dFRvYXN0KCkge1xuXG4gICAgaWYgKHRoaXMuaXNUb2FzdFZpc2libGUgfHwgdGhpcy50b2FzdFF1ZXVlLmxlbmd0aCA9PT0gMCkgcmV0dXJuXG5cbiAgICBjb25zdCB7IG9wdGlvbnMsIGR1cmF0aW9uLCB2ZXJ0aWNhbCB9ID0gdGhpcy50b2FzdFF1ZXVlLnNoaWZ0KCkhXG5cbiAgICBjb25zdCBkdXJhdGlvbkRpc21pc3MgPSAoIW9wdGlvbnMuYWN0aW9uKSA/IHRoaXMuZGVmYXVsdER1cmF0aW9uIDogZHVyYXRpb25cblxuICAgIGNvbnN0IGRpc3BsYXlPcHRpb25zID0gVG9hc3RPcHRpb25zLmFkYXB0KHtcbiAgICAgIGR1cmF0aW9uOiBkdXJhdGlvbkRpc21pc3MsXG4gICAgICBob3Jpem9udGFsUG9zaXRpb246ICdjZW50ZXInLFxuICAgICAgdmVydGljYWxQb3NpdGlvbjogdmVydGljYWwsXG4gICAgICBkYXRhOiBvcHRpb25zXG4gICAgfSlcblxuICAgIHRoaXMuaXNUb2FzdFZpc2libGUgPSB0cnVlO1xuICAgIHRoaXMuc25hY2tCYXJSZWYgPSB0aGlzLnNuYWNrQmFyLm9wZW5Gcm9tQ29tcG9uZW50KFRvYXN0VUlDb21wb25lbnQsIGRpc3BsYXlPcHRpb25zKTtcblxuICAgIGlmICh0aGlzLnNuYWNrQmFyUmVmKSB7XG4gICAgICB0aGlzLnNuYWNrQmFyUmVmXG4gICAgICAgIC5hZnRlckRpc21pc3NlZCgpXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNUb2FzdFZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnNob3dOZXh0VG9hc3QoKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1NuYWNrYmFyIHJlZmVyZW5jZSBpcyB1bmRlZmluZWQuIFVuYWJsZSB0byBzdWJzY3JpYmUgdG8gZGlzbWlzc2FsIGV2ZW50LicpO1xuICAgIH1cblxuICB9XG59XG4iXX0=
@@ -0,0 +1,62 @@
1
+ import { Component, inject } from '@angular/core';
2
+ import { ToastMessageService } from '../services';
3
+ import { ToastColors, ToastDisplay, VerticalAlignment } from '../models';
4
+ import { FormBuilder } from '@angular/forms';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@angular/forms";
8
+ import * as i3 from "@angular/material/icon";
9
+ import * as i4 from "@angular/material/button";
10
+ import * as i5 from "@angular/material/toolbar";
11
+ import * as i6 from "@angular/material/menu";
12
+ import * as i7 from "@angular/material/radio";
13
+ export class ToastDemoComponent {
14
+ constructor() {
15
+ this.fb = inject(FormBuilder);
16
+ this.toastMessageService = inject(ToastMessageService);
17
+ this.type = 'Basic';
18
+ this.position = this.fb.control('top');
19
+ }
20
+ onSelectType(type) {
21
+ this.type = type;
22
+ }
23
+ onBasic(type, icon, action) {
24
+ switch (type) {
25
+ case 'ERROR':
26
+ this.presentToast(ToastColors.ERROR, icon, action);
27
+ break;
28
+ case 'INFO':
29
+ this.presentToast(ToastColors.INFO, icon, action);
30
+ break;
31
+ case 'WARN':
32
+ this.presentToast(ToastColors.WARN, icon, action);
33
+ break;
34
+ case 'NOTIFY':
35
+ this.presentToast(ToastColors.NOTIFY, icon, action);
36
+ break;
37
+ case 'GENERAL':
38
+ this.presentToast(ToastColors.GENERAL, icon, action);
39
+ break;
40
+ default:
41
+ this.presentToast(ToastColors.SUCCESS, icon, action);
42
+ break;
43
+ }
44
+ }
45
+ presentToast(color, icon, action) {
46
+ const options = ToastDisplay.adapt({
47
+ message: "This is a simple toast message",
48
+ color,
49
+ icon,
50
+ action
51
+ });
52
+ const toastPosition = (this.position.value === 'top') ? VerticalAlignment.TOP : VerticalAlignment.BOTTOM;
53
+ this.toastMessageService.toastMessage(options, -1, toastPosition);
54
+ }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastDemoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToastDemoComponent, selector: "app-toast-demo", ngImport: i0, template: "<mat-toolbar style=\"display: flex;\">\n <div>Dynamic Dialog Demo</div>\n <div style=\"flex:1; text-align: end;\">\n <button\n mat-stroked-button\n [matMenuTriggerFor]=\"menu\"\n matIconPrefix\n >\n {{ type | titlecase }}\n <mat-icon>layers</mat-icon>\n </button>\n </div>\n</mat-toolbar>\n\n<mat-menu #menu=\"matMenu\">\n <button\n mat-menu-item\n (click)=\"onSelectType('basic')\"\n >\n Basic\n </button>\n <button\n mat-menu-item\n (click)=\"onSelectType('icon')\"\n >\n Icon\n </button>\n <button\n mat-menu-item\n (click)=\"onSelectType('action')\"\n >\n Action\n </button>\n</mat-menu>\n\n<div style=\"margin: 1rem;\">\n <span [ngSwitch]=\"type\">\n <div *ngSwitchCase=\"'icon'\">\n <div style=\"display: flex; gap: 1rem; flex-direction: column;\">\n <h3 style=\"flex:1; margin-bottom: 0;\">Toast with Icon</h3>\n <div style=\"display: flex; gap: .5rem;\">\n <button\n mat-stroked-button\n (click)=\"onBasic('SUCCESS', 'favorite_border')\"\n >\n Icon - SUCCESS\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('ERROR', 'dashboard')\"\n >\n Icon - ERROR\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('INFO', 'event')\"\n >\n Icon - INFO\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN', 'paid')\"\n >\n Icon - WARN\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN', 'notifications')\"\n >\n Icon - NOTIFY\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN', 'movie_filter')\"\n >\n Icon - GENERAL\n </button>\n </div>\n </div>\n </div>\n <div *ngSwitchCase=\"'action'\">\n <div style=\"display: flex; gap: 1rem; flex-direction: column;\">\n <h3 style=\"flex:1; margin-bottom: 0;\">Toast with Icon and Action</h3>\n <div style=\"display: flex; gap: .5rem;\">\n <button\n mat-stroked-button\n (click)=\"onBasic('SUCCESS', 'favorite_border', 'Dismiss')\"\n >\n Action - SUCCESS\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('ERROR', 'dashboard', 'Dismiss')\"\n >\n Action - ERROR\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('INFO', 'event', 'Dismiss')\"\n >\n Action - INFO\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN', 'paid', 'Dismiss')\"\n >\n Action - WARN\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('NOTIFY', 'notifications', 'Dismiss')\"\n >\n Action - NOTIFY\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('GENERAL', 'movie_filter', 'Dismiss')\"\n >\n Action - GENERAL\n </button>\n </div>\n </div>\n </div>\n <div *ngSwitchDefault>\n\n <div style=\"display: flex; gap: 1rem; flex-direction: column;\">\n <h3 style=\"flex:1; margin-bottom: 0;\">Basic Toast</h3>\n <div style=\"display: flex; gap: .5rem;\">\n <button\n mat-stroked-button\n (click)=\"onBasic('SUCCESS')\"\n >\n Basic - SUCCESS\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('ERROR')\"\n >\n Basic - ERROR\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('INFO')\"\n >\n Basic - INFO\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN')\"\n >\n Basic - WARN\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('NOTIFY')\"\n >\n Basic - NOTIFY\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('GENERAL')\"\n >\n Basic - GENERAL\n </button>\n </div>\n </div>\n\n </div>\n </span>\n <div style=\"display: flex; margin-top: 1rem;\">\n <mat-radio-group [formControl]=\"position\">\n <mat-radio-button value=\"top\">Top Position</mat-radio-button>\n <mat-radio-button value=\"bottom\">Bottom Position</mat-radio-button>\n </mat-radio-group>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i7.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i7.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }] }); }
57
+ }
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastDemoComponent, decorators: [{
59
+ type: Component,
60
+ args: [{ selector: 'app-toast-demo', template: "<mat-toolbar style=\"display: flex;\">\n <div>Dynamic Dialog Demo</div>\n <div style=\"flex:1; text-align: end;\">\n <button\n mat-stroked-button\n [matMenuTriggerFor]=\"menu\"\n matIconPrefix\n >\n {{ type | titlecase }}\n <mat-icon>layers</mat-icon>\n </button>\n </div>\n</mat-toolbar>\n\n<mat-menu #menu=\"matMenu\">\n <button\n mat-menu-item\n (click)=\"onSelectType('basic')\"\n >\n Basic\n </button>\n <button\n mat-menu-item\n (click)=\"onSelectType('icon')\"\n >\n Icon\n </button>\n <button\n mat-menu-item\n (click)=\"onSelectType('action')\"\n >\n Action\n </button>\n</mat-menu>\n\n<div style=\"margin: 1rem;\">\n <span [ngSwitch]=\"type\">\n <div *ngSwitchCase=\"'icon'\">\n <div style=\"display: flex; gap: 1rem; flex-direction: column;\">\n <h3 style=\"flex:1; margin-bottom: 0;\">Toast with Icon</h3>\n <div style=\"display: flex; gap: .5rem;\">\n <button\n mat-stroked-button\n (click)=\"onBasic('SUCCESS', 'favorite_border')\"\n >\n Icon - SUCCESS\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('ERROR', 'dashboard')\"\n >\n Icon - ERROR\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('INFO', 'event')\"\n >\n Icon - INFO\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN', 'paid')\"\n >\n Icon - WARN\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN', 'notifications')\"\n >\n Icon - NOTIFY\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN', 'movie_filter')\"\n >\n Icon - GENERAL\n </button>\n </div>\n </div>\n </div>\n <div *ngSwitchCase=\"'action'\">\n <div style=\"display: flex; gap: 1rem; flex-direction: column;\">\n <h3 style=\"flex:1; margin-bottom: 0;\">Toast with Icon and Action</h3>\n <div style=\"display: flex; gap: .5rem;\">\n <button\n mat-stroked-button\n (click)=\"onBasic('SUCCESS', 'favorite_border', 'Dismiss')\"\n >\n Action - SUCCESS\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('ERROR', 'dashboard', 'Dismiss')\"\n >\n Action - ERROR\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('INFO', 'event', 'Dismiss')\"\n >\n Action - INFO\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN', 'paid', 'Dismiss')\"\n >\n Action - WARN\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('NOTIFY', 'notifications', 'Dismiss')\"\n >\n Action - NOTIFY\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('GENERAL', 'movie_filter', 'Dismiss')\"\n >\n Action - GENERAL\n </button>\n </div>\n </div>\n </div>\n <div *ngSwitchDefault>\n\n <div style=\"display: flex; gap: 1rem; flex-direction: column;\">\n <h3 style=\"flex:1; margin-bottom: 0;\">Basic Toast</h3>\n <div style=\"display: flex; gap: .5rem;\">\n <button\n mat-stroked-button\n (click)=\"onBasic('SUCCESS')\"\n >\n Basic - SUCCESS\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('ERROR')\"\n >\n Basic - ERROR\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('INFO')\"\n >\n Basic - INFO\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('WARN')\"\n >\n Basic - WARN\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('NOTIFY')\"\n >\n Basic - NOTIFY\n </button>\n <button\n mat-stroked-button\n (click)=\"onBasic('GENERAL')\"\n >\n Basic - GENERAL\n </button>\n </div>\n </div>\n\n </div>\n </span>\n <div style=\"display: flex; margin-top: 1rem;\">\n <mat-radio-group [formControl]=\"position\">\n <mat-radio-button value=\"top\">Top Position</mat-radio-button>\n <mat-radio-button value=\"bottom\">Bottom Position</mat-radio-button>\n </mat-radio-group>\n </div>\n</div>\n" }]
61
+ }] });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtZGVtby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90b2FzdC1tZXNzYWdlL3NyYy9saWIvdG9hc3QtZGVtby90b2FzdC1kZW1vLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RvYXN0LW1lc3NhZ2Uvc3JjL2xpYi90b2FzdC1kZW1vL3RvYXN0LWRlbW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBTzdDLE1BQU0sT0FBTyxrQkFBa0I7SUFML0I7UUFPSSxPQUFFLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ3hCLHdCQUFtQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO1FBRWpELFNBQUksR0FBRyxPQUFPLENBQUE7UUFFZCxhQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7S0EyQ3BDO0lBekNHLFlBQVksQ0FBQyxJQUFZO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO0lBQ2xCLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBWSxFQUFFLElBQWEsRUFBRSxNQUFlO1FBQ2xELFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxPQUFPO2dCQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUE7Z0JBQ3BELE1BQU07WUFDTixLQUFLLE1BQU07Z0JBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtnQkFDbkQsTUFBTTtZQUNOLEtBQUssTUFBTTtnQkFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFBO2dCQUNuRCxNQUFNO1lBQ04sS0FBSyxRQUFRO2dCQUNYLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUE7Z0JBQ3JELE1BQU07WUFDTixLQUFLLFNBQVM7Z0JBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtnQkFDdEQsTUFBTTtZQUNOO2dCQUNFLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUE7Z0JBQ3RELE1BQU07U0FDUDtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsS0FBa0IsRUFBRSxJQUFhLEVBQUUsTUFBZTtRQUUzRCxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBQy9CLE9BQU8sRUFBRSxnQ0FBZ0M7WUFDekMsS0FBSztZQUNMLElBQUk7WUFDSixNQUFNO1NBQ1QsQ0FBQyxDQUFBO1FBRUYsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUE7UUFFeEcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUE7SUFDckUsQ0FBQzsrR0FoRFEsa0JBQWtCO21HQUFsQixrQkFBa0Isc0RDVi9CLG1yTUFnTEE7OzRGRHRLYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0ksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvYXN0TWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBUb2FzdENvbG9ycywgVG9hc3REaXNwbGF5LCBWZXJ0aWNhbEFsaWdubWVudCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtdG9hc3QtZGVtbycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RvYXN0LWRlbW8uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RvYXN0LWRlbW8uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdERlbW9Db21wb25lbnQge1xuXG4gICAgZmIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpXG4gICAgdG9hc3RNZXNzYWdlU2VydmljZSA9IGluamVjdChUb2FzdE1lc3NhZ2VTZXJ2aWNlKVxuXG4gICAgdHlwZSA9ICdCYXNpYydcblxuICAgIHBvc2l0aW9uID0gdGhpcy5mYi5jb250cm9sKCd0b3AnKVxuXG4gICAgb25TZWxlY3RUeXBlKHR5cGU6IHN0cmluZykge1xuICAgICAgdGhpcy50eXBlID0gdHlwZVxuICAgIH1cblxuICAgIG9uQmFzaWModHlwZTogc3RyaW5nLCBpY29uPzogc3RyaW5nLCBhY3Rpb24/OiBzdHJpbmcpIHtcbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlICdFUlJPUic6XG4gICAgICAgICAgdGhpcy5wcmVzZW50VG9hc3QoVG9hc3RDb2xvcnMuRVJST1IsIGljb24sIGFjdGlvbilcbiAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ0lORk8nOlxuICAgICAgICAgIHRoaXMucHJlc2VudFRvYXN0KFRvYXN0Q29sb3JzLklORk8sIGljb24sIGFjdGlvbilcbiAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ1dBUk4nOlxuICAgICAgICAgIHRoaXMucHJlc2VudFRvYXN0KFRvYXN0Q29sb3JzLldBUk4sIGljb24sIGFjdGlvbilcbiAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ05PVElGWSc6XG4gICAgICAgICAgdGhpcy5wcmVzZW50VG9hc3QoVG9hc3RDb2xvcnMuTk9USUZZLCBpY29uLCBhY3Rpb24pXG4gICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdHRU5FUkFMJzpcbiAgICAgICAgICB0aGlzLnByZXNlbnRUb2FzdChUb2FzdENvbG9ycy5HRU5FUkFMLCBpY29uLCBhY3Rpb24pXG4gICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRoaXMucHJlc2VudFRvYXN0KFRvYXN0Q29sb3JzLlNVQ0NFU1MsIGljb24sIGFjdGlvbilcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJlc2VudFRvYXN0KGNvbG9yOiBUb2FzdENvbG9ycywgaWNvbj86IHN0cmluZywgYWN0aW9uPzogc3RyaW5nKSB7XG5cbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IFRvYXN0RGlzcGxheS5hZGFwdCh7XG4gICAgICAgICAgICBtZXNzYWdlOiBcIlRoaXMgaXMgYSBzaW1wbGUgdG9hc3QgbWVzc2FnZVwiLFxuICAgICAgICAgICAgY29sb3IsXG4gICAgICAgICAgICBpY29uLFxuICAgICAgICAgICAgYWN0aW9uXG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3QgdG9hc3RQb3NpdGlvbiA9ICh0aGlzLnBvc2l0aW9uLnZhbHVlID09PSAndG9wJykgPyBWZXJ0aWNhbEFsaWdubWVudC5UT1AgOiBWZXJ0aWNhbEFsaWdubWVudC5CT1RUT01cblxuICAgICAgICB0aGlzLnRvYXN0TWVzc2FnZVNlcnZpY2UudG9hc3RNZXNzYWdlKG9wdGlvbnMsIC0xLCB0b2FzdFBvc2l0aW9uKVxuICAgIH1cblxufVxuIiwiPG1hdC10b29sYmFyIHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cbiAgICA8ZGl2PkR5bmFtaWMgRGlhbG9nIERlbW88L2Rpdj5cbiAgICA8ZGl2IHN0eWxlPVwiZmxleDoxOyB0ZXh0LWFsaWduOiBlbmQ7XCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxuICAgICAgICAgICAgbWF0SWNvblByZWZpeFxuICAgICAgICA+XG4gICAgICAgICAgICB7eyB0eXBlIHwgdGl0bGVjYXNlIH19XG4gICAgICAgICAgICA8bWF0LWljb24+bGF5ZXJzPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L21hdC10b29sYmFyPlxuXG48bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XG4gICAgPGJ1dHRvblxuICAgICAgICBtYXQtbWVudS1pdGVtXG4gICAgICAgIChjbGljayk9XCJvblNlbGVjdFR5cGUoJ2Jhc2ljJylcIlxuICAgID5cbiAgICAgICAgQmFzaWNcbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0VHlwZSgnaWNvbicpXCJcbiAgICA+XG4gICAgICAgIEljb25cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0VHlwZSgnYWN0aW9uJylcIlxuICAgID5cbiAgICAgICAgQWN0aW9uXG4gICAgPC9idXR0b24+XG48L21hdC1tZW51PlxuXG48ZGl2IHN0eWxlPVwibWFyZ2luOiAxcmVtO1wiPlxuICAgIDxzcGFuIFtuZ1N3aXRjaF09XCJ0eXBlXCI+XG4gICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidpY29uJ1wiPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogMXJlbTsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcIj5cbiAgICAgICAgICAgICAgICA8aDMgc3R5bGU9XCJmbGV4OjE7IG1hcmdpbi1ib3R0b206IDA7XCI+VG9hc3Qgd2l0aCBJY29uPC9oMz5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAuNXJlbTtcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnU1VDQ0VTUycsICdmYXZvcml0ZV9ib3JkZXInKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEljb24gLSBTVUNDRVNTXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdFUlJPUicsICdkYXNoYm9hcmQnKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEljb24gLSBFUlJPUlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnSU5GTycsICdldmVudCcpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgSWNvbiAtIElORk9cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ1dBUk4nLCAncGFpZCcpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgSWNvbiAtIFdBUk5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ1dBUk4nLCAnbm90aWZpY2F0aW9ucycpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgSWNvbiAtIE5PVElGWVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnV0FSTicsICdtb3ZpZV9maWx0ZXInKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEljb24gLSBHRU5FUkFMXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInYWN0aW9uJ1wiPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogMXJlbTsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcIj5cbiAgICAgICAgICAgICAgICA8aDMgc3R5bGU9XCJmbGV4OjE7IG1hcmdpbi1ib3R0b206IDA7XCI+VG9hc3Qgd2l0aCBJY29uIGFuZCBBY3Rpb248L2gzPlxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IC41cmVtO1wiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdTVUNDRVNTJywgJ2Zhdm9yaXRlX2JvcmRlcicsICdEaXNtaXNzJylcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBBY3Rpb24gLSBTVUNDRVNTXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdFUlJPUicsICdkYXNoYm9hcmQnLCAnRGlzbWlzcycpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQWN0aW9uIC0gRVJST1JcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ0lORk8nLCAnZXZlbnQnLCAnRGlzbWlzcycpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQWN0aW9uIC0gSU5GT1xuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnV0FSTicsICdwYWlkJywgJ0Rpc21pc3MnKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEFjdGlvbiAtIFdBUk5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ05PVElGWScsICdub3RpZmljYXRpb25zJywgJ0Rpc21pc3MnKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEFjdGlvbiAtIE5PVElGWVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnR0VORVJBTCcsICdtb3ZpZV9maWx0ZXInLCAnRGlzbWlzcycpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQWN0aW9uIC0gR0VORVJBTFxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdTd2l0Y2hEZWZhdWx0PlxuXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAxcmVtOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1wiPlxuICAgICAgICAgICAgICAgIDxoMyBzdHlsZT1cImZsZXg6MTsgbWFyZ2luLWJvdHRvbTogMDtcIj5CYXNpYyBUb2FzdDwvaDM+XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogLjVyZW07XCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ1NVQ0NFU1MnKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEJhc2ljIC0gU1VDQ0VTU1xuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnRVJST1InKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEJhc2ljIC0gRVJST1JcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFzaWMoJ0lORk8nKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEJhc2ljIC0gSU5GT1xuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpYygnV0FSTicpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQmFzaWMgLSBXQVJOXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdOT1RJRlknKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEJhc2ljIC0gTk9USUZZXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhc2ljKCdHRU5FUkFMJylcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBCYXNpYyAtIEdFTkVSQUxcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L2Rpdj5cbiAgICA8L3NwYW4+XG4gICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IG1hcmdpbi10b3A6IDFyZW07XCI+XG4gICAgICAgIDxtYXQtcmFkaW8tZ3JvdXAgW2Zvcm1Db250cm9sXT1cInBvc2l0aW9uXCI+XG4gICAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiB2YWx1ZT1cInRvcFwiPlRvcCBQb3NpdGlvbjwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIHZhbHVlPVwiYm90dG9tXCI+Qm90dG9tIFBvc2l0aW9uPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICA8L21hdC1yYWRpby1ncm91cD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,61 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { BrowserModule } from '@angular/platform-browser';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { MatSnackBarModule } from '@angular/material/snack-bar';
6
+ import { MatButtonModule } from '@angular/material/button';
7
+ import { MatToolbarModule } from '@angular/material/toolbar';
8
+ import { MatMenuModule } from '@angular/material/menu';
9
+ import { ToastUIComponent } from './toast-ui/toast-ui.component';
10
+ import { ToastDemoComponent } from './toast-demo/toast-demo.component';
11
+ import { ReactiveFormsModule } from '@angular/forms';
12
+ import { MatRadioModule } from '@angular/material/radio';
13
+ import * as i0 from "@angular/core";
14
+ export class ToastMessageModule {
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageModule, declarations: [ToastUIComponent,
17
+ ToastDemoComponent], imports: [CommonModule,
18
+ BrowserModule,
19
+ ReactiveFormsModule,
20
+ MatIconModule,
21
+ MatSnackBarModule,
22
+ MatButtonModule,
23
+ MatToolbarModule,
24
+ MatMenuModule,
25
+ MatRadioModule], exports: [ToastUIComponent,
26
+ ToastDemoComponent] }); }
27
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageModule, imports: [CommonModule,
28
+ BrowserModule,
29
+ ReactiveFormsModule,
30
+ MatIconModule,
31
+ MatSnackBarModule,
32
+ MatButtonModule,
33
+ MatToolbarModule,
34
+ MatMenuModule,
35
+ MatRadioModule] }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToastMessageModule, decorators: [{
38
+ type: NgModule,
39
+ args: [{
40
+ imports: [
41
+ CommonModule,
42
+ BrowserModule,
43
+ ReactiveFormsModule,
44
+ MatIconModule,
45
+ MatSnackBarModule,
46
+ MatButtonModule,
47
+ MatToolbarModule,
48
+ MatMenuModule,
49
+ MatRadioModule,
50
+ ],
51
+ declarations: [
52
+ ToastUIComponent,
53
+ ToastDemoComponent,
54
+ ],
55
+ exports: [
56
+ ToastUIComponent,
57
+ ToastDemoComponent,
58
+ ]
59
+ }]
60
+ }] });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtbWVzc2FnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90b2FzdC1tZXNzYWdlL3NyYy9saWIvdG9hc3QtbWVzc2FnZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUF1QnpELE1BQU0sT0FBTyxrQkFBa0I7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQVIzQixnQkFBZ0I7WUFDaEIsa0JBQWtCLGFBWmxCLFlBQVk7WUFDWixhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsY0FBYyxhQU9kLGdCQUFnQjtZQUNoQixrQkFBa0I7Z0hBR1Qsa0JBQWtCLFlBbkIzQixZQUFZO1lBQ1osYUFBYTtZQUNiLG1CQUFtQjtZQUNuQixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGNBQWM7OzRGQVdMLGtCQUFrQjtrQkFyQjlCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixjQUFjO3FCQUNmO29CQUNELFlBQVksRUFBRTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjtxQkFDbkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3FCQUNuQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRUb29sYmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5cbmltcG9ydCB7IFRvYXN0VUlDb21wb25lbnQgfSBmcm9tICcuL3RvYXN0LXVpL3RvYXN0LXVpLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb2FzdERlbW9Db21wb25lbnQgfSBmcm9tICcuL3RvYXN0LWRlbW8vdG9hc3QtZGVtby5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJyb3dzZXJNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFNuYWNrQmFyTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRUb29sYmFyTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTWF0UmFkaW9Nb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFRvYXN0VUlDb21wb25lbnQsXG4gICAgVG9hc3REZW1vQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVG9hc3RVSUNvbXBvbmVudCxcbiAgICBUb2FzdERlbW9Db21wb25lbnQsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RNZXNzYWdlTW9kdWxlIHsgfVxuIl19