mis-crystal-design-system 18.0.15 → 18.0.16-test-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/esm2022/radio-button/radio-button.component.mjs +102 -23
  2. package/esm2022/table/actions-cell/actions-cell.component.mjs +284 -0
  3. package/esm2022/table/public_api.mjs +2 -1
  4. package/esm2022/table/table.component.mjs +195 -109
  5. package/esm2022/table/table.module.mjs +17 -5
  6. package/esm2022/toast/public_api.mjs +3 -1
  7. package/esm2022/toast/toast.component.mjs +73 -16
  8. package/esm2022/toast/toast.constants.mjs +7 -0
  9. package/esm2022/toast/toast.data.service.mjs +1 -1
  10. package/esm2022/toast/toast.interface.mjs +2 -0
  11. package/esm2022/toast/toast.service.mjs +14 -7
  12. package/fesm2022/mis-crystal-design-system-radio-button.mjs +101 -22
  13. package/fesm2022/mis-crystal-design-system-radio-button.mjs.map +1 -1
  14. package/fesm2022/mis-crystal-design-system-table.mjs +845 -465
  15. package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
  16. package/fesm2022/mis-crystal-design-system-toast.mjs +93 -22
  17. package/fesm2022/mis-crystal-design-system-toast.mjs.map +1 -1
  18. package/package.json +7 -7
  19. package/radio-button/radio-button.component.d.ts +18 -17
  20. package/styles/mis-old-icon-styles.scss +498 -498
  21. package/table/actions-cell/actions-cell.component.d.ts +32 -0
  22. package/table/public_api.d.ts +1 -0
  23. package/table/table.component.d.ts +37 -10
  24. package/table/table.module.d.ts +5 -4
  25. package/toast/public_api.d.ts +2 -0
  26. package/toast/toast.component.d.ts +13 -1
  27. package/toast/toast.constants.d.ts +5 -0
  28. package/toast/toast.data.service.d.ts +3 -2
  29. package/toast/toast.interface.d.ts +6 -0
  30. package/toast/toast.service.d.ts +2 -1
@@ -4,7 +4,8 @@ import { ComponentPortal } from '@angular/cdk/portal';
4
4
  import * as i0 from '@angular/core';
5
5
  import { Injectable, Component, NgModule } from '@angular/core';
6
6
  import { trigger, transition, style, animate } from '@angular/animations';
7
- import * as i2 from '@angular/common';
7
+ import * as i2 from '@angular/platform-browser';
8
+ import * as i3 from '@angular/common';
8
9
  import { CommonModule } from '@angular/common';
9
10
 
10
11
  class ToastDataService {
@@ -35,35 +36,89 @@ class ToastDataService {
35
36
  }]
36
37
  }], () => [], null); })();
37
38
 
39
+ function ToastComponent_div_1_div_2_Template(rf, ctx) { if (rf & 1) {
40
+ i0.ɵɵelement(0, "div", 5);
41
+ } if (rf & 2) {
42
+ const toast_r1 = i0.ɵɵnextContext().$implicit;
43
+ const ctx_r1 = i0.ɵɵnextContext();
44
+ i0.ɵɵproperty("innerHTML", ctx_r1.getStateIcon(toast_r1 == null ? null : toast_r1.state), i0.ɵɵsanitizeHtml);
45
+ } }
38
46
  function ToastComponent_div_1_Template(rf, ctx) { if (rf & 1) {
39
- i0.ɵɵelementStart(0, "div")(1, "div", 2)(2, "div", 3);
40
- i0.ɵɵtext(3);
47
+ i0.ɵɵelementStart(0, "div")(1, "div", 2);
48
+ i0.ɵɵtemplate(2, ToastComponent_div_1_div_2_Template, 1, 1, "div", 3);
49
+ i0.ɵɵelementStart(3, "div", 4);
50
+ i0.ɵɵtext(4);
41
51
  i0.ɵɵelementEnd()()();
42
52
  } if (rf & 2) {
43
- const msg_r1 = ctx.$implicit;
53
+ const toast_r1 = ctx.$implicit;
54
+ const ctx_r1 = i0.ɵɵnextContext();
44
55
  i0.ɵɵproperty("@fadeInOut", undefined);
45
- i0.ɵɵadvance(3);
46
- i0.ɵɵtextInterpolate(msg_r1);
56
+ i0.ɵɵadvance();
57
+ i0.ɵɵproperty("ngClass", toast_r1 == null ? null : toast_r1.state);
58
+ i0.ɵɵadvance();
59
+ i0.ɵɵproperty("ngIf", toast_r1 == null ? null : toast_r1.state);
60
+ i0.ɵɵadvance(2);
61
+ i0.ɵɵtextInterpolate(ctx_r1.getMessage(toast_r1));
47
62
  } }
