@kris701/ez-ui 1.0.10 → 1.1.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.
@@ -1,12 +1,14 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Output, Input, Component, signal, ViewChild, ContentChild, Directive } from '@angular/core';
2
+ import { EventEmitter, signal, Output, Input, Component, ViewChild, ContentChild, Directive, inject } from '@angular/core';
3
3
  import * as i1 from '@angular/forms';
4
4
  import { FormsModule } from '@angular/forms';
5
+ import * as i3$3 from '@taiga-ui/addon-mobile';
6
+ import { TuiDropdownSheet } from '@taiga-ui/addon-mobile';
5
7
  import { TuiDay, TuiTime } from '@taiga-ui/cdk/date-time';
6
8
  import * as i3$1 from '@taiga-ui/core';
7
- import { TuiInput, TuiOption, TuiDropdown, TuiGroup, TuiButton, TuiScrollbar, TuiSelectLike, TuiDataList, TuiTextfield, TuiIcon, TuiHint, TuiLoader } from '@taiga-ui/core';
9
+ import { TuiInput, TuiButton, TuiDropdown, TuiOption, TuiGroup, TuiScrollbar, TuiSelectLike, TuiDataList, TuiTextfield, TuiIcon, TuiHint, TuiLoader, TUI_DARK_MODE, TuiRoot } from '@taiga-ui/core';
8
10
  import * as i4$1 from '@taiga-ui/kit';
9
- import { TuiInputDate, TuiFiles, TuiChevron, TuiTextarea, TuiMultiSelect, TuiInputNumber, TuiInputChip, TuiPassword, TuiBadge, TuiStatus, TuiDataListWrapper, TuiButtonSelect, TuiBadgeNotification, TuiStringifyContentPipe, TuiBadgedContent, TuiInputDateTime, TUI_CONFIRM } from '@taiga-ui/kit';
11
+ import { TuiInputDate, TuiInputDateTime, TuiFiles, TuiChevron, TuiTextarea, TuiMultiSelect, TuiInputNumber, TuiInputChip, TuiPassword, TuiBadge, TuiStatus, TuiDataListWrapper, TuiButtonSelect, TuiBadgeNotification, TuiStringifyContentPipe, TuiBadgedContent, TUI_CONFIRM } from '@taiga-ui/kit';
10
12
  import * as i2 from '@taiga-ui/core/components/label';
11
13
  import * as i3 from '@taiga-ui/core/components/textfield';
12
14
  import * as i4 from '@taiga-ui/core/portals/dropdown';
@@ -19,11 +21,12 @@ import * as i7 from '@taiga-ui/cdk/directives/item';
19
21
  import * as i3$2 from '@taiga-ui/addon-table';
20
22
  import { TuiTablePagination, TuiTable } from '@taiga-ui/addon-table';
21
23
  import * as i4$2 from '@taiga-ui/layout';
22
- import { TuiBlockStatus } from '@taiga-ui/layout';
24
+ import { TuiBlockStatus, TuiNavigation, TuiAsideGroupComponent } from '@taiga-ui/layout';
23
25
  import { v4 } from 'uuid';
24
26
  import { firstValueFrom, switchMap } from 'rxjs';
25
27
  import * as i1$1 from '@angular/common/http';
26
- import * as i3$3 from '@taiga-ui/addon-mobile';
28
+ import * as i3$4 from '@angular/router';
29
+ import { RouterLink, NavigationEnd, RouterModule } from '@angular/router';
27
30
 
28
31
  class EzUIDateInput {
29
32
  icon = '';
@@ -35,43 +38,55 @@ class EzUIDateInput {
35
38
  TuiDay = TuiDay;
36
39
  value = new Date;
37
40
  valueChange = new EventEmitter();
38
- internalValue = null;
41
+ internalValue = signal(null, /* @ts-ignore */
42
+ ...(ngDevMode ? [{ debugName: "internalValue" }] : /* istanbul ignore next */ []));
39
43
  ngOnChanges(changes) {
40
44
  if (changes['value'] && changes['value'].currentValue != changes['value'].previousValue) {
41
45
  this.value = changes['value'].currentValue;
42
- this.value = new Date(this.value);
43
- this.internalValue = TuiDay.fromUtcNativeDate(this.value);
46
+ this.internalValue.set(this.toTuiDate(this.value));
44
47
  }
45
48
  }
46
49
  updateValue() {
47
50
  if (this.internalValue) {
48
- this.value = this.internalValue?.toUtcNativeDate();
51
+ this.value = this.fromTuiDate(this.internalValue());
49
52
  this.valueChange.emit(this.value);
50
53
  }
51
54
  }
55
+ toTuiDate(date) {
56
+ if (date)
57
+ return TuiDay.fromUtcNativeDate(date);
58
+ return null;
59
+ }
60
+ fromTuiDate(date) {
61
+ if (date) {
62
+ return date.toUtcNativeDate();
63
+ }
64
+ return null;
65
+ }
52
66
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EzUIDateInput, deps: [], target: i0.ɵɵFactoryTarget.Component });
53
67
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: EzUIDateInput, isStandalone: true, selector: "ezui-dateinput", inputs: { icon: "icon", label: "label", size: "size", disabled: "disabled", min: "min", max: "max", value: "value" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: `
54
- <tui-textfield [tuiTextfieldSize]="size" [iconStart]="icon">
68
+ <tui-textfield [tuiTextfieldSize]="size" [iconStart]="icon" tuiDropdownSheet>
55
69
  @if(label){
56
70
  <label tuiLabel>{{label}}</label>
57
71
  }
58
- <input tuiInputDate [(ngModel)]="internalValue" (ngModelChange)="updateValue()" [disabled]="disabled" [min]="min ? TuiDay.fromLocalNativeDate(min) : null" [max]="max ? TuiDay.fromLocalNativeDate(max) : null"/>
72
+ <input tuiInputDate [(ngModel)]="internalValue" (ngModelChange)="updateValue()" [disabled]="disabled" [min]="toTuiDate(min)" [max]="toTuiDate(max)"/>
59
73
  <tui-calendar *tuiDropdown />
60
74
  </tui-textfield>
61
- `, isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.TuiLabel, selector: "label[tuiLabel]" }, { kind: "component", type: i3.TuiTextfieldComponent, selector: "tui-textfield:not([multi])", inputs: ["content", "filler"] }, { kind: "directive", type: i3.TuiTextfieldOptionsDirective, selector: "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", inputs: ["tuiTextfieldAppearance", "tuiTextfieldSize", "tuiTextfieldCleaner"] }, { kind: "directive", type: i4.TuiDropdownContent, selector: "ng-template[tuiDropdown]" }, { kind: "directive", type: i4$1.TuiInputDateDirective, selector: "input[tuiInputDate]", inputs: ["max", "min"] }, { kind: "component", type: i6.TuiCalendar, selector: "tui-calendar:not([new])", inputs: ["minViewedMonth", "maxViewedMonth", "showAdjacent", "markerHandler", "initialView", "hoveredItem"], outputs: ["hoveredItemChange", "dayClick"] }] });
75
+ `, isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.TuiLabel, selector: "label[tuiLabel]" }, { kind: "component", type: i3.TuiTextfieldComponent, selector: "tui-textfield:not([multi])", inputs: ["content", "filler"] }, { kind: "directive", type: i3.TuiTextfieldOptionsDirective, selector: "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", inputs: ["tuiTextfieldAppearance", "tuiTextfieldSize", "tuiTextfieldCleaner"] }, { kind: "directive", type: i4.TuiDropdownContent, selector: "ng-template[tuiDropdown]" }, { kind: "directive", type: i4$1.TuiInputDateDirective, selector: "input[tuiInputDate]", inputs: ["max", "min"] }, { kind: "component", type: i6.TuiCalendar, selector: "tui-calendar:not([new])", inputs: ["minViewedMonth", "maxViewedMonth", "showAdjacent", "markerHandler", "initialView", "hoveredItem"], outputs: ["hoveredItemChange", "dayClick"] }, { kind: "directive", type: TuiDropdownSheet, selector: "[tuiDropdownSheet]", inputs: ["tuiDropdownSheet"] }] });
62
76
  }
63
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EzUIDateInput, decorators: [{
64
78
  type: Component,
65
79
  args: [{ selector: 'ezui-dateinput', imports: [
66
80
  FormsModule,
67
81
  TuiInput,
68
- TuiInputDate
82
+ TuiInputDate,
83
+ TuiDropdownSheet
69
84
  ], template: `
70
- <tui-textfield [tuiTextfieldSize]="size" [iconStart]="icon">
85
+ <tui-textfield [tuiTextfieldSize]="size" [iconStart]="icon" tuiDropdownSheet>
71
86
  @if(label){
72
87
  <label tuiLabel>{{label}}</label>
73
88
  }
74
- <input tuiInputDate [(ngModel)]="internalValue" (ngModelChange)="updateValue()" [disabled]="disabled" [min]="min ? TuiDay.fromLocalNativeDate(min) : null" [max]="max ? TuiDay.fromLocalNativeDate(max) : null"/>
89
+ <input tuiInputDate [(ngModel)]="internalValue" (ngModelChange)="updateValue()" [disabled]="disabled" [min]="toTuiDate(min)" [max]="toTuiDate(max)"/>
75
90
  <tui-calendar *tuiDropdown />
76
91
  </tui-textfield>
