ngx-ntk-icon-picker 18.3.1
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 +24 -0
- package/esm2020/lib/icon-picker.component.mjs +204 -0
- package/esm2020/lib/icon-picker.directive.mjs +131 -0
- package/esm2020/lib/icon-picker.module.mjs +43 -0
- package/esm2020/lib/icon-picker.service.mjs +68 -0
- package/esm2020/lib/icon.mjs +11 -0
- package/esm2020/lib/icons-pack.mjs +2 -0
- package/esm2020/lib/index.mjs +6 -0
- package/esm2020/lib/pack/font-awesome4-icons-pack.mjs +4791 -0
- package/esm2020/lib/pack/font-awesome5-icons-pack.mjs +18193 -0
- package/esm2020/lib/pack/font-awesome6-icons-pack.mjs +16828 -0
- package/esm2020/lib/pack/material-icons-pack.mjs +3735 -0
- package/esm2020/lib/pack/prime-icons-pack.mjs +951 -0
- package/esm2020/lib/search-icon.pipe.mjs +38 -0
- package/esm2020/lib/text.directive.mjs +27 -0
- package/esm2020/ngx-ntk-icon-picker.mjs +5 -0
- package/esm2020/public-api.mjs +5 -0
- package/fesm2015/ngx-ntk-icon-picker.mjs +45004 -0
- package/fesm2015/ngx-ntk-icon-picker.mjs.map +1 -0
- package/fesm2020/ngx-ntk-icon-picker.mjs +45004 -0
- package/fesm2020/ngx-ntk-icon-picker.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/icon-picker.component.d.ts +59 -0
- package/lib/icon-picker.directive.d.ts +40 -0
- package/lib/icon-picker.module.d.ts +12 -0
- package/lib/icon-picker.service.d.ts +15 -0
- package/lib/icon.d.ts +17 -0
- package/lib/icons-pack.d.ts +4 -0
- package/lib/index.d.ts +5 -0
- package/lib/pack/font-awesome4-icons-pack.d.ts +5 -0
- package/lib/pack/font-awesome5-icons-pack.d.ts +5 -0
- package/lib/pack/font-awesome6-icons-pack.d.ts +5 -0
- package/lib/pack/material-icons-pack.d.ts +5 -0
- package/lib/pack/prime-icons-pack.d.ts +5 -0
- package/lib/search-icon.pipe.d.ts +9 -0
- package/lib/text.directive.d.ts +9 -0
- package/package.json +45 -0
- package/public-api.d.ts +1 -0
package/README.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# NgxNtkIconPicker
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.1.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project ngx-ntk-icon-picker` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ngx-ntk-icon-picker`.
|
|
8
|
+
> Note: Don't forget to add `--project ngx-ntk-icon-picker` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build ngx-ntk-icon-picker` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build ngx-ntk-icon-picker`, go to the dist folder `cd dist/ngx-ntk-icon-picker` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test ngx-ntk-icon-picker` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { Component, ViewChild } from '@angular/core';
|
|
2
|
+
import { IconType } from './icon';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./icon-picker.service";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@fortawesome/angular-fontawesome";
|
|
7
|
+
import * as i4 from "./text.directive";
|
|
8
|
+
import * as i5 from "./search-icon.pipe";
|
|
9
|
+
export class IconPickerComponent {
|
|
10
|
+
constructor(el, cdr, service) {
|
|
11
|
+
this.el = el;
|
|
12
|
+
this.cdr = cdr;
|
|
13
|
+
this.service = service;
|
|
14
|
+
this.ipUseRootViewContainer = false;
|
|
15
|
+
this.iconType = IconType;
|
|
16
|
+
this.icons = [];
|
|
17
|
+
this.search = '';
|
|
18
|
+
this.dialogArrowSize = 10;
|
|
19
|
+
}
|
|
20
|
+
setDialog(instance, elementRef, icon, ipPosition, ipHeight, ipMaxHeight, ipWidth, ipPlaceHolder, ipFallbackIcon, ipIconPack, ipIconSize, ipIconVerticalPadding, ipIconHorizontalPadding, ipButtonStyleClass, ipDivSearchStyleClass, ipInputSearchStyleClass, ipKeepSearchFilter, ipUseRootViewContainer) {
|
|
21
|
+
this.directiveInstance = instance;
|
|
22
|
+
this.setInitialIcon(icon);
|
|
23
|
+
this.directiveElementRef = elementRef;
|
|
24
|
+
this.ipPosition = ipPosition;
|
|
25
|
+
this.ipHeight = parseInt(ipHeight, 10);
|
|
26
|
+
this.ipMaxHeight = parseInt(ipMaxHeight, 10);
|
|
27
|
+
this.ipWidth = parseInt(ipWidth, 10);
|
|
28
|
+
if (!this.ipWidth) {
|
|
29
|
+
this.ipWidth = elementRef.nativeElement.offsetWidth;
|
|
30
|
+
}
|
|
31
|
+
this.ipIconSize = parseInt(ipIconSize, 10);
|
|
32
|
+
this.ipIconVerticalPadding = parseInt(ipIconVerticalPadding, 10);
|
|
33
|
+
this.ipIconHorizontalPadding = parseInt(ipIconHorizontalPadding, 10);
|
|
34
|
+
this.ipKeepSearchFilter = JSON.parse(ipKeepSearchFilter);
|
|
35
|
+
this.ipPlaceHolder = ipPlaceHolder;
|
|
36
|
+
this.ipFallbackIcon = ipFallbackIcon;
|
|
37
|
+
this.ipIconPack = ipIconPack;
|
|
38
|
+
this.ipButtonStyleClass = ipButtonStyleClass;
|
|
39
|
+
this.ipInputSearchStyleClass = ipInputSearchStyleClass;
|
|
40
|
+
this.ipDivSearchStyleClass = ipDivSearchStyleClass;
|
|
41
|
+
this.ipUseRootViewContainer = ipUseRootViewContainer;
|
|
42
|
+
this.buttonHeight = this.ipIconSize + 2 * this.ipIconVerticalPadding;
|
|
43
|
+
this.buttonWidth = this.ipIconSize + 2 * this.ipIconHorizontalPadding;
|
|
44
|
+
}
|
|
45
|
+
ngOnInit() {
|
|
46
|
+
this.icons = this.service.getIcons(this.ipIconPack);
|
|
47
|
+
this.listenerMouseDown = (event) => this.onMouseDown(event);
|
|
48
|
+
this.listenerResize = () => this.onResize();
|
|
49
|
+
this.openDialog(this.initialIcon);
|
|
50
|
+
}
|
|
51
|
+
setInitialIcon(icon) {
|
|
52
|
+
this.initialIcon = icon;
|
|
53
|
+
this.selectedIcon = this.icons.find(el => el ?
|
|
54
|
+
`fa fa-${el.id}` === icon || `pi pi-${el.id}` === icon || `${el.id}` === icon :
|
|
55
|
+
false);
|
|
56
|
+
if (this.ipKeepSearchFilter && this.selectedIcon && icon !== this.ipFallbackIcon) {
|
|
57
|
+
this.search = this.selectedIcon.id;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
this.search = '';
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
openDialog(icon) {
|
|
64
|
+
this.setInitialIcon(icon);
|
|
65
|
+
this.openIconPicker();
|
|
66
|
+
}
|
|
67
|
+
setSearch(val) {
|
|
68
|
+
this.search = val;
|
|
69
|
+
}
|
|
70
|
+
selectIcon(icon) {
|
|
71
|
+
if (icon.type === IconType.FontAwesome) {
|
|
72
|
+
this.directiveInstance.iconSelected(`fa fa-${icon.id}`);
|
|
73
|
+
}
|
|
74
|
+
else if (icon.type === IconType.FontAwesome5) {
|
|
75
|
+
this.directiveInstance.iconSelected(`${icon.id}`);
|
|
76
|
+
}
|
|
77
|
+
else if (icon.type === IconType.FontAwesome6) {
|
|
78
|
+
this.directiveInstance.iconSelected(`${icon.id}`);
|
|
79
|
+
}
|
|
80
|
+
else if (icon.type === IconType.Material) {
|
|
81
|
+
this.directiveInstance.iconSelected(`${icon.id}`);
|
|
82
|
+
}
|
|
83
|
+
else if (icon.type === IconType.PrimeIcons) {
|
|
84
|
+
this.directiveInstance.iconSelected(`pi pi-${icon.id}`);
|
|
85
|
+
}
|
|
86
|
+
this.closeIconPicker();
|
|
87
|
+
}
|
|
88
|
+
onMouseDown(event) {
|
|
89
|
+
if (!this.isDescendant(this.el.nativeElement, event.target) && event.target !== this.directiveElementRef.nativeElement) {
|
|
90
|
+
this.closeIconPicker();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
openIconPicker() {
|
|
94
|
+
if (!this.show) {
|
|
95
|
+
this.show = true;
|
|
96
|
+
this.hidden = true;
|
|
97
|
+
setTimeout(() => {
|
|
98
|
+
this.setDialogPosition();
|
|
99
|
+
this.hidden = false;
|
|
100
|
+
this.cdr.detectChanges();
|
|
101
|
+
}, 0);
|
|
102
|
+
this.directiveInstance.stateChanged(true);
|
|
103
|
+
document.addEventListener('mousedown', this.listenerMouseDown);
|
|
104
|
+
window.addEventListener('resize', this.listenerResize);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
closeIconPicker() {
|
|
108
|
+
if (this.show) {
|
|
109
|
+
this.show = false;
|
|
110
|
+
this.directiveInstance.stateChanged(false);
|
|
111
|
+
document.removeEventListener('mousedown', this.listenerMouseDown);
|
|
112
|
+
window.removeEventListener('resize', this.listenerResize);
|
|
113
|
+
this.cdr.detectChanges();
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
onResize() {
|
|
117
|
+
if (this.position === 'fixed') {
|
|
118
|
+
this.setDialogPosition();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
setDialogPosition() {
|
|
122
|
+
const dialogHeight = this.dialogElement.nativeElement.offsetHeight;
|
|
123
|
+
let node = this.directiveElementRef.nativeElement;
|
|
124
|
+
let position = 'static';
|
|
125
|
+
let transform = '';
|
|
126
|
+
let parentNode = null;
|
|
127
|
+
let transformNode = null;
|
|
128
|
+
let style = null;
|
|
129
|
+
while (node !== null && node.tagName !== 'HTML') {
|
|
130
|
+
style = window.getComputedStyle(node);
|
|
131
|
+
position = style.getPropertyValue('position');
|
|
132
|
+
transform = style.getPropertyValue('transform');
|
|
133
|
+
if (position !== 'static' && parentNode === null) {
|
|
134
|
+
parentNode = node;
|
|
135
|
+
}
|
|
136
|
+
if (transform && transform !== 'none' && transformNode === null) {
|
|
137
|
+
transformNode = node;
|
|
138
|
+
}
|
|
139
|
+
if (position === 'fixed') {
|
|
140
|
+
parentNode = transformNode;
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
node = node.parentNode;
|
|
144
|
+
}
|
|
145
|
+
const boxDirective = this.createBox(this.directiveElementRef.nativeElement, (position !== 'fixed'));
|
|
146
|
+
if (this.ipUseRootViewContainer || (position === 'fixed' &&
|
|
147
|
+
(!parentNode || parentNode instanceof HTMLUnknownElement))) {
|
|
148
|
+
this.top = boxDirective.top;
|
|
149
|
+
this.left = boxDirective.left;
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
if (parentNode === null) {
|
|
153
|
+
parentNode = node;
|
|
154
|
+
}
|
|
155
|
+
const boxParent = this.createBox(parentNode, (position !== 'fixed'));
|
|
156
|
+
this.top = boxDirective.top - boxParent.top;
|
|
157
|
+
this.left = boxDirective.left - boxParent.left;
|
|
158
|
+
}
|
|
159
|
+
if (position === 'fixed') {
|
|
160
|
+
this.position = 'fixed';
|
|
161
|
+
}
|
|
162
|
+
if (this.ipPosition === 'left') {
|
|
163
|
+
this.left -= this.ipWidth + this.dialogArrowSize - 2;
|
|
164
|
+
}
|
|
165
|
+
else if (this.ipPosition === 'top') {
|
|
166
|
+
this.top -= dialogHeight + this.dialogArrowSize;
|
|
167
|
+
this.arrowTop = dialogHeight - 1;
|
|
168
|
+
}
|
|
169
|
+
else if (this.ipPosition === 'bottom') {
|
|
170
|
+
this.top += boxDirective.height + this.dialogArrowSize;
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
this.left += boxDirective.width + this.dialogArrowSize - 2;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
isDescendant(parent, child) {
|
|
177
|
+
let node = child.parentNode;
|
|
178
|
+
while (node !== null) {
|
|
179
|
+
if (node === parent) {
|
|
180
|
+
return true;
|
|
181
|
+
}
|
|
182
|
+
node = node.parentNode;
|
|
183
|
+
}
|
|
184
|
+
return false;
|
|
185
|
+
}
|
|
186
|
+
createBox(element, offset) {
|
|
187
|
+
return {
|
|
188
|
+
top: element.getBoundingClientRect().top + (offset ? window.pageYOffset : 0),
|
|
189
|
+
left: element.getBoundingClientRect().left + (offset ? window.pageXOffset : 0),
|
|
190
|
+
width: element.offsetWidth,
|
|
191
|
+
height: element.offsetHeight
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
IconPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IconPickerComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.IconPickerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
196
|
+
IconPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: IconPickerComponent, selector: "icon-picker", viewQueries: [{ propertyName: "dialogElement", first: true, predicate: ["dialogPopup"], descendants: true }], ngImport: i0, template: "<div class=\"icon-picker\" #dialogPopup\r\n [hidden]=\"!show\"\r\n [style.visibility]=\"this.hidden ? 'hidden' : 'visible'\"\r\n [style.height.px]=\"ipHeight\"\r\n [style.width.px]=\"ipWidth\"\r\n [style.top.px]=\"top\"\r\n [style.left.px]=\"left\"\r\n [style.position]=\"position\">\r\n\r\n <div class=\"arrow arrow-{{ipPosition}}\" [style.top.px]=\"arrowTop\"></div>\r\n\r\n <div class=\"icon-search {{ipDivSearchStyleClass}}\">\r\n <input type=\"text\" class=\"{{ipInputSearchStyleClass}}\" [text] [value]=\"search\" (newValue)=\"setSearch($event)\"\r\n [placeholder]=\"ipPlaceHolder\">\r\n </div>\r\n <div class=\"icon-grid\" [ngStyle]=\"{'max-height.px': ipMaxHeight}\">\r\n <div *ngFor=\"let icon of icons | searchIcon:search\">\r\n <button *ngIf=\"icon\" class=\"ip-button-icon {{ipButtonStyleClass}}\" type=\"button\" title=\"{{ icon.name }}\"\r\n [ngClass]=\"{active : icon === selectedIcon}\"\r\n [style.width.px]=\"buttonWidth\"\r\n [style.height.px]=\"buttonHeight\"\r\n [style.padding-top.px]=\"ipIconVerticalPadding\"\r\n [style.padding-bottom.px]=\"ipIconVerticalPadding\"\r\n [style.padding-left.px]=\"ipIconHorizontalPadding\"\r\n [style.padding-right.px]=\"ipIconHorizontalPadding\"\r\n (click)=\"selectIcon(icon)\">\r\n <span *ngIf=\"icon.type === iconType.FontAwesome\" class=\"fa fa-{{icon.id}}\"\r\n [style.font-size.px]=\"ipIconSize\"></span>\r\n <span *ngIf=\"icon.type === iconType.FontAwesome5\" class=\"{{icon.id}}\"\r\n [style.font-size.px]=\"ipIconSize\"></span>\r\n <span *ngIf=\"icon.type === iconType.FontAwesome6\" [style.font-size.px]=\"ipIconSize\">\r\n <fa-icon [icon]=\"['fas', icon.iconName]\"></fa-icon>\r\n </span>\r\n <span *ngIf=\"icon.type === iconType.Material\" class=\"material-icons\"\r\n [style.font-size.px]=\"ipIconSize\">{{icon.id}}</span>\r\n <span *ngIf=\"icon.type === iconType.PrimeIcons\" class=\"pi pi-{{icon.id}}\"\r\n [style.font-size.px]=\"ipIconSize\"></span>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n", styles: [".icon-picker{box-sizing:border-box;margin:0;position:absolute;z-index:100000;top:250px;left:30px;width:230px;height:auto;border:#777 solid 1px;cursor:default;background-color:#fff;-webkit-user-select:none;user-select:none}.icon-picker i{position:relative;cursor:default}.icon-picker .arrow{position:absolute;z-index:999999;width:0;height:0;border-style:solid}.icon-picker .arrow-right{top:10px;left:-20px;border-width:5px 10px;border-color:rgba(0,0,0,0) #777 rgba(0,0,0,0) rgba(0,0,0,0)}.icon-picker .arrow-left{top:10px;left:100%;border-width:5px 10px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #777}.icon-picker .arrow-bottom{top:-20px;left:10px;border-width:10px 5px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) #777 rgba(0,0,0,0)}.icon-picker .arrow-top{left:10px;border-width:10px 5px;border-color:#777 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0)}.icon-picker div.icon-search{padding:5px}.icon-picker div.icon-grid{display:flex;overflow-y:auto;flex-direction:row;flex-wrap:wrap;padding:5px}.icon-picker div.icon-grid div{margin:2px}.icon-picker div.cursor-sv{position:relative;width:15px;height:15px;border-radius:50%;border:#ddd solid 1px;cursor:default}.icon-picker div.cursor{position:relative;width:16px;height:16px;border-radius:50%;border:#222 solid 2px;cursor:default}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "directive", type: i4.TextDirective, selector: "[text]", inputs: ["text"], outputs: ["newValue"] }, { kind: "pipe", type: i5.SearchIconPipe, name: "searchIcon" }] });
|
|
197
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IconPickerComponent, decorators: [{
|
|
198
|
+
type: Component,
|
|
199
|
+
args: [{ selector: 'icon-picker', template: "<div class=\"icon-picker\" #dialogPopup\r\n [hidden]=\"!show\"\r\n [style.visibility]=\"this.hidden ? 'hidden' : 'visible'\"\r\n [style.height.px]=\"ipHeight\"\r\n [style.width.px]=\"ipWidth\"\r\n [style.top.px]=\"top\"\r\n [style.left.px]=\"left\"\r\n [style.position]=\"position\">\r\n\r\n <div class=\"arrow arrow-{{ipPosition}}\" [style.top.px]=\"arrowTop\"></div>\r\n\r\n <div class=\"icon-search {{ipDivSearchStyleClass}}\">\r\n <input type=\"text\" class=\"{{ipInputSearchStyleClass}}\" [text] [value]=\"search\" (newValue)=\"setSearch($event)\"\r\n [placeholder]=\"ipPlaceHolder\">\r\n </div>\r\n <div class=\"icon-grid\" [ngStyle]=\"{'max-height.px': ipMaxHeight}\">\r\n <div *ngFor=\"let icon of icons | searchIcon:search\">\r\n <button *ngIf=\"icon\" class=\"ip-button-icon {{ipButtonStyleClass}}\" type=\"button\" title=\"{{ icon.name }}\"\r\n [ngClass]=\"{active : icon === selectedIcon}\"\r\n [style.width.px]=\"buttonWidth\"\r\n [style.height.px]=\"buttonHeight\"\r\n [style.padding-top.px]=\"ipIconVerticalPadding\"\r\n [style.padding-bottom.px]=\"ipIconVerticalPadding\"\r\n [style.padding-left.px]=\"ipIconHorizontalPadding\"\r\n [style.padding-right.px]=\"ipIconHorizontalPadding\"\r\n (click)=\"selectIcon(icon)\">\r\n <span *ngIf=\"icon.type === iconType.FontAwesome\" class=\"fa fa-{{icon.id}}\"\r\n [style.font-size.px]=\"ipIconSize\"></span>\r\n <span *ngIf=\"icon.type === iconType.FontAwesome5\" class=\"{{icon.id}}\"\r\n [style.font-size.px]=\"ipIconSize\"></span>\r\n <span *ngIf=\"icon.type === iconType.FontAwesome6\" [style.font-size.px]=\"ipIconSize\">\r\n <fa-icon [icon]=\"['fas', icon.iconName]\"></fa-icon>\r\n </span>\r\n <span *ngIf=\"icon.type === iconType.Material\" class=\"material-icons\"\r\n [style.font-size.px]=\"ipIconSize\">{{icon.id}}</span>\r\n <span *ngIf=\"icon.type === iconType.PrimeIcons\" class=\"pi pi-{{icon.id}}\"\r\n [style.font-size.px]=\"ipIconSize\"></span>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n", styles: [".icon-picker{box-sizing:border-box;margin:0;position:absolute;z-index:100000;top:250px;left:30px;width:230px;height:auto;border:#777 solid 1px;cursor:default;background-color:#fff;-webkit-user-select:none;user-select:none}.icon-picker i{position:relative;cursor:default}.icon-picker .arrow{position:absolute;z-index:999999;width:0;height:0;border-style:solid}.icon-picker .arrow-right{top:10px;left:-20px;border-width:5px 10px;border-color:rgba(0,0,0,0) #777 rgba(0,0,0,0) rgba(0,0,0,0)}.icon-picker .arrow-left{top:10px;left:100%;border-width:5px 10px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #777}.icon-picker .arrow-bottom{top:-20px;left:10px;border-width:10px 5px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) #777 rgba(0,0,0,0)}.icon-picker .arrow-top{left:10px;border-width:10px 5px;border-color:#777 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0)}.icon-picker div.icon-search{padding:5px}.icon-picker div.icon-grid{display:flex;overflow-y:auto;flex-direction:row;flex-wrap:wrap;padding:5px}.icon-picker div.icon-grid div{margin:2px}.icon-picker div.cursor-sv{position:relative;width:15px;height:15px;border-radius:50%;border:#ddd solid 1px;cursor:default}.icon-picker div.cursor{position:relative;width:16px;height:16px;border-radius:50%;border:#222 solid 2px;cursor:default}\n"] }]
|
|
200
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.IconPickerService }]; }, propDecorators: { dialogElement: [{
|
|
201
|
+
type: ViewChild,
|
|
202
|
+
args: ['dialogPopup']
|
|
203
|
+
}] } });
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW50ay1pY29uLXBpY2tlci9zcmMvbGliL2ljb24tcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1udGstaWNvbi1waWNrZXIvc3JjL2xpYi9pY29uLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBc0IsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzVGLE9BQU8sRUFBUSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7QUFTeEMsTUFBTSxPQUFPLG1CQUFtQjtJQThDOUIsWUFDVSxFQUFjLEVBQ2QsR0FBc0IsRUFDdEIsT0FBMEI7UUFGMUIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBakM3QiwyQkFBc0IsR0FBWSxLQUFLLENBQUM7UUFjeEMsYUFBUSxHQUFHLFFBQVEsQ0FBQztRQUkzQixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFTSixvQkFBZSxHQUFHLEVBQUUsQ0FBQztJQU03QixDQUFDO0lBRUQsU0FBUyxDQUFDLFFBQWEsRUFBRSxVQUFzQixFQUFFLElBQVksRUFBRSxVQUFrQixFQUFFLFFBQWdCLEVBQUUsV0FBbUIsRUFDOUcsT0FBZSxFQUFFLGFBQXFCLEVBQUUsY0FBc0IsRUFBRSxVQUFvQixFQUFFLFVBQWtCLEVBQ3hHLHFCQUE2QixFQUFFLHVCQUErQixFQUFFLGtCQUEwQixFQUFFLHFCQUE2QixFQUN6SCx1QkFBK0IsRUFBRSxrQkFBMEIsRUFBRSxzQkFBZ0M7UUFDckcsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQztRQUNsQyxJQUFJ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QyxDQUFDLENBQUMsQ0FBQztZQUM5RSxLQUFLLEVBQUUsT0FBTyxDQUFDLFdBQVc7WUFDMUIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxZQUFZO1NBQzdCLENBQUM7SUFDSixDQUFDOztpSEE3T1UsbUJBQW1CO3FHQUFuQixtQkFBbUIsaUtDWmhDLHFzRUEwQ0E7NEZEOUJhLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFFRSxhQUFhO2lLQU1HLGFBQWE7c0JBQXRDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBJY29uUGlja2VyU2VydmljZSB9IGZyb20gJy4vaWNvbi1waWNrZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEljb24sIEljb25UeXBlIH0gZnJvbSAnLi9pY29uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdpY29uLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ljb24tcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pY29uLXBpY2tlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgSWNvblBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnZGlhbG9nUG9wdXAnKSBkaWFsb2dFbGVtZW50OiBhbnk7XHJcblxyXG4gIC8vIFBvcG92ZXJcclxuICBwdWJsaWMgaXBQb3NpdGlvbjogc3RyaW5nO1xyXG4gIHB1YmxpYyBpcEhlaWdodDogbnVtYmVyO1xyXG4gIHB1YmxpYyBpcE1heEhlaWdodDogbnVtYmVyO1xyXG4gIHB1YmxpYyBpcFdpZHRoOiBudW1iZXI7XHJcbiAgLy8gSWNvbiBjc3NcclxuICBwdWJsaWMgaXBJY29uU2l6ZTogbnVtYmVyO1xyXG4gIHB1YmxpYyBpcEljb25WZXJ0aWNhbFBhZGRpbmc6IG51bWJlcjtcclxuICBwdWJsaWMgaXBJY29uSG9yaXpvbnRhbFBhZGRpbmc6IG51bWJlcjtcclxuICAvLyBJdGVtIFN0eWxlIGllIGlucHV0IGFuZCBidXR0b25cclxuICBwdWJsaWMgaXBCdXR0b25TdHlsZUNsYXNzOiBzdHJpbmc7XHJcbiAgcHVibGljIGlwSW5wdXRTZWFyY2hTdHlsZUNsYXNzOiBzdHJpbmc7XHJcbiAgcHVibGljIGlwRGl2U2VhcmNoU3R5bGVDbGFzczogc3RyaW5nO1xyXG4gIHB1YmxpYyBpcFVzZVJvb3RWaWV3Q29udGFpbmVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLy8gSWNvbiBhbmQgYmVoYXZpb3JzXHJcbiAgcHVibGljIGlwS2VlcFNlYXJjaEZpbHRlcjogYm9vbGVhbjtcclxuICBwdWJsaWMgaXBQbGFjZUhvbGRlcjogc3RyaW5nO1xyXG4gIHB1YmxpYyBpcEZhbGxiYWNrSWNvbjogc3RyaW5nO1xyXG4gIHB1YmxpYyBpcEljb25QYWNrOiBzdHJpbmdbXTtcclxuXHJcbiAgcHVibGljIHNob3c6IGJvb2xlYW47XHJcbiAgcHVibGljIGhpZGRlbjogYm9vbGVhbjtcclxuICBwdWJsaWMgdG9wOiBudW1iZXI7XHJcbiAgcHVibGljIGxlZnQ6IG51bWJlcjtcclxuICBwdWJsaWMgcG9zaXRpb246IHN0cmluZztcclxuICBwdWJsaWMgYXJyb3dUb3A6IG51bWJlcjtcclxuICBwdWJsaWMgc2VsZWN0ZWRJY29uOiBJY29uO1xyXG4gIHB1YmxpYyBpY29uVHlwZSA9IEljb25UeXBlO1xyXG4gIHB1YmxpYyBidXR0b25XaWR0aDogbnVtYmVyO1xyXG4gIHB1YmxpYyBidXR0b25IZWlnaHQ6IG51bWJlcjtcclxuXHJcbiAgaWNvbnM6IEljb25bXSA9IFtdO1xyXG4gIHNlYXJjaCA9ICcnO1xyXG5cclxuICBwcml2YXRlIGRpcmVjdGl2ZUluc3RhbmNlOiBhbnk7XHJcbiAgcHJpdmF0ZSBpbml0aWFsSWNvbjogc3RyaW5nO1xyXG4gIHByaXZhdGUgZGlyZWN0aXZlRWxlbWVudFJlZjogRWxlbWVudFJlZjtcclxuXHJcbiAgcHJpdmF0ZSBsaXN0ZW5lck1vdXNlRG93bjogYW55O1xyXG4gIHByaXZhdGUgbGlzdGVuZXJSZXNpemU6IGFueTtcclxuXHJcbiAgcHJpdmF0ZSBkaWFsb2dBcnJvd1NpemUgPSAxMDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBJY29uUGlja2VyU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgc2V0RGlhbG9nKGluc3RhbmNlOiBhbnksIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIGljb246IHN0cmluZywgaXBQb3NpdGlvbjogc3RyaW5nLCBpcEhlaWdodDogc3RyaW5nLCBpcE1heEhlaWdodDogc3RyaW5nLFxyXG4gICAgICAgICAgICBpcFdpZHRoOiBzdHJpbmcsIGlwUGxhY2VIb2xkZXI6IHN0cmluZywgaXBGYWxsYmFja0ljb246IHN0cmluZywgaXBJY29uUGFjazogc3RyaW5nW10sIGlwSWNvblNpemU6IHN0cmluZyxcclxuICAgICAgICAgICAgaXBJY29uVmVydGljYWxQYWRkaW5nOiBzdHJpbmcsIGlwSWNvbkhvcml6b250YWxQYWRkaW5nOiBzdHJpbmcsIGlwQnV0dG9uU3R5bGVDbGFzczogc3RyaW5nLCBpcERpdlNlYXJjaFN0eWxlQ2xhc3M6IHN0cmluZyxcclxuICAgICAgICAgICAgaXBJbnB1dFNlYXJjaFN0eWxlQ2xhc3M6IHN0cmluZywgaXBLZWVwU2VhcmNoRmlsdGVyOiBzdHJpbmcsIGlwVXNlUm9vdFZpZXdDb250YWluZXI/OiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmRpcmVjdGl2ZUluc3RhbmNlID0gaW5zdGFuY2U7XHJcbiAgICB0aGlzLnNldEluaXRpYWxJY29uKGljb24pO1xyXG4gICAgdGhpcy5kaXJlY3RpdmVFbGVtZW50UmVmID0gZWxlbWVudFJlZjtcclxuICAgIHRoaXMuaXBQb3NpdGlvbiA9IGlwUG9zaXRpb247XHJcbiAgICB0aGlzLmlwSGVpZ2h0ID0gcGFyc2VJbnQoaXBIZWlnaHQsIDEwKTtcclxuICAgIHRoaXMuaXBNYXhIZWlnaHQgPSBwYXJzZUludChpcE1heEhlaWdodCwgMTApO1xyXG4gICAgdGhpcy5pcFdpZHRoID0gcGFyc2VJbnQoaXBXaWR0aCwgMTApO1xyXG4gICAgaWYgKCF0aGlzLmlwV2lkdGgpIHtcclxuICAgICAgdGhpcy5pcFdpZHRoID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pcEljb25TaXplID0gcGFyc2VJbnQoaXBJY29uU2l6ZSwgMTApO1xyXG4gICAgdGhpcy5pcEljb25WZXJ0aWNhbFBhZGRpbmcgPSBwYXJzZUludChpcEljb25WZXJ0aWNhbFBhZGRpbmcsIDEwKTtcclxuICAgIHRoaXMuaXBJY29uSG9yaXpvbnRhbFBhZGRpbmcgPSBwYXJzZUludChpcEljb25Ib3Jpem9udGFsUGFkZGluZywgMTApO1xyXG4gICAgdGhpcy5pcEtlZXBTZWFyY2hGaWx0ZXIgPSBKU09OLnBhcnNlKGlwS2VlcFNlYXJjaEZpbHRlcik7XHJcbiAgICB0aGlzLmlwUGxhY2VIb2xkZXIgPSBpcFBsYWNlSG9sZGVyO1xyXG4gICAgdGhpcy5pcEZhbGxiYWNrSWNvbiA9IGlwRmFsbGJhY2tJY29uO1xyXG4gICAgdGhpcy5pcEljb25QYWNrID0gaXBJY29uUGFjaztcclxuICAgIHRoaXMuaXBCdXR0b25TdHlsZUNsYXNzID0gaXBCdXR0b25TdHlsZUNsYXNzO1xyXG4gICAgdGhpcy5pcElucHV0U2VhcmNoU3R5bGVDbGFzcyA9IGlwSW5wdXRTZWFyY2hTdHlsZUNsYXNzO1xyXG4gICAgdGhpcy5pcERpdlNlYXJjaFN0eWxlQ2xhc3MgPSBpcERpdlNlYXJjaFN0eWxlQ2xhc3M7XHJcbiAgICB0aGlzLmlwVXNlUm9vdFZpZXdDb250YWluZXIgPSBpcFVzZVJvb3RWaWV3Q29udGFpbmVyO1xyXG5cclxuXHJcbiAgICB0aGlzLmJ1dHRvbkhlaWdodCA9IHRoaXMuaXBJY29uU2l6ZSArIDIgKiB0aGlzLmlwSWNvblZlcnRpY2FsUGFkZGluZztcclxuICAgIHRoaXMuYnV0dG9uV2lkdGggPSB0aGlzLmlwSWNvblNpemUgKyAyICogdGhpcy5pcEljb25Ib3Jpem9udGFsUGFkZGluZztcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5pY29ucyA9IHRoaXMuc2VydmljZS5nZXRJY29ucyh0aGlzLmlwSWNvblBhY2spO1xyXG4gICAgdGhpcy5saXN0ZW5lck1vdXNlRG93biA9IChldmVudDogYW55KSA9PiB0aGlzLm9uTW91c2VEb3duKGV2ZW50KTtcclxuICAgIHRoaXMubGlzdGVuZXJSZXNpemUgPSAoKSA9PiB0aGlzLm9uUmVzaXplKCk7XHJcbiAgICB0aGlzLm9wZW5EaWFsb2codGhpcy5pbml0aWFsSWNvbik7XHJcbiAgfVxyXG5cclxuICBzZXRJbml0aWFsSWNvbihpY29uOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuaW5pdGlhbEljb24gPSBpY29uO1xyXG4gICAgdGhpcy5zZWxlY3RlZEljb24gPSB0aGlzLmljb25zLmZpbmQoZWwgPT4gZWwgP1xyXG4gICAgICBgZmEgZmEtJHtlbC5pZH1gID09PSBpY29uIHx8IGBwaSBwaS0ke2VsLmlkfWAgPT09IGljb24gfHwgYCR7ZWwuaWR9YCA9PT0gaWNvbiA6XHJcbiAgICAgIGZhbHNlXHJcbiAgICApO1xyXG4gICAgaWYgKHRoaXMuaXBLZWVwU2VhcmNoRmlsdGVyICYmIHRoaXMuc2VsZWN0ZWRJY29uICYmIGljb24gIT09IHRoaXMuaXBGYWxsYmFja0ljb24pIHtcclxuICAgICAgdGhpcy5zZWFyY2ggPSB0aGlzLnNlbGVjdGVkSWNvbi5pZDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VhcmNoID0gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuRGlhbG9nKGljb246IHN0cmluZykge1xyXG4gICAgdGhpcy5zZXRJbml0aWFsSWNvbihpY29uKTtcclxuICAgIHRoaXMub3Blbkljb25QaWNrZXIoKTtcclxuICB9XHJcblxyXG4gIHNldFNlYXJjaCh2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy5zZWFyY2ggPSB2YWw7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RJY29uKGljb246IEljb24pOiB2b2lkIHtcclxuICAgIGlmIChpY29uLnR5cGUgPT09IEljb25UeXBlLkZvbnRBd2Vzb21lKSB7XHJcbiAgICAgIHRoaXMuZGlyZWN0aXZlSW5zdGFuY2UuaWNvblNlbGVjdGVkKGBmYSBmYS0ke2ljb24uaWR9YCk7XHJcbiAgICB9IGVsc2UgaWYgKGljb24udHlwZSA9PT0gSWNvblR5cGUuRm9udEF3ZXNvbWU1KSB7XHJcbiAgICAgIHRoaXMuZGlyZWN0aXZlSW5zdGFuY2UuaWNvblNlbGVjdGVkKGAke2ljb24uaWR9YCk7XHJcbiAgICB9IGVsc2UgaWYgKGljb24udHlwZSA9PT0gSWNvblR5cGUuRm9udEF3ZXNvbWU2KSB7XHJcbiAgICAgIHRoaXMuZGlyZWN0aXZlSW5zdGFuY2UuaWNvblNlbGVjdGVkKGAke2ljb24uaWR9YCk7XHJcbiAgICB9IGVsc2UgaWYgKGljb24udHlwZSA9PT0gSWNvblR5cGUuTWF0ZXJpYWwpIHtcclxuICAgICAgdGhpcy5kaXJlY3RpdmVJbnN0YW5jZS5pY29uU2VsZWN0ZWQoYCR7aWNvbi5pZH1gKTtcclxuICAgIH0gZWxzZSBpZiAoaWNvbi50eXBlID09PSBJY29uVHlwZS5QcmltZUljb25zKSB7XHJcbiAgICAgIHRoaXMuZGlyZWN0aXZlSW5zdGFuY2UuaWNvblNlbGVjdGVkKGBwaSBwaS0ke2ljb24uaWR9YCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNsb3NlSWNvblBpY2tlcigpO1xyXG4gIH1cclxuXHJcbiAgb25Nb3VzZURvd24oZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLmlzRGVzY2VuZGFudCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIGV2ZW50LnRhcmdldCkgJiYgZXZlbnQudGFyZ2V0ICE9PSB0aGlzLmRpcmVjdGl2ZUVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkge1xyXG4gICAgICB0aGlzLmNsb3NlSWNvblBpY2tlcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3Blbkljb25QaWNrZXIoKSB7XHJcbiAgICBpZiAoIXRoaXMuc2hvdykge1xyXG4gICAgICB0aGlzLnNob3cgPSB0cnVlO1xyXG4gICAgICB0aGlzLmhpZGRlbiA9IHRydWU7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0RGlhbG9nUG9zaXRpb24oKTtcclxuICAgICAgICB0aGlzLmhpZGRlbiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSwgMCk7XHJcbiAgICAgIHRoaXMuZGlyZWN0aXZlSW5zdGFuY2Uuc3RhdGVDaGFuZ2VkKHRydWUpO1xyXG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLmxpc3RlbmVyTW91c2VEb3duKTtcclxuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMubGlzdGVuZXJSZXNpemUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VJY29uUGlja2VyKCkge1xyXG4gICAgaWYgKHRoaXMuc2hvdykge1xyXG4gICAgICB0aGlzLnNob3cgPSBmYWxzZTtcclxuICAgICAgdGhpcy5kaXJlY3RpdmVJbnN0YW5jZS5zdGF0ZUNoYW5nZWQoZmFsc2UpO1xyXG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLmxpc3RlbmVyTW91c2VEb3duKTtcclxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMubGlzdGVuZXJSZXNpemUpO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblJlc2l6ZSgpIHtcclxuICAgIGlmICh0aGlzLnBvc2l0aW9uID09PSAnZml4ZWQnKSB7XHJcbiAgICAgIHRoaXMuc2V0RGlhbG9nUG9zaXRpb24oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldERpYWxvZ1Bvc2l0aW9uKCkge1xyXG4gICAgY29uc3QgZGlhbG9nSGVpZ2h0ID0gdGhpcy5kaWFsb2dFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xyXG4gICAgbGV0IG5vZGUgPSB0aGlzLmRpcmVjdGl2ZUVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIGxldCBwb3NpdGlvbiA9ICdzdGF0aWMnO1xyXG4gICAgbGV0IHRyYW5zZm9ybSA9ICcnO1xyXG4gICAgbGV0IHBhcmVudE5vZGU6IGFueSA9IG51bGw7XHJcbiAgICBsZXQgdHJhbnNmb3JtTm9kZTogYW55ID0gbnVsbDtcclxuICAgIGxldCBzdHlsZTogYW55ID0gbnVsbDtcclxuICAgIHdoaWxlIChub2RlICE9PSBudWxsICYmIG5vZGUudGFnTmFtZSAhPT0gJ0hUTUwnKSB7XHJcbiAgICAgIHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUobm9kZSk7XHJcbiAgICAgIHBvc2l0aW9uID0gc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgncG9zaXRpb24nKTtcclxuICAgICAgdHJhbnNmb3JtID0gc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgndHJhbnNmb3JtJyk7XHJcbiAgICAgIGlmIChwb3NpdGlvbiAhPT0gJ3N0YXRpYycgJiYgcGFyZW50Tm9kZSA9PT0gbnVsbCkge1xyXG4gICAgICAgIHBhcmVudE5vZGUgPSBub2RlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0cmFuc2Zvcm0gJiYgdHJhbnNmb3JtICE9PSAnbm9uZScgJiYgdHJhbnNmb3JtTm9kZSA9PT0gbnVsbCkge1xyXG4gICAgICAgIHRyYW5zZm9ybU5vZGUgPSBub2RlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChwb3NpdGlvbiA9PT0gJ2ZpeGVkJykge1xyXG4gICAgICAgIHBhcmVudE5vZGUgPSB0cmFuc2Zvcm1Ob2RlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIG5vZGUgPSBub2RlLnBhcmVudE5vZGU7XHJcbiAgICB9XHJcbiAgICBjb25zdCBib3hEaXJlY3RpdmUgPSB0aGlzLmNyZWF0ZUJveCh0aGlzLmRpcmVjdGl2ZUVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgKHBvc2l0aW9uICE9PSAnZml4ZWQnKSk7XHJcbiAgICBpZiAodGhpcy5pcFVzZVJvb3RWaWV3Q29udGFpbmVyIHx8IChwb3NpdGlvbiA9PT0gJ2ZpeGVkJyAmJlxyXG4gICAgICAoIXBhcmVudE5vZGUgfHwgcGFyZW50Tm9kZSBpbnN0YW5jZW9mIEhUTUxVbmtub3duRWxlbWVudCkpKSB7XHJcbiAgICAgIHRoaXMudG9wID0gYm94RGlyZWN0aXZlLnRvcDtcclxuICAgICAgdGhpcy5sZWZ0ID0gYm94RGlyZWN0aXZlLmxlZnQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAocGFyZW50Tm9kZSA9PT0gbnVsbCkge1xyXG4gICAgICAgIHBhcmVudE5vZGUgPSBub2RlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBib3hQYXJlbnQgPSB0aGlzLmNyZWF0ZUJveChwYXJlbnROb2RlLCAocG9zaXRpb24gIT09ICdmaXhlZCcpKTtcclxuXHJcbiAgICAgIHRoaXMudG9wID0gYm94RGlyZWN0aXZlLnRvcCAtIGJveFBhcmVudC50b3A7XHJcbiAgICAgIHRoaXMubGVmdCA9IGJveERpcmVjdGl2ZS5sZWZ0IC0gYm94UGFyZW50LmxlZnQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHBvc2l0aW9uID09PSAnZml4ZWQnKSB7XHJcbiAgICAgIHRoaXMucG9zaXRpb24gPSAnZml4ZWQnO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaXBQb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgIHRoaXMubGVmdCAtPSB0aGlzLmlwV2lkdGggKyB0aGlzLmRpYWxvZ0Fycm93U2l6ZSAtIDI7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXBQb3NpdGlvbiA9PT0gJ3RvcCcpIHtcclxuICAgICAgdGhpcy50b3AgLT0gZGlhbG9nSGVpZ2h0ICsgdGhpcy5kaWFsb2dBcnJvd1NpemU7XHJcbiAgICAgIHRoaXMuYXJyb3dUb3AgPSBkaWFsb2dIZWlnaHQgLSAxO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmlwUG9zaXRpb24gPT09ICdib3R0b20nKSB7XHJcbiAgICAgIHRoaXMudG9wICs9IGJveERpcmVjdGl2ZS5oZWlnaHQgKyB0aGlzLmRpYWxvZ0Fycm93U2l6ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubGVmdCArPSBib3hEaXJlY3RpdmUud2lkdGggKyB0aGlzLmRpYWxvZ0Fycm93U2l6ZSAtIDI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0Rlc2NlbmRhbnQocGFyZW50OiBhbnksIGNoaWxkOiBhbnkpOiBib29sZWFuIHtcclxuICAgIGxldCBub2RlOiBhbnkgPSBjaGlsZC5wYXJlbnROb2RlO1xyXG4gICAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcclxuICAgICAgaWYgKG5vZGUgPT09IHBhcmVudCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIG5vZGUgPSBub2RlLnBhcmVudE5vZGU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVCb3goZWxlbWVudDogYW55LCBvZmZzZXQ6IGJvb2xlYW4pOiBhbnkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdG9wOiBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIChvZmZzZXQgPyB3aW5kb3cucGFnZVlPZmZzZXQgOiAwKSxcclxuICAgICAgbGVmdDogZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0ICsgKG9mZnNldCA/IHdpbmRvdy5wYWdlWE9mZnNldCA6IDApLFxyXG4gICAgICB3aWR0aDogZWxlbWVudC5vZmZzZXRXaWR0aCxcclxuICAgICAgaGVpZ2h0OiBlbGVtZW50Lm9mZnNldEhlaWdodFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImljb24tcGlja2VyXCIgI2RpYWxvZ1BvcHVwXHJcbiAgICAgW2hpZGRlbl09XCIhc2hvd1wiXHJcbiAgICAgW3N0eWxlLnZpc2liaWxpdHldPVwidGhpcy5oaWRkZW4gPyAnaGlkZGVuJyA6ICd2aXNpYmxlJ1wiXHJcbiAgICAgW3N0eWxlLmhlaWdodC5weF09XCJpcEhlaWdodFwiXHJcbiAgICAgW3N0eWxlLndpZHRoLnB4XT1cImlwV2lkdGhcIlxyXG4gICAgIFtzdHlsZS50b3AucHhdPVwidG9wXCJcclxuICAgICBbc3R5bGUubGVmdC5weF09XCJsZWZ0XCJcclxuICAgICBbc3R5bGUucG9zaXRpb25dPVwicG9zaXRpb25cIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImFycm93IGFycm93LXt7aXBQb3NpdGlvbn19XCIgW3N0eWxlLnRvcC5weF09XCJhcnJvd1RvcFwiPjwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiaWNvbi1zZWFyY2gge3tpcERpdlNlYXJjaFN0eWxlQ2xhc3N9fVwiPlxyXG4gICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJ7e2lwSW5wdXRTZWFyY2hTdHlsZUNsYXNzfX1cIiBbdGV4dF0gW3ZhbHVlXT1cInNlYXJjaFwiIChuZXdWYWx1ZSk9XCJzZXRTZWFyY2goJGV2ZW50KVwiXHJcbiAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImlwUGxhY2VIb2xkZXJcIj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiaWNvbi1ncmlkXCIgW25nU3R5bGVdPVwieydtYXgtaGVpZ2h0LnB4JzogaXBNYXhIZWlnaHR9XCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpY29uIG9mIGljb25zIHwgc2VhcmNoSWNvbjpzZWFyY2hcIj5cclxuICAgICAgPGJ1dHRvbiAqbmdJZj1cImljb25cIiBjbGFzcz1cImlwLWJ1dHRvbi1pY29uIHt7aXBCdXR0b25TdHlsZUNsYXNzfX1cIiB0eXBlPVwiYnV0dG9uXCIgdGl0bGU9XCJ7eyBpY29uLm5hbWUgfX1cIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInthY3RpdmUgOiBpY29uID09PSBzZWxlY3RlZEljb259XCJcclxuICAgICAgICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwiYnV0dG9uV2lkdGhcIlxyXG4gICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiYnV0dG9uSGVpZ2h0XCJcclxuICAgICAgICAgICAgICBbc3R5bGUucGFkZGluZy10b3AucHhdPVwiaXBJY29uVmVydGljYWxQYWRkaW5nXCJcclxuICAgICAgICAgICAgICBbc3R5bGUucGFkZGluZy1ib3R0b20ucHhdPVwiaXBJY29uVmVydGljYWxQYWRkaW5nXCJcclxuICAgICAgICAgICAgICBbc3R5bGUucGFkZGluZy1sZWZ0LnB4XT1cImlwSWNvbkhvcml6b250YWxQYWRkaW5nXCJcclxuICAgICAgICAgICAgICBbc3R5bGUucGFkZGluZy1yaWdodC5weF09XCJpcEljb25Ib3Jpem9udGFsUGFkZGluZ1wiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEljb24oaWNvbilcIj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cImljb24udHlwZSA9PT0gaWNvblR5cGUuRm9udEF3ZXNvbWVcIiBjbGFzcz1cImZhIGZhLXt7aWNvbi5pZH19XCJcclxuICAgICAgICAgICAgICBbc3R5bGUuZm9udC1zaXplLnB4XT1cImlwSWNvblNpemVcIj48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpY29uLnR5cGUgPT09IGljb25UeXBlLkZvbnRBd2Vzb21lNVwiIGNsYXNzPVwie3tpY29uLmlkfX1cIlxyXG4gICAgICAgICAgICAgIFtzdHlsZS5mb250LXNpemUucHhdPVwiaXBJY29uU2l6ZVwiPjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cImljb24udHlwZSA9PT0gaWNvblR5cGUuRm9udEF3ZXNvbWU2XCIgW3N0eWxlLmZvbnQtc2l6ZS5weF09XCJpcEljb25TaXplXCI+XHJcbiAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhcycsIGljb24uaWNvbk5hbWVdXCI+PC9mYS1pY29uPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cImljb24udHlwZSA9PT0gaWNvblR5cGUuTWF0ZXJpYWxcIiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCJcclxuICAgICAgICAgICAgICBbc3R5bGUuZm9udC1zaXplLnB4XT1cImlwSWNvblNpemVcIj57e2ljb24uaWR9fTwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cImljb24udHlwZSA9PT0gaWNvblR5cGUuUHJpbWVJY29uc1wiIGNsYXNzPVwicGkgcGkte3tpY29uLmlkfX1cIlxyXG4gICAgICAgICAgICAgIFtzdHlsZS5mb250LXNpemUucHhdPVwiaXBJY29uU2l6ZVwiPjwvc3Bhbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';
|
|
2
|
+
import { IconPickerComponent } from './icon-picker.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class IconPickerDirective {
|
|
5
|
+
handleFocus() {
|
|
6
|
+
this.elementFocus();
|
|
7
|
+
}
|
|
8
|
+
constructor(vcRef, el) {
|
|
9
|
+
this.vcRef = vcRef;
|
|
10
|
+
this.el = el;
|
|
11
|
+
this.ipPlaceHolder = 'Search icon...';
|
|
12
|
+
this.ipPosition = 'right';
|
|
13
|
+
this.ipFallbackIcon = 'fas fa-user';
|
|
14
|
+
this.ipHeight = 'auto';
|
|
15
|
+
this.ipMaxHeight = '200px';
|
|
16
|
+
this.ipWidth = '230px';
|
|
17
|
+
this.ipIconSize = '16px';
|
|
18
|
+
this.ipIconVerticalPadding = '6px'; // Top / Bottom
|
|
19
|
+
this.ipIconHorizontalPadding = '10px'; // Left / Right
|
|
20
|
+
this.ipIconPack = ['fa5'];
|
|
21
|
+
this.ipKeepSearchFilter = 'false';
|
|
22
|
+
this.ipUseRootViewContainer = false;
|
|
23
|
+
// Default design with bootstrap
|
|
24
|
+
this.ipButtonStyleClass = 'btn btn-default';
|
|
25
|
+
this.ipDivSearchStyleClass = '';
|
|
26
|
+
this.ipInputSearchStyleClass = 'form-control input-sm';
|
|
27
|
+
this.iconPickerSelect = new EventEmitter(true);
|
|
28
|
+
this.iconPickerOpen = new EventEmitter(true);
|
|
29
|
+
this.iconPickerClose = new EventEmitter(true);
|
|
30
|
+
this.iconPickerFocus = new EventEmitter(true);
|
|
31
|
+
this.ignoreChanges = false;
|
|
32
|
+
this.created = false;
|
|
33
|
+
}
|
|
34
|
+
onClick() {
|
|
35
|
+
this.openDialog();
|
|
36
|
+
}
|
|
37
|
+
ngOnChanges(changes) {
|
|
38
|
+
if (changes.iconPicker) {
|
|
39
|
+
this.ignoreChanges = false;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
ngOnInit() {
|
|
43
|
+
this.iconPicker = this.iconPicker || this.ipFallbackIcon || 'fa fa-user-plus';
|
|
44
|
+
this.iconPickerSelect.emit(this.iconPicker);
|
|
45
|
+
}
|
|
46
|
+
openDialog() {
|
|
47
|
+
if (!this.created) {
|
|
48
|
+
this.created = true;
|
|
49
|
+
const vcRef = this.vcRef;
|
|
50
|
+
const cmpRef = vcRef.createComponent(IconPickerComponent);
|
|
51
|
+
cmpRef.instance.setDialog(this, this.el, this.iconPicker, this.ipPosition, this.ipHeight, this.ipMaxHeight, this.ipWidth, this.ipPlaceHolder, this.ipFallbackIcon, this.ipIconPack, this.ipIconSize, this.ipIconVerticalPadding, this.ipIconHorizontalPadding, this.ipButtonStyleClass, this.ipDivSearchStyleClass, this.ipInputSearchStyleClass, this.ipKeepSearchFilter, this.ipUseRootViewContainer);
|
|
52
|
+
this.dialog = cmpRef.instance;
|
|
53
|
+
if (this.vcRef !== vcRef) {
|
|
54
|
+
cmpRef.changeDetectorRef.detectChanges();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
else if (this.dialog) {
|
|
58
|
+
this.dialog.openDialog(this.iconPicker);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
iconSelected(icon) {
|
|
62
|
+
this.iconPickerSelect.emit(icon);
|
|
63
|
+
}
|
|
64
|
+
stateChanged(state) {
|
|
65
|
+
if (state) {
|
|
66
|
+
this.iconPickerOpen.emit();
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
this.iconPickerClose.emit();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
elementFocus() {
|
|
73
|
+
this.iconPickerFocus.emit();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
IconPickerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IconPickerDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
77
|
+
IconPickerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: IconPickerDirective, selector: "[iconPicker]", inputs: { iconPicker: "iconPicker", ipPlaceHolder: "ipPlaceHolder", ipPosition: "ipPosition", ipFallbackIcon: "ipFallbackIcon", ipHeight: "ipHeight", ipMaxHeight: "ipMaxHeight", ipWidth: "ipWidth", ipIconSize: "ipIconSize", ipIconVerticalPadding: "ipIconVerticalPadding", ipIconHorizontalPadding: "ipIconHorizontalPadding", ipIconPack: "ipIconPack", ipKeepSearchFilter: "ipKeepSearchFilter", ipUseRootViewContainer: "ipUseRootViewContainer", ipButtonStyleClass: "ipButtonStyleClass", ipDivSearchStyleClass: "ipDivSearchStyleClass", ipInputSearchStyleClass: "ipInputSearchStyleClass" }, outputs: { iconPickerSelect: "iconPickerSelect", iconPickerOpen: "iconPickerOpen", iconPickerClose: "iconPickerClose", iconPickerFocus: "iconPickerFocus" }, host: { listeners: { "focus": "handleFocus()", "click": "onClick()" } }, usesOnChanges: true, ngImport: i0 });
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IconPickerDirective, decorators: [{
|
|
79
|
+
type: Directive,
|
|
80
|
+
args: [{
|
|
81
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
82
|
+
selector: '[iconPicker]'
|
|
83
|
+
}]
|
|
84
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ElementRef }]; }, propDecorators: { iconPicker: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], ipPlaceHolder: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], ipPosition: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], ipFallbackIcon: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}], ipHeight: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}], ipMaxHeight: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}], ipWidth: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}], ipIconSize: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], ipIconVerticalPadding: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], ipIconHorizontalPadding: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], ipIconPack: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}], ipKeepSearchFilter: [{
|
|
107
|
+
type: Input
|
|
108
|
+
}], ipUseRootViewContainer: [{
|
|
109
|
+
type: Input
|
|
110
|
+
}], ipButtonStyleClass: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}], ipDivSearchStyleClass: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}], ipInputSearchStyleClass: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], iconPickerSelect: [{
|
|
117
|
+
type: Output
|
|
118
|
+
}], iconPickerOpen: [{
|
|
119
|
+
type: Output
|
|
120
|
+
}], iconPickerClose: [{
|
|
121
|
+
type: Output
|
|
122
|
+
}], iconPickerFocus: [{
|
|
123
|
+
type: Output
|
|
124
|
+
}], handleFocus: [{
|
|
125
|
+
type: HostListener,
|
|
126
|
+
args: ['focus']
|
|
127
|
+
}], onClick: [{
|
|
128
|
+
type: HostListener,
|
|
129
|
+
args: ['click']
|
|
130
|
+
}] } });
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1waWNrZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW50ay1pY29uLXBpY2tlci9zcmMvbGliL2ljb24tcGlja2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFNOUQsTUFBTSxPQUFPLG1CQUFtQjtJQXdCUCxXQUFXO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBTUQsWUFDVSxLQUF1QixFQUN2QixFQUFjO1FBRGQsVUFBSyxHQUFMLEtBQUssQ0FBa0I7UUFDdkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQWhDZixrQkFBYSxHQUFHLGdCQUFnQixDQUFDO1FBQ2pDLGVBQVUsR0FBRyxPQUFPLENBQUM7UUFDckIsbUJBQWMsR0FBRyxhQUFhLENBQUM7UUFDL0IsYUFBUSxHQUFHLE1BQU0sQ0FBQztRQUNsQixnQkFBVyxHQUFHLE9BQU8sQ0FBQztRQUN0QixZQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ2xCLGVBQVUsR0FBRyxNQUFNLENBQUM7UUFDcEIsMEJBQXFCLEdBQUcsS0FBSyxDQUFDLENBQUMsZUFBZTtRQUM5Qyw0QkFBdUIsR0FBRyxNQUFNLENBQUMsQ0FBQyxlQUFlO1FBQ2pELGVBQVUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLHVCQUFrQixHQUFHLE9BQU8sQ0FBQztRQUM3QiwyQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFDeEMsZ0NBQWdDO1FBQ3ZCLHVCQUFrQixHQUFHLGlCQUFpQixDQUFDO1FBQ3ZDLDBCQUFxQixHQUFHLEVBQUUsQ0FBQztRQUMzQiw0QkFBdUIsR0FBRyx1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LFFBQVEsRUFBRSxjQUFjO2lCQUN6QjtnSUFFVSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csdUJBQXVCO3NCQUEvQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFFRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFFSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBRWdCLFdBQVc7c0JBQWpDLFlBQVk7dUJBQUMsT0FBTztnQkFlckIsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NvbnRhaW5lclJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgSWNvblBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vaWNvbi1waWNrZXIuY29tcG9uZW50JztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdbaWNvblBpY2tlcl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJY29uUGlja2VyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIGljb25QaWNrZXI6IHN0cmluZztcclxuICBASW5wdXQoKSBpcFBsYWNlSG9sZGVyID0gJ1NlYXJjaCBpY29uLi4uJztcclxuICBASW5wdXQoKSBpcFBvc2l0aW9uID0gJ3JpZ2h0JztcclxuICBASW5wdXQoKSBpcEZhbGxiYWNrSWNvbiA9ICdmYXMgZmEtdXNlcic7XHJcbiAgQElucHV0KCkgaXBIZWlnaHQgPSAnYXV0byc7XHJcbiAgQElucHV0KCkgaXBNYXhIZWlnaHQgPSAnMjAwcHgnO1xyXG4gIEBJbnB1dCgpIGlwV2lkdGggPSAnMjMwcHgnO1xyXG4gIEBJbnB1dCgpIGlwSWNvblNpemUgPSAnMTZweCc7XHJcbiAgQElucHV0KCkgaXBJY29uVmVydGljYWxQYWRkaW5nID0gJzZweCc7IC8vIFRvcCAvIEJvdHRvbVxyXG4gIEBJbnB1dCgpIGlwSWNvbkhvcml6b250YWxQYWRkaW5nID0gJzEwcHgnOyAvLyBMZWZ0IC8gUmlnaHRcclxuICBASW5wdXQoKSBpcEljb25QYWNrID0gWydmYTUnXTtcclxuICBASW5wdXQoKSBpcEtlZXBTZWFyY2hGaWx0ZXIgPSAnZmFsc2UnO1xyXG4gIEBJbnB1dCgpIGlwVXNlUm9vdFZpZXdDb250YWluZXIgPSBmYWxzZTtcclxuICAvLyBEZWZhdWx0IGRlc2lnbiB3aXRoIGJvb3RzdHJhcFxyXG4gIEBJbnB1dCgpIGlwQnV0dG9uU3R5bGVDbGFzcyA9ICdidG4gYnRuLWRlZmF1bHQnO1xyXG4gIEBJbnB1dCgpIGlwRGl2U2VhcmNoU3R5bGVDbGFzcyA9ICcnO1xyXG4gIEBJbnB1dCgpIGlwSW5wdXRTZWFyY2hTdHlsZUNsYXNzID0gJ2Zvcm0tY29udHJvbCBpbnB1dC1zbSc7XHJcblxyXG4gIEBPdXRwdXQoKSBpY29uUGlja2VyU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KHRydWUpO1xyXG4gIEBPdXRwdXQoKSBpY29uUGlja2VyT3BlbiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4odHJ1ZSk7XHJcbiAgQE91dHB1dCgpIGljb25QaWNrZXJDbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4odHJ1ZSk7XHJcbiAgQE91dHB1dCgpIGljb25QaWNrZXJGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4odHJ1ZSk7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJykgaGFuZGxlRm9jdXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVsZW1lbnRGb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkaWFsb2c6IGFueTtcclxuICBwcml2YXRlIGNyZWF0ZWQ6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBpZ25vcmVDaGFuZ2VzID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB2Y1JlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHtcclxuICAgIHRoaXMuY3JlYXRlZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxyXG4gIG9uQ2xpY2soKSB7XHJcbiAgICB0aGlzLm9wZW5EaWFsb2coKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXMuaWNvblBpY2tlcikge1xyXG4gICAgICB0aGlzLmlnbm9yZUNoYW5nZXMgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5pY29uUGlja2VyID0gdGhpcy5pY29uUGlja2VyIHx8IHRoaXMuaXBGYWxsYmFja0ljb24gfHwgJ2ZhIGZhLXVzZXItcGx1cyc7XHJcbiAgICB0aGlzLmljb25QaWNrZXJTZWxlY3QuZW1pdCh0aGlzLmljb25QaWNrZXIpO1xyXG4gIH1cclxuXHJcbiAgb3BlbkRpYWxvZygpIHtcclxuICAgIGlmICghdGhpcy5jcmVhdGVkKSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlZCA9IHRydWU7XHJcbiAgICAgIGNvbnN0IHZjUmVmID0gdGhpcy52Y1JlZjtcclxuICAgICAgY29uc3QgY21wUmVmID0gdmNSZWYuY3JlYXRlQ29tcG9uZW50KEljb25QaWNrZXJDb21wb25lbnQpO1xyXG4gICAgICBjbXBSZWYuaW5zdGFuY2Uuc2V0RGlhbG9nKHRoaXMsIHRoaXMuZWwsIHRoaXMuaWNvblBpY2tlciwgdGhpcy5pcFBvc2l0aW9uLCB0aGlzLmlwSGVpZ2h0LCB0aGlzLmlwTWF4SGVpZ2h0LFxyXG4gICAgICAgIHRoaXMuaXBXaWR0aCwgdGhpcy5pcFBsYWNlSG9sZGVyLCB0aGlzLmlwRmFsbGJhY2tJY29uLCB0aGlzLmlwSWNvblBhY2ssIHRoaXMuaXBJY29uU2l6ZSxcclxuICAgICAgICB0aGlzLmlwSWNvblZlcnRpY2FsUGFkZGluZywgdGhpcy5pcEljb25Ib3Jpem9udGFsUGFkZGluZywgdGhpcy5pcEJ1dHRvblN0eWxlQ2xhc3MsIHRoaXMuaXBEaXZTZWFyY2hTdHlsZUNsYXNzLFxyXG4gICAgICAgIHRoaXMuaXBJbnB1dFNlYXJjaFN0eWxlQ2xhc3MsIHRoaXMuaXBLZWVwU2VhcmNoRmlsdGVyLCB0aGlzLmlwVXNlUm9vdFZpZXdDb250YWluZXIpO1xyXG4gICAgICB0aGlzLmRpYWxvZyA9IGNtcFJlZi5pbnN0YW5jZTtcclxuXHJcbiAgICAgIGlmICh0aGlzLnZjUmVmICE9PSB2Y1JlZikge1xyXG4gICAgICAgIGNtcFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy5kaWFsb2cpIHtcclxuICAgICAgdGhpcy5kaWFsb2cub3BlbkRpYWxvZyh0aGlzLmljb25QaWNrZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaWNvblNlbGVjdGVkKGljb246IHN0cmluZykge1xyXG4gICAgdGhpcy5pY29uUGlja2VyU2VsZWN0LmVtaXQoaWNvbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGVDaGFuZ2VkKHN0YXRlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoc3RhdGUpIHtcclxuICAgICAgdGhpcy5pY29uUGlja2VyT3Blbi5lbWl0KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmljb25QaWNrZXJDbG9zZS5lbWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZWxlbWVudEZvY3VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pY29uUGlja2VyRm9jdXMuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
|
4
|
+
import { IconPickerService } from './icon-picker.service';
|
|
5
|
+
import { IconPickerComponent } from './icon-picker.component';
|
|
6
|
+
import { IconPickerDirective } from './icon-picker.directive';
|
|
7
|
+
import { TextDirective } from './text.directive';
|
|
8
|
+
import { SearchIconPipe } from './search-icon.pipe';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export class IconPickerModule {
|
|
11
|
+
}
|
|
12
|
+
IconPickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IconPickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
+
IconPickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: IconPickerModule, declarations: [IconPickerComponent,
|
|
14
|
+
IconPickerDirective,
|
|
15
|
+
TextDirective,
|
|
16
|
+
SearchIconPipe], imports: [CommonModule,
|
|
17
|
+
FontAwesomeModule], exports: [IconPickerDirective] });
|
|
18
|
+
IconPickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IconPickerModule, providers: [
|
|
19
|
+
IconPickerService
|
|
20
|
+
], imports: [CommonModule,
|
|
21
|
+
FontAwesomeModule] });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IconPickerModule, decorators: [{
|
|
23
|
+
type: NgModule,
|
|
24
|
+
args: [{
|
|
25
|
+
imports: [
|
|
26
|
+
CommonModule,
|
|
27
|
+
FontAwesomeModule,
|
|
28
|
+
],
|
|
29
|
+
providers: [
|
|
30
|
+
IconPickerService
|
|
31
|
+
],
|
|
32
|
+
declarations: [
|
|
33
|
+
IconPickerComponent,
|
|
34
|
+
IconPickerDirective,
|
|
35
|
+
TextDirective,
|
|
36
|
+
SearchIconPipe
|
|
37
|
+
],
|
|
38
|
+
exports: [
|
|
39
|
+
IconPickerDirective
|
|
40
|
+
]
|
|
41
|
+
}]
|
|
42
|
+
}] });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW50ay1pY29uLXBpY2tlci9zcmMvbGliL2ljb24tcGlja2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQW9CcEQsTUFBTSxPQUFPLGdCQUFnQjs7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQVRyQixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLGFBQWE7UUFDYixjQUFjLGFBVmQsWUFBWTtRQUNaLGlCQUFpQixhQVlqQixtQkFBbUI7K0dBR2QsZ0JBQWdCLGFBYmQ7UUFDUCxpQkFBaUI7S0FDcEIsWUFMRyxZQUFZO1FBQ1osaUJBQWlCOzRGQWVaLGdCQUFnQjtrQkFsQjVCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osaUJBQWlCO3FCQUNwQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsaUJBQWlCO3FCQUNwQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1YsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsY0FBYztxQkFDakI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLG1CQUFtQjtxQkFDdEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb250QXdlc29tZU1vZHVsZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcclxuXHJcbmltcG9ydCB7IEljb25QaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi9pY29uLXBpY2tlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSWNvblBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vaWNvbi1waWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSWNvblBpY2tlckRpcmVjdGl2ZSB9IGZyb20gJy4vaWNvbi1waWNrZXIuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgVGV4dERpcmVjdGl2ZSB9IGZyb20gJy4vdGV4dC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTZWFyY2hJY29uUGlwZSB9IGZyb20gJy4vc2VhcmNoLWljb24ucGlwZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBGb250QXdlc29tZU1vZHVsZSxcclxuICAgIF0sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBJY29uUGlja2VyU2VydmljZVxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIEljb25QaWNrZXJDb21wb25lbnQsXHJcbiAgICAgICAgSWNvblBpY2tlckRpcmVjdGl2ZSxcclxuICAgICAgICBUZXh0RGlyZWN0aXZlLFxyXG4gICAgICAgIFNlYXJjaEljb25QaXBlXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIEljb25QaWNrZXJEaXJlY3RpdmVcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEljb25QaWNrZXJNb2R1bGUge1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { IconType } from './icon';
|
|
3
|
+
import { FontAwesome4IconsPack } from './pack/font-awesome4-icons-pack';
|
|
4
|
+
import { FontAwesome5IconsPack } from './pack/font-awesome5-icons-pack';
|
|
5
|
+
import { FontAwesome6IconsPack } from './pack/font-awesome6-icons-pack';
|
|
6
|
+
import { MaterialIconsPack } from './pack/material-icons-pack';
|
|
7
|
+
import { fas } from '@fortawesome/free-solid-svg-icons';
|
|
8
|
+
import { PrimeIconsPack } from './pack/prime-icons-pack';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@fortawesome/angular-fontawesome";
|
|
11
|
+
export class IconPickerService {
|
|
12
|
+
constructor(faIconLibrary) {
|
|
13
|
+
this.faIconLibrary = faIconLibrary;
|
|
14
|
+
this.fa4IconsPack = new FontAwesome4IconsPack();
|
|
15
|
+
this.fa5IconsPack = new FontAwesome5IconsPack();
|
|
16
|
+
this.fa6IconsPack = new FontAwesome6IconsPack();
|
|
17
|
+
this.matIconsPack = new MaterialIconsPack();
|
|
18
|
+
this.primeIconsPack = new PrimeIconsPack();
|
|
19
|
+
}
|
|
20
|
+
getIcons(ipIconPacks) {
|
|
21
|
+
const icons = [];
|
|
22
|
+
ipIconPacks.forEach((ipIconPack) => {
|
|
23
|
+
if (ipIconPack === 'fa' || ipIconPack === 'all') {
|
|
24
|
+
const faIcons = this.fa4IconsPack.getIcons().map(icon => {
|
|
25
|
+
icon.type = IconType.FontAwesome;
|
|
26
|
+
return icon;
|
|
27
|
+
});
|
|
28
|
+
icons.push(...faIcons);
|
|
29
|
+
}
|
|
30
|
+
if (ipIconPack === 'fa5' || ipIconPack === 'all') {
|
|
31
|
+
const fa5Icons = this.fa5IconsPack.getIcons().map(icon => {
|
|
32
|
+
icon.type = IconType.FontAwesome5;
|
|
33
|
+
return icon;
|
|
34
|
+
});
|
|
35
|
+
icons.push(...fa5Icons);
|
|
36
|
+
}
|
|
37
|
+
if (ipIconPack === 'fa6' || ipIconPack === 'all') {
|
|
38
|
+
this.faIconLibrary.addIconPacks(fas);
|
|
39
|
+
const fa6Icons = this.fa6IconsPack.getIcons().map(icon => {
|
|
40
|
+
icon.type = IconType.FontAwesome6;
|
|
41
|
+
return icon;
|
|
42
|
+
});
|
|
43
|
+
icons.push(...fa6Icons);
|
|
44
|
+
}
|
|
45
|
+
if (ipIconPack === 'mat' || ipIconPack === 'all') {
|
|
46
|
+
const matIcons = this.matIconsPack.getIcons().map(icon => {
|
|
47
|
+
icon.type = IconType.Material;
|
|
48
|
+
return icon;
|
|
49
|
+
});
|
|
50
|
+
icons.push(...matIcons);
|
|
51
|
+
}
|
|
52
|
+
if (ipIconPack === 'pi' || ipIconPack === 'all') {
|
|
53
|
+
const primeIcons = this.primeIconsPack.getIcons().map(icon => {
|
|
54
|
+
icon.type = IconType.PrimeIcons;
|
|
55
|
+
return icon;
|
|
56
|
+
});
|
|
57
|
+
icons.push(...primeIcons);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
return icons;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
IconPickerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IconPickerService, deps: [{ token: i1.FaIconLibrary }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
64
|
+
IconPickerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IconPickerService });
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IconPickerService, decorators: [{
|
|
66
|
+
type: Injectable
|
|
67
|
+
}], ctorParameters: function () { return [{ type: i1.FaIconLibrary }]; } });
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1waWNrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1udGstaWNvbi1waWNrZXIvc3JjL2xpYi9pY29uLXBpY2tlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFPLFFBQVEsRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUV0QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDOzs7QUFHdkQsTUFBTSxPQUFPLGlCQUFpQjtJQU81QixZQUFzQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUkscUJBQXFCLEVBQUUsQ0FBQztRQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUkscUJBQXFCLEVBQUUsQ0FBQztRQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUkscUJBQXFCLEVBQUUsQ0FBQztRQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELFFBQVEsQ0FBQyxXQUFxQjtRQUM1QixNQUFNLEtBQUssR0FBVyxFQUFFLENBQUM7UUFDekIsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ2pDLElBQUksVUFBVSxLQUFLLElBQUksSUFBSSxVQUFVLEtBQUssS0FBSyxFQUFFO2dCQUMvQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDdEQsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDO29CQUNqQyxPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDLENBQUMsQ0FBQztnQkFDSCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7YUFDeEI7WUFDRCxJQUFJLFVBQVUsS0FBSyxLQUFLLElBQUksVUFBVSxLQUFLLEtBQUssRUFBRTtnQkFDaEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ3ZELElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQztvQkFDbEMsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO2FBQ3pCO1lBQ0QsSUFBSSxVQUFVLEtBQUssS0FBSyxJQUFJLFVBQVUsS0FBSyxLQUFLLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDdEQsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO29CQUNuQyxPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDLENBQUMsQ0FBQztnQkFDSCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7YUFDekI7WUFDRCxJQUFJLFVBQVUsS0FBSyxLQUFLLElBQUksVUFBVSxLQUFLLEtBQUssRUFBRTtnQkFDaEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ3ZELElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztvQkFDOUIsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO2FBQ3pCO1lBQ0QsSUFBSSxVQUFVLEtBQUssSUFBSSxJQUFJLFVBQVUsS0FBSyxLQUFLLEVBQUU7Z0JBQy9DLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUMzRCxJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUM7b0JBQ2hDLE9BQU8sSUFBSSxDQUFDO2dCQUNkLENBQUMsQ0FBQyxDQUFDO2dCQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQzthQUMzQjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzsrR0F4RFUsaUJBQWlCO21IQUFqQixpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SWNvbiwgSWNvblR5cGV9IGZyb20gJy4vaWNvbic7XHJcbmltcG9ydCB7SWNvbnNQYWNrfSBmcm9tICcuL2ljb25zLXBhY2snO1xyXG5pbXBvcnQge0ZvbnRBd2Vzb21lNEljb25zUGFja30gZnJvbSAnLi9wYWNrL2ZvbnQtYXdlc29tZTQtaWNvbnMtcGFjayc7XHJcbmltcG9ydCB7Rm9udEF3ZXNvbWU1SWNvbnNQYWNrfSBmcm9tICcuL3BhY2svZm9udC1hd2Vzb21lNS1pY29ucy1wYWNrJztcclxuaW1wb3J0IHtGb250QXdlc29tZTZJY29uc1BhY2t9IGZyb20gJy4vcGFjay9mb250LWF3ZXNvbWU2LWljb25zLXBhY2snO1xyXG5pbXBvcnQge01hdGVyaWFsSWNvbnNQYWNrfSBmcm9tICcuL3BhY2svbWF0ZXJpYWwtaWNvbnMtcGFjayc7XHJcbmltcG9ydCB7IEZhSWNvbkxpYnJhcnkgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XHJcbmltcG9ydCB7IGZhcyB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XHJcbmltcG9ydCB7UHJpbWVJY29uc1BhY2t9IGZyb20gJy4vcGFjay9wcmltZS1pY29ucy1wYWNrJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEljb25QaWNrZXJTZXJ2aWNlIHtcclxuICBwcml2YXRlIGZhNEljb25zUGFjazogSWNvbnNQYWNrO1xyXG4gIHByaXZhdGUgZmE1SWNvbnNQYWNrOiBJY29uc1BhY2s7XHJcbiAgcHJpdmF0ZSBmYTZJY29uc1BhY2s6IEljb25zUGFjaztcclxuICBwcml2YXRlIG1hdEljb25zUGFjazogSWNvbnNQYWNrO1xyXG4gIHByaXZhdGUgcHJpbWVJY29uc1BhY2s6IEljb25zUGFjaztcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGZhSWNvbkxpYnJhcnk6IEZhSWNvbkxpYnJhcnkpIHtcclxuICAgIHRoaXMuZmE0SWNvbnNQYWNrID0gbmV3IEZvbnRBd2Vzb21lNEljb25zUGFjaygpO1xyXG4gICAgdGhpcy5mYTVJY29uc1BhY2sgPSBuZXcgRm9udEF3ZXNvbWU1SWNvbnNQYWNrKCk7XHJcbiAgICB0aGlzLmZhNkljb25zUGFjayA9IG5ldyBGb250QXdlc29tZTZJY29uc1BhY2soKTtcclxuICAgIHRoaXMubWF0SWNvbnNQYWNrID0gbmV3IE1hdGVyaWFsSWNvbnNQYWNrKCk7XHJcbiAgICB0aGlzLnByaW1lSWNvbnNQYWNrID0gbmV3IFByaW1lSWNvbnNQYWNrKCk7XHJcbiAgfVxyXG5cclxuICBnZXRJY29ucyhpcEljb25QYWNrczogc3RyaW5nW10pOiBJY29uW10ge1xyXG4gICAgY29uc3QgaWNvbnM6IEljb25bXSA9IFtdO1xyXG4gICAgaXBJY29uUGFja3MuZm9yRWFjaCgoaXBJY29uUGFjaykgPT4ge1xyXG4gICAgICBpZiAoaXBJY29uUGFjayA9PT0gJ2ZhJyB8fCBpcEljb25QYWNrID09PSAnYWxsJykge1xyXG4gICAgICAgIGNvbnN0IGZhSWNvbnMgPSB0aGlzLmZhNEljb25zUGFjay5nZXRJY29ucygpLm1hcChpY29uID0+IHtcclxuICAgICAgICAgIGljb24udHlwZSA9IEljb25UeXBlLkZvbnRBd2Vzb21lO1xyXG4gICAgICAgICAgcmV0dXJuIGljb247XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWNvbnMucHVzaCguLi5mYUljb25zKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoaXBJY29uUGFjayA9PT0gJ2ZhNScgfHwgaXBJY29uUGFjayA9PT0gJ2FsbCcpIHtcclxuICAgICAgICBjb25zdCBmYTVJY29ucyA9IHRoaXMuZmE1SWNvbnNQYWNrLmdldEljb25zKCkubWFwKGljb24gPT4ge1xyXG4gICAgICAgICAgaWNvbi50eXBlID0gSWNvblR5cGUuRm9udEF3ZXNvbWU1O1xyXG4gICAgICAgICAgcmV0dXJuIGljb247XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWNvbnMucHVzaCguLi5mYTVJY29ucyk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGlwSWNvblBhY2sgPT09ICdmYTYnIHx8IGlwSWNvblBhY2sgPT09ICdhbGwnKSB7XHJcbiAgICAgICAgdGhpcy5mYUljb25MaWJyYXJ5LmFkZEljb25QYWNrcyhmYXMpO1xyXG4gICAgICAgIGNvbnN0IGZhNkljb25zID0gdGhpcy5mYTZJY29uc1BhY2suZ2V0SWNvbnMoKS5tYXAoaWNvbiA9PiB7XHJcbiAgICAgICAgICAgaWNvbi50eXBlID0gSWNvblR5cGUuRm9udEF3ZXNvbWU2O1xyXG4gICAgICAgICAgcmV0dXJuIGljb247XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWNvbnMucHVzaCguLi5mYTZJY29ucyk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGlwSWNvblBhY2sgPT09ICdtYXQnIHx8IGlwSWNvblBhY2sgPT09ICdhbGwnKSB7XHJcbiAgICAgICAgY29uc3QgbWF0SWNvbnMgPSB0aGlzLm1hdEljb25zUGFjay5nZXRJY29ucygpLm1hcChpY29uID0+IHtcclxuICAgICAgICAgIGljb24udHlwZSA9IEljb25UeXBlLk1hdGVyaWFsO1xyXG4gICAgICAgICAgcmV0dXJuIGljb247XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWNvbnMucHVzaCguLi5tYXRJY29ucyk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGlwSWNvblBhY2sgPT09ICdwaScgfHwgaXBJY29uUGFjayA9PT0gJ2FsbCcpIHtcclxuICAgICAgICBjb25zdCBwcmltZUljb25zID0gdGhpcy5wcmltZUljb25zUGFjay5nZXRJY29ucygpLm1hcChpY29uID0+IHtcclxuICAgICAgICAgIGljb24udHlwZSA9IEljb25UeXBlLlByaW1lSWNvbnM7XHJcbiAgICAgICAgICByZXR1cm4gaWNvbjtcclxuICAgICAgICB9KTtcclxuICAgICAgICBpY29ucy5wdXNoKC4uLnByaW1lSWNvbnMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBpY29ucztcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class Icon {
|
|
2
|
+
}
|
|
3
|
+
export var IconType;
|
|
4
|
+
(function (IconType) {
|
|
5
|
+
IconType[IconType["FontAwesome"] = 0] = "FontAwesome";
|
|
6
|
+
IconType[IconType["FontAwesome5"] = 2] = "FontAwesome5";
|
|
7
|
+
IconType[IconType["Material"] = 3] = "Material";
|
|
8
|
+
IconType[IconType["FontAwesome6"] = 4] = "FontAwesome6";
|
|
9
|
+
IconType[IconType["PrimeIcons"] = 5] = "PrimeIcons";
|
|
10
|
+
})(IconType || (IconType = {}));
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1udGstaWNvbi1waWNrZXIvc3JjL2xpYi9pY29uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxJQUFJO0NBUWhCO0FBRUQsTUFBTSxDQUFOLElBQVksUUFNWDtBQU5ELFdBQVksUUFBUTtJQUNsQixxREFBVyxDQUFBO0lBQ1gsdURBQWdCLENBQUE7SUFDaEIsK0NBQVEsQ0FBQTtJQUNSLHVEQUFZLENBQUE7SUFDWixtREFBVSxDQUFBO0FBQ1osQ0FBQyxFQU5XLFFBQVEsS0FBUixRQUFRLFFBTW5CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWNvbk5hbWUgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtc3ZnLWNvcmUnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEljb24ge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBpZDogc3RyaW5nO1xyXG4gIGZpbHRlcj86IHN0cmluZ1tdO1xyXG4gIGFsaWFzZXM/OiBzdHJpbmdbXTtcclxuICB0eXBlPzogSWNvblR5cGU7XHJcbiAgaWNvbk5hbWU/OiBJY29uTmFtZTtcclxuICBwcmVmaXg/OnN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGVudW0gSWNvblR5cGUge1xyXG4gIEZvbnRBd2Vzb21lLFxyXG4gIEZvbnRBd2Vzb21lNSA9IDIsXHJcbiAgTWF0ZXJpYWwsXHJcbiAgRm9udEF3ZXNvbWU2LFxyXG4gIFByaW1lSWNvbnNcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMtcGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1udGstaWNvbi1waWNrZXIvc3JjL2xpYi9pY29ucy1wYWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0ljb259IGZyb20gJy4vaWNvbic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEljb25zUGFjayB7XHJcbiAgZ2V0SWNvbnMoKTogSWNvbltdO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './icon';
|
|
2
|
+
export * from './icon-picker.component';
|
|
3
|
+
export * from './icon-picker.directive';
|
|
4
|
+
export * from './icon-picker.module';
|
|
5
|
+
export * from './icon-picker.service';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbnRrLWljb24tcGlja2VyL3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaWNvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vaWNvbi1waWNrZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9pY29uLXBpY2tlci5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ljb24tcGlja2VyLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaWNvbi1waWNrZXIuc2VydmljZSc7XHJcbiJdfQ==
|