@ctrl/ngx-emoji-mart 7.1.0 → 8.1.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.
- package/README.md +2 -2
- package/anchors.component.d.ts +1 -1
- package/category.component.d.ts +5 -2
- package/esm2020/anchors.component.mjs +3 -3
- package/esm2020/category.component.mjs +54 -54
- package/esm2020/emoji-frequently.service.mjs +3 -3
- package/esm2020/emoji-search.service.mjs +3 -3
- package/esm2020/ngx-emoji/data/categories.mjs +57 -13
- package/esm2020/ngx-emoji/data/emojis.mjs +6098 -3686
- package/esm2020/ngx-emoji/data/skins.mjs +6 -6
- package/esm2020/ngx-emoji/emoji.component.mjs +126 -79
- package/esm2020/ngx-emoji/emoji.module.mjs +4 -4
- package/esm2020/ngx-emoji/emoji.service.mjs +3 -3
- package/esm2020/picker.component.mjs +14 -11
- package/esm2020/picker.module.mjs +4 -4
- package/esm2020/preview.component.mjs +4 -4
- package/esm2020/search.component.mjs +3 -3
- package/esm2020/skins.component.mjs +3 -3
- package/fesm2015/ctrl-ngx-emoji-mart-ngx-emoji.mjs +6187 -3683
- package/fesm2015/ctrl-ngx-emoji-mart-ngx-emoji.mjs.map +1 -1
- package/fesm2015/ctrl-ngx-emoji-mart.mjs +88 -87
- package/fesm2015/ctrl-ngx-emoji-mart.mjs.map +1 -1
- package/fesm2020/ctrl-ngx-emoji-mart-ngx-emoji.mjs +6187 -3683
- package/fesm2020/ctrl-ngx-emoji-mart-ngx-emoji.mjs.map +1 -1
- package/fesm2020/ctrl-ngx-emoji-mart.mjs +88 -85
- package/fesm2020/ctrl-ngx-emoji-mart.mjs.map +1 -1
- package/ngx-emoji/emoji.component.d.ts +22 -7
- package/package.json +11 -5
- package/picker.component.d.ts +2 -2
- package/preview.component.d.ts +1 -1
- package/search.component.d.ts +1 -1
- package/skins.component.d.ts +1 -1
@@ -24,8 +24,8 @@ class AnchorsComponent {
|
|
24
24
|
});
|
25
25
|
}
|
26
26
|
}
|
27
|
-
AnchorsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
28
|
-
AnchorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
27
|
+
AnchorsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AnchorsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
28
|
+
AnchorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: AnchorsComponent, selector: "emoji-mart-anchors", inputs: { categories: "categories", color: "color", selected: "selected", i18n: "i18n", icons: "icons" }, outputs: { anchorClick: "anchorClick" }, ngImport: i0, template: `
|
29
29
|
<div class="emoji-mart-anchors">
|
30
30
|
<ng-template ngFor let-category [ngForOf]="categories" let-idx="index" [ngForTrackBy]="trackByFn">
|
31
31
|
<span
|
@@ -46,7 +46,7 @@ AnchorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
|
|
46
46
|
</ng-template>
|
47
47
|
</div>
|
48
48
|
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: AnchorsComponent, decorators: [{
|
50
50
|
type: Component,
|
51
51
|
args: [{
|
52
52
|
selector: 'emoji-mart-anchors',
|
@@ -163,9 +163,9 @@ class EmojiFrequentlyService {
|
|
163
163
|
return sliced;
|
164
164
|
}
|
165
165
|
}
|
166
|
-
EmojiFrequentlyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
167
|
-
EmojiFrequentlyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
168
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
166
|
+
EmojiFrequentlyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: EmojiFrequentlyService, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
|
167
|
+
EmojiFrequentlyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: EmojiFrequentlyService, providedIn: 'root' });
|
168
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: EmojiFrequentlyService, decorators: [{
|
169
169
|
type: Injectable,
|
170
170
|
args: [{ providedIn: 'root' }]
|
171
171
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
@@ -189,7 +189,10 @@ class CategoryComponent {
|
|
189
189
|
this.virtualize = false;
|
190
190
|
this.virtualizeOffset = 0;
|
191
191
|
this.emojiOver = new EventEmitter();
|
192
|
-
|
192
|
+
/**
|
193
|
+
* Note: the suffix is added explicitly so we know the event is dispatched outside of the Angular zone.
|
194
|
+
*/
|
195
|
+
this.emojiLeaveOutsideAngular = new EventEmitter();
|
193
196
|
this.emojiClick = new EventEmitter();
|
194
197
|
this.containerStyles = {};
|
195
198
|
this.emojisToDisplay = [];
|
@@ -231,7 +234,7 @@ class CategoryComponent {
|
|
231
234
|
...this.containerStyles,
|
232
235
|
minHeight: `${this.rows * (this.emojiSize + 12) + 28}px`,
|
233
236
|
};
|
234
|
-
this.ref
|
237
|
+
this.ref.detectChanges();
|
235
238
|
this.handleScroll(this.container.nativeElement.parentNode.parentNode.scrollTop);
|
236
239
|
}
|
237
240
|
get noEmojiToDisplay() {
|
@@ -257,7 +260,8 @@ class CategoryComponent {
|
|
257
260
|
if (this.virtualize) {
|
258
261
|
const { top, height } = this.container.nativeElement.getBoundingClientRect();
|
259
262
|
const parentHeight = this.container.nativeElement.parentNode.parentNode.clientHeight;
|
260
|
-
if (parentHeight + (parentHeight + this.virtualizeOffset) >= top &&
|
263
|
+
if (parentHeight + (parentHeight + this.virtualizeOffset) >= top &&
|
264
|
+
-height - (parentHeight + this.virtualizeOffset) <= top) {
|
261
265
|
this.filteredEmojisSubject.next(this.emojisToDisplay);
|
262
266
|
}
|
263
267
|
else {
|
@@ -319,8 +323,8 @@ class CategoryComponent {
|
|
319
323
|
return newEmojis;
|
320
324
|
}
|
321
325
|
}
|
322
|
-
CategoryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
323
|
-
CategoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
326
|
+
CategoryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CategoryComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.EmojiService }, { token: EmojiFrequentlyService }], target: i0.ɵɵFactoryTarget.Component });
|
327
|
+
CategoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: CategoryComponent, selector: "emoji-category", inputs: { emojis: "emojis", hasStickyPosition: "hasStickyPosition", name: "name", perLine: "perLine", totalFrequentLines: "totalFrequentLines", recent: "recent", custom: "custom", i18n: "i18n", id: "id", hideObsolete: "hideObsolete", notFoundEmoji: "notFoundEmoji", virtualize: "virtualize", virtualizeOffset: "virtualizeOffset", emojiIsNative: "emojiIsNative", emojiSkin: "emojiSkin", emojiSize: "emojiSize", emojiSet: "emojiSet", emojiSheetSize: "emojiSheetSize", emojiForceSize: "emojiForceSize", emojiTooltip: "emojiTooltip", emojiBackgroundImageFn: "emojiBackgroundImageFn", emojiImageUrlFn: "emojiImageUrlFn", emojiUseButton: "emojiUseButton" }, outputs: { emojiOver: "emojiOver", emojiLeaveOutsideAngular: "emojiLeaveOutsideAngular", emojiClick: "emojiClick" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, static: true }, { propertyName: "label", first: true, predicate: ["label"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
|
324
328
|
<section
|
325
329
|
#container
|
326
330
|
class="emoji-mart-category"
|
@@ -335,9 +339,7 @@ CategoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
335
339
|
</span>
|
336
340
|
</div>
|
337
341
|
|
338
|
-
<div
|
339
|
-
*ngIf="virtualize; else normalRenderTemplate"
|
340
|
-
>
|
342
|
+
<div *ngIf="virtualize; else normalRenderTemplate">
|
341
343
|
<div *ngIf="filteredEmojis$ | async as filteredEmojis">
|
342
344
|
<ngx-emoji
|
343
345
|
*ngFor="let emoji of filteredEmojis; trackBy: trackById"
|
@@ -354,7 +356,7 @@ CategoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
354
356
|
[hideObsolete]="hideObsolete"
|
355
357
|
[useButton]="emojiUseButton"
|
356
358
|
(emojiOver)="emojiOver.emit($event)"
|
357
|
-
(
|
359
|
+
(emojiLeaveOutsideAngular)="emojiLeaveOutsideAngular.emit($event)"
|
358
360
|
(emojiClick)="emojiClick.emit($event)"
|
359
361
|
></ngx-emoji>
|
360
362
|
</div>
|
@@ -383,27 +385,27 @@ CategoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
383
385
|
</section>
|
384
386
|
|
385
387
|
<ng-template #normalRenderTemplate>
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
388
|
+
<ngx-emoji
|
389
|
+
*ngFor="let emoji of emojisToDisplay; trackBy: trackById"
|
390
|
+
[emoji]="emoji"
|
391
|
+
[size]="emojiSize"
|
392
|
+
[skin]="emojiSkin"
|
393
|
+
[isNative]="emojiIsNative"
|
394
|
+
[set]="emojiSet"
|
395
|
+
[sheetSize]="emojiSheetSize"
|
396
|
+
[forceSize]="emojiForceSize"
|
397
|
+
[tooltip]="emojiTooltip"
|
398
|
+
[backgroundImageFn]="emojiBackgroundImageFn"
|
399
|
+
[imageUrlFn]="emojiImageUrlFn"
|
400
|
+
[hideObsolete]="hideObsolete"
|
401
|
+
[useButton]="emojiUseButton"
|
402
|
+
(emojiOver)="emojiOver.emit($event)"
|
403
|
+
(emojiLeaveOutsideAngular)="emojiLeaveOutsideAngular.emit($event)"
|
404
|
+
(emojiClick)="emojiClick.emit($event)"
|
405
|
+
></ngx-emoji>
|
404
406
|
</ng-template>
|
405
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i1.EmojiComponent, selector: "ngx-emoji", inputs: ["skin", "set", "sheetSize", "isNative", "forceSize", "tooltip", "size", "emoji", "fallback", "hideObsolete", "sheetRows", "sheetColumns", "useButton", "backgroundImageFn", "imageUrlFn"], outputs: ["emojiOver", "emojiLeave", "emojiClick"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
406
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
407
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i1.EmojiComponent, selector: "ngx-emoji", inputs: ["skin", "set", "sheetSize", "isNative", "forceSize", "tooltip", "size", "emoji", "fallback", "hideObsolete", "sheetRows", "sheetColumns", "useButton", "backgroundImageFn", "imageUrlFn"], outputs: ["emojiOver", "emojiLeave", "emojiLeaveOutsideAngular", "emojiClick"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
408
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CategoryComponent, decorators: [{
|
407
409
|
type: Component,
|
408
410
|
args: [{
|
409
411
|
selector: 'emoji-category',
|
@@ -422,9 +424,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImpor
|
|
422
424
|
</span>
|
423
425
|
</div>
|
424
426
|
|
425
|
-
<div
|
426
|
-
*ngIf="virtualize; else normalRenderTemplate"
|
427
|
-
>
|
427
|
+
<div *ngIf="virtualize; else normalRenderTemplate">
|
428
428
|
<div *ngIf="filteredEmojis$ | async as filteredEmojis">
|
429
429
|
<ngx-emoji
|
430
430
|
*ngFor="let emoji of filteredEmojis; trackBy: trackById"
|
@@ -441,7 +441,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImpor
|
|
441
441
|
[hideObsolete]="hideObsolete"
|
442
442
|
[useButton]="emojiUseButton"
|
443
443
|
(emojiOver)="emojiOver.emit($event)"
|
444
|
-
(
|
444
|
+
(emojiLeaveOutsideAngular)="emojiLeaveOutsideAngular.emit($event)"
|
445
445
|
(emojiClick)="emojiClick.emit($event)"
|
446
446
|
></ngx-emoji>
|
447
447
|
</div>
|
@@ -470,24 +470,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImpor
|
|
470
470
|
</section>
|
471
471
|
|
472
472
|
<ng-template #normalRenderTemplate>
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
473
|
+
<ngx-emoji
|
474
|
+
*ngFor="let emoji of emojisToDisplay; trackBy: trackById"
|
475
|
+
[emoji]="emoji"
|
476
|
+
[size]="emojiSize"
|
477
|
+
[skin]="emojiSkin"
|
478
|
+
[isNative]="emojiIsNative"
|
479
|
+
[set]="emojiSet"
|
480
|
+
[sheetSize]="emojiSheetSize"
|
481
|
+
[forceSize]="emojiForceSize"
|
482
|
+
[tooltip]="emojiTooltip"
|
483
|
+
[backgroundImageFn]="emojiBackgroundImageFn"
|
484
|
+
[imageUrlFn]="emojiImageUrlFn"
|
485
|
+
[hideObsolete]="hideObsolete"
|
486
|
+
[useButton]="emojiUseButton"
|
487
|
+
(emojiOver)="emojiOver.emit($event)"
|
488
|
+
(emojiLeaveOutsideAngular)="emojiLeaveOutsideAngular.emit($event)"
|
489
|
+
(emojiClick)="emojiClick.emit($event)"
|
490
|
+
></ngx-emoji>
|
491
491
|
</ng-template>
|
492
492
|
`,
|
493
493
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
@@ -541,7 +541,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImpor
|
|
541
541
|
type: Input
|
542
542
|
}], emojiOver: [{
|
543
543
|
type: Output
|
544
|
-
}],
|
544
|
+
}], emojiLeaveOutsideAngular: [{
|
545
545
|
type: Output
|
546
546
|
}], emojiClick: [{
|
547
547
|
type: Output
|
@@ -748,9 +748,9 @@ class EmojiSearch {
|
|
748
748
|
return search.join(',');
|
749
749
|
}
|
750
750
|
}
|
751
|
-
EmojiSearch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
752
|
-
EmojiSearch.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
753
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
751
|
+
EmojiSearch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: EmojiSearch, deps: [{ token: i1.EmojiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
752
|
+
EmojiSearch.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: EmojiSearch, providedIn: 'root' });
|
753
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: EmojiSearch, decorators: [{
|
754
754
|
type: Injectable,
|
755
755
|
args: [{ providedIn: 'root' }]
|
756
756
|
}], ctorParameters: function () { return [{ type: i1.EmojiService }]; } });
|
@@ -790,8 +790,8 @@ class SkinComponent {
|
|
790
790
|
}
|
791
791
|
}
|
792
792
|
}
|
793
|
-
SkinComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
794
|
-
SkinComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
793
|
+
SkinComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SkinComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
794
|
+
SkinComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: SkinComponent, selector: "emoji-skins", inputs: { skin: "skin", i18n: "i18n" }, outputs: { changeSkin: "changeSkin" }, ngImport: i0, template: `
|
795
795
|
<section
|
796
796
|
class="emoji-mart-skin-swatches"
|
797
797
|
[class.opened]="opened"
|
@@ -818,7 +818,7 @@ SkinComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
818
818
|
</span>
|
819
819
|
</section>
|
820
820
|
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
821
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
821
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SkinComponent, decorators: [{
|
822
822
|
type: Component,
|
823
823
|
args: [{
|
824
824
|
selector: 'emoji-skins',
|
@@ -886,8 +886,8 @@ class PreviewComponent {
|
|
886
886
|
this.ref?.detectChanges();
|
887
887
|
}
|
888
888
|
}
|
889
|
-
PreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
890
|
-
PreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
889
|
+
PreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PreviewComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.EmojiService }], target: i0.ɵɵFactoryTarget.Component });
|
890
|
+
PreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: PreviewComponent, selector: "emoji-preview", inputs: { title: "title", emoji: "emoji", idleEmoji: "idleEmoji", i18n: "i18n", emojiIsNative: "emojiIsNative", emojiSkin: "emojiSkin", emojiSize: "emojiSize", emojiSet: "emojiSet", emojiSheetSize: "emojiSheetSize", emojiBackgroundImageFn: "emojiBackgroundImageFn", emojiImageUrlFn: "emojiImageUrlFn" }, outputs: { skinChange: "skinChange" }, usesOnChanges: true, ngImport: i0, template: `
|
891
891
|
<div class="emoji-mart-preview" *ngIf="emoji && emojiData">
|
892
892
|
<div class="emoji-mart-preview-emoji">
|
893
893
|
<ngx-emoji
|
@@ -947,8 +947,8 @@ PreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
|
|
947
947
|
></emoji-skins>
|
948
948
|
</div>
|
949
949
|
</div>
|
950
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.EmojiComponent, selector: "ngx-emoji", inputs: ["skin", "set", "sheetSize", "isNative", "forceSize", "tooltip", "size", "emoji", "fallback", "hideObsolete", "sheetRows", "sheetColumns", "useButton", "backgroundImageFn", "imageUrlFn"], outputs: ["emojiOver", "emojiLeave", "emojiClick"] }, { kind: "component", type: SkinComponent, selector: "emoji-skins", inputs: ["skin", "i18n"], outputs: ["changeSkin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
951
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
950
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.EmojiComponent, selector: "ngx-emoji", inputs: ["skin", "set", "sheetSize", "isNative", "forceSize", "tooltip", "size", "emoji", "fallback", "hideObsolete", "sheetRows", "sheetColumns", "useButton", "backgroundImageFn", "imageUrlFn"], outputs: ["emojiOver", "emojiLeave", "emojiLeaveOutsideAngular", "emojiClick"] }, { kind: "component", type: SkinComponent, selector: "emoji-skins", inputs: ["skin", "i18n"], outputs: ["changeSkin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
951
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PreviewComponent, decorators: [{
|
952
952
|
type: Component,
|
953
953
|
args: [{
|
954
954
|
selector: 'emoji-preview',
|
@@ -1093,8 +1093,8 @@ class SearchComponent {
|
|
1093
1093
|
this.handleSearch(this.query);
|
1094
1094
|
}
|
1095
1095
|
}
|
1096
|
-
SearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
1097
|
-
SearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
1096
|
+
SearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SearchComponent, deps: [{ token: EmojiSearch }], target: i0.ɵɵFactoryTarget.Component });
|
1097
|
+
SearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: SearchComponent, selector: "emoji-search", inputs: { maxResults: "maxResults", autoFocus: "autoFocus", i18n: "i18n", include: "include", exclude: "exclude", custom: "custom", icons: "icons", emojisToShowFilter: "emojisToShowFilter" }, outputs: { searchResults: "searchResults", enterKey: "enterKey" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true, static: true }], ngImport: i0, template: `
|
1098
1098
|
<div class="emoji-mart-search">
|
1099
1099
|
<input
|
1100
1100
|
[id]="inputId"
|
@@ -1133,7 +1133,7 @@ SearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
|
|
1133
1133
|
</button>
|
1134
1134
|
</div>
|
1135
1135
|
`, isInline: true, dependencies: [{ kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
1136
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
1136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SearchComponent, decorators: [{
|
1137
1137
|
type: Component,
|
1138
1138
|
args: [{
|
1139
1139
|
selector: 'emoji-search',
|
@@ -1295,6 +1295,7 @@ class PickerComponent {
|
|
1295
1295
|
this.clientHeight = 0;
|
1296
1296
|
this.clientWidth = 0;
|
1297
1297
|
this.firstRender = true;
|
1298
|
+
this.previewEmoji = null;
|
1298
1299
|
this.animationFrameRequestId = null;
|
1299
1300
|
this.NAMESPACE = 'emoji-mart';
|
1300
1301
|
this.measureScrollbar = 0;
|
@@ -1575,17 +1576,19 @@ class PickerComponent {
|
|
1575
1576
|
}
|
1576
1577
|
this.previewEmoji = $event.emoji;
|
1577
1578
|
this.cancelAnimationFrame();
|
1578
|
-
this.ref
|
1579
|
+
this.ref.detectChanges();
|
1579
1580
|
}
|
1580
1581
|
handleEmojiLeave() {
|
1581
1582
|
if (!this.showPreview || !this.previewRef) {
|
1582
1583
|
return;
|
1583
1584
|
}
|
1584
|
-
|
1585
|
-
|
1586
|
-
|
1587
|
-
|
1588
|
-
|
1585
|
+
// Note: `handleEmojiLeave` will be invoked outside of the Angular zone because of the `mouseleave`
|
1586
|
+
// event set up outside of the Angular zone in `ngx-emoji`. See `setupMouseLeaveListener`.
|
1587
|
+
// This is done explicitly because we don't have to run redundant change detection since we
|
1588
|
+
// would still want to leave the Angular zone here when scheduling animation frame.
|
1589
|
+
this.animationFrameRequestId = requestAnimationFrame(() => {
|
1590
|
+
this.previewEmoji = null;
|
1591
|
+
this.ref.detectChanges();
|
1589
1592
|
});
|
1590
1593
|
}
|
1591
1594
|
handleEmojiClick($event) {
|
@@ -1611,11 +1614,11 @@ class PickerComponent {
|
|
1611
1614
|
}
|
1612
1615
|
}
|
1613
1616
|
}
|
1614
|
-
PickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
1615
|
-
PickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
1616
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
1617
|
+
PickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PickerComponent, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: EmojiFrequentlyService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
|
1618
|
+
PickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: PickerComponent, selector: "emoji-mart", inputs: { perLine: "perLine", totalFrequentLines: "totalFrequentLines", i18n: "i18n", style: "style", title: "title", emoji: "emoji", darkMode: "darkMode", color: "color", hideObsolete: "hideObsolete", categories: "categories", activeCategories: "activeCategories", set: "set", skin: "skin", isNative: "isNative", emojiSize: "emojiSize", sheetSize: "sheetSize", emojisToShowFilter: "emojisToShowFilter", showPreview: "showPreview", emojiTooltip: "emojiTooltip", autoFocus: "autoFocus", custom: "custom", hideRecent: "hideRecent", imageUrlFn: "imageUrlFn", include: "include", exclude: "exclude", notFoundEmoji: "notFoundEmoji", categoriesIcons: "categoriesIcons", searchIcons: "searchIcons", useButton: "useButton", enableFrequentEmojiSort: "enableFrequentEmojiSort", enableSearch: "enableSearch", showSingleCategory: "showSingleCategory", virtualize: "virtualize", virtualizeOffset: "virtualizeOffset", recent: "recent", backgroundImageFn: "backgroundImageFn" }, outputs: { emojiClick: "emojiClick", emojiSelect: "emojiSelect", skinChange: "skinChange" }, viewQueries: [{ propertyName: "scrollRef", first: true, predicate: ["scrollRef"], descendants: true, static: true }, { propertyName: "previewRef", first: true, predicate: PreviewComponent, descendants: true }, { propertyName: "searchRef", first: true, predicate: SearchComponent, descendants: true }, { propertyName: "categoryRefs", predicate: CategoryComponent, descendants: true }], ngImport: i0, template: "<section\n class=\"emoji-mart {{ darkMode ? 'emoji-mart-dark' : '' }}\"\n [style.width]=\"getWidth()\"\n [ngStyle]=\"style\"\n>\n <div class=\"emoji-mart-bar\">\n <emoji-mart-anchors\n [categories]=\"categories\"\n (anchorClick)=\"handleAnchorClick($event)\"\n [color]=\"color\"\n [selected]=\"selected\"\n [i18n]=\"i18n\"\n [icons]=\"categoriesIcons\"\n ></emoji-mart-anchors>\n </div>\n <emoji-search\n *ngIf=\"enableSearch\"\n [i18n]=\"i18n\"\n (searchResults)=\"handleSearch($event)\"\n (enterKey)=\"handleEnterKey($event)\"\n [include]=\"include\"\n [exclude]=\"exclude\"\n [custom]=\"custom\"\n [autoFocus]=\"autoFocus\"\n [icons]=\"searchIcons\"\n [emojisToShowFilter]=\"emojisToShowFilter\"\n ></emoji-search>\n <section #scrollRef class=\"emoji-mart-scroll\" [attr.aria-label]=\"i18n.emojilist\">\n <emoji-category\n *ngFor=\"let category of activeCategories; let idx = index; trackBy: categoryTrack\"\n [id]=\"category.id\"\n [name]=\"category.name\"\n [emojis]=\"category.emojis\"\n [perLine]=\"perLine\"\n [totalFrequentLines]=\"totalFrequentLines\"\n [hasStickyPosition]=\"isNative\"\n [i18n]=\"i18n\"\n [hideObsolete]=\"hideObsolete\"\n [notFoundEmoji]=\"notFoundEmoji\"\n [custom]=\"category.id === RECENT_CATEGORY.id ? CUSTOM_CATEGORY.emojis : undefined\"\n [recent]=\"category.id === RECENT_CATEGORY.id ? recent : undefined\"\n [virtualize]=\"virtualize\"\n [virtualizeOffset]=\"virtualizeOffset\"\n [emojiIsNative]=\"isNative\"\n [emojiSkin]=\"skin\"\n [emojiSize]=\"emojiSize\"\n [emojiSet]=\"set\"\n [emojiSheetSize]=\"sheetSize\"\n [emojiForceSize]=\"isNative\"\n [emojiTooltip]=\"emojiTooltip\"\n [emojiBackgroundImageFn]=\"backgroundImageFn\"\n [emojiImageUrlFn]=\"imageUrlFn\"\n [emojiUseButton]=\"useButton\"\n (emojiOver)=\"handleEmojiOver($event)\"\n (emojiLeaveOutsideAngular)=\"handleEmojiLeave()\"\n (emojiClick)=\"handleEmojiClick($event)\"\n ></emoji-category>\n </section>\n <div class=\"emoji-mart-bar\" *ngIf=\"showPreview\">\n <emoji-preview\n [attr.title]=\"title\"\n [emoji]=\"previewEmoji\"\n [idleEmoji]=\"emoji\"\n [emojiIsNative]=\"isNative\"\n [emojiSize]=\"38\"\n [emojiSkin]=\"skin\"\n [emojiSet]=\"set\"\n [i18n]=\"i18n\"\n [emojiSheetSize]=\"sheetSize\"\n [emojiBackgroundImageFn]=\"backgroundImageFn\"\n [emojiImageUrlFn]=\"imageUrlFn\"\n (skinChange)=\"handleSkinChange($event)\"\n ></emoji-preview>\n </div>\n</section>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: AnchorsComponent, selector: "emoji-mart-anchors", inputs: ["categories", "color", "selected", "i18n", "icons"], outputs: ["anchorClick"] }, { kind: "component", type: CategoryComponent, selector: "emoji-category", inputs: ["emojis", "hasStickyPosition", "name", "perLine", "totalFrequentLines", "recent", "custom", "i18n", "id", "hideObsolete", "notFoundEmoji", "virtualize", "virtualizeOffset", "emojiIsNative", "emojiSkin", "emojiSize", "emojiSet", "emojiSheetSize", "emojiForceSize", "emojiTooltip", "emojiBackgroundImageFn", "emojiImageUrlFn", "emojiUseButton"], outputs: ["emojiOver", "emojiLeaveOutsideAngular", "emojiClick"] }, { kind: "component", type: SearchComponent, selector: "emoji-search", inputs: ["maxResults", "autoFocus", "i18n", "include", "exclude", "custom", "icons", "emojisToShowFilter"], outputs: ["searchResults", "enterKey"] }, { kind: "component", type: PreviewComponent, selector: "emoji-preview", inputs: ["title", "emoji", "idleEmoji", "i18n", "emojiIsNative", "emojiSkin", "emojiSize", "emojiSet", "emojiSheetSize", "emojiBackgroundImageFn", "emojiImageUrlFn"], outputs: ["skinChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
1619
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PickerComponent, decorators: [{
|
1617
1620
|
type: Component,
|
1618
|
-
args: [{ selector: 'emoji-mart', changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, template: "<section\n class=\"emoji-mart {{ darkMode ? 'emoji-mart-dark' : '' }}\"\n [style.width]=\"getWidth()\"\n [ngStyle]=\"style\"\n>\n <div class=\"emoji-mart-bar\">\n <emoji-mart-anchors\n [categories]=\"categories\"\n (anchorClick)=\"handleAnchorClick($event)\"\n [color]=\"color\"\n [selected]=\"selected\"\n [i18n]=\"i18n\"\n [icons]=\"categoriesIcons\"\n ></emoji-mart-anchors>\n </div>\n <emoji-search\n *ngIf=\"enableSearch\"\n [i18n]=\"i18n\"\n (searchResults)=\"handleSearch($event)\"\n (enterKey)=\"handleEnterKey($event)\"\n [include]=\"include\"\n [exclude]=\"exclude\"\n [custom]=\"custom\"\n [autoFocus]=\"autoFocus\"\n [icons]=\"searchIcons\"\n [emojisToShowFilter]=\"emojisToShowFilter\"\n ></emoji-search>\n <section #scrollRef class=\"emoji-mart-scroll\" [attr.aria-label]=\"i18n.emojilist\">\n <emoji-category\n *ngFor=\"let category of activeCategories; let idx = index; trackBy: categoryTrack\"\n [id]=\"category.id\"\n [name]=\"category.name\"\n [emojis]=\"category.emojis\"\n [perLine]=\"perLine\"\n [totalFrequentLines]=\"totalFrequentLines\"\n [hasStickyPosition]=\"isNative\"\n [i18n]=\"i18n\"\n [hideObsolete]=\"hideObsolete\"\n [notFoundEmoji]=\"notFoundEmoji\"\n [custom]=\"category.id === RECENT_CATEGORY.id ? CUSTOM_CATEGORY.emojis : undefined\"\n [recent]=\"category.id === RECENT_CATEGORY.id ? recent : undefined\"\n [virtualize]=\"virtualize\"\n [virtualizeOffset]=\"virtualizeOffset\"\n [emojiIsNative]=\"isNative\"\n [emojiSkin]=\"skin\"\n [emojiSize]=\"emojiSize\"\n [emojiSet]=\"set\"\n [emojiSheetSize]=\"sheetSize\"\n [emojiForceSize]=\"isNative\"\n [emojiTooltip]=\"emojiTooltip\"\n [emojiBackgroundImageFn]=\"backgroundImageFn\"\n [emojiImageUrlFn]=\"imageUrlFn\"\n [emojiUseButton]=\"useButton\"\n (emojiOver)=\"handleEmojiOver($event)\"\n (
|
1621
|
+
args: [{ selector: 'emoji-mart', changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, template: "<section\n class=\"emoji-mart {{ darkMode ? 'emoji-mart-dark' : '' }}\"\n [style.width]=\"getWidth()\"\n [ngStyle]=\"style\"\n>\n <div class=\"emoji-mart-bar\">\n <emoji-mart-anchors\n [categories]=\"categories\"\n (anchorClick)=\"handleAnchorClick($event)\"\n [color]=\"color\"\n [selected]=\"selected\"\n [i18n]=\"i18n\"\n [icons]=\"categoriesIcons\"\n ></emoji-mart-anchors>\n </div>\n <emoji-search\n *ngIf=\"enableSearch\"\n [i18n]=\"i18n\"\n (searchResults)=\"handleSearch($event)\"\n (enterKey)=\"handleEnterKey($event)\"\n [include]=\"include\"\n [exclude]=\"exclude\"\n [custom]=\"custom\"\n [autoFocus]=\"autoFocus\"\n [icons]=\"searchIcons\"\n [emojisToShowFilter]=\"emojisToShowFilter\"\n ></emoji-search>\n <section #scrollRef class=\"emoji-mart-scroll\" [attr.aria-label]=\"i18n.emojilist\">\n <emoji-category\n *ngFor=\"let category of activeCategories; let idx = index; trackBy: categoryTrack\"\n [id]=\"category.id\"\n [name]=\"category.name\"\n [emojis]=\"category.emojis\"\n [perLine]=\"perLine\"\n [totalFrequentLines]=\"totalFrequentLines\"\n [hasStickyPosition]=\"isNative\"\n [i18n]=\"i18n\"\n [hideObsolete]=\"hideObsolete\"\n [notFoundEmoji]=\"notFoundEmoji\"\n [custom]=\"category.id === RECENT_CATEGORY.id ? CUSTOM_CATEGORY.emojis : undefined\"\n [recent]=\"category.id === RECENT_CATEGORY.id ? recent : undefined\"\n [virtualize]=\"virtualize\"\n [virtualizeOffset]=\"virtualizeOffset\"\n [emojiIsNative]=\"isNative\"\n [emojiSkin]=\"skin\"\n [emojiSize]=\"emojiSize\"\n [emojiSet]=\"set\"\n [emojiSheetSize]=\"sheetSize\"\n [emojiForceSize]=\"isNative\"\n [emojiTooltip]=\"emojiTooltip\"\n [emojiBackgroundImageFn]=\"backgroundImageFn\"\n [emojiImageUrlFn]=\"imageUrlFn\"\n [emojiUseButton]=\"useButton\"\n (emojiOver)=\"handleEmojiOver($event)\"\n (emojiLeaveOutsideAngular)=\"handleEmojiLeave()\"\n (emojiClick)=\"handleEmojiClick($event)\"\n ></emoji-category>\n </section>\n <div class=\"emoji-mart-bar\" *ngIf=\"showPreview\">\n <emoji-preview\n [attr.title]=\"title\"\n [emoji]=\"previewEmoji\"\n [idleEmoji]=\"emoji\"\n [emojiIsNative]=\"isNative\"\n [emojiSize]=\"38\"\n [emojiSkin]=\"skin\"\n [emojiSet]=\"set\"\n [i18n]=\"i18n\"\n [emojiSheetSize]=\"sheetSize\"\n [emojiBackgroundImageFn]=\"backgroundImageFn\"\n [emojiImageUrlFn]=\"imageUrlFn\"\n (skinChange)=\"handleSkinChange($event)\"\n ></emoji-preview>\n </div>\n</section>\n" }]
|
1619
1622
|
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: EmojiFrequentlyService }, { type: undefined, decorators: [{
|
1620
1623
|
type: Inject,
|
1621
1624
|
args: [PLATFORM_ID]
|
@@ -1713,8 +1716,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImpor
|
|
1713
1716
|
|
1714
1717
|
class PickerModule {
|
1715
1718
|
}
|
1716
|
-
PickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
1717
|
-
PickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
1719
|
+
PickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
1720
|
+
PickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: PickerModule, declarations: [PickerComponent,
|
1718
1721
|
AnchorsComponent,
|
1719
1722
|
CategoryComponent,
|
1720
1723
|
SearchComponent,
|
@@ -1725,8 +1728,8 @@ PickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1725
1728
|
SearchComponent,
|
1726
1729
|
PreviewComponent,
|
1727
1730
|
SkinComponent] });
|
1728
|
-
PickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
1729
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
1731
|
+
PickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PickerModule, imports: [CommonModule, FormsModule, EmojiModule] });
|
1732
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PickerModule, decorators: [{
|
1730
1733
|
type: NgModule,
|
1731
1734
|
args: [{
|
1732
1735
|
imports: [CommonModule, FormsModule, EmojiModule],
|