@koobiq/components 18.10.0 → 18.12.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 (162) hide show
  1. package/autocomplete/autocomplete-trigger.directive.d.ts +0 -1
  2. package/autocomplete/autocomplete.scss +2 -10
  3. package/button/button-tokens.scss +1 -1
  4. package/code-block/_code-block-theme.scss +35 -54
  5. package/code-block/code-block-highlight.d.ts +44 -0
  6. package/code-block/code-block-tokens.scss +7 -11
  7. package/code-block/code-block.d.ts +187 -0
  8. package/code-block/code-block.module.d.ts +2 -8
  9. package/code-block/code-block.scss +103 -127
  10. package/code-block/public-api.d.ts +3 -2
  11. package/code-block/types.d.ts +27 -0
  12. package/core/common-behaviors/error-state.d.ts +3 -3
  13. package/core/error/error-state-matcher.d.ts +3 -0
  14. package/core/locales/index.d.ts +1 -0
  15. package/core/locales/types.d.ts +11 -0
  16. package/core/pop-up/constants.d.ts +9 -0
  17. package/core/select/constants.d.ts +16 -4
  18. package/core/styles/theming/_scrollbar-theme.scss +2 -1
  19. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +7 -8
  20. package/esm2022/autocomplete/autocomplete.component.mjs +2 -2
  21. package/esm2022/button/button.component.mjs +2 -2
  22. package/esm2022/code-block/code-block-highlight.mjs +416 -0
  23. package/esm2022/code-block/code-block.mjs +395 -0
  24. package/esm2022/code-block/code-block.module.mjs +9 -30
  25. package/esm2022/code-block/public-api.mjs +4 -3
  26. package/esm2022/code-block/types.mjs +2 -0
  27. package/esm2022/core/common-behaviors/error-state.mjs +1 -1
  28. package/esm2022/core/error/error-state-matcher.mjs +15 -2
  29. package/esm2022/core/locales/en-US.mjs +1 -1
  30. package/esm2022/core/locales/es-LA.mjs +1 -1
  31. package/esm2022/core/locales/fa-IR.mjs +1 -1
  32. package/esm2022/core/locales/index.mjs +2 -1
  33. package/esm2022/core/locales/pt-BR.mjs +1 -1
  34. package/esm2022/core/locales/ru-RU.mjs +1 -1
  35. package/esm2022/core/locales/types.mjs +2 -0
  36. package/esm2022/core/locales/zh-CN.mjs +1 -1
  37. package/esm2022/core/pop-up/constants.mjs +6 -1
  38. package/esm2022/core/select/constants.mjs +17 -5
  39. package/esm2022/core/version.mjs +2 -2
  40. package/esm2022/datepicker/calendar-header.component.mjs +1 -1
  41. package/esm2022/file-upload/file-upload.mjs +40 -2
  42. package/esm2022/file-upload/multiple-file-upload.component.mjs +43 -47
  43. package/esm2022/file-upload/single-file-upload.component.mjs +41 -45
  44. package/esm2022/form-field/form-field.mjs +6 -6
  45. package/esm2022/form-field/hint.mjs +2 -2
  46. package/esm2022/form-field/password-hint.mjs +2 -2
  47. package/esm2022/loader-overlay/loader-overlay.component.mjs +6 -4
  48. package/esm2022/modal/modal.component.mjs +5 -3
  49. package/esm2022/modal/modal.service.mjs +6 -3
  50. package/esm2022/modal/modal.type.mjs +1 -1
  51. package/esm2022/modal/public-api.mjs +5 -5
  52. package/esm2022/scrollbar/scrollbar.directive.mjs +6 -3
  53. package/esm2022/select/select.component.mjs +22 -12
  54. package/esm2022/sidepanel/sidepanel-config.mjs +1 -1
  55. package/esm2022/sidepanel/sidepanel-container.component.mjs +6 -3
  56. package/esm2022/timezone/timezone-select.component.mjs +3 -1
  57. package/esm2022/toast/toast-container.component.mjs +3 -3
  58. package/esm2022/toast/toast.component.mjs +18 -9
  59. package/esm2022/toast/toast.module.mjs +14 -50
  60. package/esm2022/toast/toast.service.mjs +5 -2
  61. package/esm2022/tooltip/tooltip.component.mjs +5 -2
  62. package/esm2022/tree-select/tree-select.component.mjs +15 -40
  63. package/fesm2022/koobiq-components-autocomplete.mjs +9 -10
  64. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  65. package/fesm2022/koobiq-components-button.mjs +2 -2
  66. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  67. package/fesm2022/koobiq-components-code-block.mjs +378 -341
  68. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  69. package/fesm2022/koobiq-components-core.mjs +36 -7
  70. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  71. package/fesm2022/koobiq-components-datepicker.mjs +1 -1
  72. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  73. package/fesm2022/koobiq-components-file-upload.mjs +107 -76
  74. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  75. package/fesm2022/koobiq-components-form-field.mjs +9 -9
  76. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  77. package/fesm2022/koobiq-components-loader-overlay.mjs +5 -3
  78. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  79. package/fesm2022/koobiq-components-modal.mjs +10 -5
  80. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  81. package/fesm2022/koobiq-components-scrollbar.mjs +5 -2
  82. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  83. package/fesm2022/koobiq-components-select.mjs +21 -11
  84. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  85. package/fesm2022/koobiq-components-sidepanel.mjs +5 -2
  86. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  87. package/fesm2022/koobiq-components-timezone.mjs +2 -0
  88. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  89. package/fesm2022/koobiq-components-toast.mjs +138 -161
  90. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  91. package/fesm2022/koobiq-components-tooltip.mjs +4 -1
  92. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  93. package/fesm2022/koobiq-components-tree-select.mjs +14 -39
  94. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  95. package/file-upload/_file-upload-theme.scss +16 -2
  96. package/file-upload/file-upload.d.ts +29 -2
  97. package/file-upload/multiple-file-upload.component.d.ts +18 -18
  98. package/file-upload/single-file-upload.component.d.ts +17 -16
  99. package/form-field/_hint-theme.scss +1 -1
  100. package/form-field/form-field.d.ts +1 -1
  101. package/form-field/form-field.scss +0 -1
  102. package/loader-overlay/loader-overlay.component.d.ts +1 -0
  103. package/modal/modal.component.d.ts +4 -0
  104. package/modal/modal.service.d.ts +4 -0
  105. package/modal/modal.type.d.ts +6 -1
  106. package/modal/public-api.d.ts +4 -4
  107. package/package.json +4 -4
  108. package/prebuilt-themes/dark-theme.css +1 -1
  109. package/prebuilt-themes/light-theme.css +1 -1
  110. package/prebuilt-themes/theme.css +1 -1
  111. package/schematics/ng-add/index.js +3 -4
  112. package/scrollbar/scrollbar.directive.d.ts +2 -1
  113. package/select/select.component.d.ts +15 -3
  114. package/sidepanel/sidepanel-config.d.ts +2 -0
  115. package/sidepanel/sidepanel-container.component.d.ts +1 -0
  116. package/timezone/timezone-select.component.d.ts +3 -1
  117. package/toast/toast-container.component.d.ts +1 -1
  118. package/toast/toast.component.d.ts +2 -2
  119. package/toast/toast.module.d.ts +1 -7
  120. package/toast/toast.service.d.ts +1 -1
  121. package/tooltip/tooltip.component.d.ts +2 -1
  122. package/tree-select/_tree-select-theme.scss +4 -0
  123. package/tree-select/tree-select.component.d.ts +1 -12
  124. package/accordion/README.md +0 -0
  125. package/alert/README.md +0 -0
  126. package/autocomplete/README.md +0 -0
  127. package/badge/README.md +0 -0
  128. package/button/README.md +0 -0
  129. package/button-toggle/README.md +0 -0
  130. package/checkbox/README.md +0 -1
  131. package/code-block/README.md +0 -36
  132. package/code-block/actionbar.component.d.ts +0 -32
  133. package/code-block/actionbar.component.scss +0 -43
  134. package/code-block/code-block-content.d.ts +0 -28
  135. package/code-block/code-block.component.d.ts +0 -98
  136. package/code-block/code-block.types.d.ts +0 -36
  137. package/datepicker/README.md +0 -0
  138. package/divider/README.md +0 -0
  139. package/dl/README.md +0 -0
  140. package/empty-state/README.md +0 -0
  141. package/esm2022/code-block/actionbar.component.mjs +0 -90
  142. package/esm2022/code-block/code-block-content.mjs +0 -393
  143. package/esm2022/code-block/code-block.component.mjs +0 -283
  144. package/esm2022/code-block/code-block.types.mjs +0 -5
  145. package/file-upload/README.md +0 -0
  146. package/form-field/README.md +0 -0
  147. package/icon/README.md +0 -0
  148. package/link/README.md +0 -0
  149. package/list/README.md +0 -0
  150. package/loader-overlay/README.md +0 -0
  151. package/modal/README.md +0 -35
  152. package/navbar/README.md +0 -42
  153. package/popover/README.md +0 -36
  154. package/progress-bar/README.md +0 -0
  155. package/progress-spinner/README.md +0 -0
  156. package/risk-level/README.md +0 -0
  157. package/table/README.md +0 -0
  158. package/tags/README.md +0 -0
  159. package/textarea/README.md +0 -0
  160. package/timepicker/README.md +0 -0
  161. package/timezone/README.md +0 -0
  162. package/tree-select/README.md +0 -0
