igniteui-angular 21.1.2 → 21.1.3
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.
- package/fesm2022/igniteui-angular-accordion.mjs +7 -7
- package/fesm2022/igniteui-angular-action-strip.mjs +10 -10
- package/fesm2022/igniteui-angular-avatar.mjs +7 -7
- package/fesm2022/igniteui-angular-badge.mjs +7 -7
- package/fesm2022/igniteui-angular-banner.mjs +10 -10
- package/fesm2022/igniteui-angular-bottom-nav.mjs +22 -22
- package/fesm2022/igniteui-angular-button-group.mjs +7 -7
- package/fesm2022/igniteui-angular-calendar.mjs +61 -61
- package/fesm2022/igniteui-angular-card.mjs +31 -31
- package/fesm2022/igniteui-angular-carousel.mjs +25 -25
- package/fesm2022/igniteui-angular-chat-extras.mjs +6 -6
- package/fesm2022/igniteui-angular-chat.mjs +18 -18
- package/fesm2022/igniteui-angular-chat.mjs.map +1 -1
- package/fesm2022/igniteui-angular-checkbox.mjs +7 -7
- package/fesm2022/igniteui-angular-chips.mjs +10 -10
- package/fesm2022/igniteui-angular-combo.mjs +52 -52
- package/fesm2022/igniteui-angular-core.mjs +60 -60
- package/fesm2022/igniteui-angular-date-picker.mjs +38 -38
- package/fesm2022/igniteui-angular-dialog.mjs +13 -13
- package/fesm2022/igniteui-angular-directives.mjs +191 -191
- package/fesm2022/igniteui-angular-drop-down.mjs +29 -29
- package/fesm2022/igniteui-angular-expansion-panel.mjs +28 -28
- package/fesm2022/igniteui-angular-grids-core.mjs +429 -428
- package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-grid.mjs +49 -49
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +37 -37
- package/fesm2022/igniteui-angular-grids-lite.mjs +33 -33
- package/fesm2022/igniteui-angular-grids-lite.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +79 -79
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs +55 -55
- package/fesm2022/igniteui-angular-icon.mjs +10 -10
- package/fesm2022/igniteui-angular-input-group.mjs +26 -26
- package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
- package/fesm2022/igniteui-angular-list.mjs +40 -40
- package/fesm2022/igniteui-angular-navbar.mjs +13 -13
- package/fesm2022/igniteui-angular-navigation-drawer.mjs +21 -21
- package/fesm2022/igniteui-angular-navigation-drawer.mjs.map +1 -1
- package/fesm2022/igniteui-angular-paginator.mjs +20 -20
- package/fesm2022/igniteui-angular-paginator.mjs.map +1 -1
- package/fesm2022/igniteui-angular-progressbar.mjs +19 -19
- package/fesm2022/igniteui-angular-query-builder.mjs +22 -22
- package/fesm2022/igniteui-angular-radio.mjs +12 -12
- package/fesm2022/igniteui-angular-radio.mjs.map +1 -1
- package/fesm2022/igniteui-angular-select.mjs +25 -25
- package/fesm2022/igniteui-angular-simple-combo.mjs +7 -7
- package/fesm2022/igniteui-angular-slider.mjs +28 -28
- package/fesm2022/igniteui-angular-snackbar.mjs +7 -7
- package/fesm2022/igniteui-angular-splitter.mjs +14 -14
- package/fesm2022/igniteui-angular-splitter.mjs.map +1 -1
- package/fesm2022/igniteui-angular-stepper.mjs +34 -34
- package/fesm2022/igniteui-angular-switch.mjs +7 -7
- package/fesm2022/igniteui-angular-tabs.mjs +34 -34
- package/fesm2022/igniteui-angular-time-picker.mjs +19 -19
- package/fesm2022/igniteui-angular-toast.mjs +7 -7
- package/fesm2022/igniteui-angular-tree.mjs +28 -28
- package/package.json +2 -2
- package/schematics/tsconfig.tsbuildinfo +1 -1
- package/skills/igniteui-angular-components/SKILL.md +2 -2
- package/skills/igniteui-angular-components/references/layout-manager.md +129 -1
- package/styles/igniteui-angular-dark.css +1 -1
- package/styles/igniteui-angular.css +1 -1
- package/styles/igniteui-bootstrap-dark.css +1 -1
- package/styles/igniteui-bootstrap-light.css +1 -1
- package/styles/igniteui-dark-green.css +1 -1
- package/styles/igniteui-fluent-dark-excel.css +1 -1
- package/styles/igniteui-fluent-dark-word.css +1 -1
- package/styles/igniteui-fluent-dark.css +1 -1
- package/styles/igniteui-fluent-light-excel.css +1 -1
- package/styles/igniteui-fluent-light-word.css +1 -1
- package/styles/igniteui-fluent-light.css +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/igniteui-indigo-light.css +1 -1
- package/styles/maps/igniteui-angular-dark.css.map +1 -1
- package/styles/maps/igniteui-angular.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
- package/styles/maps/igniteui-dark-green.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-light.css.map +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
|
@@ -35,10 +35,10 @@ class IgxCardMediaDirective {
|
|
|
35
35
|
*/
|
|
36
36
|
this.role = 'img';
|
|
37
37
|
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
39
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCardMediaDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
39
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: IgxCardMediaDirective, isStandalone: true, selector: "igx-card-media", inputs: { width: "width", height: "height", role: "role" }, host: { properties: { "class.igx-card__media": "this.cssClass", "style.width": "this.width", "style.min-width": "this.width", "style.height": "this.height", "attr.role": "this.role" } }, ngImport: i0 }); }
|
|
40
40
|
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCardMediaDirective, decorators: [{
|
|
42
42
|
type: Directive,
|
|
43
43
|
args: [{
|
|
44
44
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -85,10 +85,10 @@ class IgxCardHeaderComponent {
|
|
|
85
85
|
*/
|
|
86
86
|
this.vertical = false;
|
|
87
87
|
}
|
|
88
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
89
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.
|
|
88
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
89
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.2.5", type: IgxCardHeaderComponent, isStandalone: true, selector: "igx-card-header", inputs: { vertical: ["vertical", "vertical", booleanAttribute] }, host: { properties: { "class.igx-card-header": "this.cssClass", "class.igx-card-header--vertical": "this.vertical" } }, ngImport: i0, template: "<div class=\"igx-card-header__thumbnail\">\n <ng-content select=\"igx-avatar, igx-card-media, [igxCardThumbnail]\"></ng-content>\n</div>\n\n<div class=\"igx-card-header__titles\">\n <ng-content select=\"\n [igxCardHeaderTitle],\n [igxCardHeaderSubtitle],\n .igx-card-header__title,\n .igx-card-header__title--small,\n .igx-card-header__subtitle\">\n </ng-content>\n</div>\n\n<ng-content></ng-content>\n" }); }
|
|
90
90
|
}
|
|
91
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCardHeaderComponent, decorators: [{
|
|
92
92
|
type: Component,
|
|
93
93
|
args: [{ selector: 'igx-card-header', standalone: true, template: "<div class=\"igx-card-header__thumbnail\">\n <ng-content select=\"igx-avatar, igx-card-media, [igxCardThumbnail]\"></ng-content>\n</div>\n\n<div class=\"igx-card-header__titles\">\n <ng-content select=\"\n [igxCardHeaderTitle],\n [igxCardHeaderSubtitle],\n .igx-card-header__title,\n .igx-card-header__title--small,\n .igx-card-header__subtitle\">\n </ng-content>\n</div>\n\n<ng-content></ng-content>\n" }]
|
|
94
94
|
}], propDecorators: { cssClass: [{
|
|
@@ -106,10 +106,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
106
106
|
* Use it to wrap anything you want to be used as a thumbnail.
|
|
107
107
|
*/
|
|
108
108
|
class IgxCardThumbnailDirective {
|
|
109
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
110
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
109
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCardThumbnailDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
110
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: IgxCardThumbnailDirective, isStandalone: true, selector: "[igxCardThumbnail]", ngImport: i0 }); }
|
|
111
111
|
}
|
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCardThumbnailDirective, decorators: [{
|
|
113
113
|
type: Directive,
|
|
114
114
|
args: [{
|
|
115
115
|
selector: '[igxCardThumbnail]',
|
|
@@ -125,10 +125,10 @@ class IgxCardHeaderTitleDirective {
|
|
|
125
125
|
/** @hidden @internal */
|
|
126
126
|
this.cssClass = 'igx-card__header__title';
|
|
127
127
|
}
|
|
128
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
129
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
128
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCardHeaderTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
129
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: IgxCardHeaderTitleDirective, isStandalone: true, selector: "[igxCardHeaderTitle]", host: { properties: { "class.igx-card-header__title": "this.cssClass" } }, ngImport: i0 }); }
|
|
130
130
|
}
|
|
131
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCardHeaderTitleDirective, decorators: [{
|
|
132
132
|
type: Directive,
|
|
133
133
|
args: [{
|
|
134
134
|
selector: '[igxCardHeaderTitle]',
|
|
@@ -147,10 +147,10 @@ class IgxCardHeaderSubtitleDirective {
|
|
|
147
147
|
/** @hidden @internal */
|
|
148
148
|
this.cssClass = 'igx-card-header__subtitle';
|
|
149
149
|
}
|
|
150
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
151
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
150
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCardHeaderSubtitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
151
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: IgxCardHeaderSubtitleDirective, isStandalone: true, selector: "[igxCardHeaderSubtitle]", host: { properties: { "class.igx-card-header__subtitle": "this.cssClass" } }, ngImport: i0 }); }
|
|
152
152
|
}
|
|
153
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
153
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCardHeaderSubtitleDirective, decorators: [{
|
|
154
154
|
type: Directive,
|
|
155
155
|
args: [{
|
|
156
156
|
selector: '[igxCardHeaderSubtitle]',
|
|
@@ -168,10 +168,10 @@ class IgxCardContentDirective {
|
|
|
168
168
|
/** @hidden @internal */
|
|
169
169
|
this.cssClass = 'igx-card-content';
|
|
170
170
|
}
|
|
171
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
172
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
171
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCardContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
172
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: IgxCardContentDirective, isStandalone: true, selector: "igx-card-content", host: { properties: { "class.igx-card-content": "this.cssClass" } }, ngImport: i0 }); }
|
|
173
173
|
}
|
|
174
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
174
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCardContentDirective, decorators: [{
|
|
175
175
|
type: Directive,
|
|
176
176
|
args: [{
|
|
177
177
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -198,10 +198,10 @@ class IgxCardFooterDirective {
|
|
|
198
198
|
*/
|
|
199
199
|
this.role = 'footer';
|
|
200
200
|
}
|
|
201
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
202
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
201
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCardFooterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
202
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: IgxCardFooterDirective, isStandalone: true, selector: "igx-card-footer", inputs: { role: "role" }, host: { properties: { "attr.role": "this.role" } }, ngImport: i0 }); }
|
|
203
203
|
}
|
|
204
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
204
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCardFooterDirective, decorators: [{
|
|
205
205
|
type: Directive,
|
|
206
206
|
args: [{
|
|
207
207
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -300,10 +300,10 @@ class IgxCardComponent {
|
|
|
300
300
|
*/
|
|
301
301
|
this.horizontal = false;
|
|
302
302
|
}
|
|
303
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
304
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.
|
|
303
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
304
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.2.5", type: IgxCardComponent, isStandalone: true, selector: "igx-card", inputs: { id: "id", role: "role", elevated: ["elevated", "elevated", booleanAttribute], horizontal: ["horizontal", "horizontal", booleanAttribute] }, host: { properties: { "attr.id": "this.id", "class.igx-card": "this.cssClass", "attr.role": "this.role", "class.igx-card--elevated": "this.elevated", "class.igx-card--horizontal": "this.horizontal" } }, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
|
|
305
305
|
}
|
|
306
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
306
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCardComponent, decorators: [{
|
|
307
307
|
type: Component,
|
|
308
308
|
args: [{ selector: 'igx-card', standalone: true, template: "<ng-content></ng-content>\n" }]
|
|
309
309
|
}], propDecorators: { id: [{
|
|
@@ -388,10 +388,10 @@ class IgxCardActionsComponent {
|
|
|
388
388
|
this.vertical = true;
|
|
389
389
|
}
|
|
390
390
|
}
|
|
391
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
392
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.
|
|
391
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCardActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
392
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.2.5", type: IgxCardActionsComponent, isStandalone: true, selector: "igx-card-actions", inputs: { layout: "layout", vertical: ["vertical", "vertical", booleanAttribute] }, host: { properties: { "class.igx-card-actions": "this.layout", "class.igx-card-actions--vertical": "this.vertical", "class.igx-card-actions--justify": "this.isJustifyLayout" } }, usesOnChanges: true, ngImport: i0, template: "<div #buttons class=\"igx-card-actions__start\">\n <ng-content select=\"[igxStart], [igxButton]:not([igxEnd])\"></ng-content>\n</div>\n\n<ng-content></ng-content>\n\n<div class=\"igx-card-actions__end\">\n <ng-content select=\"[igxEnd], [igxIconButton]:not([igxStart]), igx-icon:not([igxStart])\"></ng-content>\n</div>\n" }); }
|
|
393
393
|
}
|
|
394
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
394
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCardActionsComponent, decorators: [{
|
|
395
395
|
type: Component,
|
|
396
396
|
args: [{ selector: 'igx-card-actions', standalone: true, template: "<div #buttons class=\"igx-card-actions__start\">\n <ng-content select=\"[igxStart], [igxButton]:not([igxEnd])\"></ng-content>\n</div>\n\n<ng-content></ng-content>\n\n<div class=\"igx-card-actions__end\">\n <ng-content select=\"[igxEnd], [igxIconButton]:not([igxStart]), igx-icon:not([igxStart])\"></ng-content>\n</div>\n" }]
|
|
397
397
|
}], propDecorators: { layout: [{
|
|
@@ -428,11 +428,11 @@ const IGX_CARD_DIRECTIVES = [
|
|
|
428
428
|
* IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
|
|
429
429
|
*/
|
|
430
430
|
class IgxCardModule {
|
|
431
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
432
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.
|
|
433
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.
|
|
431
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
432
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: IgxCardModule, imports: [IgxCardComponent, IgxCardHeaderComponent, IgxCardMediaDirective, IgxCardContentDirective, IgxCardActionsComponent, IgxCardFooterDirective, IgxCardHeaderTitleDirective, IgxCardHeaderSubtitleDirective, IgxCardThumbnailDirective], exports: [IgxCardComponent, IgxCardHeaderComponent, IgxCardMediaDirective, IgxCardContentDirective, IgxCardActionsComponent, IgxCardFooterDirective, IgxCardHeaderTitleDirective, IgxCardHeaderSubtitleDirective, IgxCardThumbnailDirective] }); }
|
|
433
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCardModule }); }
|
|
434
434
|
}
|
|
435
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
435
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCardModule, decorators: [{
|
|
436
436
|
type: NgModule,
|
|
437
437
|
args: [{
|
|
438
438
|
imports: [
|
|
@@ -181,18 +181,18 @@ class IgxCarouselComponentBase {
|
|
|
181
181
|
});
|
|
182
182
|
this.leaveAnimationPlayer.play();
|
|
183
183
|
}
|
|
184
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
185
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
184
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCarouselComponentBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
185
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: IgxCarouselComponentBase, isStandalone: true, ngImport: i0 }); }
|
|
186
186
|
}
|
|
187
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCarouselComponentBase, decorators: [{
|
|
188
188
|
type: Directive
|
|
189
189
|
}] });
|
|
190
190
|
|
|
191
191
|
class IgxCarouselIndicatorDirective {
|
|
192
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
193
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
192
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCarouselIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
193
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: IgxCarouselIndicatorDirective, isStandalone: true, selector: "[igxCarouselIndicator]", ngImport: i0 }); }
|
|
194
194
|
}
|
|
195
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
195
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCarouselIndicatorDirective, decorators: [{
|
|
196
196
|
type: Directive,
|
|
197
197
|
args: [{
|
|
198
198
|
selector: '[igxCarouselIndicator]',
|
|
@@ -200,10 +200,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
200
200
|
}]
|
|
201
201
|
}] });
|
|
202
202
|
class IgxCarouselNextButtonDirective {
|
|
203
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
204
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
203
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCarouselNextButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
204
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: IgxCarouselNextButtonDirective, isStandalone: true, selector: "[igxCarouselNextButton]", ngImport: i0 }); }
|
|
205
205
|
}
|
|
206
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCarouselNextButtonDirective, decorators: [{
|
|
207
207
|
type: Directive,
|
|
208
208
|
args: [{
|
|
209
209
|
selector: '[igxCarouselNextButton]',
|
|
@@ -211,10 +211,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
211
211
|
}]
|
|
212
212
|
}] });
|
|
213
213
|
class IgxCarouselPrevButtonDirective {
|
|
214
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
215
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
214
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCarouselPrevButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
215
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: IgxCarouselPrevButtonDirective, isStandalone: true, selector: "[igxCarouselPrevButton]", ngImport: i0 }); }
|
|
216
216
|
}
|
|
217
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
217
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCarouselPrevButtonDirective, decorators: [{
|
|
218
218
|
type: Directive,
|
|
219
219
|
args: [{
|
|
220
220
|
selector: '[igxCarouselPrevButton]',
|
|
@@ -325,10 +325,10 @@ class IgxSlideComponent {
|
|
|
325
325
|
this._destroy$.next(true);
|
|
326
326
|
this._destroy$.complete();
|
|
327
327
|
}
|
|
328
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
329
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.
|
|
328
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxSlideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
329
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.2.5", type: IgxSlideComponent, isStandalone: true, selector: "igx-slide", inputs: { index: "index", direction: "direction", total: "total", active: ["active", "active", booleanAttribute], previous: ["previous", "previous", booleanAttribute] }, outputs: { activeChange: "activeChange" }, host: { properties: { "attr.tabindex": "this.tabIndex", "attr.id": "this.id", "attr.role": "this.tab", "attr.aria-labelledby": "this.ariaLabelledBy", "class.igx-slide": "this.cssClass", "class.igx-slide--current": "this.active", "class.igx-slide--previous": "this.previous" } }, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
|
|
330
330
|
}
|
|
331
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
331
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxSlideComponent, decorators: [{
|
|
332
332
|
type: Component,
|
|
333
333
|
args: [{ selector: 'igx-slide', standalone: true, template: "<ng-content></ng-content>\n" }]
|
|
334
334
|
}], propDecorators: { index: [{
|
|
@@ -376,10 +376,10 @@ class CarouselHammerConfig extends HammerGestureConfig {
|
|
|
376
376
|
pan: { direction: HammerGesturesManager.Hammer?.DIRECTION_HORIZONTAL }
|
|
377
377
|
};
|
|
378
378
|
}
|
|
379
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
380
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
379
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CarouselHammerConfig, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
380
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CarouselHammerConfig }); }
|
|
381
381
|
}
|
|
382
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
382
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: CarouselHammerConfig, decorators: [{
|
|
383
383
|
type: Injectable
|
|
384
384
|
}] });
|
|
385
385
|
/**
|
|
@@ -1262,15 +1262,15 @@ class IgxCarouselComponent extends IgxCarouselComponentBase {
|
|
|
1262
1262
|
});
|
|
1263
1263
|
}
|
|
1264
1264
|
}
|
|
1265
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
1266
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
1265
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1266
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: IgxCarouselComponent, isStandalone: true, selector: "igx-carousel", inputs: { id: "id", loop: ["loop", "loop", booleanAttribute], pause: ["pause", "pause", booleanAttribute], navigation: ["navigation", "navigation", booleanAttribute], indicators: ["indicators", "indicators", booleanAttribute], vertical: ["vertical", "vertical", booleanAttribute], gesturesSupport: ["gesturesSupport", "gesturesSupport", booleanAttribute], maximumIndicatorsCount: "maximumIndicatorsCount", indicatorsOrientation: "indicatorsOrientation", animationType: "animationType", resourceStrings: "resourceStrings", interval: "interval" }, outputs: { slideChanged: "slideChanged", slideAdded: "slideAdded", slideRemoved: "slideRemoved", carouselPaused: "carouselPaused", carouselPlaying: "carouselPlaying" }, host: { listeners: { "tap": "onTap($event)", "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "panleft": "onPanLeft($event)", "panright": "onPanRight($event)", "panup": "onPanUp($event)", "pandown": "onPanDown($event)", "panend": "onPanEnd($event)" }, properties: { "attr.id": "this.id", "attr.role": "this.role", "attr.aria-roledescription": "this.roleDescription", "attr.aria-labelledby": "this.labelId", "class.igx-carousel--vertical": "this.isVertical", "class.igx-carousel": "this.cssClass", "style.touch-action": "this.touchAction" } }, providers: [
|
|
1267
1267
|
{
|
|
1268
1268
|
provide: HAMMER_GESTURE_CONFIG,
|
|
1269
1269
|
useClass: CarouselHammerConfig
|
|
1270
1270
|
}
|
|
1271
1271
|
], queries: [{ propertyName: "indicatorTemplate", first: true, predicate: IgxCarouselIndicatorDirective, descendants: true, read: TemplateRef }, { propertyName: "nextButtonTemplate", first: true, predicate: IgxCarouselNextButtonDirective, descendants: true, read: TemplateRef }, { propertyName: "prevButtonTemplate", first: true, predicate: IgxCarouselPrevButtonDirective, descendants: true, read: TemplateRef }, { propertyName: "slides", predicate: IgxSlideComponent }], viewQueries: [{ propertyName: "defaultIndicator", first: true, predicate: ["defaultIndicator"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultNextButton", first: true, predicate: ["defaultNextButton"], descendants: true, read: TemplateRef, static: true }, { propertyName: "defaultPrevButton", first: true, predicate: ["defaultPrevButton"], descendants: true, read: TemplateRef, static: true }, { propertyName: "_indicators", predicate: ["indicators"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #defaultIndicator let-slide>\n <div class=\"igx-nav-dot\"\n [class.igx-nav-dot--active]=\"slide.active\">\n </div>\n</ng-template>\n\n<ng-template #defaultNextButton>\n <igx-icon aria-hidden=\"true\" family=\"default\" name=\"carousel_next\"\n class=\"igx-nav-arrow\">\n </igx-icon>\n</ng-template>\n\n<ng-template #defaultPrevButton>\n <igx-icon aria-hidden=\"true\" family=\"default\" name=\"carousel_prev\"\n class=\"igx-nav-arrow\">\n </igx-icon>\n</ng-template>\n\n@if (navigation && slides.length) {\n <button\n igxButton\n class=\"igx-carousel__arrow--prev\"\n [attr.aria-label]=\"resourceStrings.igx_carousel_previous_slide\"\n [disabled]=\"prevButtonDisabled\"\n (click)=\"prev()\"\n (keydown)=\"handleKeydownPrev($event)\">\n <ng-container *ngTemplateOutlet=\"getPrevButtonTemplate; context: {$implicit: prevButtonDisabled};\"></ng-container>\n </button>\n}\n\n@if (navigation && slides.length) {\n <button\n igxButton\n class=\"igx-carousel__arrow--next\"\n [attr.aria-label]=\"resourceStrings.igx_carousel_next_slide\"\n [disabled]=\"nextButtonDisabled\"\n (click)=\"next()\"\n (keydown)=\"handleKeydownNext($event)\">\n <ng-container *ngTemplateOutlet=\"getNextButtonTemplate; context: {$implicit: nextButtonDisabled};\"></ng-container>\n </button>\n}\n\n@if (showIndicators) {\n <div [ngClass]=\"indicatorsClass\" [attr.role]=\"'tablist'\" (keyup)=\"handleKeyUp($event)\" (focusout)=\"handleFocusOut($event)\" (click)=\"handleClick()\" (keydown)=\"handleKeydown($event)\">\n @for (slide of slides; track slide) {\n <div #indicators\n class=\"igx-carousel-indicators__indicator\"\n (click)=\"select(slide)\"\n [id]=\"'tab-'+ slide.index + '-' + total\"\n [attr.role]=\"'tab'\"\n [attr.tabindex]=\"slide.active ? 0 : -1\"\n [attr.aria-label]=\"resourceStrings.igx_carousel_slide + ' ' + (slide.index + 1) + ' ' + resourceStrings.igx_carousel_of + ' ' + this.total\"\n [attr.aria-controls]=\"'panel-' + slide.index\"\n [attr.aria-selected]=\"slide.active\">\n <ng-container *ngTemplateOutlet=\"getIndicatorTemplate; context: {$implicit: slide};\"></ng-container>\n </div>\n }\n </div>\n}\n\n@if (showIndicatorsLabel) {\n <div [ngClass]=\"indicatorsClass\" class=\"igx-carousel-label-indicator\">\n <span [id]=\"labelId\" class=\"igx-carousel__label\">{{getCarouselLabel}}</span>\n </div>\n}\n\n<div class=\"igx-carousel__inner\" [attr.aria-live]=\"!interval || stoppedByInteraction ? 'polite' : 'off'\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:block;outline-style:none}\n"], dependencies: [{ kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
1272
1272
|
}
|
|
1273
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
1273
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCarouselComponent, decorators: [{
|
|
1274
1274
|
type: Component,
|
|
1275
1275
|
args: [{ providers: [
|
|
1276
1276
|
{
|
|
@@ -1403,11 +1403,11 @@ const IGX_CAROUSEL_DIRECTIVES = [
|
|
|
1403
1403
|
* IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
|
|
1404
1404
|
*/
|
|
1405
1405
|
class IgxCarouselModule {
|
|
1406
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
1407
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.
|
|
1408
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.
|
|
1406
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCarouselModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1407
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: IgxCarouselModule, imports: [IgxCarouselComponent, IgxSlideComponent, IgxCarouselIndicatorDirective, IgxCarouselNextButtonDirective, IgxCarouselPrevButtonDirective], exports: [IgxCarouselComponent, IgxSlideComponent, IgxCarouselIndicatorDirective, IgxCarouselNextButtonDirective, IgxCarouselPrevButtonDirective] }); }
|
|
1408
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCarouselModule, imports: [IgxCarouselComponent] }); }
|
|
1409
1409
|
}
|
|
1410
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
1410
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCarouselModule, decorators: [{
|
|
1411
1411
|
type: NgModule,
|
|
1412
1412
|
args: [{
|
|
1413
1413
|
imports: [
|
|
@@ -17,10 +17,10 @@ class IgxChatMarkdownService {
|
|
|
17
17
|
const renderer = await this._getRenderer();
|
|
18
18
|
return await renderer.parse(text);
|
|
19
19
|
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
21
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxChatMarkdownService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
21
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxChatMarkdownService, providedIn: 'root' }); }
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxChatMarkdownService, decorators: [{
|
|
24
24
|
type: Injectable,
|
|
25
25
|
args: [{ providedIn: 'root' }]
|
|
26
26
|
}] });
|
|
@@ -33,10 +33,10 @@ class MarkdownPipe {
|
|
|
33
33
|
async transform(text) {
|
|
34
34
|
return this._sanitizer.bypassSecurityTrustHtml(await this._service.parse(text ?? ''));
|
|
35
35
|
}
|
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
37
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: MarkdownPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
37
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: MarkdownPipe, isStandalone: true, name: "fromMarkdown" }); }
|
|
38
38
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: MarkdownPipe, decorators: [{
|
|
40
40
|
type: Pipe,
|
|
41
41
|
args: [{ name: 'fromMarkdown' }]
|
|
42
42
|
}] });
|
|
@@ -40,7 +40,7 @@ class IgxChatComponent {
|
|
|
40
40
|
this._view = inject(ViewContainerRef);
|
|
41
41
|
this._templateViewRefs = new Map();
|
|
42
42
|
this._oldTemplates = {};
|
|
43
|
-
this._transformedTemplates = signal({}, ...(ngDevMode ? [{ debugName: "_transformedTemplates" }] : []));
|
|
43
|
+
this._transformedTemplates = signal({}, ...(ngDevMode ? [{ debugName: "_transformedTemplates" }] : /* istanbul ignore next */ []));
|
|
44
44
|
this._mergedOptions = computed(() => {
|
|
45
45
|
const options = this.options();
|
|
46
46
|
const transformedTemplates = this._transformedTemplates();
|
|
@@ -48,17 +48,17 @@ class IgxChatComponent {
|
|
|
48
48
|
...options,
|
|
49
49
|
renderers: transformedTemplates
|
|
50
50
|
};
|
|
51
|
-
}, ...(ngDevMode ? [{ debugName: "_mergedOptions" }] : []));
|
|
51
|
+
}, ...(ngDevMode ? [{ debugName: "_mergedOptions" }] : /* istanbul ignore next */ []));
|
|
52
52
|
//#endregion
|
|
53
53
|
//#region Inputs
|
|
54
54
|
/** Array of chat messages to display */
|
|
55
|
-
this.messages = input([], ...(ngDevMode ? [{ debugName: "messages" }] : []));
|
|
55
|
+
this.messages = input([], ...(ngDevMode ? [{ debugName: "messages" }] : /* istanbul ignore next */ []));
|
|
56
56
|
/** Draft message with text and optional attachments */
|
|
57
|
-
this.draftMessage = input({ text: '' }, ...(ngDevMode ? [{ debugName: "draftMessage" }] : []));
|
|
57
|
+
this.draftMessage = input({ text: '' }, ...(ngDevMode ? [{ debugName: "draftMessage" }] : /* istanbul ignore next */ []));
|
|
58
58
|
/** Configuration options for the chat component */
|
|
59
|
-
this.options = input({}, ...(ngDevMode ? [{ debugName: "options" }] : []));
|
|
59
|
+
this.options = input({}, ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
|
|
60
60
|
/** Custom templates for rendering chat elements */
|
|
61
|
-
this.templates = input({}, ...(ngDevMode ? [{ debugName: "templates" }] : []));
|
|
61
|
+
this.templates = input({}, ...(ngDevMode ? [{ debugName: "templates" }] : /* istanbul ignore next */ []));
|
|
62
62
|
//#endregion
|
|
63
63
|
//#region Outputs
|
|
64
64
|
/** Emitted when a new message is created */
|
|
@@ -139,10 +139,10 @@ class IgxChatComponent {
|
|
|
139
139
|
return viewRef.rootNodes;
|
|
140
140
|
};
|
|
141
141
|
}
|
|
142
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
143
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.
|
|
142
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxChatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
143
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.5", type: IgxChatComponent, isStandalone: true, selector: "igx-chat", inputs: { messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null }, draftMessage: { classPropertyName: "draftMessage", publicName: "draftMessage", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, templates: { classPropertyName: "templates", publicName: "templates", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { messageCreated: "messageCreated", messageReact: "messageReact", attachmentClick: "attachmentClick", attachmentDrag: "attachmentDrag", attachmentDrop: "attachmentDrop", typingChange: "typingChange", inputFocus: "inputFocus", inputBlur: "inputBlur", inputChange: "inputChange" }, ngImport: i0, template: "<igc-chat\n [messages]=\"messages()\"\n [draftMessage]=\"draftMessage()\"\n [options]=\"_mergedOptions()\"\n (igcMessageCreated)=\"messageCreated.emit($event.detail)\"\n (igcMessageReact)=\"messageReact.emit($event.detail)\"\n (igcAttachmentClick)=\"attachmentClick.emit($event.detail)\"\n (igcAttachmentDrag)=\"attachmentDrag.emit()\"\n (igcAttachmentDrop)=\"attachmentDrop.emit()\"\n (igcTypingChange)=\"typingChange.emit($event.detail)\"\n (igcInputFocus)=\"inputFocus.emit()\"\n (igcInputBlur)=\"inputBlur.emit()\"\n (igcInputChange)=\"inputChange.emit($event.detail)\"\n>\n <ng-content></ng-content>\n</igc-chat>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
144
144
|
}
|
|
145
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxChatComponent, decorators: [{
|
|
146
146
|
type: Component,
|
|
147
147
|
args: [{ selector: 'igx-chat', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<igc-chat\n [messages]=\"messages()\"\n [draftMessage]=\"draftMessage()\"\n [options]=\"_mergedOptions()\"\n (igcMessageCreated)=\"messageCreated.emit($event.detail)\"\n (igcMessageReact)=\"messageReact.emit($event.detail)\"\n (igcAttachmentClick)=\"attachmentClick.emit($event.detail)\"\n (igcAttachmentDrag)=\"attachmentDrag.emit()\"\n (igcAttachmentDrop)=\"attachmentDrop.emit()\"\n (igcTypingChange)=\"typingChange.emit($event.detail)\"\n (igcInputFocus)=\"inputFocus.emit()\"\n (igcInputBlur)=\"inputBlur.emit()\"\n (igcInputChange)=\"inputChange.emit($event.detail)\"\n>\n <ng-content></ng-content>\n</igc-chat>\n" }]
|
|
148
148
|
}], ctorParameters: () => [], propDecorators: { messages: [{ type: i0.Input, args: [{ isSignal: true, alias: "messages", required: false }] }], draftMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "draftMessage", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], templates: [{ type: i0.Input, args: [{ isSignal: true, alias: "templates", required: false }] }], messageCreated: [{ type: i0.Output, args: ["messageCreated"] }], messageReact: [{ type: i0.Output, args: ["messageReact"] }], attachmentClick: [{ type: i0.Output, args: ["attachmentClick"] }], attachmentDrag: [{ type: i0.Output, args: ["attachmentDrag"] }], attachmentDrop: [{ type: i0.Output, args: ["attachmentDrop"] }], typingChange: [{ type: i0.Output, args: ["typingChange"] }], inputFocus: [{ type: i0.Output, args: ["inputFocus"] }], inputBlur: [{ type: i0.Output, args: ["inputBlur"] }], inputChange: [{ type: i0.Output, args: ["inputChange"] }] } });
|
|
@@ -161,10 +161,10 @@ class IgxChatMessageContextDirective {
|
|
|
161
161
|
static ngTemplateContextGuard(_, ctx) {
|
|
162
162
|
return true;
|
|
163
163
|
}
|
|
164
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
165
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
164
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxChatMessageContextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
165
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: IgxChatMessageContextDirective, isStandalone: true, selector: "[igxChatMessageContext]", ngImport: i0 }); }
|
|
166
166
|
}
|
|
167
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
167
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxChatMessageContextDirective, decorators: [{
|
|
168
168
|
type: Directive,
|
|
169
169
|
args: [{ selector: '[igxChatMessageContext]', standalone: true }]
|
|
170
170
|
}] });
|
|
@@ -183,10 +183,10 @@ class IgxChatAttachmentContextDirective {
|
|
|
183
183
|
static ngTemplateContextGuard(_, ctx) {
|
|
184
184
|
return true;
|
|
185
185
|
}
|
|
186
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
187
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
186
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxChatAttachmentContextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
187
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: IgxChatAttachmentContextDirective, isStandalone: true, selector: "[igxChatAttachmentContext]", ngImport: i0 }); }
|
|
188
188
|
}
|
|
189
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxChatAttachmentContextDirective, decorators: [{
|
|
190
190
|
type: Directive,
|
|
191
191
|
args: [{ selector: '[igxChatAttachmentContext]', standalone: true }]
|
|
192
192
|
}] });
|
|
@@ -205,10 +205,10 @@ class IgxChatInputContextDirective {
|
|
|
205
205
|
static ngTemplateContextGuard(_, ctx) {
|
|
206
206
|
return true;
|
|
207
207
|
}
|
|
208
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
209
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
208
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxChatInputContextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
209
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: IgxChatInputContextDirective, isStandalone: true, selector: "[igxChatInputContext]", ngImport: i0 }); }
|
|
210
210
|
}
|
|
211
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
211
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxChatInputContextDirective, decorators: [{
|
|
212
212
|
type: Directive,
|
|
213
213
|
args: [{ selector: '[igxChatInputContext]', standalone: true }]
|
|
214
214
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igniteui-angular-chat.mjs","sources":["../../../projects/igniteui-angular/chat/src/chat.component.ts","../../../projects/igniteui-angular/chat/src/chat.component.html","../../../projects/igniteui-angular/chat/src/igniteui-angular-chat.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n CUSTOM_ELEMENTS_SCHEMA,\n Directive,\n effect,\n inject,\n input,\n OnInit,\n output,\n signal,\n TemplateRef,\n ViewContainerRef,\n OnDestroy,\n ViewRef,\n computed,\n} from '@angular/core';\nimport {\n IgcChatComponent,\n type IgcChatMessageAttachment,\n type IgcChatMessage,\n type IgcChatOptions,\n type ChatRenderContext,\n type ChatRenderers,\n type ChatAttachmentRenderContext,\n type ChatInputRenderContext,\n type ChatMessageRenderContext,\n type IgcChatMessageReaction,\n} from 'igniteui-webcomponents';\n\ntype ChatContextUnion =\n | ChatAttachmentRenderContext\n | ChatMessageRenderContext\n | ChatInputRenderContext\n | ChatRenderContext;\n\ntype ChatContextType<T extends ChatContextUnion> =\n T extends ChatAttachmentRenderContext\n ? IgcChatMessageAttachment\n : T extends ChatMessageRenderContext\n ? IgcChatMessage\n : T extends ChatInputRenderContext\n ? string\n : T extends ChatRenderContext\n ? { instance: IgcChatComponent }\n : never;\n\ntype ExtractChatContext<T> = T extends (ctx: infer R) => any ? R : never;\n\ntype ChatTemplatesContextMap = {\n [K in keyof ChatRenderers]: {\n $implicit: ChatContextType<\n ExtractChatContext<NonNullable<ChatRenderers[K]>> & ChatContextUnion\n >;\n };\n};\n\n/**\n * Template references for customizing chat component rendering.\n * Each property corresponds to a specific part of the chat UI that can be customized.\n *\n * @example\n * ```typescript\n * templates = {\n * messageContent: this.customMessageTemplate,\n * attachment: this.customAttachmentTemplate\n * }\n * ```\n */\nexport type IgxChatTemplates = {\n [K in keyof Omit<ChatRenderers, 'typingIndicator'>]?: TemplateRef<ChatTemplatesContextMap[K]>;\n};\n\n/**\n * Configuration options for the chat component.\n */\nexport type IgxChatOptions = Omit<IgcChatOptions, 'renderers'>;\n\n\n/**\n * Angular wrapper component for the Ignite UI Web Components Chat component.\n *\n * This component provides an Angular-friendly interface to the igc-chat web component,\n * including support for Angular templates, signals, and change detection.\n *\n * Uses OnPush change detection strategy for optimal performance. All inputs are signals,\n * so changes are automatically tracked and propagated to the underlying web component.\n *\n * @example\n * ```typescript\n * <igx-chat\n * [messages]=\"messages\"\n * [draftMessage]=\"draft\"\n * [options]=\"chatOptions\"\n * [templates]=\"chatTemplates\"\n * (messageCreated)=\"onMessageCreated($event)\"\n * />\n * ```\n */\n@Component({\n selector: 'igx-chat',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n templateUrl: './chat.component.html'\n})\nexport class IgxChatComponent implements OnInit, OnDestroy {\n //#region Internal state\n\n private readonly _view = inject(ViewContainerRef);\n private readonly _templateViewRefs = new Map<TemplateRef<any>, Set<ViewRef>>();\n private _oldTemplates: IgxChatTemplates = {};\n\n protected readonly _transformedTemplates = signal<ChatRenderers>({});\n\n protected readonly _mergedOptions = computed<IgcChatOptions>(() => {\n const options = this.options();\n const transformedTemplates = this._transformedTemplates();\n return {\n ...options,\n renderers: transformedTemplates\n };\n });\n\n //#endregion\n\n //#region Inputs\n\n /** Array of chat messages to display */\n public readonly messages = input<IgcChatMessage[]>([]);\n\n /** Draft message with text and optional attachments */\n public readonly draftMessage = input<\n { text: string; attachments?: IgcChatMessageAttachment[] } | undefined\n >({ text: '' });\n\n /** Configuration options for the chat component */\n public readonly options = input<IgxChatOptions>({});\n\n /** Custom templates for rendering chat elements */\n public readonly templates = input<IgxChatTemplates>({});\n\n //#endregion\n\n //#region Outputs\n\n /** Emitted when a new message is created */\n public readonly messageCreated = output<IgcChatMessage>();\n\n /** Emitted when a user reacts to a message */\n public readonly messageReact = output<IgcChatMessageReaction>();\n\n /** Emitted when an attachment is clicked */\n public readonly attachmentClick = output<IgcChatMessageAttachment>();\n\n /** Emitted when attachment drag starts */\n public readonly attachmentDrag = output<void>();\n\n /** Emitted when attachment is dropped */\n public readonly attachmentDrop = output<void>();\n\n /** Emitted when typing indicator state changes */\n public readonly typingChange = output<boolean>();\n\n /** Emitted when the input receives focus */\n public readonly inputFocus = output<void>();\n\n /** Emitted when the input loses focus */\n public readonly inputBlur = output<void>();\n\n /** Emitted when the input value changes */\n public readonly inputChange = output<string>();\n\n //#endregion\n\n /** @internal */\n public ngOnInit(): void {\n IgcChatComponent.register();\n }\n\n /** @internal */\n public ngOnDestroy(): void {\n for (const viewSet of this._templateViewRefs.values()) {\n viewSet.forEach(viewRef => viewRef.destroy());\n }\n this._templateViewRefs.clear();\n }\n\n constructor() {\n // Templates changed - update transformed templates and viewRefs\n effect(() => {\n const templates = this.templates();\n this._setTemplates(templates ?? {});\n });\n }\n\n private _setTemplates(newTemplates: IgxChatTemplates): void {\n const templateCopies: ChatRenderers = {};\n const newTemplateKeys = Object.keys(newTemplates) as Array<keyof IgxChatTemplates>;\n\n const oldTemplates = this._oldTemplates;\n const oldTemplateKeys = Object.keys(oldTemplates) as Array<keyof IgxChatTemplates>;\n\n for (const key of oldTemplateKeys) {\n const oldRef = oldTemplates[key];\n const newRef = newTemplates[key];\n\n if (oldRef && oldRef !== newRef) {\n const obsolete = this._templateViewRefs.get(oldRef);\n if (obsolete) {\n obsolete.forEach(viewRef => viewRef.destroy());\n this._templateViewRefs.delete(oldRef);\n }\n }\n }\n\n this._oldTemplates = {};\n\n for (const key of newTemplateKeys) {\n const ref = newTemplates[key];\n if (ref) {\n (this._oldTemplates as Record<string, TemplateRef<unknown>>)[key] = ref;\n templateCopies[key] = this._createTemplateRenderer(ref);\n }\n }\n\n this._transformedTemplates.set(templateCopies);\n }\n\n private _createTemplateRenderer<K extends keyof IgxChatTemplates>(ref: NonNullable<IgxChatTemplates[K]>) {\n type ChatContext = ExtractChatContext<NonNullable<ChatRenderers[K]>>;\n\n if (!this._templateViewRefs.has(ref)) {\n this._templateViewRefs.set(ref, new Set<ViewRef>());\n }\n\n const viewSet = this._templateViewRefs.get(ref)!;\n\n return (ctx: ChatContext) => {\n const context = ctx as ChatContextUnion;\n let angularContext: any;\n\n if ('message' in context && 'attachment' in context) {\n angularContext = { $implicit: context.attachment };\n } else if ('message' in context) {\n angularContext = { $implicit: context.message };\n } else if ('value' in context) {\n angularContext = {\n $implicit: context.value,\n attachments: context.attachments\n };\n } else {\n angularContext = { $implicit: { instance: context.instance } };\n }\n\n const viewRef = this._view.createEmbeddedView(ref, angularContext);\n viewSet.add(viewRef);\n\n return viewRef.rootNodes;\n }\n }\n}\n\n/**\n * Context provided to the chat input template.\n */\nexport interface ChatInputContext {\n /** The current input value */\n $implicit: string;\n /** Array of attachments associated with the input */\n attachments: IgcChatMessageAttachment[];\n}\n\n/**\n * Directive providing type information for chat message template contexts.\n * Use this directive on ng-template elements that render chat messages.\n *\n * @example\n * ```html\n * <ng-template igxChatMessageContext let-message>\n * <div>{{ message.text }}</div>\n * </ng-template>\n * ```\n */\n@Directive({ selector: '[igxChatMessageContext]', standalone: true })\nexport class IgxChatMessageContextDirective {\n\n public static ngTemplateContextGuard(_: IgxChatMessageContextDirective, ctx: unknown): ctx is { $implicit: IgcChatMessage } {\n return true;\n }\n}\n\n/**\n * Directive providing type information for chat attachment template contexts.\n * Use this directive on ng-template elements that render message attachments.\n *\n * @example\n * ```html\n * <ng-template igxChatAttachmentContext let-attachment>\n * <img [src]=\"attachment.url\" />\n * </ng-template>\n * ```\n */\n@Directive({ selector: '[igxChatAttachmentContext]', standalone: true })\nexport class IgxChatAttachmentContextDirective {\n\n public static ngTemplateContextGuard(_: IgxChatAttachmentContextDirective, ctx: unknown): ctx is { $implicit: IgcChatMessageAttachment } {\n return true;\n }\n}\n\n/**\n * Directive providing type information for chat input template contexts.\n * Use this directive on ng-template elements that render the chat input.\n *\n * @example\n * ```html\n * <ng-template igxChatInputContext let-value let-attachments=\"attachments\">\n * <input [value]=\"value\" />\n * </ng-template>\n * ```\n */\n@Directive({ selector: '[igxChatInputContext]', standalone: true })\nexport class IgxChatInputContextDirective {\n\n public static ngTemplateContextGuard(_: IgxChatInputContextDirective, ctx: unknown): ctx is ChatInputContext {\n return true;\n }\n}\n","<igc-chat\n [messages]=\"messages()\"\n [draftMessage]=\"draftMessage()\"\n [options]=\"_mergedOptions()\"\n (igcMessageCreated)=\"messageCreated.emit($event.detail)\"\n (igcMessageReact)=\"messageReact.emit($event.detail)\"\n (igcAttachmentClick)=\"attachmentClick.emit($event.detail)\"\n (igcAttachmentDrag)=\"attachmentDrag.emit()\"\n (igcAttachmentDrop)=\"attachmentDrop.emit()\"\n (igcTypingChange)=\"typingChange.emit($event.detail)\"\n (igcInputFocus)=\"inputFocus.emit()\"\n (igcInputBlur)=\"inputBlur.emit()\"\n (igcInputChange)=\"inputChange.emit($event.detail)\"\n>\n <ng-content></ng-content>\n</igc-chat>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;AA+EA;;;;;;;;;;;;;;;;;;;AAmBG;MAQU,gBAAgB,CAAA;;;IAsElB,QAAQ,GAAA;QACX,gBAAgB,CAAC,QAAQ,EAAE;IAC/B;;IAGO,WAAW,GAAA;QACd,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE;AACnD,YAAA,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACjD;AACA,QAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;IAClC;AAEA,IAAA,WAAA,GAAA;;AA/EiB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAChC,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,GAAG,EAAkC;QACtE,IAAA,CAAA,aAAa,GAAqB,EAAE;AAEzB,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAAgB,EAAE,iEAAC;AAEjD,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAiB,MAAK;AAC9D,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;AAC9B,YAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE;YACzD,OAAO;AACH,gBAAA,GAAG,OAAO;AACV,gBAAA,SAAS,EAAE;aACd;AACL,QAAA,CAAC,0DAAC;;;;AAOc,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAmB,EAAE,oDAAC;;QAGtC,IAAA,CAAA,YAAY,GAAG,KAAK,CAElC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;;AAGC,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAiB,EAAE,mDAAC;;AAGnC,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAmB,EAAE,qDAAC;;;;QAOvC,IAAA,CAAA,cAAc,GAAG,MAAM,EAAkB;;QAGzC,IAAA,CAAA,YAAY,GAAG,MAAM,EAA0B;;QAG/C,IAAA,CAAA,eAAe,GAAG,MAAM,EAA4B;;QAGpD,IAAA,CAAA,cAAc,GAAG,MAAM,EAAQ;;QAG/B,IAAA,CAAA,cAAc,GAAG,MAAM,EAAQ;;QAG/B,IAAA,CAAA,YAAY,GAAG,MAAM,EAAW;;QAGhC,IAAA,CAAA,UAAU,GAAG,MAAM,EAAQ;;QAG3B,IAAA,CAAA,SAAS,GAAG,MAAM,EAAQ;;QAG1B,IAAA,CAAA,WAAW,GAAG,MAAM,EAAU;;QAmB1C,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AAClC,YAAA,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,EAAE,CAAC;AACvC,QAAA,CAAC,CAAC;IACN;AAEQ,IAAA,aAAa,CAAC,YAA8B,EAAA;QAChD,MAAM,cAAc,GAAkB,EAAE;QACxC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAkC;AAElF,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa;QACvC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAkC;AAElF,QAAA,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE;AAC/B,YAAA,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC;AAChC,YAAA,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC;AAEhC,YAAA,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE;gBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC;gBACnD,IAAI,QAAQ,EAAE;AACV,oBAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;AAC9C,oBAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC;gBACzC;YACJ;QACJ;AAEA,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE;AAEvB,QAAA,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE;AAC/B,YAAA,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC;YAC7B,IAAI,GAAG,EAAE;AACJ,gBAAA,IAAI,CAAC,aAAsD,CAAC,GAAG,CAAC,GAAG,GAAG;gBACvE,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC;YAC3D;QACJ;AAEA,QAAA,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,cAAc,CAAC;IAClD;AAEQ,IAAA,uBAAuB,CAAmC,GAAqC,EAAA;QAGnG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAClC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,EAAW,CAAC;QACvD;QAEA,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAE;QAEhD,OAAO,CAAC,GAAgB,KAAI;YACxB,MAAM,OAAO,GAAG,GAAuB;AACvC,YAAA,IAAI,cAAmB;YAEvB,IAAI,SAAS,IAAI,OAAO,IAAI,YAAY,IAAI,OAAO,EAAE;gBACjD,cAAc,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE;YACtD;AAAO,iBAAA,IAAI,SAAS,IAAI,OAAO,EAAE;gBAC7B,cAAc,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE;YACnD;AAAO,iBAAA,IAAI,OAAO,IAAI,OAAO,EAAE;AAC3B,gBAAA,cAAc,GAAG;oBACb,SAAS,EAAE,OAAO,CAAC,KAAK;oBACxB,WAAW,EAAE,OAAO,CAAC;iBACxB;YACL;iBAAO;AACH,gBAAA,cAAc,GAAG,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE;YAClE;AAEA,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,EAAE,cAAc,CAAC;AAClE,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YAEpB,OAAO,OAAO,CAAC,SAAS;AAC5B,QAAA,CAAC;IACL;8GA1JS,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,i4BC1G7B,4nBAgBA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FD0Fa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,SAAS;+BACI,UAAU,EAAA,UAAA,EACR,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,sBAAsB,CAAC,EAAA,QAAA,EAAA,4nBAAA,EAAA;;AA0KrC;;;;;;;;;;AAUG;MAEU,8BAA8B,CAAA;AAEhC,IAAA,OAAO,sBAAsB,CAAC,CAAiC,EAAE,GAAY,EAAA;AAChF,QAAA,OAAO,IAAI;IACf;8GAJS,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAD1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,QAAQ,EAAE,yBAAyB,EAAE,UAAU,EAAE,IAAI,EAAE;;AAQpE;;;;;;;;;;AAUG;MAEU,iCAAiC,CAAA;AAEnC,IAAA,OAAO,sBAAsB,CAAC,CAAoC,EAAE,GAAY,EAAA;AACnF,QAAA,OAAO,IAAI;IACf;8GAJS,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjC,iCAAiC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAjC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAD7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,QAAQ,EAAE,4BAA4B,EAAE,UAAU,EAAE,IAAI,EAAE;;AAQvE;;;;;;;;;;AAUG;MAEU,4BAA4B,CAAA;AAE9B,IAAA,OAAO,sBAAsB,CAAC,CAA+B,EAAE,GAAY,EAAA;AAC9E,QAAA,OAAO,IAAI;IACf;8GAJS,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBADxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,QAAQ,EAAE,uBAAuB,EAAE,UAAU,EAAE,IAAI,EAAE;;;AElUlE;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"igniteui-angular-chat.mjs","sources":["../../../projects/igniteui-angular/chat/src/chat.component.ts","../../../projects/igniteui-angular/chat/src/chat.component.html","../../../projects/igniteui-angular/chat/src/igniteui-angular-chat.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n CUSTOM_ELEMENTS_SCHEMA,\n Directive,\n effect,\n inject,\n input,\n OnInit,\n output,\n signal,\n TemplateRef,\n ViewContainerRef,\n OnDestroy,\n ViewRef,\n computed,\n} from '@angular/core';\nimport {\n IgcChatComponent,\n type IgcChatMessageAttachment,\n type IgcChatMessage,\n type IgcChatOptions,\n type ChatRenderContext,\n type ChatRenderers,\n type ChatAttachmentRenderContext,\n type ChatInputRenderContext,\n type ChatMessageRenderContext,\n type IgcChatMessageReaction,\n} from 'igniteui-webcomponents';\n\ntype ChatContextUnion =\n | ChatAttachmentRenderContext\n | ChatMessageRenderContext\n | ChatInputRenderContext\n | ChatRenderContext;\n\ntype ChatContextType<T extends ChatContextUnion> =\n T extends ChatAttachmentRenderContext\n ? IgcChatMessageAttachment\n : T extends ChatMessageRenderContext\n ? IgcChatMessage\n : T extends ChatInputRenderContext\n ? string\n : T extends ChatRenderContext\n ? { instance: IgcChatComponent }\n : never;\n\ntype ExtractChatContext<T> = T extends (ctx: infer R) => any ? R : never;\n\ntype ChatTemplatesContextMap = {\n [K in keyof ChatRenderers]: {\n $implicit: ChatContextType<\n ExtractChatContext<NonNullable<ChatRenderers[K]>> & ChatContextUnion\n >;\n };\n};\n\n/**\n * Template references for customizing chat component rendering.\n * Each property corresponds to a specific part of the chat UI that can be customized.\n *\n * @example\n * ```typescript\n * templates = {\n * messageContent: this.customMessageTemplate,\n * attachment: this.customAttachmentTemplate\n * }\n * ```\n */\nexport type IgxChatTemplates = {\n [K in keyof Omit<ChatRenderers, 'typingIndicator'>]?: TemplateRef<ChatTemplatesContextMap[K]>;\n};\n\n/**\n * Configuration options for the chat component.\n */\nexport type IgxChatOptions = Omit<IgcChatOptions, 'renderers'>;\n\n\n/**\n * Angular wrapper component for the Ignite UI Web Components Chat component.\n *\n * This component provides an Angular-friendly interface to the igc-chat web component,\n * including support for Angular templates, signals, and change detection.\n *\n * Uses OnPush change detection strategy for optimal performance. All inputs are signals,\n * so changes are automatically tracked and propagated to the underlying web component.\n *\n * @example\n * ```typescript\n * <igx-chat\n * [messages]=\"messages\"\n * [draftMessage]=\"draft\"\n * [options]=\"chatOptions\"\n * [templates]=\"chatTemplates\"\n * (messageCreated)=\"onMessageCreated($event)\"\n * />\n * ```\n */\n@Component({\n selector: 'igx-chat',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n templateUrl: './chat.component.html'\n})\nexport class IgxChatComponent implements OnInit, OnDestroy {\n //#region Internal state\n\n private readonly _view = inject(ViewContainerRef);\n private readonly _templateViewRefs = new Map<TemplateRef<any>, Set<ViewRef>>();\n private _oldTemplates: IgxChatTemplates = {};\n\n protected readonly _transformedTemplates = signal<ChatRenderers>({});\n\n protected readonly _mergedOptions = computed<IgcChatOptions>(() => {\n const options = this.options();\n const transformedTemplates = this._transformedTemplates();\n return {\n ...options,\n renderers: transformedTemplates\n };\n });\n\n //#endregion\n\n //#region Inputs\n\n /** Array of chat messages to display */\n public readonly messages = input<IgcChatMessage[]>([]);\n\n /** Draft message with text and optional attachments */\n public readonly draftMessage = input<\n { text: string; attachments?: IgcChatMessageAttachment[] } | undefined\n >({ text: '' });\n\n /** Configuration options for the chat component */\n public readonly options = input<IgxChatOptions>({});\n\n /** Custom templates for rendering chat elements */\n public readonly templates = input<IgxChatTemplates>({});\n\n //#endregion\n\n //#region Outputs\n\n /** Emitted when a new message is created */\n public readonly messageCreated = output<IgcChatMessage>();\n\n /** Emitted when a user reacts to a message */\n public readonly messageReact = output<IgcChatMessageReaction>();\n\n /** Emitted when an attachment is clicked */\n public readonly attachmentClick = output<IgcChatMessageAttachment>();\n\n /** Emitted when attachment drag starts */\n public readonly attachmentDrag = output<void>();\n\n /** Emitted when attachment is dropped */\n public readonly attachmentDrop = output<void>();\n\n /** Emitted when typing indicator state changes */\n public readonly typingChange = output<boolean>();\n\n /** Emitted when the input receives focus */\n public readonly inputFocus = output<void>();\n\n /** Emitted when the input loses focus */\n public readonly inputBlur = output<void>();\n\n /** Emitted when the input value changes */\n public readonly inputChange = output<string>();\n\n //#endregion\n\n /** @internal */\n public ngOnInit(): void {\n IgcChatComponent.register();\n }\n\n /** @internal */\n public ngOnDestroy(): void {\n for (const viewSet of this._templateViewRefs.values()) {\n viewSet.forEach(viewRef => viewRef.destroy());\n }\n this._templateViewRefs.clear();\n }\n\n constructor() {\n // Templates changed - update transformed templates and viewRefs\n effect(() => {\n const templates = this.templates();\n this._setTemplates(templates ?? {});\n });\n }\n\n private _setTemplates(newTemplates: IgxChatTemplates): void {\n const templateCopies: ChatRenderers = {};\n const newTemplateKeys = Object.keys(newTemplates) as Array<keyof IgxChatTemplates>;\n\n const oldTemplates = this._oldTemplates;\n const oldTemplateKeys = Object.keys(oldTemplates) as Array<keyof IgxChatTemplates>;\n\n for (const key of oldTemplateKeys) {\n const oldRef = oldTemplates[key];\n const newRef = newTemplates[key];\n\n if (oldRef && oldRef !== newRef) {\n const obsolete = this._templateViewRefs.get(oldRef);\n if (obsolete) {\n obsolete.forEach(viewRef => viewRef.destroy());\n this._templateViewRefs.delete(oldRef);\n }\n }\n }\n\n this._oldTemplates = {};\n\n for (const key of newTemplateKeys) {\n const ref = newTemplates[key];\n if (ref) {\n (this._oldTemplates as Record<string, TemplateRef<unknown>>)[key] = ref;\n templateCopies[key] = this._createTemplateRenderer(ref);\n }\n }\n\n this._transformedTemplates.set(templateCopies);\n }\n\n private _createTemplateRenderer<K extends keyof IgxChatTemplates>(ref: NonNullable<IgxChatTemplates[K]>) {\n type ChatContext = ExtractChatContext<NonNullable<ChatRenderers[K]>>;\n\n if (!this._templateViewRefs.has(ref)) {\n this._templateViewRefs.set(ref, new Set<ViewRef>());\n }\n\n const viewSet = this._templateViewRefs.get(ref)!;\n\n return (ctx: ChatContext) => {\n const context = ctx as ChatContextUnion;\n let angularContext: any;\n\n if ('message' in context && 'attachment' in context) {\n angularContext = { $implicit: context.attachment };\n } else if ('message' in context) {\n angularContext = { $implicit: context.message };\n } else if ('value' in context) {\n angularContext = {\n $implicit: context.value,\n attachments: context.attachments\n };\n } else {\n angularContext = { $implicit: { instance: context.instance } };\n }\n\n const viewRef = this._view.createEmbeddedView(ref, angularContext);\n viewSet.add(viewRef);\n\n return viewRef.rootNodes;\n }\n }\n}\n\n/**\n * Context provided to the chat input template.\n */\nexport interface ChatInputContext {\n /** The current input value */\n $implicit: string;\n /** Array of attachments associated with the input */\n attachments: IgcChatMessageAttachment[];\n}\n\n/**\n * Directive providing type information for chat message template contexts.\n * Use this directive on ng-template elements that render chat messages.\n *\n * @example\n * ```html\n * <ng-template igxChatMessageContext let-message>\n * <div>{{ message.text }}</div>\n * </ng-template>\n * ```\n */\n@Directive({ selector: '[igxChatMessageContext]', standalone: true })\nexport class IgxChatMessageContextDirective {\n\n public static ngTemplateContextGuard(_: IgxChatMessageContextDirective, ctx: unknown): ctx is { $implicit: IgcChatMessage } {\n return true;\n }\n}\n\n/**\n * Directive providing type information for chat attachment template contexts.\n * Use this directive on ng-template elements that render message attachments.\n *\n * @example\n * ```html\n * <ng-template igxChatAttachmentContext let-attachment>\n * <img [src]=\"attachment.url\" />\n * </ng-template>\n * ```\n */\n@Directive({ selector: '[igxChatAttachmentContext]', standalone: true })\nexport class IgxChatAttachmentContextDirective {\n\n public static ngTemplateContextGuard(_: IgxChatAttachmentContextDirective, ctx: unknown): ctx is { $implicit: IgcChatMessageAttachment } {\n return true;\n }\n}\n\n/**\n * Directive providing type information for chat input template contexts.\n * Use this directive on ng-template elements that render the chat input.\n *\n * @example\n * ```html\n * <ng-template igxChatInputContext let-value let-attachments=\"attachments\">\n * <input [value]=\"value\" />\n * </ng-template>\n * ```\n */\n@Directive({ selector: '[igxChatInputContext]', standalone: true })\nexport class IgxChatInputContextDirective {\n\n public static ngTemplateContextGuard(_: IgxChatInputContextDirective, ctx: unknown): ctx is ChatInputContext {\n return true;\n }\n}\n","<igc-chat\n [messages]=\"messages()\"\n [draftMessage]=\"draftMessage()\"\n [options]=\"_mergedOptions()\"\n (igcMessageCreated)=\"messageCreated.emit($event.detail)\"\n (igcMessageReact)=\"messageReact.emit($event.detail)\"\n (igcAttachmentClick)=\"attachmentClick.emit($event.detail)\"\n (igcAttachmentDrag)=\"attachmentDrag.emit()\"\n (igcAttachmentDrop)=\"attachmentDrop.emit()\"\n (igcTypingChange)=\"typingChange.emit($event.detail)\"\n (igcInputFocus)=\"inputFocus.emit()\"\n (igcInputBlur)=\"inputBlur.emit()\"\n (igcInputChange)=\"inputChange.emit($event.detail)\"\n>\n <ng-content></ng-content>\n</igc-chat>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;AA+EA;;;;;;;;;;;;;;;;;;;AAmBG;MAQU,gBAAgB,CAAA;;;IAsElB,QAAQ,GAAA;QACX,gBAAgB,CAAC,QAAQ,EAAE;IAC/B;;IAGO,WAAW,GAAA;QACd,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE;AACnD,YAAA,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACjD;AACA,QAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;IAClC;AAEA,IAAA,WAAA,GAAA;;AA/EiB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAChC,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,GAAG,EAAkC;QACtE,IAAA,CAAA,aAAa,GAAqB,EAAE;AAEzB,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAAgB,EAAE,4FAAC;AAEjD,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAiB,MAAK;AAC9D,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;AAC9B,YAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE;YACzD,OAAO;AACH,gBAAA,GAAG,OAAO;AACV,gBAAA,SAAS,EAAE;aACd;AACL,QAAA,CAAC,qFAAC;;;;AAOc,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAmB,EAAE,+EAAC;;QAGtC,IAAA,CAAA,YAAY,GAAG,KAAK,CAElC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;;AAGC,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAiB,EAAE,8EAAC;;AAGnC,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAmB,EAAE,gFAAC;;;;QAOvC,IAAA,CAAA,cAAc,GAAG,MAAM,EAAkB;;QAGzC,IAAA,CAAA,YAAY,GAAG,MAAM,EAA0B;;QAG/C,IAAA,CAAA,eAAe,GAAG,MAAM,EAA4B;;QAGpD,IAAA,CAAA,cAAc,GAAG,MAAM,EAAQ;;QAG/B,IAAA,CAAA,cAAc,GAAG,MAAM,EAAQ;;QAG/B,IAAA,CAAA,YAAY,GAAG,MAAM,EAAW;;QAGhC,IAAA,CAAA,UAAU,GAAG,MAAM,EAAQ;;QAG3B,IAAA,CAAA,SAAS,GAAG,MAAM,EAAQ;;QAG1B,IAAA,CAAA,WAAW,GAAG,MAAM,EAAU;;QAmB1C,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AAClC,YAAA,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,EAAE,CAAC;AACvC,QAAA,CAAC,CAAC;IACN;AAEQ,IAAA,aAAa,CAAC,YAA8B,EAAA;QAChD,MAAM,cAAc,GAAkB,EAAE;QACxC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAkC;AAElF,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa;QACvC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAkC;AAElF,QAAA,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE;AAC/B,YAAA,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC;AAChC,YAAA,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC;AAEhC,YAAA,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE;gBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC;gBACnD,IAAI,QAAQ,EAAE;AACV,oBAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;AAC9C,oBAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC;gBACzC;YACJ;QACJ;AAEA,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE;AAEvB,QAAA,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE;AAC/B,YAAA,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC;YAC7B,IAAI,GAAG,EAAE;AACJ,gBAAA,IAAI,CAAC,aAAsD,CAAC,GAAG,CAAC,GAAG,GAAG;gBACvE,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC;YAC3D;QACJ;AAEA,QAAA,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,cAAc,CAAC;IAClD;AAEQ,IAAA,uBAAuB,CAAmC,GAAqC,EAAA;QAGnG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAClC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,EAAW,CAAC;QACvD;QAEA,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAE;QAEhD,OAAO,CAAC,GAAgB,KAAI;YACxB,MAAM,OAAO,GAAG,GAAuB;AACvC,YAAA,IAAI,cAAmB;YAEvB,IAAI,SAAS,IAAI,OAAO,IAAI,YAAY,IAAI,OAAO,EAAE;gBACjD,cAAc,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE;YACtD;AAAO,iBAAA,IAAI,SAAS,IAAI,OAAO,EAAE;gBAC7B,cAAc,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE;YACnD;AAAO,iBAAA,IAAI,OAAO,IAAI,OAAO,EAAE;AAC3B,gBAAA,cAAc,GAAG;oBACb,SAAS,EAAE,OAAO,CAAC,KAAK;oBACxB,WAAW,EAAE,OAAO,CAAC;iBACxB;YACL;iBAAO;AACH,gBAAA,cAAc,GAAG,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE;YAClE;AAEA,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,EAAE,cAAc,CAAC;AAClE,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YAEpB,OAAO,OAAO,CAAC,SAAS;AAC5B,QAAA,CAAC;IACL;8GA1JS,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,i4BC1G7B,4nBAgBA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FD0Fa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,SAAS;+BACI,UAAU,EAAA,UAAA,EACR,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,sBAAsB,CAAC,EAAA,QAAA,EAAA,4nBAAA,EAAA;;AA0KrC;;;;;;;;;;AAUG;MAEU,8BAA8B,CAAA;AAEhC,IAAA,OAAO,sBAAsB,CAAC,CAAiC,EAAE,GAAY,EAAA;AAChF,QAAA,OAAO,IAAI;IACf;8GAJS,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAD1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,QAAQ,EAAE,yBAAyB,EAAE,UAAU,EAAE,IAAI,EAAE;;AAQpE;;;;;;;;;;AAUG;MAEU,iCAAiC,CAAA;AAEnC,IAAA,OAAO,sBAAsB,CAAC,CAAoC,EAAE,GAAY,EAAA;AACnF,QAAA,OAAO,IAAI;IACf;8GAJS,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjC,iCAAiC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAjC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAD7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,QAAQ,EAAE,4BAA4B,EAAE,UAAU,EAAE,IAAI,EAAE;;AAQvE;;;;;;;;;;AAUG;MAEU,4BAA4B,CAAA;AAE9B,IAAA,OAAO,sBAAsB,CAAC,CAA+B,EAAE,GAAY,EAAA;AAC9E,QAAA,OAAO,IAAI;IACf;8GAJS,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBADxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,QAAQ,EAAE,uBAAuB,EAAE,UAAU,EAAE,IAAI,EAAE;;;AElUlE;;AAEG;;;;"}
|
|
@@ -179,8 +179,8 @@ class IgxCheckboxComponent extends CheckboxBaseDirective {
|
|
|
179
179
|
get checked() {
|
|
180
180
|
return super.checked;
|
|
181
181
|
}
|
|
182
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
183
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
182
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
183
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: IgxCheckboxComponent, isStandalone: true, selector: "igx-checkbox", inputs: { indeterminate: ["indeterminate", "indeterminate", booleanAttribute], checked: ["checked", "checked", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], invalid: ["invalid", "invalid", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute], disableTransitions: ["disableTransitions", "disableTransitions", booleanAttribute] }, host: { properties: { "class.igx-checkbox": "this.cssClass", "class.igx-checkbox--material": "this.material", "class.igx-checkbox--indigo": "this.indigo", "class.igx-checkbox--bootstrap": "this.bootstrap", "class.igx-checkbox--fluent": "this.fluent", "class.igx-checkbox--focused": "this.focused", "class.igx-checkbox--indeterminate": "this.indeterminate", "class.igx-checkbox--checked": "this.checked", "class.igx-checkbox--disabled": "this.disabled", "class.igx-checkbox--invalid": "this.invalid", "class.igx-checkbox--plain": "this.disableTransitions" } }, providers: [
|
|
184
184
|
{
|
|
185
185
|
provide: EDITOR_PROVIDER,
|
|
186
186
|
useExisting: IgxCheckboxComponent,
|
|
@@ -188,7 +188,7 @@ class IgxCheckboxComponent extends CheckboxBaseDirective {
|
|
|
188
188
|
},
|
|
189
189
|
], usesInheritance: true, ngImport: i0, template: "<input #checkbox class=\"igx-checkbox__input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [name]=\"name\"\n [value]=\"value\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled\"\n [indeterminate]=\"indeterminate\"\n [checked]=\"checked\"\n [required]=\"required\"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-labelledby]=\"ariaLabel ? null : ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n (change)=\"_onCheckboxChange($event)\"\n (blur)=\"onBlur()\" />\n\n<div\n igxRipple\n igxRippleTarget=\".igx-checkbox__ripple\"\n [igxRippleDisabled]=\"disableRipple\"\n [igxRippleCentered]=\"true\"\n [igxRippleDuration]=\"300\"\n class=\"igx-checkbox__composite-wrapper\"\n>\n <span #label class=\"igx-checkbox__composite\">\n @if (theme === 'indigo') {\n <svg class=\"igx-checkbox__composite-mark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <rect width=\"18\" height=\"4\" x=\"2\" y=\"9\" rx=\"1.85\"/>\n <path d=\"M19.033 5a1.966 1.966 0 0 0-1.418.586l-8.479 8.577-2.753-2.77a1.971 1.971 0 0 0-2.8 0 1.998 1.998 0 0 0 0 2.822l4.155 4.196a1.955 1.955 0 0 0 2.8 0l9.879-9.99a1.998 1.998 0 0 0 0-2.821 1.966 1.966 0 0 0-1.384-.6Z\"/>\n </svg>\n } @else {\n <svg class=\"igx-checkbox__composite-mark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M4.1,12.7 9,17.6 20.3,6.3\"/>\n </svg>\n }\n </span>\n\n <div class=\"igx-checkbox__ripple\"></div>\n</div>\n\n<span #placeholderLabel\n [class]=\"labelClass\"\n [id]=\"labelId\">\n <ng-content></ng-content>\n</span>\n", dependencies: [{ kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }] }); }
|
|
190
190
|
}
|
|
191
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
191
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCheckboxComponent, decorators: [{
|
|
192
192
|
type: Component,
|
|
193
193
|
args: [{ selector: 'igx-checkbox', providers: [
|
|
194
194
|
{
|
|
@@ -255,11 +255,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
255
255
|
* IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
|
|
256
256
|
*/
|
|
257
257
|
class IgxCheckboxModule {
|
|
258
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
259
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.
|
|
260
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.
|
|
258
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
259
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: IgxCheckboxModule, imports: [IgxCheckboxComponent], exports: [IgxCheckboxComponent] }); }
|
|
260
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCheckboxModule }); }
|
|
261
261
|
}
|
|
262
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
262
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxCheckboxModule, decorators: [{
|
|
263
263
|
type: NgModule,
|
|
264
264
|
args: [{
|
|
265
265
|
imports: [IgxCheckboxComponent],
|