ngx-semantic 2.0.7-beta.0 → 2.0.7-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ngx-semantic-collections-breadcrumb.mjs +13 -10
- package/fesm2022/ngx-semantic-collections-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-form.mjs +987 -16
- package/fesm2022/ngx-semantic-collections-form.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-grid.mjs +13 -10
- package/fesm2022/ngx-semantic-collections-grid.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-menu.mjs +25 -13
- package/fesm2022/ngx-semantic-collections-menu.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-message.mjs +20 -20
- package/fesm2022/ngx-semantic-collections-message.mjs.map +1 -1
- package/fesm2022/ngx-semantic-collections-table.mjs +17 -13
- package/fesm2022/ngx-semantic-collections-table.mjs.map +1 -1
- package/fesm2022/ngx-semantic-core-base.mjs +1 -0
- package/fesm2022/ngx-semantic-core-base.mjs.map +1 -1
- package/fesm2022/ngx-semantic-core-util.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-button.mjs +9 -7
- package/fesm2022/ngx-semantic-elements-button.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-container.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-divider.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-flag.mjs +5 -4
- package/fesm2022/ngx-semantic-elements-flag.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-header.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-icon.mjs +5 -4
- package/fesm2022/ngx-semantic-elements-icon.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-image.mjs +5 -4
- package/fesm2022/ngx-semantic-elements-image.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-input.mjs +5 -4
- package/fesm2022/ngx-semantic-elements-input.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-label.mjs +5 -4
- package/fesm2022/ngx-semantic-elements-label.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-list.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-loader.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-placeholder.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-rail.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-reveal.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-segment.mjs +5 -4
- package/fesm2022/ngx-semantic-elements-segment.mjs.map +1 -1
- package/fesm2022/ngx-semantic-elements-steps.mjs +5 -4
- package/fesm2022/ngx-semantic-elements-steps.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-accordion.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-checkbox.mjs +19 -19
- package/fesm2022/ngx-semantic-modules-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-dimmer.mjs +42 -33
- package/fesm2022/ngx-semantic-modules-dimmer.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-embed.mjs +22 -22
- package/fesm2022/ngx-semantic-modules-embed.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-modal.mjs +31 -32
- package/fesm2022/ngx-semantic-modules-modal.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-popup.mjs +22 -23
- package/fesm2022/ngx-semantic-modules-popup.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-progress.mjs +6 -6
- package/fesm2022/ngx-semantic-modules-progress.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-rating.mjs +15 -17
- package/fesm2022/ngx-semantic-modules-rating.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-search.mjs +34 -34
- package/fesm2022/ngx-semantic-modules-search.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-select.mjs +87 -88
- package/fesm2022/ngx-semantic-modules-select.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-shape.mjs +6 -6
- package/fesm2022/ngx-semantic-modules-shape.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-sidebar.mjs +13 -12
- package/fesm2022/ngx-semantic-modules-sidebar.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-sticky.mjs +9 -12
- package/fesm2022/ngx-semantic-modules-sticky.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-tabs.mjs +30 -30
- package/fesm2022/ngx-semantic-modules-tabs.mjs.map +1 -1
- package/fesm2022/ngx-semantic-modules-transition.mjs +721 -0
- package/fesm2022/ngx-semantic-modules-transition.mjs.map +1 -0
- package/fesm2022/ngx-semantic-views-advertisement.mjs +5 -4
- package/fesm2022/ngx-semantic-views-advertisement.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-card.mjs +6 -9
- package/fesm2022/ngx-semantic-views-card.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-comment.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-feed.mjs +26 -26
- package/fesm2022/ngx-semantic-views-feed.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-items.mjs +13 -10
- package/fesm2022/ngx-semantic-views-items.mjs.map +1 -1
- package/fesm2022/ngx-semantic-views-statistics.mjs +16 -16
- package/fesm2022/ngx-semantic-views-statistics.mjs.map +1 -1
- package/fesm2022/ngx-semantic.mjs +11 -5
- package/fesm2022/ngx-semantic.mjs.map +1 -1
- package/modules/transition/package.json +4 -0
- package/package.json +5 -1
- package/types/ngx-semantic-collections-breadcrumb.d.ts +4 -17
- package/types/ngx-semantic-collections-form.d.ts +150 -20
- package/types/ngx-semantic-collections-grid.d.ts +4 -17
- package/types/ngx-semantic-collections-menu.d.ts +4 -17
- package/types/ngx-semantic-collections-message.d.ts +1 -3
- package/types/ngx-semantic-collections-table.d.ts +5 -22
- package/types/ngx-semantic-core-base.d.ts +1 -1
- package/types/ngx-semantic-elements-button.d.ts +3 -8
- package/types/ngx-semantic-elements-flag.d.ts +2 -3
- package/types/ngx-semantic-elements-icon.d.ts +1 -2
- package/types/ngx-semantic-elements-image.d.ts +2 -7
- package/types/ngx-semantic-elements-input.d.ts +2 -7
- package/types/ngx-semantic-elements-label.d.ts +2 -7
- package/types/ngx-semantic-elements-segment.d.ts +1 -6
- package/types/ngx-semantic-elements-steps.d.ts +1 -6
- package/types/ngx-semantic-modules-checkbox.d.ts +3 -4
- package/types/ngx-semantic-modules-dimmer.d.ts +2 -3
- package/types/ngx-semantic-modules-embed.d.ts +2 -5
- package/types/ngx-semantic-modules-modal.d.ts +2 -2
- package/types/ngx-semantic-modules-popup.d.ts +2 -4
- package/types/ngx-semantic-modules-rating.d.ts +4 -4
- package/types/ngx-semantic-modules-select.d.ts +1 -2
- package/types/ngx-semantic-modules-shape.d.ts +1 -2
- package/types/ngx-semantic-modules-sidebar.d.ts +1 -15
- package/types/ngx-semantic-modules-sticky.d.ts +1 -2
- package/types/ngx-semantic-modules-transition.d.ts +107 -0
- package/types/ngx-semantic-views-advertisement.d.ts +2 -7
- package/types/ngx-semantic-views-card.d.ts +2 -2
- package/types/ngx-semantic-views-feed.d.ts +2 -11
- package/types/ngx-semantic-views-items.d.ts +4 -9
- package/types/ngx-semantic-views-statistics.d.ts +13 -26
- package/types/ngx-semantic.d.ts +2 -1
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { __decorate } from 'tslib';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { HostBinding, Input, Directive, EventEmitter, forwardRef, HostListener, Output, ViewChild, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
|
4
|
-
import * as i1 from '@angular/common';
|
|
3
|
+
import { HostBinding, Input, Directive, inject, ChangeDetectorRef, EventEmitter, forwardRef, HostListener, Output, ViewChild, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
|
5
4
|
import { CommonModule } from '@angular/common';
|
|
6
|
-
import * as
|
|
5
|
+
import * as i1 from '@angular/forms';
|
|
7
6
|
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
8
7
|
import { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';
|
|
9
8
|
|
|
@@ -103,6 +102,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
|
|
|
103
102
|
}] } });
|
|
104
103
|
|
|
105
104
|
class SuiSelectComponent {
|
|
105
|
+
constructor() {
|
|
106
|
+
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
107
|
+
this.suiSelectionChanged = new EventEmitter();
|
|
108
|
+
this.suiPlaceholder = null;
|
|
109
|
+
this.suiSearch = false;
|
|
110
|
+
this.suiFluid = false;
|
|
111
|
+
this.suiInline = false;
|
|
112
|
+
this.suiLoading = false;
|
|
113
|
+
this.suiError = false;
|
|
114
|
+
this.disabled = false;
|
|
115
|
+
this.suiScrolling = false;
|
|
116
|
+
this.suiCompact = false;
|
|
117
|
+
this.name = null;
|
|
118
|
+
this.suiMultiple = false;
|
|
119
|
+
this.isOpen = false;
|
|
120
|
+
this.isSearching = false;
|
|
121
|
+
this.selectedValues = [];
|
|
122
|
+
this.searchTerm = '';
|
|
123
|
+
this.allOptions = [];
|
|
124
|
+
this.filteredOptions = [];
|
|
125
|
+
this.selectedOption = undefined;
|
|
126
|
+
this.selectedOptions = [];
|
|
127
|
+
this.controlValueChangeFn = () => {
|
|
128
|
+
};
|
|
129
|
+
}
|
|
106
130
|
set suiOptions(options) {
|
|
107
131
|
this.allOptions = this.filteredOptions = options;
|
|
108
132
|
}
|
|
@@ -130,31 +154,6 @@ class SuiSelectComponent {
|
|
|
130
154
|
ClassUtils.getPropClass(this.suiError, 'error')
|
|
131
155
|
]);
|
|
132
156
|
}
|
|
133
|
-
constructor(changeDetectorRef) {
|
|
134
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
135
|
-
this.suiSelectionChanged = new EventEmitter();
|
|
136
|
-
this.suiPlaceholder = null;
|
|
137
|
-
this.suiSearch = false;
|
|
138
|
-
this.suiFluid = false;
|
|
139
|
-
this.suiInline = false;
|
|
140
|
-
this.suiLoading = false;
|
|
141
|
-
this.suiError = false;
|
|
142
|
-
this.disabled = false;
|
|
143
|
-
this.suiScrolling = false;
|
|
144
|
-
this.suiCompact = false;
|
|
145
|
-
this.name = null;
|
|
146
|
-
this.suiMultiple = false;
|
|
147
|
-
this.isOpen = false;
|
|
148
|
-
this.isSearching = false;
|
|
149
|
-
this.selectedValues = [];
|
|
150
|
-
this.searchTerm = '';
|
|
151
|
-
this.allOptions = [];
|
|
152
|
-
this.filteredOptions = [];
|
|
153
|
-
this.selectedOption = undefined;
|
|
154
|
-
this.selectedOptions = [];
|
|
155
|
-
this.controlValueChangeFn = () => {
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
157
|
get multiple() {
|
|
159
158
|
return this.suiMultiple ? '' : undefined;
|
|
160
159
|
}
|
|
@@ -271,8 +270,8 @@ class SuiSelectComponent {
|
|
|
271
270
|
setDisabledState(isDisabled) {
|
|
272
271
|
this.disabled = isDisabled;
|
|
273
272
|
}
|
|
274
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiSelectComponent, deps: [
|
|
275
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
273
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
274
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.7", type: SuiSelectComponent, isStandalone: true, selector: "sui-select", inputs: { suiPlaceholder: "suiPlaceholder", suiSearch: "suiSearch", suiFluid: "suiFluid", suiInline: "suiInline", suiLoading: "suiLoading", suiError: "suiError", disabled: "disabled", suiScrolling: "suiScrolling", suiCompact: "suiCompact", name: "name", suiMultiple: "suiMultiple", suiOptions: "suiOptions" }, outputs: { suiSelectionChanged: "suiSelectionChanged" }, host: { listeners: { "click": "onClick()" }, properties: { "tabindex": "this.tabIndex", "class": "this.classes" } }, providers: [{
|
|
276
275
|
provide: NG_VALUE_ACCESSOR,
|
|
277
276
|
useExisting: forwardRef(() => SuiSelectComponent),
|
|
278
277
|
multi: true
|
|
@@ -280,94 +279,94 @@ class SuiSelectComponent {
|
|
|
280
279
|
<i class="dropdown icon"></i>
|
|
281
280
|
|
|
282
281
|
<!-- Multiple Select Display -->
|
|
283
|
-
|
|
284
|
-
|
|
282
|
+
@if (suiMultiple) {
|
|
283
|
+
@for (option of selectedOptions; track option) {
|
|
285
284
|
<a class="ui label transition visible"
|
|
286
285
|
style="display: inline-block !important;">
|
|
287
|
-
|
|
286
|
+
@if (option.image) {
|
|
288
287
|
<img class="ui mini image"
|
|
289
288
|
alt="Dropdown option image"
|
|
290
289
|
[class.avatar]="option.image.avatar"
|
|
291
290
|
[src]="option.image.src"/>
|
|
292
|
-
|
|
293
|
-
|
|
291
|
+
}
|
|
292
|
+
@if (option.flag) {
|
|
294
293
|
<i [className]="'flag ' + option.flag"></i>
|
|
295
|
-
|
|
294
|
+
}
|
|
296
295
|
|
|
297
296
|
{{ option.text }}
|
|
298
297
|
|
|
299
298
|
<i class="delete icon"
|
|
300
299
|
(click)="removeSelection(option, $event)"></i>
|
|
301
300
|
</a>
|
|
302
|
-
|
|
301
|
+
}
|
|
303
302
|
|
|
304
303
|
<div class="default text">{{ suiPlaceholder }}</div>
|
|
305
|
-
|
|
304
|
+
}
|
|
306
305
|
|
|
307
306
|
<!-- Search Section -->
|
|
308
|
-
|
|
307
|
+
@if (suiSearch) {
|
|
309
308
|
<input class="search"
|
|
310
309
|
autocomplete="off"
|
|
311
310
|
tabindex="0"
|
|
312
311
|
[(ngModel)]="searchTerm"
|
|
313
312
|
(focus)="onClick()"
|
|
314
313
|
(keyup)="onSearch()">
|
|
315
|
-
|
|
314
|
+
}
|
|
316
315
|
|
|
317
316
|
<!-- Display Section -->
|
|
318
|
-
|
|
317
|
+
@if (!suiMultiple) {
|
|
319
318
|
<div
|
|
320
319
|
[class.default]="isDefaultText"
|
|
321
320
|
[class.filtered]="isFilteredText"
|
|
322
321
|
[class.text]="true">
|
|
323
|
-
|
|
324
|
-
|
|
322
|
+
@if (selectedOption) {
|
|
323
|
+
@if (selectedOption.image) {
|
|
325
324
|
<img class="ui mini image"
|
|
326
325
|
alt="Dropdown option image"
|
|
327
326
|
[class.avatar]="selectedOption.image.avatar"
|
|
328
327
|
[src]="selectedOption.image.src"/>
|
|
329
|
-
|
|
330
|
-
|
|
328
|
+
}
|
|
329
|
+
@if (selectedOption.flag) {
|
|
331
330
|
<i [className]="'flag ' + selectedOption.flag"></i>
|
|
332
|
-
|
|
331
|
+
}
|
|
333
332
|
|
|
334
333
|
{{ selectedOption.text }}
|
|
335
|
-
|
|
334
|
+
}
|
|
336
335
|
|
|
337
|
-
|
|
336
|
+
@if (!selectedOption) {
|
|
338
337
|
{{ suiPlaceholder }}
|
|
339
|
-
|
|
338
|
+
}
|
|
340
339
|
</div>
|
|
341
|
-
|
|
340
|
+
}
|
|
342
341
|
|
|
343
342
|
<!-- Drop Down Menu Section -->
|
|
344
343
|
<div suiSelectMenu>
|
|
345
|
-
|
|
344
|
+
@for (option of filteredOptions; track option) {
|
|
346
345
|
<div suiSelectMenuItem
|
|
347
346
|
[suiValue]="option.value"
|
|
348
347
|
[suiSelected]="isActive(option)"
|
|
349
348
|
[suiMultiple]="suiMultiple"
|
|
350
349
|
(click)="onItemClick(option, $event)">
|
|
351
|
-
|
|
350
|
+
@if (option.image) {
|
|
352
351
|
<img class="ui mini image"
|
|
353
352
|
alt="Dropdown option image"
|
|
354
353
|
[class.avatar]="option.image.avatar"
|
|
355
354
|
[src]="option.image.src"/>
|
|
356
|
-
|
|
357
|
-
|
|
355
|
+
}
|
|
356
|
+
@if (option.flag) {
|
|
358
357
|
<i [className]="'flag ' + option.flag"></i>
|
|
359
|
-
|
|
358
|
+
}
|
|
360
359
|
{{ option.text }}
|
|
361
360
|
</div>
|
|
362
|
-
|
|
363
|
-
|
|
361
|
+
}
|
|
362
|
+
@if (hasNoSearchResults()) {
|
|
364
363
|
<div class="message"
|
|
365
364
|
(click)="$event.stopPropagation()">
|
|
366
365
|
No results found.
|
|
367
366
|
</div>
|
|
368
|
-
|
|
367
|
+
}
|
|
369
368
|
</div>
|
|
370
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "
|
|
369
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: 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: SuiSelectMenuDirective, selector: "[suiSelectMenu]", inputs: ["suiDirection", "suiScrolling", "suiIsOpen"] }, { kind: "directive", type: SuiSelectMenuItemDirective, selector: "[suiSelectMenuItem]", inputs: ["suiValue", "suiSelected", "suiMultiple"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
371
370
|
}
|
|
372
371
|
__decorate([
|
|
373
372
|
InputBoolean()
|
|
@@ -410,92 +409,92 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
|
|
|
410
409
|
<i class="dropdown icon"></i>
|
|
411
410
|
|
|
412
411
|
<!-- Multiple Select Display -->
|
|
413
|
-
|
|
414
|
-
|
|
412
|
+
@if (suiMultiple) {
|
|
413
|
+
@for (option of selectedOptions; track option) {
|
|
415
414
|
<a class="ui label transition visible"
|
|
416
415
|
style="display: inline-block !important;">
|
|
417
|
-
|
|
416
|
+
@if (option.image) {
|
|
418
417
|
<img class="ui mini image"
|
|
419
418
|
alt="Dropdown option image"
|
|
420
419
|
[class.avatar]="option.image.avatar"
|
|
421
420
|
[src]="option.image.src"/>
|
|
422
|
-
|
|
423
|
-
|
|
421
|
+
}
|
|
422
|
+
@if (option.flag) {
|
|
424
423
|
<i [className]="'flag ' + option.flag"></i>
|
|
425
|
-
|
|
424
|
+
}
|
|
426
425
|
|
|
427
426
|
{{ option.text }}
|
|
428
427
|
|
|
429
428
|
<i class="delete icon"
|
|
430
429
|
(click)="removeSelection(option, $event)"></i>
|
|
431
430
|
</a>
|
|
432
|
-
|
|
431
|
+
}
|
|
433
432
|
|
|
434
433
|
<div class="default text">{{ suiPlaceholder }}</div>
|
|
435
|
-
|
|
434
|
+
}
|
|
436
435
|
|
|
437
436
|
<!-- Search Section -->
|
|
438
|
-
|
|
437
|
+
@if (suiSearch) {
|
|
439
438
|
<input class="search"
|
|
440
439
|
autocomplete="off"
|
|
441
440
|
tabindex="0"
|
|
442
441
|
[(ngModel)]="searchTerm"
|
|
443
442
|
(focus)="onClick()"
|
|
444
443
|
(keyup)="onSearch()">
|
|
445
|
-
|
|
444
|
+
}
|
|
446
445
|
|
|
447
446
|
<!-- Display Section -->
|
|
448
|
-
|
|
447
|
+
@if (!suiMultiple) {
|
|
449
448
|
<div
|
|
450
449
|
[class.default]="isDefaultText"
|
|
451
450
|
[class.filtered]="isFilteredText"
|
|
452
451
|
[class.text]="true">
|
|
453
|
-
|
|
454
|
-
|
|
452
|
+
@if (selectedOption) {
|
|
453
|
+
@if (selectedOption.image) {
|
|
455
454
|
<img class="ui mini image"
|
|
456
455
|
alt="Dropdown option image"
|
|
457
456
|
[class.avatar]="selectedOption.image.avatar"
|
|
458
457
|
[src]="selectedOption.image.src"/>
|
|
459
|
-
|
|
460
|
-
|
|
458
|
+
}
|
|
459
|
+
@if (selectedOption.flag) {
|
|
461
460
|
<i [className]="'flag ' + selectedOption.flag"></i>
|
|
462
|
-
|
|
461
|
+
}
|
|
463
462
|
|
|
464
463
|
{{ selectedOption.text }}
|
|
465
|
-
|
|
464
|
+
}
|
|
466
465
|
|
|
467
|
-
|
|
466
|
+
@if (!selectedOption) {
|
|
468
467
|
{{ suiPlaceholder }}
|
|
469
|
-
|
|
468
|
+
}
|
|
470
469
|
</div>
|
|
471
|
-
|
|
470
|
+
}
|
|
472
471
|
|
|
473
472
|
<!-- Drop Down Menu Section -->
|
|
474
473
|
<div suiSelectMenu>
|
|
475
|
-
|
|
474
|
+
@for (option of filteredOptions; track option) {
|
|
476
475
|
<div suiSelectMenuItem
|
|
477
476
|
[suiValue]="option.value"
|
|
478
477
|
[suiSelected]="isActive(option)"
|
|
479
478
|
[suiMultiple]="suiMultiple"
|
|
480
479
|
(click)="onItemClick(option, $event)">
|
|
481
|
-
|
|
480
|
+
@if (option.image) {
|
|
482
481
|
<img class="ui mini image"
|
|
483
482
|
alt="Dropdown option image"
|
|
484
483
|
[class.avatar]="option.image.avatar"
|
|
485
484
|
[src]="option.image.src"/>
|
|
486
|
-
|
|
487
|
-
|
|
485
|
+
}
|
|
486
|
+
@if (option.flag) {
|
|
488
487
|
<i [className]="'flag ' + option.flag"></i>
|
|
489
|
-
|
|
488
|
+
}
|
|
490
489
|
{{ option.text }}
|
|
491
490
|
</div>
|
|
492
|
-
|
|
493
|
-
|
|
491
|
+
}
|
|
492
|
+
@if (hasNoSearchResults()) {
|
|
494
493
|
<div class="message"
|
|
495
494
|
(click)="$event.stopPropagation()">
|
|
496
495
|
No results found.
|
|
497
496
|
</div>
|
|
498
|
-
|
|
497
|
+
}
|
|
499
498
|
</div>
|
|
500
499
|
`,
|
|
501
500
|
providers: [{
|
|
@@ -504,7 +503,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
|
|
|
504
503
|
multi: true
|
|
505
504
|
}]
|
|
506
505
|
}]
|
|
507
|
-
}],
|
|
506
|
+
}], propDecorators: { optionsMenu: [{
|
|
508
507
|
type: ViewChild,
|
|
509
508
|
args: [SuiSelectMenuDirective]
|
|
510
509
|
}], suiSelectionChanged: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-semantic-modules-select.mjs","sources":["../../src/modules/select/interfaces/ISelectOption.ts","../../src/modules/select/select-menu.directive.ts","../../src/modules/select/select-menu-item.directive.ts","../../src/modules/select/select.component.ts","../../src/modules/select/select.module.ts","../../src/modules/select/ngx-semantic-modules-select.ts"],"sourcesContent":["/**\n * Created by bolor on 11/2/2020\n */\n\nimport {ISelectOptionImage} from './ISelectOptionImage';\n\nexport interface ISelectOption {\n text: string;\n value: any;\n image?: ISelectOptionImage;\n flag?: string;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\n\nexport type SuiSelectMenuDirection = 'left' | 'right' | null;\n\n@Directive({\n standalone: true,\n selector: '[suiSelectMenu]'\n})\nexport class SuiSelectMenuDirective {\n @Input() public suiDirection: SuiSelectMenuDirection = null;\n @Input() @InputBoolean() public suiScrolling = false;\n\n private isOpen = false;\n\n @Input()\n set suiIsOpen(isOpen: boolean) {\n this.isOpen = isOpen;\n }\n\n get suiIsOpen(): boolean {\n return this.isOpen;\n }\n\n @HostBinding('tabindex')\n get tabIndex(): number {\n return -1;\n }\n\n @HostBinding('class')\n get classes(): string {\n return [\n ClassUtils.getPropClass(this.suiScrolling, 'scrolling'),\n this.suiDirection,\n 'menu',\n 'transition',\n ClassUtils.getPropClass(!this.isOpen, 'hidden'),\n ClassUtils.getPropClass(this.isOpen, 'visible')\n ].join(' ');\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\n\n@Directive({\n standalone: true,\n selector: '[suiSelectMenuItem]'\n})\nexport class SuiSelectMenuItemDirective {\n @Input() public suiValue: any = null;\n @Input() @InputBoolean() public suiSelected = false;\n @Input() @InputBoolean() public suiMultiple = false;\n\n @HostBinding('class')\n get classes(): string {\n return [\n 'item',\n ClassUtils.getPropClass(this.suiSelected, 'active'),\n ClassUtils.getPropClass(!this.suiMultiple && this.suiSelected, 'selected'),\n ClassUtils.getPropClass(this.suiMultiple && this.suiSelected, 'filtered')\n ].join(' ');\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { SuiSelectMenuDirective } from './select-menu.directive';\nimport { SuiSelectMenuItemDirective } from './select-menu-item.directive';\nimport { ISelectOption } from './interfaces/ISelectOption';\n\n@Component({\n standalone: true,\n imports: [CommonModule, FormsModule, SuiSelectMenuDirective, SuiSelectMenuItemDirective],\n selector: 'sui-select',\n encapsulation: ViewEncapsulation.None,\n template: `\n <i class=\"dropdown icon\"></i>\n\n <!-- Multiple Select Display -->\n <ng-container *ngIf=\"suiMultiple\">\n <ng-container *ngFor=\"let option of selectedOptions\">\n <a class=\"ui label transition visible\"\n style=\"display: inline-block !important;\">\n <ng-container *ngIf=\"option.image\">\n <img class=\"ui mini image\"\n alt=\"Dropdown option image\"\n [class.avatar]=\"option.image.avatar\"\n [src]=\"option.image.src\"/>\n </ng-container>\n <ng-container *ngIf=\"option.flag\">\n <i [className]=\"'flag ' + option.flag\"></i>\n </ng-container>\n\n {{ option.text }}\n\n <i class=\"delete icon\"\n (click)=\"removeSelection(option, $event)\"></i>\n </a>\n </ng-container>\n\n <div class=\"default text\">{{ suiPlaceholder }}</div>\n </ng-container>\n\n <!-- Search Section -->\n <ng-container *ngIf=\"suiSearch\">\n <input class=\"search\"\n autocomplete=\"off\"\n tabindex=\"0\"\n [(ngModel)]=\"searchTerm\"\n (focus)=\"onClick()\"\n (keyup)=\"onSearch()\">\n </ng-container>\n\n <!-- Display Section -->\n <ng-container *ngIf=\"!suiMultiple\">\n <div\n [class.default]=\"isDefaultText\"\n [class.filtered]=\"isFilteredText\"\n [class.text]=\"true\">\n <ng-container *ngIf=\"selectedOption\">\n <ng-container *ngIf=\"selectedOption.image\">\n <img class=\"ui mini image\"\n alt=\"Dropdown option image\"\n [class.avatar]=\"selectedOption.image.avatar\"\n [src]=\"selectedOption.image.src\"/>\n </ng-container>\n <ng-container *ngIf=\"selectedOption.flag\">\n <i [className]=\"'flag ' + selectedOption.flag\"></i>\n </ng-container>\n\n {{ selectedOption.text }}\n </ng-container>\n\n <ng-container *ngIf=\"!selectedOption\">\n {{ suiPlaceholder }}\n </ng-container>\n </div>\n </ng-container>\n\n <!-- Drop Down Menu Section -->\n <div suiSelectMenu>\n <ng-container *ngFor=\"let option of filteredOptions\">\n <div suiSelectMenuItem\n [suiValue]=\"option.value\"\n [suiSelected]=\"isActive(option)\"\n [suiMultiple]=\"suiMultiple\"\n (click)=\"onItemClick(option, $event)\">\n <ng-container *ngIf=\"option.image\">\n <img class=\"ui mini image\"\n alt=\"Dropdown option image\"\n [class.avatar]=\"option.image.avatar\"\n [src]=\"option.image.src\"/>\n </ng-container>\n <ng-container *ngIf=\"option.flag\">\n <i [className]=\"'flag ' + option.flag\"></i>\n </ng-container>\n {{ option.text }}\n </div>\n </ng-container>\n <ng-container *ngIf=\"hasNoSearchResults()\">\n <div class=\"message\"\n (click)=\"$event.stopPropagation()\">\n No results found.\n </div>\n </ng-container>\n </div>\n `,\n providers: [ {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SuiSelectComponent),\n multi: true\n } ]\n})\nexport class SuiSelectComponent implements AfterViewInit, ControlValueAccessor {\n @ViewChild(SuiSelectMenuDirective) public optionsMenu!: SuiSelectMenuDirective;\n\n @Output() public suiSelectionChanged = new EventEmitter<any | any[]>();\n @Input() public suiPlaceholder: string | null = null;\n @Input() @InputBoolean() public suiSearch = false;\n @Input() @InputBoolean() public suiFluid = false;\n @Input() @InputBoolean() public suiInline = false;\n @Input() @InputBoolean() public suiLoading = false;\n @Input() @InputBoolean() public suiError = false;\n @Input() @InputBoolean() public disabled = false;\n @Input() @InputBoolean() public suiScrolling = false;\n @Input() @InputBoolean() public suiCompact = false;\n @Input() @InputBoolean() public name: string | null = null;\n @Input() @InputBoolean() public suiMultiple = false;\n\n private isOpen = false;\n private isSearching = false;\n private selectedValues: any[] = [];\n public searchTerm = '';\n private allOptions: ISelectOption[] = [];\n public filteredOptions: ISelectOption[] = [];\n public selectedOption: ISelectOption | undefined = undefined;\n public selectedOptions: ISelectOption[] = [];\n\n private controlValueChangeFn: (value: any | any[]) => void = () => {\n }\n\n @Input()\n set suiOptions(options: ISelectOption[]) {\n this.allOptions = this.filteredOptions = options;\n }\n\n get suiOptions(): ISelectOption[] {\n return this.allOptions;\n }\n\n @HostBinding('tabindex')\n get tabIndex(): number {\n return 0;\n }\n\n @HostBinding('class')\n get classes(): string {\n return ClassUtils.combineToClass([\n 'ui',\n ClassUtils.getPropClass(this.suiFluid, 'fluid'),\n ClassUtils.getPropClass(this.suiCompact, 'compact'),\n ClassUtils.getPropClass(this.suiSearch, 'search'),\n ClassUtils.getPropClass(this.suiLoading, 'loading'),\n 'selection',\n ClassUtils.getPropClass(this.suiInline, 'inline'),\n ClassUtils.getPropClass(this.disabled, 'disabled'),\n ClassUtils.getPropClass(this.suiScrolling, 'scrolling'),\n 'dropdown',\n ClassUtils.getPropClass(this.suiMultiple, 'multiple'),\n ClassUtils.getPropClass(this.isOpen, 'active'),\n ClassUtils.getPropClass(this.isOpen, 'visible'),\n ClassUtils.getPropClass(this.suiError, 'error')\n ]);\n }\n\n constructor(private changeDetectorRef: ChangeDetectorRef) {\n }\n\n public get multiple(): string | undefined {\n return this.suiMultiple ? '' : undefined;\n }\n\n public get isDefaultText(): boolean {\n if (!this.selectedOption) {\n return true;\n }\n\n if (this.suiSearch) {\n return false;\n }\n\n return !this.selectedOption;\n }\n\n public get isFilteredText(): boolean {\n if (!this.suiSearch) {\n return false;\n }\n\n return this.isSearching;\n }\n\n @HostListener('click')\n public onClick(): void {\n if (this.disabled) {\n return;\n }\n\n this.isOpen = !this.isOpen;\n\n // handle selection dropdown\n if (this.optionsMenu) {\n this.optionsMenu.suiIsOpen = this.isOpen;\n }\n }\n\n public ngAfterViewInit(): void {\n if (!this.optionsMenu) {\n throw new Error('An error occurred rendering the options.');\n }\n }\n\n public onSearch(): void {\n this.isSearching = !!this.searchTerm;\n\n // if the user is searching, then keep the dropdown open\n if (this.optionsMenu) {\n this.isOpen = true;\n this.optionsMenu.suiIsOpen = true;\n }\n\n // limit the options displayed\n this.filteredOptions = this.allOptions\n .filter((x) => x.text.toLocaleLowerCase()\n .includes(this.searchTerm.toLocaleLowerCase()));\n }\n\n public isActive(option: ISelectOption): boolean {\n if (this.suiMultiple) {\n return this.selectedValues.includes(option.value);\n } else {\n return this.selectedOption === option;\n }\n }\n\n public hasNoSearchResults(): boolean {\n if (!this.suiSearch) {\n return false;\n }\n\n return this.filteredOptions.length === 0;\n }\n\n public onItemClick(option: ISelectOption, event: Event): void {\n // handle single select\n if (!this.suiMultiple) {\n const valueChanged = this.selectedOption?.value !== option.value;\n this.selectedOption = option;\n\n if (valueChanged) {\n this.controlValueChangeFn(option.value);\n this.suiSelectionChanged.emit(option.value);\n }\n }\n\n // handle multiple select\n if (this.suiMultiple) {\n const valueChanged = !this.selectedValues.includes(option.value);\n\n if (valueChanged) {\n this.selectedValues.push(option.value);\n this.selectedOptions.push(option);\n\n this.controlValueChangeFn(this.selectedValues);\n this.suiSelectionChanged.emit(this.selectedValues);\n }\n\n event.stopPropagation();\n }\n\n // clear search\n this.isSearching = false;\n this.searchTerm = '';\n }\n\n public removeSelection(option: ISelectOption, event: Event): void {\n if (!this.suiMultiple) {\n return;\n }\n\n if (!this.selectedValues.includes(option.value)) {\n return;\n }\n\n this.selectedValues = this.selectedValues.filter((x) => x !== option.value);\n this.selectedOptions = this.selectedOptions.filter((x) => x !== option);\n\n this.controlValueChangeFn(this.selectedValues);\n this.suiSelectionChanged.emit(this.selectedValues);\n\n event.stopPropagation();\n }\n\n public writeValue(value: any | any[]): void {\n const valueChanged = value !== this.selectedOption?.value;\n\n if (valueChanged) {\n this.suiSelectionChanged.emit(value);\n }\n\n const matchedOptions = this.allOptions\n .filter((x) => x.value === value);\n this.selectedOption = matchedOptions[0];\n this.changeDetectorRef.markForCheck();\n }\n\n public registerOnChange(fn: any): void {\n this.controlValueChangeFn = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.controlValueChangeFn = fn;\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {SuiSelectComponent} from './select.component';\n\n@NgModule({\n exports: [\n SuiSelectComponent,\n ],\n imports: [\n SuiSelectComponent\n ]\n})\nexport class SuiSelectModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-semantic-modules-select.mjs","sources":["../../src/modules/select/interfaces/ISelectOption.ts","../../src/modules/select/select-menu.directive.ts","../../src/modules/select/select-menu-item.directive.ts","../../src/modules/select/select.component.ts","../../src/modules/select/select.module.ts","../../src/modules/select/ngx-semantic-modules-select.ts"],"sourcesContent":["/**\n * Created by bolor on 11/2/2020\n */\n\nimport { ISelectOptionImage } from './ISelectOptionImage';\n\nexport interface ISelectOption {\n text: string;\n value: any;\n image?: ISelectOptionImage;\n flag?: string;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\n\nexport type SuiSelectMenuDirection = 'left' | 'right' | null;\n\n@Directive({\n standalone: true,\n selector: '[suiSelectMenu]'\n})\nexport class SuiSelectMenuDirective {\n @Input() public suiDirection: SuiSelectMenuDirection = null;\n @Input() @InputBoolean() public suiScrolling = false;\n\n private isOpen = false;\n\n @Input()\n set suiIsOpen(isOpen: boolean) {\n this.isOpen = isOpen;\n }\n\n get suiIsOpen(): boolean {\n return this.isOpen;\n }\n\n @HostBinding('tabindex')\n get tabIndex(): number {\n return -1;\n }\n\n @HostBinding('class')\n get classes(): string {\n return [\n ClassUtils.getPropClass(this.suiScrolling, 'scrolling'),\n this.suiDirection,\n 'menu',\n 'transition',\n ClassUtils.getPropClass(!this.isOpen, 'hidden'),\n ClassUtils.getPropClass(this.isOpen, 'visible')\n ].join(' ');\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\n\n@Directive({\n standalone: true,\n selector: '[suiSelectMenuItem]'\n})\nexport class SuiSelectMenuItemDirective {\n @Input() public suiValue: any = null;\n @Input() @InputBoolean() public suiSelected = false;\n @Input() @InputBoolean() public suiMultiple = false;\n\n @HostBinding('class')\n get classes(): string {\n return [\n 'item',\n ClassUtils.getPropClass(this.suiSelected, 'active'),\n ClassUtils.getPropClass(!this.suiMultiple && this.suiSelected, 'selected'),\n ClassUtils.getPropClass(this.suiMultiple && this.suiSelected, 'filtered')\n ].join(' ');\n }\n}\n","import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, forwardRef, HostBinding, HostListener, Input, Output, ViewChild, ViewEncapsulation, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { SuiSelectMenuDirective } from './select-menu.directive';\nimport { SuiSelectMenuItemDirective } from './select-menu-item.directive';\nimport { ISelectOption } from './interfaces/ISelectOption';\n\n@Component({\n standalone: true,\n imports: [CommonModule, FormsModule, SuiSelectMenuDirective, SuiSelectMenuItemDirective],\n selector: 'sui-select',\n encapsulation: ViewEncapsulation.None,\n template: `\n <i class=\"dropdown icon\"></i>\n\n <!-- Multiple Select Display -->\n @if (suiMultiple) {\n @for (option of selectedOptions; track option) {\n <a class=\"ui label transition visible\"\n style=\"display: inline-block !important;\">\n @if (option.image) {\n <img class=\"ui mini image\"\n alt=\"Dropdown option image\"\n [class.avatar]=\"option.image.avatar\"\n [src]=\"option.image.src\"/>\n }\n @if (option.flag) {\n <i [className]=\"'flag ' + option.flag\"></i>\n }\n\n {{ option.text }}\n\n <i class=\"delete icon\"\n (click)=\"removeSelection(option, $event)\"></i>\n </a>\n }\n\n <div class=\"default text\">{{ suiPlaceholder }}</div>\n }\n\n <!-- Search Section -->\n @if (suiSearch) {\n <input class=\"search\"\n autocomplete=\"off\"\n tabindex=\"0\"\n [(ngModel)]=\"searchTerm\"\n (focus)=\"onClick()\"\n (keyup)=\"onSearch()\">\n }\n\n <!-- Display Section -->\n @if (!suiMultiple) {\n <div\n [class.default]=\"isDefaultText\"\n [class.filtered]=\"isFilteredText\"\n [class.text]=\"true\">\n @if (selectedOption) {\n @if (selectedOption.image) {\n <img class=\"ui mini image\"\n alt=\"Dropdown option image\"\n [class.avatar]=\"selectedOption.image.avatar\"\n [src]=\"selectedOption.image.src\"/>\n }\n @if (selectedOption.flag) {\n <i [className]=\"'flag ' + selectedOption.flag\"></i>\n }\n\n {{ selectedOption.text }}\n }\n\n @if (!selectedOption) {\n {{ suiPlaceholder }}\n }\n </div>\n }\n\n <!-- Drop Down Menu Section -->\n <div suiSelectMenu>\n @for (option of filteredOptions; track option) {\n <div suiSelectMenuItem\n [suiValue]=\"option.value\"\n [suiSelected]=\"isActive(option)\"\n [suiMultiple]=\"suiMultiple\"\n (click)=\"onItemClick(option, $event)\">\n @if (option.image) {\n <img class=\"ui mini image\"\n alt=\"Dropdown option image\"\n [class.avatar]=\"option.image.avatar\"\n [src]=\"option.image.src\"/>\n }\n @if (option.flag) {\n <i [className]=\"'flag ' + option.flag\"></i>\n }\n {{ option.text }}\n </div>\n }\n @if (hasNoSearchResults()) {\n <div class=\"message\"\n (click)=\"$event.stopPropagation()\">\n No results found.\n </div>\n }\n </div>\n `,\n providers: [ {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SuiSelectComponent),\n multi: true\n } ]\n})\nexport class SuiSelectComponent implements AfterViewInit, ControlValueAccessor {\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n @ViewChild(SuiSelectMenuDirective) public optionsMenu!: SuiSelectMenuDirective;\n\n @Output() public suiSelectionChanged = new EventEmitter<any | any[]>();\n @Input() public suiPlaceholder: string | null = null;\n @Input() @InputBoolean() public suiSearch = false;\n @Input() @InputBoolean() public suiFluid = false;\n @Input() @InputBoolean() public suiInline = false;\n @Input() @InputBoolean() public suiLoading = false;\n @Input() @InputBoolean() public suiError = false;\n @Input() @InputBoolean() public disabled = false;\n @Input() @InputBoolean() public suiScrolling = false;\n @Input() @InputBoolean() public suiCompact = false;\n @Input() @InputBoolean() public name: string | null = null;\n @Input() @InputBoolean() public suiMultiple = false;\n\n private isOpen = false;\n private isSearching = false;\n private selectedValues: any[] = [];\n public searchTerm = '';\n private allOptions: ISelectOption[] = [];\n public filteredOptions: ISelectOption[] = [];\n public selectedOption: ISelectOption | undefined = undefined;\n public selectedOptions: ISelectOption[] = [];\n\n private controlValueChangeFn: (value: any | any[]) => void = () => {\n }\n\n @Input()\n set suiOptions(options: ISelectOption[]) {\n this.allOptions = this.filteredOptions = options;\n }\n\n get suiOptions(): ISelectOption[] {\n return this.allOptions;\n }\n\n @HostBinding('tabindex')\n get tabIndex(): number {\n return 0;\n }\n\n @HostBinding('class')\n get classes(): string {\n return ClassUtils.combineToClass([\n 'ui',\n ClassUtils.getPropClass(this.suiFluid, 'fluid'),\n ClassUtils.getPropClass(this.suiCompact, 'compact'),\n ClassUtils.getPropClass(this.suiSearch, 'search'),\n ClassUtils.getPropClass(this.suiLoading, 'loading'),\n 'selection',\n ClassUtils.getPropClass(this.suiInline, 'inline'),\n ClassUtils.getPropClass(this.disabled, 'disabled'),\n ClassUtils.getPropClass(this.suiScrolling, 'scrolling'),\n 'dropdown',\n ClassUtils.getPropClass(this.suiMultiple, 'multiple'),\n ClassUtils.getPropClass(this.isOpen, 'active'),\n ClassUtils.getPropClass(this.isOpen, 'visible'),\n ClassUtils.getPropClass(this.suiError, 'error')\n ]);\n }\n\n public get multiple(): string | undefined {\n return this.suiMultiple ? '' : undefined;\n }\n\n public get isDefaultText(): boolean {\n if (!this.selectedOption) {\n return true;\n }\n\n if (this.suiSearch) {\n return false;\n }\n\n return !this.selectedOption;\n }\n\n public get isFilteredText(): boolean {\n if (!this.suiSearch) {\n return false;\n }\n\n return this.isSearching;\n }\n\n @HostListener('click')\n public onClick(): void {\n if (this.disabled) {\n return;\n }\n\n this.isOpen = !this.isOpen;\n\n // handle selection dropdown\n if (this.optionsMenu) {\n this.optionsMenu.suiIsOpen = this.isOpen;\n }\n }\n\n public ngAfterViewInit(): void {\n if (!this.optionsMenu) {\n throw new Error('An error occurred rendering the options.');\n }\n }\n\n public onSearch(): void {\n this.isSearching = !!this.searchTerm;\n\n // if the user is searching, then keep the dropdown open\n if (this.optionsMenu) {\n this.isOpen = true;\n this.optionsMenu.suiIsOpen = true;\n }\n\n // limit the options displayed\n this.filteredOptions = this.allOptions\n .filter((x) => x.text.toLocaleLowerCase()\n .includes(this.searchTerm.toLocaleLowerCase()));\n }\n\n public isActive(option: ISelectOption): boolean {\n if (this.suiMultiple) {\n return this.selectedValues.includes(option.value);\n } else {\n return this.selectedOption === option;\n }\n }\n\n public hasNoSearchResults(): boolean {\n if (!this.suiSearch) {\n return false;\n }\n\n return this.filteredOptions.length === 0;\n }\n\n public onItemClick(option: ISelectOption, event: Event): void {\n // handle single select\n if (!this.suiMultiple) {\n const valueChanged = this.selectedOption?.value !== option.value;\n this.selectedOption = option;\n\n if (valueChanged) {\n this.controlValueChangeFn(option.value);\n this.suiSelectionChanged.emit(option.value);\n }\n }\n\n // handle multiple select\n if (this.suiMultiple) {\n const valueChanged = !this.selectedValues.includes(option.value);\n\n if (valueChanged) {\n this.selectedValues.push(option.value);\n this.selectedOptions.push(option);\n\n this.controlValueChangeFn(this.selectedValues);\n this.suiSelectionChanged.emit(this.selectedValues);\n }\n\n event.stopPropagation();\n }\n\n // clear search\n this.isSearching = false;\n this.searchTerm = '';\n }\n\n public removeSelection(option: ISelectOption, event: Event): void {\n if (!this.suiMultiple) {\n return;\n }\n\n if (!this.selectedValues.includes(option.value)) {\n return;\n }\n\n this.selectedValues = this.selectedValues.filter((x) => x !== option.value);\n this.selectedOptions = this.selectedOptions.filter((x) => x !== option);\n\n this.controlValueChangeFn(this.selectedValues);\n this.suiSelectionChanged.emit(this.selectedValues);\n\n event.stopPropagation();\n }\n\n public writeValue(value: any | any[]): void {\n const valueChanged = value !== this.selectedOption?.value;\n\n if (valueChanged) {\n this.suiSelectionChanged.emit(value);\n }\n\n const matchedOptions = this.allOptions\n .filter((x) => x.value === value);\n this.selectedOption = matchedOptions[0];\n this.changeDetectorRef.markForCheck();\n }\n\n public registerOnChange(fn: any): void {\n this.controlValueChangeFn = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.controlValueChangeFn = fn;\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SuiSelectComponent } from './select.component';\n\n@NgModule({\n exports: [\n SuiSelectComponent,\n ],\n imports: [\n SuiSelectComponent\n ]\n})\nexport class SuiSelectModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i1 from '@angular/common';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { ViewChild, ViewEncapsulation, Component, EventEmitter, Output, Input, ContentChildren, NgModule } from '@angular/core';
|
|
4
|
+
import { ViewChild, ViewEncapsulation, Component, inject, ChangeDetectorRef, NgZone, EventEmitter, Output, Input, ContentChildren, NgModule } from '@angular/core';
|
|
5
5
|
import { __decorate } from 'tslib';
|
|
6
6
|
import { InputBoolean } from 'ngx-semantic/core/util';
|
|
7
7
|
|
|
@@ -88,9 +88,9 @@ function getTransitionEventName() {
|
|
|
88
88
|
return 'transitionend';
|
|
89
89
|
}
|
|
90
90
|
class SuiShapeComponent {
|
|
91
|
-
constructor(
|
|
92
|
-
this.cdr =
|
|
93
|
-
this.zone =
|
|
91
|
+
constructor() {
|
|
92
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
93
|
+
this.zone = inject(NgZone);
|
|
94
94
|
/** Animation length in ms. `null` skips inline `transition-duration` (Semantic UI CSS defaults). */
|
|
95
95
|
this.suiDuration = null;
|
|
96
96
|
/** Width during animation: initial size, next side’s size, or a fixed pixel width. */
|
|
@@ -549,7 +549,7 @@ class SuiShapeComponent {
|
|
|
549
549
|
transform: 'rotateY(-180deg)'
|
|
550
550
|
};
|
|
551
551
|
}
|
|
552
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiShapeComponent, deps: [
|
|
552
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiShapeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
553
553
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.7", type: SuiShapeComponent, isStandalone: true, selector: "sui-shape", inputs: { suiDuration: "suiDuration", suiWidth: "suiWidth", suiHeight: "suiHeight", suiJitter: "suiJitter", suiAllowRepeats: "suiAllowRepeats", suiCube: "suiCube", suiText: "suiText" }, outputs: { suiBeforeChange: "suiBeforeChange", suiOnChange: "suiOnChange" }, queries: [{ propertyName: "sideList", predicate: SuiShapeSideComponent }], viewQueries: [{ propertyName: "shapeEl", first: true, predicate: ["shapeEl"], descendants: true, static: true }, { propertyName: "sidesEl", first: true, predicate: ["sidesEl"], descendants: true, static: true }], exportAs: ["suiShape"], ngImport: i0, template: `
|
|
554
554
|
<div
|
|
555
555
|
#shapeEl
|
|
@@ -595,7 +595,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
|
|
|
595
595
|
</div>
|
|
596
596
|
`
|
|
597
597
|
}]
|
|
598
|
-
}],
|
|
598
|
+
}], propDecorators: { sideList: [{
|
|
599
599
|
type: ContentChildren,
|
|
600
600
|
args: [SuiShapeSideComponent]
|
|
601
601
|
}], shapeEl: [{
|