@@ -1,22 +1,28 @@
1
1
  import * as i1 from '@angular/cdk/overlay';
2
- import { CdkScrollable, OverlayModule } from '@angular/cdk/overlay';
2
+ import { CdkScrollable } from '@angular/cdk/overlay';
3
3
  import * as i0 from '@angular/core';
4
- import { InjectionToken, Injectable, Inject, Optional, Injector, forwardRef, ViewContainerRef, Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Directive, TemplateRef, NgModule } from '@angular/core';
4
+ import { InjectionToken, Directive, TemplateRef, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, Injectable, Optional, Injector, ViewContainerRef, ViewChild, NgModule } from '@angular/core';
5
5
  import { ComponentPortal } from '@angular/cdk/portal';
6
- import { BehaviorSubject, timer, filter, shareReplay, merge } from 'rxjs';
6
+ import { BehaviorSubject, merge, timer, filter as filter$1, shareReplay } from 'rxjs';
7
7
  import * as i2 from '@angular/cdk/a11y';
8
- import { A11yModule } from '@angular/cdk/a11y';
8
+ import { NgTemplateOutlet, NgClass } from '@angular/common';
9
9
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
10
10
  import { ThemePalette } from '@koobiq/components/core';
11
- import { filter as filter$1 } from 'rxjs/operators';
12
- import { trigger, state, style, transition, animate } from '@angular/animations';
13
- import * as i3 from '@koobiq/components/title';
14
- import { KbqTitleModule } from '@koobiq/components/title';
15
- import * as i4 from '@koobiq/components/icon';
11
+ import * as i3 from '@koobiq/components/icon';
16
12
  import { KbqIconModule } from '@koobiq/components/icon';
17
- import * as i5 from '@angular/common';
18
- import { NgTemplateOutlet, NgClass } from '@angular/common';
19
- import { KbqButtonModule } from '@koobiq/components/button';
13
+ import * as i4 from '@koobiq/components/title';
14
+ import { KbqTitleModule } from '@koobiq/components/title';
15
+ import { filter } from 'rxjs/operators';
16
+ import { trigger, state, style, transition, animate } from '@angular/animations';
17
+
18
+ const kbqToastAnimations = {
19
+ toastState: trigger('state', [
20
+ state('void', style({ transform: 'translateX(100%)', opacity: 0 })),
21
+ transition('* => visible', animate('150ms ease-out', style({ transform: 'translateX(0%)', opacity: 1 }))),
22
+ transition('* => void', animate('300ms ease-in', style({ transform: 'translateX(50%)', opacity: 0, 'max-height': 0 })))
23
+ ])
24
+ };
25
+ const toastState = kbqToastAnimations.toastState;
20
26
 
21
27
  var KbqToastStyle;