48
63
  class ToastComponent {
49
- constructor(data) {
64
+ constructor(data, sanitizer) {
50
65
  this.data = data;
66
+ this.sanitizer = sanitizer;
67
+ console.log("Data:", data);
68
+ }
69
+ getMessage(toast) {
70
+ return typeof toast === "string" ? toast : toast.text;
71
+ }
72
+ shouldShowIcon(toast) {
73
+ return !this.isStringToast(toast) && !!toast.state;
74
+ }
75
+ getStateIcon(state) {
76
+ if (!state)
77
+ return "";
78
+ const icons = {
79
+ success: `
80
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
81
+ <circle cx="10" cy="10" r="10" fill="#4CAF50"/>
82
+ <path d="M8.6 13.4L5.2 10L4 11.2L8.6 15.8L16.6 7.8L15.4 6.6L8.6 13.4Z" fill="white"/>
83
+ </svg>
84
+ `,
85
+ warning: `
86
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
87
+ <path d="M10 0L20 17.3205H0L10 0Z" fill="#FF9800"/>
88
+ <path d="M9 6H11V12H9V6Z" fill="white"/>
89
+ <path d="M9 13H11V15H9V13Z" fill="white"/>
90
+ </svg>
91
+ `,
92
+ error: `
93
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
94
+ <circle cx="10" cy="10" r="10" fill="#D32F2F"/>
95
+ <path d="M9 5H11V11H9V5Z" fill="white"/>
96
+ <path d="M9 13H11V15H9V13Z" fill="white"/>
97
+ </svg>
98
+ `
99
+ };
100
+ return this.sanitizer.bypassSecurityTrustHtml(icons[state] || "");
51
101
  }
52
- static { this.ɵfac = function ToastComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ToastComponent)(i0.ɵɵdirectiveInject(ToastDataService)); }; }
53
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ToastComponent, selectors: [["mis-teams-toast"]], decls: 2, vars: 1, consts: [[1, "toast-container"], [4, "ngFor", "ngForOf"], [1, "toast-wrapper"], [1, "msg"]], template: function ToastComponent_Template(rf, ctx) { if (rf & 1) {
102
+ isStringToast(toast) {
103
+ return typeof toast === "string";
104
+ }
105
+ static { this.ɵfac = function ToastComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ToastComponent)(i0.ɵɵdirectiveInject(ToastDataService), i0.ɵɵdirectiveInject(i2.DomSanitizer)); }; }
106
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ToastComponent, selectors: [["mis-teams-toast"]], decls: 2, vars: 1, consts: [[1, "toast-container"], [4, "ngFor", "ngForOf"], [1, "toast-wrapper", 3, "ngClass"], ["class", "icon", 3, "innerHTML", 4, "ngIf"], [1, "msg"], [1, "icon", 3, "innerHTML"]], template: function ToastComponent_Template(rf, ctx) { if (rf & 1) {
54
107
  i0.ɵɵelementStart(0, "div", 0);
55
- i0.ɵɵtemplate(1, ToastComponent_div_1_Template, 4, 2, "div", 1);
108
+ i0.ɵɵtemplate(1, ToastComponent_div_1_Template, 5, 4, "div", 1);
56
109
  i0.ɵɵelementEnd();
57
110
  } if (rf & 2) {
58
111
  i0.ɵɵadvance();
59
112
  i0.ɵɵproperty("ngForOf", ctx.data.messages);
60
- } }, dependencies: [i2.NgForOf], styles: [".toast-container[_ngcontent-%COMP%]{transition:max-height .3s ease-in}.toast-container[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{position:relative;display:flex;justify-content:center}.toast-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;gap:20px;padding:14px 12px;background:#181f33;box-shadow:0 12px 17px #00000024,0 5px 22px #0000001f,0 7px 8px #0003;border-radius:4px;transition:all .3s ease-in;min-height:44px;transform-origin:top}.toast-wrapper[_ngcontent-%COMP%] .msg[_ngcontent-%COMP%]{color:#fff;max-width:314px;flex:1 1 314px;font-size:14px;line-height:20px;letter-spacing:.2px}@media screen and (max-width: 360px){.toast-wrapper[_ngcontent-%COMP%] .msg[_ngcontent-%COMP%]{max-width:90vw;flex:1 1 90vw}}"], data: { animation: [
113
+ } }, dependencies: [i3.NgClass, i3.NgForOf, i3.NgIf], styles: [".toast-container[_ngcontent-%COMP%]{transition:max-height .3s ease-in}.toast-container[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{position:relative;display:flex;justify-content:center}.toast-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;gap:16px;padding:14px 12px;background:#181f33;box-shadow:0 12px 17px #00000024,0 5px 22px #0000001f,0 7px 8px #0003;border-radius:4px;transition:all .3s ease-in;min-height:44px;transform-origin:top}.toast-wrapper[_ngcontent-%COMP%] .msg[_ngcontent-%COMP%]{color:#fff;max-width:314px;flex:1 1 314px;font-size:14px;line-height:20px;letter-spacing:.2px}@media screen and (max-width: 360px){.toast-wrapper[_ngcontent-%COMP%] .msg[_ngcontent-%COMP%]{max-width:90vw;flex:1 1 90vw}}.toast-wrapper[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}"], data: { animation: [
61
114
  trigger("fadeInOut", [
62
115
  transition(":enter", [
63
116
  style({ opacity: "0", transform: "translateY(-50%)", height: "0" }),
64
117
  animate("300ms ease-in", style({ opacity: "1", transform: "translateY(0)", height: "*" }))
65
118
  ]),
66
- transition(":leave", [animate("300ms ease-in", style({ opacity: "0", transform: "translateY(50%)" }))])
119
+ transition(":leave", [
120
+ animate("300ms ease-in", style({ opacity: "0", transform: "translateY(50%)" }))
121
+ ])
67
122
  ])
68
123
  ] } }); }
