@ctrl/ngx-emoji-mart 8.2.0 → 9.0.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 +39 -14
- package/anchors.component.d.ts +1 -1
- package/category.component.d.ts +1 -1
- package/esm2022/anchors.component.mjs +100 -0
- package/esm2022/category.component.mjs +409 -0
- package/esm2022/emoji-frequently.service.mjs +90 -0
- package/esm2022/emoji-search.service.mjs +178 -0
- package/esm2022/ngx-emoji/emoji.component.mjs +299 -0
- package/esm2022/ngx-emoji/emoji.module.mjs +17 -0
- package/esm2022/ngx-emoji/emoji.service.mjs +145 -0
- package/esm2022/picker.component.mjs +522 -0
- package/esm2022/picker.module.mjs +40 -0
- package/esm2022/preview.component.mjs +206 -0
- package/esm2022/search.component.mjs +175 -0
- package/esm2022/skins.component.mjs +107 -0
- package/{fesm2020 → fesm2022}/ctrl-ngx-emoji-mart-ngx-emoji.mjs +62 -54
- package/{fesm2015 → fesm2022}/ctrl-ngx-emoji-mart-ngx-emoji.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ctrl-ngx-emoji-mart.mjs +320 -254
- package/fesm2022/ctrl-ngx-emoji-mart.mjs.map +1 -0
- package/ngx-emoji/emoji.component.d.ts +1 -1
- package/ngx-emoji/emoji.module.d.ts +1 -2
- package/package.json +8 -16
- package/picker.component.d.ts +2 -2
- package/picker.module.d.ts +1 -4
- package/preview.component.d.ts +2 -2
- package/search.component.d.ts +1 -1
- package/skins.component.d.ts +2 -2
- package/esm2020/anchors.component.mjs +0 -83
- package/esm2020/category.component.mjs +0 -386
- package/esm2020/emoji-frequently.service.mjs +0 -88
- package/esm2020/emoji-search.service.mjs +0 -177
- package/esm2020/ngx-emoji/emoji.component.mjs +0 -288
- package/esm2020/ngx-emoji/emoji.module.mjs +0 -18
- package/esm2020/ngx-emoji/emoji.service.mjs +0 -144
- package/esm2020/picker.component.mjs +0 -508
- package/esm2020/picker.module.mjs +0 -49
- package/esm2020/preview.component.mjs +0 -187
- package/esm2020/search.component.mjs +0 -165
- package/esm2020/skins.component.mjs +0 -108
- package/fesm2015/ctrl-ngx-emoji-mart-ngx-emoji.mjs +0 -34330
- package/fesm2015/ctrl-ngx-emoji-mart.mjs +0 -1763
- package/fesm2015/ctrl-ngx-emoji-mart.mjs.map +0 -1
- package/fesm2020/ctrl-ngx-emoji-mart-ngx-emoji.mjs.map +0 -1
- package/fesm2020/ctrl-ngx-emoji-mart.mjs.map +0 -1
- /package/{esm2020 → esm2022}/ctrl-ngx-emoji-mart.mjs +0 -0
- /package/{esm2020 → esm2022}/ngx-emoji/ctrl-ngx-emoji-mart-ngx-emoji.mjs +0 -0
- /package/{esm2020 → esm2022}/ngx-emoji/data/categories.mjs +0 -0
- /package/{esm2020 → esm2022}/ngx-emoji/data/data.interfaces.mjs +0 -0
- /package/{esm2020 → esm2022}/ngx-emoji/data/emojis.mjs +0 -0
- /package/{esm2020 → esm2022}/ngx-emoji/data/skins.mjs +0 -0
- /package/{esm2020 → esm2022}/ngx-emoji/index.mjs +0 -0
- /package/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/svgs/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/index.mjs +0 -0
@@ -1,49 +0,0 @@
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
2
|
-
import { NgModule } from '@angular/core';
|
3
|
-
import { FormsModule } from '@angular/forms';
|
4
|
-
import { EmojiModule } from '@ctrl/ngx-emoji-mart/ngx-emoji';
|
5
|
-
import { AnchorsComponent } from './anchors.component';
|
6
|
-
import { CategoryComponent } from './category.component';
|
7
|
-
import { PickerComponent } from './picker.component';
|
8
|
-
import { PreviewComponent } from './preview.component';
|
9
|
-
import { SearchComponent } from './search.component';
|
10
|
-
import { SkinComponent } from './skins.component';
|
11
|
-
import * as i0 from "@angular/core";
|
12
|
-
export class PickerModule {
|
13
|
-
}
|
14
|
-
PickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
15
|
-
PickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: PickerModule, declarations: [PickerComponent,
|
16
|
-
AnchorsComponent,
|
17
|
-
CategoryComponent,
|
18
|
-
SearchComponent,
|
19
|
-
PreviewComponent,
|
20
|
-
SkinComponent], imports: [CommonModule, FormsModule, EmojiModule], exports: [PickerComponent,
|
21
|
-
AnchorsComponent,
|
22
|
-
CategoryComponent,
|
23
|
-
SearchComponent,
|
24
|
-
PreviewComponent,
|
25
|
-
SkinComponent] });
|
26
|
-
PickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PickerModule, imports: [CommonModule, FormsModule, EmojiModule] });
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PickerModule, decorators: [{
|
28
|
-
type: NgModule,
|
29
|
-
args: [{
|
30
|
-
imports: [CommonModule, FormsModule, EmojiModule],
|
31
|
-
exports: [
|
32
|
-
PickerComponent,
|
33
|
-
AnchorsComponent,
|
34
|
-
CategoryComponent,
|
35
|
-
SearchComponent,
|
36
|
-
PreviewComponent,
|
37
|
-
SkinComponent,
|
38
|
-
],
|
39
|
-
declarations: [
|
40
|
-
PickerComponent,
|
41
|
-
AnchorsComponent,
|
42
|
-
CategoryComponent,
|
43
|
-
SearchComponent,
|
44
|
-
PreviewComponent,
|
45
|
-
SkinComponent,
|
46
|
-
],
|
47
|
-
}]
|
48
|
-
}] });
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcGlja2VyL3BpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFxQmxELE1BQU0sT0FBTyxZQUFZOzt5R0FBWixZQUFZOzBHQUFaLFlBQVksaUJBUnJCLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsYUFBYSxhQWZMLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxhQUU5QyxlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGFBQWE7MEdBV0osWUFBWSxZQWxCYixZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVc7MkZBa0JyQyxZQUFZO2tCQW5CeEIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQztvQkFDakQsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3FCQUNkO29CQUNELFlBQVksRUFBRTt3QkFDWixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTtxQkFDZDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEVtb2ppTW9kdWxlIH0gZnJvbSAnQGN0cmwvbmd4LWVtb2ppLW1hcnQvbmd4LWVtb2ppJztcbmltcG9ydCB7IEFuY2hvcnNDb21wb25lbnQgfSBmcm9tICcuL2FuY2hvcnMuY29tcG9uZW50JztcbmltcG9ydCB7IENhdGVnb3J5Q29tcG9uZW50IH0gZnJvbSAnLi9jYXRlZ29yeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFByZXZpZXdDb21wb25lbnQgfSBmcm9tICcuL3ByZXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa2luQ29tcG9uZW50IH0gZnJvbSAnLi9za2lucy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgRW1vamlNb2R1bGVdLFxuICBleHBvcnRzOiBbXG4gICAgUGlja2VyQ29tcG9uZW50LFxuICAgIEFuY2hvcnNDb21wb25lbnQsXG4gICAgQ2F0ZWdvcnlDb21wb25lbnQsXG4gICAgU2VhcmNoQ29tcG9uZW50LFxuICAgIFByZXZpZXdDb21wb25lbnQsXG4gICAgU2tpbkNvbXBvbmVudCxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUGlja2VyQ29tcG9uZW50LFxuICAgIEFuY2hvcnNDb21wb25lbnQsXG4gICAgQ2F0ZWdvcnlDb21wb25lbnQsXG4gICAgU2VhcmNoQ29tcG9uZW50LFxuICAgIFByZXZpZXdDb21wb25lbnQsXG4gICAgU2tpbkNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUGlja2VyTW9kdWxlIHt9XG4iXX0=
|
@@ -1,187 +0,0 @@
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
import * as i1 from "@ctrl/ngx-emoji-mart/ngx-emoji";
|
4
|
-
import * as i2 from "@angular/common";
|
5
|
-
import * as i3 from "./skins.component";
|
6
|
-
export class PreviewComponent {
|
7
|
-
constructor(ref, emojiService) {
|
8
|
-
this.ref = ref;
|
9
|
-
this.emojiService = emojiService;
|
10
|
-
this.skinChange = new EventEmitter();
|
11
|
-
this.emojiData = {};
|
12
|
-
}
|
13
|
-
ngOnChanges() {
|
14
|
-
if (!this.emoji) {
|
15
|
-
return;
|
16
|
-
}
|
17
|
-
this.emojiData = this.emojiService.getData(this.emoji, this.emojiSkin, this.emojiSet);
|
18
|
-
const knownEmoticons = [];
|
19
|
-
const listedEmoticons = [];
|
20
|
-
const emoitcons = this.emojiData.emoticons || [];
|
21
|
-
emoitcons.forEach((emoticon) => {
|
22
|
-
if (knownEmoticons.indexOf(emoticon.toLowerCase()) >= 0) {
|
23
|
-
return;
|
24
|
-
}
|
25
|
-
knownEmoticons.push(emoticon.toLowerCase());
|
26
|
-
listedEmoticons.push(emoticon);
|
27
|
-
});
|
28
|
-
this.listedEmoticons = listedEmoticons;
|
29
|
-
this.ref?.detectChanges();
|
30
|
-
}
|
31
|
-
}
|
32
|
-
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 });
|
33
|
-
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: `
|
34
|
-
<div class="emoji-mart-preview" *ngIf="emoji && emojiData">
|
35
|
-
<div class="emoji-mart-preview-emoji">
|
36
|
-
<ngx-emoji
|
37
|
-
[emoji]="emoji"
|
38
|
-
[size]="38"
|
39
|
-
[isNative]="emojiIsNative"
|
40
|
-
[skin]="emojiSkin"
|
41
|
-
[size]="emojiSize"
|
42
|
-
[set]="emojiSet"
|
43
|
-
[sheetSize]="emojiSheetSize"
|
44
|
-
[backgroundImageFn]="emojiBackgroundImageFn"
|
45
|
-
[imageUrlFn]="emojiImageUrlFn"
|
46
|
-
></ngx-emoji>
|
47
|
-
</div>
|
48
|
-
|
49
|
-
<div class="emoji-mart-preview-data">
|
50
|
-
<div class="emoji-mart-preview-name">{{ emojiData.name }}</div>
|
51
|
-
<div class="emoji-mart-preview-shortname">
|
52
|
-
<span
|
53
|
-
class="emoji-mart-preview-shortname"
|
54
|
-
*ngFor="let short_name of emojiData.shortNames"
|
55
|
-
>
|
56
|
-
:{{ short_name }}:
|
57
|
-
</span>
|
58
|
-
</div>
|
59
|
-
<div class="emoji-mart-preview-emoticons">
|
60
|
-
<span class="emoji-mart-preview-emoticon" *ngFor="let emoticon of listedEmoticons">
|
61
|
-
{{ emoticon }}
|
62
|
-
</span>
|
63
|
-
</div>
|
64
|
-
</div>
|
65
|
-
</div>
|
66
|
-
|
67
|
-
<div class="emoji-mart-preview" [hidden]="emoji">
|
68
|
-
<div class="emoji-mart-preview-emoji">
|
69
|
-
<ngx-emoji
|
70
|
-
*ngIf="idleEmoji && idleEmoji.length"
|
71
|
-
[isNative]="emojiIsNative"
|
72
|
-
[skin]="emojiSkin"
|
73
|
-
[set]="emojiSet"
|
74
|
-
[emoji]="idleEmoji"
|
75
|
-
[backgroundImageFn]="emojiBackgroundImageFn"
|
76
|
-
[size]="38"
|
77
|
-
[imageUrlFn]="emojiImageUrlFn"
|
78
|
-
></ngx-emoji>
|
79
|
-
</div>
|
80
|
-
|
81
|
-
<div class="emoji-mart-preview-data">
|
82
|
-
<span class="emoji-mart-title-label">{{ title }}</span>
|
83
|
-
</div>
|
84
|
-
|
85
|
-
<div class="emoji-mart-preview-skins">
|
86
|
-
<emoji-skins
|
87
|
-
[skin]="emojiSkin"
|
88
|
-
(changeSkin)="skinChange.emit($event)"
|
89
|
-
[i18n]="i18n"
|
90
|
-
></emoji-skins>
|
91
|
-
</div>
|
92
|
-
</div>
|
93
|
-
`, 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: i3.SkinComponent, selector: "emoji-skins", inputs: ["skin", "i18n"], outputs: ["changeSkin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
94
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PreviewComponent, decorators: [{
|
95
|
-
type: Component,
|
96
|
-
args: [{
|
97
|
-
selector: 'emoji-preview',
|
98
|
-
template: `
|
99
|
-
<div class="emoji-mart-preview" *ngIf="emoji && emojiData">
|
100
|
-
<div class="emoji-mart-preview-emoji">
|
101
|
-
<ngx-emoji
|
102
|
-
[emoji]="emoji"
|
103
|
-
[size]="38"
|
104
|
-
[isNative]="emojiIsNative"
|
105
|
-
[skin]="emojiSkin"
|
106
|
-
[size]="emojiSize"
|
107
|
-
[set]="emojiSet"
|
108
|
-
[sheetSize]="emojiSheetSize"
|
109
|
-
[backgroundImageFn]="emojiBackgroundImageFn"
|
110
|
-
[imageUrlFn]="emojiImageUrlFn"
|
111
|
-
></ngx-emoji>
|
112
|
-
</div>
|
113
|
-
|
114
|
-
<div class="emoji-mart-preview-data">
|
115
|
-
<div class="emoji-mart-preview-name">{{ emojiData.name }}</div>
|
116
|
-
<div class="emoji-mart-preview-shortname">
|
117
|
-
<span
|
118
|
-
class="emoji-mart-preview-shortname"
|
119
|
-
*ngFor="let short_name of emojiData.shortNames"
|
120
|
-
>
|
121
|
-
:{{ short_name }}:
|
122
|
-
</span>
|
123
|
-
</div>
|
124
|
-
<div class="emoji-mart-preview-emoticons">
|
125
|
-
<span class="emoji-mart-preview-emoticon" *ngFor="let emoticon of listedEmoticons">
|
126
|
-
{{ emoticon }}
|
127
|
-
</span>
|
128
|
-
</div>
|
129
|
-
</div>
|
130
|
-
</div>
|
131
|
-
|
132
|
-
<div class="emoji-mart-preview" [hidden]="emoji">
|
133
|
-
<div class="emoji-mart-preview-emoji">
|
134
|
-
<ngx-emoji
|
135
|
-
*ngIf="idleEmoji && idleEmoji.length"
|
136
|
-
[isNative]="emojiIsNative"
|
137
|
-
[skin]="emojiSkin"
|
138
|
-
[set]="emojiSet"
|
139
|
-
[emoji]="idleEmoji"
|
140
|
-
[backgroundImageFn]="emojiBackgroundImageFn"
|
141
|
-
[size]="38"
|
142
|
-
[imageUrlFn]="emojiImageUrlFn"
|
143
|
-
></ngx-emoji>
|
144
|
-
</div>
|
145
|
-
|
146
|
-
<div class="emoji-mart-preview-data">
|
147
|
-
<span class="emoji-mart-title-label">{{ title }}</span>
|
148
|
-
</div>
|
149
|
-
|
150
|
-
<div class="emoji-mart-preview-skins">
|
151
|
-
<emoji-skins
|
152
|
-
[skin]="emojiSkin"
|
153
|
-
(changeSkin)="skinChange.emit($event)"
|
154
|
-
[i18n]="i18n"
|
155
|
-
></emoji-skins>
|
156
|
-
</div>
|
157
|
-
</div>
|
158
|
-
`,
|
159
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
160
|
-
preserveWhitespaces: false,
|
161
|
-
}]
|
162
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.EmojiService }]; }, propDecorators: { title: [{
|
163
|
-
type: Input
|
164
|
-
}], emoji: [{
|
165
|
-
type: Input
|
166
|
-
}], idleEmoji: [{
|
167
|
-
type: Input
|
168
|
-
}], i18n: [{
|
169
|
-
type: Input
|
170
|
-
}], emojiIsNative: [{
|
171
|
-
type: Input
|
172
|
-
}], emojiSkin: [{
|
173
|
-
type: Input
|
174
|
-
}], emojiSize: [{
|
175
|
-
type: Input
|
176
|
-
}], emojiSet: [{
|
177
|
-
type: Input
|
178
|
-
}], emojiSheetSize: [{
|
179
|
-
type: Input
|
180
|
-
}], emojiBackgroundImageFn: [{
|
181
|
-
type: Input
|
182
|
-
}], emojiImageUrlFn: [{
|
183
|
-
type: Input
|
184
|
-
}], skinChange: [{
|
185
|
-
type: Output
|
186
|
-
}] } });
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3BpY2tlci9wcmV2aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFvRXZCLE1BQU0sT0FBTyxnQkFBZ0I7SUFnQjNCLFlBQW1CLEdBQXNCLEVBQVUsWUFBMEI7UUFBMUQsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUpuRSxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFDekQsY0FBUyxHQUF1QixFQUFFLENBQUM7SUFHNkMsQ0FBQztJQUVqRixXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUN4QyxJQUFJLENBQUMsS0FBSyxFQUNWLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FDRCxDQUFDO1FBQ2YsTUFBTSxjQUFjLEdBQWEsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sZUFBZSxHQUFhLEVBQUUsQ0FBQztRQUNyQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7UUFDakQsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtZQUNyQyxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN2RCxPQUFPO2FBQ1I7WUFDRCxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztRQUN2QyxJQUFJLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxDQUFDO0lBQzVCLENBQUM7OzZHQXZDVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQixpYUFoRWpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0RFQ7MkZBSVUsZ0JBQWdCO2tCQWxFNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0RFQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLG1CQUFtQixFQUFFLEtBQUs7aUJBQzNCO21JQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbW9qaSwgRW1vamlEYXRhLCBFbW9qaVNlcnZpY2UgfSBmcm9tICdAY3RybC9uZ3gtZW1vamktbWFydC9uZ3gtZW1vamknO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW1vamktcHJldmlldycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImVtb2ppLW1hcnQtcHJldmlld1wiICpuZ0lmPVwiZW1vamkgJiYgZW1vamlEYXRhXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZW1vamktbWFydC1wcmV2aWV3LWVtb2ppXCI+XG4gICAgICAgIDxuZ3gtZW1vamlcbiAgICAgICAgICBbZW1vamldPVwiZW1vamlcIlxuICAgICAgICAgIFtzaXplXT1cIjM4XCJcbiAgICAgICAgICBbaXNOYXRpdmVdPVwiZW1vamlJc05hdGl2ZVwiXG4gICAgICAgICAgW3NraW5dPVwiZW1vamlTa2luXCJcbiAgICAgICAgICBbc2l6ZV09XCJlbW9qaVNpemVcIlxuICAgICAgICAgIFtzZXRdPVwiZW1vamlTZXRcIlxuICAgICAgICAgIFtzaGVldFNpemVdPVwiZW1vamlTaGVldFNpemVcIlxuICAgICAgICAgIFtiYWNrZ3JvdW5kSW1hZ2VGbl09XCJlbW9qaUJhY2tncm91bmRJbWFnZUZuXCJcbiAgICAgICAgICBbaW1hZ2VVcmxGbl09XCJlbW9qaUltYWdlVXJsRm5cIlxuICAgICAgICA+PC9uZ3gtZW1vamk+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImVtb2ppLW1hcnQtcHJldmlldy1kYXRhXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlbW9qaS1tYXJ0LXByZXZpZXctbmFtZVwiPnt7IGVtb2ppRGF0YS5uYW1lIH19PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlbW9qaS1tYXJ0LXByZXZpZXctc2hvcnRuYW1lXCI+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwiZW1vamktbWFydC1wcmV2aWV3LXNob3J0bmFtZVwiXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2hvcnRfbmFtZSBvZiBlbW9qaURhdGEuc2hvcnROYW1lc1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgOnt7IHNob3J0X25hbWUgfX06XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVtb2ppLW1hcnQtcHJldmlldy1lbW90aWNvbnNcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImVtb2ppLW1hcnQtcHJldmlldy1lbW90aWNvblwiICpuZ0Zvcj1cImxldCBlbW90aWNvbiBvZiBsaXN0ZWRFbW90aWNvbnNcIj5cbiAgICAgICAgICAgIHt7IGVtb3RpY29uIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImVtb2ppLW1hcnQtcHJldmlld1wiIFtoaWRkZW5dPVwiZW1vamlcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlbW9qaS1tYXJ0LXByZXZpZXctZW1vamlcIj5cbiAgICAgICAgPG5neC1lbW9qaVxuICAgICAgICAgICpuZ0lmPVwiaWRsZUVtb2ppICYmIGlkbGVFbW9qaS5sZW5ndGhcIlxuICAgICAgICAgIFtpc05hdGl2ZV09XCJlbW9qaUlzTmF0aXZlXCJcbiAgICAgICAgICBbc2tpbl09XCJlbW9qaVNraW5cIlxuICAgICAgICAgIFtzZXRdPVwiZW1vamlTZXRcIlxuICAgICAgICAgIFtlbW9qaV09XCJpZGxlRW1vamlcIlxuICAgICAgICAgIFtiYWNrZ3JvdW5kSW1hZ2VGbl09XCJlbW9qaUJhY2tncm91bmRJbWFnZUZuXCJcbiAgICAgICAgICBbc2l6ZV09XCIzOFwiXG4gICAgICAgICAgW2ltYWdlVXJsRm5dPVwiZW1vamlJbWFnZVVybEZuXCJcbiAgICAgICAgPjwvbmd4LWVtb2ppPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJlbW9qaS1tYXJ0LXByZXZpZXctZGF0YVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVtb2ppLW1hcnQtdGl0bGUtbGFiZWxcIj57eyB0aXRsZSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZW1vamktbWFydC1wcmV2aWV3LXNraW5zXCI+XG4gICAgICAgIDxlbW9qaS1za2luc1xuICAgICAgICAgIFtza2luXT1cImVtb2ppU2tpblwiXG4gICAgICAgICAgKGNoYW5nZVNraW4pPVwic2tpbkNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgICAgIFtpMThuXT1cImkxOG5cIlxuICAgICAgICA+PC9lbW9qaS1za2lucz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFByZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgQElucHV0KCkgZW1vamk6IGFueTtcbiAgQElucHV0KCkgaWRsZUVtb2ppOiBhbnk7XG4gIEBJbnB1dCgpIGkxOG46IGFueTtcbiAgQElucHV0KCkgZW1vamlJc05hdGl2ZT86IEVtb2ppWydpc05hdGl2ZSddO1xuICBASW5wdXQoKSBlbW9qaVNraW4/OiBFbW9qaVsnc2tpbiddO1xuICBASW5wdXQoKSBlbW9qaVNpemU/OiBFbW9qaVsnc2l6ZSddO1xuICBASW5wdXQoKSBlbW9qaVNldD86IEVtb2ppWydzZXQnXTtcbiAgQElucHV0KCkgZW1vamlTaGVldFNpemU/OiBFbW9qaVsnc2hlZXRTaXplJ107XG4gIEBJbnB1dCgpIGVtb2ppQmFja2dyb3VuZEltYWdlRm4/OiBFbW9qaVsnYmFja2dyb3VuZEltYWdlRm4nXTtcbiAgQElucHV0KCkgZW1vamlJbWFnZVVybEZuPzogRW1vamlbJ2ltYWdlVXJsRm4nXTtcbiAgQE91dHB1dCgpIHNraW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEVtb2ppWydza2luJ10+KCk7XG4gIGVtb2ppRGF0YTogUGFydGlhbDxFbW9qaURhdGE+ID0ge307XG4gIGxpc3RlZEVtb3RpY29ucz86IHN0cmluZ1tdO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGVtb2ppU2VydmljZTogRW1vamlTZXJ2aWNlKSB7fVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIGlmICghdGhpcy5lbW9qaSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmVtb2ppRGF0YSA9IHRoaXMuZW1vamlTZXJ2aWNlLmdldERhdGEoXG4gICAgICB0aGlzLmVtb2ppLFxuICAgICAgdGhpcy5lbW9qaVNraW4sXG4gICAgICB0aGlzLmVtb2ppU2V0LFxuICAgICkgYXMgRW1vamlEYXRhO1xuICAgIGNvbnN0IGtub3duRW1vdGljb25zOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IGxpc3RlZEVtb3RpY29uczogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBlbW9pdGNvbnMgPSB0aGlzLmVtb2ppRGF0YS5lbW90aWNvbnMgfHwgW107XG4gICAgZW1vaXRjb25zLmZvckVhY2goKGVtb3RpY29uOiBzdHJpbmcpID0+IHtcbiAgICAgIGlmIChrbm93bkVtb3RpY29ucy5pbmRleE9mKGVtb3RpY29uLnRvTG93ZXJDYXNlKCkpID49IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAga25vd25FbW90aWNvbnMucHVzaChlbW90aWNvbi50b0xvd2VyQ2FzZSgpKTtcbiAgICAgIGxpc3RlZEVtb3RpY29ucy5wdXNoKGVtb3RpY29uKTtcbiAgICB9KTtcbiAgICB0aGlzLmxpc3RlZEVtb3RpY29ucyA9IGxpc3RlZEVtb3RpY29ucztcbiAgICB0aGlzLnJlZj8uZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iXX0=
|
@@ -1,165 +0,0 @@
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
import * as i1 from "./emoji-search.service";
|
4
|
-
import * as i2 from "@angular/forms";
|
5
|
-
let id = 0;
|
6
|
-
export class SearchComponent {
|
7
|
-
constructor(emojiSearch) {
|
8
|
-
this.emojiSearch = emojiSearch;
|
9
|
-
this.maxResults = 75;
|
10
|
-
this.autoFocus = false;
|
11
|
-
this.include = [];
|
12
|
-
this.exclude = [];
|
13
|
-
this.custom = [];
|
14
|
-
this.searchResults = new EventEmitter();
|
15
|
-
this.enterKey = new EventEmitter();
|
16
|
-
this.isSearching = false;
|
17
|
-
this.query = '';
|
18
|
-
this.inputId = `emoji-mart-search-${++id}`;
|
19
|
-
}
|
20
|
-
ngOnInit() {
|
21
|
-
this.icon = this.icons.search;
|
22
|
-
}
|
23
|
-
ngAfterViewInit() {
|
24
|
-
if (this.autoFocus) {
|
25
|
-
this.inputRef.nativeElement.focus();
|
26
|
-
}
|
27
|
-
}
|
28
|
-
clear() {
|
29
|
-
this.query = '';
|
30
|
-
this.handleSearch('');
|
31
|
-
this.inputRef.nativeElement.focus();
|
32
|
-
}
|
33
|
-
handleEnterKey($event) {
|
34
|
-
if (!this.query) {
|
35
|
-
return;
|
36
|
-
}
|
37
|
-
this.enterKey.emit($event);
|
38
|
-
$event.preventDefault();
|
39
|
-
}
|
40
|
-
handleSearch(value) {
|
41
|
-
if (value === '') {
|
42
|
-
this.icon = this.icons.search;
|
43
|
-
this.isSearching = false;
|
44
|
-
}
|
45
|
-
else {
|
46
|
-
this.icon = this.icons.delete;
|
47
|
-
this.isSearching = true;
|
48
|
-
}
|
49
|
-
const emojis = this.emojiSearch.search(this.query, this.emojisToShowFilter, this.maxResults, this.include, this.exclude, this.custom);
|
50
|
-
this.searchResults.emit(emojis);
|
51
|
-
}
|
52
|
-
handleChange() {
|
53
|
-
this.handleSearch(this.query);
|
54
|
-
}
|
55
|
-
}
|
56
|
-
SearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SearchComponent, deps: [{ token: i1.EmojiSearch }], target: i0.ɵɵFactoryTarget.Component });
|
57
|
-
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: `
|
58
|
-
<div class="emoji-mart-search">
|
59
|
-
<input
|
60
|
-
[id]="inputId"
|
61
|
-
#inputRef
|
62
|
-
type="search"
|
63
|
-
(keyup.enter)="handleEnterKey($event)"
|
64
|
-
[placeholder]="i18n.search"
|
65
|
-
[autofocus]="autoFocus"
|
66
|
-
[(ngModel)]="query"
|
67
|
-
(ngModelChange)="handleChange()"
|
68
|
-
/>
|
69
|
-
<!--
|
70
|
-
Use a <label> in addition to the placeholder for accessibility, but place it off-screen
|
71
|
-
http://www.maxability.co.in/2016/01/placeholder-attribute-and-why-it-is-not-accessible/
|
72
|
-
-->
|
73
|
-
<label class="emoji-mart-sr-only" [htmlFor]="inputId">
|
74
|
-
{{ i18n.search }}
|
75
|
-
</label>
|
76
|
-
<button
|
77
|
-
type="button"
|
78
|
-
class="emoji-mart-search-icon"
|
79
|
-
(click)="clear()"
|
80
|
-
(keyup.enter)="clear()"
|
81
|
-
[disabled]="!isSearching"
|
82
|
-
[attr.aria-label]="i18n.clear"
|
83
|
-
>
|
84
|
-
<svg
|
85
|
-
xmlns="http://www.w3.org/2000/svg"
|
86
|
-
viewBox="0 0 20 20"
|
87
|
-
width="13"
|
88
|
-
height="13"
|
89
|
-
opacity="0.5"
|
90
|
-
>
|
91
|
-
<path [attr.d]="icon" />
|
92
|
-
</svg>
|
93
|
-
</button>
|
94
|
-
</div>
|
95
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i2.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SearchComponent, decorators: [{
|
97
|
-
type: Component,
|
98
|
-
args: [{
|
99
|
-
selector: 'emoji-search',
|
100
|
-
template: `
|
101
|
-
<div class="emoji-mart-search">
|
102
|
-
<input
|
103
|
-
[id]="inputId"
|
104
|
-
#inputRef
|
105
|
-
type="search"
|
106
|
-
(keyup.enter)="handleEnterKey($event)"
|
107
|
-
[placeholder]="i18n.search"
|
108
|
-
[autofocus]="autoFocus"
|
109
|
-
[(ngModel)]="query"
|
110
|
-
(ngModelChange)="handleChange()"
|
111
|
-
/>
|
112
|
-
<!--
|
113
|
-
Use a <label> in addition to the placeholder for accessibility, but place it off-screen
|
114
|
-
http://www.maxability.co.in/2016/01/placeholder-attribute-and-why-it-is-not-accessible/
|
115
|
-
-->
|
116
|
-
<label class="emoji-mart-sr-only" [htmlFor]="inputId">
|
117
|
-
{{ i18n.search }}
|
118
|
-
</label>
|
119
|
-
<button
|
120
|
-
type="button"
|
121
|
-
class="emoji-mart-search-icon"
|
122
|
-
(click)="clear()"
|
123
|
-
(keyup.enter)="clear()"
|
124
|
-
[disabled]="!isSearching"
|
125
|
-
[attr.aria-label]="i18n.clear"
|
126
|
-
>
|
127
|
-
<svg
|
128
|
-
xmlns="http://www.w3.org/2000/svg"
|
129
|
-
viewBox="0 0 20 20"
|
130
|
-
width="13"
|
131
|
-
height="13"
|
132
|
-
opacity="0.5"
|
133
|
-
>
|
134
|
-
<path [attr.d]="icon" />
|
135
|
-
</svg>
|
136
|
-
</button>
|
137
|
-
</div>
|
138
|
-
`,
|
139
|
-
preserveWhitespaces: false,
|
140
|
-
}]
|
141
|
-
}], ctorParameters: function () { return [{ type: i1.EmojiSearch }]; }, propDecorators: { maxResults: [{
|
142
|
-
type: Input
|
143
|
-
}], autoFocus: [{
|
144
|
-
type: Input
|
145
|
-
}], i18n: [{
|
146
|
-
type: Input
|
147
|
-
}], include: [{
|
148
|
-
type: Input
|
149
|
-
}], exclude: [{
|
150
|
-
type: Input
|
151
|
-
}], custom: [{
|
152
|
-
type: Input
|
153
|
-
}], icons: [{
|
154
|
-
type: Input
|
155
|
-
}], emojisToShowFilter: [{
|
156
|
-
type: Input
|
157
|
-
}], searchResults: [{
|
158
|
-
type: Output
|
159
|
-
}], enterKey: [{
|
160
|
-
type: Output
|
161
|
-
}], inputRef: [{
|
162
|
-
type: ViewChild,
|
163
|
-
args: ['inputRef', { static: true }]
|
164
|
-
}] } });
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcGlja2VyL3NlYXJjaC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7Ozs7QUFJdkIsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBNkNYLE1BQU0sT0FBTyxlQUFlO0lBaUIxQixZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQWhCbkMsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFDdkIsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUN2QixXQUFNLEdBQVUsRUFBRSxDQUFDO1FBR2xCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUMxQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU3QyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsWUFBTyxHQUFHLHFCQUFxQixFQUFFLEVBQUUsRUFBRSxDQUFDO0lBRVMsQ0FBQztJQUVoRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBQ0QsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNyQztJQUNILENBQUM7SUFDRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsY0FBYyxDQUFDLE1BQWE7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELFlBQVksQ0FBQyxLQUFhO1FBQ3hCLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRTtZQUNoQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1NBQzFCO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1NBQ3pCO1FBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQ3BDLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLGtCQUFrQixFQUN2QixJQUFJLENBQUMsVUFBVSxFQUNmLElBQUksQ0FBQyxPQUFPLEVBQ1osSUFBSSxDQUFDLE9BQU8sRUFDWixJQUFJLENBQUMsTUFBTSxDQUNILENBQUM7UUFDWCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsWUFBWTtRQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OzRHQTNEVSxlQUFlO2dHQUFmLGVBQWUsMmFBekNoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQ1Q7MkZBR1UsZUFBZTtrQkEzQzNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQ1Q7b0JBQ0QsbUJBQW1CLEVBQUUsS0FBSztpQkFDM0I7a0dBRVUsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDMEMsUUFBUTtzQkFBeEQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRW1vamlTZWFyY2ggfSBmcm9tICcuL2Vtb2ppLXNlYXJjaC5zZXJ2aWNlJztcblxubGV0IGlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW1vamktc2VhcmNoJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZW1vamktbWFydC1zZWFyY2hcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICBbaWRdPVwiaW5wdXRJZFwiXG4gICAgICAgICNpbnB1dFJlZlxuICAgICAgICB0eXBlPVwic2VhcmNoXCJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cImhhbmRsZUVudGVyS2V5KCRldmVudClcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiaTE4bi5zZWFyY2hcIlxuICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9Gb2N1c1wiXG4gICAgICAgIFsobmdNb2RlbCldPVwicXVlcnlcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoKVwiXG4gICAgICAvPlxuICAgICAgPCEtLVxuICAgICAgVXNlIGEgPGxhYmVsPiBpbiBhZGRpdGlvbiB0byB0aGUgcGxhY2Vob2xkZXIgZm9yIGFjY2Vzc2liaWxpdHksIGJ1dCBwbGFjZSBpdCBvZmYtc2NyZWVuXG4gICAgICBodHRwOi8vd3d3Lm1heGFiaWxpdHkuY28uaW4vMjAxNi8wMS9wbGFjZWhvbGRlci1hdHRyaWJ1dGUtYW5kLXdoeS1pdC1pcy1ub3QtYWNjZXNzaWJsZS9cbiAgICAgIC0tPlxuICAgICAgPGxhYmVsIGNsYXNzPVwiZW1vamktbWFydC1zci1vbmx5XCIgW2h0bWxGb3JdPVwiaW5wdXRJZFwiPlxuICAgICAgICB7eyBpMThuLnNlYXJjaCB9fVxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiZW1vamktbWFydC1zZWFyY2gtaWNvblwiXG4gICAgICAgIChjbGljayk9XCJjbGVhcigpXCJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cImNsZWFyKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWlzU2VhcmNoaW5nXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpMThuLmNsZWFyXCJcbiAgICAgID5cbiAgICAgICAgPHN2Z1xuICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxuICAgICAgICAgIHdpZHRoPVwiMTNcIlxuICAgICAgICAgIGhlaWdodD1cIjEzXCJcbiAgICAgICAgICBvcGFjaXR5PVwiMC41XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxwYXRoIFthdHRyLmRdPVwiaWNvblwiIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQge1xuICBASW5wdXQoKSBtYXhSZXN1bHRzID0gNzU7XG4gIEBJbnB1dCgpIGF1dG9Gb2N1cyA9IGZhbHNlO1xuICBASW5wdXQoKSBpMThuOiBhbnk7XG4gIEBJbnB1dCgpIGluY2x1ZGU6IHN0cmluZ1tdID0gW107XG4gIEBJbnB1dCgpIGV4Y2x1ZGU6IHN0cmluZ1tdID0gW107XG4gIEBJbnB1dCgpIGN1c3RvbTogYW55W10gPSBbXTtcbiAgQElucHV0KCkgaWNvbnMhOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICBASW5wdXQoKSBlbW9qaXNUb1Nob3dGaWx0ZXI/OiAoeDogYW55KSA9PiBib29sZWFuO1xuICBAT3V0cHV0KCkgc2VhcmNoUmVzdWx0cyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XG4gIEBPdXRwdXQoKSBlbnRlcktleSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAVmlld0NoaWxkKCdpbnB1dFJlZicsIHsgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgaW5wdXRSZWYhOiBFbGVtZW50UmVmO1xuICBpc1NlYXJjaGluZyA9IGZhbHNlO1xuICBpY29uPzogc3RyaW5nO1xuICBxdWVyeSA9ICcnO1xuICBpbnB1dElkID0gYGVtb2ppLW1hcnQtc2VhcmNoLSR7KytpZH1gO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZW1vamlTZWFyY2g6IEVtb2ppU2VhcmNoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaWNvbiA9IHRoaXMuaWNvbnMuc2VhcmNoO1xuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuICBjbGVhcigpIHtcbiAgICB0aGlzLnF1ZXJ5ID0gJyc7XG4gICAgdGhpcy5oYW5kbGVTZWFyY2goJycpO1xuICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG4gIGhhbmRsZUVudGVyS2V5KCRldmVudDogRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMucXVlcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5lbnRlcktleS5lbWl0KCRldmVudCk7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cbiAgaGFuZGxlU2VhcmNoKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUgPT09ICcnKSB7XG4gICAgICB0aGlzLmljb24gPSB0aGlzLmljb25zLnNlYXJjaDtcbiAgICAgIHRoaXMuaXNTZWFyY2hpbmcgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pY29uID0gdGhpcy5pY29ucy5kZWxldGU7XG4gICAgICB0aGlzLmlzU2VhcmNoaW5nID0gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgZW1vamlzID0gdGhpcy5lbW9qaVNlYXJjaC5zZWFyY2goXG4gICAgICB0aGlzLnF1ZXJ5LFxuICAgICAgdGhpcy5lbW9qaXNUb1Nob3dGaWx0ZXIsXG4gICAgICB0aGlzLm1heFJlc3VsdHMsXG4gICAgICB0aGlzLmluY2x1ZGUsXG4gICAgICB0aGlzLmV4Y2x1ZGUsXG4gICAgICB0aGlzLmN1c3RvbSxcbiAgICApIGFzIGFueVtdO1xuICAgIHRoaXMuc2VhcmNoUmVzdWx0cy5lbWl0KGVtb2ppcyk7XG4gIH1cbiAgaGFuZGxlQ2hhbmdlKCkge1xuICAgIHRoaXMuaGFuZGxlU2VhcmNoKHRoaXMucXVlcnkpO1xuICB9XG59XG4iXX0=
|
@@ -1,108 +0,0 @@
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
import * as i1 from "@angular/common";
|
4
|
-
export class SkinComponent {
|
5
|
-
constructor() {
|
6
|
-
this.changeSkin = new EventEmitter();
|
7
|
-
this.opened = false;
|
8
|
-
this.skinTones = [1, 2, 3, 4, 5, 6];
|
9
|
-
}
|
10
|
-
toggleOpen() {
|
11
|
-
this.opened = !this.opened;
|
12
|
-
}
|
13
|
-
isSelected(skinTone) {
|
14
|
-
return skinTone === this.skin;
|
15
|
-
}
|
16
|
-
isVisible(skinTone) {
|
17
|
-
return this.opened || this.isSelected(skinTone);
|
18
|
-
}
|
19
|
-
pressed(skinTone) {
|
20
|
-
return this.opened ? !!this.isSelected(skinTone) : '';
|
21
|
-
}
|
22
|
-
tabIndex(skinTone) {
|
23
|
-
return this.isVisible(skinTone) ? '0' : '';
|
24
|
-
}
|
25
|
-
expanded(skinTone) {
|
26
|
-
return this.isSelected(skinTone) ? this.opened : '';
|
27
|
-
}
|
28
|
-
handleClick(skin) {
|
29
|
-
if (!this.opened) {
|
30
|
-
this.opened = true;
|
31
|
-
return;
|
32
|
-
}
|
33
|
-
this.opened = false;
|
34
|
-
if (skin !== this.skin) {
|
35
|
-
this.changeSkin.emit(skin);
|
36
|
-
}
|
37
|
-
}
|
38
|
-
}
|
39
|
-
SkinComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SkinComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
40
|
-
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: `
|
41
|
-
<section
|
42
|
-
class="emoji-mart-skin-swatches"
|
43
|
-
[class.opened]="opened"
|
44
|
-
>
|
45
|
-
<span
|
46
|
-
*ngFor="let skinTone of skinTones"
|
47
|
-
class="emoji-mart-skin-swatch"
|
48
|
-
[class.selected]="skinTone === skin"
|
49
|
-
>
|
50
|
-
<span
|
51
|
-
(click)="handleClick(skinTone)"
|
52
|
-
(keyup.enter)="handleClick(skinTone)"
|
53
|
-
(keyup.space)="handleClick(skinTone)"
|
54
|
-
class="emoji-mart-skin emoji-mart-skin-tone-{{ skinTone }}"
|
55
|
-
role="button"
|
56
|
-
[tabIndex]="tabIndex(skinTone)"
|
57
|
-
[attr.aria-hidden]="!isVisible(skinTone)"
|
58
|
-
[attr.aria-pressed]="pressed(skinTone)"
|
59
|
-
[attr.aria-haspopup]="!!isSelected(skinTone)"
|
60
|
-
[attr.aria-expanded]="expanded(skinTone)"
|
61
|
-
[attr.aria-label]="i18n.skintones[skinTone]"
|
62
|
-
[attr.title]="i18n.skintones[skinTone]"
|
63
|
-
></span>
|
64
|
-
</span>
|
65
|
-
</section>
|
66
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: SkinComponent, decorators: [{
|
68
|
-
type: Component,
|
69
|
-
args: [{
|
70
|
-
selector: 'emoji-skins',
|
71
|
-
template: `
|
72
|
-
<section
|
73
|
-
class="emoji-mart-skin-swatches"
|
74
|
-
[class.opened]="opened"
|
75
|
-
>
|
76
|
-
<span
|
77
|
-
*ngFor="let skinTone of skinTones"
|
78
|
-
class="emoji-mart-skin-swatch"
|
79
|
-
[class.selected]="skinTone === skin"
|
80
|
-
>
|
81
|
-
<span
|
82
|
-
(click)="handleClick(skinTone)"
|
83
|
-
(keyup.enter)="handleClick(skinTone)"
|
84
|
-
(keyup.space)="handleClick(skinTone)"
|
85
|
-
class="emoji-mart-skin emoji-mart-skin-tone-{{ skinTone }}"
|
86
|
-
role="button"
|
87
|
-
[tabIndex]="tabIndex(skinTone)"
|
88
|
-
[attr.aria-hidden]="!isVisible(skinTone)"
|
89
|
-
[attr.aria-pressed]="pressed(skinTone)"
|
90
|
-
[attr.aria-haspopup]="!!isSelected(skinTone)"
|
91
|
-
[attr.aria-expanded]="expanded(skinTone)"
|
92
|
-
[attr.aria-label]="i18n.skintones[skinTone]"
|
93
|
-
[attr.title]="i18n.skintones[skinTone]"
|
94
|
-
></span>
|
95
|
-
</span>
|
96
|
-
</section>
|
97
|
-
`,
|
98
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
99
|
-
preserveWhitespaces: false,
|
100
|
-
}]
|
101
|
-
}], propDecorators: { skin: [{
|
102
|
-
type: Input
|
103
|
-
}], i18n: [{
|
104
|
-
type: Input
|
105
|
-
}], changeSkin: [{
|
106
|
-
type: Output
|
107
|
-
}] } });
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9waWNrZXIvc2tpbnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOzs7QUFvQ3ZCLE1BQU0sT0FBTyxhQUFhO0lBaEMxQjtRQW9DWSxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFDekQsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGNBQVMsR0FBb0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBb0NqRDtJQWxDQyxVQUFVO1FBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxRQUF1QjtRQUNoQyxPQUFPLFFBQVEsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTLENBQUMsUUFBdUI7UUFDL0IsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUF1QjtRQUM3QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVELFFBQVEsQ0FBQyxRQUF1QjtRQUM5QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCxRQUFRLENBQUMsUUFBdUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFtQjtRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNuQixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQzs7MEdBekNVLGFBQWE7OEZBQWIsYUFBYSxrSUE5QmQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJUOzJGQUlVLGFBQWE7a0JBaEN6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxtQkFBbUIsRUFBRSxLQUFLO2lCQUMzQjs4QkFHVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBFbW9qaSB9IGZyb20gJ0BjdHJsL25neC1lbW9qaS1tYXJ0L25neC1lbW9qaSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vtb2ppLXNraW5zJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8c2VjdGlvblxuICAgICAgY2xhc3M9XCJlbW9qaS1tYXJ0LXNraW4tc3dhdGNoZXNcIlxuICAgICAgW2NsYXNzLm9wZW5lZF09XCJvcGVuZWRcIlxuICAgID5cbiAgICAgIDxzcGFuXG4gICAgICAgICpuZ0Zvcj1cImxldCBza2luVG9uZSBvZiBza2luVG9uZXNcIlxuICAgICAgICBjbGFzcz1cImVtb2ppLW1hcnQtc2tpbi1zd2F0Y2hcIlxuICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2tpblRvbmUgPT09IHNraW5cIlxuICAgICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDbGljayhza2luVG9uZSlcIlxuICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJoYW5kbGVDbGljayhza2luVG9uZSlcIlxuICAgICAgICAgIChrZXl1cC5zcGFjZSk9XCJoYW5kbGVDbGljayhza2luVG9uZSlcIlxuICAgICAgICAgIGNsYXNzPVwiZW1vamktbWFydC1za2luIGVtb2ppLW1hcnQtc2tpbi10b25lLXt7IHNraW5Ub25lIH19XCJcbiAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbdGFiSW5kZXhdPVwidGFiSW5kZXgoc2tpblRvbmUpXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCIhaXNWaXNpYmxlKHNraW5Ub25lKVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1wcmVzc2VkXT1cInByZXNzZWQoc2tpblRvbmUpXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cIiEhaXNTZWxlY3RlZChza2luVG9uZSlcIlxuICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZXhwYW5kZWQoc2tpblRvbmUpXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImkxOG4uc2tpbnRvbmVzW3NraW5Ub25lXVwiXG4gICAgICAgICAgW2F0dHIudGl0bGVdPVwiaTE4bi5za2ludG9uZXNbc2tpblRvbmVdXCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L3NlY3Rpb24+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgU2tpbkNvbXBvbmVudCB7XG4gIC8qKiBjdXJyZW50bHkgc2VsZWN0ZWQgc2tpbiAqL1xuICBASW5wdXQoKSBza2luPzogRW1vamlbJ3NraW4nXTtcbiAgQElucHV0KCkgaTE4bjogYW55O1xuICBAT3V0cHV0KCkgY2hhbmdlU2tpbiA9IG5ldyBFdmVudEVtaXR0ZXI8RW1vamlbJ3NraW4nXT4oKTtcbiAgb3BlbmVkID0gZmFsc2U7XG4gIHNraW5Ub25lczogRW1vamlbJ3NraW4nXVtdID0gWzEsIDIsIDMsIDQsIDUsIDZdO1xuXG4gIHRvZ2dsZU9wZW4oKSB7XG4gICAgdGhpcy5vcGVuZWQgPSAhdGhpcy5vcGVuZWQ7XG4gIH1cblxuICBpc1NlbGVjdGVkKHNraW5Ub25lOiBFbW9qaVsnc2tpbiddKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNraW5Ub25lID09PSB0aGlzLnNraW47XG4gIH1cblxuICBpc1Zpc2libGUoc2tpblRvbmU6IEVtb2ppWydza2luJ10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcGVuZWQgfHwgdGhpcy5pc1NlbGVjdGVkKHNraW5Ub25lKTtcbiAgfVxuXG4gIHByZXNzZWQoc2tpblRvbmU6IEVtb2ppWydza2luJ10pIHtcbiAgICByZXR1cm4gdGhpcy5vcGVuZWQgPyAhIXRoaXMuaXNTZWxlY3RlZChza2luVG9uZSkgOiAnJztcbiAgfVxuXG4gIHRhYkluZGV4KHNraW5Ub25lOiBFbW9qaVsnc2tpbiddKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWaXNpYmxlKHNraW5Ub25lKSA/ICcwJyA6ICcnO1xuICB9XG5cbiAgZXhwYW5kZWQoc2tpblRvbmU6IEVtb2ppWydza2luJ10pIHtcbiAgICByZXR1cm4gdGhpcy5pc1NlbGVjdGVkKHNraW5Ub25lKSA/IHRoaXMub3BlbmVkIDogJyc7XG4gIH1cblxuICBoYW5kbGVDbGljayhza2luOiBFbW9qaVsnc2tpbiddKSB7XG4gICAgaWYgKCF0aGlzLm9wZW5lZCkge1xuICAgICAgdGhpcy5vcGVuZWQgPSB0cnVlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xuICAgIGlmIChza2luICE9PSB0aGlzLnNraW4pIHtcbiAgICAgIHRoaXMuY2hhbmdlU2tpbi5lbWl0KHNraW4pO1xuICAgIH1cbiAgfVxufVxuIl19
|