ngx-ntk-icon-picker 20.25.1 → 20.25.2

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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, HostListener, Output, Input, Directive, Pipe, Injectable, ViewChild, Component, NgModule } from '@angular/core';
2
+ import { Injectable, EventEmitter, HostListener, Output, Input, Directive, Pipe, ViewChild, Component, NgModule } from '@angular/core';
3
3
  import * as i2 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1 from '@fortawesome/angular-fontawesome';
@@ -17,195 +17,6 @@ var IconType;
17
17
  IconType[IconType["PrimeIcons"] = 5] = "PrimeIcons";
18
18
  })(IconType || (IconType = {}));
19
19
 
20
- class IconPickerDirective {
21
- handleFocus() {
22
- this.elementFocus();
23
- }
24
- constructor(vcRef, el) {
25
- this.vcRef = vcRef;
26
- this.el = el;
27
- this.ipPlaceHolder = 'Search icon...';
28
- this.ipPosition = 'right';
29
- this.ipFallbackIcon = 'fas fa-user';
30
- this.ipHeight = 'auto';
31
- this.ipMaxHeight = '200px';
32
- this.ipWidth = '230px';
33
- this.ipIconSize = '16px';
34
- this.ipIconVerticalPadding = '6px'; // Top / Bottom
35
- this.ipIconHorizontalPadding = '10px'; // Left / Right
36
- this.ipIconPack = ['fa5'];
37
- this.ipKeepSearchFilter = 'false';
38
- this.ipUseRootViewContainer = false;
39
- // Default design with bootstrap
40
- this.ipButtonStyleClass = 'btn btn-default';
41
- this.ipDivSearchStyleClass = '';
42
- this.ipInputSearchStyleClass = 'form-control input-sm';
43
- this.iconPickerSelect = new EventEmitter(true);
44
- this.iconPickerOpen = new EventEmitter(true);
45
- this.iconPickerClose = new EventEmitter(true);
46
- this.iconPickerFocus = new EventEmitter(true);
47
- this.ignoreChanges = false;
48
- this.created = false;
49
- }
50
- onClick() {
51
- this.openDialog();
52
- }
53
- ngOnChanges(changes) {
54
- if (changes.iconPicker) {
55
- this.ignoreChanges = false;
56
- }
57
- }
58
- ngOnInit() {
59
- this.iconPicker = this.iconPicker || this.ipFallbackIcon || 'fa fa-user-plus';
60
- this.iconPickerSelect.emit(this.iconPicker);
61
- }
62
- openDialog() {
63
- if (!this.created) {
64
- this.created = true;
65
- const vcRef = this.vcRef;
66
- const cmpRef = vcRef.createComponent(IconPickerComponent);
67
- 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);
68
- this.dialog = cmpRef.instance;
69
- if (this.vcRef !== vcRef) {
70
- cmpRef.changeDetectorRef.detectChanges();
71
- }
72
- }
73
- else if (this.dialog) {
74
- this.dialog.openDialog(this.iconPicker);
75
- }
76
- }
77
- iconSelected(icon) {
78
- this.iconPickerSelect.emit(icon);
79
- }
80
- stateChanged(state) {
81
- if (state) {
82
- this.iconPickerOpen.emit();
83
- }
84
- else {
85
- this.iconPickerClose.emit();
86
- }
87
- }
88
- elementFocus() {
89
- this.iconPickerFocus.emit();
90
- }
91
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: IconPickerDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
92
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.6", type: IconPickerDirective, isStandalone: true, 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 }); }
93
- }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: IconPickerDirective, decorators: [{
95
- type: Directive,
96
- args: [{
97
- // eslint-disable-next-line @angular-eslint/directive-selector
98
- selector: '[iconPicker]'
99
- }]
100
- }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.ElementRef }], propDecorators: { iconPicker: [{
101
- type: Input
102
- }], ipPlaceHolder: [{
103
- type: Input
104
- }], ipPosition: [{
105
- type: Input
106
- }], ipFallbackIcon: [{
107
- type: Input
108
- }], ipHeight: [{
109
- type: Input
110
- }], ipMaxHeight: [{
111
- type: Input
112
- }], ipWidth: [{
113
- type: Input
114
- }], ipIconSize: [{
115
- type: Input
116
- }], ipIconVerticalPadding: [{
117
- type: Input
118
- }], ipIconHorizontalPadding: [{
119
- type: Input
120
- }], ipIconPack: [{
121
- type: Input
122
- }], ipKeepSearchFilter: [{
123
- type: Input
124
- }], ipUseRootViewContainer: [{
125
- type: Input
126
- }], ipButtonStyleClass: [{
127
- type: Input
128
- }], ipDivSearchStyleClass: [{
129
- type: Input
130
- }], ipInputSearchStyleClass: [{
131
- type: Input
132
- }], iconPickerSelect: [{
133
- type: Output
134
- }], iconPickerOpen: [{
135
- type: Output
136
- }], iconPickerClose: [{
137
- type: Output
138
- }], iconPickerFocus: [{
139
- type: Output
140
- }], handleFocus: [{
141
- type: HostListener,
142
- args: ['focus']
143
- }], onClick: [{
144
- type: HostListener,
145
- args: ['click']
146
- }] } });
147
-
148
- class TextDirective {
149
- constructor() {
150
- this.newValue = new EventEmitter();
151
- }
152
- changeInput(value) {
153
- this.newValue.emit(value);
154
- }
155
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: TextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
156
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.6", type: TextDirective, isStandalone: true, selector: "[text]", inputs: { text: "text" }, outputs: { newValue: "newValue" }, host: { listeners: { "input": "changeInput($event.target.value)" } }, ngImport: i0 }); }
157
- }
158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: TextDirective, decorators: [{
159
- type: Directive,
160
- args: [{
161
- // eslint-disable-next-line @angular-eslint/directive-selector
162
- selector: '[text]'
163
- }]
164
- }], propDecorators: { newValue: [{
165
- type: Output
166
- }], text: [{
167
- type: Input
168
- }], changeInput: [{
169
- type: HostListener,
170
- args: ['input', ['$event.target.value']]
171
- }] } });
172
-
173
- class SearchIconPipe {
174
- transform(value, search) {
175
- if (!search) {
176
- return value;
177
- }
178
- const searchValue = this.clean(search);
179
- return value.filter(icon => {
180
- let keep = false;
181
- if (icon.name) {
182
- keep = keep || this.clean(icon.name).includes(searchValue);
183
- }
184
- if (icon.id) {
185
- keep = keep || this.clean(icon.id).includes(searchValue);
186
- }
187
- if (icon.filter) {
188
- keep = keep || icon.filter.some(filter => this.clean(filter).includes(searchValue));
189
- }
190
- if (icon.aliases) {
191
- keep = keep || icon.aliases.some(alias => this.clean(alias).includes(searchValue));
192
- }
193
- return keep;
194
- });
195
- }
196
- clean(value) {
197
- return value.trim().toLowerCase();
198
- }
199
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: SearchIconPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
200
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.1.6", ngImport: i0, type: SearchIconPipe, isStandalone: true, name: "searchIcon" }); }
201
- }
202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: SearchIconPipe, decorators: [{
203
- type: Pipe,
204
- args: [{
205
- name: 'searchIcon'
206
- }]
207
- }] });
208
-
209
20
  class FontAwesome4IconsPack {
210
21
  getIcons() {
211
22
  return [
@@ -44732,7 +44543,9 @@ class IconPickerService {
44732
44543
  }
44733
44544
  if (ipIconPack === 'fa6' || ipIconPack === 'all') {
44734
44545
  this.faIconLibrary.addIconPacks(fas);
44735
- const fa6Icons = this.fa6IconsPack.getIcons().map(icon => {
44546
+ const fa6Icons = this.fa6IconsPack.getIcons()
44547
+ .filter(icon => this.isIconAvailable(icon.iconName))
44548
+ .map(icon => {
44736
44549
  icon.type = IconType.FontAwesome6;
44737
44550
  return icon;
44738
44551
  });
@@ -44755,6 +44568,64 @@ class IconPickerService {
44755
44568
  });
44756
44569
  return icons;
44757
44570
  }
44571
+ // Check if a FontAwesome6 icon is available in the library
44572
+ isIconAvailable(iconName) {
44573
+ try {
44574
+ // List of known available FontAwesome6 icons
44575
+ // This is a comprehensive list of commonly available icons
44576
+ const availableIcons = [
44577
+ 'user', 'home', 'search', 'cog', 'heart', 'star', 'check', 'times', 'plus', 'minus',
44578
+ 'arrow-up', 'arrow-down', 'arrow-left', 'arrow-right', 'chevron-up', 'chevron-down',
44579
+ 'chevron-left', 'chevron-right', 'calendar', 'clock', 'envelope', 'phone', 'map-marker',
44580
+ 'link', 'download', 'upload', 'print', 'save', 'edit', 'trash', 'eye', 'eye-slash',
44581
+ 'lock', 'unlock', 'key', 'shield', 'flag', 'bookmark', 'tag', 'folder', 'file',
44582
+ 'image', 'video', 'music', 'play', 'pause', 'stop', 'volume-up', 'volume-down',
44583
+ 'wifi', 'bluetooth', 'battery-full', 'battery-half', 'battery-empty', 'signal',
44584
+ 'cloud', 'sun', 'moon', 'rain', 'snow', 'bolt', 'fire', 'leaf', 'tree',
44585
+ 'car', 'plane', 'ship', 'bicycle', 'motorcycle', 'bus', 'train', 'subway',
44586
+ 'shopping-cart', 'credit-card', 'money-bill', 'gift', 'birthday-cake', 'glass',
44587
+ 'utensils', 'coffee', 'beer', 'wine', 'pizza', 'hamburger', 'ice-cream',
44588
+ 'gamepad', 'dice', 'puzzle-piece', 'chess', 'trophy', 'medal', 'award',
44589
+ 'graduation-cap', 'certificate', 'diploma', 'book', 'newspaper', 'magazine',
44590
+ 'pencil', 'pen', 'highlighter', 'eraser', 'ruler', 'calculator', 'microscope',
44591
+ 'flask', 'atom', 'dna', 'virus', 'bacteria', 'pill', 'stethoscope', 'heartbeat',
44592
+ 'lungs', 'brain', 'bone', 'tooth', 'ear', 'nose', 'mouth', 'hand',
44593
+ 'foot', 'fingerprint', 'microchip', 'robot', 'satellite', 'rocket',
44594
+ 'ufo', 'alien', 'ghost', 'skull', 'cross', 'star-of-david', 'om', 'yin-yang',
44595
+ 'peace', 'recycle', 'biohazard', 'radiation', 'warning', 'exclamation-triangle',
44596
+ 'info-circle', 'question-circle', 'check-circle', 'times-circle', 'ban',
44597
+ 'stop-circle', 'pause-circle', 'play-circle', 'record-vinyl', 'compact-disc',
44598
+ 'cassette', 'vhs', 'film', 'camera', 'video-camera', 'microphone', 'headphones',
44599
+ 'speaker', 'radio', 'tv', 'laptop', 'desktop', 'tablet', 'mobile', 'watch',
44600
+ 'keyboard', 'mouse', 'printer', 'scanner', 'hard-drive', 'ssd',
44601
+ 'memory', 'processor', 'motherboard', 'ethernet', 'usb', 'hdmi', 'power-plug',
44602
+ 'battery', 'solar-panel', 'wind', 'water', 'oil', 'gas', 'coal', 'nuclear',
44603
+ 'renewable', 'sustainable', 'eco-friendly', 'green', 'blue', 'red', 'yellow',
44604
+ 'orange', 'purple', 'pink', 'brown', 'gray', 'black', 'white', 'rainbow',
44605
+ 'palette', 'brush', 'paint-roller', 'spray-can', 'marker', 'crayon', 'chalk',
44606
+ 'stamp', 'seal', 'signature', 'cloud-sun', 'cloud-moon', 'cloud-rain', 'cloud-showers-heavy',
44607
+ 'cloud-bolt', 'snowflake', 'wind', 'smog', 'sun-haze', 'moon-stars', 'star-half',
44608
+ 'star-of-life', 'heart-pulse', 'lungs-virus', 'shield-cat', 'person-breastfeeding',
44609
+ 'land-mine-on', 'suitcase-rolling', 'person-hiking', 'users-slash', 'file-circle-minus',
44610
+ 'road-circle-xmark', 'person-walking', 'person-running', 'person-biking', 'person-swimming',
44611
+ 'person-skiing', 'person-snowboarding', 'person-skating', 'person-sledding', 'person-snowmobiling',
44612
+ 'person-golfing', 'person-fishing', 'person-hunting', 'person-camping', 'person-hiking',
44613
+ 'person-climbing', 'person-mountain-biking', 'person-kayaking', 'person-canoeing', 'person-rafting',
44614
+ 'person-surfing', 'person-windsurfing', 'person-sailing', 'person-parachuting', 'person-hang-gliding',
44615
+ 'person-paragliding', 'person-rocket', 'person-astronaut', 'person-cosmonaut', 'person-moon-walking',
44616
+ 'person-mars', 'person-venus', 'person-mercury', 'person-jupiter', 'person-saturn', 'person-uranus',
44617
+ 'person-neptune', 'person-pluto', 'person-meteor', 'person-comet', 'person-asteroid', 'person-planet',
44618
+ 'person-galaxy', 'person-universe', 'person-multiverse', 'person-dimension', 'person-portal',
44619
+ 'person-teleport', 'person-time-travel', 'person-wormhole', 'person-black-hole', 'person-neutron-star',
44620
+ 'person-pulsar', 'person-quasar', 'person-supernova', 'person-nova', 'person-variable-star',
44621
+ 'person-binary-star', 'person-star-cluster', 'person-nebula', 'person-dark-matter', 'person-dark-energy'
44622
+ ];
44623
+ return availableIcons.includes(iconName);
44624
+ }
44625
+ catch (error) {
44626
+ return false;
44627
+ }
44628
+ }
44758
44629
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: IconPickerService, deps: [{ token: i1.FaIconLibrary }], target: i0.ɵɵFactoryTarget.Injectable }); }
44759
44630
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: IconPickerService }); }
44760
44631
  }
