@agorapulse/ui-components 16.2.22 → 16.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/agorapulse-ui-components-16.3.0.tgz +0 -0
  2. package/autocomplete/autocomplete.component.d.ts +3 -3
  3. package/esm2022/autocomplete/autocomplete.component.mjs +21 -8
  4. package/esm2022/datepicker/datepicker.component.mjs +3 -3
  5. package/esm2022/form-field/agorapulse-ui-components-form-field.mjs +5 -0
  6. package/esm2022/form-field/form-field.component.mjs +11 -0
  7. package/esm2022/form-field/public_api.mjs +2 -0
  8. package/esm2022/form-message/agorapulse-ui-components-form-message.mjs +5 -0
  9. package/esm2022/form-message/form-message.component.mjs +34 -0
  10. package/esm2022/form-message/public_api.mjs +2 -0
  11. package/esm2022/index.mjs +4 -4
  12. package/esm2022/input/input.directive.mjs +19 -0
  13. package/esm2022/input/public_api.mjs +2 -2
  14. package/esm2022/input-group/agorapulse-ui-components-input-group.mjs +5 -0
  15. package/esm2022/input-group/input-group.component.mjs +14 -0
  16. package/esm2022/input-group/public_api.mjs +2 -0
  17. package/esm2022/labels/label.component.mjs +3 -3
  18. package/esm2022/legacy/input/agorapulse-ui-components-legacy-input.mjs +5 -0
  19. package/esm2022/{input → legacy/input}/input.component.mjs +4 -1
  20. package/esm2022/legacy/input/public_api.mjs +2 -0
  21. package/esm2022/legacy/select/agorapulse-ui-components-legacy-select.mjs +5 -0
  22. package/esm2022/legacy/select/public_api.mjs +2 -0
  23. package/esm2022/{select → legacy/select}/select.component.mjs +5 -2
  24. package/esm2022/legacy/textarea/agorapulse-ui-components-legacy-textarea.mjs +5 -0
  25. package/esm2022/legacy/textarea/public_api.mjs +2 -0
  26. package/esm2022/{textarea → legacy/textarea}/textarea.component.mjs +4 -1
  27. package/esm2022/select/ap-select.module.mjs +72 -0
  28. package/esm2022/select/dropdown-group-item/dropdown-group-item.component.mjs +52 -0
  29. package/esm2022/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.mjs +61 -0
  30. package/esm2022/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.mjs +65 -0
  31. package/esm2022/select/dropdown-item-single-one-line/dropdown-item-single-one-line.component.mjs +39 -0
  32. package/esm2022/select/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.mjs +43 -0
  33. package/esm2022/select/dropdown-search-form/dropdown-search-form.component.mjs +77 -0
  34. package/esm2022/select/public_api.mjs +13 -2
  35. package/esm2022/select/select-base.directive.mjs +69 -0
  36. package/esm2022/select/select-label-multiple/select-label-multiple.component.mjs +111 -0
  37. package/esm2022/select/select-label-single/select-label-single.component.mjs +27 -0
  38. package/esm2022/select/select-multiple.directive.mjs +34 -0
  39. package/esm2022/select/select-single.directive.mjs +34 -0
  40. package/esm2022/textarea/public_api.mjs +2 -2
  41. package/esm2022/textarea/textarea.directive.mjs +40 -0
  42. package/fesm2022/agorapulse-ui-components-autocomplete.mjs +20 -7
  43. package/fesm2022/agorapulse-ui-components-autocomplete.mjs.map +1 -1
  44. package/fesm2022/agorapulse-ui-components-datepicker.mjs +2 -2
  45. package/fesm2022/agorapulse-ui-components-datepicker.mjs.map +1 -1
  46. package/fesm2022/agorapulse-ui-components-form-field.mjs +18 -0
  47. package/fesm2022/agorapulse-ui-components-form-field.mjs.map +1 -0
  48. package/fesm2022/agorapulse-ui-components-form-message.mjs +41 -0
  49. package/fesm2022/agorapulse-ui-components-form-message.mjs.map +1 -0
  50. package/fesm2022/agorapulse-ui-components-input-group.mjs +21 -0
  51. package/fesm2022/agorapulse-ui-components-input-group.mjs.map +1 -0
  52. package/fesm2022/agorapulse-ui-components-input.mjs +16 -184
  53. package/fesm2022/agorapulse-ui-components-input.mjs.map +1 -1
  54. package/fesm2022/agorapulse-ui-components-labels.mjs +2 -2
  55. package/fesm2022/agorapulse-ui-components-labels.mjs.map +1 -1
  56. package/fesm2022/agorapulse-ui-components-legacy-input.mjs +197 -0
  57. package/fesm2022/agorapulse-ui-components-legacy-input.mjs.map +1 -0
  58. package/fesm2022/agorapulse-ui-components-legacy-select.mjs +460 -0
  59. package/fesm2022/agorapulse-ui-components-legacy-select.mjs.map +1 -0
  60. package/fesm2022/agorapulse-ui-components-legacy-textarea.mjs +162 -0
  61. package/fesm2022/agorapulse-ui-components-legacy-textarea.mjs.map +1 -0
  62. package/fesm2022/agorapulse-ui-components-select.mjs +562 -395
  63. package/fesm2022/agorapulse-ui-components-select.mjs.map +1 -1
  64. package/fesm2022/agorapulse-ui-components-textarea.mjs +29 -141
  65. package/fesm2022/agorapulse-ui-components-textarea.mjs.map +1 -1
  66. package/fesm2022/agorapulse-ui-components.mjs +3 -3
  67. package/fesm2022/agorapulse-ui-components.mjs.map +1 -1
  68. package/form-field/form-field.component.d.ts +5 -0
  69. package/form-field/index.d.ts +5 -0
  70. package/form-field/public_api.d.ts +1 -0
  71. package/form-message/form-message.component.d.ts +12 -0
  72. package/form-message/index.d.ts +5 -0
  73. package/form-message/public_api.d.ts +1 -0
  74. package/index.d.ts +3 -3
  75. package/input/input.directive.d.ts +7 -0
  76. package/input/public_api.d.ts +1 -1
  77. package/input-group/index.d.ts +5 -0
  78. package/input-group/input-group.component.d.ts +6 -0
  79. package/input-group/public_api.d.ts +1 -0
  80. package/legacy/input/index.d.ts +5 -0
  81. package/{input → legacy/input}/input.component.d.ts +3 -0
  82. package/legacy/input/public_api.d.ts +1 -0
  83. package/legacy/select/index.d.ts +5 -0
  84. package/legacy/select/public_api.d.ts +1 -0
  85. package/{select → legacy/select}/select.component.d.ts +4 -1
  86. package/legacy/textarea/index.d.ts +5 -0
  87. package/legacy/textarea/public_api.d.ts +1 -0
  88. package/{textarea → legacy/textarea}/textarea.component.d.ts +3 -0
  89. package/package.json +37 -1
  90. package/select/ap-select.module.d.ts +16 -0
  91. package/select/dropdown-group-item/dropdown-group-item.component.d.ts +16 -0
  92. package/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.d.ts +20 -0
  93. package/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.d.ts +21 -0
  94. package/select/dropdown-item-single-one-line/dropdown-item-single-one-line.component.d.ts +12 -0
  95. package/select/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.d.ts +13 -0
  96. package/select/dropdown-search-form/dropdown-search-form.component.d.ts +22 -0
  97. package/select/public_api.d.ts +12 -1
  98. package/select/select-base.directive.d.ts +18 -0
  99. package/select/select-label-multiple/select-label-multiple.component.d.ts +29 -0
  100. package/select/select-label-single/select-label-single.component.d.ts +8 -0
  101. package/select/select-multiple.directive.d.ts +10 -0
  102. package/select/select-single.directive.d.ts +10 -0
  103. package/snackbars-thread/component/snackbars-thread.component.d.ts +1 -1
  104. package/textarea/public_api.d.ts +1 -1
  105. package/textarea/textarea.directive.d.ts +11 -0
  106. package/agorapulse-ui-components-16.2.22.tgz +0 -0