69
124
  }
@@ -75,10 +130,12 @@ class ToastComponent {
75
130
  style({ opacity: "0", transform: "translateY(-50%)", height: "0" }),
76
131
  animate("300ms ease-in", style({ opacity: "1", transform: "translateY(0)", height: "*" }))
77
132
  ]),
78
- transition(":leave", [animate("300ms ease-in", style({ opacity: "0", transform: "translateY(50%)" }))])
133
+ transition(":leave", [
134
+ animate("300ms ease-in", style({ opacity: "0", transform: "translateY(50%)" }))
135
+ ])
79
136
  ])
80
- ], template: "<div class=\"toast-container\">\n <div *ngFor=\"let msg of data.messages\" @fadeInOut>\n <div class=\"toast-wrapper\">\n <div class=\"msg\">{{ msg }}</div>\n </div>\n </div>\n</div>\n", styles: [".toast-container{transition:max-height .3s ease-in}.toast-container>div{position:relative;display:flex;justify-content:center}.toast-wrapper{display:flex;flex-direction:row;align-items:center;gap:20px;padding:14px 12px;background:#181f33;box-shadow:0 12px 17px #00000024,0 5px 22px #0000001f,0 7px 8px #0003;border-radius:4px;transition:all .3s ease-in;min-height:44px;transform-origin:top}.toast-wrapper .msg{color:#fff;max-width:314px;flex:1 1 314px;font-size:14px;line-height:20px;letter-spacing:.2px}@media screen and (max-width: 360px){.toast-wrapper .msg{max-width:90vw;flex:1 1 90vw}}\n"] }]
81
- }], () => [{ type: ToastDataService }], null); })();
137
+ ], template: "<div class=\"toast-container\">\n <div *ngFor=\"let toast of data.messages\" @fadeInOut>\n <div class=\"toast-wrapper\" [ngClass]=\"toast?.state\">\n <div class=\"icon\" *ngIf=\"toast?.state\" [innerHTML]=\"getStateIcon(toast?.state)\"></div>\n <div class=\"msg\">{{ getMessage(toast) }}</div>\n </div>\n </div>\n</div>\n", styles: [".toast-container{transition:max-height .3s ease-in}.toast-container>div{position:relative;display:flex;justify-content:center}.toast-wrapper{display:flex;flex-direction:row;align-items:center;gap:16px;padding:14px 12px;background:#181f33;box-shadow:0 12px 17px #00000024,0 5px 22px #0000001f,0 7px 8px #0003;border-radius:4px;transition:all .3s ease-in;min-height:44px;transform-origin:top}.toast-wrapper .msg{color:#fff;max-width:314px;flex:1 1 314px;font-size:14px;line-height:20px;letter-spacing:.2px}@media screen and (max-width: 360px){.toast-wrapper .msg{max-width:90vw;flex:1 1 90vw}}.toast-wrapper .icon{display:flex;justify-content:center;align-items:center}\n"] }]
138
+ }], () => [{ type: ToastDataService }, { type: i2.DomSanitizer }], null); })();
82
139
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ToastComponent, { className: "ToastComponent" }); })();
83
140
 