@@ -44762,6 +44633,195 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
44762
44633
  type: Injectable
44763
44634
  }], ctorParameters: () => [{ type: i1.FaIconLibrary }] });
44764
44635
 
44636
+ class IconPickerDirective {
44637
+ handleFocus() {
44638
+ this.elementFocus();
44639
+ }
44640
+ constructor(vcRef, el) {
44641
+ this.vcRef = vcRef;
44642
+ this.el = el;
44643
+ this.ipPlaceHolder = 'Search icon...';
44644
+ this.ipPosition = 'right';
44645
+ this.ipFallbackIcon = 'fas fa-user';
44646
+ this.ipHeight = 'auto';
44647
+ this.ipMaxHeight = '200px';
44648
+ this.ipWidth = '230px';
44649
+ this.ipIconSize = '16px';
44650
+ this.ipIconVerticalPadding = '6px'; // Top / Bottom
44651
+ this.ipIconHorizontalPadding = '10px'; // Left / Right
44652
+ this.ipIconPack = ['fa5'];
44653
+ this.ipKeepSearchFilter = 'false';
44654
+ this.ipUseRootViewContainer = false;
44655
+ // Default design with bootstrap
44656
+ this.ipButtonStyleClass = 'btn btn-default';
44657
+ this.ipDivSearchStyleClass = '';
44658
+ this.ipInputSearchStyleClass = 'form-control input-sm';
44659
+ this.iconPickerSelect = new EventEmitter(true);
44660
+ this.iconPickerOpen = new EventEmitter(true);
44661
+ this.iconPickerClose = new EventEmitter(true);
44662
+ this.iconPickerFocus = new EventEmitter(true);
44663
+ this.ignoreChanges = false;
44664
+ this.created = false;
44665
+ }
44666
+ onClick() {
44667
+ this.openDialog();
44668
+ }
44669
+ ngOnChanges(changes) {
44670
+ if (changes.iconPicker) {
44671
+ this.ignoreChanges = false;
44672
+ }
44673
+ }
44674
+ ngOnInit() {
44675
+ this.iconPicker = this.iconPicker || this.ipFallbackIcon || 'fa fa-user-plus';
44676
+ this.iconPickerSelect.emit(this.iconPicker);
44677
+ }
44678
+ openDialog() {
44679
+ if (!this.created) {
44680
+ this.created = true;
44681
+ const vcRef = this.vcRef;
44682
+ const cmpRef = vcRef.createComponent(IconPickerComponent);
44683
+ 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);
44684
+ this.dialog = cmpRef.instance;
44685
+ if (this.vcRef !== vcRef) {
44686
+ cmpRef.changeDetectorRef.detectChanges();
44687
+ }
44688
+ }
44689
+ else if (this.dialog) {
44690
+ this.dialog.openDialog(this.iconPicker);
44691
+ }
44692
+ }
44693
+ iconSelected(icon) {
44694
+ this.iconPickerSelect.emit(icon);
44695
+ }
44696
+ stateChanged(state) {
44697
+ if (state) {
44698
+ this.iconPickerOpen.emit();
44699
+ }
44700
+ else {
44701
+ this.iconPickerClose.emit();
44702
+ }
44703
+ }
44704
+ elementFocus() {
44705
+ this.iconPickerFocus.emit();
44706
+ }
44707
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: IconPickerDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
44708
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.6", type: IconPickerDirective, isStandalone: true, 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 }); }
44709
+ }
44710
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: IconPickerDirective, decorators: [{
44711
+ type: Directive,
44712
+ args: [{
44713
+ // eslint-disable-next-line @angular-eslint/directive-selector
44714
+ selector: '[iconPicker]'
44715
+ }]
44716
+ }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.ElementRef }], propDecorators: { iconPicker: [{
44717
+ type: Input
44718
+ }], ipPlaceHolder: [{
44719
+ type: Input
44720
+ }], ipPosition: [{
44721
+ type: Input
44722
+ }], ipFallbackIcon: [{
44723
+ type: Input
44724
+ }], ipHeight: [{
44725
+ type: Input
44726
+ }], ipMaxHeight: [{
44727
+ type: Input
44728
+ }], ipWidth: [{
44729
+ type: Input
44730
+ }], ipIconSize: [{
44731
+ type: Input
44732
+ }], ipIconVerticalPadding: [{
44733
+ type: Input
44734
+ }], ipIconHorizontalPadding: [{
44735
+ type: Input
44736
+ }], ipIconPack: [{
44737
+ type: Input
44738
+ }], ipKeepSearchFilter: [{
44739
+ type: Input
44740
+ }], ipUseRootViewContainer: [{
44741
+ type: Input
44742
+ }], ipButtonStyleClass: [{
44743
+ type: Input
44744
+ }], ipDivSearchStyleClass: [{
44745
+ type: Input
44746
+ }], ipInputSearchStyleClass: [{
44747
+ type: Input
44748
+ }], iconPickerSelect: [{
44749
+ type: Output
44750
+ }], iconPickerOpen: [{
44751
+ type: Output
44752
+ }], iconPickerClose: [{
44753
+ type: Output
44754
+ }], iconPickerFocus: [{
44755
+ type: Output
44756
+ }], handleFocus: [{
44757
+ type: HostListener,
44758
+ args: ['focus']
44759
+ }], onClick: [{
44760
+ type: HostListener,
44761
+ args: ['click']
44762
+ }] } });
44763
+
44764
+ class TextDirective {
44765
+ constructor() {
44766
+ this.newValue = new EventEmitter();
44767
+ }
44768
+ changeInput(value) {
44769
+ this.newValue.emit(value);
44770
+ }
44771
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: TextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
44772
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.6", type: TextDirective, isStandalone: true, selector: "[text]", inputs: { text: "text" }, outputs: { newValue: "newValue" }, host: { listeners: { "input": "changeInput($event.target.value)" } }, ngImport: i0 }); }
44773
+ }
44774
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: TextDirective, decorators: [{
44775
+ type: Directive,
44776
+ args: [{
44777
+ // eslint-disable-next-line @angular-eslint/directive-selector
44778
+ selector: '[text]'
44779
+ }]
44780
+ }], propDecorators: { newValue: [{
44781
+ type: Output
44782
+ }], text: [{
44783
+ type: Input
44784
+ }], changeInput: [{
44785
+ type: HostListener,
44786
+ args: ['input', ['$event.target.value']]
44787
+ }] } });
44788
+
44789
+ class SearchIconPipe {
44790
+ transform(value, search) {
44791
+ if (!search) {
44792
+ return value;
44793
+ }
44794
+ const searchValue = this.clean(search);
44795
+ return value.filter(icon => {
44796
+ let keep = false;
44797
+ if (icon.name) {
44798
+ keep = keep || this.clean(icon.name).includes(searchValue);
44799
+ }
44800
+ if (icon.id) {
44801
+ keep = keep || this.clean(icon.id).includes(searchValue);
44802
+ }
44803
+ if (icon.filter) {
44804
+ keep = keep || icon.filter.some(filter => this.clean(filter).includes(searchValue));
44805
+ }
44806
+ if (icon.aliases) {
44807
+ keep = keep || icon.aliases.some(alias => this.clean(alias).includes(searchValue));
44808
+ }
44809
+ return keep;
44810
+ });
44811
+ }
44812
+ clean(value) {
44813
+ return value.trim().toLowerCase();
44814
+ }
44815
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: SearchIconPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
44816
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.1.6", ngImport: i0, type: SearchIconPipe, isStandalone: true, name: "searchIcon" }); }
44817
+ }
44818
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: SearchIconPipe, decorators: [{
44819
+ type: Pipe,
44820
+ args: [{
44821
+ name: 'searchIcon'
44822
+ }]
44823
+ }] });
44824
+
44765
44825
  class IconPickerComponent {
44766
44826
  constructor(el, cdr, service) {
44767
44827
  this.el = el;
@@ -44831,7 +44891,7 @@ class IconPickerComponent {
44831
44891
  this.directiveInstance.iconSelected(`${icon.id}`);
44832
44892
  }
44833
44893
  else if (icon.type === IconType.FontAwesome6) {
44834
- this.directiveInstance.iconSelected(`${icon.id}`);
44894
+ this.directiveInstance.iconSelected(`fas fa-${icon.iconName}`);
44835
44895
  }
44836
44896
  else if (icon.type === IconType.Material) {
44837
44897
  this.directiveInstance.iconSelected(`${icon.id}`);
@@ -44947,12 +45007,33 @@ class IconPickerComponent {
44947
45007
  height: element.offsetHeight
44948
45008
  };
44949
45009
  }
45010
+ onIconError(event) {
45011
+ // Handle icon loading errors gracefully
45012
+ console.warn('Icon not found:', event);
45013
+ }
45014
+ // Check if a FontAwesome6 icon exists and return a fallback if not
45015
+ getFontAwesome6Icon(iconName) {
45016
+ try {
45017
+ // Try to create the icon array
45018
+ return ['fas', iconName];
45019
+ }
45020
+ catch (error) {
45021
+ // Return a fallback icon if the original doesn't exist
45022
+ return ['fas', 'question'];
45023
+ }
45024
+ }
45025
+ // Check if an icon should be displayed as FontAwesome6 or fallback to text
45026
+ shouldShowFontAwesome6Icon(icon) {
45027
+ // For now, we'll show all FontAwesome6 icons and let the error handler deal with missing ones
45028
+ // This can be enhanced later with a proper icon existence check
45029
+ return true;
45030
+ }
44950
45031
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: IconPickerComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: IconPickerService }], target: i0.ɵɵFactoryTarget.Component }); }
44951
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.6", type: IconPickerComponent, isStandalone: true, 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: "ngmodule", type: CommonModule }, { 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: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i1.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: TextDirective, selector: "[text]", inputs: ["text"], outputs: ["newValue"] }, { kind: "pipe", type: SearchIconPipe, name: "searchIcon" }] }); }
45032
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.6", type: IconPickerComponent, isStandalone: true, selector: "icon-picker", providers: [IconPickerService], viewQueries: [{ propertyName: "dialogElement", first: true, predicate: ["dialogPopup"], descendants: true }], ngImport: i0, template: "<div class=\"icon-picker\" #dialogPopup [hidden]=\"!show\" [style.visibility]=\"this.hidden ? 'hidden' : 'visible'\"\r\n [style.height.px]=\"ipHeight\" [style.width.px]=\"ipWidth\" [style.top.px]=\"top\" [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}\" [style.width.px]=\"buttonWidth\" [style.height.px]=\"buttonHeight\"\r\n [style.padding-top.px]=\"ipIconVerticalPadding\" [style.padding-bottom.px]=\"ipIconVerticalPadding\"\r\n [style.padding-left.px]=\"ipIconHorizontalPadding\" [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}}\" [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]\" (error)=\"onIconError($event)\"></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: "ngmodule", type: CommonModule }, { 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: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i1.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: TextDirective, selector: "[text]", inputs: ["text"], outputs: ["newValue"] }, { kind: "pipe", type: SearchIconPipe, name: "searchIcon" }] }); }
44952
45033
  }
