@agorapulse/ui-components 22.0.14 → 22.0.16

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.
@@ -133,7 +133,7 @@ class CheckboxComponent {
133
133
  useExisting: CheckboxComponent,
134
134
  multi: true,
135
135
  },
136
- ], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "labelElement", first: true, predicate: ["label"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"checkbox\"\n (click)=\"_preventBubblingFromLabel($event)\">\n <div\n class=\"checkbox-container\"\n [class.hover]=\"hovered\"\n [class.checked]=\"checked\"\n [class.indeterminate]=\"indeterminate && !checked\"\n [class.disabled]=\"disabled\"\n [class.has-label]=\"hasLabel\"\n [class.required]=\"required\">\n <input\n #input\n type=\"checkbox\"\n [id]=\"name\"\n [class.disabled]=\"disabled\"\n [disabled]=\"disabled\"\n [checked]=\"checked\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.data-test]=\"name\"\n (click)=\"onValueChange($event)\" />\n <span\n class=\"checkbox\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n (click)=\"onValueChange($event)\">\n @if (checked) {\n <span class=\"checkmark\">\n <ap-symbol\n symbolId=\"check\"\n color=\"white\"\n [size]=\"10\" />\n </span>\n }\n @if (indeterminate && !checked) {\n <span class=\"indeterminate\"></span>\n }\n </span>\n </div>\n <label\n #label\n [class.disabled]=\"disabled\"\n [for]=\"name\">\n <ng-content />\n </label>\n</div>\n", styles: ["ap-checkbox{display:flex;align-items:center}ap-checkbox.ng-invalid.ng-touched .checkbox-container.required span.checkbox{border-color:var(--ref-color-red-100)!important}ap-checkbox.bold label{font-weight:var(--ref-font-weight-bold)}ap-checkbox.full-width .checkbox{justify-content:space-between;align-items:center;width:100%}ap-checkbox .checkbox{display:flex;align-items:center;gap:var(--ref-spacing-xxs)}ap-checkbox .checkbox .checkbox-container{display:flex;justify-content:center;align-items:center;max-width:36px;height:fit-content;box-sizing:border-box;position:relative}ap-checkbox .checkbox .checkbox-container:not(.has-label){padding:10px}ap-checkbox .checkbox .checkbox-container.hover:not(.disabled):not(.has-label){border-radius:var(--ref-border-radius-md);background:var(--ref-color-grey-05)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled).hover{background:var(--ref-color-electric-blue-10)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled):active:not(.has-label){background:var(--ref-color-electric-blue-20)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled):active:not(.has-label) span.checkbox{background:var(--ref-color-electric-blue-60)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled) span.checkbox{background:var(--ref-color-electric-blue-100);border-color:var(--ref-color-electric-blue-100)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled) span.checkbox:hover{border:1px solid var(--ref-color-electric-blue-100);background:var(--ref-color-electric-blue-80)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled) span.checkbox:active{border:1px solid var(--ref-color-electric-blue-100);background:var(--ref-color-electric-blue-60)}ap-checkbox .checkbox .checkbox-container.indeterminate:not(.disabled).hover{background:var(--ref-color-electric-blue-10)}ap-checkbox .checkbox .checkbox-container.indeterminate:not(.disabled) span.checkbox{background:var(--ref-color-electric-blue-100);border-color:var(--ref-color-electric-blue-100)}ap-checkbox .checkbox .checkbox-container.indeterminate:not(.disabled) span.checkbox:hover{border:1px solid var(--ref-color-electric-blue-100);background:var(--ref-color-electric-blue-80)}ap-checkbox .checkbox .checkbox-container.disabled span.checkbox{border:1px solid var(--ref-color-grey-20);background:var(--ref-color-grey-10)}ap-checkbox .checkbox .checkbox-container.disabled.checked span.checkbox{background:var(--ref-color-grey-20)}ap-checkbox .checkbox .checkbox-container.disabled.indeterminate span.checkbox{background:var(--ref-color-grey-20)}ap-checkbox .checkbox .checkbox-container.disabled span.checkbox{pointer-events:none}ap-checkbox .checkbox .checkbox-container input[type=checkbox]{position:absolute;clip:rect(0,0,0,0)}@media(hover:hover){ap-checkbox .checkbox .checkbox-container input[type=checkbox]:focus:not(.disabled)~.checkbox{outline:3px solid var(--ref-color-electric-blue-100);outline-offset:1px}}ap-checkbox .checkbox .checkbox-container span.checkbox{display:flex;justify-content:center;align-items:center;width:16px;height:16px;min-width:16px;min-height:16px;max-height:16px;max-width:16px;border-radius:var(--sys-border-radius-sm);border:1px solid var(--ref-color-grey-60);background:var(--ref-color-white);box-sizing:border-box}ap-checkbox .checkbox .checkbox-container span.checkbox:hover{cursor:pointer;border-color:var(--ref-color-grey-80)}ap-checkbox .checkbox .checkbox-container span.checkbox:active{border-color:var(--ref-color-grey-100)}ap-checkbox .checkbox .checkbox-container span.checkbox .checkmark{display:flex;justify-content:center;align-items:center}ap-checkbox .checkbox .checkbox-container span.checkbox .indeterminate{height:1.5px;background:var(--ref-color-white);width:8px}ap-checkbox .checkbox label{display:flex;align-items:center;font-family:var(--comp-forms-label-font-family);font-size:var(--comp-forms-label-size);font-weight:var(--comp-forms-label-font-weight);line-height:var(--comp-forms-label-line-height);color:var(--comp-forms-label-text-color)}ap-checkbox .checkbox label:empty{display:none}ap-checkbox .checkbox label.disabled{color:var(--ref-color-grey-60)}ap-checkbox .checkbox label:hover:not(.disabled){cursor:pointer}form.ng-submitted ap-checkbox.ng-invalid span.checkbox{border-color:var(--ref-color-red-100)!important}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
136
+ ], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "labelElement", first: true, predicate: ["label"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"checkbox\"\n (click)=\"_preventBubblingFromLabel($event)\">\n <div\n class=\"checkbox-container\"\n [class.hover]=\"hovered\"\n [class.checked]=\"checked\"\n [class.indeterminate]=\"indeterminate && !checked\"\n [class.disabled]=\"disabled\"\n [class.has-label]=\"hasLabel\"\n [class.required]=\"required\">\n <input\n #input\n type=\"checkbox\"\n [id]=\"name\"\n [class.disabled]=\"disabled\"\n [disabled]=\"disabled\"\n [checked]=\"checked\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.data-test]=\"name\"\n (click)=\"onValueChange($event)\" />\n <span\n class=\"checkbox\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n (click)=\"onValueChange($event)\">\n @if (checked) {\n <span class=\"checkmark\">\n <ap-symbol\n symbolId=\"check\"\n color=\"white\"\n [size]=\"10\" />\n </span>\n }\n @if (indeterminate && !checked) {\n <span class=\"indeterminate\"></span>\n }\n </span>\n </div>\n <label\n #label\n [class.disabled]=\"disabled\"\n [for]=\"name\">\n <ng-content />\n </label>\n</div>\n", styles: ["ap-checkbox{display:flex;align-items:center}ap-checkbox.ng-invalid.ng-touched .checkbox-container.required span.checkbox{border-color:var(--ref-color-red-100)!important}ap-checkbox.bold label{font-weight:var(--ref-font-weight-bold)}ap-checkbox.full-width .checkbox{justify-content:space-between;align-items:center;width:100%}ap-checkbox .checkbox{display:flex;align-items:flex-start;gap:var(--ref-spacing-xxs)}ap-checkbox .checkbox .checkbox-container{display:flex;justify-content:center;align-items:center;max-width:36px;height:fit-content;box-sizing:border-box;position:relative;padding-top:1px}ap-checkbox .checkbox .checkbox-container:not(.has-label){padding:10px}ap-checkbox .checkbox .checkbox-container.hover:not(.disabled):not(.has-label){border-radius:var(--ref-border-radius-md);background:var(--ref-color-grey-05)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled).hover{background:var(--ref-color-electric-blue-10)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled):active:not(.has-label){background:var(--ref-color-electric-blue-20)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled):active:not(.has-label) span.checkbox{background:var(--ref-color-electric-blue-60)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled) span.checkbox{background:var(--ref-color-electric-blue-100);border-color:var(--ref-color-electric-blue-100)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled) span.checkbox:hover{border:1px solid var(--ref-color-electric-blue-100);background:var(--ref-color-electric-blue-80)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled) span.checkbox:active{border:1px solid var(--ref-color-electric-blue-100);background:var(--ref-color-electric-blue-60)}ap-checkbox .checkbox .checkbox-container.indeterminate:not(.disabled).hover{background:var(--ref-color-electric-blue-10)}ap-checkbox .checkbox .checkbox-container.indeterminate:not(.disabled) span.checkbox{background:var(--ref-color-electric-blue-100);border-color:var(--ref-color-electric-blue-100)}ap-checkbox .checkbox .checkbox-container.indeterminate:not(.disabled) span.checkbox:hover{border:1px solid var(--ref-color-electric-blue-100);background:var(--ref-color-electric-blue-80)}ap-checkbox .checkbox .checkbox-container.disabled span.checkbox{border:1px solid var(--ref-color-grey-20);background:var(--ref-color-grey-10)}ap-checkbox .checkbox .checkbox-container.disabled.checked span.checkbox{background:var(--ref-color-grey-20)}ap-checkbox .checkbox .checkbox-container.disabled.indeterminate span.checkbox{background:var(--ref-color-grey-20)}ap-checkbox .checkbox .checkbox-container.disabled span.checkbox{pointer-events:none}ap-checkbox .checkbox .checkbox-container input[type=checkbox]{position:absolute;clip:rect(0,0,0,0)}@media(hover:hover){ap-checkbox .checkbox .checkbox-container input[type=checkbox]:focus:not(.disabled)~.checkbox{outline:3px solid var(--ref-color-electric-blue-100);outline-offset:1px}}ap-checkbox .checkbox .checkbox-container span.checkbox{display:flex;justify-content:center;align-items:center;width:16px;height:16px;min-width:16px;min-height:16px;max-height:16px;max-width:16px;border-radius:var(--sys-border-radius-sm);border:1px solid var(--ref-color-grey-60);background:var(--ref-color-white);box-sizing:border-box}ap-checkbox .checkbox .checkbox-container span.checkbox:hover{cursor:pointer;border-color:var(--ref-color-grey-80)}ap-checkbox .checkbox .checkbox-container span.checkbox:active{border-color:var(--ref-color-grey-100)}ap-checkbox .checkbox .checkbox-container span.checkbox .checkmark{display:flex;justify-content:center;align-items:center}ap-checkbox .checkbox .checkbox-container span.checkbox .indeterminate{height:1.5px;background:var(--ref-color-white);width:8px}ap-checkbox .checkbox label{display:flex;align-items:center;font-family:var(--comp-forms-label-font-family);font-size:var(--comp-forms-label-size);font-weight:var(--comp-forms-label-font-weight);line-height:var(--comp-forms-label-line-height);color:var(--comp-forms-label-text-color)}ap-checkbox .checkbox label:empty{display:none}ap-checkbox .checkbox label.disabled{color:var(--ref-color-grey-60)}ap-checkbox .checkbox label:hover:not(.disabled){cursor:pointer}form.ng-submitted ap-checkbox.ng-invalid span.checkbox{border-color:var(--ref-color-red-100)!important}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
137
137
  }
138
138
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: CheckboxComponent, decorators: [{
139
139
  type: Component,
@@ -144,7 +144,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
144
144
  useExisting: CheckboxComponent,
145
145
  multi: true,
146
146
  },
147
- ], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"checkbox\"\n (click)=\"_preventBubblingFromLabel($event)\">\n <div\n class=\"checkbox-container\"\n [class.hover]=\"hovered\"\n [class.checked]=\"checked\"\n [class.indeterminate]=\"indeterminate && !checked\"\n [class.disabled]=\"disabled\"\n [class.has-label]=\"hasLabel\"\n [class.required]=\"required\">\n <input\n #input\n type=\"checkbox\"\n [id]=\"name\"\n [class.disabled]=\"disabled\"\n [disabled]=\"disabled\"\n [checked]=\"checked\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.data-test]=\"name\"\n (click)=\"onValueChange($event)\" />\n <span\n class=\"checkbox\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n (click)=\"onValueChange($event)\">\n @if (checked) {\n <span class=\"checkmark\">\n <ap-symbol\n symbolId=\"check\"\n color=\"white\"\n [size]=\"10\" />\n </span>\n }\n @if (indeterminate && !checked) {\n <span class=\"indeterminate\"></span>\n }\n </span>\n </div>\n <label\n #label\n [class.disabled]=\"disabled\"\n [for]=\"name\">\n <ng-content />\n </label>\n</div>\n", styles: ["ap-checkbox{display:flex;align-items:center}ap-checkbox.ng-invalid.ng-touched .checkbox-container.required span.checkbox{border-color:var(--ref-color-red-100)!important}ap-checkbox.bold label{font-weight:var(--ref-font-weight-bold)}ap-checkbox.full-width .checkbox{justify-content:space-between;align-items:center;width:100%}ap-checkbox .checkbox{display:flex;align-items:center;gap:var(--ref-spacing-xxs)}ap-checkbox .checkbox .checkbox-container{display:flex;justify-content:center;align-items:center;max-width:36px;height:fit-content;box-sizing:border-box;position:relative}ap-checkbox .checkbox .checkbox-container:not(.has-label){padding:10px}ap-checkbox .checkbox .checkbox-container.hover:not(.disabled):not(.has-label){border-radius:var(--ref-border-radius-md);background:var(--ref-color-grey-05)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled).hover{background:var(--ref-color-electric-blue-10)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled):active:not(.has-label){background:var(--ref-color-electric-blue-20)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled):active:not(.has-label) span.checkbox{background:var(--ref-color-electric-blue-60)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled) span.checkbox{background:var(--ref-color-electric-blue-100);border-color:var(--ref-color-electric-blue-100)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled) span.checkbox:hover{border:1px solid var(--ref-color-electric-blue-100);background:var(--ref-color-electric-blue-80)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled) span.checkbox:active{border:1px solid var(--ref-color-electric-blue-100);background:var(--ref-color-electric-blue-60)}ap-checkbox .checkbox .checkbox-container.indeterminate:not(.disabled).hover{background:var(--ref-color-electric-blue-10)}ap-checkbox .checkbox .checkbox-container.indeterminate:not(.disabled) span.checkbox{background:var(--ref-color-electric-blue-100);border-color:var(--ref-color-electric-blue-100)}ap-checkbox .checkbox .checkbox-container.indeterminate:not(.disabled) span.checkbox:hover{border:1px solid var(--ref-color-electric-blue-100);background:var(--ref-color-electric-blue-80)}ap-checkbox .checkbox .checkbox-container.disabled span.checkbox{border:1px solid var(--ref-color-grey-20);background:var(--ref-color-grey-10)}ap-checkbox .checkbox .checkbox-container.disabled.checked span.checkbox{background:var(--ref-color-grey-20)}ap-checkbox .checkbox .checkbox-container.disabled.indeterminate span.checkbox{background:var(--ref-color-grey-20)}ap-checkbox .checkbox .checkbox-container.disabled span.checkbox{pointer-events:none}ap-checkbox .checkbox .checkbox-container input[type=checkbox]{position:absolute;clip:rect(0,0,0,0)}@media(hover:hover){ap-checkbox .checkbox .checkbox-container input[type=checkbox]:focus:not(.disabled)~.checkbox{outline:3px solid var(--ref-color-electric-blue-100);outline-offset:1px}}ap-checkbox .checkbox .checkbox-container span.checkbox{display:flex;justify-content:center;align-items:center;width:16px;height:16px;min-width:16px;min-height:16px;max-height:16px;max-width:16px;border-radius:var(--sys-border-radius-sm);border:1px solid var(--ref-color-grey-60);background:var(--ref-color-white);box-sizing:border-box}ap-checkbox .checkbox .checkbox-container span.checkbox:hover{cursor:pointer;border-color:var(--ref-color-grey-80)}ap-checkbox .checkbox .checkbox-container span.checkbox:active{border-color:var(--ref-color-grey-100)}ap-checkbox .checkbox .checkbox-container span.checkbox .checkmark{display:flex;justify-content:center;align-items:center}ap-checkbox .checkbox .checkbox-container span.checkbox .indeterminate{height:1.5px;background:var(--ref-color-white);width:8px}ap-checkbox .checkbox label{display:flex;align-items:center;font-family:var(--comp-forms-label-font-family);font-size:var(--comp-forms-label-size);font-weight:var(--comp-forms-label-font-weight);line-height:var(--comp-forms-label-line-height);color:var(--comp-forms-label-text-color)}ap-checkbox .checkbox label:empty{display:none}ap-checkbox .checkbox label.disabled{color:var(--ref-color-grey-60)}ap-checkbox .checkbox label:hover:not(.disabled){cursor:pointer}form.ng-submitted ap-checkbox.ng-invalid span.checkbox{border-color:var(--ref-color-red-100)!important}\n"] }]
147
+ ], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"checkbox\"\n (click)=\"_preventBubblingFromLabel($event)\">\n <div\n class=\"checkbox-container\"\n [class.hover]=\"hovered\"\n [class.checked]=\"checked\"\n [class.indeterminate]=\"indeterminate && !checked\"\n [class.disabled]=\"disabled\"\n [class.has-label]=\"hasLabel\"\n [class.required]=\"required\">\n <input\n #input\n type=\"checkbox\"\n [id]=\"name\"\n [class.disabled]=\"disabled\"\n [disabled]=\"disabled\"\n [checked]=\"checked\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.data-test]=\"name\"\n (click)=\"onValueChange($event)\" />\n <span\n class=\"checkbox\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n (click)=\"onValueChange($event)\">\n @if (checked) {\n <span class=\"checkmark\">\n <ap-symbol\n symbolId=\"check\"\n color=\"white\"\n [size]=\"10\" />\n </span>\n }\n @if (indeterminate && !checked) {\n <span class=\"indeterminate\"></span>\n }\n </span>\n </div>\n <label\n #label\n [class.disabled]=\"disabled\"\n [for]=\"name\">\n <ng-content />\n </label>\n</div>\n", styles: ["ap-checkbox{display:flex;align-items:center}ap-checkbox.ng-invalid.ng-touched .checkbox-container.required span.checkbox{border-color:var(--ref-color-red-100)!important}ap-checkbox.bold label{font-weight:var(--ref-font-weight-bold)}ap-checkbox.full-width .checkbox{justify-content:space-between;align-items:center;width:100%}ap-checkbox .checkbox{display:flex;align-items:flex-start;gap:var(--ref-spacing-xxs)}ap-checkbox .checkbox .checkbox-container{display:flex;justify-content:center;align-items:center;max-width:36px;height:fit-content;box-sizing:border-box;position:relative;padding-top:1px}ap-checkbox .checkbox .checkbox-container:not(.has-label){padding:10px}ap-checkbox .checkbox .checkbox-container.hover:not(.disabled):not(.has-label){border-radius:var(--ref-border-radius-md);background:var(--ref-color-grey-05)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled).hover{background:var(--ref-color-electric-blue-10)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled):active:not(.has-label){background:var(--ref-color-electric-blue-20)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled):active:not(.has-label) span.checkbox{background:var(--ref-color-electric-blue-60)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled) span.checkbox{background:var(--ref-color-electric-blue-100);border-color:var(--ref-color-electric-blue-100)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled) span.checkbox:hover{border:1px solid var(--ref-color-electric-blue-100);background:var(--ref-color-electric-blue-80)}ap-checkbox .checkbox .checkbox-container.checked:not(.disabled) span.checkbox:active{border:1px solid var(--ref-color-electric-blue-100);background:var(--ref-color-electric-blue-60)}ap-checkbox .checkbox .checkbox-container.indeterminate:not(.disabled).hover{background:var(--ref-color-electric-blue-10)}ap-checkbox .checkbox .checkbox-container.indeterminate:not(.disabled) span.checkbox{background:var(--ref-color-electric-blue-100);border-color:var(--ref-color-electric-blue-100)}ap-checkbox .checkbox .checkbox-container.indeterminate:not(.disabled) span.checkbox:hover{border:1px solid var(--ref-color-electric-blue-100);background:var(--ref-color-electric-blue-80)}ap-checkbox .checkbox .checkbox-container.disabled span.checkbox{border:1px solid var(--ref-color-grey-20);background:var(--ref-color-grey-10)}ap-checkbox .checkbox .checkbox-container.disabled.checked span.checkbox{background:var(--ref-color-grey-20)}ap-checkbox .checkbox .checkbox-container.disabled.indeterminate span.checkbox{background:var(--ref-color-grey-20)}ap-checkbox .checkbox .checkbox-container.disabled span.checkbox{pointer-events:none}ap-checkbox .checkbox .checkbox-container input[type=checkbox]{position:absolute;clip:rect(0,0,0,0)}@media(hover:hover){ap-checkbox .checkbox .checkbox-container input[type=checkbox]:focus:not(.disabled)~.checkbox{outline:3px solid var(--ref-color-electric-blue-100);outline-offset:1px}}ap-checkbox .checkbox .checkbox-container span.checkbox{display:flex;justify-content:center;align-items:center;width:16px;height:16px;min-width:16px;min-height:16px;max-height:16px;max-width:16px;border-radius:var(--sys-border-radius-sm);border:1px solid var(--ref-color-grey-60);background:var(--ref-color-white);box-sizing:border-box}ap-checkbox .checkbox .checkbox-container span.checkbox:hover{cursor:pointer;border-color:var(--ref-color-grey-80)}ap-checkbox .checkbox .checkbox-container span.checkbox:active{border-color:var(--ref-color-grey-100)}ap-checkbox .checkbox .checkbox-container span.checkbox .checkmark{display:flex;justify-content:center;align-items:center}ap-checkbox .checkbox .checkbox-container span.checkbox .indeterminate{height:1.5px;background:var(--ref-color-white);width:8px}ap-checkbox .checkbox label{display:flex;align-items:center;font-family:var(--comp-forms-label-font-family);font-size:var(--comp-forms-label-size);font-weight:var(--comp-forms-label-font-weight);line-height:var(--comp-forms-label-line-height);color:var(--comp-forms-label-text-color)}ap-checkbox .checkbox label:empty{display:none}ap-checkbox .checkbox label.disabled{color:var(--ref-color-grey-60)}ap-checkbox .checkbox label:hover:not(.disabled){cursor:pointer}form.ng-submitted ap-checkbox.ng-invalid span.checkbox{border-color:var(--ref-color-red-100)!important}\n"] }]
148
148
  }], propDecorators: { inputElement: [{
149
149
  type: ViewChild,
150
150
  args: ['input', { static: true }]
@@ -1 +1 @@
1
- {"version":3,"file":"agorapulse-ui-components-checkbox.mjs","sources":["../../../libs/ui-components/checkbox/src/checkbox.component.ts","../../../libs/ui-components/checkbox/src/checkbox.component.html","../../../libs/ui-components/checkbox/src/agorapulse-ui-components-checkbox.ts"],"sourcesContent":["import { apCheck, SymbolComponent, SymbolRegistry } from '@agorapulse/ui-symbol';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n OnChanges,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport const AP_CHECKBOX_CONTROL_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n};\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-checkbox',\n styleUrls: ['./checkbox.component.scss'],\n imports: [SymbolComponent],\n providers: [\n AP_CHECKBOX_CONTROL_VALUE_ACCESSOR,\n {\n provide: NG_VALIDATORS,\n useExisting: CheckboxComponent,\n multi: true,\n },\n ],\n templateUrl: './checkbox.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class CheckboxComponent implements ControlValueAccessor, AfterContentInit, OnChanges, OnInit {\n private readonly symbolRegistry = inject(SymbolRegistry);\n @ViewChild('input', { static: true }) inputElement!: ElementRef<HTMLInputElement>;\n @ViewChild('label', { static: true }) labelElement!: ElementRef<HTMLInputElement>;\n @Input('aria-label') ariaLabel?: string;\n @Input('aria-labelledby') ariaLabelledby?: string;\n @Input('aria-describedby') ariaDescribedby?: string;\n @Input({\n transform: booleanAttribute,\n })\n disabled = false;\n @Input({\n transform: booleanAttribute,\n })\n set indeterminate(indeterminate: boolean) {\n if (indeterminate) {\n this.checked = false;\n }\n this._indeterminate = indeterminate;\n }\n\n get indeterminate(): boolean {\n return this._indeterminate;\n }\n\n @Input() checked = false;\n\n /**\n * Swallows clicks so the box only mirrors the `checked` it is given — set it where the\n * surrounding element handles the click. Left off, the box owns its value, as `ngModel` needs.\n */\n @Input({\n transform: booleanAttribute,\n })\n fullyControlled = false;\n\n @Input({\n transform: booleanAttribute,\n })\n required = false;\n\n @Input({\n required: true,\n })\n set name(name: string) {\n this._name = name;\n }\n get name(): string {\n return this._name;\n }\n // eslint-disable-next-line\n @Output() readonly change: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n ariaChecked: 'true' | 'false' | 'mixed' = 'false';\n hasLabel = false;\n hovered = false;\n\n private _indeterminate = false;\n private _name = '';\n private _controlValueAccessorChangeFn!: (value: boolean) => void;\n onTouched!: () => void;\n\n ngOnChanges(): void {\n if (this.labelElement) {\n this.hasLabel = !!this.labelElement.nativeElement.textContent?.trim();\n }\n }\n\n ngOnInit() {\n this.symbolRegistry.registerSymbols([apCheck]);\n }\n\n ngAfterContentInit(): void {\n if (this.labelElement) {\n this.hasLabel = !!this.labelElement.nativeElement.textContent?.trim();\n }\n }\n\n onMouseEnter(): void {\n if (!this.disabled) {\n this.hovered = true;\n }\n }\n\n onMouseLeave(): void {\n if (!this.disabled) {\n this.hovered = false;\n }\n }\n\n onValueChange(event?: MouseEvent) {\n if (this.fullyControlled) {\n // The browser flips a native checkbox before any binding can correct it, so block that here.\n event?.preventDefault();\n return;\n }\n if (this.onTouched) {\n this.onTouched();\n }\n if (!this.disabled) {\n if (this.indeterminate) {\n this.checked = false;\n this.indeterminate = false;\n } else {\n this.checked = !this.checked;\n this.focus();\n }\n this.change.emit(this.checked);\n if (this._controlValueAccessorChangeFn) {\n this._controlValueAccessorChangeFn(this.checked);\n }\n\n // Assigning the value again here is redundant, but we have to do it in case it was\n // changed inside the `change` listener which will cause the input to be out of sync.\n if (this.inputElement) {\n this.inputElement.nativeElement.checked = this.checked;\n }\n }\n }\n\n focus() {\n this.inputElement.nativeElement.focus();\n }\n\n writeValue(value: boolean): void {\n this.checked = value;\n }\n registerOnChange(fn: (value: boolean) => void): void {\n this._controlValueAccessorChangeFn = fn;\n }\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n validate() {\n const isNotValid = !this.checked && this.required;\n return (\n isNotValid && {\n invalid: true,\n }\n );\n }\n\n _preventBubblingFromLabel(event: MouseEvent) {\n if (!!event.target && this.labelElement.nativeElement.contains(event.target as HTMLElement)) {\n event.stopPropagation();\n }\n }\n}\n","<div\n class=\"checkbox\"\n (click)=\"_preventBubblingFromLabel($event)\">\n <div\n class=\"checkbox-container\"\n [class.hover]=\"hovered\"\n [class.checked]=\"checked\"\n [class.indeterminate]=\"indeterminate && !checked\"\n [class.disabled]=\"disabled\"\n [class.has-label]=\"hasLabel\"\n [class.required]=\"required\">\n <input\n #input\n type=\"checkbox\"\n [id]=\"name\"\n [class.disabled]=\"disabled\"\n [disabled]=\"disabled\"\n [checked]=\"checked\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.data-test]=\"name\"\n (click)=\"onValueChange($event)\" />\n <span\n class=\"checkbox\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n (click)=\"onValueChange($event)\">\n @if (checked) {\n <span class=\"checkmark\">\n <ap-symbol\n symbolId=\"check\"\n color=\"white\"\n [size]=\"10\" />\n </span>\n }\n @if (indeterminate && !checked) {\n <span class=\"indeterminate\"></span>\n }\n </span>\n </div>\n <label\n #label\n [class.disabled]=\"disabled\"\n [for]=\"name\">\n <ng-content />\n </label>\n</div>\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":"agorapulse-ui-components-checkbox.mjs","sources":["../../../libs/ui-components/checkbox/src/checkbox.component.ts","../../../libs/ui-components/checkbox/src/checkbox.component.html","../../../libs/ui-components/checkbox/src/agorapulse-ui-components-checkbox.ts"],"sourcesContent":["import { apCheck, SymbolComponent, SymbolRegistry } from '@agorapulse/ui-symbol';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n OnChanges,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport const AP_CHECKBOX_CONTROL_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n};\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-checkbox',\n styleUrls: ['./checkbox.component.scss'],\n imports: [SymbolComponent],\n providers: [\n AP_CHECKBOX_CONTROL_VALUE_ACCESSOR,\n {\n provide: NG_VALIDATORS,\n useExisting: CheckboxComponent,\n multi: true,\n },\n ],\n templateUrl: './checkbox.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class CheckboxComponent implements ControlValueAccessor, AfterContentInit, OnChanges, OnInit {\n private readonly symbolRegistry = inject(SymbolRegistry);\n @ViewChild('input', { static: true }) inputElement!: ElementRef<HTMLInputElement>;\n @ViewChild('label', { static: true }) labelElement!: ElementRef<HTMLInputElement>;\n @Input('aria-label') ariaLabel?: string;\n @Input('aria-labelledby') ariaLabelledby?: string;\n @Input('aria-describedby') ariaDescribedby?: string;\n @Input({\n transform: booleanAttribute,\n })\n disabled = false;\n @Input({\n transform: booleanAttribute,\n })\n set indeterminate(indeterminate: boolean) {\n if (indeterminate) {\n this.checked = false;\n }\n this._indeterminate = indeterminate;\n }\n\n get indeterminate(): boolean {\n return this._indeterminate;\n }\n\n @Input() checked = false;\n\n /**\n * Swallows clicks so the box only mirrors the `checked` it is given — set it where the\n * surrounding element handles the click. Left off, the box owns its value, as `ngModel` needs.\n */\n @Input({\n transform: booleanAttribute,\n })\n fullyControlled = false;\n\n @Input({\n transform: booleanAttribute,\n })\n required = false;\n\n @Input({\n required: true,\n })\n set name(name: string) {\n this._name = name;\n }\n get name(): string {\n return this._name;\n }\n // eslint-disable-next-line\n @Output() readonly change: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n ariaChecked: 'true' | 'false' | 'mixed' = 'false';\n hasLabel = false;\n hovered = false;\n\n private _indeterminate = false;\n private _name = '';\n private _controlValueAccessorChangeFn!: (value: boolean) => void;\n onTouched!: () => void;\n\n ngOnChanges(): void {\n if (this.labelElement) {\n this.hasLabel = !!this.labelElement.nativeElement.textContent?.trim();\n }\n }\n\n ngOnInit() {\n this.symbolRegistry.registerSymbols([apCheck]);\n }\n\n ngAfterContentInit(): void {\n if (this.labelElement) {\n this.hasLabel = !!this.labelElement.nativeElement.textContent?.trim();\n }\n }\n\n onMouseEnter(): void {\n if (!this.disabled) {\n this.hovered = true;\n }\n }\n\n onMouseLeave(): void {\n if (!this.disabled) {\n this.hovered = false;\n }\n }\n\n onValueChange(event?: MouseEvent) {\n if (this.fullyControlled) {\n // The browser flips a native checkbox before any binding can correct it, so block that here.\n event?.preventDefault();\n return;\n }\n if (this.onTouched) {\n this.onTouched();\n }\n if (!this.disabled) {\n if (this.indeterminate) {\n this.checked = false;\n this.indeterminate = false;\n } else {\n this.checked = !this.checked;\n this.focus();\n }\n this.change.emit(this.checked);\n if (this._controlValueAccessorChangeFn) {\n this._controlValueAccessorChangeFn(this.checked);\n }\n\n // Assigning the value again here is redundant, but we have to do it in case it was\n // changed inside the `change` listener which will cause the input to be out of sync.\n if (this.inputElement) {\n this.inputElement.nativeElement.checked = this.checked;\n }\n }\n }\n\n focus() {\n this.inputElement.nativeElement.focus();\n }\n\n writeValue(value: boolean): void {\n this.checked = value;\n }\n registerOnChange(fn: (value: boolean) => void): void {\n this._controlValueAccessorChangeFn = fn;\n }\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n validate() {\n const isNotValid = !this.checked && this.required;\n return (\n isNotValid && {\n invalid: true,\n }\n );\n }\n\n _preventBubblingFromLabel(event: MouseEvent) {\n if (!!event.target && this.labelElement.nativeElement.contains(event.target as HTMLElement)) {\n event.stopPropagation();\n }\n }\n}\n","<div\n class=\"checkbox\"\n (click)=\"_preventBubblingFromLabel($event)\">\n <div\n class=\"checkbox-container\"\n [class.hover]=\"hovered\"\n [class.checked]=\"checked\"\n [class.indeterminate]=\"indeterminate && !checked\"\n [class.disabled]=\"disabled\"\n [class.has-label]=\"hasLabel\"\n [class.required]=\"required\">\n <input\n #input\n type=\"checkbox\"\n [id]=\"name\"\n [class.disabled]=\"disabled\"\n [disabled]=\"disabled\"\n [checked]=\"checked\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.data-test]=\"name\"\n (click)=\"onValueChange($event)\" />\n <span\n class=\"checkbox\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n (click)=\"onValueChange($event)\">\n @if (checked) {\n <span class=\"checkmark\">\n <ap-symbol\n symbolId=\"check\"\n color=\"white\"\n [size]=\"10\" />\n </span>\n }\n @if (indeterminate && !checked) {\n <span class=\"indeterminate\"></span>\n }\n </span>\n </div>\n <label\n #label\n [class.disabled]=\"disabled\"\n [for]=\"name\">\n <ng-content />\n </label>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -264,11 +264,11 @@ class RadioComponent {
264
264
  `);
265
265
  }
266
266
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: RadioComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
267
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "22.0.5", type: RadioComponent, isStandalone: true, selector: "ap-radio", inputs: { ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], ariaDescribedby: ["aria-describedby", "ariaDescribedby"], disabled: ["disabled", "disabled", booleanAttribute], labelPosition: "labelPosition", radioId: "radioId", formControlName: "formControlName", value: "value", required: ["required", "required", booleanAttribute], name: "name" }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur" }, providers: [RADIO_VALUE_ACCESSOR], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "labelElement", first: true, predicate: ["label"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"radio-button-container\"\n [class.required]=\"required\"\n [class.label-left]=\"labelPosition === 'left'\">\n <input\n #input\n type=\"radio\"\n tabindex=\"0\"\n [attr.id]=\"inputId\"\n [attr.name]=\"name + '-radio-' + radioIndex\"\n [attr.value]=\"value\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.data-test]=\"hostDataTest ?? name\"\n [checked]=\"checked\"\n [required]=\"required\"\n [class.disabled]=\"disabled\"\n (change)=\"onChange($event)\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus($event)\" />\n <div\n class=\"radio-button\"\n [class.disabled]=\"disabled\"\n (click)=\"select($event)\"></div>\n <label\n [for]=\"inputId\"\n (click)=\"select($event)\">\n <ng-content />\n </label>\n</div>\n", styles: ["ap-radio .radio-button-container{display:flex;align-items:center;gap:var(--ref-spacing-xxs)}ap-radio .radio-button-container.label-left{flex-direction:row-reverse}ap-radio .radio-button-container input[type=radio]{transform:scale(0);position:absolute}ap-radio .radio-button-container input[type=radio]:checked~.radio-button{border-color:var(--ref-color-electric-blue-100);box-shadow:inset 0 0 0 3px var(--ref-color-white)}ap-radio .radio-button-container input[type=radio]:checked~.radio-button.disabled{background:var(--ref-color-grey-40);box-shadow:inset 0 0 0 3px var(--ref-color-grey-10)}ap-radio .radio-button-container input[type=radio]:checked:focus~.radio-button{border-color:var(--ref-color-electric-blue-100)}ap-radio .radio-button-container input[type=radio].disabled~.radio-button{pointer-events:none;cursor:default;box-shadow:inset 0 0 0 16px var(--ref-color-grey-10);border-color:var(--ref-color-grey-20)}ap-radio .radio-button-container input[type=radio].disabled~label{pointer-events:none;cursor:default;color:var(--ref-color-grey-60)}ap-radio .radio-button-container input[type=radio]:focus~.radio-button{outline:3px solid var(--ref-color-electric-blue-100);border-color:var(--ref-color-grey-80);outline-offset:1px}ap-radio .radio-button-container .radio-button{width:16px;height:16px;border-radius:100%;border:1px solid var(--ref-color-grey-60);background:var(--ref-color-electric-blue-100);box-shadow:inset 0 0 0 16px var(--ref-color-white);transition:box-shadow var(--comp-radio-transition-duration);flex-shrink:0}ap-radio .radio-button-container .radio-button:hover:not(.disabled){cursor:pointer;border-color:var(--ref-color-grey-80)}ap-radio .radio-button-container label{display:flex;align-items:center;font-family:var(--sys-text-style-body-font-family);font-size:var(--sys-text-style-body-size);font-weight:var(--sys-text-style-body-weight);line-height:var(--sys-text-style-body-line-height);color:var(--ref-color-grey-100)}ap-radio .radio-button-container label:empty{display:none}ap-radio .radio-button-container label.disabled{color:var(--ref-color-grey-60)}ap-radio .radio-button-container label:hover:not(.disabled){cursor:pointer}ap-radio.ng-invalid.ng-dirty .radio-button{border-color:var(--ref-color-red-100)}ap-radio.ng-invalid.ng-dirty .radio-button:hover{border-color:var(--ref-color-red-60)}ap-radio.ng-invalid.ng-dirty input[type=radio]:focus~.radio-button{border-color:var(--ref-color-red-60)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
267
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "22.0.5", type: RadioComponent, isStandalone: true, selector: "ap-radio", inputs: { ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], ariaDescribedby: ["aria-describedby", "ariaDescribedby"], disabled: ["disabled", "disabled", booleanAttribute], labelPosition: "labelPosition", radioId: "radioId", formControlName: "formControlName", value: "value", required: ["required", "required", booleanAttribute], name: "name" }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur" }, providers: [RADIO_VALUE_ACCESSOR], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "labelElement", first: true, predicate: ["label"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"radio-button-container\"\n [class.required]=\"required\"\n [class.label-left]=\"labelPosition === 'left'\">\n <input\n #input\n type=\"radio\"\n tabindex=\"0\"\n [attr.id]=\"inputId\"\n [attr.name]=\"name + '-radio-' + radioIndex\"\n [attr.value]=\"value\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.data-test]=\"hostDataTest ?? name\"\n [checked]=\"checked\"\n [required]=\"required\"\n [class.disabled]=\"disabled\"\n (change)=\"onChange($event)\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus($event)\" />\n <div\n class=\"radio-button\"\n [class.disabled]=\"disabled\"\n (click)=\"select($event)\"></div>\n <label\n [for]=\"inputId\"\n (click)=\"select($event)\">\n <ng-content />\n </label>\n</div>\n", styles: ["ap-radio .radio-button-container{display:flex;align-items:flex-start;gap:var(--ref-spacing-xxs)}ap-radio .radio-button-container.label-left{flex-direction:row-reverse}ap-radio .radio-button-container input[type=radio]{transform:scale(0);position:absolute}ap-radio .radio-button-container input[type=radio]:checked~.radio-button{border-color:var(--ref-color-electric-blue-100);box-shadow:inset 0 0 0 3px var(--ref-color-white)}ap-radio .radio-button-container input[type=radio]:checked~.radio-button.disabled{background:var(--ref-color-grey-40);box-shadow:inset 0 0 0 3px var(--ref-color-grey-10)}ap-radio .radio-button-container input[type=radio]:checked:focus~.radio-button{border-color:var(--ref-color-electric-blue-100)}ap-radio .radio-button-container input[type=radio].disabled~.radio-button{pointer-events:none;cursor:default;box-shadow:inset 0 0 0 16px var(--ref-color-grey-10);border-color:var(--ref-color-grey-20)}ap-radio .radio-button-container input[type=radio].disabled~label{pointer-events:none;cursor:default;color:var(--ref-color-grey-60)}ap-radio .radio-button-container input[type=radio]:focus~.radio-button{outline:3px solid var(--ref-color-electric-blue-100);border-color:var(--ref-color-grey-80);outline-offset:1px}ap-radio .radio-button-container .radio-button{width:16px;height:16px;border-radius:100%;border:1px solid var(--ref-color-grey-60);background:var(--ref-color-electric-blue-100);box-shadow:inset 0 0 0 16px var(--ref-color-white);transition:box-shadow var(--comp-radio-transition-duration);flex-shrink:0;margin-top:1px}ap-radio .radio-button-container .radio-button:hover:not(.disabled){cursor:pointer;border-color:var(--ref-color-grey-80)}ap-radio .radio-button-container label{display:flex;align-items:center;font-family:var(--sys-text-style-body-font-family);font-size:var(--sys-text-style-body-size);font-weight:var(--sys-text-style-body-weight);line-height:var(--sys-text-style-body-line-height);color:var(--ref-color-grey-100)}ap-radio .radio-button-container label:empty{display:none}ap-radio .radio-button-container label.disabled{color:var(--ref-color-grey-60)}ap-radio .radio-button-container label:hover:not(.disabled){cursor:pointer}ap-radio.ng-invalid.ng-dirty .radio-button{border-color:var(--ref-color-red-100)}ap-radio.ng-invalid.ng-dirty .radio-button:hover{border-color:var(--ref-color-red-60)}ap-radio.ng-invalid.ng-dirty input[type=radio]:focus~.radio-button{border-color:var(--ref-color-red-60)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
268
268
  }
269
269
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: RadioComponent, decorators: [{
270
270
  type: Component,
271
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-radio', standalone: true, providers: [RADIO_VALUE_ACCESSOR], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"radio-button-container\"\n [class.required]=\"required\"\n [class.label-left]=\"labelPosition === 'left'\">\n <input\n #input\n type=\"radio\"\n tabindex=\"0\"\n [attr.id]=\"inputId\"\n [attr.name]=\"name + '-radio-' + radioIndex\"\n [attr.value]=\"value\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.data-test]=\"hostDataTest ?? name\"\n [checked]=\"checked\"\n [required]=\"required\"\n [class.disabled]=\"disabled\"\n (change)=\"onChange($event)\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus($event)\" />\n <div\n class=\"radio-button\"\n [class.disabled]=\"disabled\"\n (click)=\"select($event)\"></div>\n <label\n [for]=\"inputId\"\n (click)=\"select($event)\">\n <ng-content />\n </label>\n</div>\n", styles: ["ap-radio .radio-button-container{display:flex;align-items:center;gap:var(--ref-spacing-xxs)}ap-radio .radio-button-container.label-left{flex-direction:row-reverse}ap-radio .radio-button-container input[type=radio]{transform:scale(0);position:absolute}ap-radio .radio-button-container input[type=radio]:checked~.radio-button{border-color:var(--ref-color-electric-blue-100);box-shadow:inset 0 0 0 3px var(--ref-color-white)}ap-radio .radio-button-container input[type=radio]:checked~.radio-button.disabled{background:var(--ref-color-grey-40);box-shadow:inset 0 0 0 3px var(--ref-color-grey-10)}ap-radio .radio-button-container input[type=radio]:checked:focus~.radio-button{border-color:var(--ref-color-electric-blue-100)}ap-radio .radio-button-container input[type=radio].disabled~.radio-button{pointer-events:none;cursor:default;box-shadow:inset 0 0 0 16px var(--ref-color-grey-10);border-color:var(--ref-color-grey-20)}ap-radio .radio-button-container input[type=radio].disabled~label{pointer-events:none;cursor:default;color:var(--ref-color-grey-60)}ap-radio .radio-button-container input[type=radio]:focus~.radio-button{outline:3px solid var(--ref-color-electric-blue-100);border-color:var(--ref-color-grey-80);outline-offset:1px}ap-radio .radio-button-container .radio-button{width:16px;height:16px;border-radius:100%;border:1px solid var(--ref-color-grey-60);background:var(--ref-color-electric-blue-100);box-shadow:inset 0 0 0 16px var(--ref-color-white);transition:box-shadow var(--comp-radio-transition-duration);flex-shrink:0}ap-radio .radio-button-container .radio-button:hover:not(.disabled){cursor:pointer;border-color:var(--ref-color-grey-80)}ap-radio .radio-button-container label{display:flex;align-items:center;font-family:var(--sys-text-style-body-font-family);font-size:var(--sys-text-style-body-size);font-weight:var(--sys-text-style-body-weight);line-height:var(--sys-text-style-body-line-height);color:var(--ref-color-grey-100)}ap-radio .radio-button-container label:empty{display:none}ap-radio .radio-button-container label.disabled{color:var(--ref-color-grey-60)}ap-radio .radio-button-container label:hover:not(.disabled){cursor:pointer}ap-radio.ng-invalid.ng-dirty .radio-button{border-color:var(--ref-color-red-100)}ap-radio.ng-invalid.ng-dirty .radio-button:hover{border-color:var(--ref-color-red-60)}ap-radio.ng-invalid.ng-dirty input[type=radio]:focus~.radio-button{border-color:var(--ref-color-red-60)}\n"] }]
271
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-radio', standalone: true, providers: [RADIO_VALUE_ACCESSOR], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"radio-button-container\"\n [class.required]=\"required\"\n [class.label-left]=\"labelPosition === 'left'\">\n <input\n #input\n type=\"radio\"\n tabindex=\"0\"\n [attr.id]=\"inputId\"\n [attr.name]=\"name + '-radio-' + radioIndex\"\n [attr.value]=\"value\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.data-test]=\"hostDataTest ?? name\"\n [checked]=\"checked\"\n [required]=\"required\"\n [class.disabled]=\"disabled\"\n (change)=\"onChange($event)\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus($event)\" />\n <div\n class=\"radio-button\"\n [class.disabled]=\"disabled\"\n (click)=\"select($event)\"></div>\n <label\n [for]=\"inputId\"\n (click)=\"select($event)\">\n <ng-content />\n </label>\n</div>\n", styles: ["ap-radio .radio-button-container{display:flex;align-items:flex-start;gap:var(--ref-spacing-xxs)}ap-radio .radio-button-container.label-left{flex-direction:row-reverse}ap-radio .radio-button-container input[type=radio]{transform:scale(0);position:absolute}ap-radio .radio-button-container input[type=radio]:checked~.radio-button{border-color:var(--ref-color-electric-blue-100);box-shadow:inset 0 0 0 3px var(--ref-color-white)}ap-radio .radio-button-container input[type=radio]:checked~.radio-button.disabled{background:var(--ref-color-grey-40);box-shadow:inset 0 0 0 3px var(--ref-color-grey-10)}ap-radio .radio-button-container input[type=radio]:checked:focus~.radio-button{border-color:var(--ref-color-electric-blue-100)}ap-radio .radio-button-container input[type=radio].disabled~.radio-button{pointer-events:none;cursor:default;box-shadow:inset 0 0 0 16px var(--ref-color-grey-10);border-color:var(--ref-color-grey-20)}ap-radio .radio-button-container input[type=radio].disabled~label{pointer-events:none;cursor:default;color:var(--ref-color-grey-60)}ap-radio .radio-button-container input[type=radio]:focus~.radio-button{outline:3px solid var(--ref-color-electric-blue-100);border-color:var(--ref-color-grey-80);outline-offset:1px}ap-radio .radio-button-container .radio-button{width:16px;height:16px;border-radius:100%;border:1px solid var(--ref-color-grey-60);background:var(--ref-color-electric-blue-100);box-shadow:inset 0 0 0 16px var(--ref-color-white);transition:box-shadow var(--comp-radio-transition-duration);flex-shrink:0;margin-top:1px}ap-radio .radio-button-container .radio-button:hover:not(.disabled){cursor:pointer;border-color:var(--ref-color-grey-80)}ap-radio .radio-button-container label{display:flex;align-items:center;font-family:var(--sys-text-style-body-font-family);font-size:var(--sys-text-style-body-size);font-weight:var(--sys-text-style-body-weight);line-height:var(--sys-text-style-body-line-height);color:var(--ref-color-grey-100)}ap-radio .radio-button-container label:empty{display:none}ap-radio .radio-button-container label.disabled{color:var(--ref-color-grey-60)}ap-radio .radio-button-container label:hover:not(.disabled){cursor:pointer}ap-radio.ng-invalid.ng-dirty .radio-button{border-color:var(--ref-color-red-100)}ap-radio.ng-invalid.ng-dirty .radio-button:hover{border-color:var(--ref-color-red-60)}ap-radio.ng-invalid.ng-dirty input[type=radio]:focus~.radio-button{border-color:var(--ref-color-red-60)}\n"] }]
272
272
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { inputElement: [{
273
273
  type: ViewChild,
274
274
  args: ['input', { static: true }]
@@ -1 +1 @@
1
- {"version":3,"file":"agorapulse-ui-components-radio.mjs","sources":["../../../libs/ui-components/radio/src/radio.component.ts","../../../libs/ui-components/radio/src/radio.component.html","../../../libs/ui-components/radio/src/agorapulse-ui-components-radio.ts"],"sourcesContent":["import {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n Injectable,\n Injector,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n Provider,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';\nimport { filter, fromEvent, Subject, takeUntil } from 'rxjs';\n\nexport const RADIO_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioComponent),\n multi: true,\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RadioControlRegistry {\n private accessors: [NgControl, RadioComponent][] = [];\n\n add(control: NgControl, accessor: RadioComponent) {\n this.accessors.push([control, accessor]);\n }\n\n remove(accessor: RadioComponent) {\n this.accessors = this.accessors.filter(([, radioComponent]) => {\n return radioComponent !== accessor;\n });\n }\n\n select(accessor: RadioComponent) {\n this.accessors.forEach(([ngControl, radioComponent]) => {\n if (this.isSameGroup(ngControl, radioComponent, accessor) && radioComponent !== accessor) {\n radioComponent.writeValue(accessor.value);\n }\n });\n }\n\n getIndex(accessor: RadioComponent): number {\n return this.accessors.findIndex(([, radioComponent]) => {\n return radioComponent === accessor;\n });\n }\n\n getNextRadio(accessor: RadioComponent): RadioComponent | null {\n const index = this.getIndex(accessor);\n const nextIndex = index + 1;\n if (nextIndex >= this.accessors.length) {\n return this.accessors[0][1];\n }\n const nextRadio = this.accessors[nextIndex];\n return nextRadio ? nextRadio[1] : null;\n }\n\n getPreviousRadio(accessor: RadioComponent): RadioComponent | null {\n const index = this.getIndex(accessor);\n if (index === 0) {\n return this.accessors[this.accessors.length - 1][1];\n }\n const previousIndex = index - 1;\n const previousRadio = this.accessors[previousIndex];\n return previousRadio ? previousRadio[1] : null;\n }\n\n blurAllGroup(accessor: RadioComponent): void {\n this.accessors.forEach(([, radioComponent]) => {\n if (this.isSameGroup(accessor.control, radioComponent, accessor)) {\n radioComponent.inputElement.nativeElement.blur();\n }\n });\n }\n\n setNegativeTabIndexToAllExcept(accessor: RadioComponent): void {\n this.accessors.forEach(([, radioComponent]) => {\n if (this.isSameGroup(accessor.control, radioComponent, accessor)) {\n if (accessor.radioId !== radioComponent.radioId) {\n radioComponent.inputElement.nativeElement.tabIndex = -1;\n } else {\n radioComponent.inputElement.nativeElement.tabIndex = 0;\n }\n }\n });\n }\n\n focusPrevious(accessor: RadioComponent): void {\n const previousRadio = this.getPreviousRadio(accessor);\n if (previousRadio) {\n previousRadio.inputElement.nativeElement.focus();\n }\n }\n\n focusNext(accessor: RadioComponent): void {\n const nextRadio = this.getNextRadio(accessor);\n if (nextRadio) {\n nextRadio.inputElement.nativeElement.focus();\n }\n }\n\n getFirstCheckedRadio(): RadioComponent | null {\n const checkedRadio = this.accessors.find(([, radioComponent]) => {\n return radioComponent.checked;\n });\n return checkedRadio ? checkedRadio[1] : null;\n }\n\n private isSameGroup(ngControl: NgControl, radioComponent: RadioComponent, accessor: RadioComponent): boolean {\n if (!ngControl.control) {\n return false;\n }\n return radioComponent.name === accessor.name;\n }\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-radio',\n styleUrls: ['./radio.component.scss'],\n standalone: true,\n providers: [RADIO_VALUE_ACCESSOR],\n templateUrl: './radio.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class RadioComponent implements ControlValueAccessor, AfterContentInit, OnChanges, OnInit, OnDestroy {\n public readonly injector: Injector = inject(Injector);\n private readonly changeDetectorRef: ChangeDetectorRef = inject(ChangeDetectorRef);\n private readonly radioControlRegistry: RadioControlRegistry = inject(RadioControlRegistry);\n private readonly ngZone: NgZone = inject(NgZone);\n\n @ViewChild('input', { static: true }) inputElement!: ElementRef<HTMLInputElement>;\n @ViewChild('label', { static: true }) labelElement!: ElementRef<HTMLInputElement>;\n @Input('aria-label') ariaLabel = '';\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n @Input('aria-describedby') ariaDescribedby = '';\n @Input({\n transform: booleanAttribute,\n })\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n }\n\n get disabled(): boolean {\n return this._disabled;\n }\n @Input() labelPosition: 'left' | 'right' = 'right';\n @Input({\n required: true,\n })\n radioId = '';\n @Input() formControlName!: string;\n @Input({\n required: true,\n })\n value: unknown;\n @Input({\n transform: booleanAttribute,\n })\n required = false;\n @Input() name = '';\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onClick: EventEmitter<{\n originalEvent: Event;\n value: unknown;\n }> = new EventEmitter();\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onFocus: EventEmitter<FocusEvent> = new EventEmitter();\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onBlur: EventEmitter<FocusEvent> = new EventEmitter();\n\n inputId = '';\n _disabled = false;\n hasLabel = false;\n hostDataTest: string | undefined;\n control!: NgControl;\n checked = false;\n focused = false;\n radioIndex = 0;\n private readonly destroy$: Subject<void> = new Subject<void>();\n\n public onModelChange: (value: unknown) => void = () => {\n // ignore\n };\n\n public onModelTouched: () => void = () => {\n // ignore\n };\n\n constructor(private elementRef: ElementRef) {\n this.hostDataTest = elementRef.nativeElement.getAttribute('data-test');\n\n this.ngZone.runOutsideAngular(() => {\n fromEvent(window, 'keydown')\n .pipe(\n filter((event): event is KeyboardEvent => 'key' in event),\n takeUntil(this.destroy$)\n )\n .subscribe((event: KeyboardEvent) => {\n // Handle keydown event\n switch (event.key) {\n case 'ArrowDown':\n case 'ArrowRight':\n this.ngZone.run(() => {\n if (this.focused) {\n event.stopImmediatePropagation();\n this.radioControlRegistry.blurAllGroup(this);\n this.radioControlRegistry.focusNext(this);\n }\n });\n break;\n case 'ArrowUp':\n case 'ArrowLeft':\n this.ngZone.run(() => {\n if (this.focused) {\n event.stopImmediatePropagation();\n this.radioControlRegistry.blurAllGroup(this);\n this.radioControlRegistry.focusPrevious(this);\n }\n });\n break;\n default:\n return;\n }\n });\n });\n }\n\n ngOnChanges(): void {\n if (this.labelElement) {\n this.hasLabel = !!this.labelElement.nativeElement.textContent?.trim();\n }\n }\n\n ngOnInit() {\n this.control = this.injector.get(NgControl);\n this.checkName();\n this.radioControlRegistry.add(this.control, this);\n this.radioIndex = this.radioControlRegistry.getIndex(this);\n this.inputId = `${this.radioId}-${this.radioIndex}`;\n }\n\n ngAfterContentInit(): void {\n if (this.labelElement) {\n this.hasLabel = !!this.labelElement.nativeElement.textContent?.trim();\n }\n }\n\n ngOnDestroy() {\n this.radioControlRegistry.remove(this);\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n handleClick(event: MouseEvent, radioButton: HTMLInputElement) {\n event.preventDefault();\n\n if (this.disabled) {\n return;\n }\n this.select(event);\n radioButton.focus();\n }\n\n select(event: Event) {\n if (!this.disabled && !this.checked) {\n this.inputElement.nativeElement.checked = true;\n this.checked = true;\n this.onModelChange(this.value);\n this.radioControlRegistry.select(this);\n this.onClick.emit({ originalEvent: event, value: this.value });\n }\n }\n\n writeValue(value: unknown): void {\n this.checked = value == this.value;\n\n if (this.inputElement?.nativeElement) {\n this.inputElement.nativeElement.checked = this.checked;\n }\n\n this.changeDetectorRef.markForCheck();\n }\n\n registerOnChange(fn: () => void): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onModelTouched = fn;\n }\n\n onInputFocus(event: FocusEvent) {\n this.focused = true;\n if (!this.disabled && !this.checked) {\n this.radioControlRegistry.setNegativeTabIndexToAllExcept(this);\n this.inputElement.nativeElement.checked = true;\n this.checked = true;\n this.onModelChange(this.value);\n this.onFocus.emit(event);\n }\n }\n\n onInputBlur(event: FocusEvent) {\n this.focused = false;\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n onChange(event: Event) {\n this.select(event);\n }\n\n private checkName() {\n if (this.name && this.formControlName && this.name !== this.formControlName) {\n this.throwNameError();\n }\n if (!this.name && this.formControlName) {\n this.name = this.formControlName;\n }\n }\n\n private throwNameError() {\n throw new Error(`\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: <p-radioButton formControlName=\"food\" name=\"food\"></p-radioButton>\n `);\n }\n}\n","<div\n class=\"radio-button-container\"\n [class.required]=\"required\"\n [class.label-left]=\"labelPosition === 'left'\">\n <input\n #input\n type=\"radio\"\n tabindex=\"0\"\n [attr.id]=\"inputId\"\n [attr.name]=\"name + '-radio-' + radioIndex\"\n [attr.value]=\"value\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.data-test]=\"hostDataTest ?? name\"\n [checked]=\"checked\"\n [required]=\"required\"\n [class.disabled]=\"disabled\"\n (change)=\"onChange($event)\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus($event)\" />\n <div\n class=\"radio-button\"\n [class.disabled]=\"disabled\"\n (click)=\"select($event)\"></div>\n <label\n [for]=\"inputId\"\n (click)=\"select($event)\">\n <ng-content />\n </label>\n</div>\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":"agorapulse-ui-components-radio.mjs","sources":["../../../libs/ui-components/radio/src/radio.component.ts","../../../libs/ui-components/radio/src/radio.component.html","../../../libs/ui-components/radio/src/agorapulse-ui-components-radio.ts"],"sourcesContent":["import {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n Injectable,\n Injector,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n Provider,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';\nimport { filter, fromEvent, Subject, takeUntil } from 'rxjs';\n\nexport const RADIO_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioComponent),\n multi: true,\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RadioControlRegistry {\n private accessors: [NgControl, RadioComponent][] = [];\n\n add(control: NgControl, accessor: RadioComponent) {\n this.accessors.push([control, accessor]);\n }\n\n remove(accessor: RadioComponent) {\n this.accessors = this.accessors.filter(([, radioComponent]) => {\n return radioComponent !== accessor;\n });\n }\n\n select(accessor: RadioComponent) {\n this.accessors.forEach(([ngControl, radioComponent]) => {\n if (this.isSameGroup(ngControl, radioComponent, accessor) && radioComponent !== accessor) {\n radioComponent.writeValue(accessor.value);\n }\n });\n }\n\n getIndex(accessor: RadioComponent): number {\n return this.accessors.findIndex(([, radioComponent]) => {\n return radioComponent === accessor;\n });\n }\n\n getNextRadio(accessor: RadioComponent): RadioComponent | null {\n const index = this.getIndex(accessor);\n const nextIndex = index + 1;\n if (nextIndex >= this.accessors.length) {\n return this.accessors[0][1];\n }\n const nextRadio = this.accessors[nextIndex];\n return nextRadio ? nextRadio[1] : null;\n }\n\n getPreviousRadio(accessor: RadioComponent): RadioComponent | null {\n const index = this.getIndex(accessor);\n if (index === 0) {\n return this.accessors[this.accessors.length - 1][1];\n }\n const previousIndex = index - 1;\n const previousRadio = this.accessors[previousIndex];\n return previousRadio ? previousRadio[1] : null;\n }\n\n blurAllGroup(accessor: RadioComponent): void {\n this.accessors.forEach(([, radioComponent]) => {\n if (this.isSameGroup(accessor.control, radioComponent, accessor)) {\n radioComponent.inputElement.nativeElement.blur();\n }\n });\n }\n\n setNegativeTabIndexToAllExcept(accessor: RadioComponent): void {\n this.accessors.forEach(([, radioComponent]) => {\n if (this.isSameGroup(accessor.control, radioComponent, accessor)) {\n if (accessor.radioId !== radioComponent.radioId) {\n radioComponent.inputElement.nativeElement.tabIndex = -1;\n } else {\n radioComponent.inputElement.nativeElement.tabIndex = 0;\n }\n }\n });\n }\n\n focusPrevious(accessor: RadioComponent): void {\n const previousRadio = this.getPreviousRadio(accessor);\n if (previousRadio) {\n previousRadio.inputElement.nativeElement.focus();\n }\n }\n\n focusNext(accessor: RadioComponent): void {\n const nextRadio = this.getNextRadio(accessor);\n if (nextRadio) {\n nextRadio.inputElement.nativeElement.focus();\n }\n }\n\n getFirstCheckedRadio(): RadioComponent | null {\n const checkedRadio = this.accessors.find(([, radioComponent]) => {\n return radioComponent.checked;\n });\n return checkedRadio ? checkedRadio[1] : null;\n }\n\n private isSameGroup(ngControl: NgControl, radioComponent: RadioComponent, accessor: RadioComponent): boolean {\n if (!ngControl.control) {\n return false;\n }\n return radioComponent.name === accessor.name;\n }\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-radio',\n styleUrls: ['./radio.component.scss'],\n standalone: true,\n providers: [RADIO_VALUE_ACCESSOR],\n templateUrl: './radio.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class RadioComponent implements ControlValueAccessor, AfterContentInit, OnChanges, OnInit, OnDestroy {\n public readonly injector: Injector = inject(Injector);\n private readonly changeDetectorRef: ChangeDetectorRef = inject(ChangeDetectorRef);\n private readonly radioControlRegistry: RadioControlRegistry = inject(RadioControlRegistry);\n private readonly ngZone: NgZone = inject(NgZone);\n\n @ViewChild('input', { static: true }) inputElement!: ElementRef<HTMLInputElement>;\n @ViewChild('label', { static: true }) labelElement!: ElementRef<HTMLInputElement>;\n @Input('aria-label') ariaLabel = '';\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n @Input('aria-describedby') ariaDescribedby = '';\n @Input({\n transform: booleanAttribute,\n })\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n }\n\n get disabled(): boolean {\n return this._disabled;\n }\n @Input() labelPosition: 'left' | 'right' = 'right';\n @Input({\n required: true,\n })\n radioId = '';\n @Input() formControlName!: string;\n @Input({\n required: true,\n })\n value: unknown;\n @Input({\n transform: booleanAttribute,\n })\n required = false;\n @Input() name = '';\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onClick: EventEmitter<{\n originalEvent: Event;\n value: unknown;\n }> = new EventEmitter();\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onFocus: EventEmitter<FocusEvent> = new EventEmitter();\n\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onBlur: EventEmitter<FocusEvent> = new EventEmitter();\n\n inputId = '';\n _disabled = false;\n hasLabel = false;\n hostDataTest: string | undefined;\n control!: NgControl;\n checked = false;\n focused = false;\n radioIndex = 0;\n private readonly destroy$: Subject<void> = new Subject<void>();\n\n public onModelChange: (value: unknown) => void = () => {\n // ignore\n };\n\n public onModelTouched: () => void = () => {\n // ignore\n };\n\n constructor(private elementRef: ElementRef) {\n this.hostDataTest = elementRef.nativeElement.getAttribute('data-test');\n\n this.ngZone.runOutsideAngular(() => {\n fromEvent(window, 'keydown')\n .pipe(\n filter((event): event is KeyboardEvent => 'key' in event),\n takeUntil(this.destroy$)\n )\n .subscribe((event: KeyboardEvent) => {\n // Handle keydown event\n switch (event.key) {\n case 'ArrowDown':\n case 'ArrowRight':\n this.ngZone.run(() => {\n if (this.focused) {\n event.stopImmediatePropagation();\n this.radioControlRegistry.blurAllGroup(this);\n this.radioControlRegistry.focusNext(this);\n }\n });\n break;\n case 'ArrowUp':\n case 'ArrowLeft':\n this.ngZone.run(() => {\n if (this.focused) {\n event.stopImmediatePropagation();\n this.radioControlRegistry.blurAllGroup(this);\n this.radioControlRegistry.focusPrevious(this);\n }\n });\n break;\n default:\n return;\n }\n });\n });\n }\n\n ngOnChanges(): void {\n if (this.labelElement) {\n this.hasLabel = !!this.labelElement.nativeElement.textContent?.trim();\n }\n }\n\n ngOnInit() {\n this.control = this.injector.get(NgControl);\n this.checkName();\n this.radioControlRegistry.add(this.control, this);\n this.radioIndex = this.radioControlRegistry.getIndex(this);\n this.inputId = `${this.radioId}-${this.radioIndex}`;\n }\n\n ngAfterContentInit(): void {\n if (this.labelElement) {\n this.hasLabel = !!this.labelElement.nativeElement.textContent?.trim();\n }\n }\n\n ngOnDestroy() {\n this.radioControlRegistry.remove(this);\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n handleClick(event: MouseEvent, radioButton: HTMLInputElement) {\n event.preventDefault();\n\n if (this.disabled) {\n return;\n }\n this.select(event);\n radioButton.focus();\n }\n\n select(event: Event) {\n if (!this.disabled && !this.checked) {\n this.inputElement.nativeElement.checked = true;\n this.checked = true;\n this.onModelChange(this.value);\n this.radioControlRegistry.select(this);\n this.onClick.emit({ originalEvent: event, value: this.value });\n }\n }\n\n writeValue(value: unknown): void {\n this.checked = value == this.value;\n\n if (this.inputElement?.nativeElement) {\n this.inputElement.nativeElement.checked = this.checked;\n }\n\n this.changeDetectorRef.markForCheck();\n }\n\n registerOnChange(fn: () => void): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onModelTouched = fn;\n }\n\n onInputFocus(event: FocusEvent) {\n this.focused = true;\n if (!this.disabled && !this.checked) {\n this.radioControlRegistry.setNegativeTabIndexToAllExcept(this);\n this.inputElement.nativeElement.checked = true;\n this.checked = true;\n this.onModelChange(this.value);\n this.onFocus.emit(event);\n }\n }\n\n onInputBlur(event: FocusEvent) {\n this.focused = false;\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n onChange(event: Event) {\n this.select(event);\n }\n\n private checkName() {\n if (this.name && this.formControlName && this.name !== this.formControlName) {\n this.throwNameError();\n }\n if (!this.name && this.formControlName) {\n this.name = this.formControlName;\n }\n }\n\n private throwNameError() {\n throw new Error(`\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: <p-radioButton formControlName=\"food\" name=\"food\"></p-radioButton>\n `);\n }\n}\n","<div\n class=\"radio-button-container\"\n [class.required]=\"required\"\n [class.label-left]=\"labelPosition === 'left'\">\n <input\n #input\n type=\"radio\"\n tabindex=\"0\"\n [attr.id]=\"inputId\"\n [attr.name]=\"name + '-radio-' + radioIndex\"\n [attr.value]=\"value\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.data-test]=\"hostDataTest ?? name\"\n [checked]=\"checked\"\n [required]=\"required\"\n [class.disabled]=\"disabled\"\n (change)=\"onChange($event)\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus($event)\" />\n <div\n class=\"radio-button\"\n [class.disabled]=\"disabled\"\n (click)=\"select($event)\"></div>\n <label\n [for]=\"inputId\"\n (click)=\"select($event)\">\n <ng-content />\n </label>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -263,7 +263,6 @@ class SelectMultipleDirective {
263
263
  constructor() {
264
264
  this.selectComponent.multiple.set(true);
265
265
  this.selectComponent.closeOnSelect.set(false);
266
- this.selectComponent.searchable.set(true); // small hack to not closed the dropdown panel when clear an item in value container
267
266
  const updateMaxItemsDisabledState = () => this.updateMaxItemsDisabledState();
268
267
  this.subs.add(this.selectComponent.addEvent.subscribe(updateMaxItemsDisabledState));
269
268
  this.subs.add(this.selectComponent.removeEvent.subscribe(updateMaxItemsDisabledState));
@@ -286,18 +285,26 @@ class SelectMultipleDirective {
286
285
  }
287
286
  ngOnDestroy() {
288
287
  if (this.valueContainer) {
289
- this.valueContainer.removeEventListener('mousedown', this.onMousedown);
288
+ this.valueContainer.removeEventListener('mousedown', this.onMousedown, true);
290
289
  }
291
290
  this.subs.unsubscribe();
292
291
  }
293
292
  onMousedown = (event) => {
294
293
  const target = event.target;
295
- const clickedOnChipOrClearButton = target.closest('ap-label, ap-tag, .ng-clear-wrapper');
296
- if (clickedOnChipOrClearButton) {
297
- return;
298
- }
294
+ // By default, ng-select would toggle the panel on any press that reaches its own handler, avoid that
299
295
  event.preventDefault();
300
296
  event.stopPropagation();
297
+ if (target.closest('.ng-clear-wrapper, ap-close-button')) {
298
+ // Clearing a tag/label or the whole field does not toggle the panel
299
+ // (if closed, it stays closed; if opened, it stays opened).
300
+ return;
301
+ }
302
+ if (target.closest('ap-label, ap-tag')) {
303
+ // Clicking on a tag/label forces the panel open (it never closes it)
304
+ this.selectComponent.open();
305
+ return;
306
+ }
307
+ // In all other cases, clicking in the field toggles the panel (opens if closed, closes if opened)
301
308
  if (this.selectComponent.isOpen()) {
302
309
  this.selectComponent.close();
303
310
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agorapulse-ui-components-select.mjs","sources":["../../../libs/ui-components/select/src/dropdown-create-new/dropdown-create-new.component.ts","../../../libs/ui-components/select/src/dropdown-create-new/dropdown-create-new.component.html","../../../libs/ui-components/select/src/dropdown-group-item/dropdown-group-item.component.ts","../../../libs/ui-components/select/src/dropdown-group-item/dropdown-group-item.component.html","../../../libs/ui-components/select/src/select-base.directive.ts","../../../libs/ui-components/select/src/select-multiple.directive.ts","../../../libs/ui-components/select/src/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.ts","../../../libs/ui-components/select/src/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.html","../../../libs/ui-components/select/src/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.ts","../../../libs/ui-components/select/src/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.html","../../../libs/ui-components/select/src/dropdown-item-single-one-line/dropdown-item-single-one-line.component.ts","../../../libs/ui-components/select/src/dropdown-item-single-one-line/dropdown-item-single-one-line.component.html","../../../libs/ui-components/select/src/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.ts","../../../libs/ui-components/select/src/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.html","../../../libs/ui-components/select/src/dropdown-search-form/dropdown-search-form.component.ts","../../../libs/ui-components/select/src/dropdown-search-form/dropdown-search-form.component.html","../../../libs/ui-components/select/src/select-label-multiple/select-label-multiple.component.ts","../../../libs/ui-components/select/src/select-label-multiple/select-label-multiple.component.html","../../../libs/ui-components/select/src/select-label-single/select-label-single.component.ts","../../../libs/ui-components/select/src/select-label-single/select-label-single.component.html","../../../libs/ui-components/select/src/select-single.directive.ts","../../../libs/ui-components/select/src/ap-select.module.ts","../../../libs/ui-components/select/src/agorapulse-ui-components-select.ts"],"sourcesContent":["import { apPlus, SymbolComponent, SymbolRegistry } from '@agorapulse/ui-symbol';\nimport { ChangeDetectionStrategy, Component, inject, input, output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ap-dropdown-create-new',\n templateUrl: './dropdown-create-new.component.html',\n styleUrls: ['./dropdown-create-new.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [SymbolComponent],\n})\nexport class DropdownCreateNewComponent {\n private readonly symbolRegistry = inject(SymbolRegistry);\n\n text = input('');\n searchTerm = input<string>();\n\n readonly createNew = output<string>();\n\n constructor() {\n this.symbolRegistry.registerSymbols([apPlus]);\n }\n\n onClick(): void {\n this.createNew.emit(this.searchTerm() ?? '');\n }\n}\n","<button\n class=\"create-new\"\n type=\"button\"\n (click)=\"onClick()\">\n <ap-symbol\n symbolId=\"plus\"\n size=\"sm\" />\n <span>\n {{ text() }}\n @if (searchTerm()) {\n {{ '&quot;' + searchTerm() + '&quot;' }}\n }\n </span>\n</button>\n","import { BadgeComponent } from '@agorapulse/ui-components/badge';\nimport { CheckboxComponent } from '@agorapulse/ui-components/checkbox';\nimport { TooltipDirective } from '@agorapulse/ui-components/tooltip';\n\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { NgOption, NgSelectComponent } from '@ng-select/ng-select';\n\n@Component({\n selector: 'ap-dropdown-group-item',\n templateUrl: './dropdown-group-item.component.html',\n styleUrls: ['./dropdown-group-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [BadgeComponent, CheckboxComponent, TooltipDirective],\n})\nexport class DropdownGroupItemComponent {\n @Input({ required: true }) groupLabel!: string;\n @Input() groupTag?: string;\n @Input() selectableGroup = false;\n @Input({ required: true }) children: NgOption[] = [];\n @Input({\n required: true,\n })\n select!: NgSelectComponent;\n @Input() disabled = false;\n @Input() disabledTooltip?: string;\n\n isGroupIntermediate(): boolean {\n const selectedChildren = this.children.filter((child: NgOption) => child.selected && !child.disabled);\n const selectableChildren = this.children.filter((child: NgOption) => !child.disabled);\n return selectedChildren.length > 0 && selectedChildren.length < selectableChildren.length;\n }\n\n isGroupChecked(): boolean {\n return this.children.every((child: NgOption) => child.selected || child.disabled) && !this.isGroupDisabled();\n }\n\n isGroupDisabled(): boolean {\n return this.children.every((child: NgOption) => child.disabled);\n }\n\n onGroupClick(event: Event): void {\n if (!this.select?.maxSelectedItems()) {\n return; // Let ng-select handle it normally\n }\n\n event.stopPropagation();\n\n if (this.isGroupDisabled() || this.disabled) {\n return;\n }\n\n const selectedChildren = this.children.filter((child: NgOption) => child.selected);\n if (selectedChildren.length > 0) {\n for (const child of selectedChildren) {\n this.select.unselect(child);\n }\n } else {\n const remaining = this.select.maxSelectedItems() - this.select.itemsList.selectedItems.length;\n const selectableChildren = this.children.filter((child: NgOption) => !child.disabled && !child.selected);\n for (const child of selectableChildren.slice(0, remaining)) {\n this.select.select(child);\n }\n }\n }\n}\n","<div\n class=\"group\"\n [apTooltip]=\"disabledTooltip\"\n [apTooltipDisabled]=\"!disabled\"\n (click)=\"onGroupClick($event)\">\n @if (selectableGroup) {\n <ap-checkbox\n [name]=\"'option-group-selection-' + groupLabel\"\n [disabled]=\"isGroupDisabled() || disabled\"\n [indeterminate]=\"isGroupIntermediate()\"\n [checked]=\"isGroupChecked()\">\n <span class=\"group-label\">\n {{ groupLabel }}\n </span>\n @if (groupTag) {\n <ap-badge color=\"blue\">\n {{ groupTag }}\n </ap-badge>\n }\n </ap-checkbox>\n } @else {\n <span\n class=\"group-label\"\n [title]=\"groupLabel\">\n {{ groupLabel }}\n </span>\n @if (groupTag) {\n <ap-badge color=\"blue\">\n {{ groupTag }}\n </ap-badge>\n }\n }\n</div>\n","import { UI_COMPONENTS_SYMBOLS } from '@agorapulse/ui-components/providers';\nimport { SymbolComponent, SymbolRegistry, apCheck, apPlus } from '@agorapulse/ui-symbol';\nimport {\n AfterViewInit,\n ComponentRef,\n Directive,\n ElementRef,\n OnDestroy,\n Renderer2,\n ViewContainerRef,\n effect,\n inject,\n input,\n} from '@angular/core';\nimport { NgSelectComponent } from '@ng-select/ng-select';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'ng-select[apSelect]',\n standalone: true,\n host: {\n class: 'ap-select',\n },\n})\nexport class SelectBaseDirective implements AfterViewInit, OnDestroy {\n inlineLabel = input<string>();\n symbolId = input<string>();\n /** Show ng-select's native clear (X) inside the input when a value is selected. Off by default. */\n clearable = input(false);\n\n private readonly selectComponent = inject(NgSelectComponent);\n private el: ElementRef<HTMLElement> = inject(ElementRef);\n private renderer = inject(Renderer2);\n private viewContainerRef = inject(ViewContainerRef);\n private symbolRegistry = inject(SymbolRegistry);\n private symbolComponentRef?: ComponentRef<SymbolComponent>;\n private labelElement?: HTMLElement;\n\n private readonly subs = new Subscription();\n private readonly stopPanelListeners: (() => void)[] = [];\n private readonly originalOnItemHover = this.selectComponent.onItemHover.bind(this.selectComponent);\n /** True while the keyboard is driving: the pointer sits where it was left, so its position is stale. */\n private keyboardDriving = false;\n\n constructor() {\n this.selectComponent.appendTo.set('body');\n this.selectComponent.searchable.set(false);\n this.selectComponent.markFirst.set(false);\n this.selectComponent.selectableGroupAsModel.set(false);\n this.selectComponent.tabIndex.set(0);\n this.symbolRegistry.registerSymbols([apCheck, apPlus]);\n this.symbolRegistry.withSymbols(...(inject(UI_COMPONENTS_SYMBOLS, { optional: true })?.flat() ?? []));\n\n // Off by default (opt-in via the `clearable` input); enables ng-select's native clear (X).\n effect(() => this.selectComponent.clearable.set(this.clearable()));\n\n // Handle symbolId changes\n effect(() => {\n const symbolId = this.symbolId();\n this.removeInlineSymbol();\n if (symbolId) {\n this.addInlineSymbol(symbolId);\n }\n });\n\n // Handle inlineLabel changes\n effect(() => {\n const inlineLabel = this.inlineLabel();\n this.removeInlineLabel();\n if (inlineLabel) {\n this.addInlineLabel(inlineLabel);\n }\n });\n\n this.subs.add(this.selectComponent.openEvent.subscribe(() => this.listenToPanel()));\n this.subs.add(this.selectComponent.closeEvent.subscribe(() => this.stopListeningToPanel()));\n\n // Hovering marks the option under the pointer. Once the keyboard takes over, that pointer no\n // longer reflects an intent: a keyboard-driven scroll slides a different option under it, and\n // the first nudge would hand the marker back. Ignore hover marking until the pointer moves.\n this.selectComponent.onItemHover = item => {\n if (this.keyboardDriving) return;\n this.originalOnItemHover(item);\n };\n\n // The host covers the closed/focused select; the panel covers the header search input, which\n // forwards navigation keys to ng-select (cf. `DropdownSearchFormComponent`).\n this.subs.add(this.renderer.listen(this.el.nativeElement, 'keydown', () => this.onKeyboardDriving()));\n }\n\n ngAfterViewInit(): void {\n if (!this.selectComponent.optionTemplate()) {\n throw new Error('optionTemplate is required for apSelect');\n }\n if (this.selectComponent.groupBy() && !this.selectComponent.optgroupTemplate()) {\n throw new Error('optgroupTemplate is required for apSelect');\n }\n }\n\n ngOnDestroy(): void {\n this.stopListeningToPanel();\n this.subs.unsubscribe();\n this.selectComponent.onItemHover = this.originalOnItemHover;\n }\n\n private listenToPanel(): void {\n // `openEvent` fires before ng-select renders the panel, hence the microtask (cf. `pinSelectedAtTop`).\n queueMicrotask(() => {\n if (!this.selectComponent.isOpen()) return;\n const panel = document.getElementById(this.selectComponent.dropdownId);\n if (!panel) return;\n\n this.stopListeningToPanel();\n this.stopPanelListeners.push(\n // ng-select marks an option on `mouseover` and only unmarks it on close or keyboard\n // navigation, so the last hovered option would keep its background once the pointer\n // is outside the panel.\n this.renderer.listen(panel, 'mouseleave', () => {\n if (this.keyboardDriving) return;\n this.selectComponent.itemsList.unmarkItem();\n // `itemsList.markedItem` is a plain getter, so the OnPush panel needs an explicit pass.\n this.selectComponent.detectChanges();\n }),\n this.renderer.listen(panel, 'keydown', () => this.onKeyboardDriving()),\n // A same-gesture `mouseover` is dispatched before this `mousemove`, so the stale\n // pointer is still ignored on the crossing that revealed the movement.\n this.renderer.listen(panel, 'mousemove', () => (this.keyboardDriving = false))\n );\n });\n }\n\n private onKeyboardDriving(): void {\n this.keyboardDriving = true;\n }\n\n private stopListeningToPanel(): void {\n while (this.stopPanelListeners.length) {\n this.stopPanelListeners.pop()?.();\n }\n }\n\n private addInlineSymbol(symbolId: string): void {\n this.symbolComponentRef = this.viewContainerRef.createComponent(SymbolComponent);\n this.symbolComponentRef.setInput('symbolId', symbolId);\n this.symbolComponentRef.location.nativeElement.classList.add('inline-symbol');\n this.renderer.insertBefore(\n this.el.nativeElement.getElementsByClassName('ng-select-container').item(0),\n this.symbolComponentRef.location.nativeElement,\n this.el.nativeElement.getElementsByClassName('ng-value-container').item(0)\n );\n }\n\n private removeInlineSymbol(): void {\n if (this.symbolComponentRef) {\n this.symbolComponentRef.destroy();\n this.symbolComponentRef = undefined;\n }\n }\n\n private addInlineLabel(label: string): void {\n this.labelElement = this.renderer.createElement('label');\n this.renderer.setProperty(this.labelElement, 'textContent', label);\n this.renderer.addClass(this.labelElement, 'inline-label');\n this.renderer.insertBefore(\n this.el.nativeElement.getElementsByClassName('ng-select-container').item(0),\n this.labelElement,\n this.el.nativeElement.getElementsByClassName('ng-value-container').item(0)\n );\n }\n\n private removeInlineLabel(): void {\n if (this.labelElement) {\n this.renderer.removeChild(this.el.nativeElement.getElementsByClassName('ng-select-container').item(0), this.labelElement);\n this.labelElement = undefined;\n }\n }\n}\n","import { AfterViewInit, Directive, ElementRef, inject, input, OnDestroy } from '@angular/core';\nimport { NgSelectComponent } from '@ng-select/ng-select';\nimport { Subscription } from 'rxjs';\nimport { SelectBaseDirective } from './select-base.directive';\n\n@Directive({\n selector: 'ng-select[apSelectMultiple]',\n standalone: true,\n hostDirectives: [\n {\n directive: SelectBaseDirective,\n inputs: ['inlineLabel', 'symbolId', 'clearable'],\n },\n ],\n})\nexport class SelectMultipleDirective implements AfterViewInit, OnDestroy {\n private readonly selectComponent = inject(NgSelectComponent);\n private readonly elementRef = inject(ElementRef);\n private readonly originalDisabledState = new WeakMap<object, boolean>();\n\n maxItemsTooltip = input<string>();\n /** Pins items selected at open time to the top of the dropdown. Ignored when `groupBy` is set. */\n pinnedItemsEnabled = input(false);\n\n valueContainer: HTMLElement | null = null;\n\n private readonly subs = new Subscription();\n\n constructor() {\n this.selectComponent.multiple.set(true);\n this.selectComponent.closeOnSelect.set(false);\n this.selectComponent.searchable.set(true); // small hack to not closed the dropdown panel when clear an item in value container\n\n const updateMaxItemsDisabledState = () => this.updateMaxItemsDisabledState();\n this.subs.add(this.selectComponent.addEvent.subscribe(updateMaxItemsDisabledState));\n this.subs.add(this.selectComponent.removeEvent.subscribe(updateMaxItemsDisabledState));\n this.subs.add(this.selectComponent.clearEvent.subscribe(updateMaxItemsDisabledState));\n this.subs.add(\n this.selectComponent.openEvent.subscribe(() => {\n this.pinSelectedAtTop();\n this.openAtTop();\n })\n );\n }\n\n ngAfterViewInit(): void {\n if (!this.selectComponent.multiLabelTemplate()) {\n throw new Error('multiLabelTemplate is required for apSelectMultiple');\n }\n\n // Add click handler to toggle dropdown when clicking on the select container\n this.valueContainer = this.elementRef.nativeElement.querySelector('.ng-select-container');\n if (this.valueContainer) {\n this.valueContainer.addEventListener('mousedown', this.onMousedown, true);\n }\n\n this.updateMaxItemsDisabledState();\n }\n\n ngOnDestroy() {\n if (this.valueContainer) {\n this.valueContainer.removeEventListener('mousedown', this.onMousedown);\n }\n this.subs.unsubscribe();\n }\n\n onMousedown = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n const clickedOnChipOrClearButton = target.closest('ap-label, ap-tag, .ng-clear-wrapper');\n if (clickedOnChipOrClearButton) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n if (this.selectComponent.isOpen()) {\n this.selectComponent.close();\n } else {\n this.selectComponent.open();\n }\n };\n\n // `.ap-option-pinned` persists for the panel's lifetime — deselecting keeps the option pinned until reopen.\n private pinSelectedAtTop(): void {\n if (!this.pinnedItemsEnabled() || this.selectComponent.groupBy()) return;\n queueMicrotask(() => {\n const panel = document.getElementById(this.selectComponent.dropdownId);\n const firstUnselected = panel?.querySelector('.ng-option:not(.ng-option-selected)');\n if (!panel || !firstUnselected) return;\n for (const selected of Array.from(panel.querySelectorAll<HTMLElement>('.ng-option-selected'))) {\n selected.classList.add('ap-option-pinned');\n firstUnselected.before(selected);\n }\n });\n }\n\n // On open, ng-select natively marks the last selected option, which ends up scrolling the panel to it.\n // This method removes the mark so that the panel stays scrolled to the top.\n private openAtTop(): void {\n const { itemsList } = this.selectComponent;\n itemsList.unmarkItem();\n }\n\n private updateMaxItemsDisabledState(): void {\n const max = this.selectComponent.maxSelectedItems();\n if (!max) {\n return;\n }\n\n const items = this.selectComponent.itemsList.items;\n for (const item of items) {\n if (item.children || this.originalDisabledState.has(item)) {\n continue;\n }\n this.originalDisabledState.set(item, item.disabled ?? false);\n }\n\n const maxReached = this.selectComponent.itemsList.selectedItems.length >= max;\n for (const item of items) {\n if (item.children) {\n continue;\n }\n const originallyDisabled = this.originalDisabledState.get(item) ?? false;\n item.disabled = originallyDisabled || (maxReached && !item.selected);\n }\n }\n}\n","import { AvatarComponent, AvatarNetwork } from '@agorapulse/ui-components/avatar';\nimport { BadgeComponent } from '@agorapulse/ui-components/badge';\nimport { CheckboxComponent } from '@agorapulse/ui-components/checkbox';\nimport { UI_COMPONENTS_SYMBOLS } from '@agorapulse/ui-components/providers';\nimport { TooltipDirective } from '@agorapulse/ui-components/tooltip';\nimport { SymbolColor, SymbolComponent, SymbolRegistry } from '@agorapulse/ui-symbol';\nimport { ChangeDetectionStrategy, Component, HostListener, inject, Input, input, output, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { SelectMultipleDirective } from '../select-multiple.directive';\n\n@Component({\n selector: 'ap-dropdown-item-multiple-one-line',\n templateUrl: './dropdown-item-multiple-one-line.component.html',\n styleUrls: ['./dropdown-item-multiple-one-line.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [SymbolComponent, CheckboxComponent, AvatarComponent, BadgeComponent, TooltipDirective],\n})\nexport class DropdownItemMultipleOneLineComponent {\n private readonly symbolRegistry = inject(SymbolRegistry);\n protected readonly selectMultiple = inject(SelectMultipleDirective, { optional: true });\n\n constructor() {\n this.symbolRegistry.withSymbols(...(inject(UI_COMPONENTS_SYMBOLS, { optional: true })?.flat() ?? []));\n }\n\n @Input({ required: true }) text!: string;\n @Input({ required: true }) selected!: boolean;\n @Input() indeterminate = false;\n @Input({ required: true }) htmlId!: string;\n @Input() disabled = false;\n @Input() avatarUrl?: string;\n @Input() symbolId?: string;\n @Input() disabledTooltip?: string;\n @Input() badgeText?: string;\n @Input() dividerEnabled = false;\n @Input() onlyEnabled = false;\n @Input() onlyText = 'Only';\n isFeatureLocked = input<boolean>(false);\n roundedAvatar = input(true);\n network = input<AvatarNetwork>();\n symbolColor = input<SymbolColor | string>();\n symbolTooltipText = input<string>();\n\n selectOnly = output<void>();\n lockedFeatureClicked = output();\n\n @ViewChild(CheckboxComponent) checkbox!: CheckboxComponent;\n\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n if (this.isFeatureLocked()) {\n $event.stopPropagation();\n this.lockedFeatureClicked.emit();\n }\n }\n\n onSelectOnly() {\n this.selectOnly.emit();\n this.checkbox.focus();\n }\n}\n","<div\n class=\"disabled-opaque\"\n [apTooltip]=\"disabledTooltip ?? selectMultiple?.maxItemsTooltip()\"\n [apTooltipDisabled]=\"!disabled\"></div>\n<div\n class=\"option multiple\"\n [class.feature-locked-option]=\"isFeatureLocked()\">\n <ap-checkbox\n #checkbox\n fullyControlled\n [checked]=\"selected\"\n [indeterminate]=\"indeterminate\"\n [disabled]=\"disabled || isFeatureLocked()\"\n [name]=\"'option-selection-' + htmlId\">\n @if (avatarUrl !== undefined) {\n <ap-avatar\n [rounded]=\"roundedAvatar()\"\n [size]=\"24\"\n [profilePicture]=\"avatarUrl\"\n [username]=\"text\"\n [showInitials]=\"true\"\n [network]=\"network()\" />\n }\n @if (symbolId) {\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolId\"\n [color]=\"symbolColor() ?? ''\"\n [apTooltip]=\"symbolTooltipText() ? symbolTooltipText() : undefined\" />\n }\n <span\n class=\"option-item\"\n [class.feature-locked-label]=\"isFeatureLocked()\"\n [title]=\"text\">\n {{ text }}\n </span>\n @if (badgeText) {\n <ap-badge color=\"blue\">\n {{ badgeText }}\n </ap-badge>\n }\n </ap-checkbox>\n\n @if (isFeatureLocked()) {\n <ap-symbol\n symbolId=\"feature-lock\"\n color=\"purple\"\n size=\"sm\" />\n }\n\n @if (onlyEnabled && !disabled && !isFeatureLocked()) {\n <button\n class=\"standalone-link\"\n type=\"button\"\n (click)=\"$event.preventDefault(); $event.stopPropagation(); onSelectOnly()\">\n {{ onlyText }}\n </button>\n }\n</div>\n\n@if (dividerEnabled) {\n <div class=\"divider\"></div>\n}\n","import { AvatarComponent, AvatarNetwork } from '@agorapulse/ui-components/avatar';\nimport { BadgeComponent } from '@agorapulse/ui-components/badge';\nimport { CheckboxComponent } from '@agorapulse/ui-components/checkbox';\nimport { UI_COMPONENTS_SYMBOLS } from '@agorapulse/ui-components/providers';\nimport { TooltipDirective } from '@agorapulse/ui-components/tooltip';\nimport { SymbolComponent, SymbolColor, SymbolRegistry } from '@agorapulse/ui-symbol';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostListener,\n inject,\n input,\n Input,\n output,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SelectMultipleDirective } from '../select-multiple.directive';\n\n@Component({\n selector: 'ap-dropdown-item-multiple-two-lines',\n templateUrl: './dropdown-item-multiple-two-lines.component.html',\n styleUrls: ['./dropdown-item-multiple-two-lines.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [SymbolComponent, CheckboxComponent, AvatarComponent, BadgeComponent, TooltipDirective],\n})\nexport class DropdownItemMultipleTwoLinesComponent {\n private readonly symbolRegistry = inject(SymbolRegistry);\n protected readonly selectMultiple = inject(SelectMultipleDirective, { optional: true });\n\n constructor() {\n this.symbolRegistry.withSymbols(...(inject(UI_COMPONENTS_SYMBOLS, { optional: true })?.flat() ?? []));\n }\n\n @Input({ required: true }) text!: string;\n @Input({ required: true }) caption!: string;\n @Input({ required: true }) selected!: boolean;\n @Input({ required: true }) htmlId!: string;\n @Input() disabled = false;\n @Input() avatarUrl?: string;\n @Input() symbolId?: string;\n @Input() disabledTooltip?: string;\n @Input() badgeText?: string;\n @Input() dividerEnabled = false;\n @Input() onlyEnabled = false;\n @Input() onlyText = 'Only';\n isFeatureLocked = input<boolean>(false);\n roundedAvatar = input(true);\n network = input<AvatarNetwork>();\n symbolColor = input<SymbolColor | string>();\n symbolTooltipText = input<string>();\n\n @Output() selectOnly = new EventEmitter<void>();\n lockedFeatureClicked = output();\n\n @ViewChild(CheckboxComponent) checkbox!: CheckboxComponent;\n\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n if (this.isFeatureLocked()) {\n $event.stopPropagation();\n this.lockedFeatureClicked.emit();\n }\n }\n\n onSelectOnly() {\n this.selectOnly.emit();\n this.checkbox.focus();\n }\n}\n","<div\n class=\"disabled-opaque\"\n [apTooltip]=\"disabledTooltip ?? selectMultiple?.maxItemsTooltip()\"\n [apTooltipDisabled]=\"!disabled\"></div>\n<div class=\"option multiple with-caption\" [class.feature-locked-option]=\"isFeatureLocked()\">\n <ap-checkbox\n [checked]=\"selected\"\n [disabled]=\"disabled || isFeatureLocked()\"\n [name]=\"'option-selection-' + htmlId\">\n @if (avatarUrl !== undefined) {\n <ap-avatar\n [rounded]=\"roundedAvatar()\"\n [size]=\"24\"\n [profilePicture]=\"avatarUrl\"\n [username]=\"text\"\n [showInitials]=\"true\"\n [network]=\"network()\" />\n }\n @if (symbolId) {\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolId\"\n [color]=\"symbolColor() ?? ''\"\n [apTooltip]=\"symbolTooltipText() ? symbolTooltipText() : undefined\" />\n }\n <div class=\"texts\" [class.feature-locked-label]=\"isFeatureLocked()\">\n <div class=\"first-line\">\n <span\n class=\"label\"\n\n [title]=\"text\">\n {{ text }}\n </span>\n @if (badgeText) {\n <ap-badge color=\"blue\">\n {{ badgeText }}\n </ap-badge>\n }\n </div>\n <span\n class=\"caption\"\n [title]=\"caption\">\n {{ caption }}\n </span>\n </div>\n\n @if (isFeatureLocked()) {\n <ap-symbol\n symbolId=\"feature-lock\"\n color=\"purple\"\n size=\"sm\"/>\n }\n\n @if (onlyEnabled && !disabled) {\n <button\n class=\"standalone-link\"\n type=\"button\"\n (click)=\"$event.preventDefault(); $event.stopPropagation(); onSelectOnly()\">\n {{ onlyText }}\n </button>\n }\n </ap-checkbox>\n</div>\n@if (dividerEnabled) {\n <div class=\"divider\"></div>\n}\n","import { AvatarComponent, AvatarNetwork } from '@agorapulse/ui-components/avatar';\nimport { BadgeComponent } from '@agorapulse/ui-components/badge';\nimport { UI_COMPONENTS_SYMBOLS } from '@agorapulse/ui-components/providers';\nimport { TooltipDirective } from '@agorapulse/ui-components/tooltip';\nimport { SymbolComponent, SymbolRegistry } from '@agorapulse/ui-symbol';\n\nimport { ChangeDetectionStrategy, Component, HostListener, inject, input, Input, output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ap-dropdown-item-single-one-line',\n templateUrl: './dropdown-item-single-one-line.component.html',\n styleUrls: ['./dropdown-item-single-one-line.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [SymbolComponent, AvatarComponent, BadgeComponent, TooltipDirective],\n // Gated, so rows inside `<ng-select>` gain no new classes.\n host: {\n '[class.standalone-mode]': 'standaloneModeEnabled()',\n '[class.selected]': 'standaloneModeEnabled() && selected',\n '[class.disabled]': 'standaloneModeEnabled() && disabled',\n },\n})\nexport class DropdownItemSingleOneLineComponent {\n private readonly symbolRegistry = inject(SymbolRegistry);\n\n constructor() {\n this.symbolRegistry.withSymbols(...(inject(UI_COMPONENTS_SYMBOLS, { optional: true })?.flat() ?? []));\n }\n\n @Input({ required: true }) text!: string;\n @Input({ required: true }) selected!: boolean;\n @Input() disabled = false;\n @Input() avatarUrl?: string;\n @Input() showAvatarInitials = true;\n @Input() symbolId?: string;\n @Input() disabledTooltip?: string;\n @Input() badgeText?: string;\n @Input() dividerEnabled = false;\n @Input() network: AvatarNetwork | undefined = undefined;\n roundedAvatar = input(true);\n isFeatureLocked = input<boolean>(false);\n /** Gives the row its own option chrome. Off by default: inside `<ng-select>`, `.ng-option` already has it. */\n standaloneModeEnabled = input<boolean>(false);\n\n lockedFeatureClicked = output();\n\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n if (this.isFeatureLocked()) {\n $event.stopPropagation();\n this.lockedFeatureClicked.emit();\n }\n }\n}\n","<div\n class=\"disabled-opaque\"\n [apTooltip]=\"disabledTooltip\"\n [apTooltipDisabled]=\"!disabled\"></div>\n<div class=\"option\" [class.feature-locked-option]=\"isFeatureLocked()\">\n @if (avatarUrl !== undefined) {\n <ap-avatar\n [rounded]=\"roundedAvatar()\"\n [size]=\"24\"\n [profilePicture]=\"avatarUrl\"\n [username]=\"text\"\n [showInitials]=\"showAvatarInitials\"\n [network]=\"network\" />\n }\n @if (symbolId) {\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolId\" />\n }\n <span\n class=\"option-item\"\n [title]=\"text\">\n {{ text }}\n </span>\n @if (badgeText) {\n <ap-badge color=\"blue\">\n {{ badgeText }}\n </ap-badge>\n }\n @if (isFeatureLocked()) {\n <ap-symbol\n symbolId=\"feature-lock\"\n color=\"purple\"\n size=\"sm\"/>\n } @else if (selected) {\n <ap-symbol\n class=\"option-selected\"\n symbolId=\"check\"\n color=\"electric-blue\"\n size=\"sm\" />\n }\n</div>\n@if (dividerEnabled) {\n <div class=\"divider\"></div>\n}\n","import { AvatarComponent, AvatarNetwork } from '@agorapulse/ui-components/avatar';\nimport { BadgeComponent } from '@agorapulse/ui-components/badge';\nimport { UI_COMPONENTS_SYMBOLS } from '@agorapulse/ui-components/providers';\nimport { TooltipDirective } from '@agorapulse/ui-components/tooltip';\nimport { SymbolComponent, SymbolRegistry } from '@agorapulse/ui-symbol';\n\nimport { ChangeDetectionStrategy, Component, HostListener, inject, input, Input, output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ap-dropdown-item-single-two-lines',\n templateUrl: './dropdown-item-single-two-lines.component.html',\n styleUrls: ['./dropdown-item-single-two-lines.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [SymbolComponent, AvatarComponent, BadgeComponent, TooltipDirective],\n})\nexport class DropdownItemSingleTwoLinesComponent {\n private readonly symbolRegistry = inject(SymbolRegistry);\n\n constructor() {\n this.symbolRegistry.withSymbols(...(inject(UI_COMPONENTS_SYMBOLS, { optional: true })?.flat() ?? []));\n }\n\n @Input({ required: true }) text!: string;\n @Input({ required: true }) caption!: string;\n @Input({ required: true }) selected!: boolean;\n @Input() disabled = false;\n @Input() avatarUrl?: string;\n @Input() symbolId?: string;\n @Input() disabledTooltip?: string;\n @Input() badgeText?: string;\n @Input() dividerEnabled = false;\n @Input() network: AvatarNetwork | undefined = undefined;\n roundedAvatar = input(true);\n isFeatureLocked = input<boolean>(false);\n\n lockedFeatureClicked = output();\n\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n if (this.isFeatureLocked()) {\n $event.stopPropagation();\n this.lockedFeatureClicked.emit();\n }\n }\n}\n","<div\n class=\"disabled-opaque\"\n [apTooltip]=\"disabledTooltip\"\n [apTooltipDisabled]=\"!disabled\"></div>\n<div class=\"option with-caption\" [class.feature-locked-option]=\"isFeatureLocked()\">\n @if (avatarUrl !== undefined) {\n <ap-avatar\n [rounded]=\"roundedAvatar()\"\n [size]=\"24\"\n [profilePicture]=\"avatarUrl\"\n [username]=\"text\"\n [showInitials]=\"true\"\n [network]=\"network\" />\n }\n @if (symbolId) {\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolId\" />\n }\n <div class=\"texts\">\n <div class=\"first-line\">\n <span\n class=\"label\"\n [title]=\"text\">\n {{ text }}\n </span>\n @if (badgeText) {\n <ap-badge color=\"blue\">\n {{ badgeText }}\n </ap-badge>\n }\n </div>\n <span\n class=\"caption\"\n [title]=\"caption\">\n {{ caption }}\n </span>\n </div>\n @if (isFeatureLocked()) {\n <ap-symbol\n symbolId=\"feature-lock\"\n color=\"purple\"\n size=\"sm\"/>\n } @else if (selected) {\n <ap-symbol\n class=\"option-selected\"\n symbolId=\"check\"\n color=\"electric-blue\"\n size=\"sm\" />\n }\n</div>\n@if (dividerEnabled) {\n <div class=\"divider\"></div>\n}\n","import { InputSearchComponent } from '@agorapulse/ui-components/input-search';\n\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { NgSelectComponent } from '@ng-select/ng-select';\nimport { BehaviorSubject, filter } from 'rxjs';\nimport { DropdownCreateNewComponent } from '../dropdown-create-new/dropdown-create-new.component';\n\n/** Search input for an ng-select dropdown — place inside its `ng-header-tmp`. */\n@Component({\n selector: 'ap-dropdown-search-form',\n templateUrl: './dropdown-search-form.component.html',\n styleUrls: ['./dropdown-search-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [FormsModule, InputSearchComponent, DropdownCreateNewComponent],\n})\nexport class DropdownSearchFormComponent implements AfterViewInit, OnDestroy {\n @Input() searchPlaceholder = '';\n @Input() createNewEnabled = false;\n @Input() createText = 'Create';\n @Input({\n required: true,\n })\n select!: NgSelectComponent;\n @ViewChild(InputSearchComponent) inputSearch!: InputSearchComponent;\n\n @Output() createNew = new EventEmitter<string>();\n\n searchTermSignal = signal<string>('');\n searchTerm$ = new BehaviorSubject<string>('');\n\n private searchInputElement: HTMLElement | null = null;\n\n constructor() {\n this.searchTerm$\n .pipe(\n filter(() => !!this.select),\n takeUntilDestroyed()\n )\n .subscribe(term => {\n this.searchTermSignal.set(term);\n this.select.filter(term);\n });\n }\n\n ngOnDestroy(): void {\n this.searchInputElement?.removeEventListener('keydown', this.forwardKeyDown);\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.inputSearch.focusInput();\n this.registerKeyboardNavigation();\n }, 100);\n }\n\n /** Forward navigation keys to ng-select's native keyboard handler while the search input holds focus. */\n private registerKeyboardNavigation(): void {\n this.searchInputElement = this.inputSearch.inputElement().nativeElement;\n this.searchInputElement?.addEventListener('keydown', this.forwardKeyDown);\n }\n\n private forwardKeyDown = (event: KeyboardEvent): void => {\n // Named keys (arrows, Enter, Escape…) drive navigation; single characters keep typing in the search.\n if (event.key.length > 1) {\n this.select.handleKeyDown(event);\n }\n };\n}\n","<ap-input-search\n class=\"dropdown-search-input\"\n [ngModel]=\"searchTermSignal()\"\n [placeholder]=\"searchPlaceholder\"\n (ngModelChange)=\"searchTerm$.next($event)\" />\n\n@if (createNewEnabled) {\n <ap-dropdown-create-new\n [text]=\"createText\"\n [searchTerm]=\"searchTermSignal()\"\n (createNew)=\"createNew.emit($event)\" />\n}\n\n","import { AvatarComponent } from '@agorapulse/ui-components/avatar';\nimport { LabelComponent } from '@agorapulse/ui-components/labels';\nimport { TagColor, TagComponent } from '@agorapulse/ui-components/tag';\nimport { SymbolComponent } from '@agorapulse/ui-symbol';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n afterNextRender,\n afterRenderEffect,\n computed,\n inject,\n input,\n output,\n signal,\n viewChild,\n viewChildren,\n} from '@angular/core';\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { SelectLabelMultipleDisplayType } from '../select.model';\n\n@Component({\n selector: 'ap-select-label-multiple',\n templateUrl: './select-label-multiple.component.html',\n styleUrls: ['./select-label-multiple.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [LabelComponent, TagComponent, AvatarComponent, SymbolComponent],\n})\nexport class SelectLabelMultipleComponent {\n displayType = input<SelectLabelMultipleDisplayType>('label');\n tagColor = input<TagColor>('grey');\n selectedItems = input.required<any[]>();\n bindLabel = input('');\n bindValue = input('');\n bindAvatarUrl = input('');\n bindSymbolId = input('');\n roundedAvatar = input(true);\n bindNetwork = input('');\n bindTagColor = input('');\n\n removeItem = output<any>();\n\n /**\n * Parent ng-select, resolved through the DI chain of the `ng-multi-label-tmp` template.\n * `optional` so the component still works when rendered outside a ng-select.\n */\n private readonly ngSelect = inject(NgSelectComponent, { optional: true });\n\n /** True when the whole select is disabled/readonly — hides every tag/label remove button. */\n protected readonly selectDisabled = computed(() => this.ngSelect?.disabled() ?? false);\n\n selectedLabels = computed(() =>\n this.selectedItems().map(item => ({\n label: this.bindLabel() ? item[this.bindLabel()] : item,\n avatarUrl: this.bindAvatarUrl() ? item[this.bindAvatarUrl()] : '',\n symbolId: this.bindSymbolId() ? item[this.bindSymbolId()] : null,\n value: item,\n network: this.bindNetwork() ? item[this.bindNetwork()] : undefined,\n tagColor: this.bindTagColor() ? (item[this.bindTagColor()] as TagColor) : undefined,\n }))\n );\n\n hiddenCount = signal(0);\n\n trackByItem = (_: number, item: any) => (this.bindValue() ? item.value[this.bindValue()] : item.value);\n\n mainContainer = viewChild.required('mainContainer', { read: ElementRef });\n itemsElement = viewChildren('itemElement', { read: ElementRef });\n\n private responsiveLayout = afterRenderEffect(() => {\n const itemRefs = this.itemsElement();\n if (!itemRefs.length) {\n this.hiddenCount.set(0);\n return;\n }\n\n const containerEl = this.mainContainer().nativeElement as HTMLElement;\n const containerWidth = (containerEl.parentElement?.clientWidth ?? 0) - 30;\n if (containerWidth <= 0) return;\n\n // Reset maxWidth so items aren't constrained by a previous pass\n containerEl.style.maxWidth = '';\n\n let totalWidth = 0;\n let hiddenCount = 0;\n const itemGap = 4;\n\n for (const ref of itemRefs) {\n const el = ref.nativeElement as HTMLElement;\n const itemWidth = el.getBoundingClientRect().width + itemGap;\n\n if (totalWidth + itemWidth < containerWidth && !hiddenCount) {\n totalWidth += itemWidth;\n el.style.visibility = 'visible';\n } else {\n el.style.visibility = 'hidden';\n hiddenCount++;\n }\n }\n\n containerEl.style.maxWidth = `${totalWidth}px`;\n this.hiddenCount.set(hiddenCount);\n });\n\n // Overflow is shown via the \"+N\" chip, so this field must never scroll horizontally.\n // ng-select re-focuses its off-screen search input after every change; without this the\n // browser would scroll that input into view and shove the chip row out of the field.\n private pinHorizontalScroll = afterNextRender(() => {\n const container = this.mainContainer().nativeElement.closest('.ng-value-container');\n if (!container) return;\n container.addEventListener('scroll', () => (container.scrollLeft = 0), { passive: true });\n });\n}\n","<div #mainContainer class=\"multiple-item\">\n @for (item of selectedLabels(); track trackByItem($index, item)) {\n @if (displayType() === 'label') {\n <ap-label\n #itemElement\n class=\"item\"\n color=\"blue\"\n [removable]=\"!item.value.disabled && !selectDisabled()\"\n [content]=\"item.label\"\n (remove)=\"removeItem.emit(item.value)\" />\n }\n\n @if (displayType() === 'tag') {\n <ap-tag\n #itemElement\n class=\"item text-item\"\n [clearable]=\"!item.value.disabled && !selectDisabled()\"\n [color]=\"item.tagColor ?? tagColor()\"\n (clear)=\"removeItem.emit(item.value)\">\n @if (item.avatarUrl || item.network) {\n <ap-avatar\n [size]=\"16\"\n [rounded]=\"roundedAvatar()\"\n [profilePicture]=\"item.avatarUrl\"\n [username]=\"item.label\"\n [showInitials]=\"true\"\n [network]=\"item.network\"/>\n } @else if (item.symbolId) {\n <ap-symbol\n size=\"sm\"\n [attr.symbol-id]=\"item.symbolId\"\n [symbolId]=\"item.symbolId\" />\n }\n {{ item.label }}\n </ap-tag>\n }\n }\n</div>\n\n@if (hiddenCount() > 0) {\n <div class=\"remaining\">\n @if (displayType() === 'tag') {\n <ap-tag\n class=\"text-item\"\n clearable=\"false\"\n [color]=\"tagColor()\">\n +{{ hiddenCount() }}\n </ap-tag>\n }\n @if (displayType() === 'label') {\n <ap-label\n color=\"blue\"\n removable=\"false\"\n [content]=\"'+' + hiddenCount()\" />\n }\n </div>\n}\n","import { AvatarComponent, AvatarNetwork } from '@agorapulse/ui-components/avatar';\nimport { LabelComponent } from '@agorapulse/ui-components/labels';\nimport { TagComponent } from '@agorapulse/ui-components/tag';\n\nimport { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\nimport { SelectLabelSingleDisplayType } from '../select.model';\n\n@Component({\n selector: 'ap-select-label-single',\n templateUrl: './select-label-single.component.html',\n styleUrls: ['./select-label-single.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [LabelComponent, TagComponent, AvatarComponent],\n})\nexport class SelectLabelSingleComponent {\n displayType = input<SelectLabelSingleDisplayType>('text');\n\n label = input.required<string>();\n avatarUrl = input<string>();\n network = input<AvatarNetwork | undefined>(undefined);\n showAvatarInitials = input(true);\n\n roundedAvatar = input(true);\n}\n","@switch (displayType()) {\n @case ('text') {\n <span\n class=\"text-item\"\n [title]=\"label()\">\n {{ label() }}\n </span>\n }\n @case ('label') {\n <ap-label\n color=\"blue\"\n [removable]=\"false\"\n [content]=\"label()\" />\n }\n @case ('tag') {\n <ap-tag\n class=\"text-item\"\n color=\"grey\">\n @if (avatarUrl !== undefined) {\n <ap-avatar\n [rounded]=\"roundedAvatar()\"\n [size]=\"16\"\n [username]=\"label()\"\n [showInitials]=\"true\"\n [profilePicture]=\"avatarUrl()\" />\n }\n {{ label() }}\n </ap-tag>\n }\n @case ('withAvatar') {\n @if (avatarUrl()) {\n <ap-avatar\n [rounded]=\"roundedAvatar()\"\n [size]=\"24\"\n [username]=\"label()\"\n [showInitials]=\"showAvatarInitials()\"\n [profilePicture]=\"avatarUrl()\"\n [network]=\"network()\" />\n }\n <span class=\"text-item\">\n {{ label() }}\n </span>\n }\n}\n","import { AfterViewInit, Directive, inject } from '@angular/core';\nimport { NgSelectComponent } from '@ng-select/ng-select';\nimport { SelectBaseDirective } from './select-base.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'ng-select[apSelectSingle]',\n standalone: true,\n hostDirectives: [\n {\n directive: SelectBaseDirective,\n inputs: ['inlineLabel', 'symbolId', 'clearable'],\n },\n ],\n})\nexport class SelectSingleDirective implements AfterViewInit {\n private readonly selectComponent = inject(NgSelectComponent);\n\n constructor() {\n this.selectComponent.multiple.set(false);\n this.selectComponent.closeOnSelect.set(true);\n }\n\n ngAfterViewInit(): void {\n if (!this.selectComponent.labelTemplate()) {\n throw new Error('labelTemplate is required for apSelectSingle');\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { DropdownCreateNewComponent } from './dropdown-create-new/dropdown-create-new.component';\nimport { DropdownGroupItemComponent } from './dropdown-group-item/dropdown-group-item.component';\nimport { DropdownItemMultipleOneLineComponent } from './dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component';\nimport { DropdownItemMultipleTwoLinesComponent } from './dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component';\nimport { DropdownItemSingleOneLineComponent } from './dropdown-item-single-one-line/dropdown-item-single-one-line.component';\nimport { DropdownItemSingleTwoLinesComponent } from './dropdown-item-single-two-lines/dropdown-item-single-two-lines.component';\nimport { DropdownSearchFormComponent } from './dropdown-search-form/dropdown-search-form.component';\nimport { SelectLabelMultipleComponent } from './select-label-multiple/select-label-multiple.component';\nimport { SelectLabelSingleComponent } from './select-label-single/select-label-single.component';\nimport { SelectMultipleDirective } from './select-multiple.directive';\nimport { SelectSingleDirective } from './select-single.directive';\n\n@NgModule({\n imports: [\n SelectMultipleDirective,\n SelectSingleDirective,\n DropdownItemSingleOneLineComponent,\n DropdownItemSingleTwoLinesComponent,\n DropdownItemMultipleOneLineComponent,\n DropdownItemMultipleTwoLinesComponent,\n SelectLabelSingleComponent,\n SelectLabelMultipleComponent,\n DropdownSearchFormComponent,\n DropdownCreateNewComponent,\n DropdownGroupItemComponent,\n NgSelectModule,\n ],\n exports: [\n SelectMultipleDirective,\n SelectSingleDirective,\n DropdownItemSingleOneLineComponent,\n DropdownItemSingleTwoLinesComponent,\n DropdownItemMultipleOneLineComponent,\n DropdownItemMultipleTwoLinesComponent,\n SelectLabelSingleComponent,\n SelectLabelMultipleComponent,\n DropdownSearchFormComponent,\n DropdownCreateNewComponent,\n DropdownGroupItemComponent,\n NgSelectModule,\n ],\n})\nexport class ApSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.SelectBaseDirective"],"mappings":"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"}
1
+ {"version":3,"file":"agorapulse-ui-components-select.mjs","sources":["../../../libs/ui-components/select/src/dropdown-create-new/dropdown-create-new.component.ts","../../../libs/ui-components/select/src/dropdown-create-new/dropdown-create-new.component.html","../../../libs/ui-components/select/src/dropdown-group-item/dropdown-group-item.component.ts","../../../libs/ui-components/select/src/dropdown-group-item/dropdown-group-item.component.html","../../../libs/ui-components/select/src/select-base.directive.ts","../../../libs/ui-components/select/src/select-multiple.directive.ts","../../../libs/ui-components/select/src/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.ts","../../../libs/ui-components/select/src/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.html","../../../libs/ui-components/select/src/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.ts","../../../libs/ui-components/select/src/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.html","../../../libs/ui-components/select/src/dropdown-item-single-one-line/dropdown-item-single-one-line.component.ts","../../../libs/ui-components/select/src/dropdown-item-single-one-line/dropdown-item-single-one-line.component.html","../../../libs/ui-components/select/src/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.ts","../../../libs/ui-components/select/src/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.html","../../../libs/ui-components/select/src/dropdown-search-form/dropdown-search-form.component.ts","../../../libs/ui-components/select/src/dropdown-search-form/dropdown-search-form.component.html","../../../libs/ui-components/select/src/select-label-multiple/select-label-multiple.component.ts","../../../libs/ui-components/select/src/select-label-multiple/select-label-multiple.component.html","../../../libs/ui-components/select/src/select-label-single/select-label-single.component.ts","../../../libs/ui-components/select/src/select-label-single/select-label-single.component.html","../../../libs/ui-components/select/src/select-single.directive.ts","../../../libs/ui-components/select/src/ap-select.module.ts","../../../libs/ui-components/select/src/agorapulse-ui-components-select.ts"],"sourcesContent":["import { apPlus, SymbolComponent, SymbolRegistry } from '@agorapulse/ui-symbol';\nimport { ChangeDetectionStrategy, Component, inject, input, output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ap-dropdown-create-new',\n templateUrl: './dropdown-create-new.component.html',\n styleUrls: ['./dropdown-create-new.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [SymbolComponent],\n})\nexport class DropdownCreateNewComponent {\n private readonly symbolRegistry = inject(SymbolRegistry);\n\n text = input('');\n searchTerm = input<string>();\n\n readonly createNew = output<string>();\n\n constructor() {\n this.symbolRegistry.registerSymbols([apPlus]);\n }\n\n onClick(): void {\n this.createNew.emit(this.searchTerm() ?? '');\n }\n}\n","<button\n class=\"create-new\"\n type=\"button\"\n (click)=\"onClick()\">\n <ap-symbol\n symbolId=\"plus\"\n size=\"sm\" />\n <span>\n {{ text() }}\n @if (searchTerm()) {\n {{ '&quot;' + searchTerm() + '&quot;' }}\n }\n </span>\n</button>\n","import { BadgeComponent } from '@agorapulse/ui-components/badge';\nimport { CheckboxComponent } from '@agorapulse/ui-components/checkbox';\nimport { TooltipDirective } from '@agorapulse/ui-components/tooltip';\n\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { NgOption, NgSelectComponent } from '@ng-select/ng-select';\n\n@Component({\n selector: 'ap-dropdown-group-item',\n templateUrl: './dropdown-group-item.component.html',\n styleUrls: ['./dropdown-group-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [BadgeComponent, CheckboxComponent, TooltipDirective],\n})\nexport class DropdownGroupItemComponent {\n @Input({ required: true }) groupLabel!: string;\n @Input() groupTag?: string;\n @Input() selectableGroup = false;\n @Input({ required: true }) children: NgOption[] = [];\n @Input({\n required: true,\n })\n select!: NgSelectComponent;\n @Input() disabled = false;\n @Input() disabledTooltip?: string;\n\n isGroupIntermediate(): boolean {\n const selectedChildren = this.children.filter((child: NgOption) => child.selected && !child.disabled);\n const selectableChildren = this.children.filter((child: NgOption) => !child.disabled);\n return selectedChildren.length > 0 && selectedChildren.length < selectableChildren.length;\n }\n\n isGroupChecked(): boolean {\n return this.children.every((child: NgOption) => child.selected || child.disabled) && !this.isGroupDisabled();\n }\n\n isGroupDisabled(): boolean {\n return this.children.every((child: NgOption) => child.disabled);\n }\n\n onGroupClick(event: Event): void {\n if (!this.select?.maxSelectedItems()) {\n return; // Let ng-select handle it normally\n }\n\n event.stopPropagation();\n\n if (this.isGroupDisabled() || this.disabled) {\n return;\n }\n\n const selectedChildren = this.children.filter((child: NgOption) => child.selected);\n if (selectedChildren.length > 0) {\n for (const child of selectedChildren) {\n this.select.unselect(child);\n }\n } else {\n const remaining = this.select.maxSelectedItems() - this.select.itemsList.selectedItems.length;\n const selectableChildren = this.children.filter((child: NgOption) => !child.disabled && !child.selected);\n for (const child of selectableChildren.slice(0, remaining)) {\n this.select.select(child);\n }\n }\n }\n}\n","<div\n class=\"group\"\n [apTooltip]=\"disabledTooltip\"\n [apTooltipDisabled]=\"!disabled\"\n (click)=\"onGroupClick($event)\">\n @if (selectableGroup) {\n <ap-checkbox\n [name]=\"'option-group-selection-' + groupLabel\"\n [disabled]=\"isGroupDisabled() || disabled\"\n [indeterminate]=\"isGroupIntermediate()\"\n [checked]=\"isGroupChecked()\">\n <span class=\"group-label\">\n {{ groupLabel }}\n </span>\n @if (groupTag) {\n <ap-badge color=\"blue\">\n {{ groupTag }}\n </ap-badge>\n }\n </ap-checkbox>\n } @else {\n <span\n class=\"group-label\"\n [title]=\"groupLabel\">\n {{ groupLabel }}\n </span>\n @if (groupTag) {\n <ap-badge color=\"blue\">\n {{ groupTag }}\n </ap-badge>\n }\n }\n</div>\n","import { UI_COMPONENTS_SYMBOLS } from '@agorapulse/ui-components/providers';\nimport { SymbolComponent, SymbolRegistry, apCheck, apPlus } from '@agorapulse/ui-symbol';\nimport {\n AfterViewInit,\n ComponentRef,\n Directive,\n ElementRef,\n OnDestroy,\n Renderer2,\n ViewContainerRef,\n effect,\n inject,\n input,\n} from '@angular/core';\nimport { NgSelectComponent } from '@ng-select/ng-select';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'ng-select[apSelect]',\n standalone: true,\n host: {\n class: 'ap-select',\n },\n})\nexport class SelectBaseDirective implements AfterViewInit, OnDestroy {\n inlineLabel = input<string>();\n symbolId = input<string>();\n /** Show ng-select's native clear (X) inside the input when a value is selected. Off by default. */\n clearable = input(false);\n\n private readonly selectComponent = inject(NgSelectComponent);\n private el: ElementRef<HTMLElement> = inject(ElementRef);\n private renderer = inject(Renderer2);\n private viewContainerRef = inject(ViewContainerRef);\n private symbolRegistry = inject(SymbolRegistry);\n private symbolComponentRef?: ComponentRef<SymbolComponent>;\n private labelElement?: HTMLElement;\n\n private readonly subs = new Subscription();\n private readonly stopPanelListeners: (() => void)[] = [];\n private readonly originalOnItemHover = this.selectComponent.onItemHover.bind(this.selectComponent);\n /** True while the keyboard is driving: the pointer sits where it was left, so its position is stale. */\n private keyboardDriving = false;\n\n constructor() {\n this.selectComponent.appendTo.set('body');\n this.selectComponent.searchable.set(false);\n this.selectComponent.markFirst.set(false);\n this.selectComponent.selectableGroupAsModel.set(false);\n this.selectComponent.tabIndex.set(0);\n this.symbolRegistry.registerSymbols([apCheck, apPlus]);\n this.symbolRegistry.withSymbols(...(inject(UI_COMPONENTS_SYMBOLS, { optional: true })?.flat() ?? []));\n\n // Off by default (opt-in via the `clearable` input); enables ng-select's native clear (X).\n effect(() => this.selectComponent.clearable.set(this.clearable()));\n\n // Handle symbolId changes\n effect(() => {\n const symbolId = this.symbolId();\n this.removeInlineSymbol();\n if (symbolId) {\n this.addInlineSymbol(symbolId);\n }\n });\n\n // Handle inlineLabel changes\n effect(() => {\n const inlineLabel = this.inlineLabel();\n this.removeInlineLabel();\n if (inlineLabel) {\n this.addInlineLabel(inlineLabel);\n }\n });\n\n this.subs.add(this.selectComponent.openEvent.subscribe(() => this.listenToPanel()));\n this.subs.add(this.selectComponent.closeEvent.subscribe(() => this.stopListeningToPanel()));\n\n // Hovering marks the option under the pointer. Once the keyboard takes over, that pointer no\n // longer reflects an intent: a keyboard-driven scroll slides a different option under it, and\n // the first nudge would hand the marker back. Ignore hover marking until the pointer moves.\n this.selectComponent.onItemHover = item => {\n if (this.keyboardDriving) return;\n this.originalOnItemHover(item);\n };\n\n // The host covers the closed/focused select; the panel covers the header search input, which\n // forwards navigation keys to ng-select (cf. `DropdownSearchFormComponent`).\n this.subs.add(this.renderer.listen(this.el.nativeElement, 'keydown', () => this.onKeyboardDriving()));\n }\n\n ngAfterViewInit(): void {\n if (!this.selectComponent.optionTemplate()) {\n throw new Error('optionTemplate is required for apSelect');\n }\n if (this.selectComponent.groupBy() && !this.selectComponent.optgroupTemplate()) {\n throw new Error('optgroupTemplate is required for apSelect');\n }\n }\n\n ngOnDestroy(): void {\n this.stopListeningToPanel();\n this.subs.unsubscribe();\n this.selectComponent.onItemHover = this.originalOnItemHover;\n }\n\n private listenToPanel(): void {\n // `openEvent` fires before ng-select renders the panel, hence the microtask (cf. `pinSelectedAtTop`).\n queueMicrotask(() => {\n if (!this.selectComponent.isOpen()) return;\n const panel = document.getElementById(this.selectComponent.dropdownId);\n if (!panel) return;\n\n this.stopListeningToPanel();\n this.stopPanelListeners.push(\n // ng-select marks an option on `mouseover` and only unmarks it on close or keyboard\n // navigation, so the last hovered option would keep its background once the pointer\n // is outside the panel.\n this.renderer.listen(panel, 'mouseleave', () => {\n if (this.keyboardDriving) return;\n this.selectComponent.itemsList.unmarkItem();\n // `itemsList.markedItem` is a plain getter, so the OnPush panel needs an explicit pass.\n this.selectComponent.detectChanges();\n }),\n this.renderer.listen(panel, 'keydown', () => this.onKeyboardDriving()),\n // A same-gesture `mouseover` is dispatched before this `mousemove`, so the stale\n // pointer is still ignored on the crossing that revealed the movement.\n this.renderer.listen(panel, 'mousemove', () => (this.keyboardDriving = false))\n );\n });\n }\n\n private onKeyboardDriving(): void {\n this.keyboardDriving = true;\n }\n\n private stopListeningToPanel(): void {\n while (this.stopPanelListeners.length) {\n this.stopPanelListeners.pop()?.();\n }\n }\n\n private addInlineSymbol(symbolId: string): void {\n this.symbolComponentRef = this.viewContainerRef.createComponent(SymbolComponent);\n this.symbolComponentRef.setInput('symbolId', symbolId);\n this.symbolComponentRef.location.nativeElement.classList.add('inline-symbol');\n this.renderer.insertBefore(\n this.el.nativeElement.getElementsByClassName('ng-select-container').item(0),\n this.symbolComponentRef.location.nativeElement,\n this.el.nativeElement.getElementsByClassName('ng-value-container').item(0)\n );\n }\n\n private removeInlineSymbol(): void {\n if (this.symbolComponentRef) {\n this.symbolComponentRef.destroy();\n this.symbolComponentRef = undefined;\n }\n }\n\n private addInlineLabel(label: string): void {\n this.labelElement = this.renderer.createElement('label');\n this.renderer.setProperty(this.labelElement, 'textContent', label);\n this.renderer.addClass(this.labelElement, 'inline-label');\n this.renderer.insertBefore(\n this.el.nativeElement.getElementsByClassName('ng-select-container').item(0),\n this.labelElement,\n this.el.nativeElement.getElementsByClassName('ng-value-container').item(0)\n );\n }\n\n private removeInlineLabel(): void {\n if (this.labelElement) {\n this.renderer.removeChild(this.el.nativeElement.getElementsByClassName('ng-select-container').item(0), this.labelElement);\n this.labelElement = undefined;\n }\n }\n}\n","import { AfterViewInit, Directive, ElementRef, inject, input, OnDestroy } from '@angular/core';\nimport { NgSelectComponent } from '@ng-select/ng-select';\nimport { Subscription } from 'rxjs';\nimport { SelectBaseDirective } from './select-base.directive';\n\n@Directive({\n selector: 'ng-select[apSelectMultiple]',\n standalone: true,\n hostDirectives: [\n {\n directive: SelectBaseDirective,\n inputs: ['inlineLabel', 'symbolId', 'clearable'],\n },\n ],\n})\nexport class SelectMultipleDirective implements AfterViewInit, OnDestroy {\n private readonly selectComponent = inject(NgSelectComponent);\n private readonly elementRef = inject(ElementRef);\n private readonly originalDisabledState = new WeakMap<object, boolean>();\n\n maxItemsTooltip = input<string>();\n /** Pins items selected at open time to the top of the dropdown. Ignored when `groupBy` is set. */\n pinnedItemsEnabled = input(false);\n\n valueContainer: HTMLElement | null = null;\n\n private readonly subs = new Subscription();\n\n constructor() {\n this.selectComponent.multiple.set(true);\n this.selectComponent.closeOnSelect.set(false);\n\n const updateMaxItemsDisabledState = () => this.updateMaxItemsDisabledState();\n this.subs.add(this.selectComponent.addEvent.subscribe(updateMaxItemsDisabledState));\n this.subs.add(this.selectComponent.removeEvent.subscribe(updateMaxItemsDisabledState));\n this.subs.add(this.selectComponent.clearEvent.subscribe(updateMaxItemsDisabledState));\n this.subs.add(\n this.selectComponent.openEvent.subscribe(() => {\n this.pinSelectedAtTop();\n this.openAtTop();\n })\n );\n }\n\n ngAfterViewInit(): void {\n if (!this.selectComponent.multiLabelTemplate()) {\n throw new Error('multiLabelTemplate is required for apSelectMultiple');\n }\n\n // Add click handler to toggle dropdown when clicking on the select container\n this.valueContainer = this.elementRef.nativeElement.querySelector('.ng-select-container');\n if (this.valueContainer) {\n this.valueContainer.addEventListener('mousedown', this.onMousedown, true);\n }\n\n this.updateMaxItemsDisabledState();\n }\n\n ngOnDestroy() {\n if (this.valueContainer) {\n this.valueContainer.removeEventListener('mousedown', this.onMousedown, true);\n }\n this.subs.unsubscribe();\n }\n\n onMousedown = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n\n // By default, ng-select would toggle the panel on any press that reaches its own handler, avoid that\n event.preventDefault();\n event.stopPropagation();\n\n if (target.closest('.ng-clear-wrapper, ap-close-button')) {\n // Clearing a tag/label or the whole field does not toggle the panel\n // (if closed, it stays closed; if opened, it stays opened).\n return;\n }\n\n if (target.closest('ap-label, ap-tag')) {\n // Clicking on a tag/label forces the panel open (it never closes it)\n this.selectComponent.open();\n return;\n }\n\n // In all other cases, clicking in the field toggles the panel (opens if closed, closes if opened)\n if (this.selectComponent.isOpen()) {\n this.selectComponent.close();\n } else {\n this.selectComponent.open();\n }\n };\n\n // `.ap-option-pinned` persists for the panel's lifetime — deselecting keeps the option pinned until reopen.\n private pinSelectedAtTop(): void {\n if (!this.pinnedItemsEnabled() || this.selectComponent.groupBy()) return;\n queueMicrotask(() => {\n const panel = document.getElementById(this.selectComponent.dropdownId);\n const firstUnselected = panel?.querySelector('.ng-option:not(.ng-option-selected)');\n if (!panel || !firstUnselected) return;\n for (const selected of Array.from(panel.querySelectorAll<HTMLElement>('.ng-option-selected'))) {\n selected.classList.add('ap-option-pinned');\n firstUnselected.before(selected);\n }\n });\n }\n\n // On open, ng-select natively marks the last selected option, which ends up scrolling the panel to it.\n // This method removes the mark so that the panel stays scrolled to the top.\n private openAtTop(): void {\n const { itemsList } = this.selectComponent;\n itemsList.unmarkItem();\n }\n\n private updateMaxItemsDisabledState(): void {\n const max = this.selectComponent.maxSelectedItems();\n if (!max) {\n return;\n }\n\n const items = this.selectComponent.itemsList.items;\n for (const item of items) {\n if (item.children || this.originalDisabledState.has(item)) {\n continue;\n }\n this.originalDisabledState.set(item, item.disabled ?? false);\n }\n\n const maxReached = this.selectComponent.itemsList.selectedItems.length >= max;\n for (const item of items) {\n if (item.children) {\n continue;\n }\n const originallyDisabled = this.originalDisabledState.get(item) ?? false;\n item.disabled = originallyDisabled || (maxReached && !item.selected);\n }\n }\n}\n","import { AvatarComponent, AvatarNetwork } from '@agorapulse/ui-components/avatar';\nimport { BadgeComponent } from '@agorapulse/ui-components/badge';\nimport { CheckboxComponent } from '@agorapulse/ui-components/checkbox';\nimport { UI_COMPONENTS_SYMBOLS } from '@agorapulse/ui-components/providers';\nimport { TooltipDirective } from '@agorapulse/ui-components/tooltip';\nimport { SymbolColor, SymbolComponent, SymbolRegistry } from '@agorapulse/ui-symbol';\nimport { ChangeDetectionStrategy, Component, HostListener, inject, Input, input, output, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { SelectMultipleDirective } from '../select-multiple.directive';\n\n@Component({\n selector: 'ap-dropdown-item-multiple-one-line',\n templateUrl: './dropdown-item-multiple-one-line.component.html',\n styleUrls: ['./dropdown-item-multiple-one-line.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [SymbolComponent, CheckboxComponent, AvatarComponent, BadgeComponent, TooltipDirective],\n})\nexport class DropdownItemMultipleOneLineComponent {\n private readonly symbolRegistry = inject(SymbolRegistry);\n protected readonly selectMultiple = inject(SelectMultipleDirective, { optional: true });\n\n constructor() {\n this.symbolRegistry.withSymbols(...(inject(UI_COMPONENTS_SYMBOLS, { optional: true })?.flat() ?? []));\n }\n\n @Input({ required: true }) text!: string;\n @Input({ required: true }) selected!: boolean;\n @Input() indeterminate = false;\n @Input({ required: true }) htmlId!: string;\n @Input() disabled = false;\n @Input() avatarUrl?: string;\n @Input() symbolId?: string;\n @Input() disabledTooltip?: string;\n @Input() badgeText?: string;\n @Input() dividerEnabled = false;\n @Input() onlyEnabled = false;\n @Input() onlyText = 'Only';\n isFeatureLocked = input<boolean>(false);\n roundedAvatar = input(true);\n network = input<AvatarNetwork>();\n symbolColor = input<SymbolColor | string>();\n symbolTooltipText = input<string>();\n\n selectOnly = output<void>();\n lockedFeatureClicked = output();\n\n @ViewChild(CheckboxComponent) checkbox!: CheckboxComponent;\n\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n if (this.isFeatureLocked()) {\n $event.stopPropagation();\n this.lockedFeatureClicked.emit();\n }\n }\n\n onSelectOnly() {\n this.selectOnly.emit();\n this.checkbox.focus();\n }\n}\n","<div\n class=\"disabled-opaque\"\n [apTooltip]=\"disabledTooltip ?? selectMultiple?.maxItemsTooltip()\"\n [apTooltipDisabled]=\"!disabled\"></div>\n<div\n class=\"option multiple\"\n [class.feature-locked-option]=\"isFeatureLocked()\">\n <ap-checkbox\n #checkbox\n fullyControlled\n [checked]=\"selected\"\n [indeterminate]=\"indeterminate\"\n [disabled]=\"disabled || isFeatureLocked()\"\n [name]=\"'option-selection-' + htmlId\">\n @if (avatarUrl !== undefined) {\n <ap-avatar\n [rounded]=\"roundedAvatar()\"\n [size]=\"24\"\n [profilePicture]=\"avatarUrl\"\n [username]=\"text\"\n [showInitials]=\"true\"\n [network]=\"network()\" />\n }\n @if (symbolId) {\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolId\"\n [color]=\"symbolColor() ?? ''\"\n [apTooltip]=\"symbolTooltipText() ? symbolTooltipText() : undefined\" />\n }\n <span\n class=\"option-item\"\n [class.feature-locked-label]=\"isFeatureLocked()\"\n [title]=\"text\">\n {{ text }}\n </span>\n @if (badgeText) {\n <ap-badge color=\"blue\">\n {{ badgeText }}\n </ap-badge>\n }\n </ap-checkbox>\n\n @if (isFeatureLocked()) {\n <ap-symbol\n symbolId=\"feature-lock\"\n color=\"purple\"\n size=\"sm\" />\n }\n\n @if (onlyEnabled && !disabled && !isFeatureLocked()) {\n <button\n class=\"standalone-link\"\n type=\"button\"\n (click)=\"$event.preventDefault(); $event.stopPropagation(); onSelectOnly()\">\n {{ onlyText }}\n </button>\n }\n</div>\n\n@if (dividerEnabled) {\n <div class=\"divider\"></div>\n}\n","import { AvatarComponent, AvatarNetwork } from '@agorapulse/ui-components/avatar';\nimport { BadgeComponent } from '@agorapulse/ui-components/badge';\nimport { CheckboxComponent } from '@agorapulse/ui-components/checkbox';\nimport { UI_COMPONENTS_SYMBOLS } from '@agorapulse/ui-components/providers';\nimport { TooltipDirective } from '@agorapulse/ui-components/tooltip';\nimport { SymbolComponent, SymbolColor, SymbolRegistry } from '@agorapulse/ui-symbol';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostListener,\n inject,\n input,\n Input,\n output,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SelectMultipleDirective } from '../select-multiple.directive';\n\n@Component({\n selector: 'ap-dropdown-item-multiple-two-lines',\n templateUrl: './dropdown-item-multiple-two-lines.component.html',\n styleUrls: ['./dropdown-item-multiple-two-lines.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [SymbolComponent, CheckboxComponent, AvatarComponent, BadgeComponent, TooltipDirective],\n})\nexport class DropdownItemMultipleTwoLinesComponent {\n private readonly symbolRegistry = inject(SymbolRegistry);\n protected readonly selectMultiple = inject(SelectMultipleDirective, { optional: true });\n\n constructor() {\n this.symbolRegistry.withSymbols(...(inject(UI_COMPONENTS_SYMBOLS, { optional: true })?.flat() ?? []));\n }\n\n @Input({ required: true }) text!: string;\n @Input({ required: true }) caption!: string;\n @Input({ required: true }) selected!: boolean;\n @Input({ required: true }) htmlId!: string;\n @Input() disabled = false;\n @Input() avatarUrl?: string;\n @Input() symbolId?: string;\n @Input() disabledTooltip?: string;\n @Input() badgeText?: string;\n @Input() dividerEnabled = false;\n @Input() onlyEnabled = false;\n @Input() onlyText = 'Only';\n isFeatureLocked = input<boolean>(false);\n roundedAvatar = input(true);\n network = input<AvatarNetwork>();\n symbolColor = input<SymbolColor | string>();\n symbolTooltipText = input<string>();\n\n @Output() selectOnly = new EventEmitter<void>();\n lockedFeatureClicked = output();\n\n @ViewChild(CheckboxComponent) checkbox!: CheckboxComponent;\n\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n if (this.isFeatureLocked()) {\n $event.stopPropagation();\n this.lockedFeatureClicked.emit();\n }\n }\n\n onSelectOnly() {\n this.selectOnly.emit();\n this.checkbox.focus();\n }\n}\n","<div\n class=\"disabled-opaque\"\n [apTooltip]=\"disabledTooltip ?? selectMultiple?.maxItemsTooltip()\"\n [apTooltipDisabled]=\"!disabled\"></div>\n<div class=\"option multiple with-caption\" [class.feature-locked-option]=\"isFeatureLocked()\">\n <ap-checkbox\n [checked]=\"selected\"\n [disabled]=\"disabled || isFeatureLocked()\"\n [name]=\"'option-selection-' + htmlId\">\n @if (avatarUrl !== undefined) {\n <ap-avatar\n [rounded]=\"roundedAvatar()\"\n [size]=\"24\"\n [profilePicture]=\"avatarUrl\"\n [username]=\"text\"\n [showInitials]=\"true\"\n [network]=\"network()\" />\n }\n @if (symbolId) {\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolId\"\n [color]=\"symbolColor() ?? ''\"\n [apTooltip]=\"symbolTooltipText() ? symbolTooltipText() : undefined\" />\n }\n <div class=\"texts\" [class.feature-locked-label]=\"isFeatureLocked()\">\n <div class=\"first-line\">\n <span\n class=\"label\"\n\n [title]=\"text\">\n {{ text }}\n </span>\n @if (badgeText) {\n <ap-badge color=\"blue\">\n {{ badgeText }}\n </ap-badge>\n }\n </div>\n <span\n class=\"caption\"\n [title]=\"caption\">\n {{ caption }}\n </span>\n </div>\n\n @if (isFeatureLocked()) {\n <ap-symbol\n symbolId=\"feature-lock\"\n color=\"purple\"\n size=\"sm\"/>\n }\n\n @if (onlyEnabled && !disabled) {\n <button\n class=\"standalone-link\"\n type=\"button\"\n (click)=\"$event.preventDefault(); $event.stopPropagation(); onSelectOnly()\">\n {{ onlyText }}\n </button>\n }\n </ap-checkbox>\n</div>\n@if (dividerEnabled) {\n <div class=\"divider\"></div>\n}\n","import { AvatarComponent, AvatarNetwork } from '@agorapulse/ui-components/avatar';\nimport { BadgeComponent } from '@agorapulse/ui-components/badge';\nimport { UI_COMPONENTS_SYMBOLS } from '@agorapulse/ui-components/providers';\nimport { TooltipDirective } from '@agorapulse/ui-components/tooltip';\nimport { SymbolComponent, SymbolRegistry } from '@agorapulse/ui-symbol';\n\nimport { ChangeDetectionStrategy, Component, HostListener, inject, input, Input, output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ap-dropdown-item-single-one-line',\n templateUrl: './dropdown-item-single-one-line.component.html',\n styleUrls: ['./dropdown-item-single-one-line.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [SymbolComponent, AvatarComponent, BadgeComponent, TooltipDirective],\n // Gated, so rows inside `<ng-select>` gain no new classes.\n host: {\n '[class.standalone-mode]': 'standaloneModeEnabled()',\n '[class.selected]': 'standaloneModeEnabled() && selected',\n '[class.disabled]': 'standaloneModeEnabled() && disabled',\n },\n})\nexport class DropdownItemSingleOneLineComponent {\n private readonly symbolRegistry = inject(SymbolRegistry);\n\n constructor() {\n this.symbolRegistry.withSymbols(...(inject(UI_COMPONENTS_SYMBOLS, { optional: true })?.flat() ?? []));\n }\n\n @Input({ required: true }) text!: string;\n @Input({ required: true }) selected!: boolean;\n @Input() disabled = false;\n @Input() avatarUrl?: string;\n @Input() showAvatarInitials = true;\n @Input() symbolId?: string;\n @Input() disabledTooltip?: string;\n @Input() badgeText?: string;\n @Input() dividerEnabled = false;\n @Input() network: AvatarNetwork | undefined = undefined;\n roundedAvatar = input(true);\n isFeatureLocked = input<boolean>(false);\n /** Gives the row its own option chrome. Off by default: inside `<ng-select>`, `.ng-option` already has it. */\n standaloneModeEnabled = input<boolean>(false);\n\n lockedFeatureClicked = output();\n\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n if (this.isFeatureLocked()) {\n $event.stopPropagation();\n this.lockedFeatureClicked.emit();\n }\n }\n}\n","<div\n class=\"disabled-opaque\"\n [apTooltip]=\"disabledTooltip\"\n [apTooltipDisabled]=\"!disabled\"></div>\n<div class=\"option\" [class.feature-locked-option]=\"isFeatureLocked()\">\n @if (avatarUrl !== undefined) {\n <ap-avatar\n [rounded]=\"roundedAvatar()\"\n [size]=\"24\"\n [profilePicture]=\"avatarUrl\"\n [username]=\"text\"\n [showInitials]=\"showAvatarInitials\"\n [network]=\"network\" />\n }\n @if (symbolId) {\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolId\" />\n }\n <span\n class=\"option-item\"\n [title]=\"text\">\n {{ text }}\n </span>\n @if (badgeText) {\n <ap-badge color=\"blue\">\n {{ badgeText }}\n </ap-badge>\n }\n @if (isFeatureLocked()) {\n <ap-symbol\n symbolId=\"feature-lock\"\n color=\"purple\"\n size=\"sm\"/>\n } @else if (selected) {\n <ap-symbol\n class=\"option-selected\"\n symbolId=\"check\"\n color=\"electric-blue\"\n size=\"sm\" />\n }\n</div>\n@if (dividerEnabled) {\n <div class=\"divider\"></div>\n}\n","import { AvatarComponent, AvatarNetwork } from '@agorapulse/ui-components/avatar';\nimport { BadgeComponent } from '@agorapulse/ui-components/badge';\nimport { UI_COMPONENTS_SYMBOLS } from '@agorapulse/ui-components/providers';\nimport { TooltipDirective } from '@agorapulse/ui-components/tooltip';\nimport { SymbolComponent, SymbolRegistry } from '@agorapulse/ui-symbol';\n\nimport { ChangeDetectionStrategy, Component, HostListener, inject, input, Input, output, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ap-dropdown-item-single-two-lines',\n templateUrl: './dropdown-item-single-two-lines.component.html',\n styleUrls: ['./dropdown-item-single-two-lines.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [SymbolComponent, AvatarComponent, BadgeComponent, TooltipDirective],\n})\nexport class DropdownItemSingleTwoLinesComponent {\n private readonly symbolRegistry = inject(SymbolRegistry);\n\n constructor() {\n this.symbolRegistry.withSymbols(...(inject(UI_COMPONENTS_SYMBOLS, { optional: true })?.flat() ?? []));\n }\n\n @Input({ required: true }) text!: string;\n @Input({ required: true }) caption!: string;\n @Input({ required: true }) selected!: boolean;\n @Input() disabled = false;\n @Input() avatarUrl?: string;\n @Input() symbolId?: string;\n @Input() disabledTooltip?: string;\n @Input() badgeText?: string;\n @Input() dividerEnabled = false;\n @Input() network: AvatarNetwork | undefined = undefined;\n roundedAvatar = input(true);\n isFeatureLocked = input<boolean>(false);\n\n lockedFeatureClicked = output();\n\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n if (this.isFeatureLocked()) {\n $event.stopPropagation();\n this.lockedFeatureClicked.emit();\n }\n }\n}\n","<div\n class=\"disabled-opaque\"\n [apTooltip]=\"disabledTooltip\"\n [apTooltipDisabled]=\"!disabled\"></div>\n<div class=\"option with-caption\" [class.feature-locked-option]=\"isFeatureLocked()\">\n @if (avatarUrl !== undefined) {\n <ap-avatar\n [rounded]=\"roundedAvatar()\"\n [size]=\"24\"\n [profilePicture]=\"avatarUrl\"\n [username]=\"text\"\n [showInitials]=\"true\"\n [network]=\"network\" />\n }\n @if (symbolId) {\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolId\" />\n }\n <div class=\"texts\">\n <div class=\"first-line\">\n <span\n class=\"label\"\n [title]=\"text\">\n {{ text }}\n </span>\n @if (badgeText) {\n <ap-badge color=\"blue\">\n {{ badgeText }}\n </ap-badge>\n }\n </div>\n <span\n class=\"caption\"\n [title]=\"caption\">\n {{ caption }}\n </span>\n </div>\n @if (isFeatureLocked()) {\n <ap-symbol\n symbolId=\"feature-lock\"\n color=\"purple\"\n size=\"sm\"/>\n } @else if (selected) {\n <ap-symbol\n class=\"option-selected\"\n symbolId=\"check\"\n color=\"electric-blue\"\n size=\"sm\" />\n }\n</div>\n@if (dividerEnabled) {\n <div class=\"divider\"></div>\n}\n","import { InputSearchComponent } from '@agorapulse/ui-components/input-search';\n\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { NgSelectComponent } from '@ng-select/ng-select';\nimport { BehaviorSubject, filter } from 'rxjs';\nimport { DropdownCreateNewComponent } from '../dropdown-create-new/dropdown-create-new.component';\n\n/** Search input for an ng-select dropdown — place inside its `ng-header-tmp`. */\n@Component({\n selector: 'ap-dropdown-search-form',\n templateUrl: './dropdown-search-form.component.html',\n styleUrls: ['./dropdown-search-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [FormsModule, InputSearchComponent, DropdownCreateNewComponent],\n})\nexport class DropdownSearchFormComponent implements AfterViewInit, OnDestroy {\n @Input() searchPlaceholder = '';\n @Input() createNewEnabled = false;\n @Input() createText = 'Create';\n @Input({\n required: true,\n })\n select!: NgSelectComponent;\n @ViewChild(InputSearchComponent) inputSearch!: InputSearchComponent;\n\n @Output() createNew = new EventEmitter<string>();\n\n searchTermSignal = signal<string>('');\n searchTerm$ = new BehaviorSubject<string>('');\n\n private searchInputElement: HTMLElement | null = null;\n\n constructor() {\n this.searchTerm$\n .pipe(\n filter(() => !!this.select),\n takeUntilDestroyed()\n )\n .subscribe(term => {\n this.searchTermSignal.set(term);\n this.select.filter(term);\n });\n }\n\n ngOnDestroy(): void {\n this.searchInputElement?.removeEventListener('keydown', this.forwardKeyDown);\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.inputSearch.focusInput();\n this.registerKeyboardNavigation();\n }, 100);\n }\n\n /** Forward navigation keys to ng-select's native keyboard handler while the search input holds focus. */\n private registerKeyboardNavigation(): void {\n this.searchInputElement = this.inputSearch.inputElement().nativeElement;\n this.searchInputElement?.addEventListener('keydown', this.forwardKeyDown);\n }\n\n private forwardKeyDown = (event: KeyboardEvent): void => {\n // Named keys (arrows, Enter, Escape…) drive navigation; single characters keep typing in the search.\n if (event.key.length > 1) {\n this.select.handleKeyDown(event);\n }\n };\n}\n","<ap-input-search\n class=\"dropdown-search-input\"\n [ngModel]=\"searchTermSignal()\"\n [placeholder]=\"searchPlaceholder\"\n (ngModelChange)=\"searchTerm$.next($event)\" />\n\n@if (createNewEnabled) {\n <ap-dropdown-create-new\n [text]=\"createText\"\n [searchTerm]=\"searchTermSignal()\"\n (createNew)=\"createNew.emit($event)\" />\n}\n\n","import { AvatarComponent } from '@agorapulse/ui-components/avatar';\nimport { LabelComponent } from '@agorapulse/ui-components/labels';\nimport { TagColor, TagComponent } from '@agorapulse/ui-components/tag';\nimport { SymbolComponent } from '@agorapulse/ui-symbol';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n afterNextRender,\n afterRenderEffect,\n computed,\n inject,\n input,\n output,\n signal,\n viewChild,\n viewChildren,\n} from '@angular/core';\nimport { NgSelectComponent } from '@ng-select/ng-select';\n\nimport { SelectLabelMultipleDisplayType } from '../select.model';\n\n@Component({\n selector: 'ap-select-label-multiple',\n templateUrl: './select-label-multiple.component.html',\n styleUrls: ['./select-label-multiple.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [LabelComponent, TagComponent, AvatarComponent, SymbolComponent],\n})\nexport class SelectLabelMultipleComponent {\n displayType = input<SelectLabelMultipleDisplayType>('label');\n tagColor = input<TagColor>('grey');\n selectedItems = input.required<any[]>();\n bindLabel = input('');\n bindValue = input('');\n bindAvatarUrl = input('');\n bindSymbolId = input('');\n roundedAvatar = input(true);\n bindNetwork = input('');\n bindTagColor = input('');\n\n removeItem = output<any>();\n\n /**\n * Parent ng-select, resolved through the DI chain of the `ng-multi-label-tmp` template.\n * `optional` so the component still works when rendered outside a ng-select.\n */\n private readonly ngSelect = inject(NgSelectComponent, { optional: true });\n\n /** True when the whole select is disabled/readonly — hides every tag/label remove button. */\n protected readonly selectDisabled = computed(() => this.ngSelect?.disabled() ?? false);\n\n selectedLabels = computed(() =>\n this.selectedItems().map(item => ({\n label: this.bindLabel() ? item[this.bindLabel()] : item,\n avatarUrl: this.bindAvatarUrl() ? item[this.bindAvatarUrl()] : '',\n symbolId: this.bindSymbolId() ? item[this.bindSymbolId()] : null,\n value: item,\n network: this.bindNetwork() ? item[this.bindNetwork()] : undefined,\n tagColor: this.bindTagColor() ? (item[this.bindTagColor()] as TagColor) : undefined,\n }))\n );\n\n hiddenCount = signal(0);\n\n trackByItem = (_: number, item: any) => (this.bindValue() ? item.value[this.bindValue()] : item.value);\n\n mainContainer = viewChild.required('mainContainer', { read: ElementRef });\n itemsElement = viewChildren('itemElement', { read: ElementRef });\n\n private responsiveLayout = afterRenderEffect(() => {\n const itemRefs = this.itemsElement();\n if (!itemRefs.length) {\n this.hiddenCount.set(0);\n return;\n }\n\n const containerEl = this.mainContainer().nativeElement as HTMLElement;\n const containerWidth = (containerEl.parentElement?.clientWidth ?? 0) - 30;\n if (containerWidth <= 0) return;\n\n // Reset maxWidth so items aren't constrained by a previous pass\n containerEl.style.maxWidth = '';\n\n let totalWidth = 0;\n let hiddenCount = 0;\n const itemGap = 4;\n\n for (const ref of itemRefs) {\n const el = ref.nativeElement as HTMLElement;\n const itemWidth = el.getBoundingClientRect().width + itemGap;\n\n if (totalWidth + itemWidth < containerWidth && !hiddenCount) {\n totalWidth += itemWidth;\n el.style.visibility = 'visible';\n } else {\n el.style.visibility = 'hidden';\n hiddenCount++;\n }\n }\n\n containerEl.style.maxWidth = `${totalWidth}px`;\n this.hiddenCount.set(hiddenCount);\n });\n\n // Overflow is shown via the \"+N\" chip, so this field must never scroll horizontally.\n // ng-select re-focuses its off-screen search input after every change; without this the\n // browser would scroll that input into view and shove the chip row out of the field.\n private pinHorizontalScroll = afterNextRender(() => {\n const container = this.mainContainer().nativeElement.closest('.ng-value-container');\n if (!container) return;\n container.addEventListener('scroll', () => (container.scrollLeft = 0), { passive: true });\n });\n}\n","<div #mainContainer class=\"multiple-item\">\n @for (item of selectedLabels(); track trackByItem($index, item)) {\n @if (displayType() === 'label') {\n <ap-label\n #itemElement\n class=\"item\"\n color=\"blue\"\n [removable]=\"!item.value.disabled && !selectDisabled()\"\n [content]=\"item.label\"\n (remove)=\"removeItem.emit(item.value)\" />\n }\n\n @if (displayType() === 'tag') {\n <ap-tag\n #itemElement\n class=\"item text-item\"\n [clearable]=\"!item.value.disabled && !selectDisabled()\"\n [color]=\"item.tagColor ?? tagColor()\"\n (clear)=\"removeItem.emit(item.value)\">\n @if (item.avatarUrl || item.network) {\n <ap-avatar\n [size]=\"16\"\n [rounded]=\"roundedAvatar()\"\n [profilePicture]=\"item.avatarUrl\"\n [username]=\"item.label\"\n [showInitials]=\"true\"\n [network]=\"item.network\"/>\n } @else if (item.symbolId) {\n <ap-symbol\n size=\"sm\"\n [attr.symbol-id]=\"item.symbolId\"\n [symbolId]=\"item.symbolId\" />\n }\n {{ item.label }}\n </ap-tag>\n }\n }\n</div>\n\n@if (hiddenCount() > 0) {\n <div class=\"remaining\">\n @if (displayType() === 'tag') {\n <ap-tag\n class=\"text-item\"\n clearable=\"false\"\n [color]=\"tagColor()\">\n +{{ hiddenCount() }}\n </ap-tag>\n }\n @if (displayType() === 'label') {\n <ap-label\n color=\"blue\"\n removable=\"false\"\n [content]=\"'+' + hiddenCount()\" />\n }\n </div>\n}\n","import { AvatarComponent, AvatarNetwork } from '@agorapulse/ui-components/avatar';\nimport { LabelComponent } from '@agorapulse/ui-components/labels';\nimport { TagComponent } from '@agorapulse/ui-components/tag';\n\nimport { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\nimport { SelectLabelSingleDisplayType } from '../select.model';\n\n@Component({\n selector: 'ap-select-label-single',\n templateUrl: './select-label-single.component.html',\n styleUrls: ['./select-label-single.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [LabelComponent, TagComponent, AvatarComponent],\n})\nexport class SelectLabelSingleComponent {\n displayType = input<SelectLabelSingleDisplayType>('text');\n\n label = input.required<string>();\n avatarUrl = input<string>();\n network = input<AvatarNetwork | undefined>(undefined);\n showAvatarInitials = input(true);\n\n roundedAvatar = input(true);\n}\n","@switch (displayType()) {\n @case ('text') {\n <span\n class=\"text-item\"\n [title]=\"label()\">\n {{ label() }}\n </span>\n }\n @case ('label') {\n <ap-label\n color=\"blue\"\n [removable]=\"false\"\n [content]=\"label()\" />\n }\n @case ('tag') {\n <ap-tag\n class=\"text-item\"\n color=\"grey\">\n @if (avatarUrl !== undefined) {\n <ap-avatar\n [rounded]=\"roundedAvatar()\"\n [size]=\"16\"\n [username]=\"label()\"\n [showInitials]=\"true\"\n [profilePicture]=\"avatarUrl()\" />\n }\n {{ label() }}\n </ap-tag>\n }\n @case ('withAvatar') {\n @if (avatarUrl()) {\n <ap-avatar\n [rounded]=\"roundedAvatar()\"\n [size]=\"24\"\n [username]=\"label()\"\n [showInitials]=\"showAvatarInitials()\"\n [profilePicture]=\"avatarUrl()\"\n [network]=\"network()\" />\n }\n <span class=\"text-item\">\n {{ label() }}\n </span>\n }\n}\n","import { AfterViewInit, Directive, inject } from '@angular/core';\nimport { NgSelectComponent } from '@ng-select/ng-select';\nimport { SelectBaseDirective } from './select-base.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'ng-select[apSelectSingle]',\n standalone: true,\n hostDirectives: [\n {\n directive: SelectBaseDirective,\n inputs: ['inlineLabel', 'symbolId', 'clearable'],\n },\n ],\n})\nexport class SelectSingleDirective implements AfterViewInit {\n private readonly selectComponent = inject(NgSelectComponent);\n\n constructor() {\n this.selectComponent.multiple.set(false);\n this.selectComponent.closeOnSelect.set(true);\n }\n\n ngAfterViewInit(): void {\n if (!this.selectComponent.labelTemplate()) {\n throw new Error('labelTemplate is required for apSelectSingle');\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { DropdownCreateNewComponent } from './dropdown-create-new/dropdown-create-new.component';\nimport { DropdownGroupItemComponent } from './dropdown-group-item/dropdown-group-item.component';\nimport { DropdownItemMultipleOneLineComponent } from './dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component';\nimport { DropdownItemMultipleTwoLinesComponent } from './dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component';\nimport { DropdownItemSingleOneLineComponent } from './dropdown-item-single-one-line/dropdown-item-single-one-line.component';\nimport { DropdownItemSingleTwoLinesComponent } from './dropdown-item-single-two-lines/dropdown-item-single-two-lines.component';\nimport { DropdownSearchFormComponent } from './dropdown-search-form/dropdown-search-form.component';\nimport { SelectLabelMultipleComponent } from './select-label-multiple/select-label-multiple.component';\nimport { SelectLabelSingleComponent } from './select-label-single/select-label-single.component';\nimport { SelectMultipleDirective } from './select-multiple.directive';\nimport { SelectSingleDirective } from './select-single.directive';\n\n@NgModule({\n imports: [\n SelectMultipleDirective,\n SelectSingleDirective,\n DropdownItemSingleOneLineComponent,\n DropdownItemSingleTwoLinesComponent,\n DropdownItemMultipleOneLineComponent,\n DropdownItemMultipleTwoLinesComponent,\n SelectLabelSingleComponent,\n SelectLabelMultipleComponent,\n DropdownSearchFormComponent,\n DropdownCreateNewComponent,\n DropdownGroupItemComponent,\n NgSelectModule,\n ],\n exports: [\n SelectMultipleDirective,\n SelectSingleDirective,\n DropdownItemSingleOneLineComponent,\n DropdownItemSingleTwoLinesComponent,\n DropdownItemMultipleOneLineComponent,\n DropdownItemMultipleTwoLinesComponent,\n SelectLabelSingleComponent,\n SelectLabelMultipleComponent,\n DropdownSearchFormComponent,\n DropdownCreateNewComponent,\n DropdownGroupItemComponent,\n NgSelectModule,\n ],\n})\nexport class ApSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.SelectBaseDirective"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@agorapulse/ui-components",
3
3
  "description": "Agorapulse UI Components Library",
4
- "version": "22.0.14",
4
+ "version": "22.0.16",
5
5
  "author": "Benoit Hediard",
6
6
  "repository": {
7
7
  "type": "git",