84
141
  class ToastService {
@@ -119,7 +176,17 @@ class ToastService {
119
176
  };
120
177
  this.userProfilePortal = new ComponentPortal(ToastComponent);
121
178
  }
122
- displayMsg(msg, timeout = 3000) {
179
+ displayMsg(message, timeout = 3000, state) {
180
+ let finalMessage;
181
+ // Handle different parameter combinations
182
+ if (state) {
183
+ // New format with state
184
+ finalMessage = { text: message, state };
185
+ }
186
+ else {
187
+ // Basic format: just message
188
+ finalMessage = message;
189
+ }
123
190
  const positionStrategy = this.overlay.position().global().centerHorizontally();
124
191
  if (window?.innerWidth < 600) {
125
192
  positionStrategy.bottom("48px");
@@ -135,24 +202,21 @@ class ToastService {
135
202
  this.toastWrapperRef = this.overlay.create(config);
136
203
  this.toastWrapperRef.attach(this.userProfilePortal);
137
204
  }
138
- const messageId = this.data.updateMessage(msg);
139
- this.messagePromises.push(new Promise((resolve, reject) => {
205
+ const messageId = this.data.updateMessage(finalMessage);
206
+ this.messagePromises.push(new Promise((resolve) => {
140
207
  setTimeout(() => {
141
208
  resolve(this.data.removeMessage(messageId));
142
209
  if (!this.data.hasMessage()) {
143
210
  this.closeToastOverlay();
144
211
  }
145
- // adding 300ms for entry animation
146
212
  }, timeout + 300);
147
213
  }));
148
214
  Promise.race(this.messagePromises).then(() => { });
149
215
  }
150
- // tslint:disable-next-line
151
216
  closeToastOverlay() {
152
217
  return setTimeout(() => {
153
218
  this.messagePromises = [];
154
219
  this.toastWrapperRef?.detach();
155
- // adding 300ms for exit animation
156
220
  }, 300);
157
221
  }
158
222
  static { this.ɵfac = function ToastService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ToastService)(i0.ɵɵinject(i1.Overlay), i0.ɵɵinject(ToastDataService)); }; }
@@ -191,9 +255,16 @@ class ToastModule {
191
255
  }], null, null); })();
192
256
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(ToastModule, { declarations: [ToastComponent], imports: [CommonModule, OverlayModule] }); })();
193
257
 
258
+ // toast.constants.ts
259
+ const TOAST_STATES = {
260
+ SUCCESS: 'success',
261
+ WARNING: 'warning',
262
+ ERROR: 'error',
263
+ };
264
+
194
265
  /**
195
266
  * Generated bundle index. Do not edit.
196
267
  */
197
268
 
