@ctrl/ngx-emoji-mart 8.0.0 → 8.2.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/category.component.d.ts +6 -3
- package/esm2020/category.component.mjs +57 -57
- package/esm2020/ngx-emoji/emoji.component.mjs +136 -84
- package/esm2020/picker.component.mjs +12 -9
- package/esm2020/preview.component.mjs +1 -1
- package/fesm2015/ctrl-ngx-emoji-mart-ngx-emoji.mjs +134 -81
- package/fesm2015/ctrl-ngx-emoji-mart-ngx-emoji.mjs.map +1 -1
- package/fesm2015/ctrl-ngx-emoji-mart.mjs +67 -66
- package/fesm2015/ctrl-ngx-emoji-mart.mjs.map +1 -1
- package/fesm2020/ctrl-ngx-emoji-mart-ngx-emoji.mjs +134 -81
- package/fesm2020/ctrl-ngx-emoji-mart-ngx-emoji.mjs.map +1 -1
- package/fesm2020/ctrl-ngx-emoji-mart.mjs +67 -64
- package/fesm2020/ctrl-ngx-emoji-mart.mjs.map +1 -1
- package/ngx-emoji/emoji.component.d.ts +25 -9
- package/package.json +1 -1
- package/picker.component.d.ts +1 -1
@@ -190,9 +190,12 @@ class CategoryComponent {
|
|
190
190
|
this.hideObsolete = true;
|
191
191
|
this.virtualize = false;
|
192
192
|
this.virtualizeOffset = 0;
|
193
|
-
this.emojiOver = new EventEmitter();
|
194
|
-
this.emojiLeave = new EventEmitter();
|
195
193
|
this.emojiClick = new EventEmitter();
|
194
|
+
/**
|
195
|
+
* Note: the suffix is added explicitly so we know the event is dispatched outside of the Angular zone.
|
196
|
+
*/
|
197
|
+
this.emojiOverOutsideAngular = new EventEmitter();
|
198
|
+
this.emojiLeaveOutsideAngular = new EventEmitter();
|
196
199
|
this.containerStyles = {};
|
197
200
|
this.emojisToDisplay = [];
|
198
201
|
this.filteredEmojisSubject = new Subject();
|
@@ -224,7 +227,6 @@ class CategoryComponent {
|
|
224
227
|
}
|
225
228
|
}
|
226
229
|
ngAfterViewInit() {
|
227
|
-
var _a;
|
228
230
|
if (!this.virtualize) {
|
229
231
|
return;
|
230
232
|
}
|
@@ -232,7 +234,7 @@ class CategoryComponent {
|
|
232
234
|
const perRow = Math.floor(width / (this.emojiSize + 12));
|
233
235
|
this.rows = Math.ceil(this.emojisToDisplay.length / perRow);
|
234
236
|
this.containerStyles = Object.assign(Object.assign({}, this.containerStyles), { minHeight: `${this.rows * (this.emojiSize + 12) + 28}px` });
|
235
|
-
|
237
|
+
this.ref.detectChanges();
|
236
238
|
this.handleScroll(this.container.nativeElement.parentNode.parentNode.scrollTop);
|
237
239
|
}
|
238
240
|
get noEmojiToDisplay() {
|
@@ -258,7 +260,8 @@ class CategoryComponent {
|
|
258
260
|
if (this.virtualize) {
|
259
261
|
const { top, height } = this.container.nativeElement.getBoundingClientRect();
|
260
262
|
const parentHeight = this.container.nativeElement.parentNode.parentNode.clientHeight;
|
261
|
-
if (parentHeight + (parentHeight + this.virtualizeOffset) >= top &&
|
263
|
+
if (parentHeight + (parentHeight + this.virtualizeOffset) >= top &&
|
264
|
+
-height - (parentHeight + this.virtualizeOffset) <= top) {
|
262
265
|
this.filteredEmojisSubject.next(this.emojisToDisplay);
|
263
266
|
}
|
264
267
|
else {
|
@@ -321,7 +324,7 @@ class CategoryComponent {
|
|
321
324
|
}
|
322
325
|
}
|
323
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 });
|
324
|
-
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: {
|
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: { emojiClick: "emojiClick", emojiOverOutsideAngular: "emojiOverOutsideAngular", emojiLeaveOutsideAngular: "emojiLeaveOutsideAngular" }, 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: `
|
325
328
|
<section
|
326
329
|
#container
|
327
330
|
class="emoji-mart-category"
|
@@ -336,9 +339,7 @@ CategoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
336
339
|
</span>
|
337
340
|
</div>
|
338
341
|
|
339
|
-
<div
|
340
|
-
*ngIf="virtualize; else normalRenderTemplate"
|
341
|
-
>
|
342
|
+
<div *ngIf="virtualize; else normalRenderTemplate">
|
342
343
|
<div *ngIf="filteredEmojis$ | async as filteredEmojis">
|
343
344
|
<ngx-emoji
|
344
345
|
*ngFor="let emoji of filteredEmojis; trackBy: trackById"
|
@@ -354,8 +355,8 @@ CategoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
354
355
|
[imageUrlFn]="emojiImageUrlFn"
|
355
356
|
[hideObsolete]="hideObsolete"
|
356
357
|
[useButton]="emojiUseButton"
|
357
|
-
(
|
358
|
-
(
|
358
|
+
(emojiOverOutsideAngular)="emojiOverOutsideAngular.emit($event)"
|
359
|
+
(emojiLeaveOutsideAngular)="emojiLeaveOutsideAngular.emit($event)"
|
359
360
|
(emojiClick)="emojiClick.emit($event)"
|
360
361
|
></ngx-emoji>
|
361
362
|
</div>
|
@@ -384,26 +385,26 @@ CategoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
384
385
|
</section>
|
385
386
|
|
386
387
|
<ng-template #normalRenderTemplate>
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
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
|
+
(emojiOverOutsideAngular)="emojiOverOutsideAngular.emit($event)"
|
403
|
+
(emojiLeaveOutsideAngular)="emojiLeaveOutsideAngular.emit($event)"
|
404
|
+
(emojiClick)="emojiClick.emit($event)"
|
405
|
+
></ngx-emoji>
|
405
406
|
</ng-template>
|
406
|
-
`, 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", "
|
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: ["emojiClick", "emojiOver", "emojiOverOutsideAngular", "emojiLeave", "emojiLeaveOutsideAngular"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
407
408
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: CategoryComponent, decorators: [{
|
408
409
|
type: Component,
|
409
410
|
args: [{
|
@@ -423,9 +424,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
423
424
|
</span>
|
424
425
|
</div>
|
425
426
|
|
426
|
-
<div
|
427
|
-
*ngIf="virtualize; else normalRenderTemplate"
|
428
|
-
>
|
427
|
+
<div *ngIf="virtualize; else normalRenderTemplate">
|
429
428
|
<div *ngIf="filteredEmojis$ | async as filteredEmojis">
|
430
429
|
<ngx-emoji
|
431
430
|
*ngFor="let emoji of filteredEmojis; trackBy: trackById"
|
@@ -441,8 +440,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
441
440
|
[imageUrlFn]="emojiImageUrlFn"
|
442
441
|
[hideObsolete]="hideObsolete"
|
443
442
|
[useButton]="emojiUseButton"
|
444
|
-
(
|
445
|
-
(
|
443
|
+
(emojiOverOutsideAngular)="emojiOverOutsideAngular.emit($event)"
|
444
|
+
(emojiLeaveOutsideAngular)="emojiLeaveOutsideAngular.emit($event)"
|
446
445
|
(emojiClick)="emojiClick.emit($event)"
|
447
446
|
></ngx-emoji>
|
448
447
|
</div>
|
@@ -471,24 +470,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
471
470
|
</section>
|
472
471
|
|
473
472
|
<ng-template #normalRenderTemplate>
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
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
|
+
(emojiOverOutsideAngular)="emojiOverOutsideAngular.emit($event)"
|
488
|
+
(emojiLeaveOutsideAngular)="emojiLeaveOutsideAngular.emit($event)"
|
489
|
+
(emojiClick)="emojiClick.emit($event)"
|
490
|
+
></ngx-emoji>
|
492
491
|
</ng-template>
|
493
492
|
`,
|
494
493
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
@@ -540,11 +539,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
540
539
|
type: Input
|
541
540
|
}], emojiUseButton: [{
|
542
541
|
type: Input
|
543
|
-
}],
|
542
|
+
}], emojiClick: [{
|
544
543
|
type: Output
|
545
|
-
}],
|
544
|
+
}], emojiOverOutsideAngular: [{
|
546
545
|
type: Output
|
547
|
-
}],
|
546
|
+
}], emojiLeaveOutsideAngular: [{
|
548
547
|
type: Output
|
549
548
|
}], container: [{
|
550
549
|
type: ViewChild,
|
@@ -950,7 +949,7 @@ PreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
|
|
950
949
|
></emoji-skins>
|
951
950
|
</div>
|
952
951
|
</div>
|
953
|
-
`, 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", "
|
952
|
+
`, 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: ["emojiClick", "emojiOver", "emojiOverOutsideAngular", "emojiLeave", "emojiLeaveOutsideAngular"] }, { kind: "component", type: SkinComponent, selector: "emoji-skins", inputs: ["skin", "i18n"], outputs: ["changeSkin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
954
953
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PreviewComponent, decorators: [{
|
955
954
|
type: Component,
|
956
955
|
args: [{
|
@@ -1298,6 +1297,7 @@ class PickerComponent {
|
|
1298
1297
|
this.clientHeight = 0;
|
1299
1298
|
this.clientWidth = 0;
|
1300
1299
|
this.firstRender = true;
|
1300
|
+
this.previewEmoji = null;
|
1301
1301
|
this.animationFrameRequestId = null;
|
1302
1302
|
this.NAMESPACE = 'emoji-mart';
|
1303
1303
|
this.measureScrollbar = 0;
|
@@ -1568,7 +1568,6 @@ class PickerComponent {
|
|
1568
1568
|
}
|
1569
1569
|
}
|
1570
1570
|
handleEmojiOver($event) {
|
1571
|
-
var _a;
|
1572
1571
|
if (!this.showPreview || !this.previewRef) {
|
1573
1572
|
return;
|
1574
1573
|
}
|
@@ -1578,17 +1577,19 @@ class PickerComponent {
|
|
1578
1577
|
}
|
1579
1578
|
this.previewEmoji = $event.emoji;
|
1580
1579
|
this.cancelAnimationFrame();
|
1581
|
-
|
1580
|
+
this.ref.detectChanges();
|
1582
1581
|
}
|
1583
1582
|
handleEmojiLeave() {
|
1584
1583
|
if (!this.showPreview || !this.previewRef) {
|
1585
1584
|
return;
|
1586
1585
|
}
|
1587
|
-
|
1588
|
-
|
1589
|
-
|
1590
|
-
|
1591
|
-
|
1586
|
+
// Note: `handleEmojiLeave` will be invoked outside of the Angular zone because of the `mouseleave`
|
1587
|
+
// event set up outside of the Angular zone in `ngx-emoji`. See `setupMouseLeaveListener`.
|
1588
|
+
// This is done explicitly because we don't have to run redundant change detection since we
|
1589
|
+
// would still want to leave the Angular zone here when scheduling animation frame.
|
1590
|
+
this.animationFrameRequestId = requestAnimationFrame(() => {
|
1591
|
+
this.previewEmoji = null;
|
1592
|
+
this.ref.detectChanges();
|
1592
1593
|
});
|
1593
1594
|
}
|
1594
1595
|
handleEmojiClick($event) {
|
@@ -1615,10 +1616,10 @@ class PickerComponent {
|
|
1615
1616
|
}
|
1616
1617
|
}
|
1617
1618
|
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 (
|
1619
|
+
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 (emojiOverOutsideAngular)=\"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: ["emojiClick", "emojiOverOutsideAngular", "emojiLeaveOutsideAngular"] }, { 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
1620
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PickerComponent, decorators: [{
|
1620
1621
|
type: Component,
|
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 (
|
1622
|
+
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 (emojiOverOutsideAngular)=\"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" }]
|
1622
1623
|
}], ctorParameters: function () {
|
1623
1624
|
return [{ type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: EmojiFrequentlyService }, { type: undefined, decorators: [{
|
1624
1625
|
type: Inject,
|