@@ -0,0 +1,77 @@
1
+ import { LoaderComponent } from '@agorapulse/ui-animations';
2
+ import { InputDirective } from '@agorapulse/ui-components/input';
3
+ import { InputGroupComponent } from '@agorapulse/ui-components/input-group';
4
+ import { SymbolComponent } from '@agorapulse/ui-symbol';
5
+ import { NgIf } from '@angular/common';
6
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, TemplateRef, ViewChild, ViewEncapsulation, signal, } from '@angular/core';
7
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
8
+ import { FormsModule } from '@angular/forms';
9
+ import { BehaviorSubject, filter } from 'rxjs';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/forms";
12
+ export class DropdownSearchFormComponent {
13
+ searchPlaceholder = '';
14
+ createNewEnabled = false;
15
+ createText = 'Create';
16
+ select;
17
+ inputSearch;
18
+ notFoundTpl;
19
+ loadingTpl;
20
+ createNewTpl;
21
+ createNew = new EventEmitter();
22
+ searchTermSignal = signal('');
23
+ searchTerm$ = new BehaviorSubject('');
24
+ constructor() {
25
+ this.searchTerm$
26
+ .pipe(filter(() => !!this.select), takeUntilDestroyed())
27
+ .subscribe(term => {
28
+ this.searchTermSignal.set(term);
29
+ this.select.filter(term);
30
+ });
31
+ }
32
+ ngAfterViewInit() {
33
+ setTimeout(() => {
34
+ this.inputSearch.nativeElement.focus();
35
+ }, 100);
36
+ this.select.notFoundTemplate = this.notFoundTpl;
37
+ this.select.loadingTextTemplate = this.loadingTpl;
38
+ if (this.createNewEnabled) {
39
+ this.select.footerTemplate = this.createNewTpl;
40
+ }
41
+ }
42
+ onCreateNew() {
43
+ this.createNew.emit(this.searchTermSignal());
44
+ }
45
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: DropdownSearchFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
46
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: DropdownSearchFormComponent, isStandalone: true, selector: "ap-dropdown-search-form", inputs: { searchPlaceholder: "searchPlaceholder", createNewEnabled: "createNewEnabled", createText: "createText", select: "select" }, outputs: { createNew: "createNew" }, viewQueries: [{ propertyName: "inputSearch", first: true, predicate: ["inputSearch"], descendants: true }, { propertyName: "notFoundTpl", first: true, predicate: ["notFoundTpl"], descendants: true, read: TemplateRef }, { propertyName: "loadingTpl", first: true, predicate: ["loadingTpl"], descendants: true, read: TemplateRef }, { propertyName: "createNewTpl", first: true, predicate: ["createNewTpl"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<ap-input-group class=\"dropdown-search-input\">\n <ap-symbol symbolId=\"search-alternate\" />\n <input\n #inputSearch\n apInput\n [placeholder]=\"searchPlaceholder\"\n [ngModel]=\"searchTermSignal()\"\n (ngModelChange)=\"searchTerm$.next($event)\" />\n</ap-input-group>\n\n<ng-template #notFoundTpl>\n <div class=\"option not-found\">\n <span>{{ select.notFoundText ? select.notFoundText : 'Not found text' }}</span>\n </div>\n</ng-template>\n\n<ng-template #loadingTpl>\n <div class=\"loading-state\">\n <ap-loader diameter=\"30\" />\n <span>\n {{ select.loadingText ? select.loadingText : 'Loading Items'}}\n </span>\n </div>\n</ng-template>\n\n<ng-template #createNewTpl let-searchTerm=\"searchTerm\">\n <button\n class=\"create-new\"\n type=\"button\"\n (click)=\"onCreateNew()\">\n <ap-symbol\n symbolId=\"add-2022\"\n size=\"micro\" />\n <span>\n {{ createText }}\n </span>\n <ng-container *ngIf=\"searchTerm\">\"{{ searchTerm }}\"</ng-container>\n </button>\n</ng-template>", styles: ["ap-dropdown-search-form .dropdown-search-input .ap-input-group{width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputGroupComponent, selector: "ap-input-group", inputs: ["symbolPosition"] }, { kind: "directive", type: InputDirective, selector: "[apInput]" }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["color", "symbolId", "size"] }, { 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: "component", type: LoaderComponent, selector: "ap-loader", inputs: ["color", "diameter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: DropdownSearchFormComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'ap-dropdown-search-form', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [NgIf, InputGroupComponent, InputDirective, SymbolComponent, FormsModule, LoaderComponent], template: "<ap-input-group class=\"dropdown-search-input\">\n <ap-symbol symbolId=\"search-alternate\" />\n <input\n #inputSearch\n apInput\n [placeholder]=\"searchPlaceholder\"\n [ngModel]=\"searchTermSignal()\"\n (ngModelChange)=\"searchTerm$.next($event)\" />\n</ap-input-group>\n\n<ng-template #notFoundTpl>\n <div class=\"option not-found\">\n <span>{{ select.notFoundText ? select.notFoundText : 'Not found text' }}</span>\n </div>\n</ng-template>\n\n<ng-template #loadingTpl>\n <div class=\"loading-state\">\n <ap-loader diameter=\"30\" />\n <span>\n {{ select.loadingText ? select.loadingText : 'Loading Items'}}\n </span>\n </div>\n</ng-template>\n\n<ng-template #createNewTpl let-searchTerm=\"searchTerm\">\n <button\n class=\"create-new\"\n type=\"button\"\n (click)=\"onCreateNew()\">\n <ap-symbol\n symbolId=\"add-2022\"\n size=\"micro\" />\n <span>\n {{ createText }}\n </span>\n <ng-container *ngIf=\"searchTerm\">\"{{ searchTerm }}\"</ng-container>\n </button>\n</ng-template>", styles: ["ap-dropdown-search-form .dropdown-search-input .ap-input-group{width:100%}\n"] }]
51
+ }], ctorParameters: function () { return []; }, propDecorators: { searchPlaceholder: [{
52
+ type: Input
53
+ }], createNewEnabled: [{
54
+ type: Input
55
+ }], createText: [{
56
+ type: Input
57
+ }], select: [{
58
+ type: Input,
59
+ args: [{
60
+ required: true,
61
+ }]
62
+ }], inputSearch: [{
63
+ type: ViewChild,
64
+ args: ['inputSearch']
65
+ }], notFoundTpl: [{
66
+ type: ViewChild,
67
+ args: ['notFoundTpl', { read: TemplateRef }]
68
+ }], loadingTpl: [{
69
+ type: ViewChild,
70
+ args: ['loadingTpl', { read: TemplateRef }]
71
+ }], createNewTpl: [{
72
+ type: ViewChild,
73
+ args: ['createNewTpl', { read: TemplateRef }]
74
+ }], createNew: [{
75
+ type: Output
76
+ }] } });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VhcmNoLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NlbGVjdC9zcmMvZHJvcGRvd24tc2VhcmNoLWZvcm0vZHJvcGRvd24tc2VhcmNoLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NlbGVjdC9zcmMvZHJvcGRvd24tc2VhcmNoLWZvcm0vZHJvcGRvd24tc2VhcmNoLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQVcvQyxNQUFNLE9BQU8sMkJBQTJCO0lBQzNCLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUN2QixnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDekIsVUFBVSxHQUFHLFFBQVEsQ0FBQztJQUkvQixNQUFNLENBQXFCO0lBQ0QsV0FBVyxDQUFnQztJQUNwQixXQUFXLENBQW9CO0lBQ2hDLFVBQVUsQ0FBb0I7SUFDNUIsWUFBWSxDQUFvQjtJQUV4RSxTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUVqRCxnQkFBZ0IsR0FBRyxNQUFNLENBQVMsRUFBRSxDQUFDLENBQUM7SUFDdEMsV0FBVyxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRTlDO1FBQ0ksSUFBSSxDQUFDLFdBQVc7YUFDWCxJQUFJLENBQ0QsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQzNCLGtCQUFrQixFQUFFLENBQ3ZCO2FBQ0EsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxlQUFlO1FBQ1gsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbEQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUNsRDtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO3dHQTNDUSwyQkFBMkI7NEZBQTNCLDJCQUEyQixrYkFTRixXQUFXLG1HQUNaLFdBQVcsdUdBQ1QsV0FBVyw2QkMzQ2xELDJvQ0FzQ2Msc0lEUkEsSUFBSSw2RkFBRSxtQkFBbUIsdUZBQUUsY0FBYyxzREFBRSxlQUFlLDRGQUFFLFdBQVcsK21CQUFFLGVBQWU7OzRGQUV6RiwyQkFBMkI7a0JBVHZDLFNBQVM7K0JBQ0kseUJBQXlCLGNBR3ZCLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxXQUM1QixDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUM7MEVBRzFGLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFJTixNQUFNO3NCQUhMLEtBQUs7dUJBQUM7d0JBQ0gsUUFBUSxFQUFFLElBQUk7cUJBQ2pCO2dCQUV5QixXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ3lCLFdBQVc7c0JBQTNELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDQyxVQUFVO3NCQUF6RCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBQ0ksWUFBWTtzQkFBN0QsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUV0QyxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBJbnB1dERpcmVjdGl2ZSB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvaW5wdXQnO1xuaW1wb3J0IHsgSW5wdXRHcm91cENvbXBvbmVudCB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvaW5wdXQtZ3JvdXAnO1xuaW1wb3J0IHsgU3ltYm9sQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktc3ltYm9sJztcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5nU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcC1kcm9wZG93bi1zZWFyY2gtZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLXNlYXJjaC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1zZWFyY2gtZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgSW5wdXRHcm91cENvbXBvbmVudCwgSW5wdXREaXJlY3RpdmUsIFN5bWJvbENvbXBvbmVudCwgRm9ybXNNb2R1bGUsIExvYWRlckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duU2VhcmNoRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIEBJbnB1dCgpIHNlYXJjaFBsYWNlaG9sZGVyID0gJyc7XG4gICAgQElucHV0KCkgY3JlYXRlTmV3RW5hYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGNyZWF0ZVRleHQgPSAnQ3JlYXRlJztcbiAgICBASW5wdXQoe1xuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICB9KVxuICAgIHNlbGVjdCE6IE5nU2VsZWN0Q29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoJ2lucHV0U2VhcmNoJykgaW5wdXRTZWFyY2ghOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ25vdEZvdW5kVHBsJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBub3RGb3VuZFRwbCE6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQFZpZXdDaGlsZCgnbG9hZGluZ1RwbCcsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgbG9hZGluZ1RwbCE6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQFZpZXdDaGlsZCgnY3JlYXRlTmV3VHBsJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBjcmVhdGVOZXdUcGwhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQE91dHB1dCgpIGNyZWF0ZU5ldyA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgc2VhcmNoVGVybVNpZ25hbCA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgICBzZWFyY2hUZXJtJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hUZXJtJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+ICEhdGhpcy5zZWxlY3QpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHRlcm0gPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoVGVybVNpZ25hbC5zZXQodGVybSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3QuZmlsdGVyKHRlcm0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRTZWFyY2gubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9LCAxMDApO1xuICAgICAgICB0aGlzLnNlbGVjdC5ub3RGb3VuZFRlbXBsYXRlID0gdGhpcy5ub3RGb3VuZFRwbDtcbiAgICAgICAgdGhpcy5zZWxlY3QubG9hZGluZ1RleHRUZW1wbGF0ZSA9IHRoaXMubG9hZGluZ1RwbDtcbiAgICAgICAgaWYgKHRoaXMuY3JlYXRlTmV3RW5hYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3QuZm9vdGVyVGVtcGxhdGUgPSB0aGlzLmNyZWF0ZU5ld1RwbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ3JlYXRlTmV3KCkge1xuICAgICAgICB0aGlzLmNyZWF0ZU5ldy5lbWl0KHRoaXMuc2VhcmNoVGVybVNpZ25hbCgpKTtcbiAgICB9XG59XG4iLCI8YXAtaW5wdXQtZ3JvdXAgY2xhc3M9XCJkcm9wZG93bi1zZWFyY2gtaW5wdXRcIj5cbiAgICA8YXAtc3ltYm9sIHN5bWJvbElkPVwic2VhcmNoLWFsdGVybmF0ZVwiIC8+XG4gICAgPGlucHV0XG4gICAgICAgICNpbnB1dFNlYXJjaFxuICAgICAgICBhcElucHV0XG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlclwiXG4gICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaFRlcm1TaWduYWwoKVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlYXJjaFRlcm0kLm5leHQoJGV2ZW50KVwiIC8+XG48L2FwLWlucHV0LWdyb3VwPlxuXG48bmctdGVtcGxhdGUgI25vdEZvdW5kVHBsPlxuICAgIDxkaXYgY2xhc3M9XCJvcHRpb24gbm90LWZvdW5kXCI+XG4gICAgICAgIDxzcGFuPnt7IHNlbGVjdC5ub3RGb3VuZFRleHQgPyBzZWxlY3Qubm90Rm91bmRUZXh0IDogJ05vdCBmb3VuZCB0ZXh0JyB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZ1RwbD5cbiAgICA8ZGl2IGNsYXNzPVwibG9hZGluZy1zdGF0ZVwiPlxuICAgICAgICA8YXAtbG9hZGVyIGRpYW1ldGVyPVwiMzBcIiAvPlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgIHt7IHNlbGVjdC5sb2FkaW5nVGV4dCA/IHNlbGVjdC5sb2FkaW5nVGV4dCA6ICdMb2FkaW5nIEl0ZW1zJ319XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY3JlYXRlTmV3VHBsIGxldC1zZWFyY2hUZXJtPVwic2VhcmNoVGVybVwiPlxuICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJjcmVhdGUtbmV3XCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJvbkNyZWF0ZU5ldygpXCI+XG4gICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgIHN5bWJvbElkPVwiYWRkLTIwMjJcIlxuICAgICAgICAgICAgc2l6ZT1cIm1pY3JvXCIgLz5cbiAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICB7eyBjcmVhdGVUZXh0IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlYXJjaFRlcm1cIj5cInt7IHNlYXJjaFRlcm0gfX1cIjwvbmctY29udGFpbmVyPlxuICAgIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -1,2 +1,13 @@
1
- export * from './select.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zZWxlY3Qvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LmNvbXBvbmVudCc7XG4iXX0=
1
+ export { ApSelectModule } from './ap-select.module';
2
+ export { DropdownGroupItemComponent } from './dropdown-group-item/dropdown-group-item.component';
3
+ export { DropdownItemMultipleOneLineComponent } from './dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component';
4
+ export { DropdownItemMultipleTwoLinesComponent } from './dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component';
5
+ export { DropdownItemSingleOneLineComponent } from './dropdown-item-single-one-line/dropdown-item-single-one-line.component';
6
+ export { DropdownItemSingleTwoLinesComponent } from './dropdown-item-single-two-lines/dropdown-item-single-two-lines.component';
7
+ export { DropdownSearchFormComponent } from './dropdown-search-form/dropdown-search-form.component';
8
+ export { SelectBaseDirective } from './select-base.directive';
9
+ export { SelectLabelMultipleComponent } from './select-label-multiple/select-label-multiple.component';
10
+ export { SelectLabelSingleComponent } from './select-label-single/select-label-single.component';
11
+ export { SelectMultipleDirective } from './select-multiple.directive';
12
+ export { SelectSingleDirective } from './select-single.directive';
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zZWxlY3Qvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDZFQUE2RSxDQUFDO0FBQ25JLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBQ3RJLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQzdILE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBQ2hJLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQXBTZWxlY3RNb2R1bGUgfSBmcm9tICcuL2FwLXNlbGVjdC5tb2R1bGUnO1xuZXhwb3J0IHsgRHJvcGRvd25Hcm91cEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLWdyb3VwLWl0ZW0vZHJvcGRvd24tZ3JvdXAtaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0IHsgRHJvcGRvd25JdGVtTXVsdGlwbGVPbmVMaW5lQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi1pdGVtLW11bHRpcGxlLW9uZS1saW5lL2Ryb3Bkb3duLWl0ZW0tbXVsdGlwbGUtb25lLWxpbmUuY29tcG9uZW50JztcbmV4cG9ydCB7IERyb3Bkb3duSXRlbU11bHRpcGxlVHdvTGluZXNDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLWl0ZW0tbXVsdGlwbGUtdHdvLWxpbmVzL2Ryb3Bkb3duLWl0ZW0tbXVsdGlwbGUtdHdvLWxpbmVzLmNvbXBvbmVudCc7XG5leHBvcnQgeyBEcm9wZG93bkl0ZW1TaW5nbGVPbmVMaW5lQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi1pdGVtLXNpbmdsZS1vbmUtbGluZS9kcm9wZG93bi1pdGVtLXNpbmdsZS1vbmUtbGluZS5jb21wb25lbnQnO1xuZXhwb3J0IHsgRHJvcGRvd25JdGVtU2luZ2xlVHdvTGluZXNDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLWl0ZW0tc2luZ2xlLXR3by1saW5lcy9kcm9wZG93bi1pdGVtLXNpbmdsZS10d28tbGluZXMuY29tcG9uZW50JztcbmV4cG9ydCB7IERyb3Bkb3duU2VhcmNoRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24tc2VhcmNoLWZvcm0vZHJvcGRvd24tc2VhcmNoLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCB7IFNlbGVjdEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC1iYXNlLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTZWxlY3RMYWJlbE11bHRpcGxlQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QtbGFiZWwtbXVsdGlwbGUvc2VsZWN0LWxhYmVsLW11bHRpcGxlLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTZWxlY3RMYWJlbFNpbmdsZUNvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LWxhYmVsLXNpbmdsZS9zZWxlY3QtbGFiZWwtc2luZ2xlLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTZWxlY3RNdWx0aXBsZURpcmVjdGl2ZSB9IGZyb20gJy4vc2VsZWN0LW11bHRpcGxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTZWxlY3RTaW5nbGVEaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC1zaW5nbGUuZGlyZWN0aXZlJztcbiJdfQ==
@@ -0,0 +1,69 @@
1
+ import { SymbolComponent, SymbolRegistry, apAdd2022, apCheck2 } from '@agorapulse/ui-symbol';
2
+ import { Directive, ElementRef, Input, Renderer2, ViewContainerRef, inject } from '@angular/core';
3
+ import { NgSelectComponent } from '@ng-select/ng-select';
4
+ import * as i0 from "@angular/core";
5
+ export class SelectBaseDirective {
6
+ inlineLabel;
7
+ symbolId;
8
+ selectComponent = inject(NgSelectComponent);
9
+ el = inject(ElementRef);
10
+ renderer = inject(Renderer2);
11
+ viewContainerRef = inject(ViewContainerRef);
12
+ symbolRegistry = inject(SymbolRegistry);
13
+ constructor() {
14
+ this.selectComponent.appendTo = 'body';
15
+ this.selectComponent.searchable = false;
16
+ this.selectComponent.clearable = false;
17
+ this.selectComponent.markFirst = false;
18
+ this.selectComponent.selectableGroupAsModel = false;
19
+ this.selectComponent.tabIndex = 0;
20
+ this.symbolRegistry.registerSymbols([apCheck2, apAdd2022]);
21
+ }
22
+ ngOnInit() {
23
+ if (this.symbolId) {
24
+ this.addInlineSymbol(this.symbolId);
25
+ }
26
+ if (this.inlineLabel) {
27
+ this.addInlineLabel(this.inlineLabel);
28
+ }
29
+ }
30
+ ngAfterViewInit() {
31
+ if (!this.selectComponent.optionTemplate) {
32
+ throw new Error('optionTemplate is required for apSelect');
33
+ }
34
+ if (this.selectComponent.groupBy && !this.selectComponent.optgroupTemplate) {
35
+ throw new Error('optgroupTemplate is required for apSelect');
36
+ }
37
+ }
38
+ addInlineSymbol(symbolId) {
39
+ const componentRef = this.viewContainerRef.createComponent(SymbolComponent);
40
+ componentRef.instance.symbolId = symbolId;
41
+ componentRef.location.nativeElement.classList.add('inline-symbol');
42
+ // add class to component
43
+ this.renderer.insertBefore(this.el.nativeElement.getElementsByClassName('ng-select-container').item(0), componentRef.location.nativeElement, this.el.nativeElement.getElementsByClassName('ng-value-container').item(0));
44
+ }
45
+ addInlineLabel(label) {
46
+ const labelElement = this.renderer.createElement('label');
47
+ this.renderer.setProperty(labelElement, 'textContent', label);
48
+ this.renderer.addClass(labelElement, 'inline-label'); // Add appropriate CSS class
49
+ this.renderer.insertBefore(this.el.nativeElement.getElementsByClassName('ng-select-container').item(0), labelElement, this.el.nativeElement.getElementsByClassName('ng-value-container').item(0));
50
+ }
51
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SelectBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
52
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.10", type: SelectBaseDirective, isStandalone: true, selector: "ng-select[apSelect]", inputs: { inlineLabel: "inlineLabel", symbolId: "symbolId" }, host: { classAttribute: "ap-select" }, ngImport: i0 });
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SelectBaseDirective, decorators: [{
55
+ type: Directive,
56
+ args: [{
57
+ // eslint-disable-next-line @angular-eslint/directive-selector
58
+ selector: 'ng-select[apSelect]',
59
+ standalone: true,
60
+ host: {
61
+ class: 'ap-select',
62
+ },
63
+ }]
64
+ }], ctorParameters: function () { return []; }, propDecorators: { inlineLabel: [{
65
+ type: Input
66
+ }], symbolId: [{
67
+ type: Input
68
+ }] } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJhc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NlbGVjdC9zcmMvc2VsZWN0LWJhc2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RixPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBVXpELE1BQU0sT0FBTyxtQkFBbUI7SUFDbkIsV0FBVyxDQUFVO0lBQ3JCLFFBQVEsQ0FBVTtJQUVWLGVBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyRCxFQUFFLEdBQTRCLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqRCxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdCLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzVDLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFaEQ7UUFDSSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7UUFDdkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFDcEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN2QztRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUN6QztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxFQUFFO1lBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztTQUM5RDtRQUNELElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixFQUFFO1lBQ3hFLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztTQUNoRTtJQUNMLENBQUM7SUFFTyxlQUFlLENBQUMsUUFBZ0I7UUFDcEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM1RSxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDMUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuRSx5QkFBeUI7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQ3RCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLHFCQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUMzRSxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFDbkMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQzdFLENBQUM7SUFDTixDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQWE7UUFDaEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyw0QkFBNEI7UUFDbEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQ3RCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLHFCQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUMzRSxZQUFZLEVBQ1osSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQzdFLENBQUM7SUFDTixDQUFDO3dHQTNEUSxtQkFBbUI7NEZBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFSL0IsU0FBUzttQkFBQztvQkFDUCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLFdBQVc7cUJBQ3JCO2lCQUNKOzBFQUVZLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN5bWJvbENvbXBvbmVudCwgU3ltYm9sUmVnaXN0cnksIGFwQWRkMjAyMiwgYXBDaGVjazIgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1zeW1ib2wnO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBSZW5kZXJlcjIsIFZpZXdDb250YWluZXJSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdTZWxlY3RDb21wb25lbnQgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICduZy1zZWxlY3RbYXBTZWxlY3RdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdhcC1zZWxlY3QnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIEBJbnB1dCgpIGlubGluZUxhYmVsPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHN5bWJvbElkPzogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWxlY3RDb21wb25lbnQgPSBpbmplY3QoTmdTZWxlY3RDb21wb25lbnQpO1xuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+ID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHByaXZhdGUgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gICAgcHJpdmF0ZSBzeW1ib2xSZWdpc3RyeSA9IGluamVjdChTeW1ib2xSZWdpc3RyeSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RDb21wb25lbnQuYXBwZW5kVG8gPSAnYm9keSc7XG4gICAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50LnNlYXJjaGFibGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxlY3RDb21wb25lbnQuY2xlYXJhYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50Lm1hcmtGaXJzdCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdENvbXBvbmVudC5zZWxlY3RhYmxlR3JvdXBBc01vZGVsID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50LnRhYkluZGV4ID0gMDtcbiAgICAgICAgdGhpcy5zeW1ib2xSZWdpc3RyeS5yZWdpc3RlclN5bWJvbHMoW2FwQ2hlY2syLCBhcEFkZDIwMjJdKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc3ltYm9sSWQpIHtcbiAgICAgICAgICAgIHRoaXMuYWRkSW5saW5lU3ltYm9sKHRoaXMuc3ltYm9sSWQpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlubGluZUxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLmFkZElubGluZUxhYmVsKHRoaXMuaW5saW5lTGFiZWwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0Q29tcG9uZW50Lm9wdGlvblRlbXBsYXRlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ29wdGlvblRlbXBsYXRlIGlzIHJlcXVpcmVkIGZvciBhcFNlbGVjdCcpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdENvbXBvbmVudC5ncm91cEJ5ICYmICF0aGlzLnNlbGVjdENvbXBvbmVudC5vcHRncm91cFRlbXBsYXRlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ29wdGdyb3VwVGVtcGxhdGUgaXMgcmVxdWlyZWQgZm9yIGFwU2VsZWN0Jyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZElubGluZVN5bWJvbChzeW1ib2xJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoU3ltYm9sQ29tcG9uZW50KTtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnN5bWJvbElkID0gc3ltYm9sSWQ7XG4gICAgICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2lubGluZS1zeW1ib2wnKTtcbiAgICAgICAgLy8gYWRkIGNsYXNzIHRvIGNvbXBvbmVudFxuICAgICAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCduZy1zZWxlY3QtY29udGFpbmVyJykuaXRlbSgwKSxcbiAgICAgICAgICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ25nLXZhbHVlLWNvbnRhaW5lcicpLml0ZW0oMClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZElubGluZUxhYmVsKGxhYmVsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbGFiZWxFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdsYWJlbCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KGxhYmVsRWxlbWVudCwgJ3RleHRDb250ZW50JywgbGFiZWwpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGxhYmVsRWxlbWVudCwgJ2lubGluZS1sYWJlbCcpOyAvLyBBZGQgYXBwcm9wcmlhdGUgQ1NTIGNsYXNzXG4gICAgICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKFxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ25nLXNlbGVjdC1jb250YWluZXInKS5pdGVtKDApLFxuICAgICAgICAgICAgbGFiZWxFbGVtZW50LFxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ25nLXZhbHVlLWNvbnRhaW5lcicpLml0ZW0oMClcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,111 @@
1
+ import { AvatarComponent } from '@agorapulse/ui-components/avatar';
2
+ import { LabelComponent } from '@agorapulse/ui-components/labels';
3
+ import { TagComponent } from '@agorapulse/ui-components/tag';
4
+ import { NgFor, NgIf } from '@angular/common';
5
+ import { ChangeDetectionStrategy, Component, ElementRef, EnvironmentInjector, EventEmitter, Input, Output, ViewEncapsulation, computed, effect, inject, runInInjectionContext, signal, } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
+ export class SelectLabelMultipleComponent {
8
+ set _displayType(displayType) {
9
+ this.displayTypeSignal.set(displayType);
10
+ }
11
+ set _selectedItems(selectedItems) {
12
+ if (selectedItems.length !== this.selectedItemsSignal().length ||
13
+ selectedItems.some(item => this.selectedItemsSignal().indexOf(item) === -1)) {
14
+ this.selectedItemsSignal.set(selectedItems);
15
+ }
16
+ }
17
+ set _bindLabel(bindLabel) {
18
+ this.bindLabelSignal.set(bindLabel);
19
+ }
20
+ set _bindValue(bindValue) {
21
+ this.bindValueSignal.set(bindValue);
22
+ }
23
+ set _bindAvatarUrl(bindAvatarUrl) {
24
+ this.bindAvatarUrlSignal.set(bindAvatarUrl);
25
+ }
26
+ removeItem = new EventEmitter();
27
+ elementRef = inject(ElementRef);
28
+ injector = inject(EnvironmentInjector);
29
+ displayTypeSignal = signal('label');
30
+ selectedItemsSignal = signal([]);
31
+ bindLabelSignal = signal('');
32
+ bindValueSignal = signal('');
33
+ bindAvatarUrlSignal = signal('');
34
+ selectedLabels = computed(() => {
35
+ return this.selectedItemsSignal().map(item => {
36
+ return {
37
+ label: this.bindLabelSignal() ? item[this.bindLabelSignal()] : item,
38
+ avatarUrl: this.bindAvatarUrlSignal() ? item[this.bindAvatarUrlSignal()] : '',
39
+ value: item,
40
+ };
41
+ });
42
+ });
43
+ valueContainerWidth = signal(0);
44
+ hiddenCountSignal = signal(0);
45
+ trackByItem = (_, item) => (this.bindValueSignal() ? item.value[this.bindValueSignal()] : item.value);
46
+ ngAfterViewInit() {
47
+ const parentWidth = this.elementRef.nativeElement.parentElement?.offsetWidth;
48
+ this.valueContainerWidth.set(parentWidth ?? 0);
49
+ runInInjectionContext(this.injector, () => {
50
+ effect(() => {
51
+ const selectedValues = this.selectedItemsSignal();
52
+ const selectValueContainerWidthSignal = this.valueContainerWidth() - 30;
53
+ const timeout = setTimeout(() => {
54
+ this.calculateResponsiveLabels(selectValueContainerWidthSignal, selectedValues);
55
+ }, 100);
56
+ return () => {
57
+ clearTimeout(timeout);
58
+ };
59
+ }, {
60
+ allowSignalWrites: true,
61
+ });
62
+ });
63
+ }
64
+ calculateResponsiveLabels(containerWidth, selectedValues) {
65
+ if (containerWidth === 0 || !selectedValues.length) {
66
+ return;
67
+ }
68
+ let totalWidth = 0;
69
+ let hiddenCount = 0;
70
+ const itemGap = 4;
71
+ const items = this.elementRef.nativeElement.getElementsByClassName('item');
72
+ for (let index = 0; index < items.length; index++) {
73
+ const item = items[index];
74
+ const itemWidth = item.clientWidth + itemGap;
75
+ if (totalWidth + itemWidth < containerWidth && !hiddenCount) {
76
+ totalWidth += itemWidth;
77
+ item.style.visibility = 'visible';
78
+ }
79
+ else {
80
+ item.style.visibility = 'hidden';
81
+ hiddenCount++;
82
+ }
83
+ }
84
+ this.elementRef.nativeElement.getElementsByClassName('multiple-item')[0].style.maxWidth = `${totalWidth}px`;
85
+ this.hiddenCountSignal.set(hiddenCount);
86
+ }
87
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SelectLabelMultipleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
88
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: SelectLabelMultipleComponent, isStandalone: true, selector: "ap-select-label-multiple", inputs: { _displayType: ["displayType", "_displayType"], _selectedItems: ["selectedItems", "_selectedItems"], _bindLabel: ["bindLabel", "_bindLabel"], _bindValue: ["bindValue", "_bindValue"], _bindAvatarUrl: ["bindAvatarUrl", "_bindAvatarUrl"] }, outputs: { removeItem: "removeItem" }, ngImport: i0, template: "<div class=\"multiple-item\">\n <ng-container *ngFor=\"let item of selectedLabels(); trackBy: trackByItem\">\n <ap-label\n *ngIf=\"displayTypeSignal() === 'label'\"\n class=\"item\"\n color=\"blue\"\n removable=\"true\"\n [content]=\"item.label\"\n (remove)=\"removeItem.emit(item.value)\" />\n <ap-tag\n *ngIf=\"displayTypeSignal() === 'tag'\"\n class=\"item text-item\"\n clearable=\"true\"\n color=\"grey\"\n (clear)=\"removeItem.emit(item.value)\">\n <ap-avatar\n *ngIf=\"item.avatarUrl\"\n [size]=\"16\"\n [profilePicture]=\"item.avatarUrl\"\n [username]=\"item.label\"\n [showInitials]=\"true\" />\n {{ item.label }}\n </ap-tag>\n </ng-container>\n</div>\n<div\n *ngIf=\"hiddenCountSignal() > 0\"\n class=\"remaining\">\n <ap-tag\n *ngIf=\"displayTypeSignal() === 'tag'\"\n class=\"text-item\"\n color=\"grey\"\n clearable=\"false\">\n +{{ hiddenCountSignal() }}\n </ap-tag>\n <ap-label\n *ngIf=\"displayTypeSignal() === 'label'\"\n color=\"blue\"\n removable=\"false\"\n [content]=\"'+' + hiddenCountSignal()\" />\n</div>\n", styles: ["ap-select-label-multiple{display:flex}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LabelComponent, selector: "ap-label", inputs: ["content", "selectorWidth", "removable"], outputs: ["remove"] }, { kind: "component", type: TagComponent, selector: "ap-tag", inputs: ["clearable", "color"], outputs: ["clear"] }, { kind: "component", type: AvatarComponent, selector: "ap-avatar", inputs: ["alternativeText", "anonymous", "username", "network", "online", "profilePicture", "showInitials", "alt", "rounded", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
89
+ }
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SelectLabelMultipleComponent, decorators: [{
91
+ type: Component,
92
+ args: [{ selector: 'ap-select-label-multiple', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgFor, NgIf, LabelComponent, TagComponent, AvatarComponent], template: "<div class=\"multiple-item\">\n <ng-container *ngFor=\"let item of selectedLabels(); trackBy: trackByItem\">\n <ap-label\n *ngIf=\"displayTypeSignal() === 'label'\"\n class=\"item\"\n color=\"blue\"\n removable=\"true\"\n [content]=\"item.label\"\n (remove)=\"removeItem.emit(item.value)\" />\n <ap-tag\n *ngIf=\"displayTypeSignal() === 'tag'\"\n class=\"item text-item\"\n clearable=\"true\"\n color=\"grey\"\n (clear)=\"removeItem.emit(item.value)\">\n <ap-avatar\n *ngIf=\"item.avatarUrl\"\n [size]=\"16\"\n [profilePicture]=\"item.avatarUrl\"\n [username]=\"item.label\"\n [showInitials]=\"true\" />\n {{ item.label }}\n </ap-tag>\n </ng-container>\n</div>\n<div\n *ngIf=\"hiddenCountSignal() > 0\"\n class=\"remaining\">\n <ap-tag\n *ngIf=\"displayTypeSignal() === 'tag'\"\n class=\"text-item\"\n color=\"grey\"\n clearable=\"false\">\n +{{ hiddenCountSignal() }}\n </ap-tag>\n <ap-label\n *ngIf=\"displayTypeSignal() === 'label'\"\n color=\"blue\"\n removable=\"false\"\n [content]=\"'+' + hiddenCountSignal()\" />\n</div>\n", styles: ["ap-select-label-multiple{display:flex}\n"] }]
93
+ }], propDecorators: { _displayType: [{
94
+ type: Input,
95
+ args: [{ alias: 'displayType' }]
96
+ }], _selectedItems: [{
97
+ type: Input,
98
+ args: [{ required: true, alias: 'selectedItems' }]
99
+ }], _bindLabel: [{
100
+ type: Input,
101
+ args: [{ alias: 'bindLabel' }]
102
+ }], _bindValue: [{
103
+ type: Input,
104
+ args: [{ alias: 'bindValue' }]
105
+ }], _bindAvatarUrl: [{
106
+ type: Input,
107
+ args: [{ alias: 'bindAvatarUrl' }]
108
+ }], removeItem: [{
109
+ type: Output
110
+ }] } });
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWxhYmVsLW11bHRpcGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zZWxlY3Qvc3JjL3NlbGVjdC1sYWJlbC1tdWx0aXBsZS9zZWxlY3QtbGFiZWwtbXVsdGlwbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NlbGVjdC9zcmMvc2VsZWN0LWxhYmVsLW11bHRpcGxlL3NlbGVjdC1sYWJlbC1tdWx0aXBsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLHFCQUFxQixFQUNyQixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7O0FBV3ZCLE1BQU0sT0FBTyw0QkFBNEI7SUFDckMsSUFBcUMsWUFBWSxDQUFDLFdBQTRCO1FBQzFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELElBQXVELGNBQWMsQ0FBQyxhQUFvQjtRQUN0RixJQUNJLGFBQWEsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsTUFBTTtZQUMxRCxhQUFhLENBQUMsSUFBSSxD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QUM7YUFDakI7U0FDSjtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsR0FBRyxVQUFVLElBQUksQ0FBQztRQUM1RyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7d0dBM0ZRLDRCQUE0Qjs0RkFBNUIsNEJBQTRCLGtYQzlCekMsMjBDQXlDQSxrR0RiYyxLQUFLLG1IQUFFLElBQUksNkZBQUUsY0FBYyw2SEFBRSxZQUFZLHVHQUFFLGVBQWU7OzRGQUUzRCw0QkFBNEI7a0JBVHhDLFNBQVM7K0JBQ0ksMEJBQTBCLGNBR3hCLElBQUksaUJBQ0QsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxlQUFlLENBQUM7OEJBR2hDLFlBQVk7c0JBQWhELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFO2dCQUd3QixjQUFjO3NCQUFwRSxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFO2dCQVFkLFVBQVU7c0JBQTVDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO2dCQUdNLFVBQVU7c0JBQTVDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO2dCQUdVLGNBQWM7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFO2dCQUd2QixVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy9hdmF0YXInO1xuaW1wb3J0IHsgTGFiZWxDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2xhYmVscyc7XG5pbXBvcnQgeyBUYWdDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL3RhZyc7XG5pbXBvcnQgeyBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRW52aXJvbm1lbnRJbmplY3RvcixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGNvbXB1dGVkLFxuICAgIGVmZmVjdCxcbiAgICBpbmplY3QsXG4gICAgcnVuSW5JbmplY3Rpb25Db250ZXh0LFxuICAgIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXAtc2VsZWN0LWxhYmVsLW11bHRpcGxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWxhYmVsLW11bHRpcGxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtbGFiZWwtbXVsdGlwbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW05nRm9yLCBOZ0lmLCBMYWJlbENvbXBvbmVudCwgVGFnQ29tcG9uZW50LCBBdmF0YXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RMYWJlbE11bHRpcGxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KHsgYWxpYXM6ICdkaXNwbGF5VHlwZScgfSkgc2V0IF9kaXNwbGF5VHlwZShkaXNwbGF5VHlwZTogJ3RhZycgfCAnbGFiZWwnKSB7XG4gICAgICAgIHRoaXMuZGlzcGxheVR5cGVTaWduYWwuc2V0KGRpc3BsYXlUeXBlKTtcbiAgICB9XG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUsIGFsaWFzOiAnc2VsZWN0ZWRJdGVtcycgfSkgc2V0IF9zZWxlY3RlZEl0ZW1zKHNlbGVjdGVkSXRlbXM6IGFueVtdKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHNlbGVjdGVkSXRlbXMubGVuZ3RoICE9PSB0aGlzLnNlbGVjdGVkSXRlbXNTaWduYWwoKS5sZW5ndGggfHxcbiAgICAgICAgICAgIHNlbGVjdGVkSXRlbXMuc29tZShpdGVtID0+IHRoaXMuc2VsZWN0ZWRJdGVtc1NpZ25hbCgpLmluZGV4T2YoaXRlbSkgPT09IC0xKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtc1NpZ25hbC5zZXQoc2VsZWN0ZWRJdGVtcyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQElucHV0KHsgYWxpYXM6ICdiaW5kTGFiZWwnIH0pIHNldCBfYmluZExhYmVsKGJpbmRMYWJlbDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuYmluZExhYmVsU2lnbmFsLnNldChiaW5kTGFiZWwpO1xuICAgIH1cbiAgICBASW5wdXQoeyBhbGlhczogJ2JpbmRWYWx1ZScgfSkgc2V0IF9iaW5kVmFsdWUoYmluZFZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5iaW5kVmFsdWVTaWduYWwuc2V0KGJpbmRWYWx1ZSk7XG4gICAgfVxuICAgIEBJbnB1dCh7IGFsaWFzOiAnYmluZEF2YXRhclVybCcgfSkgc2V0IF9iaW5kQXZhdGFyVXJsKGJpbmRBdmF0YXJVcmw6IHN0cmluZykge1xuICAgICAgICB0aGlzLmJpbmRBdmF0YXJVcmxTaWduYWwuc2V0KGJpbmRBdmF0YXJVcmwpO1xuICAgIH1cbiAgICBAT3V0cHV0KCkgcmVtb3ZlSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoRW52aXJvbm1lbnRJbmplY3Rvcik7XG5cbiAgICBkaXNwbGF5VHlwZVNpZ25hbCA9IHNpZ25hbDwndGFnJyB8ICdsYWJlbCc+KCdsYWJlbCcpO1xuICAgIHNlbGVjdGVkSXRlbXNTaWduYWwgPSBzaWduYWw8YW55W10+KFtdKTtcbiAgICBiaW5kTGFiZWxTaWduYWwgPSBzaWduYWwoJycpO1xuICAgIGJpbmRWYWx1ZVNpZ25hbCA9IHNpZ25hbCgnJyk7XG4gICAgYmluZEF2YXRhclVybFNpZ25hbCA9IHNpZ25hbCgnJyk7XG5cbiAgICBzZWxlY3RlZExhYmVscyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtc1NpZ25hbCgpLm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuYmluZExhYmVsU2lnbmFsKCkgPyBpdGVtW3RoaXMuYmluZExhYmVsU2lnbmFsKCldIDogaXRlbSxcbiAgICAgICAgICAgICAgICBhdmF0YXJVcmw6IHRoaXMuYmluZEF2YXRhclVybFNpZ25hbCgpID8gaXRlbVt0aGlzLmJpbmRBdmF0YXJVcmxTaWduYWwoKV0gOiAnJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdmFsdWVDb250YWluZXJXaWR0aCA9IHNpZ25hbCgwKTtcbiAgICBoaWRkZW5Db3VudFNpZ25hbCA9IHNpZ25hbCgwKTtcblxuICAgIHRyYWNrQnlJdGVtID0gKF86IG51bWJlciwgaXRlbTogYW55KSA9PiAodGhpcy5iaW5kVmFsdWVTaWduYWwoKSA/IGl0ZW0udmFsdWVbdGhpcy5iaW5kVmFsdWVTaWduYWwoKV0gOiBpdGVtLnZhbHVlKTtcblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGFyZW50V2lkdGggPSAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnBhcmVudEVsZW1lbnQ/Lm9mZnNldFdpZHRoO1xuICAgICAgICB0aGlzLnZhbHVlQ29udGFpbmVyV2lkdGguc2V0KHBhcmVudFdpZHRoID8/IDApO1xuXG4gICAgICAgIHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmluamVjdG9yLCAoKSA9PiB7XG4gICAgICAgICAgICBlZmZlY3QoXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZFZhbHVlcyA9IHRoaXMuc2VsZWN0ZWRJdGVtc1NpZ25hbCgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RWYWx1ZUNvbnRhaW5lcldpZHRoU2lnbmFsID0gdGhpcy52YWx1ZUNvbnRhaW5lcldpZHRoKCkgLSAzMDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVSZXNwb25zaXZlTGFiZWxzKHNlbGVjdFZhbHVlQ29udGFpbmVyV2lkdGhTaWduYWwsIHNlbGVjdGVkVmFsdWVzKTtcbiAgICAgICAgICAgICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlUmVzcG9uc2l2ZUxhYmVscyhjb250YWluZXJXaWR0aDogbnVtYmVyLCBzZWxlY3RlZFZhbHVlczogYW55W10pIHtcbiAgICAgICAgaWYgKGNvbnRhaW5lcldpZHRoID09PSAwIHx8ICFzZWxlY3RlZFZhbHVlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdG90YWxXaWR0aCA9IDA7XG4gICAgICAgIGxldCBoaWRkZW5Db3VudCA9IDA7XG4gICAgICAgIGNvbnN0IGl0ZW1HYXAgPSA0O1xuICAgICAgICBjb25zdCBpdGVtcyA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2l0ZW0nKTtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGl0ZW1zLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgY29uc3QgaXRlbTogSFRNTEVsZW1lbnQgPSBpdGVtc1tpbmRleF07XG4gICAgICAgICAgICBjb25zdCBpdGVtV2lkdGggPSBpdGVtLmNsaWVudFdpZHRoICsgaXRlbUdhcDtcbiAgICAgICAgICAgIGlmICh0b3RhbFdpZHRoICsgaXRlbVdpZHRoIDwgY29udGFpbmVyV2lkdGggJiYgIWhpZGRlbkNvdW50KSB7XG4gICAgICAgICAgICAgICAgdG90YWxXaWR0aCArPSBpdGVtV2lkdGg7XG4gICAgICAgICAgICAgICAgKGl0ZW0gYXMgSFRNTEVsZW1lbnQpLnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIChpdGVtIGFzIEhUTUxFbGVtZW50KS5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICAgICAgICAgICAgaGlkZGVuQ291bnQrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdtdWx0aXBsZS1pdGVtJylbMF0uc3R5bGUubWF4V2lkdGggPSBgJHt0b3RhbFdpZHRofXB4YDtcbiAgICAgICAgdGhpcy5oaWRkZW5Db3VudFNpZ25hbC5zZXQoaGlkZGVuQ291bnQpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtdWx0aXBsZS1pdGVtXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzZWxlY3RlZExhYmVscygpOyB0cmFja0J5OiB0cmFja0J5SXRlbVwiPlxuICAgICAgICA8YXAtbGFiZWxcbiAgICAgICAgICAgICpuZ0lmPVwiZGlzcGxheVR5cGVTaWduYWwoKSA9PT0gJ2xhYmVsJ1wiXG4gICAgICAgICAgICBjbGFzcz1cIml0ZW1cIlxuICAgICAgICAgICAgY29sb3I9XCJibHVlXCJcbiAgICAgICAgICAgIHJlbW92YWJsZT1cInRydWVcIlxuICAgICAgICAgICAgW2NvbnRlbnRdPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgICAocmVtb3ZlKT1cInJlbW92ZUl0ZW0uZW1pdChpdGVtLnZhbHVlKVwiIC8+XG4gICAgICAgIDxhcC10YWdcbiAgICAgICAgICAgICpuZ0lmPVwiZGlzcGxheVR5cGVTaWduYWwoKSA9PT0gJ3RhZydcIlxuICAgICAgICAgICAgY2xhc3M9XCJpdGVtIHRleHQtaXRlbVwiXG4gICAgICAgICAgICBjbGVhcmFibGU9XCJ0cnVlXCJcbiAgICAgICAgICAgIGNvbG9yPVwiZ3JleVwiXG4gICAgICAgICAgICAoY2xlYXIpPVwicmVtb3ZlSXRlbS5lbWl0KGl0ZW0udmFsdWUpXCI+XG4gICAgICAgICAgICA8YXAtYXZhdGFyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmF2YXRhclVybFwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiMTZcIlxuICAgICAgICAgICAgICAgIFtwcm9maWxlUGljdHVyZV09XCJpdGVtLmF2YXRhclVybFwiXG4gICAgICAgICAgICAgICAgW3VzZXJuYW1lXT1cIml0ZW0ubGFiZWxcIlxuICAgICAgICAgICAgICAgIFtzaG93SW5pdGlhbHNdPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgIDwvYXAtdGFnPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG48ZGl2XG4gICAgKm5nSWY9XCJoaWRkZW5Db3VudFNpZ25hbCgpID4gMFwiXG4gICAgY2xhc3M9XCJyZW1haW5pbmdcIj5cbiAgICA8YXAtdGFnXG4gICAgICAgICpuZ0lmPVwiZGlzcGxheVR5cGVTaWduYWwoKSA9PT0gJ3RhZydcIlxuICAgICAgICBjbGFzcz1cInRleHQtaXRlbVwiXG4gICAgICAgIGNvbG9yPVwiZ3JleVwiXG4gICAgICAgIGNsZWFyYWJsZT1cImZhbHNlXCI+XG4gICAgICAgICt7eyBoaWRkZW5Db3VudFNpZ25hbCgpIH19XG4gICAgPC9hcC10YWc+XG4gICAgPGFwLWxhYmVsXG4gICAgICAgICpuZ0lmPVwiZGlzcGxheVR5cGVTaWduYWwoKSA9PT0gJ2xhYmVsJ1wiXG4gICAgICAgIGNvbG9yPVwiYmx1ZVwiXG4gICAgICAgIHJlbW92YWJsZT1cImZhbHNlXCJcbiAgICAgICAgW2NvbnRlbnRdPVwiJysnICsgaGlkZGVuQ291bnRTaWduYWwoKVwiIC8+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { AvatarComponent } from '@agorapulse/ui-components/avatar';
2
+ import { LabelComponent } from '@agorapulse/ui-components/labels';
3
+ import { TagComponent } from '@agorapulse/ui-components/tag';
4
+ import { NgSwitch, NgSwitchCase } from '@angular/common';
5
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
+ export class SelectLabelSingleComponent {
8
+ displayType = 'text';
9
+ label;
10
+ avatarUrl;
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SelectLabelSingleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: SelectLabelSingleComponent, isStandalone: true, selector: "ap-select-label-single", inputs: { displayType: "displayType", label: "label", avatarUrl: "avatarUrl" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"displayType\">\n <ng-container *ngSwitchCase=\"'text'\">\n <span\n class=\"text-item\"\n [title]=\"label\">\n {{ label }}\n </span>\n </ng-container>\n <ng-container *ngSwitchCase=\"'label'\">\n <ap-label\n color=\"blue\"\n [removable]=\"false\"\n [content]=\"label\" />\n </ng-container>\n <ng-container *ngSwitchCase=\"'tag'\">\n <ap-tag\n class=\"text-item\"\n color=\"grey\">\n <ap-avatar\n *ngIf=\"avatarUrl\"\n [size]=\"16\"\n [username]=\"label\"\n [showInitials]=\"true\"\n [profilePicture]=\"avatarUrl\" />\n {{ label }}\n </ap-tag>\n </ng-container>\n <ng-container *ngSwitchCase=\"'withAvatar'\">\n <ap-avatar\n [size]=\"24\"\n [username]=\"label\"\n [showInitials]=\"true\"\n [profilePicture]=\"avatarUrl\" />\n <span class=\"text-item\">\n {{ label }}\n </span>\n </ng-container>\n</ng-container>\n", styles: ["ap-select-label-single{display:flex;gap:var(--ref-spacing-xxs);width:100%;align-items:center}\n"], dependencies: [{ kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: LabelComponent, selector: "ap-label", inputs: ["content", "selectorWidth", "removable"], outputs: ["remove"] }, { kind: "component", type: TagComponent, selector: "ap-tag", inputs: ["clearable", "color"], outputs: ["clear"] }, { kind: "component", type: AvatarComponent, selector: "ap-avatar", inputs: ["alternativeText", "anonymous", "username", "network", "online", "profilePicture", "showInitials", "alt", "rounded", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SelectLabelSingleComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'ap-select-label-single', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgSwitch, NgSwitchCase, LabelComponent, TagComponent, AvatarComponent], template: "<ng-container [ngSwitch]=\"displayType\">\n <ng-container *ngSwitchCase=\"'text'\">\n <span\n class=\"text-item\"\n [title]=\"label\">\n {{ label }}\n </span>\n </ng-container>\n <ng-container *ngSwitchCase=\"'label'\">\n <ap-label\n color=\"blue\"\n [removable]=\"false\"\n [content]=\"label\" />\n </ng-container>\n <ng-container *ngSwitchCase=\"'tag'\">\n <ap-tag\n class=\"text-item\"\n color=\"grey\">\n <ap-avatar\n *ngIf=\"avatarUrl\"\n [size]=\"16\"\n [username]=\"label\"\n [showInitials]=\"true\"\n [profilePicture]=\"avatarUrl\" />\n {{ label }}\n </ap-tag>\n </ng-container>\n <ng-container *ngSwitchCase=\"'withAvatar'\">\n <ap-avatar\n [size]=\"24\"\n [username]=\"label\"\n [showInitials]=\"true\"\n [profilePicture]=\"avatarUrl\" />\n <span class=\"text-item\">\n {{ label }}\n </span>\n </ng-container>\n</ng-container>\n", styles: ["ap-select-label-single{display:flex;gap:var(--ref-spacing-xxs);width:100%;align-items:center}\n"] }]
17
+ }], propDecorators: { displayType: [{
18
+ type: Input
19
+ }], label: [{
20
+ type: Input,
21
+ args: [{
22
+ required: true,
23
+ }]
24
+ }], avatarUrl: [{
25
+ type: Input
26
+ }] } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWxhYmVsLXNpbmdsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc2VsZWN0L3NyYy9zZWxlY3QtbGFiZWwtc2luZ2xlL3NlbGVjdC1sYWJlbC1zaW5nbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NlbGVjdC9zcmMvc2VsZWN0LWxhYmVsLXNpbmdsZS9zZWxlY3QtbGFiZWwtc2luZ2xlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVzdGLE1BQU0sT0FBTywwQkFBMEI7SUFDMUIsV0FBVyxHQUE0QyxNQUFNLENBQUM7SUFJdkUsS0FBSyxDQUFVO0lBQ04sU0FBUyxDQUFVO3dHQU5uQiwwQkFBMEI7NEZBQTFCLDBCQUEwQixrS0NmdkMsd29DQXNDQSx5SkR6QmMsUUFBUSw2RUFBRSxZQUFZLHFGQUFFLGNBQWMsNkhBQUUsWUFBWSx1R0FBRSxlQUFlOzs0RkFFdEUsMEJBQTBCO2tCQVR0QyxTQUFTOytCQUNJLHdCQUF3QixjQUd0QixJQUFJLGlCQUNELGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsZUFBZSxDQUFDOzhCQUd2RSxXQUFXO3NCQUFuQixLQUFLO2dCQUlOLEtBQUs7c0JBSEosS0FBSzt1QkFBQzt3QkFDSCxRQUFRLEVBQUUsSUFBSTtxQkFDakI7Z0JBRVEsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvYXZhdGFyJztcbmltcG9ydCB7IExhYmVsQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy9sYWJlbHMnO1xuaW1wb3J0IHsgVGFnQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy90YWcnO1xuaW1wb3J0IHsgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcC1zZWxlY3QtbGFiZWwtc2luZ2xlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWxhYmVsLXNpbmdsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWxhYmVsLXNpbmdsZS5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZSwgTGFiZWxDb21wb25lbnQsIFRhZ0NvbXBvbmVudCwgQXZhdGFyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0TGFiZWxTaW5nbGVDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGRpc3BsYXlUeXBlOiAndGV4dCcgfCAnd2l0aEF2YXRhcicgfCAndGFnJyB8ICdsYWJlbCcgPSAndGV4dCc7XG4gICAgQElucHV0KHtcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgfSlcbiAgICBsYWJlbCE6IHN0cmluZztcbiAgICBASW5wdXQoKSBhdmF0YXJVcmw/OiBzdHJpbmc7XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJkaXNwbGF5VHlwZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0ZXh0J1wiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWl0ZW1cIlxuICAgICAgICAgICAgW3RpdGxlXT1cImxhYmVsXCI+XG4gICAgICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2xhYmVsJ1wiPlxuICAgICAgICA8YXAtbGFiZWxcbiAgICAgICAgICAgIGNvbG9yPVwiYmx1ZVwiXG4gICAgICAgICAgICBbcmVtb3ZhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFtjb250ZW50XT1cImxhYmVsXCIgLz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGFnJ1wiPlxuICAgICAgICA8YXAtdGFnXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtaXRlbVwiXG4gICAgICAgICAgICBjb2xvcj1cImdyZXlcIj5cbiAgICAgICAgICAgIDxhcC1hdmF0YXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImF2YXRhclVybFwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiMTZcIlxuICAgICAgICAgICAgICAgIFt1c2VybmFtZV09XCJsYWJlbFwiXG4gICAgICAgICAgICAgICAgW3Nob3dJbml0aWFsc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbcHJvZmlsZVBpY3R1cmVdPVwiYXZhdGFyVXJsXCIgLz5cbiAgICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgIDwvYXAtdGFnPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid3aXRoQXZhdGFyJ1wiPlxuICAgICAgICA8YXAtYXZhdGFyXG4gICAgICAgICAgICBbc2l6ZV09XCIyNFwiXG4gICAgICAgICAgICBbdXNlcm5hbWVdPVwibGFiZWxcIlxuICAgICAgICAgICAgW3Nob3dJbml0aWFsc109XCJ0cnVlXCJcbiAgICAgICAgICAgIFtwcm9maWxlUGljdHVyZV09XCJhdmF0YXJVcmxcIiAvPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtaXRlbVwiPlxuICAgICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -0,0 +1,34 @@
1
+ import { Directive, inject } from '@angular/core';
2
+ import { NgSelectComponent } from '@ng-select/ng-select';
3
+ import { SelectBaseDirective } from './select-base.directive';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./select-base.directive";
6
+ export class SelectMultipleDirective {
7
+ selectComponent = inject(NgSelectComponent);
8
+ constructor() {
9
+ this.selectComponent.multiple = true;
10
+ this.selectComponent.closeOnSelect = false;
11
+ }
12
+ ngAfterViewInit() {
13
+ if (!this.selectComponent.multiLabelTemplate) {
14
+ throw new Error('multiLabelTemplate is required for apSelectMultiple');
15
+ }
16
+ }
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SelectMultipleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
18
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.10", type: SelectMultipleDirective, isStandalone: true, selector: "ng-select[apSelectMultiple]", hostDirectives: [{ directive: i1.SelectBaseDirective, inputs: ["inlineLabel", "inlineLabel", "symbolId", "symbolId"] }], ngImport: i0 });
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SelectMultipleDirective, decorators: [{
21
+ type: Directive,
22
+ args: [{
23
+ // eslint-disable-next-line @angular-eslint/directive-selector
24
+ selector: 'ng-select[apSelectMultiple]',
25
+ standalone: true,
26
+ hostDirectives: [
27
+ {
28
+ directive: SelectBaseDirective,
29
+ inputs: ['inlineLabel', 'symbolId'],
30
+ },
31
+ ],
32
+ }]
33
+ }], ctorParameters: function () { return []; } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW11bHRpcGxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zZWxlY3Qvc3JjL3NlbGVjdC1tdWx0aXBsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFhOUQsTUFBTSxPQUFPLHVCQUF1QjtJQUNmLGVBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUU3RDtRQUNJLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDL0MsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsRUFBRTtZQUMxQyxNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7U0FDMUU7SUFDTCxDQUFDO3dHQVpRLHVCQUF1Qjs0RkFBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQVhuQyxTQUFTO21CQUFDO29CQUNQLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGNBQWMsRUFBRTt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsbUJBQW1COzRCQUM5QixNQUFNLEVBQUUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDO3lCQUN0QztxQkFDSjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ1NlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcbmltcG9ydCB7IFNlbGVjdEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC1iYXNlLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICduZy1zZWxlY3RbYXBTZWxlY3RNdWx0aXBsZV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBTZWxlY3RCYXNlRGlyZWN0aXZlLFxuICAgICAgICAgICAgaW5wdXRzOiBbJ2lubGluZUxhYmVsJywgJ3N5bWJvbElkJ10sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0TXVsdGlwbGVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlbGVjdENvbXBvbmVudCA9IGluamVjdChOZ1NlbGVjdENvbXBvbmVudCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RDb21wb25lbnQubXVsdGlwbGUgPSB0cnVlO1xuICAgICAgICB0aGlzLnNlbGVjdENvbXBvbmVudC5jbG9zZU9uU2VsZWN0ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0Q29tcG9uZW50Lm11bHRpTGFiZWxUZW1wbGF0ZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdtdWx0aUxhYmVsVGVtcGxhdGUgaXMgcmVxdWlyZWQgZm9yIGFwU2VsZWN0TXVsdGlwbGUnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,34 @@
1
+ import { Directive, inject } from '@angular/core';
2
+ import { NgSelectComponent } from '@ng-select/ng-select';
3
+ import { SelectBaseDirective } from './select-base.directive';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./select-base.directive";
6
+ export class SelectSingleDirective {
7
+ selectComponent = inject(NgSelectComponent);
8
+ constructor() {
9
+ this.selectComponent.multiple = false;
10
+ this.selectComponent.closeOnSelect = true;
11
+ }
12
+ ngAfterViewInit() {
13
+ if (!this.selectComponent.labelTemplate) {
14
+ throw new Error('labelTemplate is required for apSelectSingle');
15
+ }
16
+ }
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SelectSingleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
18
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.10", type: SelectSingleDirective, isStandalone: true, selector: "ng-select[apSelectSingle]", hostDirectives: [{ directive: i1.SelectBaseDirective, inputs: ["inlineLabel", "inlineLabel", "symbolId", "symbolId"] }], ngImport: i0 });
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SelectSingleDirective, decorators: [{
21
+ type: Directive,
22
+ args: [{
23
+ // eslint-disable-next-line @angular-eslint/directive-selector
24
+ selector: 'ng-select[apSelectSingle]',
25
+ standalone: true,
26
+ hostDirectives: [
27
+ {
28
+ directive: SelectBaseDirective,
29
+ inputs: ['inlineLabel', 'symbolId'],
30
+ },
31
+ ],
32
+ }]
33
+ }], ctorParameters: function () { return []; } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNpbmdsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc2VsZWN0L3NyYy9zZWxlY3Qtc2luZ2xlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQWE5RCxNQUFNLE9BQU8scUJBQXFCO0lBQ2IsZUFBZSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTdEO1FBQ0ksSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM5QyxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRTtZQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7U0FDbkU7SUFDTCxDQUFDO3dHQVpRLHFCQUFxQjs0RkFBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQVhqQyxTQUFTO21CQUFDO29CQUNQLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGNBQWMsRUFBRTt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsbUJBQW1COzRCQUM5QixNQUFNLEVBQUUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDO3lCQUN0QztxQkFDSjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ1NlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcbmltcG9ydCB7IFNlbGVjdEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC1iYXNlLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICduZy1zZWxlY3RbYXBTZWxlY3RTaW5nbGVdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogU2VsZWN0QmFzZURpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogWydpbmxpbmVMYWJlbCcsICdzeW1ib2xJZCddLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdFNpbmdsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VsZWN0Q29tcG9uZW50ID0gaW5qZWN0KE5nU2VsZWN0Q29tcG9uZW50KTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnNlbGVjdENvbXBvbmVudC5tdWx0aXBsZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdENvbXBvbmVudC5jbG9zZU9uU2VsZWN0ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RDb21wb25lbnQubGFiZWxUZW1wbGF0ZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdsYWJlbFRlbXBsYXRlIGlzIHJlcXVpcmVkIGZvciBhcFNlbGVjdFNpbmdsZScpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
- export * from './textarea.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy90ZXh0YXJlYS9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90ZXh0YXJlYS5jb21wb25lbnQnO1xuIl19
1
+ export { TextareaDirective } from './textarea.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy90ZXh0YXJlYS9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFRleHRhcmVhRGlyZWN0aXZlIH0gZnJvbSAnLi90ZXh0YXJlYS5kaXJlY3RpdmUnO1xuIl19
@@ -0,0 +1,40 @@
1
+ import { Directive, ElementRef, HostBinding, Input, Renderer2, booleanAttribute, inject } from '@angular/core';
2
+ import { InputDirective } from '@agorapulse/ui-components/input';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@agorapulse/ui-components/input";
5
+ export class TextareaDirective {
6
+ resizable = false;
7
+ elementRef = inject(ElementRef);
8
+ renderer = inject(Renderer2);
9
+ constructor() {
10
+ const textarea = this.elementRef.nativeElement;
11
+ if (!textarea.rows || textarea.rows < 3) {
12
+ textarea.rows = 3;
13
+ }
14
+ if (!textarea.style.width) {
15
+ this.renderer.setStyle(textarea, 'width', '256px');
16
+ }
17
+ }
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: TextareaDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
19
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "16.2.10", type: TextareaDirective, isStandalone: true, selector: "[apTextarea]", inputs: { resizable: ["resizable", "resizable", booleanAttribute] }, host: { properties: { "class.resizable": "this.resizable" }, classAttribute: "ap-textarea" }, hostDirectives: [{ directive: i1.InputDirective }], ngImport: i0 });
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: TextareaDirective, decorators: [{
22
+ type: Directive,
23
+ args: [{
24
+ selector: '[apTextarea]',
25
+ standalone: true,
26
+ hostDirectives: [InputDirective],
27
+ host: {
28
+ class: 'ap-textarea',
29
+ },
30
+ }]
31
+ }], ctorParameters: function () { return []; }, propDecorators: { resizable: [{
32
+ type: HostBinding,
33
+ args: ['class.resizable']
34
+ }, {
35
+ type: Input,
36
+ args: [{
37
+ transform: booleanAttribute,
38
+ }]
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3RleHRhcmVhL3NyYy90ZXh0YXJlYS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBVWpFLE1BQU0sT0FBTyxpQkFBaUI7SUFLMUIsU0FBUyxHQUFZLEtBQUssQ0FBQztJQUVuQixVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFckM7UUFDSSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQW9DLENBQUM7UUFDdEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDckMsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7U0FDckI7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQTtTQUNyRDtJQUNMLENBQUM7d0dBbEJRLGlCQUFpQjs0RkFBakIsaUJBQWlCLGdHQUdYLGdCQUFnQjs7NEZBSHRCLGlCQUFpQjtrQkFSN0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGNBQWMsRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDaEMsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxhQUFhO3FCQUN2QjtpQkFDSjswRUFNRyxTQUFTO3NCQUpSLFdBQVc7dUJBQUMsaUJBQWlCOztzQkFDN0IsS0FBSzt1QkFBQzt3QkFDSCxTQUFTLEVBQUUsZ0JBQWdCO3FCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBSZW5kZXJlcjIsIGJvb2xlYW5BdHRyaWJ1dGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5wdXREaXJlY3RpdmUgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2lucHV0JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYXBUZXh0YXJlYV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtJbnB1dERpcmVjdGl2ZV0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2FwLXRleHRhcmVhJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0YXJlYURpcmVjdGl2ZSB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5yZXNpemFibGUnKVxuICAgIEBJbnB1dCh7XG4gICAgICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICB9KVxuICAgIHJlc2l6YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHByaXZhdGUgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBjb25zdCB0ZXh0YXJlYSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxUZXh0QXJlYUVsZW1lbnQ7XG4gICAgICAgIGlmICghdGV4dGFyZWEucm93cyB8fCB0ZXh0YXJlYS5yb3dzIDwgMykge1xuICAgICAgICAgICAgdGV4dGFyZWEucm93cyA9IDM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0ZXh0YXJlYS5zdHlsZS53aWR0aCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0ZXh0YXJlYSwgJ3dpZHRoJywgJzI1NnB4JylcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==