198
- export { ToastComponent, ToastDataService, ToastModule, ToastService };
269
+ export { TOAST_STATES, ToastComponent, ToastDataService, ToastModule, ToastService };
199
270
  //# sourceMappingURL=mis-crystal-design-system-toast.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"mis-crystal-design-system-toast.mjs","sources":["../../../projects/mis-components/toast/toast.data.service.ts","../../../projects/mis-components/toast/toast.component.html","../../../projects/mis-components/toast/toast.component.ts","../../../projects/mis-components/toast/toast.service.ts","../../../projects/mis-components/toast/toast.module.ts","../../../projects/mis-components/toast/mis-crystal-design-system-toast.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class ToastDataService {\n private messageMap: Map<number, string> = new Map();\n get messages(): string[] {\n return Array.from(this.messageMap.values()).reverse();\n }\n\n constructor() {}\n\n updateMessage(msg: string): number {\n const id = new Date().getTime();\n this.messageMap.set(id, msg);\n return id;\n }\n\n removeMessage(id: number): void {\n this.messageMap.delete(id);\n }\n\n hasMessage(): boolean {\n return this.messageMap.size > 0;\n }\n}\n","<div class=\"toast-container\">\n <div *ngFor=\"let msg of data.messages\" @fadeInOut>\n <div class=\"toast-wrapper\">\n <div class=\"msg\">{{ msg }}</div>\n </div>\n </div>\n</div>\n","import { animate, style, transition, trigger } from \"@angular/animations\";\nimport { Component } from \"@angular/core\";\nimport { ToastDataService } from \"./toast.data.service\";\n\n@Component({\n selector: \"mis-teams-toast\",\n templateUrl: \"./toast.component.html\",\n styleUrls: [\"./toast.component.scss\"],\n animations: [\n trigger(\"fadeInOut\", [\n transition(\":enter\", [\n style({ opacity: \"0\", transform: \"translateY(-50%)\", height: \"0\" }),\n animate(\"300ms ease-in\", style({ opacity: \"1\", transform: \"translateY(0)\", height: \"*\" }))\n ]),\n transition(\":leave\", [animate(\"300ms ease-in\", style({ opacity: \"0\", transform: \"translateY(50%)\" }))])\n ])\n ]\n})\nexport class ToastComponent {\n constructor(public data: ToastDataService) {}\n}\n","import { Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { ComponentPortal } from \"@angular/cdk/portal\";\nimport { Injectable } from \"@angular/core\";\nimport { ToastComponent } from \"./toast.component\";\nimport { ToastDataService } from \"./toast.data.service\";\n\ntype Operations = \"created\" | \"updated\" | \"deleted\" | \"create\" | \"update\" | \"delete\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class ToastService {\n constructor(private overlay: Overlay, private data: ToastDataService) {\n this.userProfilePortal = new ComponentPortal(ToastComponent);\n }\n private toastWrapperRef: OverlayRef;\n private messagePromises: Promise<void>[] = [];\n private userProfilePortal: ComponentPortal<ToastComponent>;\n\n messageBuilder = {\n error: {\n simple: \"Something went wrong. Please try again later.\",\n 400: \"Bad Request! We are working to fix this.\",\n 401: \"UNAUTHORISED\",\n 403: \"Sorry for the interruption but seems like your session has expired. Please login again and continue\",\n 404: \"Unable to find resource. Please try again later\"\n },\n item: (item: string) => {\n return {\n action: (act: Operations = \"updated\") => {\n const success = `Successfully ${act} ${item}.`;\n const failure = `Failed to ${act} ${item}.`;\n return {\n success,\n failure\n };\n }\n };\n },\n short: (act: Operations = \"updated\") => {\n const success = `Successfully ${act}.`;\n const failure = `Failed to ${act}.`;\n return {\n success,\n failure\n };\n },\n simple: (...args: string[]) => args.join(\" \"),\n simplest: \"Done!\"\n };\n\n displayMsg(msg: string, timeout = 3000): void {\n const positionStrategy = this.overlay.position().global().centerHorizontally();\n\n if (window?.innerWidth < 600) {\n positionStrategy.bottom(\"48px\");\n } else {\n positionStrategy.top(\"80px\");\n }\n const config = new OverlayConfig({\n hasBackdrop: false,\n positionStrategy\n });\n if (!this.toastWrapperRef?.hasAttached()) {\n this.toastWrapperRef = this.overlay.create(config);\n this.toastWrapperRef.attach(this.userProfilePortal);\n }\n const messageId = this.data.updateMessage(msg);\n this.messagePromises.push(\n new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve(this.data.removeMessage(messageId));\n if (!this.data.hasMessage()) {\n this.closeToastOverlay();\n }\n // adding 300ms for entry animation\n }, timeout + 300);\n })\n );\n Promise.race(this.messagePromises).then(() => {});\n }\n\n // tslint:disable-next-line\n private closeToastOverlay(): any {\n return setTimeout(() => {\n this.messagePromises = [];\n this.toastWrapperRef?.detach();\n // adding 300ms for exit animation\n }, 300);\n }\n}\n","import { OverlayModule } from \"@angular/cdk/overlay\";\nimport { CommonModule } from \"@angular/common\";\nimport { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { ToastComponent } from \"./toast.component\";\nimport { ToastDataService } from \"./toast.data.service\";\nimport { ToastService } from \"./toast.service\";\n\n@NgModule({\n declarations: [ToastComponent],\n imports: [CommonModule, OverlayModule]\n})\nexport class ToastModule {\n static forRoot(): ModuleWithProviders<ToastModule> {\n return {\n ngModule: ToastModule,\n providers: [ToastDataService, ToastService]\n };\n }\n\n static forChild(): ModuleWithProviders<ToastModule> {\n return {\n ngModule: ToastModule,\n providers: [ToastDataService, ToastService]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ToastDataService","i2.ToastDataService"],"mappings":"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"}