44953
45034
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: IconPickerComponent, decorators: [{
44954
45035
  type: Component,
44955
- args: [{ selector: 'icon-picker', standalone: true, imports: [CommonModule, FontAwesomeModule, IconPickerDirective, TextDirective, SearchIconPipe], 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"] }]
45036
+ args: [{ selector: 'icon-picker', standalone: true, imports: [CommonModule, FontAwesomeModule, IconPickerDirective, TextDirective, SearchIconPipe], providers: [IconPickerService], template: "<div class=\"icon-picker\" #dialogPopup [hidden]=\"!show\" [style.visibility]=\"this.hidden ? 'hidden' : 'visible'\"\r\n [style.height.px]=\"ipHeight\" [style.width.px]=\"ipWidth\" [style.top.px]=\"top\" [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}\" [style.width.px]=\"buttonWidth\" [style.height.px]=\"buttonHeight\"\r\n [style.padding-top.px]=\"ipIconVerticalPadding\" [style.padding-bottom.px]=\"ipIconVerticalPadding\"\r\n [style.padding-left.px]=\"ipIconHorizontalPadding\" [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}}\" [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]\" (error)=\"onIconError($event)\"></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"] }]
44956
45037
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: IconPickerService }], propDecorators: { dialogElement: [{
44957
45038
  type: ViewChild,
44958
45039
  args: ['dialogPopup']