@smart-webcomponents-angular/toast 19.0.8 → 25.5.5

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.
@@ -43,6 +43,13 @@ class BaseElement {
43
43
  focus(options) {
44
44
  this.nativeElement.focus(options);
45
45
  }
46
+ /** @description Sets or gets the license. */
47
+ get license() {
48
+ return this.nativeElement ? this.nativeElement.license : undefined;
49
+ }
50
+ set license(value) {
51
+ this.nativeElement ? this.nativeElement.license = value : undefined;
52
+ }
46
53
  /** @description Sets or gets the language. Used in conjunction with the property messages. */
47
54
  get locale() {
48
55
  return this.nativeElement ? this.nativeElement.locale : undefined;
@@ -80,7 +87,7 @@ class BaseElement {
80
87
  }
81
88
  }
82
89
  BaseElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BaseElement, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
83
- BaseElement.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.6", type: BaseElement, inputs: { locale: "locale", localizeFormatFunction: "localizeFormatFunction", messages: "messages", rightToLeft: "rightToLeft", theme: "theme" }, outputs: { onCreate: "onCreate", onReady: "onReady", onAttach: "onAttach", onDetach: "onDetach" }, ngImport: i0 });
90
+ BaseElement.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.6", type: BaseElement, inputs: { license: "license", locale: "locale", localizeFormatFunction: "localizeFormatFunction", messages: "messages", rightToLeft: "rightToLeft", theme: "theme" }, outputs: { onCreate: "onCreate", onReady: "onReady", onAttach: "onAttach", onDetach: "onDetach" }, ngImport: i0 });
84
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BaseElement, decorators: [{
85
92
  type: Directive
86
93
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { onCreate: [{
@@ -91,6 +98,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImpor
91
98
  type: Output
92
99
  }], onDetach: [{
93
100
  type: Output
101
+ }], license: [{
102
+ type: Input
94
103
  }], locale: [{
95
104
  type: Input
96
105
  }], localizeFormatFunction: [{
@@ -102,31 +111,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImpor
102
111
  }], theme: [{
103
112
  type: Input
104
113
  }] } });
105
- const Smart = window.Smart;
114
+ let Smart;
115
+ if (typeof window !== "undefined") {
116
+ Smart = window.Smart;
117
+ }
106
118
 
107
119
  class ToastComponent extends BaseElement {
108
120
  constructor(ref) {
109
121
  super(ref);
110
122
  this.eventHandlers = [];
111
- /** @description This event is triggered when the toast item is clicked.
123
+ /** @description This event is triggered when a user clicks on a toast notification. It allows you to execute custom logic in response to the user's interaction with the toast item, such as redirecting to a specific page, dismissing the notification, or performing other actions.
112
124
  * @param event. The custom event. */
113
125
  this.onItemClick = new EventEmitter();
114
- /** @description This event is triggered when the toast item is closed.
126
+ /** @description This event is triggered whenever a toast notification is closed, either by user interaction (such as clicking the close button) or programmatically through code. It allows developers to execute custom logic or cleanup actions after the toast has been dismissed from the user interface.
115
127
  * @param event. The custom event. */
116
128
  this.onClose = new EventEmitter();
117
- /** @description This event is triggered when the toast item is opened.
129
+ /** @description This event is triggered each time a toast notification becomes visible to the user, indicating that the toast item has been fully opened and is now displayed on the screen.
118
130
  * @param event. The custom event. */
119
131
  this.onOpen = new EventEmitter();
120
- /** @description This event is triggered on swipebottom over an toast item.
132
+ /** @description This event is triggered when a user performs a swipe-down gesture (swipe bottom) on a toast notification item. It can be used to detect and handle user interactions that involve dismissing or interacting with toast messages via a downward swipe.
121
133
  * @param event. The custom event. */
122
134
  this.onSwipebottom = new EventEmitter();
123
- /** @description This event is triggered on swipeleft over an toast item.
135
+ /** @description This event is triggered when a user performs a swipe left gesture on a toast notification item. It allows you to execute custom actions in response to the swipe left interaction with the toast component.
124
136
  * @param event. The custom event. */
125
137
  this.onSwipeleft = new EventEmitter();
126
- /** @description This event is triggered on swiperight over an toast item.
138
+ /** @description This event is triggered when a user performs a swipe-right gesture on a toast notification item. It allows you to handle interactions that occur specifically when the user swipes right on a toast component.
127
139
  * @param event. The custom event. */
128
140
  this.onSwiperight = new EventEmitter();
129
- /** @description This event is triggered on swipetop over an toast item.
141
+ /** @description This event is triggered when a user performs an upward swipe gesture (swipe top) on a toast notification item.
130
142
  * @param event. The custom event. */
131
143
  this.onSwipetop = new EventEmitter();
132
144
  this.nativeElement = ref.nativeElement;
@@ -141,154 +153,161 @@ class ToastComponent extends BaseElement {
141
153
  }
142
154
  return this.nativeElement;
143
155
  }
144
- /** @description Sets or gets the animation mode. Animation is disabled when the property is set to 'none' */
156
+ /** @description Sets or retrieves the animation mode for the component. When this property is set to 'none', all animations are disabled. Otherwise, specifying a valid animation mode enables corresponding transition effects. */
145
157
  get animation() {
146
158
  return this.nativeElement ? this.nativeElement.animation : undefined;
147
159
  }
148
160
  set animation(value) {
149
161
  this.nativeElement ? this.nativeElement.animation = value : undefined;
150
162
  }
151
- /** @description Specifies the container where new openned toast items will be displayed. The value can be an HTMLElement or element's id. This property is in relation with modal(lower priority than modal) and position(higher priority than position) properties. */
163
+ /** @description Defines the container element in which new toast notifications will appear. The value can be either an HTMLElement directly, or a string representing the id of a DOM element. This property determines where toast items are rendered in the DOM.Note: When used together with the modal and position properties, container takes precedence over position but has lower priority than modal. This means that if modal is enabled, it overrides container; if not, the specified container is used instead of the position property. */
152
164
  get appendTo() {
153
165
  return this.nativeElement ? this.nativeElement.appendTo : undefined;
154
166
  }
155
167
  set appendTo(value) {
156
168
  this.nativeElement ? this.nativeElement.appendTo = value : undefined;
157
169
  }
158
- /** @description Sets or gets whether the toast will automatically close after duration equal to the autoCloseDelay property. */
170
+ /** @description Determines whether the toast notification will automatically close after the duration specified by the autoCloseDelay property. If enabled, the toast will dismiss itself once the set time has elapsed; otherwise, it will remain visible until manually closed by the user. */
159
171
  get autoClose() {
160
172
  return this.nativeElement ? this.nativeElement.autoClose : undefined;
161
173
  }
162
174
  set autoClose(value) {
163
175
  this.nativeElement ? this.nativeElement.autoClose = value : undefined;
164
176
  }
165
- /** @description Sets or gets the duration after which the toast automatically closes (works only if the autoClose property is set to true). */
177
+ /** @description Specifies or retrieves the time interval (in milliseconds) after which the toast notification will automatically dismiss itself. This property is effective only when the autoClose property is set to true; otherwise, the toast will remain visible until manually closed. */
166
178
  get autoCloseDelay() {
167
179
  return this.nativeElement ? this.nativeElement.autoCloseDelay : undefined;
168
180
  }
169
181
  set autoCloseDelay(value) {
170
182
  this.nativeElement ? this.nativeElement.autoCloseDelay = value : undefined;
171
183
  }
172
- /** @description Sets whether the toast will open automatically immediately after widget's initialization. */
184
+ /** @description Determines whether the toast notification should automatically appear as soon as the widget is initialized, without requiring any user interaction or additional trigger. */
173
185
  get autoOpen() {
174
186
  return this.nativeElement ? this.nativeElement.autoOpen : undefined;
175
187
  }
176
188
  set autoOpen(value) {
177
189
  this.nativeElement ? this.nativeElement.autoOpen = value : undefined;
178
190
  }
179
- /** @description The user will not be able to interact with toast items when disabled is set to true. */
191
+ /** @description When the disabled property is set to true, all user interactions with toast items—such as clicking, hovering, or dismissing—will be prevented. The toast items will appear inactive and will not respond to any user actions until disabled is set to false. */
180
192
  get disabled() {
181
193
  return this.nativeElement ? this.nativeElement.disabled : undefined;
182
194
  }
183
195
  set disabled(value) {
184
196
  this.nativeElement ? this.nativeElement.disabled = value : undefined;
185
197
  }
186
- /** @description Sets custom icon className which overrides the default one. Multiple class names can be applied by separating them with a space. Useful when loading from a third-party icon library (such as Bootstrap). */
198
+ /** @description Specifies a custom CSS class name or multiple class names to override the default icon styling. To apply multiple classes, separate each class name with a space (e.g., "fa fa-user"). This property is particularly useful when integrating icons from third-party icon libraries like Bootstrap Icons, Font Awesome, or Material Icons, allowing you to fully control the icon's appearance by leveraging external style definitions. */
187
199
  get iconClass() {
188
200
  return this.nativeElement ? this.nativeElement.iconClass : undefined;
189
201
  }
190
202
  set iconClass(value) {
191
203
  this.nativeElement ? this.nativeElement.iconClass = value : undefined;
192
204
  }
193
- /** @description Adds a custom class to Toast items. Multiple class names can be applied by separating them with a space. Useful when styling by using predefined class names from a third-party CSS library (such as Bootstrap). */
205
+ /** @description Allows you to add one or more custom CSS classes to Toast items by specifying class names separated with spaces. This enables you to style individual Toasts using predefined classes from third-party CSS frameworks (such as Bootstrap), or your own custom styles, for greater flexibility and consistency in appearance. */
194
206
  get itemClass() {
195
207
  return this.nativeElement ? this.nativeElement.itemClass : undefined;
196
208
  }
197
209
  set itemClass(value) {
198
210
  this.nativeElement ? this.nativeElement.itemClass = value : undefined;
199
211
  }
200
- /** @description Sets custom item template. */
212
+ /** @description Defines a custom template for rendering each item, allowing you to control the appearance and structure of items displayed in the list or component. This enables the use of personalized HTML, styling, and dynamic content for each item, rather than relying on the default rendering format. */
201
213
  get itemTemplate() {
202
214
  return this.nativeElement ? this.nativeElement.itemTemplate : undefined;
203
215
  }
204
216
  set itemTemplate(value) {
205
217
  this.nativeElement ? this.nativeElement.itemTemplate = value : undefined;
206
218
  }
207
- /** @description Sets or gets the language. Used in conjunction with the property messages. */
219
+ /** @description Defines or retrieves the unlockKey, a unique value required to activate or gain access to the product’s features or content. */
220
+ get unlockKey() {
221
+ return this.nativeElement ? this.nativeElement.unlockKey : undefined;
222
+ }
223
+ set unlockKey(value) {
224
+ this.nativeElement ? this.nativeElement.unlockKey = value : undefined;
225
+ }
226
+ /** @description Specifies or retrieves the current language setting for localization purposes. This property determines which set of translations from the messages object is used, ensuring that the appropriate language-specific content is displayed or accessed. */
208
227
  get locale() {
209
228
  return this.nativeElement ? this.nativeElement.locale : undefined;
210
229
  }
211
230
  set locale(value) {
212
231
  this.nativeElement ? this.nativeElement.locale = value : undefined;
213
232
  }
214
- /** @description Callback, related to localization module. */
233
+ /** @description Callback function used by the localization module to handle language-specific operations, such as loading translation files, switching languages, or updating localized content dynamically within the application. */
215
234
  get localizeFormatFunction() {
216
235
  return this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;
217
236
  }
218
237
  set localizeFormatFunction(value) {
219
238
  this.nativeElement ? this.nativeElement.localizeFormatFunction = value : undefined;
220
239
  }
221
- /** @description Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale. */
240
+ /** @description Defines or retrieves an object containing customizable text strings used throughout the widget’s user interface, enabling localization and internationalization of displayed messages, labels, and prompts. Typically used alongside the locale property to support multiple languages and regional formats. This property allows developers to override default strings with translations or custom wording suitable for different locales. */
222
241
  get messages() {
223
242
  return this.nativeElement ? this.nativeElement.messages : undefined;
224
243
  }
225
244
  set messages(value) {
226
245
  this.nativeElement ? this.nativeElement.messages = value : undefined;
227
246
  }
228
- /** @description In modal mode the toast item is positioned in the center of the screen. This property is with higher priority than position and appendTo. If modal is set to true these properties are disregarded. */
247
+ /** @description When modal mode is enabled, the toast notification is displayed at the center of the screen, overlaying all other page content. The modal property takes precedence over both the position and appendTo properties. If modal is set to true, any values specified for position and appendTo will be ignored, and the toast will always appear centered in a modal overlay. */
229
248
  get modal() {
230
249
  return this.nativeElement ? this.nativeElement.modal : undefined;
231
250
  }
232
251
  set modal(value) {
233
252
  this.nativeElement ? this.nativeElement.modal = value : undefined;
234
253
  }
235
- /** @description Sets the part of the browser window where the toast will be positioned. The position property is disregarded if appendTo or modal are set. */
254
+ /** @description Specifies the area of the browser window where the toast notification will be displayed (for example, "top-right" or "bottom-center"). Note: This position setting is ignored if the appendTo property is defined or if modal mode is enabled, as these options control the toast’s placement instead. */
236
255
  get position() {
237
256
  return this.nativeElement ? this.nativeElement.position : undefined;
238
257
  }
239
258
  set position(value) {
240
259
  this.nativeElement ? this.nativeElement.position = value : undefined;
241
260
  }
242
- /** @description If the element is readonly, users cannot interact with it. */
261
+ /** @description If the element has the "readonly" attribute, users cannot modify its value; the content is visible but cannot be changed or edited through user input. However, users may still be able to interact with the element in limited ways, such as copying its text, but any form of altering the value is disabled. */
243
262
  get readonly() {
244
263
  return this.nativeElement ? this.nativeElement.readonly : undefined;
245
264
  }
246
265
  set readonly(value) {
247
266
  this.nativeElement ? this.nativeElement.readonly = value : undefined;
248
267
  }
249
- /** @description Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. */
268
+ /** @description Defines or retrieves a value that specifies whether the element's alignment is adjusted to support right-to-left (RTL) languages, such as Arabic or Hebrew. When enabled, the element's layout and text direction are modified to accommodate locales that use RTL scripts. */
250
269
  get rightToLeft() {
251
270
  return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
252
271
  }
253
272
  set rightToLeft(value) {
254
273
  this.nativeElement ? this.nativeElement.rightToLeft = value : undefined;
255
274
  }
256
- /** @description Sets or gets whether to show the toast item's close button. */
275
+ /** @description Determines whether the close button is displayed on the toast notification. When set to true, the close button appears, allowing users to manually dismiss the toast. When set to false, the close button is hidden, and the toast can only be dismissed programmatically or by other means. This property can be used to retrieve the current visibility state or update it as needed. */
257
276
  get showCloseButton() {
258
277
  return this.nativeElement ? this.nativeElement.showCloseButton : undefined;
259
278
  }
260
279
  set showCloseButton(value) {
261
280
  this.nativeElement ? this.nativeElement.showCloseButton = value : undefined;
262
281
  }
263
- /** @description Determines the theme. Theme defines the look of the element */
282
+ /** @description Specifies the theme to be applied to the element. The selected theme controls the visual appearance of the element, including colors, fonts, and overall styling, ensuring a consistent look and feel throughout the user interface. */
264
283
  get theme() {
265
284
  return this.nativeElement ? this.nativeElement.theme : undefined;
266
285
  }
267
286
  set theme(value) {
268
287
  this.nativeElement ? this.nativeElement.theme = value : undefined;
269
288
  }
270
- /** @description Sets speciffic CSS settings and icon to the toast items. */
289
+ /** @description Applies custom CSS styles and assigns a designated icon to each toast notification item for improved appearance and user experience. */
271
290
  get type() {
272
291
  return this.nativeElement ? this.nativeElement.type : undefined;
273
292
  }
274
293
  set type(value) {
275
294
  this.nativeElement ? this.nativeElement.type = value : undefined;
276
295
  }
277
- /** @description If is set to true, the element cannot be focused. */
296
+ /** @description When set to true, this property prevents the element from receiving keyboard focus, making it inaccessible through keyboard navigation or programmatic focus methods (such as calling element.focus()). */
278
297
  get unfocusable() {
279
298
  return this.nativeElement ? this.nativeElement.unfocusable : undefined;
280
299
  }
281
300
  set unfocusable(value) {
282
301
  this.nativeElement ? this.nativeElement.unfocusable = value : undefined;
283
302
  }
284
- /** @description Sets a text value to an toast item. */
303
+ /** @description Assigns a specific text value to the toast notification, determining the message displayed to users within the toast item. */
285
304
  get value() {
286
305
  return this.nativeElement ? this.nativeElement.value : undefined;
287
306
  }
288
307
  set value(value) {
289
308
  this.nativeElement ? this.nativeElement.value = value : undefined;
290
309
  }
291
- /** @description Closes all opened toast items.
310
+ /** @description Closes all currently displayed toast notifications, ensuring that any active toast messages are dismissed from the user interface.
292
311
  */
293
312
  closeAll() {
294
313
  if (this.nativeElement.isRendered) {
@@ -300,7 +319,7 @@ class ToastComponent extends BaseElement {
300
319
  });
301
320
  }
302
321
  }
303
- /** @description Closes particular toast item.
322
+ /** @description Closes a specific toast notification. This action targets and dismisses the designated toast message from the user interface, ensuring that only the selected toast item is removed without affecting others.
304
323
  * @param {HTMLElement | string} item. The toast item (or its id) to remove.
305
324
  */
306
325
  closeItem(item) {
@@ -313,7 +332,7 @@ class ToastComponent extends BaseElement {
313
332
  });
314
333
  }