22
28
  (function (KbqToastStyle) {
@@ -39,7 +45,110 @@ class KbqToastData {
39
45
  }
40
46
  const KBQ_TOAST_CONFIG = new InjectionToken('kbq-toast-config');
41
47
 
42
- const KBQ_TOAST_FACTORY = new InjectionToken('KbqToastFactory');
48
+ class KbqToastCloseButton {
49
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqToastCloseButton, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
50
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: KbqToastCloseButton, isStandalone: true, selector: "[kbq-toast-close-button]", host: { classAttribute: "kbq-toast__close-button" }, ngImport: i0 }); }
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqToastCloseButton, decorators: [{
53
+ type: Directive,
54
+ args: [{
55
+ standalone: true,
56
+ selector: '[kbq-toast-close-button]',
57
+ host: {
58
+ class: 'kbq-toast__close-button'
59
+ }
60
+ }]
61
+ }] });
62
+ let id = 0;
63
+ class KbqToastComponent {
64
+ get toastStyle() {
65
+ return {
66
+ [`kbq-toast_${this.data.style}`]: true
67
+ };
68
+ }
69
+ get isFocusedOrHovered() {
70
+ return this.hovered.getValue() || this.focused.getValue();
71
+ }
72
+ constructor(data, service, elementRef, focusMonitor) {
73
+ this.data = data;
74
+ this.service = service;
75
+ this.elementRef = elementRef;
76
+ this.focusMonitor = focusMonitor;
77
+ this.themePalette = ThemePalette;
78
+ this.animationState = 'void';
79
+ this.hovered = new BehaviorSubject(false);
80
+ this.focused = new BehaviorSubject(false);
81
+ this.id = id++;
82
+ this.$implicit = this;
83
+ this.data.style = this.data.style || KbqToastStyle.Contrast;
84
+ this.data.icon = this.data.icon !== undefined ? this.data.icon : true;
85
+ this.data.iconClass = this.data.iconClass || undefined;
86
+ this.data.closeButton = this.data.closeButton !== undefined ? this.data.closeButton : true;
87
+ this.animationState = 'visible';
88
+ this.runFocusMonitor();
89
+ this.hovered.subscribe(this.service.hovered);
90
+ this.focused.subscribe(this.service.focused);
91
+ merge(this.hovered, this.focused)
92
+ .pipe(filter((value) => value), takeUntilDestroyed())
93
+ .subscribe(() => {
94
+ if (this.ttl === 0) {
95
+ return;
96
+ }
97
+ this.ttl = this.ttl < this.delay ? this.delay : this.ttl;
98
+ });
99
+ }
100
+ ngOnDestroy() {
101
+ this.stopFocusMonitor();
102
+ this.hovered.next(false);
103
+ this.focused.next(false);
104
+ }
105
+ close() {
106
+ this.service.hide(this.id);
107
+ }
108
+ isTemplateRef(value) {
109
+ return value instanceof TemplateRef;
110
+ }
111
+ onAnimation($event) {
112
+ this.service.animation.next($event);
113
+ }
114
+ runFocusMonitor() {
115
+ this.focusMonitor
116
+ .monitor(this.elementRef.nativeElement, true)
117
+ .subscribe((origin) => this.focused.next(!!origin));
118
+ }
119
+ stopFocusMonitor() {
120
+ this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);
121
+ }
122
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqToastComponent, deps: [{ token: KbqToastData }, { token: forwardRef(() => KbqToastService) }, { token: i0.ElementRef }, { token: i2.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
123
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KbqToastComponent, isStandalone: true, selector: "kbq-toast", host: { listeners: { "@state.start": "onAnimation($event)", "@state.done": "onAnimation($event)", "mouseenter": "hovered.next(true)", "mouseleave": "hovered.next(false)", "keydown.esc": "close()" }, properties: { "class": "toastStyle", "class.kbq-toast_dismissible": "data.closeButton", "@state": "animationState" }, classAttribute: "kbq-toast" }, ngImport: i0, template: "@if (data.icon) {\n <div class=\"kbq-toast__icon-container layout-row layout-align-start-start\">\n @if (data.icon === true) {\n @switch (data.style) {\n @case ('contrast') {\n <i\n kbq-icon=\"kbq-info-circle_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n }\n @case ('success') {\n <i\n kbq-icon=\"kbq-check-circle_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n }\n @case ('warning') {\n <i\n kbq-icon=\"kbq-exclamation-triangle_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n }\n @case ('error') {\n <i\n kbq-icon=\"kbq-exclamation-triangle_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n }\n }\n }\n @if (isTemplateRef(data.icon)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.icon)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n </div>\n}\n\n<div class=\"kbq-toast__container\">\n @if (data.title) {\n <div kbq-title class=\"kbq-toast__title\" [class.kbq-toast__title_with-content]=\"data.caption || data.content\">\n @if (isTemplateRef(data.title)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.title)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n @if (!isTemplateRef(data.title)) {\n <p>{{ data.title }}</p>\n }\n </div>\n }\n\n @if (data.caption) {\n <div kbq-title [class.kbq-toast__text]=\"data.title\" [class.kbq-toast__title]=\"!data.title\">\n @if (isTemplateRef(data.caption)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.caption)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n @if (!isTemplateRef(data.caption)) {\n {{ data.caption }}\n }\n </div>\n }\n\n @if (data.content) {\n <div class=\"kbq-toast__content\">\n @if (isTemplateRef(data.content)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.content)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n @if (!isTemplateRef(data.content)) {\n {{ data.content }}\n }\n </div>\n }\n\n @if (data.actions) {\n <div class=\"kbq-toast__actions\">\n @if (isTemplateRef(data.actions)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.actions)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n @if (!isTemplateRef(data.actions)) {\n {{ data.actions }}\n }\n </div>\n }\n</div>\n\n@if (data.closeButton) {\n <div>\n @if (data.closeButton === true) {\n <i kbq-icon-button=\"kbq-xmark-s_16\" kbq-toast-close-button (click)=\"close()\"></i>\n }\n @if (isTemplateRef(data.closeButton)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.closeButton)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n </div>\n}\n", styles: [".kbq-toast{display:flex;box-sizing:border-box;width:var(--kbq-toast-size-container-width);height:auto;border-radius:var(--kbq-toast-size-container-border-radius);padding-left:var(--kbq-toast-size-container-padding-left);padding-right:var(--kbq-toast-size-container-padding-right)}.kbq-toast__icon-container{flex-shrink:0;width:var(--kbq-toast-size-icon-width);max-width:var(--kbq-toast-size-icon-width);height:var(--kbq-toast-size-icon-height);max-height:var(--kbq-toast-size-icon-height);border-radius:var(--kbq-toast-size-container-border-radius);margin-right:var(--kbq-toast-size-icon-margin-right);padding-top:calc(var(--kbq-toast-size-content-padding-top) + (var(--kbq-typography-text-normal-line-height) - var(--kbq-toast-size-icon-height)) / 2)}.kbq-toast__container{display:flex;flex-direction:column;flex:1;padding-top:var(--kbq-toast-size-content-padding-top);padding-right:var(--kbq-size-s);padding-bottom:var(--kbq-toast-size-content-padding-bottom);overflow:hidden}.kbq-toast__title{overflow:hidden;text-overflow:ellipsis}.kbq-toast__title>p{margin:0;overflow:hidden;text-overflow:ellipsis}.kbq-toast__title_with-content{padding-bottom:var(--kbq-toast-size-caption-padding-bottom)}.kbq-toast__text{display:flex;flex:1;align-items:center}.kbq-toast__content{display:flex;flex-direction:column}.kbq-toast__actions{display:flex;padding-top:var(--kbq-toast-size-button-stack-padding-top);gap:var(--kbq-toast-size-button-stack-content-gap-horizontal)}.kbq-toast__close-button{margin-top:calc(var(--kbq-toast-size-content-padding-top) - (var(--kbq-icon-button-size-small-vertical-padding) * 2 + 16px - var(--kbq-typography-text-normal-line-height)) / 2);margin-right:var(--kbq-toast-size-close-button-margin-right)}.kbq-toast__close-button.kbq-icon-button{--kbq-icon-button-size-normal-horizontal-padding: 4px;--kbq-icon-button-size-normal-vertical-padding: 4px}.kbq-toast.kbq-toast_contrast{box-shadow:var(--kbq-toast-contrast-container-shadow);background:var(--kbq-toast-contrast-container-background)}.kbq-toast.kbq-toast_contrast .kbq-toast__title{color:var(--kbq-toast-contrast-container-title)}.kbq-toast.kbq-toast_contrast .kbq-toast__text{color:var(--kbq-toast-contrast-container-text)}.kbq-toast.kbq-toast_success{box-shadow:var(--kbq-toast-success-container-shadow);background:var(--kbq-toast-success-container-background)}.kbq-toast.kbq-toast_success .kbq-toast__title{color:var(--kbq-toast-success-container-title)}.kbq-toast.kbq-toast_success .kbq-toast__text{color:var(--kbq-toast-success-container-text)}.kbq-toast.kbq-toast_warning{box-shadow:var(--kbq-toast-warning-container-shadow);background:var(--kbq-toast-warning-container-background)}.kbq-toast.kbq-toast_warning .kbq-toast__title{color:var(--kbq-toast-warning-container-title)}.kbq-toast.kbq-toast_warning .kbq-toast__text{color:var(--kbq-toast-warning-container-text)}.kbq-toast.kbq-toast_error{box-shadow:var(--kbq-toast-error-container-shadow);background:var(--kbq-toast-error-container-background)}.kbq-toast.kbq-toast_error .kbq-toast__title{color:var(--kbq-toast-error-container-title)}.kbq-toast.kbq-toast_error .kbq-toast__text{color:var(--kbq-toast-error-container-text)}.kbq-toast,.kbq-toast__title{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-toast-container{--kbq-toast-stack-size-margin-top: var(--kbq-size-m);--kbq-toast-stack-size-margin-right: var(--kbq-size-m);--kbq-toast-stack-size-gap: var(--kbq-size-s);--kbq-toast-size-container-width: 360px;--kbq-toast-size-container-border-radius: var(--kbq-size-s);--kbq-toast-size-container-padding-left: var(--kbq-size-m);--kbq-toast-size-container-padding-right: var(--kbq-size-s);--kbq-toast-size-content-padding-top: var(--kbq-size-l);--kbq-toast-size-content-padding-bottom: var(--kbq-size-l);--kbq-toast-size-caption-padding-bottom: var(--kbq-size-xxs);--kbq-toast-size-icon-width: var(--kbq-size-l);--kbq-toast-size-icon-height: var(--kbq-size-l);--kbq-toast-size-icon-margin-right: var(--kbq-size-s);--kbq-toast-size-icon-border-radius: 50%;--kbq-toast-size-close-button-margin-top: var(--kbq-size-m);--kbq-toast-size-close-button-margin-right: var(--kbq-size-xxs);--kbq-toast-size-button-stack-padding-top: var(--kbq-size-s);--kbq-toast-size-button-stack-content-gap-horizontal: var(--kbq-size-m);--kbq-toast-contrast-container-background: var(--kbq-background-card);--kbq-toast-contrast-container-title: var(--kbq-foreground-contrast);--kbq-toast-contrast-container-text: var(--kbq-foreground-contrast-secondary);--kbq-toast-contrast-container-shadow: var(--kbq-shadow-popup);--kbq-toast-error-container-background: var(--kbq-background-card);--kbq-toast-error-container-title: var(--kbq-foreground-contrast);--kbq-toast-error-container-text: var(--kbq-foreground-contrast-secondary);--kbq-toast-error-container-shadow: var(--kbq-shadow-popup);--kbq-toast-warning-container-background: var(--kbq-background-card);--kbq-toast-warning-container-title: var(--kbq-foreground-contrast);--kbq-toast-warning-container-text: var(--kbq-foreground-contrast-secondary);--kbq-toast-warning-container-shadow: var(--kbq-shadow-popup);--kbq-toast-success-container-background: var(--kbq-background-card);--kbq-toast-success-container-title: var(--kbq-foreground-contrast);--kbq-toast-success-container-text: var(--kbq-foreground-contrast-secondary);--kbq-toast-success-container-shadow: var(--kbq-shadow-popup)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: KbqIconModule }, { kind: "component", type: i3.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }, { kind: "component", type: i3.KbqIconButton, selector: "[kbq-icon-button]", inputs: ["color", "small", "tabindex", "disabled"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: KbqTitleModule }, { kind: "directive", type: i4.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }, { kind: "directive", type: KbqToastCloseButton, selector: "[kbq-toast-close-button]" }], animations: [kbqToastAnimations.toastState], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
124
+ }
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqToastComponent, decorators: [{
126
+ type: Component,
127
+ args: [{ standalone: true, imports: [
128
+ NgTemplateOutlet,
129
+ KbqIconModule,
130
+ NgClass,
131
+ KbqTitleModule,
132
+ KbqToastCloseButton
133
+ ], selector: 'kbq-toast', host: {
134
+ class: 'kbq-toast',
135
+ '[class]': 'toastStyle',
136
+ '[class.kbq-toast_dismissible]': 'data.closeButton',
137
+ '[@state]': 'animationState',
138
+ '(@state.start)': 'onAnimation($event)',
139
+ '(@state.done)': 'onAnimation($event)',
140
+ '(mouseenter)': 'hovered.next(true)',
141
+ '(mouseleave)': 'hovered.next(false)',
142
+ '(keydown.esc)': 'close()'
143
+ }, animations: [kbqToastAnimations.toastState], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@if (data.icon) {\n <div class=\"kbq-toast__icon-container layout-row layout-align-start-start\">\n @if (data.icon === true) {\n @switch (data.style) {\n @case ('contrast') {\n <i\n kbq-icon=\"kbq-info-circle_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n }\n @case ('success') {\n <i\n kbq-icon=\"kbq-check-circle_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n }\n @case ('warning') {\n <i\n kbq-icon=\"kbq-exclamation-triangle_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n }\n @case ('error') {\n <i\n kbq-icon=\"kbq-exclamation-triangle_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n }\n }\n }\n @if (isTemplateRef(data.icon)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.icon)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n </div>\n}\n\n<div class=\"kbq-toast__container\">\n @if (data.title) {\n <div kbq-title class=\"kbq-toast__title\" [class.kbq-toast__title_with-content]=\"data.caption || data.content\">\n @if (isTemplateRef(data.title)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.title)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n @if (!isTemplateRef(data.title)) {\n <p>{{ data.title }}</p>\n }\n </div>\n }\n\n @if (data.caption) {\n <div kbq-title [class.kbq-toast__text]=\"data.title\" [class.kbq-toast__title]=\"!data.title\">\n @if (isTemplateRef(data.caption)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.caption)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n @if (!isTemplateRef(data.caption)) {\n {{ data.caption }}\n }\n </div>\n }\n\n @if (data.content) {\n <div class=\"kbq-toast__content\">\n @if (isTemplateRef(data.content)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.content)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n @if (!isTemplateRef(data.content)) {\n {{ data.content }}\n }\n </div>\n }\n\n @if (data.actions) {\n <div class=\"kbq-toast__actions\">\n @if (isTemplateRef(data.actions)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.actions)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n @if (!isTemplateRef(data.actions)) {\n {{ data.actions }}\n }\n </div>\n }\n</div>\n\n@if (data.closeButton) {\n <div>\n @if (data.closeButton === true) {\n <i kbq-icon-button=\"kbq-xmark-s_16\" kbq-toast-close-button (click)=\"close()\"></i>\n }\n @if (isTemplateRef(data.closeButton)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.closeButton)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n </div>\n}\n", styles: [".kbq-toast{display:flex;box-sizing:border-box;width:var(--kbq-toast-size-container-width);height:auto;border-radius:var(--kbq-toast-size-container-border-radius);padding-left:var(--kbq-toast-size-container-padding-left);padding-right:var(--kbq-toast-size-container-padding-right)}.kbq-toast__icon-container{flex-shrink:0;width:var(--kbq-toast-size-icon-width);max-width:var(--kbq-toast-size-icon-width);height:var(--kbq-toast-size-icon-height);max-height:var(--kbq-toast-size-icon-height);border-radius:var(--kbq-toast-size-container-border-radius);margin-right:var(--kbq-toast-size-icon-margin-right);padding-top:calc(var(--kbq-toast-size-content-padding-top) + (var(--kbq-typography-text-normal-line-height) - var(--kbq-toast-size-icon-height)) / 2)}.kbq-toast__container{display:flex;flex-direction:column;flex:1;padding-top:var(--kbq-toast-size-content-padding-top);padding-right:var(--kbq-size-s);padding-bottom:var(--kbq-toast-size-content-padding-bottom);overflow:hidden}.kbq-toast__title{overflow:hidden;text-overflow:ellipsis}.kbq-toast__title>p{margin:0;overflow:hidden;text-overflow:ellipsis}.kbq-toast__title_with-content{padding-bottom:var(--kbq-toast-size-caption-padding-bottom)}.kbq-toast__text{display:flex;flex:1;align-items:center}.kbq-toast__content{display:flex;flex-direction:column}.kbq-toast__actions{display:flex;padding-top:var(--kbq-toast-size-button-stack-padding-top);gap:var(--kbq-toast-size-button-stack-content-gap-horizontal)}.kbq-toast__close-button{margin-top:calc(var(--kbq-toast-size-content-padding-top) - (var(--kbq-icon-button-size-small-vertical-padding) * 2 + 16px - var(--kbq-typography-text-normal-line-height)) / 2);margin-right:var(--kbq-toast-size-close-button-margin-right)}.kbq-toast__close-button.kbq-icon-button{--kbq-icon-button-size-normal-horizontal-padding: 4px;--kbq-icon-button-size-normal-vertical-padding: 4px}.kbq-toast.kbq-toast_contrast{box-shadow:var(--kbq-toast-contrast-container-shadow);background:var(--kbq-toast-contrast-container-background)}.kbq-toast.kbq-toast_contrast .kbq-toast__title{color:var(--kbq-toast-contrast-container-title)}.kbq-toast.kbq-toast_contrast .kbq-toast__text{color:var(--kbq-toast-contrast-container-text)}.kbq-toast.kbq-toast_success{box-shadow:var(--kbq-toast-success-container-shadow);background:var(--kbq-toast-success-container-background)}.kbq-toast.kbq-toast_success .kbq-toast__title{color:var(--kbq-toast-success-container-title)}.kbq-toast.kbq-toast_success .kbq-toast__text{color:var(--kbq-toast-success-container-text)}.kbq-toast.kbq-toast_warning{box-shadow:var(--kbq-toast-warning-container-shadow);background:var(--kbq-toast-warning-container-background)}.kbq-toast.kbq-toast_warning .kbq-toast__title{color:var(--kbq-toast-warning-container-title)}.kbq-toast.kbq-toast_warning .kbq-toast__text{color:var(--kbq-toast-warning-container-text)}.kbq-toast.kbq-toast_error{box-shadow:var(--kbq-toast-error-container-shadow);background:var(--kbq-toast-error-container-background)}.kbq-toast.kbq-toast_error .kbq-toast__title{color:var(--kbq-toast-error-container-title)}.kbq-toast.kbq-toast_error .kbq-toast__text{color:var(--kbq-toast-error-container-text)}.kbq-toast,.kbq-toast__title{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-toast-container{--kbq-toast-stack-size-margin-top: var(--kbq-size-m);--kbq-toast-stack-size-margin-right: var(--kbq-size-m);--kbq-toast-stack-size-gap: var(--kbq-size-s);--kbq-toast-size-container-width: 360px;--kbq-toast-size-container-border-radius: var(--kbq-size-s);--kbq-toast-size-container-padding-left: var(--kbq-size-m);--kbq-toast-size-container-padding-right: var(--kbq-size-s);--kbq-toast-size-content-padding-top: var(--kbq-size-l);--kbq-toast-size-content-padding-bottom: var(--kbq-size-l);--kbq-toast-size-caption-padding-bottom: var(--kbq-size-xxs);--kbq-toast-size-icon-width: var(--kbq-size-l);--kbq-toast-size-icon-height: var(--kbq-size-l);--kbq-toast-size-icon-margin-right: var(--kbq-size-s);--kbq-toast-size-icon-border-radius: 50%;--kbq-toast-size-close-button-margin-top: var(--kbq-size-m);--kbq-toast-size-close-button-margin-right: var(--kbq-size-xxs);--kbq-toast-size-button-stack-padding-top: var(--kbq-size-s);--kbq-toast-size-button-stack-content-gap-horizontal: var(--kbq-size-m);--kbq-toast-contrast-container-background: var(--kbq-background-card);--kbq-toast-contrast-container-title: var(--kbq-foreground-contrast);--kbq-toast-contrast-container-text: var(--kbq-foreground-contrast-secondary);--kbq-toast-contrast-container-shadow: var(--kbq-shadow-popup);--kbq-toast-error-container-background: var(--kbq-background-card);--kbq-toast-error-container-title: var(--kbq-foreground-contrast);--kbq-toast-error-container-text: var(--kbq-foreground-contrast-secondary);--kbq-toast-error-container-shadow: var(--kbq-shadow-popup);--kbq-toast-warning-container-background: var(--kbq-background-card);--kbq-toast-warning-container-title: var(--kbq-foreground-contrast);--kbq-toast-warning-container-text: var(--kbq-foreground-contrast-secondary);--kbq-toast-warning-container-shadow: var(--kbq-shadow-popup);--kbq-toast-success-container-background: var(--kbq-background-card);--kbq-toast-success-container-title: var(--kbq-foreground-contrast);--kbq-toast-success-container-text: var(--kbq-foreground-contrast-secondary);--kbq-toast-success-container-shadow: var(--kbq-shadow-popup)}\n"] }]
144
+ }], ctorParameters: () => [{ type: KbqToastData }, { type: KbqToastService, decorators: [{
145
+ type: Inject,
146
+ args: [forwardRef(() => KbqToastService)]
147
+ }] }, { type: i0.ElementRef }, { type: i2.FocusMonitor }] });
148
+
149
+ const KBQ_TOAST_FACTORY = new InjectionToken('KBQ_TOAST_FACTORY', {
150
+ factory: () => KbqToastComponent
151
+ });
43
152
  const defaultToastConfig = {
44
153
  position: KbqToastPosition.TOP_RIGHT,
45
154
  duration: 5000,
@@ -66,7 +175,7 @@ class KbqToastService {
66
175
  this.hovered = new BehaviorSubject(false);
67
176
  this.focused = new BehaviorSubject(false);
68
177
  this.animation = new BehaviorSubject(null);
69
- this.timer = timer(CHECK_INTERVAL, CHECK_INTERVAL).pipe(filter(() => this.toasts.length > 0 && !this.hovered.getValue() && !this.focused.getValue()),
178
+ this.timer = timer(CHECK_INTERVAL, CHECK_INTERVAL).pipe(filter$1(() => this.toasts.length > 0 && !this.hovered.getValue() && !this.focused.getValue()),
70
179
  // eslint-disable-next-line rxjs/no-ignored-replay-buffer
71
180
  shareReplay());
72
181
  this.toastsDict = {};
@@ -256,11 +365,11 @@ class KbqToastContainerComponent extends CdkScrollable {
256
365
  });
257
366
  }
258
367
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqToastContainerComponent, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: forwardRef(() => KbqToastService) }, { token: i0.ElementRef }, { token: i1.ScrollDispatcher }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
259
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: KbqToastContainerComponent, selector: "kbq-toast-container", host: { classAttribute: "kbq-toast-container" }, viewQueries: [{ propertyName: "viewContainer", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: '<ng-container #container />', isInline: true, styles: [".kbq-toast-container{display:flex;flex-direction:column;align-items:flex-end;margin-top:var(--kbq-toast-stack-size-margin-top);margin-right:var(--kbq-toast-stack-size-margin-right);gap:var(--kbq-toast-stack-size-gap)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
368
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: KbqToastContainerComponent, isStandalone: true, selector: "kbq-toast-container", host: { classAttribute: "kbq-toast-container" }, viewQueries: [{ propertyName: "viewContainer", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: '<ng-container #container />', isInline: true, styles: [".kbq-toast-container{display:flex;flex-direction:column;align-items:flex-end;margin-top:var(--kbq-toast-stack-size-margin-top);margin-right:var(--kbq-toast-stack-size-margin-right);gap:var(--kbq-toast-stack-size-gap)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
260
369
  }
261
370
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqToastContainerComponent, decorators: [{
262
371
  type: Component,
263
- args: [{ selector: 'kbq-toast-container', template: '<ng-container #container />', host: {
372
+ args: [{ standalone: true, selector: 'kbq-toast-container', template: '<ng-container #container />', host: {
264
373
  class: 'kbq-toast-container'
265
374
  }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".kbq-toast-container{display:flex;flex-direction:column;align-items:flex-end;margin-top:var(--kbq-toast-stack-size-margin-top);margin-right:var(--kbq-toast-stack-size-margin-right);gap:var(--kbq-toast-stack-size-gap)}\n"] }]
266
375
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: KbqToastService, decorators: [{
@@ -271,157 +380,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
271
380
  args: ['container', { static: true, read: ViewContainerRef }]
272
381
  }] } });
273
382
 
274
- const kbqToastAnimations = {
275
- toastState: trigger('state', [
276
- state('void', style({ transform: 'translateX(100%)', opacity: 0 })),
277
- transition('* => visible', animate('150ms ease-out', style({ transform: 'translateX(0%)', opacity: 1 }))),
278
- transition('* => void', animate('300ms ease-in', style({ transform: 'translateX(50%)', opacity: 0, 'max-height': 0 })))
279
- ])
280
- };
281
- const toastState = kbqToastAnimations.toastState;
282
-
283
- class KbqToastCloseButton {
284
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqToastCloseButton, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
285
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: KbqToastCloseButton, selector: "[kbq-toast-close-button]", host: { classAttribute: "kbq-toast__close-button" }, ngImport: i0 }); }
286
- }
287
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqToastCloseButton, decorators: [{
288
- type: Directive,
289
- args: [{
290
- selector: '[kbq-toast-close-button]',
291
- host: {
292
- class: 'kbq-toast__close-button'
293
- }
294
- }]
295
- }] });
296
- let id = 0;
297
- class KbqToastComponent {
298
- get toastStyle() {
299
- return {
300
- [`kbq-toast_${this.data.style}`]: true
301
- };
302
- }
303
- get isFocusedOrHovered() {
304
- return this.hovered.getValue() || this.focused.getValue();
305
- }
306
- constructor(data, service, elementRef, focusMonitor) {
307
- this.data = data;
308
- this.service = service;
309
- this.elementRef = elementRef;
310
- this.focusMonitor = focusMonitor;
311
- this.themePalette = ThemePalette;
312
- this.animationState = 'void';
313
- this.hovered = new BehaviorSubject(false);
314
- this.focused = new BehaviorSubject(false);
315
- this.id = id++;
316
- this.$implicit = this;
317
- this.data.style = this.data.style || KbqToastStyle.Contrast;
318
- this.data.icon = this.data.icon !== undefined ? this.data.icon : true;
319
- this.data.iconClass = this.data.iconClass || undefined;
320
- this.data.closeButton = this.data.closeButton !== undefined ? this.data.closeButton : true;
321
- this.animationState = 'visible';
322
- this.runFocusMonitor();
323
- this.hovered.subscribe(this.service.hovered);
324
- this.focused.subscribe(this.service.focused);
325
- merge(this.hovered, this.focused)
326
- .pipe(filter$1((value) => value), takeUntilDestroyed())
327
- .subscribe(() => {
328
- if (this.ttl === 0) {
329
- return;
330
- }
331
- this.ttl = this.ttl < this.delay ? this.delay : this.ttl;
332
- });
333
- }
334
- ngOnDestroy() {
335
- this.stopFocusMonitor();
336
- this.hovered.next(false);
337
- this.focused.next(false);
338
- }
339
- close() {
340
- this.service.hide(this.id);
341
- }
342
- isTemplateRef(value) {
343
- return value instanceof TemplateRef;
344
- }
345
- onAnimation($event) {
346
- this.service.animation.next($event);
347
- }
348
- runFocusMonitor() {
349
- this.focusMonitor
350
- .monitor(this.elementRef.nativeElement, true)
351
- .subscribe((origin) => this.focused.next(!!origin));
352
- }
353
- stopFocusMonitor() {
354
- this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);
355
- }
356
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqToastComponent, deps: [{ token: KbqToastData }, { token: forwardRef(() => KbqToastService) }, { token: i0.ElementRef }, { token: i2.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
357
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KbqToastComponent, selector: "kbq-toast", host: { listeners: { "@state.start": "onAnimation($event)", "@state.done": "onAnimation($event)", "mouseenter": "hovered.next(true)", "mouseleave": "hovered.next(false)", "keydown.esc": "close()" }, properties: { "class": "toastStyle", "class.kbq-toast_dismissible": "data.closeButton", "@state": "animationState" }, classAttribute: "kbq-toast" }, ngImport: i0, template: "@if (data.icon) {\n <div class=\"kbq-toast__icon-container layout-row layout-align-start-start\">\n @if (data.icon === true) {\n @switch (data.style) {\n @case ('contrast') {\n <i\n kbq-icon=\"kbq-info-circle_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n }\n @case ('success') {\n <i\n kbq-icon=\"kbq-check-circle_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n }\n @case ('warning') {\n <i\n kbq-icon=\"kbq-exclamation-triangle_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n }\n @case ('error') {\n <i\n kbq-icon=\"kbq-exclamation-triangle_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n }\n }\n }\n @if (isTemplateRef(data.icon)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.icon)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n </div>\n}\n\n<div class=\"kbq-toast__container\">\n @if (data.title) {\n <div kbq-title class=\"kbq-toast__title\" [class.kbq-toast__title_with-content]=\"data.caption || data.content\">\n @if (isTemplateRef(data.title)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.title)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n @if (!isTemplateRef(data.title)) {\n <p>{{ data.title }}</p>\n }\n </div>\n }\n\n @if (data.caption) {\n <div kbq-title [class.kbq-toast__text]=\"data.title\" [class.kbq-toast__title]=\"!data.title\">\n @if (isTemplateRef(data.caption)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.caption)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n @if (!isTemplateRef(data.caption)) {\n {{ data.caption }}\n }\n </div>\n }\n\n @if (data.content) {\n <div class=\"kbq-toast__content\">\n @if (isTemplateRef(data.content)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.content)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n @if (!isTemplateRef(data.content)) {\n {{ data.content }}\n }\n </div>\n }\n\n @if (data.actions) {\n <div class=\"kbq-toast__actions\">\n @if (isTemplateRef(data.actions)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.actions)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n @if (!isTemplateRef(data.actions)) {\n {{ data.actions }}\n }\n </div>\n }\n</div>\n\n@if (data.closeButton) {\n <div>\n @if (data.closeButton === true) {\n <i kbq-icon-button=\"kbq-xmark-s_16\" kbq-toast-close-button (click)=\"close()\"></i>\n }\n @if (isTemplateRef(data.closeButton)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.closeButton)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n </div>\n}\n", styles: [".kbq-toast{display:flex;box-sizing:border-box;width:var(--kbq-toast-size-container-width);height:auto;border-radius:var(--kbq-toast-size-container-border-radius);padding-left:var(--kbq-toast-size-container-padding-left);padding-right:var(--kbq-toast-size-container-padding-right)}.kbq-toast__icon-container{flex-shrink:0;width:var(--kbq-toast-size-icon-width);max-width:var(--kbq-toast-size-icon-width);height:var(--kbq-toast-size-icon-height);max-height:var(--kbq-toast-size-icon-height);border-radius:var(--kbq-toast-size-container-border-radius);margin-right:var(--kbq-toast-size-icon-margin-right);padding-top:calc(var(--kbq-toast-size-content-padding-top) + (var(--kbq-typography-text-normal-line-height) - var(--kbq-toast-size-icon-height)) / 2)}.kbq-toast__container{display:flex;flex-direction:column;flex:1;padding-top:var(--kbq-toast-size-content-padding-top);padding-right:var(--kbq-size-s);padding-bottom:var(--kbq-toast-size-content-padding-bottom);overflow:hidden}.kbq-toast__title{overflow:hidden;text-overflow:ellipsis}.kbq-toast__title>p{margin:0;overflow:hidden;text-overflow:ellipsis}.kbq-toast__title_with-content{padding-bottom:var(--kbq-toast-size-caption-padding-bottom)}.kbq-toast__text{display:flex;flex:1;align-items:center}.kbq-toast__content{display:flex;flex-direction:column}.kbq-toast__actions{display:flex;padding-top:var(--kbq-toast-size-button-stack-padding-top);gap:var(--kbq-toast-size-button-stack-content-gap-horizontal)}.kbq-toast__close-button{margin-top:calc(var(--kbq-toast-size-content-padding-top) - (var(--kbq-icon-button-size-small-vertical-padding) * 2 + 16px - var(--kbq-typography-text-normal-line-height)) / 2);margin-right:var(--kbq-toast-size-close-button-margin-right)}.kbq-toast__close-button.kbq-icon-button{--kbq-icon-button-size-normal-horizontal-padding: 4px;--kbq-icon-button-size-normal-vertical-padding: 4px}.kbq-toast.kbq-toast_contrast{box-shadow:var(--kbq-toast-contrast-container-shadow);background:var(--kbq-toast-contrast-container-background)}.kbq-toast.kbq-toast_contrast .kbq-toast__title{color:var(--kbq-toast-contrast-container-title)}.kbq-toast.kbq-toast_contrast .kbq-toast__text{color:var(--kbq-toast-contrast-container-text)}.kbq-toast.kbq-toast_success{box-shadow:var(--kbq-toast-success-container-shadow);background:var(--kbq-toast-success-container-background)}.kbq-toast.kbq-toast_success .kbq-toast__title{color:var(--kbq-toast-success-container-title)}.kbq-toast.kbq-toast_success .kbq-toast__text{color:var(--kbq-toast-success-container-text)}.kbq-toast.kbq-toast_warning{box-shadow:var(--kbq-toast-warning-container-shadow);background:var(--kbq-toast-warning-container-background)}.kbq-toast.kbq-toast_warning .kbq-toast__title{color:var(--kbq-toast-warning-container-title)}.kbq-toast.kbq-toast_warning .kbq-toast__text{color:var(--kbq-toast-warning-container-text)}.kbq-toast.kbq-toast_error{box-shadow:var(--kbq-toast-error-container-shadow);background:var(--kbq-toast-error-container-background)}.kbq-toast.kbq-toast_error .kbq-toast__title{color:var(--kbq-toast-error-container-title)}.kbq-toast.kbq-toast_error .kbq-toast__text{color:var(--kbq-toast-error-container-text)}.kbq-toast,.kbq-toast__title{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-toast-container{--kbq-toast-stack-size-margin-top: var(--kbq-size-m);--kbq-toast-stack-size-margin-right: var(--kbq-size-m);--kbq-toast-stack-size-gap: var(--kbq-size-s);--kbq-toast-size-container-width: 360px;--kbq-toast-size-container-border-radius: var(--kbq-size-s);--kbq-toast-size-container-padding-left: var(--kbq-size-m);--kbq-toast-size-container-padding-right: var(--kbq-size-s);--kbq-toast-size-content-padding-top: var(--kbq-size-l);--kbq-toast-size-content-padding-bottom: var(--kbq-size-l);--kbq-toast-size-caption-padding-bottom: var(--kbq-size-xxs);--kbq-toast-size-icon-width: var(--kbq-size-l);--kbq-toast-size-icon-height: var(--kbq-size-l);--kbq-toast-size-icon-margin-right: var(--kbq-size-s);--kbq-toast-size-icon-border-radius: 50%;--kbq-toast-size-close-button-margin-top: var(--kbq-size-m);--kbq-toast-size-close-button-margin-right: var(--kbq-size-xxs);--kbq-toast-size-button-stack-padding-top: var(--kbq-size-s);--kbq-toast-size-button-stack-content-gap-horizontal: var(--kbq-size-m);--kbq-toast-contrast-container-background: var(--kbq-background-card);--kbq-toast-contrast-container-title: var(--kbq-foreground-contrast);--kbq-toast-contrast-container-text: var(--kbq-foreground-contrast-secondary);--kbq-toast-contrast-container-shadow: var(--kbq-shadow-popup);--kbq-toast-error-container-background: var(--kbq-background-card);--kbq-toast-error-container-title: var(--kbq-foreground-contrast);--kbq-toast-error-container-text: var(--kbq-foreground-contrast-secondary);--kbq-toast-error-container-shadow: var(--kbq-shadow-popup);--kbq-toast-warning-container-background: var(--kbq-background-card);--kbq-toast-warning-container-title: var(--kbq-foreground-contrast);--kbq-toast-warning-container-text: var(--kbq-foreground-contrast-secondary);--kbq-toast-warning-container-shadow: var(--kbq-shadow-popup);--kbq-toast-success-container-background: var(--kbq-background-card);--kbq-toast-success-container-title: var(--kbq-foreground-contrast);--kbq-toast-success-container-text: var(--kbq-foreground-contrast-secondary);--kbq-toast-success-container-shadow: var(--kbq-shadow-popup)}\n"], dependencies: [{ kind: "directive", type: i3.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }, { kind: "component", type: i4.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }, { kind: "component", type: i4.KbqIconButton, selector: "[kbq-icon-button]", inputs: ["color", "small", "tabindex", "disabled"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: KbqToastCloseButton, selector: "[kbq-toast-close-button]" }], animations: [kbqToastAnimations.toastState], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
358
- }
359
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqToastComponent, decorators: [{
360
- type: Component,
361
- args: [{ selector: 'kbq-toast', host: {
362
- class: 'kbq-toast',
363
- '[class]': 'toastStyle',
364
- '[class.kbq-toast_dismissible]': 'data.closeButton',
365
- '[@state]': 'animationState',
366
- '(@state.start)': 'onAnimation($event)',
367
- '(@state.done)': 'onAnimation($event)',
368
- '(mouseenter)': 'hovered.next(true)',
369
- '(mouseleave)': 'hovered.next(false)',
370
- '(keydown.esc)': 'close()'
371
- }, animations: [kbqToastAnimations.toastState], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@if (data.icon) {\n <div class=\"kbq-toast__icon-container layout-row layout-align-start-start\">\n @if (data.icon === true) {\n @switch (data.style) {\n @case ('contrast') {\n <i\n kbq-icon=\"kbq-info-circle_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n }\n @case ('success') {\n <i\n kbq-icon=\"kbq-check-circle_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n }\n @case ('warning') {\n <i\n kbq-icon=\"kbq-exclamation-triangle_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n }\n @case ('error') {\n <i\n kbq-icon=\"kbq-exclamation-triangle_16\"\n class=\"kbq-toast__icon\"\n [color]=\"$any(data.style)\"\n [ngClass]=\"data.iconClass\"\n ></i>\n }\n }\n }\n @if (isTemplateRef(data.icon)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.icon)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n </div>\n}\n\n<div class=\"kbq-toast__container\">\n @if (data.title) {\n <div kbq-title class=\"kbq-toast__title\" [class.kbq-toast__title_with-content]=\"data.caption || data.content\">\n @if (isTemplateRef(data.title)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.title)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n @if (!isTemplateRef(data.title)) {\n <p>{{ data.title }}</p>\n }\n </div>\n }\n\n @if (data.caption) {\n <div kbq-title [class.kbq-toast__text]=\"data.title\" [class.kbq-toast__title]=\"!data.title\">\n @if (isTemplateRef(data.caption)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.caption)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n @if (!isTemplateRef(data.caption)) {\n {{ data.caption }}\n }\n </div>\n }\n\n @if (data.content) {\n <div class=\"kbq-toast__content\">\n @if (isTemplateRef(data.content)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.content)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n @if (!isTemplateRef(data.content)) {\n {{ data.content }}\n }\n </div>\n }\n\n @if (data.actions) {\n <div class=\"kbq-toast__actions\">\n @if (isTemplateRef(data.actions)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.actions)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n @if (!isTemplateRef(data.actions)) {\n {{ data.actions }}\n }\n </div>\n }\n</div>\n\n@if (data.closeButton) {\n <div>\n @if (data.closeButton === true) {\n <i kbq-icon-button=\"kbq-xmark-s_16\" kbq-toast-close-button (click)=\"close()\"></i>\n }\n @if (isTemplateRef(data.closeButton)) {\n <ng-container [ngTemplateOutlet]=\"$any(data.closeButton)\" [ngTemplateOutletContext]=\"{ $implicit }\" />\n }\n </div>\n}\n", styles: [".kbq-toast{display:flex;box-sizing:border-box;width:var(--kbq-toast-size-container-width);height:auto;border-radius:var(--kbq-toast-size-container-border-radius);padding-left:var(--kbq-toast-size-container-padding-left);padding-right:var(--kbq-toast-size-container-padding-right)}.kbq-toast__icon-container{flex-shrink:0;width:var(--kbq-toast-size-icon-width);max-width:var(--kbq-toast-size-icon-width);height:var(--kbq-toast-size-icon-height);max-height:var(--kbq-toast-size-icon-height);border-radius:var(--kbq-toast-size-container-border-radius);margin-right:var(--kbq-toast-size-icon-margin-right);padding-top:calc(var(--kbq-toast-size-content-padding-top) + (var(--kbq-typography-text-normal-line-height) - var(--kbq-toast-size-icon-height)) / 2)}.kbq-toast__container{display:flex;flex-direction:column;flex:1;padding-top:var(--kbq-toast-size-content-padding-top);padding-right:var(--kbq-size-s);padding-bottom:var(--kbq-toast-size-content-padding-bottom);overflow:hidden}.kbq-toast__title{overflow:hidden;text-overflow:ellipsis}.kbq-toast__title>p{margin:0;overflow:hidden;text-overflow:ellipsis}.kbq-toast__title_with-content{padding-bottom:var(--kbq-toast-size-caption-padding-bottom)}.kbq-toast__text{display:flex;flex:1;align-items:center}.kbq-toast__content{display:flex;flex-direction:column}.kbq-toast__actions{display:flex;padding-top:var(--kbq-toast-size-button-stack-padding-top);gap:var(--kbq-toast-size-button-stack-content-gap-horizontal)}.kbq-toast__close-button{margin-top:calc(var(--kbq-toast-size-content-padding-top) - (var(--kbq-icon-button-size-small-vertical-padding) * 2 + 16px - var(--kbq-typography-text-normal-line-height)) / 2);margin-right:var(--kbq-toast-size-close-button-margin-right)}.kbq-toast__close-button.kbq-icon-button{--kbq-icon-button-size-normal-horizontal-padding: 4px;--kbq-icon-button-size-normal-vertical-padding: 4px}.kbq-toast.kbq-toast_contrast{box-shadow:var(--kbq-toast-contrast-container-shadow);background:var(--kbq-toast-contrast-container-background)}.kbq-toast.kbq-toast_contrast .kbq-toast__title{color:var(--kbq-toast-contrast-container-title)}.kbq-toast.kbq-toast_contrast .kbq-toast__text{color:var(--kbq-toast-contrast-container-text)}.kbq-toast.kbq-toast_success{box-shadow:var(--kbq-toast-success-container-shadow);background:var(--kbq-toast-success-container-background)}.kbq-toast.kbq-toast_success .kbq-toast__title{color:var(--kbq-toast-success-container-title)}.kbq-toast.kbq-toast_success .kbq-toast__text{color:var(--kbq-toast-success-container-text)}.kbq-toast.kbq-toast_warning{box-shadow:var(--kbq-toast-warning-container-shadow);background:var(--kbq-toast-warning-container-background)}.kbq-toast.kbq-toast_warning .kbq-toast__title{color:var(--kbq-toast-warning-container-title)}.kbq-toast.kbq-toast_warning .kbq-toast__text{color:var(--kbq-toast-warning-container-text)}.kbq-toast.kbq-toast_error{box-shadow:var(--kbq-toast-error-container-shadow);background:var(--kbq-toast-error-container-background)}.kbq-toast.kbq-toast_error .kbq-toast__title{color:var(--kbq-toast-error-container-title)}.kbq-toast.kbq-toast_error .kbq-toast__text{color:var(--kbq-toast-error-container-text)}.kbq-toast,.kbq-toast__title{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-toast-container{--kbq-toast-stack-size-margin-top: var(--kbq-size-m);--kbq-toast-stack-size-margin-right: var(--kbq-size-m);--kbq-toast-stack-size-gap: var(--kbq-size-s);--kbq-toast-size-container-width: 360px;--kbq-toast-size-container-border-radius: var(--kbq-size-s);--kbq-toast-size-container-padding-left: var(--kbq-size-m);--kbq-toast-size-container-padding-right: var(--kbq-size-s);--kbq-toast-size-content-padding-top: var(--kbq-size-l);--kbq-toast-size-content-padding-bottom: var(--kbq-size-l);--kbq-toast-size-caption-padding-bottom: var(--kbq-size-xxs);--kbq-toast-size-icon-width: var(--kbq-size-l);--kbq-toast-size-icon-height: var(--kbq-size-l);--kbq-toast-size-icon-margin-right: var(--kbq-size-s);--kbq-toast-size-icon-border-radius: 50%;--kbq-toast-size-close-button-margin-top: var(--kbq-size-m);--kbq-toast-size-close-button-margin-right: var(--kbq-size-xxs);--kbq-toast-size-button-stack-padding-top: var(--kbq-size-s);--kbq-toast-size-button-stack-content-gap-horizontal: var(--kbq-size-m);--kbq-toast-contrast-container-background: var(--kbq-background-card);--kbq-toast-contrast-container-title: var(--kbq-foreground-contrast);--kbq-toast-contrast-container-text: var(--kbq-foreground-contrast-secondary);--kbq-toast-contrast-container-shadow: var(--kbq-shadow-popup);--kbq-toast-error-container-background: var(--kbq-background-card);--kbq-toast-error-container-title: var(--kbq-foreground-contrast);--kbq-toast-error-container-text: var(--kbq-foreground-contrast-secondary);--kbq-toast-error-container-shadow: var(--kbq-shadow-popup);--kbq-toast-warning-container-background: var(--kbq-background-card);--kbq-toast-warning-container-title: var(--kbq-foreground-contrast);--kbq-toast-warning-container-text: var(--kbq-foreground-contrast-secondary);--kbq-toast-warning-container-shadow: var(--kbq-shadow-popup);--kbq-toast-success-container-background: var(--kbq-background-card);--kbq-toast-success-container-title: var(--kbq-foreground-contrast);--kbq-toast-success-container-text: var(--kbq-foreground-contrast-secondary);--kbq-toast-success-container-shadow: var(--kbq-shadow-popup)}\n"] }]
372
- }], ctorParameters: () => [{ type: KbqToastData }, { type: KbqToastService, decorators: [{
373
- type: Inject,
374
- args: [forwardRef(() => KbqToastService)]
375
- }] }, { type: i0.ElementRef }, { type: i2.FocusMonitor }] });
376
-
383
+ const COMPONENTS = [
384
+ KbqToastComponent,
385
+ KbqToastCloseButton,
386
+ KbqToastContainerComponent
387
+ ];
377
388
  class KbqToastModule {
378
389
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
379
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: KbqToastModule, declarations: [KbqToastComponent,
380
- KbqToastContainerComponent,
381
- KbqToastCloseButton], imports: [OverlayModule,
382
- KbqTitleModule,
383
- A11yModule,
384
- KbqIconModule,
385
- KbqButtonModule,
386
- NgTemplateOutlet,
387
- NgClass], exports: [KbqToastComponent,
388
- KbqToastContainerComponent,
389
- KbqToastCloseButton] }); }
390
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqToastModule, providers: [
391
- KbqToastService,
392
- { provide: KBQ_TOAST_FACTORY, useFactory: (() => KbqToastComponent) }
393
- ], imports: [OverlayModule,
394
- KbqTitleModule,
395
- A11yModule,
396
- KbqIconModule,
397
- KbqButtonModule] }); }
390
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: KbqToastModule, imports: [KbqToastComponent,
391
+ KbqToastCloseButton,
392
+ KbqToastContainerComponent], exports: [KbqToastComponent,
393
+ KbqToastCloseButton,
394
+ KbqToastContainerComponent] }); }
395
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqToastModule, imports: [KbqToastComponent] }); }
398
396
  }
399
397
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqToastModule, decorators: [{
400
398
  type: NgModule,
401
399
  args: [{
402
- declarations: [
403
- KbqToastComponent,
404
- KbqToastContainerComponent,
405
- KbqToastCloseButton
406
- ],
407
- imports: [
408
- OverlayModule,
409
- KbqTitleModule,
410
- A11yModule,
411
- KbqIconModule,
412
- KbqButtonModule,
413
- NgTemplateOutlet,
414
- NgClass
415
- ],
416
- exports: [
417
- KbqToastComponent,
418
- KbqToastContainerComponent,
419
- KbqToastCloseButton
420
- ],
421
- providers: [
422
- KbqToastService,
423
- { provide: KBQ_TOAST_FACTORY, useFactory: (() => KbqToastComponent) }
424
- ]
400
+ imports: COMPONENTS,
401
+ exports: COMPONENTS
425
402
  }]
426
403
  }] });
427
404