1
+ {"version":3,"file":"mis-crystal-design-system-toast.mjs","sources":["../../../projects/mis-components/toast/toast.data.service.ts","../../../projects/mis-components/toast/toast.component.html","../../../projects/mis-components/toast/toast.component.ts","../../../projects/mis-components/toast/toast.service.ts","../../../projects/mis-components/toast/toast.module.ts","../../../projects/mis-components/toast/toast.constants.ts","../../../projects/mis-components/toast/mis-crystal-design-system-toast.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { ToastMessage } from \"./toast.interface\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class ToastDataService {\n private messageMap: Map<number, ToastMessage | string> = new Map();\n \n get messages(): (ToastMessage | string)[] {\n return Array.from(this.messageMap.values()).reverse();\n }\n\n constructor() {}\n\n updateMessage(msg: ToastMessage | string): number {\n const id = new Date().getTime();\n this.messageMap.set(id, msg);\n return id;\n }\n\n removeMessage(id: number): void {\n this.messageMap.delete(id);\n }\n\n hasMessage(): boolean {\n return this.messageMap.size > 0;\n }\n}\n","<div class=\"toast-container\">\n <div *ngFor=\"let toast of data.messages\" @fadeInOut>\n <div class=\"toast-wrapper\" [ngClass]=\"toast?.state\">\n <div class=\"icon\" *ngIf=\"toast?.state\" [innerHTML]=\"getStateIcon(toast?.state)\"></div>\n <div class=\"msg\">{{ getMessage(toast) }}</div>\n </div>\n </div>\n</div>\n","import { animate, style, transition, trigger } from \"@angular/animations\";\nimport { Component } from \"@angular/core\";\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\nimport { ToastDataService } from \"./toast.data.service\";\nimport { ToastState } from \"./toast.interface\";\n\ntype Toast = string | { text: string; state?: ToastState };\n\n@Component({\n selector: \"mis-teams-toast\",\n templateUrl: \"./toast.component.html\",\n styleUrls: [\"./toast.component.scss\"],\n animations: [\n trigger(\"fadeInOut\", [\n transition(\":enter\", [\n style({ opacity: \"0\", transform: \"translateY(-50%)\", height: \"0\" }),\n animate(\"300ms ease-in\", style({ opacity: \"1\", transform: \"translateY(0)\", height: \"*\" }))\n ]),\n transition(\":leave\", [\n animate(\"300ms ease-in\", style({ opacity: \"0\", transform: \"translateY(50%)\" }))\n ])\n ])\n ]\n})\nexport class ToastComponent {\n constructor(\n public data: ToastDataService,\n private sanitizer: DomSanitizer\n ) {\n console.log(\"Data:\",data);\n }\n\n getMessage(toast: Toast): string {\n return typeof toast === \"string\" ? toast : toast.text;\n }\n\n shouldShowIcon(toast: Toast): boolean {\n return !this.isStringToast(toast) && !!toast.state;\n }\n\n getStateIcon(state?: ToastState): SafeHtml {\n if (!state) return \"\";\n\n const icons: Record<ToastState, string> = {\n success: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"10\" cy=\"10\" r=\"10\" fill=\"#4CAF50\"/>\n <path d=\"M8.6 13.4L5.2 10L4 11.2L8.6 15.8L16.6 7.8L15.4 6.6L8.6 13.4Z\" fill=\"white\"/>\n </svg>\n `,\n warning: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M10 0L20 17.3205H0L10 0Z\" fill=\"#FF9800\"/>\n <path d=\"M9 6H11V12H9V6Z\" fill=\"white\"/>\n <path d=\"M9 13H11V15H9V13Z\" fill=\"white\"/>\n </svg>\n `,\n error: `\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"10\" cy=\"10\" r=\"10\" fill=\"#D32F2F\"/>\n <path d=\"M9 5H11V11H9V5Z\" fill=\"white\"/>\n <path d=\"M9 13H11V15H9V13Z\" fill=\"white\"/>\n </svg>\n `\n };\n\n return this.sanitizer.bypassSecurityTrustHtml(icons[state] || \"\");\n }\n\n private isStringToast(toast: Toast): toast is string {\n return typeof toast === \"string\";\n }\n}\n","import { Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { ComponentPortal } from \"@angular/cdk/portal\";\nimport { Injectable } from \"@angular/core\";\nimport { ToastComponent } from \"./toast.component\";\nimport { ToastDataService } from \"./toast.data.service\";\nimport { ToastState } from \"./toast.interface\";\n\ntype Operations = \"created\" | \"updated\" | \"deleted\" | \"create\" | \"update\" | \"delete\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class ToastService {\n constructor(private overlay: Overlay, private data: ToastDataService) {\n this.userProfilePortal = new ComponentPortal(ToastComponent);\n }\n private toastWrapperRef: OverlayRef;\n private messagePromises: Promise<void>[] = [];\n private userProfilePortal: ComponentPortal<ToastComponent>;\n\n messageBuilder = {\n error: {\n simple: \"Something went wrong. Please try again later.\",\n 400: \"Bad Request! We are working to fix this.\",\n 401: \"UNAUTHORISED\",\n 403: \"Sorry for the interruption but seems like your session has expired. Please login again and continue\",\n 404: \"Unable to find resource. Please try again later\"\n },\n item: (item: string) => {\n return {\n action: (act: Operations = \"updated\") => {\n const success = `Successfully ${act} ${item}.`;\n const failure = `Failed to ${act} ${item}.`;\n return {\n success,\n failure\n };\n }\n };\n },\n short: (act: Operations = \"updated\") => {\n const success = `Successfully ${act}.`;\n const failure = `Failed to ${act}.`;\n return {\n success,\n failure\n };\n },\n simple: (...args: string[]) => args.join(\" \"),\n simplest: \"Done!\"\n };\n\n displayMsg(message: string, timeout = 3000, state?: ToastState): void {\n let finalMessage: string | { text: string; state?: ToastState };\n \n // Handle different parameter combinations\n if (state) {\n // New format with state\n finalMessage = { text: message, state };\n } else {\n // Basic format: just message\n finalMessage = message;\n }\n\n const positionStrategy = this.overlay.position().global().centerHorizontally();\n\n if (window?.innerWidth < 600) {\n positionStrategy.bottom(\"48px\");\n } else {\n positionStrategy.top(\"80px\");\n }\n \n const config = new OverlayConfig({\n hasBackdrop: false,\n positionStrategy\n });\n\n if (!this.toastWrapperRef?.hasAttached()) {\n this.toastWrapperRef = this.overlay.create(config);\n this.toastWrapperRef.attach(this.userProfilePortal);\n }\n\n const messageId = this.data.updateMessage(finalMessage);\n this.messagePromises.push(\n new Promise((resolve) => {\n setTimeout(() => {\n resolve(this.data.removeMessage(messageId));\n if (!this.data.hasMessage()) {\n this.closeToastOverlay();\n }\n }, timeout + 300);\n })\n );\n Promise.race(this.messagePromises).then(() => {});\n }\n\n private closeToastOverlay(): any {\n return setTimeout(() => {\n this.messagePromises = [];\n this.toastWrapperRef?.detach();\n }, 300);\n }\n}\n","import { OverlayModule } from \"@angular/cdk/overlay\";\nimport { CommonModule } from \"@angular/common\";\nimport { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { ToastComponent } from \"./toast.component\";\nimport { ToastDataService } from \"./toast.data.service\";\nimport { ToastService } from \"./toast.service\";\n\n@NgModule({\n declarations: [ToastComponent],\n imports: [CommonModule, OverlayModule]\n})\nexport class ToastModule {\n static forRoot(): ModuleWithProviders<ToastModule> {\n return {\n ngModule: ToastModule,\n providers: [ToastDataService, ToastService]\n };\n }\n\n static forChild(): ModuleWithProviders<ToastModule> {\n return {\n ngModule: ToastModule,\n providers: [ToastDataService, ToastService]\n };\n }\n}\n","// toast.constants.ts\nexport const TOAST_STATES = {\n SUCCESS: 'success',\n WARNING: 'warning',\n ERROR: 'error',\n} as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ToastDataService","i2.ToastDataService"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mis-crystal-design-system",
3
- "version": "18.0.15",
3
+ "version": "18.0.16-test-1",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "*",
6
6
  "@angular/core": "*",
@@ -34,18 +34,18 @@
34
34
  "esm": "./esm2022/analytics/mis-crystal-design-system-analytics.mjs",
35
35
  "default": "./fesm2022/mis-crystal-design-system-analytics.mjs"
36
36
  },
37
- "./async-search-dropdown": {
38
- "types": "./async-search-dropdown/index.d.ts",
39
- "esm2022": "./esm2022/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.mjs",
40
- "esm": "./esm2022/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.mjs",
41
- "default": "./fesm2022/mis-crystal-design-system-async-search-dropdown.mjs"
42
- },
43
37
  "./button": {
44
38
  "types": "./button/index.d.ts",
45
39
  "esm2022": "./esm2022/button/mis-crystal-design-system-button.mjs",
46
40
  "esm": "./esm2022/button/mis-crystal-design-system-button.mjs",
47
41
  "default": "./fesm2022/mis-crystal-design-system-button.mjs"
48
42
  },
43
+ "./async-search-dropdown": {
44
+ "types": "./async-search-dropdown/index.d.ts",
45
+ "esm2022": "./esm2022/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.mjs",
46
+ "esm": "./esm2022/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.mjs",
47
+ "default": "./fesm2022/mis-crystal-design-system-async-search-dropdown.mjs"
48
+ },
49
49
  "./checkbox": {
50
50
  "types": "./checkbox/index.d.ts",
51
51
  "esm2022": "./esm2022/checkbox/mis-crystal-design-system-checkbox.mjs",
@@ -1,28 +1,29 @@
1
1
  import { OnInit, EventEmitter } from "@angular/core";
2
- import { AbstractControl } from "@angular/forms";
2
+ import { AbstractControl, ControlValueAccessor } from "@angular/forms";
3
3
  import * as i0 from "@angular/core";
4
- export declare class RadioButtonComponent implements OnInit {
5
- /** When multiple radio input fields are used
6
- * an "id" can be given to keep track of them */
4
+ export declare class RadioButtonComponent implements OnInit, ControlValueAccessor {
7
5
  id: string | number;
8
- /** Name of the attribute for which the radio
9
- * selection is provided */
10
6
  name: string | number;
11
- /** Value of the attribute which is to be emitted
12
- * when selected */
13
7
  value: string | number;
14
- /** Controls the state of the radio button */
15
- disabled: boolean;
16
- /** Can be used to attach the radio input field
17
- * to a reactive form by passing in a
18
- * “FormControl“ Object. It can also be
19
- * used to set the default attribute value */
20
- formControl: AbstractControl;
21
- /** Emits "value" of the radio button on selection */
8
+ set disabled(value: boolean);
9
+ get disabled(): boolean;
10
+ set formControl(control: AbstractControl | null);
11
+ get formControl(): AbstractControl;
12
+ private _formControl;
22
13
  valueChange: EventEmitter<any>;
14
+ private _value;
15
+ private _disabled;
16
+ private onChange;
17
+ onTouched: () => void;
23
18
  constructor();
24
19
  ngOnInit(): void;
25
- onChange(event: any): void;
20
+ writeValue(value: any): void;
21
+ registerOnChange(fn: any): void;
22
+ registerOnTouched(fn: any): void;
23
+ setDisabledState(isDisabled: boolean): void;
24
+ onInputChange(event: any): void;
25
+ get currentValue(): any;
26
+ markAsTouched(): void;
26
27
  static ɵfac: i0.ɵɵFactoryDeclaration<RadioButtonComponent, never>;
27
28
  static ɵcmp: i0.ɵɵComponentDeclaration<RadioButtonComponent, "mis-radio", never, { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, false, never>;
28
29
  }