@haiilo/catalyst 0.5.12 → 0.6.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 (104) hide show
  1. package/dist/catalyst/catalyst.css +7 -1
  2. package/dist/catalyst/catalyst.esm.js +1 -1
  3. package/dist/catalyst/catalyst.esm.js.map +1 -1
  4. package/dist/catalyst/index.esm.js +1 -1
  5. package/dist/catalyst/{p-e82b63e9.js → p-12486027.js} +2 -2
  6. package/dist/catalyst/{p-e82b63e9.js.map → p-12486027.js.map} +1 -1
  7. package/dist/catalyst/p-2ec5c87a.js +2 -0
  8. package/dist/catalyst/p-2ec5c87a.js.map +1 -0
  9. package/dist/catalyst/p-6a5f0d4a.entry.js +10 -0
  10. package/dist/catalyst/p-6a5f0d4a.entry.js.map +1 -0
  11. package/dist/catalyst/p-7c06183a.js +2 -0
  12. package/dist/catalyst/p-7c06183a.js.map +1 -0
  13. package/dist/catalyst/p-a8629c54.entry.js +2 -0
  14. package/dist/catalyst/p-a8629c54.entry.js.map +1 -0
  15. package/dist/catalyst/p-c7f3b231.js +10 -0
  16. package/dist/catalyst/p-c7f3b231.js.map +1 -0
  17. package/dist/cjs/{app-globals-2a30d681.js → app-globals-aa29ad72.js} +2 -2
  18. package/dist/cjs/{app-globals-2a30d681.js.map → app-globals-aa29ad72.js.map} +1 -1
  19. package/dist/cjs/{cat-alert_15.cjs.entry.js → cat-alert_16.cjs.entry.js} +161 -111
  20. package/dist/cjs/cat-alert_16.cjs.entry.js.map +1 -0
  21. package/dist/cjs/cat-icon-registry-49b11b51.js +131 -0
  22. package/dist/cjs/cat-icon-registry-49b11b51.js.map +1 -0
  23. package/dist/cjs/cat-notification-156f4cf5.js +552 -0
  24. package/dist/cjs/cat-notification-156f4cf5.js.map +1 -0
  25. package/dist/cjs/cat-textarea.cjs.entry.js +91 -0
  26. package/dist/cjs/cat-textarea.cjs.entry.js.map +1 -0
  27. package/dist/cjs/catalyst.cjs.js +4 -3
  28. package/dist/cjs/catalyst.cjs.js.map +1 -1
  29. package/dist/cjs/index.cjs.js +4 -1
  30. package/dist/cjs/index.cjs.js.map +1 -1
  31. package/dist/cjs/loader.cjs.js +4 -3
  32. package/dist/cjs/loader.cjs.js.map +1 -1
  33. package/dist/cjs/{cat-icon-registry-b3a95a6b.js → loglevel-c9b2d01f.js} +3 -126
  34. package/dist/cjs/loglevel-c9b2d01f.js.map +1 -0
  35. package/dist/collection/collection-manifest.json +2 -0
  36. package/dist/collection/components/cat-avatar/cat-avatar.css +81 -0
  37. package/dist/collection/components/cat-avatar/cat-avatar.js +225 -0
  38. package/dist/collection/components/cat-avatar/cat-avatar.js.map +1 -0
  39. package/dist/collection/components/cat-badge/cat-badge.css +5 -5
  40. package/dist/collection/components/cat-button/cat-button.js +8 -8
  41. package/dist/collection/components/cat-button/cat-button.js.map +1 -1
  42. package/dist/collection/components/cat-notification/cat-notification.js +106 -0
  43. package/dist/collection/components/cat-notification/cat-notification.js.map +1 -0
  44. package/dist/collection/components/cat-scrollable/cat-scrollable.js +44 -44
  45. package/dist/collection/components/cat-scrollable/cat-scrollable.js.map +1 -1
  46. package/dist/collection/components/cat-toast-demo/cat-toast-demo.css +3 -0
  47. package/dist/collection/components/cat-toast-demo/cat-toast-demo.js +51 -0
  48. package/dist/collection/components/cat-toast-demo/cat-toast-demo.js.map +1 -0
  49. package/dist/collection/index.js +1 -0
  50. package/dist/collection/index.js.map +1 -1
  51. package/dist/collection/utils/load-img.js +16 -0
  52. package/dist/collection/utils/load-img.js.map +1 -0
  53. package/dist/components/cat-avatar.d.ts +11 -0
  54. package/dist/components/cat-avatar.js +125 -0
  55. package/dist/components/cat-avatar.js.map +1 -0
  56. package/dist/components/cat-badge.js +1 -1
  57. package/dist/components/cat-badge.js.map +1 -1
  58. package/dist/components/cat-button2.js +5 -5
  59. package/dist/components/cat-button2.js.map +1 -1
  60. package/dist/components/cat-notification.js +550 -0
  61. package/dist/components/cat-notification.js.map +1 -0
  62. package/dist/components/cat-scrollable.js +23 -23
  63. package/dist/components/cat-scrollable.js.map +1 -1
  64. package/dist/components/cat-toast-demo.d.ts +11 -0
  65. package/dist/components/cat-toast-demo.js +84 -0
  66. package/dist/components/cat-toast-demo.js.map +1 -0
  67. package/dist/components/index.js +1 -0
  68. package/dist/components/index.js.map +1 -1
  69. package/dist/components/loglevel.js +1 -1
  70. package/dist/esm/{app-globals-77cd8c8e.js → app-globals-cf55f7f5.js} +2 -2
  71. package/dist/esm/{app-globals-77cd8c8e.js.map → app-globals-cf55f7f5.js.map} +1 -1
  72. package/dist/esm/{cat-alert_15.entry.js → cat-alert_16.entry.js} +154 -105
  73. package/dist/esm/cat-alert_16.entry.js.map +1 -0
  74. package/dist/esm/cat-icon-registry-3ea75755.js +128 -0
  75. package/dist/esm/cat-icon-registry-3ea75755.js.map +1 -0
  76. package/dist/esm/cat-notification-cd98c266.js +550 -0
  77. package/dist/esm/cat-notification-cd98c266.js.map +1 -0
  78. package/dist/esm/cat-textarea.entry.js +87 -0
  79. package/dist/esm/cat-textarea.entry.js.map +1 -0
  80. package/dist/esm/catalyst.js +4 -3
  81. package/dist/esm/catalyst.js.map +1 -1
  82. package/dist/esm/index.js +3 -1
  83. package/dist/esm/index.js.map +1 -1
  84. package/dist/esm/loader.js +4 -3
  85. package/dist/esm/loader.js.map +1 -1
  86. package/dist/esm/{cat-icon-registry-a7acd6f7.js → loglevel-39a9e3f9.js} +2 -125
  87. package/dist/esm/loglevel-39a9e3f9.js.map +1 -0
  88. package/dist/types/components/cat-avatar/cat-avatar.d.ts +46 -0
  89. package/dist/types/components/cat-button/cat-button.d.ts +2 -2
  90. package/dist/types/components/cat-notification/cat-notification.d.ts +51 -0
  91. package/dist/types/components/cat-scrollable/cat-scrollable.d.ts +12 -12
  92. package/dist/types/components/cat-toast-demo/cat-toast-demo.d.ts +9 -0
  93. package/dist/types/components.d.ts +134 -44
  94. package/dist/types/index.d.ts +1 -0
  95. package/dist/types/utils/load-img.d.ts +8 -0
  96. package/package.json +5 -3
  97. package/dist/catalyst/p-9a3c2375.js +0 -2
  98. package/dist/catalyst/p-9a3c2375.js.map +0 -1
  99. package/dist/catalyst/p-a6b8ebe9.entry.js +0 -10
  100. package/dist/catalyst/p-a6b8ebe9.entry.js.map +0 -1
  101. package/dist/cjs/cat-alert_15.cjs.entry.js.map +0 -1
  102. package/dist/cjs/cat-icon-registry-b3a95a6b.js.map +0 -1
  103. package/dist/esm/cat-alert_15.entry.js.map +0 -1
  104. package/dist/esm/cat-icon-registry-a7acd6f7.js.map +0 -1