315
334
  }
316
- /** @description Closes the last opened toast item.
335
+ /** @description Closes the most recently displayed toast notification, removing it from the user's view.
317
336
  */
318
337
  closeLast() {
319
338
  if (this.nativeElement.isRendered) {
@@ -325,7 +344,7 @@ class ToastComponent extends BaseElement {
325
344
  });
326
345
  }
327
346
  }
328
- /** @description Opens a new toast item and returns the opened smart-toast-item instance.
347
+ /** @description Displays a new toast notification and returns the corresponding smart-toast-item instance representing the newly created toast. This allows further manipulation or customization of the toast after it appears.
329
348
  * @param {HTMLElement | string} value?. The value for the toast item. If not set, the value property will be used.
330
349
  * @param {string} iconType?. The icon name for the toast item. If not set, the type property determines the icon type that will be used.
331
350
  * @returns {HTMLElement}
@@ -342,6 +361,12 @@ class ToastComponent extends BaseElement {
342
361
  const result = await getResultOnRender();
343
362
  return result;
344
363
  }
364
+ openSync(value, iconType) {
365
+ if (this.nativeElement.isRendered) {
366
+ return this.nativeElement.open(value, iconType);
367
+ }
368
+ return null;
369
+ }
345
370
  get isRendered() {
346
371
  return this.nativeElement ? this.nativeElement.isRendered : false;
347
372
  }
@@ -350,9 +375,11 @@ class ToastComponent extends BaseElement {
350
375
  ngAfterViewInit() {
351
376
  const that = this;
352
377
  that.onCreate.emit(that.nativeElement);
353
- Smart.Render();
378
+ if (Smart)
379
+ Smart.Render();
354
380
  this.nativeElement.classList.add('smart-angular');
355
- this.nativeElement.whenRendered(() => { that.onReady.emit(that.nativeElement); });
381
+ if (this.nativeElement.whenRendered)
382
+ this.nativeElement.whenRendered(() => { that.onReady.emit(that.nativeElement); });
356
383
  this.listen();
357
384
  }
358
385
  ngOnDestroy() {
@@ -412,7 +439,7 @@ class ToastComponent extends BaseElement {
412
439
  }
413
440
  }
414
441
  ToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: ToastComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
415
- ToastComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.6", type: ToastComponent, selector: "smart-toast, [smart-toast]", inputs: { animation: "animation", appendTo: "appendTo", autoClose: "autoClose", autoCloseDelay: "autoCloseDelay", autoOpen: "autoOpen", disabled: "disabled", iconClass: "iconClass", itemClass: "itemClass", itemTemplate: "itemTemplate", locale: "locale", localizeFormatFunction: "localizeFormatFunction", messages: "messages", modal: "modal", position: "position", readonly: "readonly", rightToLeft: "rightToLeft", showCloseButton: "showCloseButton", theme: "theme", type: "type", unfocusable: "unfocusable", value: "value" }, outputs: { onItemClick: "onItemClick", onClose: "onClose", onOpen: "onOpen", onSwipebottom: "onSwipebottom", onSwipeleft: "onSwipeleft", onSwiperight: "onSwiperight", onSwipetop: "onSwipetop" }, exportAs: ["smart-toast"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
442
+ ToastComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.6", type: ToastComponent, selector: "smart-toast, [smart-toast]", inputs: { animation: "animation", appendTo: "appendTo", autoClose: "autoClose", autoCloseDelay: "autoCloseDelay", autoOpen: "autoOpen", disabled: "disabled", iconClass: "iconClass", itemClass: "itemClass", itemTemplate: "itemTemplate", unlockKey: "unlockKey", locale: "locale", localizeFormatFunction: "localizeFormatFunction", messages: "messages", modal: "modal", position: "position", readonly: "readonly", rightToLeft: "rightToLeft", showCloseButton: "showCloseButton", theme: "theme", type: "type", unfocusable: "unfocusable", value: "value" }, outputs: { onItemClick: "onItemClick", onClose: "onClose", onOpen: "onOpen", onSwipebottom: "onSwipebottom", onSwipeleft: "onSwipeleft", onSwiperight: "onSwiperight", onSwipetop: "onSwipetop" }, exportAs: ["smart-toast"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
416
443
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: ToastComponent, decorators: [{
417
444
  type: Directive,
418
445
  args: [{
@@ -436,6 +463,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImpor
436
463
  type: Input
437
464
  }], itemTemplate: [{
438
465
  type: Input
466
+ }], unlockKey: [{
467
+ type: Input
439
468
  }], locale: [{
440
469
  type: Input
441
470
  }], localizeFormatFunction: [{
@@ -1 +1 @@
1
- {"version":3,"file":"smart-webcomponents-angular-toast.mjs","sources":["../../toast/src/smart.element.ts","../../toast/src/smart.toast.ts","../../toast/src/smart.toast.module.ts","../../toast/src/smart-webcomponents-angular-toast.ts"],"sourcesContent":["\ndeclare global {\n interface Window {\n Smart: any;\n}\n}\n\n\nimport { Directive, ElementRef, Input, Output, EventEmitter } from '@angular/core';\nimport { ElementRenderMode } from './../index';\n\n@Directive()\nexport class BaseElement {\n constructor(ref: ElementRef) {\n const that = this;\n this.nativeElement = ref.nativeElement as any;\n\n that.nativeElement.onAttached = () => {\n that.onAttach.emit(that.nativeElement);\n }\n\n that.nativeElement.onDetached = () => {\n that.onDetach.emit(that.nativeElement);\n }\n }\n\n @Output() onCreate: EventEmitter<any> = new EventEmitter();\n @Output() onReady: EventEmitter<any> = new EventEmitter();\n @Output() onAttach: EventEmitter<any> = new EventEmitter();\n @Output() onDetach: EventEmitter<any> = new EventEmitter();\n\n public nativeElement: any;\n\n public addEventListener(type: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions = false): void {\n this.nativeElement.addEventListener(type, listener, options);\n\t}\n\n\tpublic removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions = false): void {\n\t\tthis.nativeElement.removeEventListener(type, listener, options);\n\t}\n\n\tpublic dispatchEvent(event: Event): boolean {\n\t\treturn this.nativeElement.dispatchEvent(event);\n\t}\n\n\tpublic blur(): void {\n\t\tthis.nativeElement.blur();\n\t}\n\n\tpublic click(): void {\n\t\tthis.nativeElement.click();\n\t}\n\n\tpublic focus(options?: FocusOptions): void {\n\t\tthis.nativeElement.focus(options);\n\t}\n\n/** @description Sets or gets the language. Used in conjunction with the property messages. */\n\t@Input()\n\tget locale(): string {\n\t\treturn this.nativeElement ? this.nativeElement.locale : undefined;\n\t}\n\tset locale(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.locale = value : undefined;\n\t}\n\n\t/** @description Callback used to customize the format of the messages that are returned from the Localization Module. */\n\t@Input()\n\tget localizeFormatFunction(): any {\n\t\treturn this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;\n\t}\n\tset localizeFormatFunction(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.localizeFormatFunction = value : undefined;\n\t}\n\n\t/** @description Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale. */\n\t@Input()\n\tget messages(): any {\n\t\treturn this.nativeElement ? this.nativeElement.messages : undefined;\n\t}\n\tset messages(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.messages = value : undefined;\n\t}\n\n\t/** @description Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. */\n\t@Input()\n\tget rightToLeft(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.rightToLeft : undefined;\n\t}\n\tset rightToLeft(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.rightToLeft = value : undefined;\n\t}\n\n\t/** @description Determines the theme. Theme defines the look of the element */\n\t@Input()\n\tget theme(): string {\n\t\treturn this.nativeElement ? this.nativeElement.theme : undefined;\n\t}\n\tset theme(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.theme = value : undefined;\n\t}\n}\n\nexport const Smart: any = window.Smart;\n\n","import { Toast } from './../index';\nimport { Animation, ToastPosition, ToastType, ElementRenderMode} from './../index';\nimport { Component, Directive, AfterViewInit, ElementRef, Input, OnInit, OnChanges, OnDestroy, SimpleChanges, Output, EventEmitter } from '@angular/core';\nimport { BaseElement, Smart } from './smart.element';\nexport { Animation, ToastPosition, ToastType, ElementRenderMode} from './../index';\nexport { Smart } from './smart.element';\nexport { Toast } from './../index';\n\n\n@Directive({\n\texportAs: 'smart-toast',\tselector: 'smart-toast, [smart-toast]'\n})\n\nexport class ToastComponent extends BaseElement implements OnInit, AfterViewInit, OnDestroy, OnChanges {\n\tconstructor(ref: ElementRef<Toast>) {\n\t\tsuper(ref);\n\t\tthis.nativeElement = ref.nativeElement as Toast;\n\t}\n\n\tprivate eventHandlers: any[] = [];\n\n\tpublic declare nativeElement: Toast;\n\t/** @description Creates the component on demand.\n\t * @param properties An optional object of properties, which will be added to the template binded ones.\n\t */\n\tpublic createComponent(properties = {}): any {\n \tthis.nativeElement = <Toast>document.createElement('smart-toast');\n\t\tfor (let propertyName in properties) { \n \t\t\tthis.nativeElement[propertyName] = properties[propertyName];\n\t\t}\n\t\treturn this.nativeElement;\n\t}\n\t/** @description Sets or gets the animation mode. Animation is disabled when the property is set to 'none' */\n\t@Input()\n\tget animation(): Animation | string {\n\t\treturn this.nativeElement ? this.nativeElement.animation : undefined;\n\t}\n\tset animation(value: Animation | string) {\n\t\tthis.nativeElement ? this.nativeElement.animation = value : undefined;\n\t}\n\n\t/** @description Specifies the container where new openned toast items will be displayed. The value can be an HTMLElement or element's id. This property is in relation with modal(lower priority than modal) and position(higher priority than position) properties. */\n\t@Input()\n\tget appendTo(): string {\n\t\treturn this.nativeElement ? this.nativeElement.appendTo : undefined;\n\t}\n\tset appendTo(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.appendTo = value : undefined;\n\t}\n\n\t/** @description Sets or gets whether the toast will automatically close after duration equal to the autoCloseDelay property. */\n\t@Input()\n\tget autoClose(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.autoClose : undefined;\n\t}\n\tset autoClose(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.autoClose = value : undefined;\n\t}\n\n\t/** @description Sets or gets the duration after which the toast automatically closes (works only if the autoClose property is set to true). */\n\t@Input()\n\tget autoCloseDelay(): number {\n\t\treturn this.nativeElement ? this.nativeElement.autoCloseDelay : undefined;\n\t}\n\tset autoCloseDelay(value: number) {\n\t\tthis.nativeElement ? this.nativeElement.autoCloseDelay = value : undefined;\n\t}\n\n\t/** @description Sets whether the toast will open automatically immediately after widget's initialization. */\n\t@Input()\n\tget autoOpen(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.autoOpen : undefined;\n\t}\n\tset autoOpen(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.autoOpen = value : undefined;\n\t}\n\n\t/** @description The user will not be able to interact with toast items when disabled is set to true. */\n\t@Input()\n\tget disabled(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.disabled : undefined;\n\t}\n\tset disabled(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.disabled = value : undefined;\n\t}\n\n\t/** @description Sets custom icon className which overrides the default one. Multiple class names can be applied by separating them with a space. Useful when loading from a third-party icon library (such as Bootstrap). */\n\t@Input()\n\tget iconClass(): string {\n\t\treturn this.nativeElement ? this.nativeElement.iconClass : undefined;\n\t}\n\tset iconClass(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.iconClass = value : undefined;\n\t}\n\n\t/** @description Adds a custom class to Toast items. Multiple class names can be applied by separating them with a space. Useful when styling by using predefined class names from a third-party CSS library (such as Bootstrap). */\n\t@Input()\n\tget itemClass(): string {\n\t\treturn this.nativeElement ? this.nativeElement.itemClass : undefined;\n\t}\n\tset itemClass(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.itemClass = value : undefined;\n\t}\n\n\t/** @description Sets custom item template. */\n\t@Input()\n\tget itemTemplate(): string {\n\t\treturn this.nativeElement ? this.nativeElement.itemTemplate : undefined;\n\t}\n\tset itemTemplate(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.itemTemplate = value : undefined;\n\t}\n\n\t/** @description Sets or gets the language. Used in conjunction with the property messages. */\n\t@Input()\n\tget locale(): string {\n\t\treturn this.nativeElement ? this.nativeElement.locale : undefined;\n\t}\n\tset locale(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.locale = value : undefined;\n\t}\n\n\t/** @description Callback, related to localization module. */\n\t@Input()\n\tget localizeFormatFunction(): any {\n\t\treturn this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;\n\t}\n\tset localizeFormatFunction(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.localizeFormatFunction = value : undefined;\n\t}\n\n\t/** @description Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale. */\n\t@Input()\n\tget messages(): any {\n\t\treturn this.nativeElement ? this.nativeElement.messages : undefined;\n\t}\n\tset messages(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.messages = value : undefined;\n\t}\n\n\t/** @description In modal mode the toast item is positioned in the center of the screen. This property is with higher priority than position and appendTo. If modal is set to true these properties are disregarded. */\n\t@Input()\n\tget modal(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.modal : undefined;\n\t}\n\tset modal(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.modal = value : undefined;\n\t}\n\n\t/** @description Sets the part of the browser window where the toast will be positioned. The position property is disregarded if appendTo or modal are set. */\n\t@Input()\n\tget position(): ToastPosition | string {\n\t\treturn this.nativeElement ? this.nativeElement.position : undefined;\n\t}\n\tset position(value: ToastPosition | string) {\n\t\tthis.nativeElement ? this.nativeElement.position = value : undefined;\n\t}\n\n\t/** @description If the element is readonly, users cannot interact with it. */\n\t@Input()\n\tget readonly(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.readonly : undefined;\n\t}\n\tset readonly(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.readonly = value : undefined;\n\t}\n\n\t/** @description Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. */\n\t@Input()\n\tget rightToLeft(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.rightToLeft : undefined;\n\t}\n\tset rightToLeft(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.rightToLeft = value : undefined;\n\t}\n\n\t/** @description Sets or gets whether to show the toast item's close button. */\n\t@Input()\n\tget showCloseButton(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.showCloseButton : undefined;\n\t}\n\tset showCloseButton(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.showCloseButton = value : undefined;\n\t}\n\n\t/** @description Determines the theme. Theme defines the look of the element */\n\t@Input()\n\tget theme(): string {\n\t\treturn this.nativeElement ? this.nativeElement.theme : undefined;\n\t}\n\tset theme(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.theme = value : undefined;\n\t}\n\n\t/** @description Sets speciffic CSS settings and icon to the toast items. */\n\t@Input()\n\tget type(): ToastType | null | string {\n\t\treturn this.nativeElement ? this.nativeElement.type : undefined;\n\t}\n\tset type(value: ToastType | null | string) {\n\t\tthis.nativeElement ? this.nativeElement.type = value : undefined;\n\t}\n\n\t/** @description If is set to true, the element cannot be focused. */\n\t@Input()\n\tget unfocusable(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.unfocusable : undefined;\n\t}\n\tset unfocusable(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.unfocusable = value : undefined;\n\t}\n\n\t/** @description Sets a text value to an toast item. */\n\t@Input()\n\tget value(): any {\n\t\treturn this.nativeElement ? this.nativeElement.value : undefined;\n\t}\n\tset value(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.value = value : undefined;\n\t}\n\n\t/** @description This event is triggered when the toast item is clicked.\n\t* @param event. The custom event. \t*/\n\t@Output() onItemClick: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered when the toast item is closed.\n\t* @param event. The custom event. \t*/\n\t@Output() onClose: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered when the toast item is opened.\n\t* @param event. The custom event. \t*/\n\t@Output() onOpen: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered on swipebottom over an toast item.\n\t* @param event. The custom event. \t*/\n\t@Output() onSwipebottom: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered on swipeleft over an toast item.\n\t* @param event. The custom event. \t*/\n\t@Output() onSwipeleft: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered on swiperight over an toast item.\n\t* @param event. The custom event. \t*/\n\t@Output() onSwiperight: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered on swipetop over an toast item.\n\t* @param event. The custom event. \t*/\n\t@Output() onSwipetop: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description Closes all opened toast items. \n\t*/\n public closeAll(): void {\n if (this.nativeElement.isRendered) {\n this.nativeElement.closeAll();\n }\n else\n {\n this.nativeElement.whenRendered(() => {\n this.nativeElement.closeAll();\n });\n }\n }\n\n\t/** @description Closes particular toast item. \n\t* @param {HTMLElement | string} item. The toast item (or its id) to remove.\n\t*/\n public closeItem(item: HTMLElement | string): void {\n if (this.nativeElement.isRendered) {\n this.nativeElement.closeItem(item);\n }\n else\n {\n this.nativeElement.whenRendered(() => {\n this.nativeElement.closeItem(item);\n });\n }\n }\n\n\t/** @description Closes the last opened toast item. \n\t*/\n public closeLast(): void {\n if (this.nativeElement.isRendered) {\n this.nativeElement.closeLast();\n }\n else\n {\n this.nativeElement.whenRendered(() => {\n this.nativeElement.closeLast();\n });\n }\n }\n\n\t/** @description Opens a new toast item and returns the opened smart-toast-item instance. \n\t* @param {HTMLElement | string} value?. The value for the toast item. If not set, the value property will be used.\n\t* @param {string} iconType?. The icon name for the toast item. If not set, the type property determines the icon type that will be used.\n\t* @returns {HTMLElement}\n */\n\tpublic async open(value?, iconType?): Promise<any> {\n\t\tconst getResultOnRender = () => {\n return new Promise(resolve => {\n this.nativeElement.whenRendered(() => {\n const result = this.nativeElement.open(value, iconType);\n resolve(result)\n });\n });\n };\n const result = await getResultOnRender();\n\n return result;\n }\n\n\n\tget isRendered(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.isRendered : false;\n\t}\n\n\tngOnInit() {\n\t}\n\n ngAfterViewInit() {\n const that = this;\n\n that.onCreate.emit(that.nativeElement);\n\n\t\tSmart.Render();\n\n\t\tthis.nativeElement.classList.add('smart-angular');\n\n\t\tthis.nativeElement.whenRendered(() => { that.onReady.emit(that.nativeElement); });\n\t\tthis.listen();\n\t}\n\n\tngOnDestroy() {\n\t\tthis.unlisten();\n\t}\n\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (this.nativeElement && this.nativeElement.isRendered) {\n\t\t\tfor (const propName in changes) {\n\t\t\t\tif (changes.hasOwnProperty(propName)) {\n\t\t\t\t\tthis.nativeElement[propName] = changes[propName].currentValue;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/** @description Add event listeners. */\n\tprivate listen(): void {\n const that = this;\n\t\tthat.eventHandlers['itemClickHandler'] = (event: CustomEvent) => { that.onItemClick.emit(event); }\n\t\tthat.nativeElement.addEventListener('itemClick', that.eventHandlers['itemClickHandler']);\n\n\t\tthat.eventHandlers['closeHandler'] = (event: CustomEvent) => { that.onClose.emit(event); }\n\t\tthat.nativeElement.addEventListener('close', that.eventHandlers['closeHandler']);\n\n\t\tthat.eventHandlers['openHandler'] = (event: CustomEvent) => { that.onOpen.emit(event); }\n\t\tthat.nativeElement.addEventListener('open', that.eventHandlers['openHandler']);\n\n\t\tthat.eventHandlers['swipebottomHandler'] = (event: CustomEvent) => { that.onSwipebottom.emit(event); }\n\t\tthat.nativeElement.addEventListener('swipebottom', that.eventHandlers['swipebottomHandler']);\n\n\t\tthat.eventHandlers['swipeleftHandler'] = (event: CustomEvent) => { that.onSwipeleft.emit(event); }\n\t\tthat.nativeElement.addEventListener('swipeleft', that.eventHandlers['swipeleftHandler']);\n\n\t\tthat.eventHandlers['swiperightHandler'] = (event: CustomEvent) => { that.onSwiperight.emit(event); }\n\t\tthat.nativeElement.addEventListener('swiperight', that.eventHandlers['swiperightHandler']);\n\n\t\tthat.eventHandlers['swipetopHandler'] = (event: CustomEvent) => { that.onSwipetop.emit(event); }\n\t\tthat.nativeElement.addEventListener('swipetop', that.eventHandlers['swipetopHandler']);\n\n\t}\n\n\t/** @description Remove event listeners. */\n\tprivate unlisten(): void {\n const that = this;\n\t\tif (that.eventHandlers['itemClickHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('itemClick', that.eventHandlers['itemClickHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['closeHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('close', that.eventHandlers['closeHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['openHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('open', that.eventHandlers['openHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['swipebottomHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('swipebottom', that.eventHandlers['swipebottomHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['swipeleftHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('swipeleft', that.eventHandlers['swipeleftHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['swiperightHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('swiperight', that.eventHandlers['swiperightHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['swipetopHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('swipetop', that.eventHandlers['swipetopHandler']);\n\t\t}\n\n\t}\n}\n","import { NgModule } from '@angular/core';\n\nimport { ToastComponent } from './smart.toast';\nimport { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\n\n@NgModule({\n declarations: [ToastComponent],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n\texports: [ToastComponent]\n})\n\nexport class ToastModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAYa,WAAW;IACpB,YAAY,GAAe;QAajB,aAAQ,GAAsB,IAAI,YAAY,EAAE,CAAC;QACjD,YAAO,GAAsB,IAAI,YAAY,EAAE,CAAC;QAChD,aAAQ,GAAsB,IAAI,YAAY,EAAE,CAAC;QACjD,aAAQ,GAAsB,IAAI,YAAY,EAAE,CAAC;QAfvD,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,aAAoB,CAAC;QAE9C,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC1C,CAAA;QAED,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC1C,CAAA;KACJ;IASM,gBAAgB,CAAC,IAAY,EAAE,QAA4C,EAAE,UAA6C,KAAK;QAClI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KACnE;IAEM,mBAAmB,CAAC,IAAY,EAAE,QAA4C,EAAE,UAA6C,KAAK;QACxI,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KAChE;IAEM,aAAa,CAAC,KAAY;QAChC,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC/C;IAEM,IAAI;QACV,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KAC1B;IAEM,KAAK;QACX,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KAC3B;IAEM,KAAK,CAAC,OAAsB;QAClC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KAClC;;IAGD,IACI,MAAM;QACT,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC;KAClE;IACD,IAAI,MAAM,CAAC,KAAa;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;KACnE;;IAGD,IACI,sBAAsB;QACzB,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,sBAAsB,GAAG,SAAS,CAAC;KAClF;IACD,IAAI,sBAAsB,CAAC,KAAU;QACpC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,sBAAsB,GAAG,KAAK,GAAG,SAAS,CAAC;KACnF;;IAGD,IACI,QAAQ;QACX,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,SAAS,CAAC;KACpE;IACD,IAAI,QAAQ,CAAC,KAAU;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;KACrE;;IAGD,IACI,WAAW;QACd,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,SAAS,CAAC;KACvE;IACD,IAAI,WAAW,CAAC,KAAc;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,KAAK,GAAG,SAAS,CAAC;KACxE;;IAGD,IACI,KAAK;QACR,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC;KACjE;IACD,IAAI,KAAK,CAAC,KAAa;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;KAClE;;wGAxFW,WAAW;4FAAX,WAAW;2FAAX,WAAW;kBADvB,SAAS;iGAeI,QAAQ;sBAAjB,MAAM;gBACG,OAAO;sBAAhB,MAAM;gBACG,QAAQ;sBAAjB,MAAM;gBACG,QAAQ;sBAAjB,MAAM;gBA8BN,MAAM;sBADT,KAAK;gBAUF,sBAAsB;sBADzB,KAAK;gBAUF,QAAQ;sBADX,KAAK;gBAUF,WAAW;sBADd,KAAK;gBAUF,KAAK;sBADR,KAAK;;MASM,KAAK,GAAQ,MAAM,CAAC;;MC1FpB,cAAe,SAAQ,WAAW;IAC9C,YAAY,GAAsB;QACjC,KAAK,CAAC,GAAG,CAAC,CAAC;QAIJ,kBAAa,GAAU,EAAE,CAAC;;;QA4MxB,gBAAW,GAA8B,IAAI,YAAY,EAAE,CAAC;;;QAI5D,YAAO,GAA8B,IAAI,YAAY,EAAE,CAAC;;;QAIxD,WAAM,GAA8B,IAAI,YAAY,EAAE,CAAC;;;QAIvD,kBAAa,GAA8B,IAAI,YAAY,EAAE,CAAC;;;QAI9D,gBAAW,GAA8B,IAAI,YAAY,EAAE,CAAC;;;QAI5D,iBAAY,GAA8B,IAAI,YAAY,EAAE,CAAC;;;QAI7D,eAAU,GAA8B,IAAI,YAAY,EAAE,CAAC;QAvOpE,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,aAAsB,CAAC;KAChD;;;;IAQM,eAAe,CAAC,UAAU,GAAG,EAAE;QAClC,IAAI,CAAC,aAAa,GAAU,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACrE,KAAK,IAAI,YAAY,IAAI,UAAU,EAAE;YACnC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;SAC7D;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;KAC1B;;IAED,IACI,SAAS;QACZ,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;KACrE;IACD,IAAI,SAAS,CAAC,KAAyB;QACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;KACtE;;IAGD,IACI,QAAQ;QACX,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,SAAS,CAAC;KACpE;IACD,IAAI,QAAQ,CAAC,KAAa;QACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;KACrE;;IAGD,IACI,SAAS;QACZ,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;KACrE;IACD,IAAI,SAAS,CAAC,KAAc;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;KACtE;;IAGD,IACI,cAAc;QACjB,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,SAAS,CAAC;KAC1E;IACD,IAAI,cAAc,CAAC,KAAa;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,KAAK,GAAG,SAAS,CAAC;KAC3E;;IAGD,IACI,QAAQ;QACX,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,SAAS,CAAC;KACpE;IACD,IAAI,QAAQ,CAAC,KAAc;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;KACrE;;IAGD,IACI,QAAQ;QACX,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,SAAS,CAAC;KACpE;IACD,IAAI,QAAQ,CAAC,KAAc;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;KACrE;;IAGD,IACI,SAAS;QACZ,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;KACrE;IACD,IAAI,SAAS,CAAC,KAAa;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;KACtE;;IAGD,IACI,SAAS;QACZ,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;KACrE;IACD,IAAI,SAAS,CAAC,KAAa;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;KACtE;;IAGD,IACI,YAAY;QACf,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,SAAS,CAAC;KACxE;IACD,IAAI,YAAY,CAAC,KAAa;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,KAAK,GAAG,SAAS,CAAC;KACzE;;IAGD,IACI,MAAM;QACT,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC;KAClE;IACD,IAAI,MAAM,CAAC,KAAa;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;KACnE;;IAGD,IACI,sBAAsB;QACzB,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,sBAAsB,GAAG,SAAS,CAAC;KAClF;IACD,IAAI,sBAAsB,CAAC,KAAU;QACpC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,sBAAsB,GAAG,KAAK,GAAG,SAAS,CAAC;KACnF;;IAGD,IACI,QAAQ;QACX,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,SAAS,CAAC;KACpE;IACD,IAAI,QAAQ,CAAC,KAAU;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;KACrE;;IAGD,IACI,KAAK;QACR,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC;KACjE;IACD,IAAI,KAAK,CAAC,KAAc;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;KAClE;;IAGD,IACI,QAAQ;QACX,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,SAAS,CAAC;KACpE;IACD,IAAI,QAAQ,CAAC,KAA6B;QACzC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;KACrE;;IAGD,IACI,QAAQ;QACX,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,SAAS,CAAC;KACpE;IACD,IAAI,QAAQ,CAAC,KAAc;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;KACrE;;IAGD,IACI,WAAW;QACd,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,SAAS,CAAC;KACvE;IACD,IAAI,WAAW,CAAC,KAAc;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,KAAK,GAAG,SAAS,CAAC;KACxE;;IAGD,IACI,eAAe;QAClB,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,SAAS,CAAC;KAC3E;IACD,IAAI,eAAe,CAAC,KAAc;QACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,KAAK,GAAG,SAAS,CAAC;KAC5E;;IAGD,IACI,KAAK;QACR,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC;KACjE;IACD,IAAI,KAAK,CAAC,KAAa;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;KAClE;;IAGD,IACI,IAAI;QACP,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,SAAS,CAAC;KAChE;IACD,IAAI,IAAI,CAAC,KAAgC;QACxC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC;KACjE;;IAGD,IACI,WAAW;QACd,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,SAAS,CAAC;KACvE;IACD,IAAI,WAAW,CAAC,KAAc;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,KAAK,GAAG,SAAS,CAAC;KACxE;;IAGD,IACI,KAAK;QACR,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC;KACjE;IACD,IAAI,KAAK,CAAC,KAAU;QACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;KAClE;;;IAgCS,QAAQ;QACX,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;YAC/B,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;SACjC;aAED;YACI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;gBAC5B,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;aACjC,CAAC,CAAC;SACN;KACJ;;;;IAKM,SAAS,CAAC,IAA0B;QACvC,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;YAC/B,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACtC;aAED;YACI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;gBAC5B,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aACtC,CAAC,CAAC;SACN;KACJ;;;IAIM,SAAS;QACZ,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;YAC/B,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;SAClC;aAED;YACI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;gBAC5B,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;aAClC,CAAC,CAAC;SACN;KACJ;;;;;;IAOG,MAAM,IAAI,CAAC,KAAM,EAAE,QAAS;QAClC,MAAM,iBAAiB,GAAG;YAChB,OAAO,IAAI,OAAO,CAAC,OAAO;gBACtB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;oBAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;oBACxD,OAAO,CAAC,MAAM,CAAC,CAAA;iBAClB,CAAC,CAAC;aACN,CAAC,CAAC;SACN,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAEzC,OAAO,MAAM,CAAC;KACjB;IAGJ,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,KAAK,CAAC;KAClE;IAED,QAAQ;KACP;IAEE,eAAe;QACb,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3C,KAAK,CAAC,MAAM,EAAE,CAAC;QAEf,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAElD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,MAAM,EAAE,CAAC;KACd;IAED,WAAW;QACV,IAAI,CAAC,QAAQ,EAAE,CAAC;KAChB;IAED,WAAW,CAAC,OAAsB;QACjC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;YACxD,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE;gBAC/B,IAAI,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;oBACrC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC;iBAC9D;aACD;SACD;KACD;;IAGO,MAAM;QACP,MAAM,IAAI,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAkB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAA;QAClG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAEzF,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,KAAkB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAA;QAC1F,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;QAEjF,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,KAAkB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAA;QACxF,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;QAE/E,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAkB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAA;QACtG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAE7F,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAkB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAA;QAClG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAEzF,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAkB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAA;QACpG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAE3F,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAkB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAA;QAChG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC;KAEvF;;IAGO,QAAQ;QACT,MAAM,IAAI,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE;YAC3C,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC;SAC5F;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE;YACvC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;SACpF;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE;YACtC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;SAClF;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE;YAC7C,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC;SAChG;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE;YAC3C,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC;SAC5F;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE;YAC5C,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC;SAC9F;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE;YAC1C,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC;SAC1F;KAED;;2GAtYW,cAAc;+FAAd,cAAc;2FAAd,cAAc;kBAJ1B,SAAS;mBAAC;oBACV,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,4BAA4B;iBAC/D;iGAuBI,SAAS;sBADZ,KAAK;gBAUF,QAAQ;sBADX,KAAK;gBAUF,SAAS;sBADZ,KAAK;gBAUF,cAAc;sBADjB,KAAK;gBAUF,QAAQ;sBADX,KAAK;gBAUF,QAAQ;sBADX,KAAK;gBAUF,SAAS;sBADZ,KAAK;gBAUF,SAAS;sBADZ,KAAK;gBAUF,YAAY;sBADf,KAAK;gBAUF,MAAM;sBADT,KAAK;gBAUF,sBAAsB;sBADzB,KAAK;gBAUF,QAAQ;sBADX,KAAK;gBAUF,KAAK;sBADR,KAAK;gBAUF,QAAQ;sBADX,KAAK;gBAUF,QAAQ;sBADX,KAAK;gBAUF,WAAW;sBADd,KAAK;gBAUF,eAAe;sBADlB,KAAK;gBAUF,KAAK;sBADR,KAAK;gBAUF,IAAI;sBADP,KAAK;gBAUF,WAAW;sBADd,KAAK;gBAUF,KAAK;sBADR,KAAK;gBAUI,WAAW;sBAApB,MAAM;gBAIG,OAAO;sBAAhB,MAAM;gBAIG,MAAM;sBAAf,MAAM;gBAIG,aAAa;sBAAtB,MAAM;gBAIG,WAAW;sBAApB,MAAM;gBAIG,YAAY;sBAArB,MAAM;gBAIG,UAAU;sBAAnB,MAAM;;;MC5OK,WAAW;;wGAAX,WAAW;yGAAX,WAAW,iBALL,cAAc,aAEtB,cAAc;yGAGZ,WAAW;2FAAX,WAAW;kBANvB,QAAQ;mBAAC;oBACN,YAAY,EAAE,CAAC,cAAc,CAAC;oBACjC,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,OAAO,EAAE,CAAC,cAAc,CAAC;iBACzB;;;ACTD;;;;;;"}
1
+ {"version":3,"file":"smart-webcomponents-angular-toast.mjs","sources":["../../toast/src/smart.element.ts","../../toast/src/smart.toast.ts","../../toast/src/smart.toast.module.ts","../../toast/src/smart-webcomponents-angular-toast.ts"],"sourcesContent":["\ndeclare global {\n interface Window {\n Smart: any;\n}\n}\n\n\nimport { Directive, ElementRef, Input, Output, EventEmitter } from '@angular/core';\nimport { ElementRenderMode } from './../index';\n\n@Directive()\nexport class BaseElement {\n constructor(ref: ElementRef) {\n const that = this;\n this.nativeElement = ref.nativeElement as any;\n\n that.nativeElement.onAttached = () => {\n that.onAttach.emit(that.nativeElement);\n }\n\n that.nativeElement.onDetached = () => {\n that.onDetach.emit(that.nativeElement);\n }\n }\n\n @Output() onCreate: EventEmitter<any> = new EventEmitter();\n @Output() onReady: EventEmitter<any> = new EventEmitter();\n @Output() onAttach: EventEmitter<any> = new EventEmitter();\n @Output() onDetach: EventEmitter<any> = new EventEmitter();\n\n public nativeElement: any;\n\n public addEventListener(type: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions = false): void {\n this.nativeElement.addEventListener(type, listener, options);\n\t}\n\n\tpublic removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions = false): void {\n\t\tthis.nativeElement.removeEventListener(type, listener, options);\n\t}\n\n\tpublic dispatchEvent(event: Event): boolean {\n\t\treturn this.nativeElement.dispatchEvent(event);\n\t}\n\n\tpublic blur(): void {\n\t\tthis.nativeElement.blur();\n\t}\n\n\tpublic click(): void {\n\t\tthis.nativeElement.click();\n\t}\n\n\tpublic focus(options?: FocusOptions): void {\n\t\tthis.nativeElement.focus(options);\n\t}\n\n/** @description Sets or gets the license. */\n\t@Input()\n\tget license(): string {\n\t\treturn this.nativeElement ? this.nativeElement.license : undefined;\n\t}\n\tset license(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.license = value : undefined;\n\t}\n\t\n/** @description Sets or gets the language. Used in conjunction with the property messages. */\n\t@Input()\n\tget locale(): string {\n\t\treturn this.nativeElement ? this.nativeElement.locale : undefined;\n\t}\n\tset locale(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.locale = value : undefined;\n\t}\n\n\t/** @description Callback used to customize the format of the messages that are returned from the Localization Module. */\n\t@Input()\n\tget localizeFormatFunction(): any {\n\t\treturn this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;\n\t}\n\tset localizeFormatFunction(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.localizeFormatFunction = value : undefined;\n\t}\n\n\t/** @description Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale. */\n\t@Input()\n\tget messages(): any {\n\t\treturn this.nativeElement ? this.nativeElement.messages : undefined;\n\t}\n\tset messages(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.messages = value : undefined;\n\t}\n\n\t/** @description Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. */\n\t@Input()\n\tget rightToLeft(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.rightToLeft : undefined;\n\t}\n\tset rightToLeft(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.rightToLeft = value : undefined;\n\t}\n\n\t/** @description Determines the theme. Theme defines the look of the element */\n\t@Input()\n\tget theme(): string {\n\t\treturn this.nativeElement ? this.nativeElement.theme : undefined;\n\t}\n\tset theme(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.theme = value : undefined;\n\t}\n}\n\nlet Smart: any;\nif (typeof window !== \"undefined\") {\n\tSmart = window.Smart;\n}\nexport { Smart };\n\n","import { Toast } from './../index';\nimport { Animation, ToastPosition, ToastType, ElementRenderMode} from './../index';\nimport { Component, Directive, AfterViewInit, ElementRef, Input, OnInit, OnChanges, OnDestroy, SimpleChanges, Output, EventEmitter } from '@angular/core';\nimport { BaseElement, Smart } from './smart.element';\nexport { Animation, ToastPosition, ToastType, ElementRenderMode} from './../index';\nexport { Smart } from './smart.element';\nexport { Toast } from './../index';\n\n\n@Directive({\n\texportAs: 'smart-toast',\tselector: 'smart-toast, [smart-toast]'\n})\n\nexport class ToastComponent extends BaseElement implements OnInit, AfterViewInit, OnDestroy, OnChanges {\n\tconstructor(ref: ElementRef<Toast>) {\n\t\tsuper(ref);\n\t\tthis.nativeElement = ref.nativeElement as Toast;\n\t}\n\n\tprivate eventHandlers: any[] = [];\n\n\tpublic declare nativeElement: Toast;\n\t/** @description Creates the component on demand.\n\t * @param properties An optional object of properties, which will be added to the template binded ones.\n\t */\n\tpublic createComponent(properties = {}): any {\n \tthis.nativeElement = <Toast>document.createElement('smart-toast');\n\t\tfor (let propertyName in properties) { \n \t\t\tthis.nativeElement[propertyName] = properties[propertyName];\n\t\t}\n\t\treturn this.nativeElement;\n\t}\n\t/** @description Sets or retrieves the animation mode for the component. When this property is set to 'none', all animations are disabled. Otherwise, specifying a valid animation mode enables corresponding transition effects. */\n\t@Input()\n\tget animation(): Animation | string {\n\t\treturn this.nativeElement ? this.nativeElement.animation : undefined;\n\t}\n\tset animation(value: Animation | string) {\n\t\tthis.nativeElement ? this.nativeElement.animation = value : undefined;\n\t}\n\n\t/** @description Defines the container element in which new toast notifications will appear. The value can be either an HTMLElement directly, or a string representing the id of a DOM element. This property determines where toast items are rendered in the DOM.Note: When used together with the modal and position properties, container takes precedence over position but has lower priority than modal. This means that if modal is enabled, it overrides container; if not, the specified container is used instead of the position property. */\n\t@Input()\n\tget appendTo(): string {\n\t\treturn this.nativeElement ? this.nativeElement.appendTo : undefined;\n\t}\n\tset appendTo(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.appendTo = value : undefined;\n\t}\n\n\t/** @description Determines whether the toast notification will automatically close after the duration specified by the autoCloseDelay property. If enabled, the toast will dismiss itself once the set time has elapsed; otherwise, it will remain visible until manually closed by the user. */\n\t@Input()\n\tget autoClose(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.autoClose : undefined;\n\t}\n\tset autoClose(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.autoClose = value : undefined;\n\t}\n\n\t/** @description Specifies or retrieves the time interval (in milliseconds) after which the toast notification will automatically dismiss itself. This property is effective only when the autoClose property is set to true; otherwise, the toast will remain visible until manually closed. */\n\t@Input()\n\tget autoCloseDelay(): number {\n\t\treturn this.nativeElement ? this.nativeElement.autoCloseDelay : undefined;\n\t}\n\tset autoCloseDelay(value: number) {\n\t\tthis.nativeElement ? this.nativeElement.autoCloseDelay = value : undefined;\n\t}\n\n\t/** @description Determines whether the toast notification should automatically appear as soon as the widget is initialized, without requiring any user interaction or additional trigger. */\n\t@Input()\n\tget autoOpen(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.autoOpen : undefined;\n\t}\n\tset autoOpen(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.autoOpen = value : undefined;\n\t}\n\n\t/** @description When the disabled property is set to true, all user interactions with toast items—such as clicking, hovering, or dismissing—will be prevented. The toast items will appear inactive and will not respond to any user actions until disabled is set to false. */\n\t@Input()\n\tget disabled(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.disabled : undefined;\n\t}\n\tset disabled(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.disabled = value : undefined;\n\t}\n\n\t/** @description Specifies a custom CSS class name or multiple class names to override the default icon styling. To apply multiple classes, separate each class name with a space (e.g., \"fa fa-user\"). This property is particularly useful when integrating icons from third-party icon libraries like Bootstrap Icons, Font Awesome, or Material Icons, allowing you to fully control the icon's appearance by leveraging external style definitions. */\n\t@Input()\n\tget iconClass(): string {\n\t\treturn this.nativeElement ? this.nativeElement.iconClass : undefined;\n\t}\n\tset iconClass(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.iconClass = value : undefined;\n\t}\n\n\t/** @description Allows you to add one or more custom CSS classes to Toast items by specifying class names separated with spaces. This enables you to style individual Toasts using predefined classes from third-party CSS frameworks (such as Bootstrap), or your own custom styles, for greater flexibility and consistency in appearance. */\n\t@Input()\n\tget itemClass(): string {\n\t\treturn this.nativeElement ? this.nativeElement.itemClass : undefined;\n\t}\n\tset itemClass(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.itemClass = value : undefined;\n\t}\n\n\t/** @description Defines a custom template for rendering each item, allowing you to control the appearance and structure of items displayed in the list or component. This enables the use of personalized HTML, styling, and dynamic content for each item, rather than relying on the default rendering format. */\n\t@Input()\n\tget itemTemplate(): string {\n\t\treturn this.nativeElement ? this.nativeElement.itemTemplate : undefined;\n\t}\n\tset itemTemplate(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.itemTemplate = value : undefined;\n\t}\n\n\t/** @description Defines or retrieves the unlockKey, a unique value required to activate or gain access to the product’s features or content. */\n\t@Input()\n\tget unlockKey(): string {\n\t\treturn this.nativeElement ? this.nativeElement.unlockKey : undefined;\n\t}\n\tset unlockKey(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.unlockKey = value : undefined;\n\t}\n\n\t/** @description Specifies or retrieves the current language setting for localization purposes. This property determines which set of translations from the messages object is used, ensuring that the appropriate language-specific content is displayed or accessed. */\n\t@Input()\n\tget locale(): string {\n\t\treturn this.nativeElement ? this.nativeElement.locale : undefined;\n\t}\n\tset locale(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.locale = value : undefined;\n\t}\n\n\t/** @description Callback function used by the localization module to handle language-specific operations, such as loading translation files, switching languages, or updating localized content dynamically within the application. */\n\t@Input()\n\tget localizeFormatFunction(): any {\n\t\treturn this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;\n\t}\n\tset localizeFormatFunction(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.localizeFormatFunction = value : undefined;\n\t}\n\n\t/** @description Defines or retrieves an object containing customizable text strings used throughout the widget’s user interface, enabling localization and internationalization of displayed messages, labels, and prompts. Typically used alongside the locale property to support multiple languages and regional formats. This property allows developers to override default strings with translations or custom wording suitable for different locales. */\n\t@Input()\n\tget messages(): any {\n\t\treturn this.nativeElement ? this.nativeElement.messages : undefined;\n\t}\n\tset messages(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.messages = value : undefined;\n\t}\n\n\t/** @description When modal mode is enabled, the toast notification is displayed at the center of the screen, overlaying all other page content. The modal property takes precedence over both the position and appendTo properties. If modal is set to true, any values specified for position and appendTo will be ignored, and the toast will always appear centered in a modal overlay. */\n\t@Input()\n\tget modal(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.modal : undefined;\n\t}\n\tset modal(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.modal = value : undefined;\n\t}\n\n\t/** @description Specifies the area of the browser window where the toast notification will be displayed (for example, \"top-right\" or \"bottom-center\"). Note: This position setting is ignored if the appendTo property is defined or if modal mode is enabled, as these options control the toast’s placement instead. */\n\t@Input()\n\tget position(): ToastPosition | string {\n\t\treturn this.nativeElement ? this.nativeElement.position : undefined;\n\t}\n\tset position(value: ToastPosition | string) {\n\t\tthis.nativeElement ? this.nativeElement.position = value : undefined;\n\t}\n\n\t/** @description If the element has the \"readonly\" attribute, users cannot modify its value; the content is visible but cannot be changed or edited through user input. However, users may still be able to interact with the element in limited ways, such as copying its text, but any form of altering the value is disabled. */\n\t@Input()\n\tget readonly(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.readonly : undefined;\n\t}\n\tset readonly(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.readonly = value : undefined;\n\t}\n\n\t/** @description Defines or retrieves a value that specifies whether the element's alignment is adjusted to support right-to-left (RTL) languages, such as Arabic or Hebrew. When enabled, the element's layout and text direction are modified to accommodate locales that use RTL scripts. */\n\t@Input()\n\tget rightToLeft(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.rightToLeft : undefined;\n\t}\n\tset rightToLeft(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.rightToLeft = value : undefined;\n\t}\n\n\t/** @description Determines whether the close button is displayed on the toast notification. When set to true, the close button appears, allowing users to manually dismiss the toast. When set to false, the close button is hidden, and the toast can only be dismissed programmatically or by other means. This property can be used to retrieve the current visibility state or update it as needed. */\n\t@Input()\n\tget showCloseButton(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.showCloseButton : undefined;\n\t}\n\tset showCloseButton(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.showCloseButton = value : undefined;\n\t}\n\n\t/** @description Specifies the theme to be applied to the element. The selected theme controls the visual appearance of the element, including colors, fonts, and overall styling, ensuring a consistent look and feel throughout the user interface. */\n\t@Input()\n\tget theme(): string {\n\t\treturn this.nativeElement ? this.nativeElement.theme : undefined;\n\t}\n\tset theme(value: string) {\n\t\tthis.nativeElement ? this.nativeElement.theme = value : undefined;\n\t}\n\n\t/** @description Applies custom CSS styles and assigns a designated icon to each toast notification item for improved appearance and user experience. */\n\t@Input()\n\tget type(): ToastType | null | string {\n\t\treturn this.nativeElement ? this.nativeElement.type : undefined;\n\t}\n\tset type(value: ToastType | null | string) {\n\t\tthis.nativeElement ? this.nativeElement.type = value : undefined;\n\t}\n\n\t/** @description When set to true, this property prevents the element from receiving keyboard focus, making it inaccessible through keyboard navigation or programmatic focus methods (such as calling element.focus()). */\n\t@Input()\n\tget unfocusable(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.unfocusable : undefined;\n\t}\n\tset unfocusable(value: boolean) {\n\t\tthis.nativeElement ? this.nativeElement.unfocusable = value : undefined;\n\t}\n\n\t/** @description Assigns a specific text value to the toast notification, determining the message displayed to users within the toast item. */\n\t@Input()\n\tget value(): any {\n\t\treturn this.nativeElement ? this.nativeElement.value : undefined;\n\t}\n\tset value(value: any) {\n\t\tthis.nativeElement ? this.nativeElement.value = value : undefined;\n\t}\n\n\t/** @description This event is triggered when a user clicks on a toast notification. It allows you to execute custom logic in response to the user's interaction with the toast item, such as redirecting to a specific page, dismissing the notification, or performing other actions.\n\t* @param event. The custom event. \t*/\n\t@Output() onItemClick: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered whenever a toast notification is closed, either by user interaction (such as clicking the close button) or programmatically through code. It allows developers to execute custom logic or cleanup actions after the toast has been dismissed from the user interface.\n\t* @param event. The custom event. \t*/\n\t@Output() onClose: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered each time a toast notification becomes visible to the user, indicating that the toast item has been fully opened and is now displayed on the screen.\n\t* @param event. The custom event. \t*/\n\t@Output() onOpen: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered when a user performs a swipe-down gesture (swipe bottom) on a toast notification item. It can be used to detect and handle user interactions that involve dismissing or interacting with toast messages via a downward swipe.\n\t* @param event. The custom event. \t*/\n\t@Output() onSwipebottom: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered when a user performs a swipe left gesture on a toast notification item. It allows you to execute custom actions in response to the swipe left interaction with the toast component.\n\t* @param event. The custom event. \t*/\n\t@Output() onSwipeleft: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered when a user performs a swipe-right gesture on a toast notification item. It allows you to handle interactions that occur specifically when the user swipes right on a toast component.\n\t* @param event. The custom event. \t*/\n\t@Output() onSwiperight: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description This event is triggered when a user performs an upward swipe gesture (swipe top) on a toast notification item.\n\t* @param event. The custom event. \t*/\n\t@Output() onSwipetop: EventEmitter<CustomEvent> = new EventEmitter();\n\n\t/** @description Closes all currently displayed toast notifications, ensuring that any active toast messages are dismissed from the user interface. \n\t*/\n public closeAll(): void {\n if (this.nativeElement.isRendered) {\n this.nativeElement.closeAll();\n }\n else\n {\n this.nativeElement.whenRendered(() => {\n this.nativeElement.closeAll();\n });\n }\n }\n\n\t/** @description Closes a specific toast notification. This action targets and dismisses the designated toast message from the user interface, ensuring that only the selected toast item is removed without affecting others. \n\t* @param {HTMLElement | string} item. The toast item (or its id) to remove.\n\t*/\n public closeItem(item: HTMLElement | string): void {\n if (this.nativeElement.isRendered) {\n this.nativeElement.closeItem(item);\n }\n else\n {\n this.nativeElement.whenRendered(() => {\n this.nativeElement.closeItem(item);\n });\n }\n }\n\n\t/** @description Closes the most recently displayed toast notification, removing it from the user's view. \n\t*/\n public closeLast(): void {\n if (this.nativeElement.isRendered) {\n this.nativeElement.closeLast();\n }\n else\n {\n this.nativeElement.whenRendered(() => {\n this.nativeElement.closeLast();\n });\n }\n }\n\n\t/** @description Displays a new toast notification and returns the corresponding smart-toast-item instance representing the newly created toast. This allows further manipulation or customization of the toast after it appears. \n\t* @param {HTMLElement | string} value?. The value for the toast item. If not set, the value property will be used.\n\t* @param {string} iconType?. The icon name for the toast item. If not set, the type property determines the icon type that will be used.\n\t* @returns {HTMLElement}\n */\n\tpublic async open(value?, iconType?): Promise<any> {\n\t\tconst getResultOnRender = () => {\n return new Promise(resolve => {\n this.nativeElement.whenRendered(() => {\n const result = this.nativeElement.open(value, iconType);\n resolve(result)\n });\n });\n };\n const result = await getResultOnRender();\n\n return result;\n }\n\n\tpublic openSync(value?, iconType?): HTMLElement {\n if (this.nativeElement.isRendered) {\n \t return this.nativeElement.open(value, iconType);\n }\n return null;\n }\n\n\n\tget isRendered(): boolean {\n\t\treturn this.nativeElement ? this.nativeElement.isRendered : false;\n\t}\n\n\tngOnInit() {\n\t}\n\n ngAfterViewInit() {\n const that = this;\n\n that.onCreate.emit(that.nativeElement);\n\n\t\tif (Smart) Smart.Render();\n\n\t\tthis.nativeElement.classList.add('smart-angular');\n\n\t\tif (this.nativeElement.whenRendered) this.nativeElement.whenRendered(() => { that.onReady.emit(that.nativeElement); });\n\t\tthis.listen();\n\t}\n\n\tngOnDestroy() {\n\t\tthis.unlisten();\n\t}\n\n\tngOnChanges(changes: SimpleChanges) {\n\t\tif (this.nativeElement && this.nativeElement.isRendered) {\n\t\t\tfor (const propName in changes) {\n\t\t\t\tif (changes.hasOwnProperty(propName)) {\n\t\t\t\t\tthis.nativeElement[propName] = changes[propName].currentValue;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/** @description Add event listeners. */\n\tprivate listen(): void {\n const that = this;\n\t\tthat.eventHandlers['itemClickHandler'] = (event: CustomEvent) => { that.onItemClick.emit(event); }\n\t\tthat.nativeElement.addEventListener('itemClick', that.eventHandlers['itemClickHandler']);\n\n\t\tthat.eventHandlers['closeHandler'] = (event: CustomEvent) => { that.onClose.emit(event); }\n\t\tthat.nativeElement.addEventListener('close', that.eventHandlers['closeHandler']);\n\n\t\tthat.eventHandlers['openHandler'] = (event: CustomEvent) => { that.onOpen.emit(event); }\n\t\tthat.nativeElement.addEventListener('open', that.eventHandlers['openHandler']);\n\n\t\tthat.eventHandlers['swipebottomHandler'] = (event: CustomEvent) => { that.onSwipebottom.emit(event); }\n\t\tthat.nativeElement.addEventListener('swipebottom', that.eventHandlers['swipebottomHandler']);\n\n\t\tthat.eventHandlers['swipeleftHandler'] = (event: CustomEvent) => { that.onSwipeleft.emit(event); }\n\t\tthat.nativeElement.addEventListener('swipeleft', that.eventHandlers['swipeleftHandler']);\n\n\t\tthat.eventHandlers['swiperightHandler'] = (event: CustomEvent) => { that.onSwiperight.emit(event); }\n\t\tthat.nativeElement.addEventListener('swiperight', that.eventHandlers['swiperightHandler']);\n\n\t\tthat.eventHandlers['swipetopHandler'] = (event: CustomEvent) => { that.onSwipetop.emit(event); }\n\t\tthat.nativeElement.addEventListener('swipetop', that.eventHandlers['swipetopHandler']);\n\n\t}\n\n\t/** @description Remove event listeners. */\n\tprivate unlisten(): void {\n const that = this;\n\t\tif (that.eventHandlers['itemClickHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('itemClick', that.eventHandlers['itemClickHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['closeHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('close', that.eventHandlers['closeHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['openHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('open', that.eventHandlers['openHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['swipebottomHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('swipebottom', that.eventHandlers['swipebottomHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['swipeleftHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('swipeleft', that.eventHandlers['swipeleftHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['swiperightHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('swiperight', that.eventHandlers['swiperightHandler']);\n\t\t}\n\n\t\tif (that.eventHandlers['swipetopHandler']) {\n\t\t\tthat.nativeElement.removeEventListener('swipetop', that.eventHandlers['swipetopHandler']);\n\t\t}\n\n\t}\n}\n","import { NgModule } from '@angular/core';\n\nimport { ToastComponent } from './smart.toast';\nimport { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\n\n@NgModule({\n declarations: [ToastComponent],\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\n\texports: [ToastComponent]\n})\n\nexport class ToastModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}