77
92
  ` }]
@@ -93,6 +108,186 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
93
108
  type: Output
94
109
  }] } });
95
110
 
111
+ class EzUIDateTimeInput {
112
+ icon = '';
113
+ label = '';
114
+ size = 'm';
115
+ disabled = false;
116
+ min = null;
117
+ max = null;
118
+ TuiDay = TuiDay;
119
+ TuiTime = TuiTime;
120
+ showDate = signal(true, /* @ts-ignore */
121
+ ...(ngDevMode ? [{ debugName: "showDate" }] : /* istanbul ignore next */ []));
122
+ value = new Date();
123
+ valueChange = new EventEmitter();
124
+ internalValue = signal(null, /* @ts-ignore */
125
+ ...(ngDevMode ? [{ debugName: "internalValue" }] : /* istanbul ignore next */ []));
126
+ ngOnChanges(changes) {
127
+ if (changes['value'] && changes['value'].currentValue != changes['value'].previousValue) {
128
+ this.value = changes['value'].currentValue;
129
+ this.internalValue.set(this.toTuiDateTime(this.value));
130
+ const internal = this.internalValue();
131
+ if (!internal || !internal[1])
132
+ this.showDate.set(true);
133
+ }
134
+ }
135
+ updateValue() {
136
+ if (this.internalValue) {
137
+ let internal = this.internalValue();
138
+ if (internal) {
139
+ if (!internal[1]) {
140
+ internal[1] = new TuiTime(0, 0);
141
+ this.internalValue.set(internal);
142
+ }
143
+ this.value = this.fromTuiDateTime(this.internalValue());
144
+ }
145
+ else {
146
+ this.value = null;
147
+ }
148
+ this.valueChange.emit(this.value);
149
+ }
150
+ }
151
+ toTuiDateTime(date) {
152
+ if (date)
153
+ return [TuiDay.fromUtcNativeDate(date), TuiTime.fromLocalNativeDate(date)];
154
+ return null;
155
+ }
156
+ fromTuiDateTime(date) {
157
+ if (date) {
158
+ let value = date[0].toUtcNativeDate();
159
+ const { hours = 0, minutes = 0 } = date?.[1] ?? {};
160
+ value.setHours(hours, minutes);
161
+ return value;
162
+ }
163
+ return null;
164
+ }
165
+ setHours(value) {
166
+ let internal = this.internalValue();
167
+ if (internal && internal[1]) {
168
+ if (value > 23)
169
+ value = 0;
170
+ if (value < 0)
171
+ value = 23;
172
+ internal[1] = new TuiTime(value, internal[1].minutes);
173
+ this.internalValue.set(internal);
174
+ this.updateValue();
175
+ }
176
+ }
177
+ setMinutes(value) {
178
+ let internal = this.internalValue();
179
+ if (internal && internal[1]) {
180
+ if (value > 59)
181
+ value = 0;
182
+ if (value < 0)
183
+ value = 59;
184
+ internal[1] = new TuiTime(internal[1].hours, value);
185
+ this.internalValue.set(internal);
186
+ this.updateValue();
187
+ }
188
+ }
189
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EzUIDateTimeInput, deps: [], target: i0.ɵɵFactoryTarget.Component });
190
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: EzUIDateTimeInput, isStandalone: true, selector: "ezui-datetimeinput", inputs: { icon: "icon", label: "label", size: "size", disabled: "disabled", min: "min", max: "max", value: "value" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: `
191
+ <tui-textfield [tuiTextfieldSize]="size" [iconStart]="icon" tuiDropdownSheet>>
192
+ @if(label){
193
+ <label tuiLabel>{{label}}</label>
194
+ }
195
+ <input tuiInputDateTime [(ngModel)]="internalValue" (ngModelChange)="updateValue()" [disabled]="disabled" [min]="toTuiDateTime(min)" [max]="toTuiDateTime(max)"/>
196
+ <section *tuiDropdown class="datetime-dropdown">
197
+ @let internal = internalValue();
198
+ @if(showDate()){
199
+ @if(internal && internal[1]){
200
+ <button tuiButton iconStart="clock" (click)="showDate.set(false)" size="s">Set Time</button>
201
+ }
202
+
203
+ <tui-calendar/>
204
+ }
205
+ @else {
206
+ <button tuiButton iconStart="calendar" (click)="showDate.set(true)" size="s">Set Date</button>
207
+
208
+ @if(internal && internal[1]){
209
+ @let time = internal[1];
210
+ <div class="timeselector">
211
+ <div class="selector">
212
+ <button tuiButton (click)="setHours(time.hours + 1)" iconStart="plus" size="l"></button>
213
+ <span>{{time.hours}}</span>
214
+ <button tuiButton (click)="setHours(time.hours - 1)" iconStart="minus" size="l"></button>
215
+ </div>
216
+ <div class="selector">
217
+ <button tuiButton (click)="setMinutes(time.minutes + 1)" iconStart="plus" size="l"></button>
218
+ <span>{{time.minutes}}</span>
219
+ <button tuiButton (click)="setMinutes(time.minutes - 1)" iconStart="minus" size="l"></button>
220
+ </div>
221
+ </div>
222
+ }
223
+ }
224
+ </section>
225
+ </tui-textfield>
226
+ `, isInline: true, styles: [".datetime-dropdown{display:flex;flex-direction:column}.datetime-dropdown .timeselector{inline-size:12rem;display:flex;gap:10px;margin-top:10px;align-self:center}.datetime-dropdown .timeselector .selector{display:flex;flex-direction:column;align-self:center;width:100%}.datetime-dropdown .timeselector .selector span{text-align:center;font-size:40px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.TuiLabel, selector: "label[tuiLabel]" }, { kind: "component", type: i3.TuiTextfieldComponent, selector: "tui-textfield:not([multi])", inputs: ["content", "filler"] }, { kind: "directive", type: i3.TuiTextfieldOptionsDirective, selector: "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", inputs: ["tuiTextfieldAppearance", "tuiTextfieldSize", "tuiTextfieldCleaner"] }, { kind: "directive", type: i4.TuiDropdownContent, selector: "ng-template[tuiDropdown]" }, { kind: "directive", type: i4$1.TuiInputDateTimeDirective, selector: "input[tuiInputDateTime]", inputs: ["timeMode", "min", "max"] }, { kind: "component", type: i6.TuiCalendar, selector: "tui-calendar:not([new])", inputs: ["minViewedMonth", "maxViewedMonth", "showAdjacent", "markerHandler", "initialView", "hoveredItem"], outputs: ["hoveredItemChange", "dayClick"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiDropdownSheet, selector: "[tuiDropdownSheet]", inputs: ["tuiDropdownSheet"] }] });
227
+ }
228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EzUIDateTimeInput, decorators: [{
229
+ type: Component,
230
+ args: [{ selector: 'ezui-datetimeinput', imports: [
231
+ FormsModule,
232
+ TuiInput,
233
+ TuiInputDateTime,
234
+ TuiButton,
235
+ TuiDropdownSheet
236
+ ], template: `
237
+ <tui-textfield [tuiTextfieldSize]="size" [iconStart]="icon" tuiDropdownSheet>>
238
+ @if(label){
239
+ <label tuiLabel>{{label}}</label>
240
+ }
241
+ <input tuiInputDateTime [(ngModel)]="internalValue" (ngModelChange)="updateValue()" [disabled]="disabled" [min]="toTuiDateTime(min)" [max]="toTuiDateTime(max)"/>
242
+ <section *tuiDropdown class="datetime-dropdown">
243
+ @let internal = internalValue();
244
+ @if(showDate()){
245
+ @if(internal && internal[1]){
246
+ <button tuiButton iconStart="clock" (click)="showDate.set(false)" size="s">Set Time</button>
247
+ }
248
+
249
+ <tui-calendar/>
250
+ }
251
+ @else {
252
+ <button tuiButton iconStart="calendar" (click)="showDate.set(true)" size="s">Set Date</button>
253
+
254
+ @if(internal && internal[1]){
255
+ @let time = internal[1];
256
+ <div class="timeselector">
257
+ <div class="selector">
258
+ <button tuiButton (click)="setHours(time.hours + 1)" iconStart="plus" size="l"></button>
259
+ <span>{{time.hours}}</span>
260
+ <button tuiButton (click)="setHours(time.hours - 1)" iconStart="minus" size="l"></button>
261
+ </div>
262
+ <div class="selector">
263
+ <button tuiButton (click)="setMinutes(time.minutes + 1)" iconStart="plus" size="l"></button>
264
+ <span>{{time.minutes}}</span>
265
+ <button tuiButton (click)="setMinutes(time.minutes - 1)" iconStart="minus" size="l"></button>
266
+ </div>
267
+ </div>
268
+ }
269
+ }
270
+ </section>
271
+ </tui-textfield>
272
+ `, styles: [".datetime-dropdown{display:flex;flex-direction:column}.datetime-dropdown .timeselector{inline-size:12rem;display:flex;gap:10px;margin-top:10px;align-self:center}.datetime-dropdown .timeselector .selector{display:flex;flex-direction:column;align-self:center;width:100%}.datetime-dropdown .timeselector .selector span{text-align:center;font-size:40px}\n"] }]
273
+ }], propDecorators: { icon: [{
274
+ type: Input
275
+ }], label: [{
276
+ type: Input
277
+ }], size: [{
278
+ type: Input
279
+ }], disabled: [{
280
+ type: Input
281
+ }], min: [{
282
+ type: Input
283
+ }], max: [{
284
+ type: Input
285
+ }], value: [{
286
+ type: Input
287
+ }], valueChange: [{
288
+ type: Output
289
+ }] } });
290
+
96
291
  class EzUIFileInput {
97
292
  files = signal([], /* @ts-ignore */
98
293
  ...(ngDevMode ? [{ debugName: "files" }] : /* istanbul ignore next */ []));
@@ -165,6 +360,1911 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
165
360
  }]
166
361
  }] });
167
362
 
363
+ const lucideicons = [
364
+ 'a-arrow-down',
365
+ 'a-arrow-up',
366
+ 'a-large-small',
367
+ 'accessibility',
368
+ 'activity',
369
+ 'ad',
370
+ 'air-vent',
371
+ 'airplay',
372
+ 'alarm-clock-check',
373
+ 'alarm-clock-minus',
374
+ 'alarm-clock-off',
375
+ 'alarm-clock-plus',
376
+ 'alarm-clock',
377
+ 'alarm-smoke',
378
+ 'album',
379
+ 'align-center-horizontal',
380
+ 'align-center-vertical',
381
+ 'align-end-horizontal',
382
+ 'align-end-vertical',
383
+ 'align-horizontal-distribute-center',
384
+ 'align-horizontal-distribute-end',
385
+ 'align-horizontal-distribute-start',
386
+ 'align-horizontal-justify-center',
387
+ 'align-horizontal-justify-end',
388
+ 'align-horizontal-justify-start',
389
+ 'align-horizontal-space-around',
390
+ 'align-horizontal-space-between',
391
+ 'align-start-horizontal',
392
+ 'align-start-vertical',
393
+ 'align-vertical-distribute-center',
394
+ 'align-vertical-distribute-end',
395
+ 'align-vertical-distribute-start',
396
+ 'align-vertical-justify-center',
397
+ 'align-vertical-justify-end',
398
+ 'align-vertical-justify-start',
399
+ 'align-vertical-space-around',
400
+ 'align-vertical-space-between',
401
+ 'ambulance',
402
+ 'ampersand',
403
+ 'ampersands',
404
+ 'amphora',
405
+ 'anchor',
406
+ 'angry',
407
+ 'annoyed',
408
+ 'antenna',
409
+ 'anvil',
410
+ 'aperture',
411
+ 'app-window-mac',
412
+ 'app-window',
413
+ 'apple',
414
+ 'archive-restore',
415
+ 'archive-x',
416
+ 'archive',
417
+ 'armchair',
418
+ 'arrow-big-down-dash',
419
+ 'arrow-big-down',
420
+ 'arrow-big-left-dash',
421
+ 'arrow-big-left',
422
+ 'arrow-big-right-dash',
423
+ 'arrow-big-right',
424
+ 'arrow-big-up-dash',
425
+ 'arrow-big-up',
426
+ 'arrow-down-0-1',
427
+ 'arrow-down-1-0',
428
+ 'arrow-down-a-z',
429
+ 'arrow-down-from-line',
430
+ 'arrow-down-left',
431
+ 'arrow-down-narrow-wide',
432
+ 'arrow-down-right',
433
+ 'arrow-down-to-dot',
434
+ 'arrow-down-to-line',
435
+ 'arrow-down-up',
436
+ 'arrow-down-wide-narrow',
437
+ 'arrow-down-z-a',
438
+ 'arrow-down',
439
+ 'arrow-left-from-line',
440
+ 'arrow-left-right',
441
+ 'arrow-left-to-line',
442
+ 'arrow-left',
443
+ 'arrow-right-from-line',
444
+ 'arrow-right-left',
445
+ 'arrow-right-to-line',
446
+ 'arrow-right',
447
+ 'arrow-up-0-1',
448
+ 'arrow-up-1-0',
449
+ 'arrow-up-a-z',
450
+ 'arrow-up-down',
451
+ 'arrow-up-from-dot',
452
+ 'arrow-up-from-line',
453
+ 'arrow-up-left',
454
+ 'arrow-up-narrow-wide',
455
+ 'arrow-up-right',
456
+ 'arrow-up-to-line',
457
+ 'arrow-up-wide-narrow',
458
+ 'arrow-up-z-a',
459
+ 'arrow-up',
460
+ 'arrows-up-from-line',
461
+ 'asterisk',
462
+ 'astroid',
463
+ 'at-sign',
464
+ 'atom',
465
+ 'audio-lines',
466
+ 'audio-waveform',
467
+ 'award',
468
+ 'axe',
469
+ 'axis-3d',
470
+ 'baby',
471
+ 'backpack',
472
+ 'badge-alert',
473
+ 'badge-cent',
474
+ 'badge-check',
475
+ 'badge-dollar-sign',
476
+ 'badge-euro',
477
+ 'badge-indian-rupee',
478
+ 'badge-info',
479
+ 'badge-japanese-yen',
480
+ 'badge-minus',
481
+ 'badge-percent',
482
+ 'badge-plus',
483
+ 'badge-pound-sterling',
484
+ 'badge-question-mark',
485
+ 'badge-russian-ruble',
486
+ 'badge-swiss-franc',
487
+ 'badge-turkish-lira',
488
+ 'badge-x',
489
+ 'badge',
490
+ 'baggage-claim',
491
+ 'balloon',
492
+ 'ban',
493
+ 'banana',
494
+ 'bandage',
495
+ 'banknote-arrow-down',
496
+ 'banknote-arrow-up',
497
+ 'banknote-check',
498
+ 'banknote-x',
499
+ 'banknote',
500
+ 'barcode',
501
+ 'barrel',
502
+ 'baseline',
503
+ 'bath',
504
+ 'battery-charging',
505
+ 'battery-full',
506
+ 'battery-low',
507
+ 'battery-medium',
508
+ 'battery-plus',
509
+ 'battery-warning',
510
+ 'battery',
511
+ 'beaker',
512
+ 'bean-off',
513
+ 'bean',
514
+ 'bed-double',
515
+ 'bed-single',
516
+ 'bed',
517
+ 'beef-off',
518
+ 'beef',
519
+ 'beer-off',
520
+ 'beer',
521
+ 'bell-check',
522
+ 'bell-dot',
523
+ 'bell-electric',
524
+ 'bell-minus',
525
+ 'bell-off',
526
+ 'bell-plus',
527
+ 'bell-ring',
528
+ 'bell',
529
+ 'between-horizontal-end',
530
+ 'between-horizontal-start',
531
+ 'between-vertical-end',
532
+ 'between-vertical-start',
533
+ 'biceps-flexed',
534
+ 'bike',
535
+ 'binary',
536
+ 'binoculars',
537
+ 'biohazard',
538
+ 'bird',
539
+ 'birdhouse',
540
+ 'bitcoin',
541
+ 'blend',
542
+ 'blender',
543
+ 'blinds',
544
+ 'blocks',
545
+ 'bluetooth-connected',
546
+ 'bluetooth-off',
547
+ 'bluetooth-searching',
548
+ 'bluetooth',
549
+ 'bold',
550
+ 'bolt',
551
+ 'bomb',
552
+ 'bone-fracture',
553
+ 'bone',
554
+ 'book-a',
555
+ 'book-alert',
556
+ 'book-audio',
557
+ 'book-check',
558
+ 'book-copy',
559
+ 'book-dashed',
560
+ 'book-down',
561
+ 'book-headphones',
562
+ 'book-heart',
563
+ 'book-image',
564
+ 'book-key',
565
+ 'book-lock',
566
+ 'book-marked',
567
+ 'book-minus',
568
+ 'book-open-check',
569
+ 'book-open-text',
570
+ 'book-open',
571
+ 'book-plus',
572
+ 'book-search',
573
+ 'book-text',
574
+ 'book-type',
575
+ 'book-up-2',
576
+ 'book-up',
577
+ 'book-user',
578
+ 'book-x',
579
+ 'book',
580
+ 'bookmark-check',
581
+ 'bookmark-minus',
582
+ 'bookmark-off',
583
+ 'bookmark-plus',
584
+ 'bookmark-x',
585
+ 'bookmark',
586
+ 'boom-box',
587
+ 'bot-message-square',
588
+ 'bot-off',
589
+ 'bot',
590
+ 'bottle-wine',
591
+ 'bow-arrow',
592
+ 'box',
593
+ 'boxes',
594
+ 'braces',
595
+ 'brackets',
596
+ 'brain-circuit',
597
+ 'brain-cog',
598
+ 'brain',
599
+ 'brick-wall-fire',
600
+ 'brick-wall-shield',
601
+ 'brick-wall',
602
+ 'briefcase-business',
603
+ 'briefcase-conveyor-belt',
604
+ 'briefcase-medical',
605
+ 'briefcase',
606
+ 'bring-to-front',
607
+ 'broccoli',
608
+ 'brush-cleaning',
609
+ 'brush',
610
+ 'bubbles',
611
+ 'bug-off',
612
+ 'bug-play',
613
+ 'bug',
614
+ 'building-2',
615
+ 'building',
616
+ 'bus-front',
617
+ 'bus',
618
+ 'cable-car',
619
+ 'cable',
620
+ 'cake-slice',
621
+ 'cake',
622
+ 'calculator',
623
+ 'calendar-1',
624
+ 'calendar-arrow-down',
625
+ 'calendar-arrow-up',
626
+ 'calendar-check-2',
627
+ 'calendar-check',
628
+ 'calendar-clock',
629
+ 'calendar-cog',
630
+ 'calendar-days',
631
+ 'calendar-fold',
632
+ 'calendar-heart',
633
+ 'calendar-minus-2',
634
+ 'calendar-minus',
635
+ 'calendar-off',
636
+ 'calendar-plus-2',
637
+ 'calendar-plus',
638
+ 'calendar-range',
639
+ 'calendar-search',
640
+ 'calendar-sync',
641
+ 'calendar-x-2',
642
+ 'calendar-x',
643
+ 'calendar',
644
+ 'calendars',
645
+ 'camera-off',
646
+ 'camera',
647
+ 'candy-cane',
648
+ 'candy-off',
649
+ 'candy',
650
+ 'cannabis-off',
651
+ 'cannabis',
652
+ 'captions-off',
653
+ 'captions',
654
+ 'car-front',
655
+ 'car-taxi-front',
656
+ 'car',
657
+ 'caravan',
658
+ 'card-sim',
659
+ 'carrot',
660
+ 'case-lower',
661
+ 'case-sensitive',
662
+ 'case-upper',
663
+ 'cassette-tape',
664
+ 'cast',
665
+ 'castle',
666
+ 'cat',
667
+ 'cctv-off',
668
+ 'cctv',
669
+ 'chart-area',
670
+ 'chart-bar-big',
671
+ 'chart-bar-decreasing',
672
+ 'chart-bar-increasing',
673
+ 'chart-bar-stacked',
674
+ 'chart-bar',
675
+ 'chart-candlestick',
676
+ 'chart-column-big',
677
+ 'chart-column-decreasing',
678
+ 'chart-column-increasing',
679
+ 'chart-column-stacked',
680
+ 'chart-column',
681
+ 'chart-gantt',
682
+ 'chart-line',
683
+ 'chart-network',
684
+ 'chart-no-axes-column-decreasing',
685
+ 'chart-no-axes-column-increasing',
686
+ 'chart-no-axes-column',
687
+ 'chart-no-axes-combined',
688
+ 'chart-no-axes-gantt',
689
+ 'chart-pie',
690
+ 'chart-scatter',
691
+ 'chart-spline',
692
+ 'check-check',
693
+ 'check-line',
694
+ 'check',
695
+ 'chef-hat',
696
+ 'cherry',
697
+ 'chess-bishop',
698
+ 'chess-king',
699
+ 'chess-knight',
700
+ 'chess-pawn',
701
+ 'chess-queen',
702
+ 'chess-rook',
703
+ 'chevron-down',
704
+ 'chevron-first',
705
+ 'chevron-last',
706
+ 'chevron-left',
707
+ 'chevron-right',
708
+ 'chevron-up',
709
+ 'chevrons-down-up',
710
+ 'chevrons-down',
711
+ 'chevrons-left-right-ellipsis',
712
+ 'chevrons-left-right',
713
+ 'chevrons-left',
714
+ 'chevrons-right-left',
715
+ 'chevrons-right',
716
+ 'chevrons-up-down',
717
+ 'chevrons-up',
718
+ 'church',
719
+ 'cigarette-off',
720
+ 'cigarette',
721
+ 'circle-alert',
722
+ 'circle-arrow-down',
723
+ 'circle-arrow-left',
724
+ 'circle-arrow-out-down-left',
725
+ 'circle-arrow-out-down-right',
726
+ 'circle-arrow-out-up-left',
727
+ 'circle-arrow-out-up-right',
728
+ 'circle-arrow-right',
729
+ 'circle-arrow-up',
730
+ 'circle-check-big',
731
+ 'circle-check',
732
+ 'circle-chevron-down',
733
+ 'circle-chevron-left',
734
+ 'circle-chevron-right',
735
+ 'circle-chevron-up',
736
+ 'circle-dashed',
737
+ 'circle-divide',
738
+ 'circle-dollar-sign',
739
+ 'circle-dot-dashed',
740
+ 'circle-dot',
741
+ 'circle-ellipsis',
742
+ 'circle-equal',
743
+ 'circle-euro',
744
+ 'circle-fading-arrow-up',
745
+ 'circle-fading-plus',
746
+ 'circle-gauge',
747
+ 'circle-minus',
748
+ 'circle-off',
749
+ 'circle-parking-off',
750
+ 'circle-parking',
751
+ 'circle-pause',
752
+ 'circle-percent',
753
+ 'circle-pile',
754
+ 'circle-play',
755
+ 'circle-plus',
756
+ 'circle-pound-sterling',
757
+ 'circle-power',
758
+ 'circle-question-mark',
759
+ 'circle-slash-2',
760
+ 'circle-slash',
761
+ 'circle-small',
762
+ 'circle-star',
763
+ 'circle-stop',
764
+ 'circle-user-round',
765
+ 'circle-user',
766
+ 'circle-x',
767
+ 'circle',
768
+ 'circuit-board',
769
+ 'citrus',
770
+ 'clapperboard',
771
+ 'clipboard-check',
772
+ 'clipboard-clock',
773
+ 'clipboard-copy',
774
+ 'clipboard-list',
775
+ 'clipboard-minus',
776
+ 'clipboard-paste',
777
+ 'clipboard-pen-line',
778
+ 'clipboard-pen',
779
+ 'clipboard-plus',
780
+ 'clipboard-type',
781
+ 'clipboard-x',
782
+ 'clipboard',
783
+ 'clock-1',
784
+ 'clock-10',
785
+ 'clock-11',
786
+ 'clock-12',
787
+ 'clock-2',
788
+ 'clock-3',
789
+ 'clock-4',
790
+ 'clock-5',
791
+ 'clock-6',
792
+ 'clock-7',
793
+ 'clock-8',
794
+ 'clock-9',
795
+ 'clock-alert',
796
+ 'clock-arrow-down',
797
+ 'clock-arrow-left',
798
+ 'clock-arrow-right',
799
+ 'clock-arrow-up',
800
+ 'clock-check',
801
+ 'clock-fading',
802
+ 'clock-plus',
803
+ 'clock',
804
+ 'closed-caption',
805
+ 'cloud-alert',
806
+ 'cloud-backup',
807
+ 'cloud-check',
808
+ 'cloud-cog',
809
+ 'cloud-download',
810
+ 'cloud-drizzle',
811
+ 'cloud-fog',
812
+ 'cloud-hail',
813
+ 'cloud-lightning',
814
+ 'cloud-moon-rain',
815
+ 'cloud-moon',
816
+ 'cloud-off',
817
+ 'cloud-rain-wind',
818
+ 'cloud-rain',
819
+ 'cloud-snow',
820
+ 'cloud-sun-rain',
821
+ 'cloud-sun',
822
+ 'cloud-sync',
823
+ 'cloud-upload',
824
+ 'cloud',
825
+ 'cloudy',
826
+ 'clover',
827
+ 'club',
828
+ 'code-xml',
829
+ 'code',
830
+ 'coffee',
831
+ 'cog',
832
+ 'coins',
833
+ 'columns-2',
834
+ 'columns-3-cog',
835
+ 'columns-3',
836
+ 'columns-4',
837
+ 'combine',
838
+ 'command',
839
+ 'compass',
840
+ 'component',
841
+ 'computer',
842
+ 'concierge-bell',
843
+ 'cone',
844
+ 'construction',
845
+ 'contact-round',
846
+ 'contact',
847
+ 'container',
848
+ 'contrast',
849
+ 'cookie',
850
+ 'cooking-pot',
851
+ 'copy-check',
852
+ 'copy-minus',
853
+ 'copy-plus',
854
+ 'copy-slash',
855
+ 'copy-x',
856
+ 'copy',
857
+ 'copyleft',
858
+ 'copyright',
859
+ 'corner-down-left',
860
+ 'corner-down-right',
861
+ 'corner-left-down',
862
+ 'corner-left-up',
863
+ 'corner-right-down',
864
+ 'corner-right-up',
865
+ 'corner-up-left',
866
+ 'corner-up-right',
867
+ 'cpu',
868
+ 'creative-commons',
869
+ 'credit-card',
870
+ 'croissant',
871
+ 'crop',
872
+ 'cross',
873
+ 'crosshair',
874
+ 'crown',
875
+ 'cuboid',
876
+ 'cup-soda',
877
+ 'currency',
878
+ 'cylinder',
879
+ 'dam',
880
+ 'database-arrow-down',
881
+ 'database-arrow-up',
882
+ 'database-backup',
883
+ 'database-check',
884
+ 'database-minus',
885
+ 'database-plus',
886
+ 'database-search',
887
+ 'database-x',
888
+ 'database-zap',
889
+ 'database',
890
+ 'decimals-arrow-left',
891
+ 'decimals-arrow-right',
892
+ 'delete',
893
+ 'dessert',
894
+ 'diameter',
895
+ 'diamond-minus',
896
+ 'diamond-percent',
897
+ 'diamond-plus',
898
+ 'diamond',
899
+ 'dice-1',
900
+ 'dice-2',
901
+ 'dice-3',
902
+ 'dice-4',
903
+ 'dice-5',
904
+ 'dice-6',
905
+ 'dices',
906
+ 'diff',
907
+ 'disc-2',
908
+ 'disc-3',
909
+ 'disc-album',
910
+ 'disc',
911
+ 'divide',
912
+ 'dna-off',
913
+ 'dna',
914
+ 'dock',
915
+ 'dog',
916
+ 'dollar-sign',
917
+ 'donut',
918
+ 'door-closed-locked',
919
+ 'door-closed',
920
+ 'door-open',
921
+ 'dot',
922
+ 'download',
923
+ 'drafting-compass',
924
+ 'drama',
925
+ 'drill',
926
+ 'drone',
927
+ 'droplet-off',
928
+ 'droplet',
929
+ 'droplets',
930
+ 'drum',
931
+ 'drumstick',
932
+ 'dumbbell',
933
+ 'ear-off',
934
+ 'ear',
935
+ 'earth-lock',
936
+ 'earth',
937
+ 'eclipse',
938
+ 'egg-fried',
939
+ 'egg-off',
940
+ 'egg',
941
+ 'ellipse',
942
+ 'ellipsis-vertical',
943
+ 'ellipsis',
944
+ 'equal-approximately',
945
+ 'equal-not',
946
+ 'equal',
947
+ 'eraser',
948
+ 'ethernet-port',
949
+ 'euro',
950
+ 'ev-charger',
951
+ 'expand',
952
+ 'external-link',
953
+ 'eye-closed',
954
+ 'eye-dashed',
955
+ 'eye-off',
956
+ 'eye',
957
+ 'factory',
958
+ 'fan',
959
+ 'fast-forward',
960
+ 'feather',
961
+ 'fence',
962
+ 'ferris-wheel',
963
+ 'file-archive',
964
+ 'file-axis-3d',
965
+ 'file-badge',
966
+ 'file-box',
967
+ 'file-braces-corner',
968
+ 'file-braces',
969
+ 'file-chart-column-increasing',
970
+ 'file-chart-column',
971
+ 'file-chart-line',
972
+ 'file-chart-pie',
973
+ 'file-check-corner',
974
+ 'file-check',
975
+ 'file-clock',
976
+ 'file-code-corner',
977
+ 'file-code',
978
+ 'file-cog',
979
+ 'file-diff',
980
+ 'file-digit',
981
+ 'file-down',
982
+ 'file-exclamation-point',
983
+ 'file-headphone',
984
+ 'file-heart',
985
+ 'file-image',
986
+ 'file-input',
987
+ 'file-key',
988
+ 'file-lock',
989
+ 'file-minus-corner',
990
+ 'file-minus',
991
+ 'file-music',
992
+ 'file-output',
993
+ 'file-pen-line',
994
+ 'file-pen',
995
+ 'file-play',
996
+ 'file-plus-corner',
997
+ 'file-plus',
998
+ 'file-question-mark',
999
+ 'file-scan',
1000
+ 'file-search-corner',
1001
+ 'file-search',
1002
+ 'file-signal',
1003
+ 'file-sliders',
1004
+ 'file-spreadsheet',
1005
+ 'file-stack',
1006
+ 'file-symlink',
1007
+ 'file-terminal',
1008
+ 'file-text',
1009
+ 'file-type-corner',
1010
+ 'file-type',
1011
+ 'file-up',
1012
+ 'file-user',
1013
+ 'file-video-camera',
1014
+ 'file-volume',
1015
+ 'file-x-corner',
1016
+ 'file-x',
1017
+ 'file',
1018
+ 'files',
1019
+ 'film',
1020
+ 'fingerprint-pattern',
1021
+ 'fire-extinguisher',
1022
+ 'fish-off',
1023
+ 'fish-symbol',
1024
+ 'fish',
1025
+ 'fishing-hook',
1026
+ 'fishing-rod',
1027
+ 'flag-off',
1028
+ 'flag-triangle-left',
1029
+ 'flag-triangle-right',
1030
+ 'flag',
1031
+ 'flame-kindling',
1032
+ 'flame',
1033
+ 'flashlight-off',
1034
+ 'flashlight',
1035
+ 'flask-conical-off',
1036
+ 'flask-conical',
1037
+ 'flask-round',
1038
+ 'flip-horizontal-2',
1039
+ 'flip-vertical-2',
1040
+ 'flower-2',
1041
+ 'flower',
1042
+ 'focus',
1043
+ 'fold-horizontal',
1044
+ 'fold-vertical',
1045
+ 'folder-archive',
1046
+ 'folder-bookmark',
1047
+ 'folder-check',
1048
+ 'folder-clock',
1049
+ 'folder-closed',
1050
+ 'folder-code',
1051
+ 'folder-cog',
1052
+ 'folder-dot',
1053
+ 'folder-down',
1054
+ 'folder-git-2',
1055
+ 'folder-git',
1056
+ 'folder-heart',
1057
+ 'folder-input',
1058
+ 'folder-kanban',
1059
+ 'folder-key',
1060
+ 'folder-lock',
1061
+ 'folder-minus',
1062
+ 'folder-open-dot',
1063
+ 'folder-open',
1064
+ 'folder-output',
1065
+ 'folder-pen',
1066
+ 'folder-plus',
1067
+ 'folder-root',
1068
+ 'folder-search-2',
1069
+ 'folder-search',
1070
+ 'folder-symlink',
1071
+ 'folder-sync',
1072
+ 'folder-tree',
1073
+ 'folder-up',
1074
+ 'folder-x',
1075
+ 'folder',
1076
+ 'folders',
1077
+ 'footprints',
1078
+ 'forklift',
1079
+ 'form',
1080
+ 'forward',
1081
+ 'frame',
1082
+ 'frown',
1083
+ 'fuel',
1084
+ 'fullscreen',
1085
+ 'funnel-plus',
1086
+ 'funnel-x',
1087
+ 'funnel',
1088
+ 'gallery-horizontal-end',
1089
+ 'gallery-horizontal',
1090
+ 'gallery-thumbnails',
1091
+ 'gallery-vertical-end',
1092
+ 'gallery-vertical',
1093
+ 'gamepad-2',
1094
+ 'gamepad-directional',
1095
+ 'gamepad',
1096
+ 'gauge',
1097
+ 'gavel',
1098
+ 'gem',
1099
+ 'georgian-lari',
1100
+ 'ghost',
1101
+ 'gift',
1102
+ 'git-branch-minus',
1103
+ 'git-branch-plus',
1104
+ 'git-branch',
1105
+ 'git-commit-horizontal',
1106
+ 'git-commit-vertical',
1107
+ 'git-compare-arrows',
1108
+ 'git-compare',
1109
+ 'git-fork',
1110
+ 'git-graph',
1111
+ 'git-merge-conflict',
1112
+ 'git-merge',
1113
+ 'git-pull-request-arrow',
1114
+ 'git-pull-request-closed',
1115
+ 'git-pull-request-create-arrow',
1116
+ 'git-pull-request-create',
1117
+ 'git-pull-request-draft',
1118
+ 'git-pull-request',
1119
+ 'glass-water',
1120
+ 'glasses',
1121
+ 'globe-check',
1122
+ 'globe-lock',
1123
+ 'globe-off',
1124
+ 'globe-x',
1125
+ 'globe',
1126
+ 'goal',
1127
+ 'gpu',
1128
+ 'graduation-cap',
1129
+ 'grape',
1130
+ 'grid-2x2-check',
1131
+ 'grid-2x2-plus',
1132
+ 'grid-2x2-x',
1133
+ 'grid-2x2',
1134
+ 'grid-3x2',
1135
+ 'grid-3x3',
1136
+ 'grip-horizontal',
1137
+ 'grip-vertical',
1138
+ 'grip',
1139
+ 'group',
1140
+ 'guitar',
1141
+ 'ham',
1142
+ 'hamburger',
1143
+ 'hammer',
1144
+ 'hand-coins',
1145
+ 'hand-fist',
1146
+ 'hand-grab',
1147
+ 'hand-heart',
1148
+ 'hand-helping',
1149
+ 'hand-metal',
1150
+ 'hand-platter',
1151
+ 'hand',
1152
+ 'handbag',
1153
+ 'handshake',
1154
+ 'hard-drive-download',
1155
+ 'hard-drive-upload',
1156
+ 'hard-drive',
1157
+ 'hard-hat',
1158
+ 'hash',
1159
+ 'hat-glasses',
1160
+ 'haze',
1161
+ 'hd',
1162
+ 'hdmi-port',
1163
+ 'heading-1',
1164
+ 'heading-2',
1165
+ 'heading-3',
1166
+ 'heading-4',
1167
+ 'heading-5',
1168
+ 'heading-6',
1169
+ 'heading',
1170
+ 'headphone-off',
1171
+ 'headphones',
1172
+ 'headset',
1173
+ 'heart-crack',
1174
+ 'heart-handshake',
1175
+ 'heart-minus',
1176
+ 'heart-off',
1177
+ 'heart-plus',
1178
+ 'heart-pulse',
1179
+ 'heart-x',
1180
+ 'heart',
1181
+ 'heater',
1182
+ 'helicopter',
1183
+ 'hexagon',
1184
+ 'highlighter',
1185
+ 'history',
1186
+ 'hop-off',
1187
+ 'hop',
1188
+ 'hospital',
1189
+ 'hotel',
1190
+ 'hourglass',
1191
+ 'house-heart',
1192
+ 'house-plug',
1193
+ 'house-plus',
1194
+ 'house-wifi',
1195
+ 'house',
1196
+ 'ice-cream-bowl',
1197
+ 'ice-cream-cone',
1198
+ 'id-card-lanyard',
1199
+ 'id-card',
1200
+ 'image-down',
1201
+ 'image-minus',
1202
+ 'image-off',
1203
+ 'image-play',
1204
+ 'image-plus',
1205
+ 'image-up',
1206
+ 'image-upscale',
1207
+ 'image',
1208
+ 'images',
1209
+ 'import',
1210
+ 'inbox',
1211
+ 'indian-rupee',
1212
+ 'infinity',
1213
+ 'info',
1214
+ 'inspection-panel',
1215
+ 'italic',
1216
+ 'iteration-ccw',
1217
+ 'iteration-cw',
1218
+ 'japanese-yen',
1219
+ 'joystick',
1220
+ 'kanban',
1221
+ 'kayak',
1222
+ 'key-round',
1223
+ 'key-square',
1224
+ 'key',
1225
+ 'keyboard-music',
1226
+ 'keyboard-off',
1227
+ 'keyboard',
1228
+ 'lamp-ceiling',
1229
+ 'lamp-desk',
1230
+ 'lamp-floor',
1231
+ 'lamp-wall-down',
1232
+ 'lamp-wall-up',
1233
+ 'lamp',
1234
+ 'land-plot',
1235
+ 'landmark',
1236
+ 'languages',
1237
+ 'laptop-minimal-check',
1238
+ 'laptop-minimal',
1239
+ 'laptop',
1240
+ 'lasso-select',
1241
+ 'lasso',
1242
+ 'laugh',
1243
+ 'layers-2',
1244
+ 'layers-minus',
1245
+ 'layers-plus',
1246
+ 'layers',
1247
+ 'layout-dashboard',
1248
+ 'layout-grid',
1249
+ 'layout-list',
1250
+ 'layout-panel-left',
1251
+ 'layout-panel-top',
1252
+ 'layout-template',
1253
+ 'leaf',
1254
+ 'leafy-green',
1255
+ 'lectern',
1256
+ 'lens-concave',
1257
+ 'lens-convex',
1258
+ 'library-big',
1259
+ 'library',
1260
+ 'life-buoy',
1261
+ 'ligature',
1262
+ 'lightbulb-off',
1263
+ 'lightbulb',
1264
+ 'line-dot-right-horizontal',
1265
+ 'line-squiggle',
1266
+ 'line-style',
1267
+ 'link-2-off',
1268
+ 'link-2',
1269
+ 'link',
1270
+ 'list-check',
1271
+ 'list-checks',
1272
+ 'list-chevrons-down-up',
1273
+ 'list-chevrons-up-down',
1274
+ 'list-collapse',
1275
+ 'list-end',
1276
+ 'list-filter-plus',
1277
+ 'list-filter',
1278
+ 'list-indent-decrease',
1279
+ 'list-indent-increase',
1280
+ 'list-minus',
1281
+ 'list-music',
1282
+ 'list-ordered',
1283
+ 'list-plus',
1284
+ 'list-restart',
1285
+ 'list-sort-ascending',
1286
+ 'list-sort-descending',
1287
+ 'list-start',
1288
+ 'list-todo',
1289
+ 'list-tree',
1290
+ 'list-video',
1291
+ 'list-x',
1292
+ 'list',
1293
+ 'loader-circle',
1294
+ 'loader-pinwheel',
1295
+ 'loader',
1296
+ 'locate-fixed',
1297
+ 'locate-off',
1298
+ 'locate',
1299
+ 'lock-keyhole-open',
1300
+ 'lock-keyhole',
1301
+ 'lock-open',
1302
+ 'lock',
1303
+ 'log-in',
1304
+ 'log-out',
1305
+ 'logs',
1306
+ 'lollipop',
1307
+ 'luggage',
1308
+ 'magnet',
1309
+ 'mail-check',
1310
+ 'mail-minus',
1311
+ 'mail-open',
1312
+ 'mail-plus',
1313
+ 'mail-question-mark',
1314
+ 'mail-search',
1315
+ 'mail-warning',
1316
+ 'mail-x',
1317
+ 'mail',
1318
+ 'mailbox',
1319
+ 'mails',
1320
+ 'map-minus',
1321
+ 'map-pin-check-inside',
1322
+ 'map-pin-check',
1323
+ 'map-pin-house',
1324
+ 'map-pin-minus-inside',
1325
+ 'map-pin-minus',
1326
+ 'map-pin-off',
1327
+ 'map-pin-pen',
1328
+ 'map-pin-plus-inside',
1329
+ 'map-pin-plus',
1330
+ 'map-pin-search',
1331
+ 'map-pin-x-inside',
1332
+ 'map-pin-x',
1333
+ 'map-pin',
1334
+ 'map-pinned',
1335
+ 'map-plus',
1336
+ 'map',
1337
+ 'mars-stroke',
1338
+ 'mars',
1339
+ 'martini',
1340
+ 'maximize-2',
1341
+ 'maximize',
1342
+ 'medal',
1343
+ 'megaphone-off',
1344
+ 'megaphone',
1345
+ 'meh',
1346
+ 'memory-stick',
1347
+ 'menu',
1348
+ 'merge',
1349
+ 'message-circle-check',
1350
+ 'message-circle-code',
1351
+ 'message-circle-dashed',
1352
+ 'message-circle-heart',
1353
+ 'message-circle-more',
1354
+ 'message-circle-off',
1355
+ 'message-circle-plus',
1356
+ 'message-circle-question-mark',
1357
+ 'message-circle-reply',
1358
+ 'message-circle-warning',
1359
+ 'message-circle-x',
1360
+ 'message-circle',
1361
+ 'message-square-check',
1362
+ 'message-square-code',
1363
+ 'message-square-dashed',
1364
+ 'message-square-diff',
1365
+ 'message-square-dot',
1366
+ 'message-square-heart',
1367
+ 'message-square-lock',
1368
+ 'message-square-more',
1369
+ 'message-square-off',
1370
+ 'message-square-plus',
1371
+ 'message-square-quote',
1372
+ 'message-square-reply',
1373
+ 'message-square-share',
1374
+ 'message-square-text',
1375
+ 'message-square-warning',
1376
+ 'message-square-x',
1377
+ 'message-square',
1378
+ 'messages-square',
1379
+ 'metronome',
1380
+ 'mic-off',
1381
+ 'mic-vocal',
1382
+ 'mic',
1383
+ 'microchip',
1384
+ 'microscope',
1385
+ 'microwave',
1386
+ 'milestone',
1387
+ 'milk-off',
1388
+ 'milk',
1389
+ 'minimize-2',
1390
+ 'minimize',
1391
+ 'minus',
1392
+ 'mirror-rectangular',
1393
+ 'mirror-round',
1394
+ 'monitor-check',
1395
+ 'monitor-cloud',
1396
+ 'monitor-cog',
1397
+ 'monitor-dot',
1398
+ 'monitor-down',
1399
+ 'monitor-off',
1400
+ 'monitor-pause',
1401
+ 'monitor-play',
1402
+ 'monitor-smartphone',
1403
+ 'monitor-speaker',
1404
+ 'monitor-stop',
1405
+ 'monitor-up',
1406
+ 'monitor-x',
1407
+ 'monitor',
1408
+ 'moon-star',
1409
+ 'moon',
1410
+ 'motorbike',
1411
+ 'mountain-snow',
1412
+ 'mountain',
1413
+ 'mouse-left',
1414
+ 'mouse-off',
1415
+ 'mouse-pointer-2-off',
1416
+ 'mouse-pointer-2',
1417
+ 'mouse-pointer-ban',
1418
+ 'mouse-pointer-click',
1419
+ 'mouse-pointer',
1420
+ 'mouse-right',
1421
+ 'mouse',
1422
+ 'move-3d',
1423
+ 'move-diagonal-2',
1424
+ 'move-diagonal',
1425
+ 'move-down-left',
1426
+ 'move-down-right',
1427
+ 'move-down',
1428
+ 'move-horizontal',
1429
+ 'move-left',
1430
+ 'move-right',
1431
+ 'move-up-left',
1432
+ 'move-up-right',
1433
+ 'move-up',
1434
+ 'move-vertical',
1435
+ 'move',
1436
+ 'music-2',
1437
+ 'music-3',
1438
+ 'music-4',
1439
+ 'music',
1440
+ 'navigation-2-off',
1441
+ 'navigation-2',
1442
+ 'navigation-off',
1443
+ 'navigation',
1444
+ 'network',
1445
+ 'newspaper',
1446
+ 'nfc',
1447
+ 'non-binary',
1448
+ 'notebook-pen',
1449
+ 'notebook-tabs',
1450
+ 'notebook-text',
1451
+ 'notebook',
1452
+ 'notepad-text-dashed',
1453
+ 'notepad-text',
1454
+ 'nut-off',
1455
+ 'nut',
1456
+ 'octagon-alert',
1457
+ 'octagon-minus',
1458
+ 'octagon-pause',
1459
+ 'octagon-x',
1460
+ 'octagon',
1461
+ 'omega',
1462
+ 'option',
1463
+ 'orbit',
1464
+ 'origami',
1465
+ 'package-2',
1466
+ 'package-check',
1467
+ 'package-minus',
1468
+ 'package-open',
1469
+ 'package-plus',
1470
+ 'package-search',
1471
+ 'package-x',
1472
+ 'package',
1473
+ 'paint-bucket',
1474
+ 'paint-roller',
1475
+ 'paintbrush-vertical',
1476
+ 'paintbrush',
1477
+ 'palette',
1478
+ 'panda',
1479
+ 'panel-bottom-close',
1480
+ 'panel-bottom-dashed',
1481
+ 'panel-bottom-open',
1482
+ 'panel-bottom',
1483
+ 'panel-left-close',
1484
+ 'panel-left-dashed',
1485
+ 'panel-left-open',
1486
+ 'panel-left-right-dashed',
1487
+ 'panel-left',
1488
+ 'panel-right-close',
1489
+ 'panel-right-dashed',
1490
+ 'panel-right-open',
1491
+ 'panel-right',
1492
+ 'panel-top-bottom-dashed',
1493
+ 'panel-top-close',
1494
+ 'panel-top-dashed',
1495
+ 'panel-top-open',
1496
+ 'panel-top',
1497
+ 'panels-left-bottom',
1498
+ 'panels-right-bottom',
1499
+ 'panels-top-left',
1500
+ 'paper-bag',
1501
+ 'paperclip',
1502
+ 'parasol',
1503
+ 'parentheses',
1504
+ 'parking-meter',
1505
+ 'party-popper',
1506
+ 'pause',
1507
+ 'paw-print',
1508
+ 'pc-case',
1509
+ 'pen-line',
1510
+ 'pen-off',
1511
+ 'pen-tool',
1512
+ 'pen',
1513
+ 'pencil-line',
1514
+ 'pencil-off',
1515
+ 'pencil-ruler',
1516
+ 'pencil-sparkles',
1517
+ 'pencil',
1518
+ 'pentagon',
1519
+ 'percent',
1520
+ 'person-standing',
1521
+ 'phi',
1522
+ 'philippine-peso',
1523
+ 'phone-call',
1524
+ 'phone-forwarded',
1525
+ 'phone-incoming',
1526
+ 'phone-missed',
1527
+ 'phone-off',
1528
+ 'phone-outgoing',
1529
+ 'phone',
1530
+ 'pi',
1531
+ 'piano',
1532
+ 'pickaxe',
1533
+ 'picture-in-picture-2',
1534
+ 'picture-in-picture',
1535
+ 'piggy-bank',
1536
+ 'pilcrow-left',
1537
+ 'pilcrow-right',
1538
+ 'pilcrow',
1539
+ 'pill-bottle',
1540
+ 'pill',
1541
+ 'pin-off',
1542
+ 'pin',
1543
+ 'pipette',
1544
+ 'pizza',
1545
+ 'plane-landing',
1546
+ 'plane-takeoff',
1547
+ 'plane',
1548
+ 'play-off',
1549
+ 'play',
1550
+ 'plug-2',
1551
+ 'plug-zap',
1552
+ 'plug',
1553
+ 'plus',
1554
+ 'pocket-knife',
1555
+ 'podcast',
1556
+ 'podium',
1557
+ 'pointer-off',
1558
+ 'pointer',
1559
+ 'popcorn',
1560
+ 'popsicle',
1561
+ 'pound-sterling',
1562
+ 'power-off',
1563
+ 'power',
1564
+ 'presentation',
1565
+ 'printer-check',
1566
+ 'printer-x',
1567
+ 'printer',
1568
+ 'projector',
1569
+ 'proportions',
1570
+ 'puzzle',
1571
+ 'pyramid',
1572
+ 'qr-code',
1573
+ 'quote',
1574
+ 'rabbit',
1575
+ 'radar',
1576
+ 'radiation',
1577
+ 'radical',
1578
+ 'radio-off',
1579
+ 'radio-receiver',
1580
+ 'radio-tower',
1581
+ 'radio',
1582
+ 'radius',
1583
+ 'rainbow',
1584
+ 'rat',
1585
+ 'ratio',
1586
+ 'receipt-cent',
1587
+ 'receipt-euro',
1588
+ 'receipt-indian-rupee',
1589
+ 'receipt-japanese-yen',
1590
+ 'receipt-pound-sterling',
1591
+ 'receipt-russian-ruble',
1592
+ 'receipt-swiss-franc',
1593
+ 'receipt-text',
1594
+ 'receipt-turkish-lira',
1595
+ 'receipt',
1596
+ 'rectangle-circle',
1597
+ 'rectangle-ellipsis',
1598
+ 'rectangle-goggles',
1599
+ 'rectangle-horizontal',
1600
+ 'rectangle-vertical',
1601
+ 'recycle',
1602
+ 'redo-2',
1603
+ 'redo-dot',
1604
+ 'redo',
1605
+ 'refresh-ccw-dot',
1606
+ 'refresh-ccw',
1607
+ 'refresh-cw-off',
1608
+ 'refresh-cw',
1609
+ 'refrigerator',
1610
+ 'regex',
1611
+ 'remove-formatting',
1612
+ 'repeat-1',
1613
+ 'repeat-2',
1614
+ 'repeat-off',
1615
+ 'repeat',
1616
+ 'replace-all',
1617
+ 'replace',
1618
+ 'reply-all',
1619
+ 'reply',
1620
+ 'rewind',
1621
+ 'ribbon',
1622
+ 'road',
1623
+ 'rocket',
1624
+ 'rocking-chair',
1625
+ 'roller-coaster',
1626
+ 'rose',
1627
+ 'rotate-3d',
1628
+ 'rotate-ccw-key',
1629
+ 'rotate-ccw-square',
1630
+ 'rotate-ccw',
1631
+ 'rotate-cw-square',
1632
+ 'rotate-cw',
1633
+ 'route-off',
1634
+ 'route',
1635
+ 'router',
1636
+ 'rows-2',
1637
+ 'rows-3',
1638
+ 'rows-4',
1639
+ 'rss',
1640
+ 'ruler-dimension-line',
1641
+ 'ruler',
1642
+ 'russian-ruble',
1643
+ 'sailboat',
1644
+ 'salad',
1645
+ 'sandwich',
1646
+ 'satellite-dish',
1647
+ 'satellite',
1648
+ 'saudi-riyal',
1649
+ 'save-all',
1650
+ 'save-check',
1651
+ 'save-off',
1652
+ 'save-pen',
1653
+ 'save-plus',
1654
+ 'save',
1655
+ 'scale-3d',
1656
+ 'scale',
1657
+ 'scaling',
1658
+ 'scan-barcode',
1659
+ 'scan-box',
1660
+ 'scan-eye',
1661
+ 'scan-face',
1662
+ 'scan-heart',
1663
+ 'scan-line',
1664
+ 'scan-qr-code',
1665
+ 'scan-search',
1666
+ 'scan-text',
1667
+ 'scan',
1668
+ 'school',
1669
+ 'scissors-line-dashed',
1670
+ 'scissors',
1671
+ 'scooter',
1672
+ 'screen-share-off',
1673
+ 'screen-share',
1674
+ 'scroll-text',
1675
+ 'scroll',
1676
+ 'search-alert',
1677
+ 'search-check',
1678
+ 'search-code',
1679
+ 'search-slash',
1680
+ 'search-x',
1681
+ 'search',
1682
+ 'section',
1683
+ 'send-horizontal',
1684
+ 'send-to-back',
1685
+ 'send',
1686
+ 'separator-horizontal',
1687
+ 'separator-vertical',
1688
+ 'server-cog',
1689
+ 'server-crash',
1690
+ 'server-off',
1691
+ 'server',
1692
+ 'settings-2',
1693
+ 'settings',
1694
+ 'shapes',
1695
+ 'share-2',
1696
+ 'share',
1697
+ 'sheet',
1698
+ 'shell',
1699
+ 'shelving-unit',
1700
+ 'shield-alert',
1701
+ 'shield-ban',
1702
+ 'shield-check',
1703
+ 'shield-cog-corner',
1704
+ 'shield-cog',
1705
+ 'shield-ellipsis',
1706
+ 'shield-half',
1707
+ 'shield-minus',
1708
+ 'shield-off',
1709
+ 'shield-plus',
1710
+ 'shield-question-mark',
1711
+ 'shield-user',
1712
+ 'shield-x',
1713
+ 'shield',
1714
+ 'ship-wheel',
1715
+ 'ship',
1716
+ 'shirt',
1717
+ 'shopping-bag',
1718
+ 'shopping-basket',
1719
+ 'shopping-cart',
1720
+ 'shovel',
1721
+ 'shower-head',
1722
+ 'shredder',
1723
+ 'shrimp',
1724
+ 'shrink',
1725
+ 'shrub',
1726
+ 'shuffle',
1727
+ 'sigma',
1728
+ 'signal-high',
1729
+ 'signal-low',
1730
+ 'signal-medium',
1731
+ 'signal-zero',
1732
+ 'signal',
1733
+ 'signature',
1734
+ 'signpost-big',
1735
+ 'signpost',
1736
+ 'siren',
1737
+ 'skip-back',
1738
+ 'skip-forward',
1739
+ 'skull',
1740
+ 'slash',
1741
+ 'slice',
1742
+ 'sliders-horizontal',
1743
+ 'sliders-vertical',
1744
+ 'smartphone-charging',
1745
+ 'smartphone-nfc',
1746
+ 'smartphone',
1747
+ 'smile-plus',
1748
+ 'smile',
1749
+ 'snail',
1750
+ 'snowflake',
1751
+ 'soap-dispenser-droplet',
1752
+ 'sofa',
1753
+ 'solar-panel',
1754
+ 'soup',
1755
+ 'space',
1756
+ 'spade',
1757
+ 'sparkle',
1758
+ 'sparkles',
1759
+ 'speaker',
1760
+ 'speech',
1761
+ 'spell-check-2',
1762
+ 'spell-check',
1763
+ 'spline-pointer',
1764
+ 'spline',
1765
+ 'split',
1766
+ 'spool',
1767
+ 'sport-shoe',
1768
+ 'spotlight',
1769
+ 'spray-can',
1770
+ 'sprout',
1771
+ 'square-activity',
1772
+ 'square-arrow-down-left',
1773
+ 'square-arrow-down-right',
1774
+ 'square-arrow-down',
1775
+ 'square-arrow-left',
1776
+ 'square-arrow-out-down-left',
1777
+ 'square-arrow-out-down-right',
1778
+ 'square-arrow-out-up-left',
1779
+ 'square-arrow-out-up-right',
1780
+ 'square-arrow-right-enter',
1781
+ 'square-arrow-right-exit',
1782
+ 'square-arrow-right',
1783
+ 'square-arrow-up-left',
1784
+ 'square-arrow-up-right',
1785
+ 'square-arrow-up',
1786
+ 'square-asterisk',
1787
+ 'square-bottom-dashed-scissors',
1788
+ 'square-centerline-dashed-horizontal',
1789
+ 'square-centerline-dashed-vertical',
1790
+ 'square-chart-gantt',
1791
+ 'square-check-big',
1792
+ 'square-check',
1793
+ 'square-chevron-down',
1794
+ 'square-chevron-left',
1795
+ 'square-chevron-right',
1796
+ 'square-chevron-up',
1797
+ 'square-code',
1798
+ 'square-dashed-bottom-code',
1799
+ 'square-dashed-bottom',
1800
+ 'square-dashed-kanban',
1801
+ 'square-dashed-mouse-pointer',
1802
+ 'square-dashed-text',
1803
+ 'square-dashed-top-solid',
1804
+ 'square-dashed',
1805
+ 'square-divide',
1806
+ 'square-dot',
1807
+ 'square-equal',
1808
+ 'square-function',
1809
+ 'square-kanban',
1810
+ 'square-library',
1811
+ 'square-m',
1812
+ 'square-menu',
1813
+ 'square-minus',
1814
+ 'square-mouse-pointer',
1815
+ 'square-parking-off',
1816
+ 'square-parking',
1817
+ 'square-pause',
1818
+ 'square-pen',
1819
+ 'square-percent',
1820
+ 'square-pi',
1821
+ 'square-pilcrow',
1822
+ 'square-play',
1823
+ 'square-plus',
1824
+ 'square-power',
1825
+ 'square-radical',
1826
+ 'square-round-corner',
1827
+ 'square-scissors',
1828
+ 'square-sigma',
1829
+ 'square-slash',
1830
+ 'square-split-horizontal',
1831
+ 'square-split-vertical',
1832
+ 'square-square',
1833
+ 'square-stack',
1834
+ 'square-star',
1835
+ 'square-stop',
1836
+ 'square-terminal',
1837
+ 'square-user-round',
1838
+ 'square-user',
1839
+ 'square-x',
1840
+ 'square',
1841
+ 'squares-exclude',
1842
+ 'squares-intersect',
1843
+ 'squares-subtract',
1844
+ 'squares-unite',
1845
+ 'squircle-dashed',
1846
+ 'squircle',
1847
+ 'squirrel',
1848
+ 'stamp',
1849
+ 'star-check',
1850
+ 'star-half',
1851
+ 'star-minus',
1852
+ 'star-off',
1853
+ 'star-plus',
1854
+ 'star-x',
1855
+ 'star',
1856
+ 'step-back',
1857
+ 'step-forward',
1858
+ 'stethoscope',
1859
+ 'sticker',
1860
+ 'sticky-note-check',
1861
+ 'sticky-note-minus',
1862
+ 'sticky-note-off',
1863
+ 'sticky-note-plus',
1864
+ 'sticky-note-x',
1865
+ 'sticky-note',
1866
+ 'sticky-notes',
1867
+ 'stone',
1868
+ 'store',
1869
+ 'stretch-horizontal',
1870
+ 'stretch-vertical',
1871
+ 'strikethrough',
1872
+ 'subscript',
1873
+ 'summary',
1874
+ 'sun-dim',
1875
+ 'sun-medium',
1876
+ 'sun-moon',
1877
+ 'sun-snow',
1878
+ 'sun',
1879
+ 'sunrise',
1880
+ 'sunset',
1881
+ 'superscript',
1882
+ 'swatch-book',
1883
+ 'swiss-franc',
1884
+ 'switch-camera',
1885
+ 'sword',
1886
+ 'swords',
1887
+ 'syringe',
1888
+ 'table-2',
1889
+ 'table-cells-merge',
1890
+ 'table-cells-split',
1891
+ 'table-columns-split',
1892
+ 'table-of-contents',
1893
+ 'table-properties',
1894
+ 'table-rows-split',
1895
+ 'table',
1896
+ 'tablet-smartphone',
1897
+ 'tablet',
1898
+ 'tablets',
1899
+ 'tag-plus',
1900
+ 'tag-x',
1901
+ 'tag',
1902
+ 'tags',
1903
+ 'tally-1',
1904
+ 'tally-2',
1905
+ 'tally-3',
1906
+ 'tally-4',
1907
+ 'tally-5',
1908
+ 'tangent',
1909
+ 'target',
1910
+ 'telescope',
1911
+ 'tent-tree',
1912
+ 'tent',
1913
+ 'terminal',
1914
+ 'test-tube-diagonal',
1915
+ 'test-tube',
1916
+ 'test-tubes',
1917
+ 'text-align-center',
1918
+ 'text-align-end',
1919
+ 'text-align-justify',
1920
+ 'text-align-start',
1921
+ 'text-cursor-input',
1922
+ 'text-cursor',
1923
+ 'text-initial',
1924
+ 'text-quote',
1925
+ 'text-search',
1926
+ 'text-wrap',
1927
+ 'theater',
1928
+ 'thermometer-snowflake',
1929
+ 'thermometer-sun',
1930
+ 'thermometer',
1931
+ 'thumbs-down',
1932
+ 'thumbs-up',
1933
+ 'ticket-check',
1934
+ 'ticket-minus',
1935
+ 'ticket-percent',
1936
+ 'ticket-plus',
1937
+ 'ticket-slash',
1938
+ 'ticket-x',
1939
+ 'ticket',
1940
+ 'tickets-plane',
1941
+ 'tickets',
1942
+ 'timeline',
1943
+ 'timer-off',
1944
+ 'timer-reset',
1945
+ 'timer',
1946
+ 'toggle-left',
1947
+ 'toggle-right',
1948
+ 'toilet',
1949
+ 'tool-case',
1950
+ 'toolbox',
1951
+ 'tornado',
1952
+ 'torus',
1953
+ 'touchpad-off',
1954
+ 'touchpad',
1955
+ 'towel-rack',
1956
+ 'tower-control',
1957
+ 'toy-brick',
1958
+ 'tractor',
1959
+ 'traffic-cone',
1960
+ 'train-front-tunnel',
1961
+ 'train-front',
1962
+ 'train-track',
1963
+ 'tram-front',
1964
+ 'transgender',
1965
+ 'trash-2',
1966
+ 'trash',
1967
+ 'tree-deciduous',
1968
+ 'tree-palm',
1969
+ 'tree-pine',
1970
+ 'trees',
1971
+ 'trending-down',
1972
+ 'trending-up-down',
1973
+ 'trending-up',
1974
+ 'triangle-alert',
1975
+ 'triangle-dashed',
1976
+ 'triangle-right',
1977
+ 'triangle',
1978
+ 'trophy',
1979
+ 'truck-electric',
1980
+ 'truck',
1981
+ 'turkish-lira',
1982
+ 'turntable',
1983
+ 'turtle',
1984
+ 'tv-minimal-play',
1985
+ 'tv-minimal',
1986
+ 'tv',
1987
+ 'type-outline',
1988
+ 'type',
1989
+ 'umbrella-off',
1990
+ 'umbrella',
1991
+ 'underline',
1992
+ 'undo-2',
1993
+ 'undo-dot',
1994
+ 'undo',
1995
+ 'unfold-horizontal',
1996
+ 'unfold-vertical',
1997
+ 'ungroup',
1998
+ 'university',
1999
+ 'unlink-2',
2000
+ 'unlink',
2001
+ 'unplug',
2002
+ 'upload',
2003
+ 'usb',
2004
+ 'user-check',
2005
+ 'user-cog',
2006
+ 'user-key',
2007
+ 'user-lock',
2008
+ 'user-minus',
2009
+ 'user-pen',
2010
+ 'user-plus',
2011
+ 'user-round-arrow-left',
2012
+ 'user-round-check',
2013
+ 'user-round-cog',
2014
+ 'user-round-key',
2015
+ 'user-round-minus',
2016
+ 'user-round-pen',
2017
+ 'user-round-plus',
2018
+ 'user-round-search',
2019
+ 'user-round-x',
2020
+ 'user-round',
2021
+ 'user-search',
2022
+ 'user-star',
2023
+ 'user-x',
2024
+ 'user',
2025
+ 'users-round',
2026
+ 'users',
2027
+ 'utensils-crossed',
2028
+ 'utensils',
2029
+ 'utility-pole',
2030
+ 'van',
2031
+ 'variable',
2032
+ 'vault',
2033
+ 'vector-square',
2034
+ 'vegan',
2035
+ 'venetian-mask',
2036
+ 'venus-and-mars',
2037
+ 'venus',
2038
+ 'vibrate-off',
2039
+ 'vibrate',
2040
+ 'video-off',
2041
+ 'video',
2042
+ 'videotape',
2043
+ 'view',
2044
+ 'voicemail',
2045
+ 'volleyball',
2046
+ 'volume-1',
2047
+ 'volume-2',
2048
+ 'volume-off',
2049
+ 'volume-x',
2050
+ 'volume',
2051
+ 'vote',
2052
+ 'wallet-cards',
2053
+ 'wallet-minimal',
2054
+ 'wallet',
2055
+ 'wallpaper',
2056
+ 'wand-sparkles',
2057
+ 'wand',
2058
+ 'warehouse',
2059
+ 'washing-machine',
2060
+ 'watch',
2061
+ 'waves-arrow-down',
2062
+ 'waves-arrow-up',
2063
+ 'waves-horizontal',
2064
+ 'waves-ladder',
2065
+ 'waves-vertical',
2066
+ 'waypoints',
2067
+ 'webcam-off',
2068
+ 'webcam',
2069
+ 'webhook-off',
2070
+ 'webhook',
2071
+ 'weight-tilde',
2072
+ 'weight',
2073
+ 'wheat-off',
2074
+ 'wheat',
2075
+ 'whole-word',
2076
+ 'wifi-cog',
2077
+ 'wifi-high',
2078
+ 'wifi-low',
2079
+ 'wifi-off',
2080
+ 'wifi-pen',
2081
+ 'wifi-sync',
2082
+ 'wifi-zero',
2083
+ 'wifi',
2084
+ 'wind-arrow-down',
2085
+ 'wind',
2086
+ 'wine-off',
2087
+ 'wine',
2088
+ 'workflow',
2089
+ 'worm',
2090
+ 'wrench-off',
2091
+ 'wrench',
2092
+ 'x-line-top',
2093
+ 'x',
2094
+ 'zap-off',
2095
+ 'zap',
2096
+ 'zodiac-aquarius',
2097
+ 'zodiac-aries',
2098
+ 'zodiac-cancer',
2099
+ 'zodiac-capricorn',
2100
+ 'zodiac-gemini',
2101
+ 'zodiac-leo',
2102
+ 'zodiac-libra',
2103
+ 'zodiac-ophiuchus',
2104
+ 'zodiac-pisces',
2105
+ 'zodiac-sagittarius',
2106
+ 'zodiac-scorpio',
2107
+ 'zodiac-taurus',
2108
+ 'zodiac-virgo',
2109
+ 'zoom-in',
2110
+ 'zoom-out',
2111
+ ];
2112
+
2113
+ class EzUITextInput {
2114
+ icon = '';
2115
+ label = '';
2116
+ size = 'm';
2117
+ disabled = false;
2118
+ value = "";
2119
+ valueChange = new EventEmitter();
2120
+ ngOnChanges(changes) {
2121
+ if (changes['value'] && changes['value'].currentValue != changes['value'].previousValue) {
2122
+ this.value = changes['value'].currentValue;
2123
+ }
2124
+ }
2125
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EzUITextInput, deps: [], target: i0.ɵɵFactoryTarget.Component });
2126
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: EzUITextInput, isStandalone: true, selector: "ezui-textinput", inputs: { icon: "icon", label: "label", size: "size", disabled: "disabled", value: "value" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: `
2127
+ <tui-textfield [tuiTextfieldSize]="size" [iconStart]="icon">
2128
+ @if(label){
2129
+ <label tuiLabel>{{label}}</label>
2130
+ }
2131
+ <input tuiInput [(ngModel)]="value" (ngModelChange)="valueChange.emit(value)" [disabled]="disabled"/>
2132
+ </tui-textfield>
2133
+ `, isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.TuiLabel, selector: "label[tuiLabel]" }, { kind: "component", type: i3.TuiTextfieldComponent, selector: "tui-textfield:not([multi])", inputs: ["content", "filler"] }, { kind: "directive", type: i3.TuiTextfieldOptionsDirective, selector: "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", inputs: ["tuiTextfieldAppearance", "tuiTextfieldSize", "tuiTextfieldCleaner"] }, { kind: "directive", type: i3$1.TuiInputDirective, selector: "input[tuiInput]", inputs: ["readOnly", "invalid", "focused", "state"] }] });
2134
+ }
2135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EzUITextInput, decorators: [{
2136
+ type: Component,
2137
+ args: [{ selector: 'ezui-textinput', imports: [
2138
+ FormsModule,
2139
+ CommonModule,
2140
+ TuiInput
2141
+ ], template: `
2142
+ <tui-textfield [tuiTextfieldSize]="size" [iconStart]="icon">
2143
+ @if(label){
2144
+ <label tuiLabel>{{label}}</label>
2145
+ }
2146
+ <input tuiInput [(ngModel)]="value" (ngModelChange)="valueChange.emit(value)" [disabled]="disabled"/>
2147
+ </tui-textfield>
2148
+ ` }]
2149
+ }], propDecorators: { icon: [{
2150
+ type: Input
2151
+ }], label: [{
2152
+ type: Input
2153
+ }], size: [{
2154
+ type: Input
2155
+ }], disabled: [{
2156
+ type: Input
2157
+ }], value: [{
2158
+ type: Input
2159
+ }], valueChange: [{
2160
+ type: Output
2161
+ }] } });
2162
+
2163
+ class EzUIIconSelector {
2164
+ currentOptions = [];
2165
+ disabled = false;
2166
+ size = 'm';
2167
+ open = signal(false, /* @ts-ignore */
2168
+ ...(ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []));
2169
+ selected = 'circle';
2170
+ selectedChange = new EventEmitter();
2171
+ lucideicons = lucideicons;
2172
+ constructor() {
2173
+ this.currentOptions = [...lucideicons];
2174
+ }
2175
+ ngOnChanges(changes) {
2176
+ if (changes['selected'] && changes['selected'].currentValue != changes['selected'].previousValue) {
2177
+ this.selected = changes['selected'].currentValue;
2178
+ }
2179
+ }
2180
+ doSearch(text) {
2181
+ if (text)
2182
+ this.currentOptions = [...lucideicons.filter((x) => x.indexOf(text) != -1)];
2183
+ else
2184
+ this.currentOptions = [...lucideicons];
2185
+ }
2186
+ setIcon(value) {
2187
+ this.selected = value;
2188
+ this.selectedChange.emit(this.selected);
2189
+ }
2190
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EzUIIconSelector, deps: [], target: i0.ɵɵFactoryTarget.Component });
2191
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: EzUIIconSelector, isStandalone: true, selector: "ezui-iconselector", inputs: { disabled: "disabled", size: "size", selected: "selected" }, outputs: { selectedChange: "selectedChange" }, usesOnChanges: true, ngImport: i0, template: `
2192
+ <button
2193
+ tuiButton
2194
+ [iconStart]="selected"
2195
+ [size]="size"
2196
+ [tuiAppearanceState]="open() ? 'active' : null"
2197
+ [tuiDropdown]="dropdown"
2198
+ [(tuiDropdownOpen)]="open"
2199
+ [disabled]="disabled"
2200
+ ></button>
2201
+
2202
+ <ng-template #dropdown let-close>
2203
+ <div class="dropdown-container">
2204
+ <ezui-textinput #sch icon="search" label="Search" size="s" (valueChange)="doSearch(sch.value)"/>
2205
+ @if (currentOptions.length > 0) {
2206
+ <div class="icon-container">
2207
+ @for (icon of currentOptions.slice(0,100); track icon) {
2208
+ <button tuiButton [iconStart]="icon" size="s" appearance="flat" [tuiAppearanceFocus]='selected == icon ? true : null' (click)="setIcon(icon); close();currentOptions = [...lucideicons]"></button>
2209
+ }
2210
+ @if(currentOptions.length > 100){
2211
+ <p style="opacity:0.5;margin:0px;text-align:center;align-self:center">{{currentOptions.length - 100}} more icons...</p>
2212
+ }
2213
+ </div>
2214
+ } @else {
2215
+ <p>No icons match your search!</p>
2216
+ }
2217
+ </div>
2218
+ </ng-template>
2219
+ `, isInline: true, styles: [".dropdown-container{display:flex;flex-direction:column;padding:10px;min-width:10rem;gap:5px}.dropdown-container .icon-container{display:flex;flex-wrap:wrap;gap:5px;max-width:80vw;max-height:30vh}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: i3$1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i3$1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownAuto],[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "component", type: EzUITextInput, selector: "ezui-textinput", inputs: ["icon", "label", "size", "disabled", "value"], outputs: ["valueChange"] }] });
2220
+ }
2221
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EzUIIconSelector, decorators: [{
2222
+ type: Component,
2223
+ args: [{ selector: 'ezui-iconselector', imports: [
2224
+ FormsModule,
2225
+ CommonModule,
2226
+ TuiButton,
2227
+ TuiDropdown,
2228
+ EzUITextInput
2229
+ ], template: `
2230
+ <button
2231
+ tuiButton
2232
+ [iconStart]="selected"
2233
+ [size]="size"
2234
+ [tuiAppearanceState]="open() ? 'active' : null"
2235
+ [tuiDropdown]="dropdown"
2236
+ [(tuiDropdownOpen)]="open"
2237
+ [disabled]="disabled"
2238
+ ></button>
2239
+
2240
+ <ng-template #dropdown let-close>
2241
+ <div class="dropdown-container">
2242
+ <ezui-textinput #sch icon="search" label="Search" size="s" (valueChange)="doSearch(sch.value)"/>
2243
+ @if (currentOptions.length > 0) {
2244
+ <div class="icon-container">
2245
+ @for (icon of currentOptions.slice(0,100); track icon) {
2246
+ <button tuiButton [iconStart]="icon" size="s" appearance="flat" [tuiAppearanceFocus]='selected == icon ? true : null' (click)="setIcon(icon); close();currentOptions = [...lucideicons]"></button>
2247
+ }
2248
+ @if(currentOptions.length > 100){
2249
+ <p style="opacity:0.5;margin:0px;text-align:center;align-self:center">{{currentOptions.length - 100}} more icons...</p>
2250
+ }
2251
+ </div>
2252
+ } @else {
2253
+ <p>No icons match your search!</p>
2254
+ }
2255
+ </div>
2256
+ </ng-template>
2257
+ `, styles: [".dropdown-container{display:flex;flex-direction:column;padding:10px;min-width:10rem;gap:5px}.dropdown-container .icon-container{display:flex;flex-wrap:wrap;gap:5px;max-width:80vw;max-height:30vh}\n"] }]
2258
+ }], ctorParameters: () => [], propDecorators: { disabled: [{
2259
+ type: Input
2260
+ }], size: [{
2261
+ type: Input
2262
+ }], selected: [{
2263
+ type: Input
2264
+ }], selectedChange: [{
2265
+ type: Output
2266
+ }] } });
2267
+
168
2268
  const compressImage = async (file, quality, maxHeight, maxWidth, convertSize) => {
169
2269
  return await new Promise((resolve, reject) => {
170
2270
  new Compressor(file, {
@@ -185,6 +2285,7 @@ class EzUIMenuBarSubDataList {
185
2285
  @for(item of subdatalist; track $index){
186
2286
  @if(item.items){
187
2287
  <button
2288
+ class="subdatalistitem"
188
2289
  tuiOption
189
2290
  tuiChevron
190
2291
  [iconStart]="item.icon"
@@ -207,6 +2308,7 @@ class EzUIMenuBarSubDataList {
207
2308
  }
208
2309
  @else {
209
2310
  <button
2311
+ class="subdatalistitem"
210
2312
  tuiOption
211
2313
  [iconStart]="item.icon"
212
2314
  [disabled]="item.disabled"
@@ -217,7 +2319,7 @@ class EzUIMenuBarSubDataList {
217
2319
  </button>
218
2320
  }
219
2321
  }
220
- `, isInline: true, styles: [".subdatalist{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "component", type: EzUIMenuBarSubDataList, selector: "tui-data-list[subdatalist]", inputs: ["subdatalist"] }, { kind: "directive", type: i3$1.TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownAppearance], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: ["tuiDropdownAlign", "tuiDropdownAppearance", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight", "tuiDropdownOffset"] }, { kind: "directive", type: i3$1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i3$1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownAuto],[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "directive", type: i3$1.TuiDropdownPositionSided, selector: "[tuiDropdownSided]", inputs: ["tuiDropdownSided", "tuiDropdownSidedOffset"] }, { kind: "directive", type: TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled"] }, { kind: "directive", type: TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }] });
2322
+ `, isInline: true, styles: [".subdatalist{display:flex;flex-direction:column}.subdatalistitem{padding:0 10px!important}\n"], dependencies: [{ kind: "component", type: EzUIMenuBarSubDataList, selector: "tui-data-list[subdatalist]", inputs: ["subdatalist"] }, { kind: "directive", type: i3$1.TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownAppearance], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: ["tuiDropdownAlign", "tuiDropdownAppearance", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight", "tuiDropdownOffset"] }, { kind: "directive", type: i3$1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i3$1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownAuto],[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "directive", type: i3$1.TuiDropdownPositionSided, selector: "[tuiDropdownSided]", inputs: ["tuiDropdownSided", "tuiDropdownSidedOffset"] }, { kind: "directive", type: TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled"] }, { kind: "directive", type: TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }] });
221
2323
  }
222
2324
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EzUIMenuBarSubDataList, decorators: [{
223
2325
  type: Component,
@@ -229,6 +2331,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
229
2331
  @for(item of subdatalist; track $index){
230
2332
  @if(item.items){
231
2333
  <button
2334
+ class="subdatalistitem"
232
2335
  tuiOption
233
2336
  tuiChevron
234
2337
  [iconStart]="item.icon"
@@ -251,6 +2354,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
251
2354
  }
252
2355
  @else {
253
2356
  <button
2357
+ class="subdatalistitem"
254
2358
  tuiOption
255
2359
  [iconStart]="item.icon"
256
2360
  [disabled]="item.disabled"
@@ -261,7 +2365,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
261
2365
  </button>
262
2366
  }
263
2367
  }
264
- `, styles: [".subdatalist{display:flex;flex-direction:column}\n"] }]
2368
+ `, styles: [".subdatalist{display:flex;flex-direction:column}.subdatalistitem{padding:0 10px!important}\n"] }]
265
2369
  }], propDecorators: { subdatalist: [{
266
2370
  type: Input
267
2371
  }] } });
@@ -2263,56 +4367,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
2263
4367
  type: Input
2264
4368
  }] } });
2265
4369
 
2266
- class EzUITextInput {
2267
- icon = '';
2268
- label = '';
2269
- size = 'm';
2270
- disabled = false;
2271
- value = "";
2272
- valueChange = new EventEmitter();
2273
- ngOnChanges(changes) {
2274
- if (changes['value'] && changes['value'].currentValue != changes['value'].previousValue) {
2275
- this.value = changes['value'].currentValue;
2276
- }
2277
- }
2278
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EzUITextInput, deps: [], target: i0.ɵɵFactoryTarget.Component });
2279
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: EzUITextInput, isStandalone: true, selector: "ezui-textinput", inputs: { icon: "icon", label: "label", size: "size", disabled: "disabled", value: "value" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: `
2280
- <tui-textfield [tuiTextfieldSize]="size" [iconStart]="icon">
2281
- @if(label){
2282
- <label tuiLabel>{{label}}</label>
2283
- }
2284
- <input tuiInput [(ngModel)]="value" (ngModelChange)="valueChange.emit(value)" [disabled]="disabled"/>
2285
- </tui-textfield>
2286
- `, isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.TuiLabel, selector: "label[tuiLabel]" }, { kind: "component", type: i3.TuiTextfieldComponent, selector: "tui-textfield:not([multi])", inputs: ["content", "filler"] }, { kind: "directive", type: i3.TuiTextfieldOptionsDirective, selector: "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", inputs: ["tuiTextfieldAppearance", "tuiTextfieldSize", "tuiTextfieldCleaner"] }, { kind: "directive", type: i3$1.TuiInputDirective, selector: "input[tuiInput]", inputs: ["readOnly", "invalid", "focused", "state"] }] });
2287
- }
2288
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EzUITextInput, decorators: [{
2289
- type: Component,
2290
- args: [{ selector: 'ezui-textinput', imports: [
2291
- FormsModule,
2292
- CommonModule,
2293
- TuiInput
2294
- ], template: `
2295
- <tui-textfield [tuiTextfieldSize]="size" [iconStart]="icon">
2296
- @if(label){
2297
- <label tuiLabel>{{label}}</label>
2298
- }
2299
- <input tuiInput [(ngModel)]="value" (ngModelChange)="valueChange.emit(value)" [disabled]="disabled"/>
2300
- </tui-textfield>
2301
- ` }]
2302
- }], propDecorators: { icon: [{
2303
- type: Input
2304
- }], label: [{
2305
- type: Input
2306
- }], size: [{
2307
- type: Input
2308
- }], disabled: [{
2309
- type: Input
2310
- }], value: [{
2311
- type: Input
2312
- }], valueChange: [{
2313
- type: Output
2314
- }] } });
2315
-
2316
4370
  class BaseCRUDInterface {
2317
4371
  http;
2318
4372
  messageService;
@@ -2540,11 +4594,374 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
2540
4594
  type: Directive
2541
4595
  }], ctorParameters: () => [{ type: i1$1.HttpClient }] });
2542
4596
 
4597
+ class EzUISideBarItem {
4598
+ item;
4599
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EzUISideBarItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
4600
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: EzUISideBarItem, isStandalone: true, selector: "ezui-sidebar-item", inputs: { item: "item" }, ngImport: i0, template: `
4601
+ @if(item && item.visible){
4602
+ @if(item.items && item.items.length > 0){
4603
+ <tui-aside-group [(open)]="item.expanded">
4604
+ <button
4605
+ [iconStart]="item.icon"
4606
+ tuiAsideItem
4607
+ tuiChevron
4608
+ type="button"
4609
+ >
4610
+ {{item.label}}
4611
+
4612
+ <ng-template>
4613
+ @for(subitem of item.items; track subitem){
4614
+ <ezui-sidebar-item [item]="subitem"/>
4615
+ }
4616
+ </ng-template>
4617
+ </button>
4618
+ </tui-aside-group>
4619
+ }
4620
+ @else {
4621
+ <button
4622
+ [iconStart]="item.icon"
4623
+ tuiAsideItem
4624
+ type="button"
4625
+ [routerLinkActiveOptions]="{ exact:true }"
4626
+ [routerLink]="item.routerLink"
4627
+ [queryParams]="item.queryParams"
4628
+ (click)="item.command && item.command()"
4629
+ >
4630
+ {{item.label}}
4631
+ </button>
4632
+ }
4633
+ }
4634
+ `, isInline: true, dependencies: [{ kind: "component", type: EzUISideBarItem, selector: "ezui-sidebar-item", inputs: ["item"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "browserUrl", "routerLink"] }, { kind: "component", type: i4$2.TuiAsideGroupComponent, selector: "tui-aside-group", inputs: ["open"], outputs: ["openChange"] }, { kind: "directive", type: i4$2.TuiAsideItemDirective, selector: "[tuiAsideItem]" }, { kind: "directive", type: TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }] });
4635
+ }
4636
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EzUISideBarItem, decorators: [{
4637
+ type: Component,
4638
+ args: [{
4639
+ selector: 'ezui-sidebar-item',
4640
+ standalone: true,
4641
+ imports: [CommonModule, RouterLink, TuiNavigation, TuiAsideGroupComponent, TuiChevron],
4642
+ template: `
4643
+ @if(item && item.visible){
4644
+ @if(item.items && item.items.length > 0){
4645
+ <tui-aside-group [(open)]="item.expanded">
4646
+ <button
4647
+ [iconStart]="item.icon"
4648
+ tuiAsideItem
4649
+ tuiChevron
4650
+ type="button"
4651
+ >
4652
+ {{item.label}}
4653
+
4654
+ <ng-template>
4655
+ @for(subitem of item.items; track subitem){
4656
+ <ezui-sidebar-item [item]="subitem"/>
4657
+ }
4658
+ </ng-template>
4659
+ </button>
4660
+ </tui-aside-group>
4661
+ }
4662
+ @else {
4663
+ <button
4664
+ [iconStart]="item.icon"
4665
+ tuiAsideItem
4666
+ type="button"
4667
+ [routerLinkActiveOptions]="{ exact:true }"
4668
+ [routerLink]="item.routerLink"
4669
+ [queryParams]="item.queryParams"
4670
+ (click)="item.command && item.command()"
4671
+ >
4672
+ {{item.label}}
4673
+ </button>
4674
+ }
4675
+ }
4676
+ `
4677
+ }]
4678
+ }], propDecorators: { item: [{
4679
+ type: Input
4680
+ }] } });
4681
+
4682
+ class EzUILayoutService {
4683
+ darkMode = inject(TUI_DARK_MODE);
4684
+ isDarkMode = signal(true, /* @ts-ignore */
4685
+ ...(ngDevMode ? [{ debugName: "isDarkMode" }] : /* istanbul ignore next */ []));
4686
+ isDesktop = signal(true, /* @ts-ignore */
4687
+ ...(ngDevMode ? [{ debugName: "isDesktop" }] : /* istanbul ignore next */ []));
4688
+ isMenuExpanded = signal(false, /* @ts-ignore */
4689
+ ...(ngDevMode ? [{ debugName: "isMenuExpanded" }] : /* istanbul ignore next */ []));
4690
+ constructor() {
4691
+ const existing = localStorage.getItem("state");
4692
+ if (existing) {
4693
+ var state = JSON.parse(existing);
4694
+ this.isDarkMode.set(state.isDarkMode);
4695
+ this.isDesktop.set(state.isDesktop);
4696
+ this.isMenuExpanded.set(state.isMenuExpanded);
4697
+ }
4698
+ let isDesktop = this.isDesktop();
4699
+ let isMenuExpanded = this.isMenuExpanded();
4700
+ isDesktop = window.innerWidth > 991;
4701
+ if (isMenuExpanded) {
4702
+ if (!isDesktop)
4703
+ isMenuExpanded = false;
4704
+ }
4705
+ this.isDesktop.set(isDesktop);
4706
+ this.isMenuExpanded.set(isMenuExpanded);
4707
+ this.darkMode.update((dark) => this.isDarkMode());
4708
+ }
4709
+ ToggleDarkMode() {
4710
+ let isDarkMode = this.isDarkMode();
4711
+ this.darkMode.update((dark) => !isDarkMode);
4712
+ isDarkMode = !isDarkMode;
4713
+ this.isDarkMode.set(isDarkMode);
4714
+ this.saveState();
4715
+ }
4716
+ ToggleMenu() {
4717
+ let isMenuExpanded = this.isMenuExpanded();
4718
+ isMenuExpanded = !isMenuExpanded;
4719
+ this.isMenuExpanded.set(isMenuExpanded);
4720
+ this.saveState();
4721
+ }
4722
+ SetMenu(to) {
4723
+ let isMenuExpanded = this.isMenuExpanded();
4724
+ isMenuExpanded = to;
4725
+ this.isMenuExpanded.set(isMenuExpanded);
4726
+ this.saveState();
4727
+ }
4728
+ saveState() {
4729
+ localStorage.setItem("state", JSON.stringify({
4730
+ isDarkMode: this.isDarkMode(),
4731
+ isDesktop: this.isDesktop(),
4732
+ isMenuExpanded: this.isMenuExpanded(),
4733
+ }));
4734
+ }
4735
+ }
4736
+
4737
+ class EzUISideBar {
4738
+ layoutService;
4739
+ layout;
4740
+ router;
4741
+ haveMoved = signal(false, /* @ts-ignore */
4742
+ ...(ngDevMode ? [{ debugName: "haveMoved" }] : /* istanbul ignore next */ []));
4743
+ constructor(layoutService, layout, router) {
4744
+ this.layoutService = layoutService;
4745
+ this.layout = layout;
4746
+ this.router = router;
4747
+ router.events.subscribe((val) => {
4748
+ if (val instanceof NavigationEnd)
4749
+ this.initialize();
4750
+ });
4751
+ }
4752
+ initialize() {
4753
+ this.hideEmptySections(this.layout.sidebarItems());
4754
+ this.hideEmptySections(this.layout.sidebarFooterItems());
4755
+ if (!this.haveMoved() && this.router.routerState.snapshot.url == '/')
4756
+ this.gotoFirstPage(this.layout.sidebarItems());
4757
+ this.setActiveRoute(this.layout.sidebarItems());
4758
+ this.setActiveRoute(this.layout.sidebarFooterItems());
4759
+ }
4760
+ hideEmptySections(menu) {
4761
+ menu.forEach((x) => {
4762
+ if (x.items) {
4763
+ this.hideEmptySections(x.items);
4764
+ if (x.items.every((x) => x.visible == false)) {
4765
+ x.visible = false;
4766
+ }
4767
+ ;
4768
+ }
4769
+ });
4770
+ }
4771
+ setActiveRoute(menu, parent = null) {
4772
+ menu.forEach((x) => {
4773
+ if (x.routerLink) {
4774
+ if (x.routerLink == this.router.routerState.snapshot.url) {
4775
+ x.expanded = true;
4776
+ if (parent)
4777
+ parent.expanded = true;
4778
+ }
4779
+ }
4780
+ if (x.items)
4781
+ this.setActiveRoute(x.items, x);
4782
+ });
4783
+ }
4784
+ gotoFirstPage(menu) {
4785
+ var first = menu.find((x) => x.visible == true);
4786
+ if (first) {
4787
+ if (first.items) {
4788
+ this.gotoFirstPage(first.items);
4789
+ }
4790
+ else {
4791
+ this.haveMoved.set(true);
4792
+ this.router.navigate([first.routerLink]);
4793
+ }
4794
+ }
4795
+ }
4796
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EzUISideBar, deps: [{ token: EzUILayoutService }, { token: EzUILayout }, { token: i3$4.Router }], target: i0.ɵɵFactoryTarget.Component });
4797
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: EzUISideBar, isStandalone: true, selector: "ezui-sidebar", ngImport: i0, template: `
4798
+ <aside
4799
+ style="height:100%"
4800
+ tuitheme=""
4801
+ [tuiNavigationAside]="layoutService.isMenuExpanded()"
4802
+ >
4803
+ @for(item of layout.sidebarItems(); track item){
4804
+ <ezui-sidebar-item [item]="item"/>
4805
+ }
4806
+
4807
+ <footer>
4808
+ @for(item of layout.sidebarFooterItems(); track item){
4809
+ <ezui-sidebar-item [item]="item"/>
4810
+ }
4811
+ </footer>
4812
+ </aside>
4813
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: i4$2.TuiAsideComponent, selector: "aside[tuiNavigationAside]", inputs: ["tuiNavigationAside"] }, { kind: "component", type: EzUISideBarItem, selector: "ezui-sidebar-item", inputs: ["item"] }] });
4814
+ }
4815
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EzUISideBar, decorators: [{
4816
+ type: Component,
4817
+ args: [{
4818
+ selector: 'ezui-sidebar',
4819
+ standalone: true,
4820
+ imports: [CommonModule, TuiNavigation, EzUISideBarItem],
4821
+ template: `
4822
+ <aside
4823
+ style="height:100%"
4824
+ tuitheme=""
4825
+ [tuiNavigationAside]="layoutService.isMenuExpanded()"
4826
+ >
4827
+ @for(item of layout.sidebarItems(); track item){
4828
+ <ezui-sidebar-item [item]="item"/>
4829
+ }
4830
+
4831
+ <footer>
4832
+ @for(item of layout.sidebarFooterItems(); track item){
4833
+ <ezui-sidebar-item [item]="item"/>
4834
+ }
4835
+ </footer>
4836
+ </aside>
4837
+ `
4838
+ }]
4839
+ }], ctorParameters: () => [{ type: EzUILayoutService }, { type: EzUILayout }, { type: i3$4.Router }] });
4840
+
4841
+ class EzUITopBar {
4842
+ layoutService;
4843
+ layout;
4844
+ constructor(layoutService, layout) {
4845
+ this.layoutService = layoutService;
4846
+ this.layout = layout;
4847
+ }
4848
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EzUITopBar, deps: [{ token: EzUILayoutService }, { token: EzUILayout }], target: i0.ɵɵFactoryTarget.Component });
4849
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: EzUITopBar, isStandalone: true, selector: "ezui-topbar", ngImport: i0, template: `
4850
+ <header tuiNavigationHeader tuitheme="">
4851
+ <button
4852
+ type="button"
4853
+ tuiIconButton
4854
+ [iconStart]="layoutService.isMenuExpanded() ? '@tui.chevron-left' : '@tui.chevron-right'"
4855
+ (click)="layoutService.ToggleMenu()"
4856
+ >
4857
+ </button>
4858
+ <span tuiNavigationLogo>
4859
+ <ng-container [ngTemplateOutlet]="layout.topbarlogo"></ng-container>
4860
+ </span>
4861
+ <hr />
4862
+ <button
4863
+ [iconStart]="layoutService.isDarkMode() ? 'moon' : 'sun'"
4864
+ tuiIconButton
4865
+ type="button"
4866
+ (click)="layoutService.ToggleDarkMode()"
4867
+ >
4868
+ </button>
4869
+
4870
+ <ng-container [ngTemplateOutlet]="layout.topbarright"></ng-container>
4871
+ </header>
4872
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4$2.TuiHeaderComponent, selector: "header[tuiNavigationHeader]" }, { kind: "component", type: i4$2.TuiLogoComponent, selector: "[tuiNavigationLogo]" }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }] });
4873
+ }
4874
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EzUITopBar, decorators: [{
4875
+ type: Component,
4876
+ args: [{
4877
+ selector: 'ezui-topbar',
4878
+ standalone: true,
4879
+ imports: [CommonModule, TuiNavigation, TuiButton],
4880
+ template: `
4881
+ <header tuiNavigationHeader tuitheme="">
4882
+ <button
4883
+ type="button"
4884
+ tuiIconButton
4885
+ [iconStart]="layoutService.isMenuExpanded() ? '@tui.chevron-left' : '@tui.chevron-right'"
4886
+ (click)="layoutService.ToggleMenu()"
4887
+ >
4888
+ </button>
4889
+ <span tuiNavigationLogo>
4890
+ <ng-container [ngTemplateOutlet]="layout.topbarlogo"></ng-container>
4891
+ </span>
4892
+ <hr />
4893
+ <button
4894
+ [iconStart]="layoutService.isDarkMode() ? 'moon' : 'sun'"
4895
+ tuiIconButton
4896
+ type="button"
4897
+ (click)="layoutService.ToggleDarkMode()"
4898
+ >
4899
+ </button>
4900
+
4901
+ <ng-container [ngTemplateOutlet]="layout.topbarright"></ng-container>
4902
+ </header>
4903
+ `
4904
+ }]
4905
+ }], ctorParameters: () => [{ type: EzUILayoutService }, { type: EzUILayout }] });
4906
+
4907
+ class EzUILayout {
4908
+ sidebarItems = signal([], /* @ts-ignore */
4909
+ ...(ngDevMode ? [{ debugName: "sidebarItems" }] : /* istanbul ignore next */ []));
4910
+ sidebarFooterItems = signal([], /* @ts-ignore */
4911
+ ...(ngDevMode ? [{ debugName: "sidebarFooterItems" }] : /* istanbul ignore next */ []));
4912
+ topbarright;
4913
+ topbarlogo;
4914
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EzUILayout, deps: [], target: i0.ɵɵFactoryTarget.Component });
4915
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: EzUILayout, isStandalone: true, selector: "ezui-layout", inputs: { sidebarItems: "sidebarItems", sidebarFooterItems: "sidebarFooterItems" }, queries: [{ propertyName: "topbarright", first: true, predicate: ["topbarright"], descendants: true }, { propertyName: "topbarlogo", first: true, predicate: ["topbarlogo"], descendants: true }], ngImport: i0, template: `
4916
+ <tui-root class="rootContainer">
4917
+ <div class="layout-wrapper">
4918
+ <ezui-topbar></ezui-topbar>
4919
+ <div class="layout-wrapper-split">
4920
+ <ezui-sidebar></ezui-sidebar>
4921
+ <div class="layout-main-container">
4922
+ <tui-scrollbar class="layout-main">
4923
+ <router-outlet></router-outlet>
4924
+ </tui-scrollbar>
4925
+ </div>
4926
+ </div>
4927
+ </div>
4928
+ </tui-root>
4929
+ `, isInline: true, styles: ["::ng-deep .rootContainer .t-root-content{display:flex;height:100vh;width:100vw}.layout-wrapper{display:flex;flex-direction:column;height:100vh;min-height:100vh;max-height:100vh}.layout-wrapper-split{display:flex;flex-direction:row;width:100%;height:100%;overflow:hidden;max-width:100vw}.layout-main-container{display:flex;flex-direction:column;min-height:inherit;max-height:inherit;width:100%;justify-content:space-between;overflow:hidden}.layout-main{flex:1 1 auto;display:flex}::ng-deep .layout-main>.t-content{padding:1rem;display:flex;block-size:auto!important;box-sizing:border-box}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3$4.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: EzUITopBar, selector: "ezui-topbar" }, { kind: "component", type: EzUISideBar, selector: "ezui-sidebar" }, { kind: "component", type: TuiScrollbar, selector: "tui-scrollbar" }, { kind: "component", type: TuiRoot, selector: "tui-root" }] });
4930
+ }
4931
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: EzUILayout, decorators: [{
4932
+ type: Component,
4933
+ args: [{ selector: 'ezui-layout', standalone: true, imports: [CommonModule, RouterModule, EzUITopBar, EzUISideBar, TuiNavigation, TuiScrollbar, TuiRoot], template: `
4934
+ <tui-root class="rootContainer">
4935
+ <div class="layout-wrapper">
4936
+ <ezui-topbar></ezui-topbar>
4937
+ <div class="layout-wrapper-split">
4938
+ <ezui-sidebar></ezui-sidebar>
4939
+ <div class="layout-main-container">
4940
+ <tui-scrollbar class="layout-main">
4941
+ <router-outlet></router-outlet>
4942
+ </tui-scrollbar>
4943
+ </div>
4944
+ </div>
4945
+ </div>
4946
+ </tui-root>
4947
+ `, styles: ["::ng-deep .rootContainer .t-root-content{display:flex;height:100vh;width:100vw}.layout-wrapper{display:flex;flex-direction:column;height:100vh;min-height:100vh;max-height:100vh}.layout-wrapper-split{display:flex;flex-direction:row;width:100%;height:100%;overflow:hidden;max-width:100vw}.layout-main-container{display:flex;flex-direction:column;min-height:inherit;max-height:inherit;width:100%;justify-content:space-between;overflow:hidden}.layout-main{flex:1 1 auto;display:flex}::ng-deep .layout-main>.t-content{padding:1rem;display:flex;block-size:auto!important;box-sizing:border-box}\n"] }]
4948
+ }], propDecorators: { sidebarItems: [{
4949
+ type: Input
4950
+ }], sidebarFooterItems: [{
4951
+ type: Input
4952
+ }], topbarright: [{
4953
+ type: ContentChild,
4954
+ args: ['topbarright', { static: false }]
4955
+ }], topbarlogo: [{
4956
+ type: ContentChild,
4957
+ args: ['topbarlogo', { static: false }]
4958
+ }] } });
4959
+
2543
4960
  // Components
2544
4961
 
2545
4962
  /**
2546
4963
  * Generated bundle index. Do not edit.
2547
4964
  */
2548
4965
 
2549
- export { BaseCRUDInterface, BaseListInterface, EzUIDateInput, EzUIFileInput, EzUIFilterHelpers, EzUIMarkdownEditor, EzUIMenuBar, EzUIMenuBarSubDataList, EzUIMultiSelect, EzUINumberInput, EzUIPasswordInput, EzUITTableSortableColumn, EzUITable, EzUITableDateFilter, EzUITableFilterService, EzUITableSelectFilter, EzUITableTextFilter, EzUITextInput, compressImage };
4966
+ export { BaseCRUDInterface, BaseListInterface, EzUIDateInput, EzUIDateTimeInput, EzUIFileInput, EzUIFilterHelpers, EzUIIconSelector, EzUILayout, EzUILayoutService, EzUIMarkdownEditor, EzUIMenuBar, EzUIMenuBarSubDataList, EzUIMultiSelect, EzUINumberInput, EzUIPasswordInput, EzUITTableSortableColumn, EzUITable, EzUITableDateFilter, EzUITableFilterService, EzUITableSelectFilter, EzUITableTextFilter, EzUITextInput, compressImage };
2550
4967
  //# sourceMappingURL=kris701-ez-ui.mjs.map