@@ -0,0 +1,550 @@
1
+ import { c as createCommonjsModule, a as commonjsGlobal } from './loglevel.js';
2
+
3
+ var toastify = createCommonjsModule(function (module) {
4
+ /*!
5
+ * Toastify js 1.11.2
6
+ * https://github.com/apvarun/toastify-js
7
+ * @license MIT licensed
8
+ *
9
+ * Copyright (C) 2018 Varun A P
10
+ */
11
+ (function(root, factory) {
12
+ if (module.exports) {
13
+ module.exports = factory();
14
+ } else {
15
+ root.Toastify = factory();
16
+ }
17
+ })(commonjsGlobal, function(global) {
18
+ // Object initialization
19
+ var Toastify = function(options) {
20
+ // Returning a new init object
21
+ return new Toastify.lib.init(options);
22
+ },
23
+ // Library version
24
+ version = "1.11.2";
25
+
26
+ // Set the default global options
27
+ Toastify.defaults = {
28
+ oldestFirst: true,
29
+ text: "Toastify is awesome!",
30
+ node: undefined,
31
+ duration: 3000,
32
+ selector: undefined,
33
+ callback: function () {
34
+ },
35
+ destination: undefined,
36
+ newWindow: false,
37
+ close: false,
38
+ gravity: "toastify-top",
39
+ positionLeft: false,
40
+ position: '',
41
+ backgroundColor: '',
42
+ avatar: "",
43
+ className: "",
44
+ stopOnFocus: true,
45
+ onClick: function () {
46
+ },
47
+ offset: {x: 0, y: 0},
48
+ escapeMarkup: true,
49
+ style: {background: ''}
50
+ };
51
+
52
+ // Defining the prototype of the object
53
+ Toastify.lib = Toastify.prototype = {
54
+ toastify: version,
55
+
56
+ constructor: Toastify,
57
+
58
+ // Initializing the object with required parameters
59
+ init: function(options) {
60
+ // Verifying and validating the input object
61
+ if (!options) {
62
+ options = {};
63
+ }
64
+
65
+ // Creating the options object
66
+ this.options = {};
67
+
68
+ this.toastElement = null;
69
+
70
+ // Validating the options
71
+ this.options.text = options.text || Toastify.defaults.text; // Display message
72
+ this.options.node = options.node || Toastify.defaults.node; // Display content as node
73
+ this.options.duration = options.duration === 0 ? 0 : options.duration || Toastify.defaults.duration; // Display duration
74
+ this.options.selector = options.selector || Toastify.defaults.selector; // Parent selector
75
+ this.options.callback = options.callback || Toastify.defaults.callback; // Callback after display
76
+ this.options.destination = options.destination || Toastify.defaults.destination; // On-click destination
77
+ this.options.newWindow = options.newWindow || Toastify.defaults.newWindow; // Open destination in new window
78
+ this.options.close = options.close || Toastify.defaults.close; // Show toast close icon
79
+ this.options.gravity = options.gravity === "bottom" ? "toastify-bottom" : Toastify.defaults.gravity; // toast position - top or bottom
80
+ this.options.positionLeft = options.positionLeft || Toastify.defaults.positionLeft; // toast position - left or right
81
+ this.options.position = options.position || Toastify.defaults.position; // toast position - left or right
82
+ this.options.backgroundColor = options.backgroundColor || Toastify.defaults.backgroundColor; // toast background color
83
+ this.options.avatar = options.avatar || Toastify.defaults.avatar; // img element src - url or a path
84
+ this.options.className = options.className || Toastify.defaults.className; // additional class names for the toast
85
+ this.options.stopOnFocus = options.stopOnFocus === undefined ? Toastify.defaults.stopOnFocus : options.stopOnFocus; // stop timeout on focus
86
+ this.options.onClick = options.onClick || Toastify.defaults.onClick; // Callback after click
87
+ this.options.offset = options.offset || Toastify.defaults.offset; // toast offset
88
+ this.options.escapeMarkup = options.escapeMarkup !== undefined ? options.escapeMarkup : Toastify.defaults.escapeMarkup;
89
+ this.options.style = options.style || Toastify.defaults.style;
90
+ if(options.backgroundColor) {
91
+ this.options.style.background = options.backgroundColor;
92
+ }
93
+
94
+ // Returning the current object for chaining functions
95
+ return this;
96
+ },
97
+
98
+ // Building the DOM element
99
+ buildToast: function() {
100
+ // Validating if the options are defined
101
+ if (!this.options) {
102
+ throw "Toastify is not initialized";
103
+ }
104
+
105
+ // Creating the DOM object
106
+ var divElement = document.createElement("div");
107
+ divElement.className = "toastify on " + this.options.className;
108
+
109
+ // Positioning toast to left or right or center
110
+ if (!!this.options.position) {
111
+ divElement.className += " toastify-" + this.options.position;
112
+ } else {
113
+ // To be depreciated in further versions
114
+ if (this.options.positionLeft === true) {
115
+ divElement.className += " toastify-left";
116
+ console.warn('Property `positionLeft` will be depreciated in further versions. Please use `position` instead.');
117
+ } else {
118
+ // Default position
119
+ divElement.className += " toastify-right";
120
+ }
121
+ }
122
+
123
+ // Assigning gravity of element
124
+ divElement.className += " " + this.options.gravity;
125
+
126
+ if (this.options.backgroundColor) {
127
+ // This is being deprecated in favor of using the style HTML DOM property
128
+ console.warn('DEPRECATION NOTICE: "backgroundColor" is being deprecated. Please use the "style.background" property.');
129
+ }
130
+
131
+ // Loop through our style object and apply styles to divElement
132
+ for (var property in this.options.style) {
133
+ divElement.style[property] = this.options.style[property];
134
+ }
135
+
136
+ // Adding the toast message/node
137
+ if (this.options.node && this.options.node.nodeType === Node.ELEMENT_NODE) {
138
+ // If we have a valid node, we insert it
139
+ divElement.appendChild(this.options.node);
140
+ } else {
141
+ if (this.options.escapeMarkup) {
142
+ divElement.innerText = this.options.text;
143
+ } else {
144
+ divElement.innerHTML = this.options.text;
145
+ }
146
+
147
+ if (this.options.avatar !== "") {
148
+ var avatarElement = document.createElement("img");
149
+ avatarElement.src = this.options.avatar;
150
+
151
+ avatarElement.className = "toastify-avatar";
152
+
153
+ if (this.options.position == "left" || this.options.positionLeft === true) {
154
+ // Adding close icon on the left of content
155
+ divElement.appendChild(avatarElement);
156
+ } else {
157
+ // Adding close icon on the right of content
158
+ divElement.insertAdjacentElement("afterbegin", avatarElement);
159
+ }
160
+ }
161
+ }
162
+
163
+ // Adding a close icon to the toast
164
+ if (this.options.close === true) {
165
+ // Create a span for close element
166
+ var closeElement = document.createElement("span");
167
+ closeElement.innerHTML = "✖";
168
+
169
+ closeElement.className = "toast-close";
170
+
171
+ // Triggering the removal of toast from DOM on close click
172
+ closeElement.addEventListener(
173
+ "click",
174
+ function(event) {
175
+ event.stopPropagation();
176
+ this.removeElement(this.toastElement);
177
+ window.clearTimeout(this.toastElement.timeOutValue);
178
+ }.bind(this)
179
+ );
180
+
181
+ //Calculating screen width
182
+ var width = window.innerWidth > 0 ? window.innerWidth : screen.width;
183
+
184
+ // Adding the close icon to the toast element
185
+ // Display on the right if screen width is less than or equal to 360px
186
+ if ((this.options.position == "left" || this.options.positionLeft === true) && width > 360) {
187
+ // Adding close icon on the left of content
188
+ divElement.insertAdjacentElement("afterbegin", closeElement);
189
+ } else {
190
+ // Adding close icon on the right of content
191
+ divElement.appendChild(closeElement);
192
+ }
193
+ }
194
+
195
+ // Clear timeout while toast is focused
196
+ if (this.options.stopOnFocus && this.options.duration > 0) {
197
+ var self = this;
198
+ // stop countdown
199
+ divElement.addEventListener(
200
+ "mouseover",
201
+ function(event) {
202
+ window.clearTimeout(divElement.timeOutValue);
203
+ }
204
+ );
205
+ // add back the timeout
206
+ divElement.addEventListener(
207
+ "mouseleave",
208
+ function() {
209
+ divElement.timeOutValue = window.setTimeout(
210
+ function() {
211
+ // Remove the toast from DOM
212
+ self.removeElement(divElement);
213
+ },
214
+ self.options.duration
215
+ );
216
+ }
217
+ );
218
+ }
219
+
220
+ // Adding an on-click destination path
221
+ if (typeof this.options.destination !== "undefined") {
222
+ divElement.addEventListener(
223
+ "click",
224
+ function(event) {
225
+ event.stopPropagation();
226
+ if (this.options.newWindow === true) {
227
+ window.open(this.options.destination, "_blank");
228
+ } else {
229
+ window.location = this.options.destination;
230
+ }
231
+ }.bind(this)
232
+ );
233
+ }
234
+
235
+ if (typeof this.options.onClick === "function" && typeof this.options.destination === "undefined") {
236
+ divElement.addEventListener(
237
+ "click",
238
+ function(event) {
239
+ event.stopPropagation();
240
+ this.options.onClick();
241
+ }.bind(this)
242
+ );
243
+ }
244
+
245
+ // Adding offset
246
+ if(typeof this.options.offset === "object") {
247
+
248
+ var x = getAxisOffsetAValue("x", this.options);
249
+ var y = getAxisOffsetAValue("y", this.options);
250
+
251
+ var xOffset = this.options.position == "left" ? x : "-" + x;
252
+ var yOffset = this.options.gravity == "toastify-top" ? y : "-" + y;
253
+
254
+ divElement.style.transform = "translate(" + xOffset + "," + yOffset + ")";
255
+
256
+ }
257
+
258
+ // Returning the generated element
259
+ return divElement;
260
+ },
261
+
262
+ // Displaying the toast
263
+ showToast: function() {
264
+ // Creating the DOM object for the toast
265
+ this.toastElement = this.buildToast();
266
+
267
+ // Getting the root element to with the toast needs to be added
268
+ var rootElement;
269
+ if (typeof this.options.selector === "string") {
270
+ rootElement = document.getElementById(this.options.selector);
271
+ } else if (this.options.selector instanceof HTMLElement || (typeof ShadowRoot !== 'undefined' && this.options.selector instanceof ShadowRoot)) {
272
+ rootElement = this.options.selector;
273
+ } else {
274
+ rootElement = document.body;
275
+ }
276
+
277
+ // Validating if root element is present in DOM
278
+ if (!rootElement) {
279
+ throw "Root element is not defined";
280
+ }
281
+
282
+ // Adding the DOM element
283
+ var elementToInsert = Toastify.defaults.oldestFirst ? rootElement.firstChild : rootElement.lastChild;
284
+ rootElement.insertBefore(this.toastElement, elementToInsert);
285
+
286
+ // Repositioning the toasts in case multiple toasts are present
287
+ Toastify.reposition();
288
+
289
+ if (this.options.duration > 0) {
290
+ this.toastElement.timeOutValue = window.setTimeout(
291
+ function() {
292
+ // Remove the toast from DOM
293
+ this.removeElement(this.toastElement);
294
+ }.bind(this),
295
+ this.options.duration
296
+ ); // Binding `this` for function invocation
297
+ }
298
+
299
+ // Supporting function chaining
300
+ return this;
301
+ },
302
+
303
+ hideToast: function() {
304
+ if (this.toastElement.timeOutValue) {
305
+ clearTimeout(this.toastElement.timeOutValue);
306
+ }
307
+ this.removeElement(this.toastElement);
308
+ },
309
+
310
+ // Removing the element from the DOM
311
+ removeElement: function(toastElement) {
312
+ // Hiding the element
313
+ // toastElement.classList.remove("on");
314
+ toastElement.className = toastElement.className.replace(" on", "");
315
+
316
+ // Removing the element from DOM after transition end
317
+ window.setTimeout(
318
+ function() {
319
+ // remove options node if any
320
+ if (this.options.node && this.options.node.parentNode) {
321
+ this.options.node.parentNode.removeChild(this.options.node);
322
+ }
323
+
324
+ // Remove the element from the DOM, only when the parent node was not removed before.
325
+ if (toastElement.parentNode) {
326
+ toastElement.parentNode.removeChild(toastElement);
327
+ }
328
+
329
+ // Calling the callback function
330
+ this.options.callback.call(toastElement);
331
+
332
+ // Repositioning the toasts again
333
+ Toastify.reposition();
334
+ }.bind(this),
335
+ 400
336
+ ); // Binding `this` for function invocation
337
+ },
338
+ };
339
+
340
+ // Positioning the toasts on the DOM
341
+ Toastify.reposition = function() {
342
+
343
+ // Top margins with gravity
344
+ var topLeftOffsetSize = {
345
+ top: 15,
346
+ bottom: 15,
347
+ };
348
+ var topRightOffsetSize = {
349
+ top: 15,
350
+ bottom: 15,
351
+ };
352
+ var offsetSize = {
353
+ top: 15,
354
+ bottom: 15,
355
+ };
356
+
357
+ // Get all toast messages on the DOM
358
+ var allToasts = document.getElementsByClassName("toastify");
359
+
360
+ var classUsed;
361
+
362
+ // Modifying the position of each toast element
363
+ for (var i = 0; i < allToasts.length; i++) {
364
+ // Getting the applied gravity
365
+ if (containsClass(allToasts[i], "toastify-top") === true) {
366
+ classUsed = "toastify-top";
367
+ } else {
368
+ classUsed = "toastify-bottom";
369
+ }
370
+
371
+ var height = allToasts[i].offsetHeight;
372
+ classUsed = classUsed.substr(9, classUsed.length-1);
373
+ // Spacing between toasts
374
+ var offset = 15;
375
+
376
+ var width = window.innerWidth > 0 ? window.innerWidth : screen.width;
377
+
378
+ // Show toast in center if screen with less than or equal to 360px
379
+ if (width <= 360) {
380
+ // Setting the position
381
+ allToasts[i].style[classUsed] = offsetSize[classUsed] + "px";
382
+
383
+ offsetSize[classUsed] += height + offset;
384
+ } else {
385
+ if (containsClass(allToasts[i], "toastify-left") === true) {
386
+ // Setting the position
387
+ allToasts[i].style[classUsed] = topLeftOffsetSize[classUsed] + "px";
388
+
389
+ topLeftOffsetSize[classUsed] += height + offset;
390
+ } else {
391
+ // Setting the position
392
+ allToasts[i].style[classUsed] = topRightOffsetSize[classUsed] + "px";
393
+
394
+ topRightOffsetSize[classUsed] += height + offset;
395
+ }
396
+ }
397
+ }
398
+
399
+ // Supporting function chaining
400
+ return this;
401
+ };
402
+
403
+ // Helper function to get offset.
404
+ function getAxisOffsetAValue(axis, options) {
405
+
406
+ if(options.offset[axis]) {
407
+ if(isNaN(options.offset[axis])) {
408
+ return options.offset[axis];
409
+ }
410
+ else {
411
+ return options.offset[axis] + 'px';
412
+ }
413
+ }
414
+
415
+ return '0px';
416
+
417
+ }
418
+
419
+ function containsClass(elem, yourClass) {
420
+ if (!elem || typeof yourClass !== "string") {
421
+ return false;
422
+ } else if (
423
+ elem.className &&
424
+ elem.className
425
+ .trim()
426
+ .split(/\s+/gi)
427
+ .indexOf(yourClass) > -1
428
+ ) {
429
+ return true;
430
+ } else {
431
+ return false;
432
+ }
433
+ }
434
+
435
+ // Setting up the prototype for the init object
436
+ Toastify.lib.init.prototype = Toastify.lib;
437
+
438
+ // Returning the Toastify function to be assigned to the window object/module
439
+ return Toastify;
440
+ });
441
+ });
442
+
443
+ var TypeIcons;
444
+ (function (TypeIcons) {
445
+ TypeIcons["success"] = "check-circle-filled";
446
+ TypeIcons["error"] = "sparkle-filled";
447
+ TypeIcons["info"] = "sparkle-filled";
448
+ })(TypeIcons || (TypeIcons = {}));
449
+ const ToastPositions = {
450
+ 'top-left': {
451
+ gravity: 'top',
452
+ position: 'left'
453
+ },
454
+ 'top-center': {
455
+ gravity: 'top',
456
+ position: 'center'
457
+ },
458
+ 'top-right': {
459
+ gravity: 'top',
460
+ position: 'right'
461
+ },
462
+ 'bottom-left': {
463
+ gravity: 'bottom',
464
+ position: 'left'
465
+ },
466
+ 'bottom-center': {
467
+ gravity: 'bottom',
468
+ position: 'center'
469
+ },
470
+ 'bottom-right': {
471
+ gravity: 'bottom',
472
+ position: 'right'
473
+ }
474
+ };
475
+ class CatNotificationService {
476
+ toastHTMLTemplate(title, message = ' ', options) {
477
+ var _a;
478
+ const template = document.createElement('template');
479
+ const typeIcon = (options === null || options === void 0 ? void 0 : options.type) ? TypeIcons[options.type] : TypeIcons.info;
480
+ title = title.trim();
481
+ message = message.trim();
482
+ const hasMessage = message && message !== '';
483
+ const hasMessageClass = hasMessage ? 'has-message' : '';
484
+ template.innerHTML = `<div class="cat-toastify-wrapper">
485
+ <div class="cat-toastify-icon-wrapper ${(_a = options === null || options === void 0 ? void 0 : options.type) !== null && _a !== void 0 ? _a : 'info'}">
486
+ <cat-icon icon="${typeIcon}"></cat-icon>
487
+ </div>
488
+ <div class="cat-toastify-title-wrapper ${hasMessageClass}">
489
+ <div class="cat-toastify-title">${title}</div></div>
490
+ ${hasMessage ? `<div class="cat-toastify-message">${message}</div>` : ''}
491
+ </div>`;
492
+ return template.content.firstChild;
493
+ }
494
+ error(title, message = ' ', options) {
495
+ const position = this.getPosition(options);
496
+ const toastOptions = {
497
+ node: (options === null || options === void 0 ? void 0 : options.content) ? options.content : this.toastHTMLTemplate(title, message, options),
498
+ duration: CatNotificationService.DURATION,
499
+ close: true,
500
+ className: 'cat-toastify',
501
+ gravity: position.gravity,
502
+ position: position.position,
503
+ stopOnFocus: true
504
+ };
505
+ toastify(toastOptions).showToast();
506
+ }
507
+ success(title, message = ' ', options) {
508
+ const position = this.getPosition(options);
509
+ const toastOptions = {
510
+ node: (options === null || options === void 0 ? void 0 : options.content) ? options.content : this.toastHTMLTemplate(title, message, options),
511
+ duration: CatNotificationService.DURATION,
512
+ close: true,
513
+ className: 'cat-toastify',
514
+ gravity: position.gravity,
515
+ position: position.position,
516
+ stopOnFocus: true
517
+ };
518
+ toastify(toastOptions).showToast();
519
+ }
520
+ info(title, message = ' ', options) {
521
+ const position = this.getPosition(options);
522
+ const toastOptions = {
523
+ node: (options === null || options === void 0 ? void 0 : options.content) ? options.content : this.toastHTMLTemplate(title, message, options),
524
+ duration: CatNotificationService.DURATION,
525
+ close: true,
526
+ className: 'cat-toastify',
527
+ gravity: position.gravity,
528
+ position: position.position,
529
+ stopOnFocus: true
530
+ };
531
+ toastify(toastOptions).showToast();
532
+ }
533
+ getPosition(options) {
534
+ const position = {
535
+ gravity: 'bottom',
536
+ position: 'right'
537
+ };
538
+ if ((options === null || options === void 0 ? void 0 : options.position) && ToastPositions[options.position]) {
539
+ position.position = ToastPositions[options.position].position;
540
+ position.gravity = ToastPositions[options.position].gravity;
541
+ }
542
+ return position;
543
+ }
544
+ }
545
+ CatNotificationService.DURATION = 8000;
546
+ const NotificationsService = new CatNotificationService();
547
+
548
+ export { NotificationsService as N };
549
+
550
+ //# sourceMappingURL=cat-notification.js.map
@@ -0,0 +1 @@
1
+ {"file":"cat-notification.js","mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,SAAS,IAAI,EAAE,OAAO,EAAE;AACzB,EAAE,IAAkC,MAAM,CAAC,OAAO,EAAE;AACpD,IAAI,cAAc,GAAG,OAAO,EAAE,CAAC;AAC/B,GAAG,MAAM;AACT,IAAI,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,CAAC;AAC9B,GAAG;AACH,CAAC,EAAEA,cAAI,EAAE,SAAS,MAAM,EAAE;AAC1B;AACA,EAAE,IAAI,QAAQ,GAAG,SAAS,OAAO,EAAE;AACnC;AACA,MAAM,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5C,KAAK;AACL;AACA,IAAI,OAAO,GAAG,QAAQ,CAAC;AACvB;AACA;AACA,EAAE,QAAQ,CAAC,QAAQ,GAAG;AACtB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,IAAI,EAAE,sBAAsB;AAChC,IAAI,IAAI,EAAE,SAAS;AACnB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,QAAQ,EAAE,SAAS;AACvB,IAAI,QAAQ,EAAE,YAAY;AAC1B,KAAK;AACL,IAAI,WAAW,EAAE,SAAS;AAC1B,IAAI,SAAS,EAAE,KAAK;AACpB,IAAI,KAAK,EAAE,KAAK;AAChB,IAAI,OAAO,EAAE,cAAc;AAC3B,IAAI,YAAY,EAAE,KAAK;AACvB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,eAAe,EAAE,EAAE;AACvB,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,SAAS,EAAE,EAAE;AACjB,IAAI,WAAW,EAAE,IAAI;AACrB,IAAI,OAAO,EAAE,YAAY;AACzB,KAAK;AACL,IAAI,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACxB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,KAAK,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC;AAC3B,GAAG,CAAC;AACJ;AACA;AACA,EAAE,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,SAAS,GAAG;AACtC,IAAI,QAAQ,EAAE,OAAO;AACrB;AACA,IAAI,WAAW,EAAE,QAAQ;AACzB;AACA;AACA,IAAI,IAAI,EAAE,SAAS,OAAO,EAAE;AAC5B;AACA,MAAM,IAAI,CAAC,OAAO,EAAE;AACpB,QAAQ,OAAO,GAAG,EAAE,CAAC;AACrB,OAAO;AACP;AACA;AACA,MAAM,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;AACxB;AACA,MAAM,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AAC/B;AACA;AACA,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjE,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjE,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAC1G,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAC7E,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAC7E,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;AACtF,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;AAChF,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpE,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,QAAQ,GAAG,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC1G,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;AACzF,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAC7E,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC;AAClG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;AACvE,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;AAChF,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,KAAK,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;AACzH,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC1E,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;AACvE,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,KAAK,SAAS,GAAG,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;AAC7H,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE;AAClC,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC;AAChE,OAAO;AACP;AACA;AACA,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL;AACA;AACA,IAAI,UAAU,EAAE,WAAW;AAC3B;AACA,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACzB,QAAQ,MAAM,6BAA6B,CAAC;AAC5C,OAAO;AACP;AACA;AACA,MAAM,IAAI,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACrD,MAAM,UAAU,CAAC,SAAS,GAAG,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AACrE;AACA;AACA,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AACnC,QAAQ,UAAU,CAAC,SAAS,IAAI,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;AACrE,OAAO,MAAM;AACb;AACA,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,IAAI,EAAE;AAChD,UAAU,UAAU,CAAC,SAAS,IAAI,gBAAgB,CAAC;AACnD,UAAU,OAAO,CAAC,IAAI,CAAC,iGAAiG,EAAC;AACzH,SAAS,MAAM;AACf;AACA,UAAU,UAAU,CAAC,SAAS,IAAI,iBAAiB,CAAC;AACpD,SAAS;AACT,OAAO;AACP;AACA;AACA,MAAM,UAAU,CAAC,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AACzD;AACA,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;AACxC;AACA,QAAQ,OAAO,CAAC,IAAI,CAAC,wGAAwG,CAAC,CAAC;AAC/H,OAAO;AACP;AACA;AACA,MAAM,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AAC/C,QAAQ,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAClE,OAAO;AACP;AACA;AACA,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;AACjF;AACA,QAAQ,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAC;AACjD,OAAO,MAAM;AACb,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;AACvC,UAAU,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AACnD,SAAS,MAAM;AACf,UAAU,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AACnD,SAAS;AACT;AACA,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE;AACxC,UAAU,IAAI,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC5D,UAAU,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AAClD;AACA,UAAU,aAAa,CAAC,SAAS,GAAG,iBAAiB,CAAC;AACtD;AACA,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,IAAI,EAAE;AACrF;AACA,YAAY,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AAClD,WAAW,MAAM;AACjB;AACA,YAAY,UAAU,CAAC,qBAAqB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AAC1E,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE;AACvC;AACA,QAAQ,IAAI,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC1D,QAAQ,YAAY,CAAC,SAAS,GAAG,UAAU,CAAC;AAC5C;AACA,QAAQ,YAAY,CAAC,SAAS,GAAG,aAAa,CAAC;AAC/C;AACA;AACA,QAAQ,YAAY,CAAC,gBAAgB;AACrC,UAAU,OAAO;AACjB,UAAU,SAAS,KAAK,EAAE;AAC1B,YAAY,KAAK,CAAC,eAAe,EAAE,CAAC;AACpC,YAAY,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAClD,YAAY,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;AAChE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;AACtB,SAAS,CAAC;AACV;AACA;AACA,QAAQ,IAAI,KAAK,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;AAC7E;AACA;AACA;AACA,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,IAAI,KAAK,KAAK,GAAG,GAAG,EAAE;AACpG;AACA,UAAU,UAAU,CAAC,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AACvE,SAAS,MAAM;AACf;AACA,UAAU,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AAC/C,SAAS;AACT,OAAO;AACP;AACA;AACA,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE;AACjE,QAAQ,IAAI,IAAI,GAAG,IAAI,CAAC;AACxB;AACA,QAAQ,UAAU,CAAC,gBAAgB;AACnC,UAAU,WAAW;AACrB,UAAU,SAAS,KAAK,EAAE;AAC1B,YAAY,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACzD,WAAW;AACX,UAAS;AACT;AACA,QAAQ,UAAU,CAAC,gBAAgB;AACnC,UAAU,YAAY;AACtB,UAAU,WAAW;AACrB,YAAY,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU;AACvD,cAAc,WAAW;AACzB;AACA,gBAAgB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AAC/C,eAAe;AACf,cAAc,IAAI,CAAC,OAAO,CAAC,QAAQ;AACnC,cAAa;AACb,WAAW;AACX,UAAS;AACT,OAAO;AACP;AACA;AACA,MAAM,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,WAAW,EAAE;AAC3D,QAAQ,UAAU,CAAC,gBAAgB;AACnC,UAAU,OAAO;AACjB,UAAU,SAAS,KAAK,EAAE;AAC1B,YAAY,KAAK,CAAC,eAAe,EAAE,CAAC;AACpC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE;AACjD,cAAc,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAC9D,aAAa,MAAM;AACnB,cAAc,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;AACzD,aAAa;AACb,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;AACtB,SAAS,CAAC;AACV,OAAO;AACP;AACA,MAAM,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,WAAW,EAAE;AACzG,QAAQ,UAAU,CAAC,gBAAgB;AACnC,UAAU,OAAO;AACjB,UAAU,SAAS,KAAK,EAAE;AAC1B,YAAY,KAAK,CAAC,eAAe,EAAE,CAAC;AACpC,YAAY,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;AACnC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;AACtB,SAAS,CAAC;AACV,OAAO;AACP;AACA;AACA,MAAM,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE;AAClD;AACA,QAAQ,IAAI,CAAC,GAAG,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AACvD,QAAQ,IAAI,CAAC,GAAG,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AACvD;AACA,QAAQ,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;AACpE,QAAQ,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,cAAc,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;AAC3E;AACA,QAAQ,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,GAAG,OAAO,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC;AAClF;AACA,OAAO;AACP;AACA;AACA,MAAM,OAAO,UAAU,CAAC;AACxB,KAAK;AACL;AACA;AACA,IAAI,SAAS,EAAE,WAAW;AAC1B;AACA,MAAM,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;AAC5C;AACA;AACA,MAAM,IAAI,WAAW,CAAC;AACtB,MAAM,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;AACrD,QAAQ,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACrE,OAAO,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,YAAY,WAAW,KAAK,OAAO,UAAU,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,YAAY,UAAU,CAAC,EAAE;AACrJ,QAAQ,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC5C,OAAO,MAAM;AACb,QAAQ,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;AACpC,OAAO;AACP;AACA;AACA,MAAM,IAAI,CAAC,WAAW,EAAE;AACxB,QAAQ,MAAM,6BAA6B,CAAC;AAC5C,OAAO;AACP;AACA;AACA,MAAM,IAAI,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC;AAC3G,MAAM,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;AACnE;AACA;AACA,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;AAC5B;AACA,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE;AACrC,QAAQ,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU;AAC1D,UAAU,WAAW;AACrB;AACA,YAAY,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAClD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;AACtB,UAAU,IAAI,CAAC,OAAO,CAAC,QAAQ;AAC/B,SAAS,CAAC;AACV,OAAO;AACP;AACA;AACA,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL;AACA,IAAI,SAAS,EAAE,WAAW;AAC1B,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;AAC1C,QAAQ,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;AACrD,OAAO;AACP,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC5C,KAAK;AACL;AACA;AACA,IAAI,aAAa,EAAE,SAAS,YAAY,EAAE;AAC1C;AACA;AACA,MAAM,YAAY,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACzE;AACA;AACA,MAAM,MAAM,CAAC,UAAU;AACvB,QAAQ,WAAW;AACnB;AACA,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE;AACjE,YAAY,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACxE,WAAW;AACX;AACA;AACA,UAAU,IAAI,YAAY,CAAC,UAAU,EAAE;AACvC,YAAY,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AAC9D,WAAW;AACX;AACA;AACA,UAAU,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACnD;AACA;AACA,UAAU,QAAQ,CAAC,UAAU,EAAE,CAAC;AAChC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;AACpB,QAAQ,GAAG;AACX,OAAO,CAAC;AACR,KAAK;AACL,GAAG,CAAC;AACJ;AACA;AACA,EAAE,QAAQ,CAAC,UAAU,GAAG,WAAW;AACnC;AACA;AACA,IAAI,IAAI,iBAAiB,GAAG;AAC5B,MAAM,GAAG,EAAE,EAAE;AACb,MAAM,MAAM,EAAE,EAAE;AAChB,KAAK,CAAC;AACN,IAAI,IAAI,kBAAkB,GAAG;AAC7B,MAAM,GAAG,EAAE,EAAE;AACb,MAAM,MAAM,EAAE,EAAE;AAChB,KAAK,CAAC;AACN,IAAI,IAAI,UAAU,GAAG;AACrB,MAAM,GAAG,EAAE,EAAE;AACb,MAAM,MAAM,EAAE,EAAE;AAChB,KAAK,CAAC;AACN;AACA;AACA,IAAI,IAAI,SAAS,GAAG,QAAQ,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;AAChE;AACA,IAAI,IAAI,SAAS,CAAC;AAClB;AACA;AACA,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/C;AACA,MAAM,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,KAAK,IAAI,EAAE;AAChE,QAAQ,SAAS,GAAG,cAAc,CAAC;AACnC,OAAO,MAAM;AACb,QAAQ,SAAS,GAAG,iBAAiB,CAAC;AACtC,OAAO;AACP;AACA,MAAM,IAAI,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAC7C,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAC;AACzD;AACA,MAAM,IAAI,MAAM,GAAG,EAAE,CAAC;AACtB;AACA,MAAM,IAAI,KAAK,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;AAC3E;AACA;AACA,MAAM,IAAI,KAAK,IAAI,GAAG,EAAE;AACxB;AACA,QAAQ,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;AACrE;AACA,QAAQ,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,GAAG,MAAM,CAAC;AACjD,OAAO,MAAM;AACb,QAAQ,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,KAAK,IAAI,EAAE;AACnE;AACA,UAAU,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;AAC9E;AACA,UAAU,iBAAiB,CAAC,SAAS,CAAC,IAAI,MAAM,GAAG,MAAM,CAAC;AAC1D,SAAS,MAAM;AACf;AACA,UAAU,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,kBAAkB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;AAC/E;AACA,UAAU,kBAAkB,CAAC,SAAS,CAAC,IAAI,MAAM,GAAG,MAAM,CAAC;AAC3D,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG,CAAC;AACJ;AACA;AACA,EAAE,SAAS,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE;AAC9C;AACA,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AAC7B,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;AACtC,QAAQ,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,OAAO;AACP,WAAW;AACX,QAAQ,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC3C,OAAO;AACP,KAAK;AACL;AACA,IAAI,OAAO,KAAK,CAAC;AACjB;AACA,GAAG;AACH;AACA,EAAE,SAAS,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE;AAC1C,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;AAChD,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,SAAS;AACpB,MAAM,IAAI,CAAC,SAAS;AACpB,SAAS,IAAI,EAAE;AACf,SAAS,KAAK,CAAC,OAAO,CAAC;AACvB,SAAS,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAChC,MAAM;AACN,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK,MAAM;AACX,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK;AACL,GAAG;AACH;AACA;AACA,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC;AAC7C;AACA;AACA,EAAE,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;;;AClbF,IAAY,SAIX;AAJD,WAAY,SAAS;EACnB,4CAAiC,CAAA;EACjC,qCAA0B,CAAA;EAC1B,oCAAyB,CAAA;AAC3B,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AAEM,MAAM,cAAc,GAA4F;EACrH,UAAU,EAAE;IACV,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,MAAM;GACjB;EACD,YAAY,EAAE;IACZ,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,QAAQ;GACnB;EACD,WAAW,EAAE;IACX,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,OAAO;GAClB;EACD,aAAa,EAAE;IACb,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,MAAM;GACjB;EACD,eAAe,EAAE;IACf,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,QAAQ;GACnB;EACD,cAAc,EAAE;IACd,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,OAAO;GAClB;CACF,CAAC;AAkCF,MAAM,sBAAsB;EAG1B,iBAAiB,CAAC,KAAa,EAAE,OAAO,GAAG,GAAG,EAAE,OAA+B;;IAC7E,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,IAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC;IAC1E,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACrB,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACzB,MAAM,UAAU,GAAG,OAAO,IAAI,OAAO,KAAK,EAAE,CAAC;IAC7C,MAAM,eAAe,GAAG,UAAU,GAAG,aAAa,GAAG,EAAE,CAAC;IACxD,QAAQ,CAAC,SAAS,GAAG;gDACuB,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,MAAM;+BACxC,QAAQ;;iDAEU,eAAe;8CAClB,KAAK;UACzC,UAAU,GAAG,qCAAqC,OAAO,QAAQ,GAAG,EAAE;aACnE,CAAC;IACV,OAAO,QAAQ,CAAC,OAAO,CAAC,UAAyB,CAAC;GACnD;EAED,KAAK,CAAC,KAAa,EAAE,OAAO,GAAG,GAAG,EAAE,OAA+B;IACjE,MAAM,QAAQ,GAAkB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAY;MAC5B,IAAI,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,IAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC;MAC1F,QAAQ,EAAE,sBAAsB,CAAC,QAAQ;MACzC,KAAK,EAAE,IAAI;MACX,SAAS,EAAE,cAAc;MACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;MACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;MAC3B,WAAW,EAAE,IAAI;KAClB,CAAC;IACFC,QAAQ,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;GACpC;EAED,OAAO,CAAC,KAAa,EAAE,OAAO,GAAG,GAAG,EAAE,OAA+B;IACnE,MAAM,QAAQ,GAAkB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAY;MAC5B,IAAI,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,IAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC;MAC1F,QAAQ,EAAE,sBAAsB,CAAC,QAAQ;MACzC,KAAK,EAAE,IAAI;MACX,SAAS,EAAE,cAAc;MACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;MACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;MAC3B,WAAW,EAAE,IAAI;KAClB,CAAC;IACFA,QAAQ,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;GACpC;EAED,IAAI,CAAC,KAAa,EAAE,OAAO,GAAG,GAAG,EAAE,OAA+B;IAChE,MAAM,QAAQ,GAAkB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAY;MAC5B,IAAI,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,IAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC;MAC1F,QAAQ,EAAE,sBAAsB,CAAC,QAAQ;MACzC,KAAK,EAAE,IAAI;MACX,SAAS,EAAE,cAAc;MACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;MACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;MAC3B,WAAW,EAAE,IAAI;KAClB,CAAC;IACFA,QAAQ,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;GACpC;EAEO,WAAW,CAAC,OAA+B;IACjD,MAAM,QAAQ,GAAkB;MAC9B,OAAO,EAAE,QAAQ;MACjB,QAAQ,EAAE,OAAO;KAClB,CAAC;IACF,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,KAAI,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;MACzD,QAAQ,CAAC,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;MAC9D,QAAQ,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;KAC7D;IACD,OAAO,QAAQ,CAAC;GACjB;;AAxEc,+BAAQ,GAAG,IAAI,CAAC;MA2EpB,oBAAoB,GAAG,IAAI,sBAAsB;;;;","names":["this","Toastify"],"sources":["../node_modules/toastify-js/src/toastify.js","./src/components/cat-notification/cat-notification.tsx"],"sourcesContent":["/*!\n * Toastify js 1.11.2\n * https://github.com/apvarun/toastify-js\n * @license MIT licensed\n *\n * Copyright (C) 2018 Varun A P\n */\n(function(root, factory) {\n if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Toastify = factory();\n }\n})(this, function(global) {\n // Object initialization\n var Toastify = function(options) {\n // Returning a new init object\n return new Toastify.lib.init(options);\n },\n // Library version\n version = \"1.11.2\";\n\n // Set the default global options\n Toastify.defaults = {\n oldestFirst: true,\n text: \"Toastify is awesome!\",\n node: undefined,\n duration: 3000,\n selector: undefined,\n callback: function () {\n },\n destination: undefined,\n newWindow: false,\n close: false,\n gravity: \"toastify-top\",\n positionLeft: false,\n position: '',\n backgroundColor: '',\n avatar: \"\",\n className: \"\",\n stopOnFocus: true,\n onClick: function () {\n },\n offset: {x: 0, y: 0},\n escapeMarkup: true,\n style: {background: ''}\n };\n\n // Defining the prototype of the object\n Toastify.lib = Toastify.prototype = {\n toastify: version,\n\n constructor: Toastify,\n\n // Initializing the object with required parameters\n init: function(options) {\n // Verifying and validating the input object\n if (!options) {\n options = {};\n }\n\n // Creating the options object\n this.options = {};\n\n this.toastElement = null;\n\n // Validating the options\n this.options.text = options.text || Toastify.defaults.text; // Display message\n this.options.node = options.node || Toastify.defaults.node; // Display content as node\n this.options.duration = options.duration === 0 ? 0 : options.duration || Toastify.defaults.duration; // Display duration\n this.options.selector = options.selector || Toastify.defaults.selector; // Parent selector\n this.options.callback = options.callback || Toastify.defaults.callback; // Callback after display\n this.options.destination = options.destination || Toastify.defaults.destination; // On-click destination\n this.options.newWindow = options.newWindow || Toastify.defaults.newWindow; // Open destination in new window\n this.options.close = options.close || Toastify.defaults.close; // Show toast close icon\n this.options.gravity = options.gravity === \"bottom\" ? \"toastify-bottom\" : Toastify.defaults.gravity; // toast position - top or bottom\n this.options.positionLeft = options.positionLeft || Toastify.defaults.positionLeft; // toast position - left or right\n this.options.position = options.position || Toastify.defaults.position; // toast position - left or right\n this.options.backgroundColor = options.backgroundColor || Toastify.defaults.backgroundColor; // toast background color\n this.options.avatar = options.avatar || Toastify.defaults.avatar; // img element src - url or a path\n this.options.className = options.className || Toastify.defaults.className; // additional class names for the toast\n this.options.stopOnFocus = options.stopOnFocus === undefined ? Toastify.defaults.stopOnFocus : options.stopOnFocus; // stop timeout on focus\n this.options.onClick = options.onClick || Toastify.defaults.onClick; // Callback after click\n this.options.offset = options.offset || Toastify.defaults.offset; // toast offset\n this.options.escapeMarkup = options.escapeMarkup !== undefined ? options.escapeMarkup : Toastify.defaults.escapeMarkup;\n this.options.style = options.style || Toastify.defaults.style;\n if(options.backgroundColor) {\n this.options.style.background = options.backgroundColor;\n }\n\n // Returning the current object for chaining functions\n return this;\n },\n\n // Building the DOM element\n buildToast: function() {\n // Validating if the options are defined\n if (!this.options) {\n throw \"Toastify is not initialized\";\n }\n\n // Creating the DOM object\n var divElement = document.createElement(\"div\");\n divElement.className = \"toastify on \" + this.options.className;\n\n // Positioning toast to left or right or center\n if (!!this.options.position) {\n divElement.className += \" toastify-\" + this.options.position;\n } else {\n // To be depreciated in further versions\n if (this.options.positionLeft === true) {\n divElement.className += \" toastify-left\";\n console.warn('Property `positionLeft` will be depreciated in further versions. Please use `position` instead.')\n } else {\n // Default position\n divElement.className += \" toastify-right\";\n }\n }\n\n // Assigning gravity of element\n divElement.className += \" \" + this.options.gravity;\n\n if (this.options.backgroundColor) {\n // This is being deprecated in favor of using the style HTML DOM property\n console.warn('DEPRECATION NOTICE: \"backgroundColor\" is being deprecated. Please use the \"style.background\" property.');\n }\n\n // Loop through our style object and apply styles to divElement\n for (var property in this.options.style) {\n divElement.style[property] = this.options.style[property];\n }\n\n // Adding the toast message/node\n if (this.options.node && this.options.node.nodeType === Node.ELEMENT_NODE) {\n // If we have a valid node, we insert it\n divElement.appendChild(this.options.node)\n } else {\n if (this.options.escapeMarkup) {\n divElement.innerText = this.options.text;\n } else {\n divElement.innerHTML = this.options.text;\n }\n\n if (this.options.avatar !== \"\") {\n var avatarElement = document.createElement(\"img\");\n avatarElement.src = this.options.avatar;\n\n avatarElement.className = \"toastify-avatar\";\n\n if (this.options.position == \"left\" || this.options.positionLeft === true) {\n // Adding close icon on the left of content\n divElement.appendChild(avatarElement);\n } else {\n // Adding close icon on the right of content\n divElement.insertAdjacentElement(\"afterbegin\", avatarElement);\n }\n }\n }\n\n // Adding a close icon to the toast\n if (this.options.close === true) {\n // Create a span for close element\n var closeElement = document.createElement(\"span\");\n closeElement.innerHTML = \"&#10006;\";\n\n closeElement.className = \"toast-close\";\n\n // Triggering the removal of toast from DOM on close click\n closeElement.addEventListener(\n \"click\",\n function(event) {\n event.stopPropagation();\n this.removeElement(this.toastElement);\n window.clearTimeout(this.toastElement.timeOutValue);\n }.bind(this)\n );\n\n //Calculating screen width\n var width = window.innerWidth > 0 ? window.innerWidth : screen.width;\n\n // Adding the close icon to the toast element\n // Display on the right if screen width is less than or equal to 360px\n if ((this.options.position == \"left\" || this.options.positionLeft === true) && width > 360) {\n // Adding close icon on the left of content\n divElement.insertAdjacentElement(\"afterbegin\", closeElement);\n } else {\n // Adding close icon on the right of content\n divElement.appendChild(closeElement);\n }\n }\n\n // Clear timeout while toast is focused\n if (this.options.stopOnFocus && this.options.duration > 0) {\n var self = this;\n // stop countdown\n divElement.addEventListener(\n \"mouseover\",\n function(event) {\n window.clearTimeout(divElement.timeOutValue);\n }\n )\n // add back the timeout\n divElement.addEventListener(\n \"mouseleave\",\n function() {\n divElement.timeOutValue = window.setTimeout(\n function() {\n // Remove the toast from DOM\n self.removeElement(divElement);\n },\n self.options.duration\n )\n }\n )\n }\n\n // Adding an on-click destination path\n if (typeof this.options.destination !== \"undefined\") {\n divElement.addEventListener(\n \"click\",\n function(event) {\n event.stopPropagation();\n if (this.options.newWindow === true) {\n window.open(this.options.destination, \"_blank\");\n } else {\n window.location = this.options.destination;\n }\n }.bind(this)\n );\n }\n\n if (typeof this.options.onClick === \"function\" && typeof this.options.destination === \"undefined\") {\n divElement.addEventListener(\n \"click\",\n function(event) {\n event.stopPropagation();\n this.options.onClick();\n }.bind(this)\n );\n }\n\n // Adding offset\n if(typeof this.options.offset === \"object\") {\n\n var x = getAxisOffsetAValue(\"x\", this.options);\n var y = getAxisOffsetAValue(\"y\", this.options);\n\n var xOffset = this.options.position == \"left\" ? x : \"-\" + x;\n var yOffset = this.options.gravity == \"toastify-top\" ? y : \"-\" + y;\n\n divElement.style.transform = \"translate(\" + xOffset + \",\" + yOffset + \")\";\n\n }\n\n // Returning the generated element\n return divElement;\n },\n\n // Displaying the toast\n showToast: function() {\n // Creating the DOM object for the toast\n this.toastElement = this.buildToast();\n\n // Getting the root element to with the toast needs to be added\n var rootElement;\n if (typeof this.options.selector === \"string\") {\n rootElement = document.getElementById(this.options.selector);\n } else if (this.options.selector instanceof HTMLElement || (typeof ShadowRoot !== 'undefined' && this.options.selector instanceof ShadowRoot)) {\n rootElement = this.options.selector;\n } else {\n rootElement = document.body;\n }\n\n // Validating if root element is present in DOM\n if (!rootElement) {\n throw \"Root element is not defined\";\n }\n\n // Adding the DOM element\n var elementToInsert = Toastify.defaults.oldestFirst ? rootElement.firstChild : rootElement.lastChild;\n rootElement.insertBefore(this.toastElement, elementToInsert);\n\n // Repositioning the toasts in case multiple toasts are present\n Toastify.reposition();\n\n if (this.options.duration > 0) {\n this.toastElement.timeOutValue = window.setTimeout(\n function() {\n // Remove the toast from DOM\n this.removeElement(this.toastElement);\n }.bind(this),\n this.options.duration\n ); // Binding `this` for function invocation\n }\n\n // Supporting function chaining\n return this;\n },\n\n hideToast: function() {\n if (this.toastElement.timeOutValue) {\n clearTimeout(this.toastElement.timeOutValue);\n }\n this.removeElement(this.toastElement);\n },\n\n // Removing the element from the DOM\n removeElement: function(toastElement) {\n // Hiding the element\n // toastElement.classList.remove(\"on\");\n toastElement.className = toastElement.className.replace(\" on\", \"\");\n\n // Removing the element from DOM after transition end\n window.setTimeout(\n function() {\n // remove options node if any\n if (this.options.node && this.options.node.parentNode) {\n this.options.node.parentNode.removeChild(this.options.node);\n }\n\n // Remove the element from the DOM, only when the parent node was not removed before.\n if (toastElement.parentNode) {\n toastElement.parentNode.removeChild(toastElement);\n }\n\n // Calling the callback function\n this.options.callback.call(toastElement);\n\n // Repositioning the toasts again\n Toastify.reposition();\n }.bind(this),\n 400\n ); // Binding `this` for function invocation\n },\n };\n\n // Positioning the toasts on the DOM\n Toastify.reposition = function() {\n\n // Top margins with gravity\n var topLeftOffsetSize = {\n top: 15,\n bottom: 15,\n };\n var topRightOffsetSize = {\n top: 15,\n bottom: 15,\n };\n var offsetSize = {\n top: 15,\n bottom: 15,\n };\n\n // Get all toast messages on the DOM\n var allToasts = document.getElementsByClassName(\"toastify\");\n\n var classUsed;\n\n // Modifying the position of each toast element\n for (var i = 0; i < allToasts.length; i++) {\n // Getting the applied gravity\n if (containsClass(allToasts[i], \"toastify-top\") === true) {\n classUsed = \"toastify-top\";\n } else {\n classUsed = \"toastify-bottom\";\n }\n\n var height = allToasts[i].offsetHeight;\n classUsed = classUsed.substr(9, classUsed.length-1)\n // Spacing between toasts\n var offset = 15;\n\n var width = window.innerWidth > 0 ? window.innerWidth : screen.width;\n\n // Show toast in center if screen with less than or equal to 360px\n if (width <= 360) {\n // Setting the position\n allToasts[i].style[classUsed] = offsetSize[classUsed] + \"px\";\n\n offsetSize[classUsed] += height + offset;\n } else {\n if (containsClass(allToasts[i], \"toastify-left\") === true) {\n // Setting the position\n allToasts[i].style[classUsed] = topLeftOffsetSize[classUsed] + \"px\";\n\n topLeftOffsetSize[classUsed] += height + offset;\n } else {\n // Setting the position\n allToasts[i].style[classUsed] = topRightOffsetSize[classUsed] + \"px\";\n\n topRightOffsetSize[classUsed] += height + offset;\n }\n }\n }\n\n // Supporting function chaining\n return this;\n };\n\n // Helper function to get offset.\n function getAxisOffsetAValue(axis, options) {\n\n if(options.offset[axis]) {\n if(isNaN(options.offset[axis])) {\n return options.offset[axis];\n }\n else {\n return options.offset[axis] + 'px';\n }\n }\n\n return '0px';\n\n }\n\n function containsClass(elem, yourClass) {\n if (!elem || typeof yourClass !== \"string\") {\n return false;\n } else if (\n elem.className &&\n elem.className\n .trim()\n .split(/\\s+/gi)\n .indexOf(yourClass) > -1\n ) {\n return true;\n } else {\n return false;\n }\n }\n\n // Setting up the prototype for the init object\n Toastify.lib.init.prototype = Toastify.lib;\n\n // Returning the Toastify function to be assigned to the window object/module\n return Toastify;\n});\n","import Toastify, { Options } from 'toastify-js';\n\nexport enum TypeIcons {\n 'success' = 'check-circle-filled',\n 'error' = 'sparkle-filled',\n 'info' = 'sparkle-filled'\n}\n\nexport const ToastPositions: { [key: string]: { gravity: 'top' | 'bottom'; position: 'left' | 'center' | 'right' } } = {\n 'top-left': {\n gravity: 'top',\n position: 'left'\n },\n 'top-center': {\n gravity: 'top',\n position: 'center'\n },\n 'top-right': {\n gravity: 'top',\n position: 'right'\n },\n 'bottom-left': {\n gravity: 'bottom',\n position: 'left'\n },\n 'bottom-center': {\n gravity: 'bottom',\n position: 'center'\n },\n 'bottom-right': {\n gravity: 'bottom',\n position: 'right'\n }\n};\n\nexport interface ToastPosition {\n gravity: 'top' | 'bottom';\n position: 'left' | 'center' | 'right';\n}\n\nexport interface ToastOptions {\n /**\n * HTML content of the toast\n */\n content: Node;\n /**\n * Show close button\n */\n close: boolean;\n /**\n * Toast position\n */\n position: 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';\n /**\n * Type of toast\n */\n type: 'success' | 'info' | 'error';\n /**\n * Invoked when the toast is clicked\n */\n onClick: () => void;\n /**\n * Toggle the default behavior of escaping HTML markup\n */\n escapeMarkup: boolean;\n}\n\nclass CatNotificationService {\n private static DURATION = 8000;\n\n toastHTMLTemplate(title: string, message = ' ', options?: Partial<ToastOptions>): HTMLElement {\n const template = document.createElement('template');\n const typeIcon = options?.type ? TypeIcons[options.type] : TypeIcons.info;\n title = title.trim();\n message = message.trim();\n const hasMessage = message && message !== '';\n const hasMessageClass = hasMessage ? 'has-message' : '';\n template.innerHTML = `<div class=\"cat-toastify-wrapper\">\n <div class=\"cat-toastify-icon-wrapper ${options?.type ?? 'info'}\">\n <cat-icon icon=\"${typeIcon}\"></cat-icon>\n </div>\n <div class=\"cat-toastify-title-wrapper ${hasMessageClass}\">\n <div class=\"cat-toastify-title\">${title}</div></div>\n ${hasMessage ? `<div class=\"cat-toastify-message\">${message}</div>` : ''}\n </div>`;\n return template.content.firstChild as HTMLElement;\n }\n\n error(title: string, message = ' ', options?: Partial<ToastOptions>): void {\n const position: ToastPosition = this.getPosition(options);\n const toastOptions: Options = {\n node: options?.content ? options.content : this.toastHTMLTemplate(title, message, options),\n duration: CatNotificationService.DURATION,\n close: true,\n className: 'cat-toastify',\n gravity: position.gravity,\n position: position.position,\n stopOnFocus: true\n };\n Toastify(toastOptions).showToast();\n }\n\n success(title: string, message = ' ', options?: Partial<ToastOptions>): void {\n const position: ToastPosition = this.getPosition(options);\n const toastOptions: Options = {\n node: options?.content ? options.content : this.toastHTMLTemplate(title, message, options),\n duration: CatNotificationService.DURATION,\n close: true,\n className: 'cat-toastify',\n gravity: position.gravity,\n position: position.position,\n stopOnFocus: true\n };\n Toastify(toastOptions).showToast();\n }\n\n info(title: string, message = ' ', options?: Partial<ToastOptions>): void {\n const position: ToastPosition = this.getPosition(options);\n const toastOptions: Options = {\n node: options?.content ? options.content : this.toastHTMLTemplate(title, message, options),\n duration: CatNotificationService.DURATION,\n close: true,\n className: 'cat-toastify',\n gravity: position.gravity,\n position: position.position,\n stopOnFocus: true\n };\n Toastify(toastOptions).showToast();\n }\n\n private getPosition(options?: Partial<ToastOptions>): ToastPosition {\n const position: ToastPosition = {\n gravity: 'bottom',\n position: 'right'\n };\n if (options?.position && ToastPositions[options.position]) {\n position.position = ToastPositions[options.position].position;\n position.gravity = ToastPositions[options.position].gravity;\n }\n return position;\n }\n}\n\nexport const NotificationsService = new CatNotificationService();\n"],"version":3}