@agorapulse/ui-components 16.2.1 → 16.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"agorapulse-ui-components-select.mjs","sources":["../../../libs/ui-components/select/src/select.component.ts","../../../libs/ui-components/select/src/select.component.html","../../../libs/ui-components/select/src/agorapulse-ui-components-select.ts"],"sourcesContent":["import { LoaderComponent } from '@agorapulse/ui-animations';\nimport { AvatarComponent } from '@agorapulse/ui-components/avatar';\nimport { BadgeComponent } from '@agorapulse/ui-components/badge';\nimport { CheckboxComponent } from '@agorapulse/ui-components/checkbox';\nimport { InputComponent } from '@agorapulse/ui-components/input';\nimport { LabelComponent } from '@agorapulse/ui-components/labels';\nimport { TagComponent } from '@agorapulse/ui-components/tag';\nimport { SymbolComponent, SymbolRegistry, apAdd2022, apCheck2, apDeleteNoCircle, apSearchAlternate } from '@agorapulse/ui-symbol';\nimport { AsyncPipe, JsonPipe, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n Provider,\n Signal,\n ViewChild,\n ViewEncapsulation,\n WritableSignal,\n computed,\n forwardRef,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { NgOption, NgSelectComponent, NgSelectModule } from '@ng-select/ng-select';\nimport { Observable, debounceTime, of, skip, switchMap, tap } from 'rxjs';\n\nexport type DisplayType = 'text' | 'label' | 'tag' | 'withAvatar';\n\nexport const SELECT_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectComponent),\n multi: true,\n};\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-select',\n styleUrls: ['./select.component.scss'],\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n ReactiveFormsModule,\n FormsModule,\n NgSelectModule,\n InputComponent,\n SymbolComponent,\n AsyncPipe,\n CheckboxComponent,\n AvatarComponent,\n NgTemplateOutlet,\n LabelComponent,\n TagComponent,\n BadgeComponent,\n LoaderComponent,\n ],\n providers: [SELECT_VALUE_ACCESSOR],\n templateUrl: './select.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class SelectComponent<T extends Record<string, unknown> | string> implements OnInit, AfterViewInit, ControlValueAccessor {\n private symbolRegistry: SymbolRegistry = inject(SymbolRegistry);\n private destroyRef: DestroyRef = inject(DestroyRef);\n private elementRef: ElementRef = inject(ElementRef);\n\n @ViewChild('searchInput') searchInput!: InputComponent;\n @ViewChild('inlineLabel') inlineLabelElement!: ElementRef<HTMLDivElement>;\n @ViewChild('select') select!: NgSelectComponent;\n\n @HostBinding('class.hovered') hovered: boolean = false;\n\n optionsSignal = signal<T[]>([]);\n @Input({ required: true }) set options(options: T[]) {\n this.optionsSignal.set(options);\n this.filteredOptionsSignal.set(options);\n }\n\n @Input() ariaLabel!: string;\n @Input() ariaLabelledBy!: string;\n @Input() ariaDescribedBy!: string;\n @Input() appendTo: string = 'body';\n @Input() clearable: boolean = false;\n @Input() description?: string;\n @Input() disabled: boolean = false;\n @Input() selectId?: string;\n\n private _inline: boolean = false;\n @HostBinding('class.inline')\n @Input()\n set inlineLabel(inlineLabel: boolean) {\n this._inline = inlineLabel;\n if (!this.inlineLabelElement) {\n return;\n }\n this.elementRef.nativeElement.style.setProperty(\n '--placeholder-padding-left',\n `${this.inlineLabelElement.nativeElement.clientWidth}px`\n );\n }\n\n get inlineLabel(): boolean {\n return this._inline;\n }\n\n @Input() create: boolean = false;\n @Input() createText: string = 'Create';\n @Input() group: boolean = false;\n @Input() selectableGroup: boolean = true;\n @Input() label: string = '';\n @Input() multiple: boolean = false;\n @Input() only: boolean = false;\n @Input() onlyText: string = 'Only';\n @Input() placeholder: string = 'Select...';\n @Input() selectAll: boolean = false;\n @Input() selectAllText: string = 'Select all';\n @Input() unselectAllText: string = 'Unselect all';\n @Input() searchable: boolean = false;\n @Input() searchPlaceholder: string = 'Search...';\n @Input() searchFn: (term: string) => Observable<T[]> = this.defaultSearchFn;\n @Input() notFoundText: string = 'No results found';\n @Input() loadingText: string = 'Loading items';\n @Input() displayType: DisplayType = 'text';\n\n @Input() optionLabel?: string;\n @Input() optionCaption?: string;\n @Input() optionDivider?: string = 'divider';\n @Input() optionProfileImageUrl: string = 'profileImageUrl';\n @Input() optionBadgeLabel?: string;\n @Input() optionValue: string = 'id';\n @Input() optionDisabled: string = 'disabled';\n @Input() optionGroupLabel: string = 'group';\n @Input() optionGroupTag?: Record<string, string>;\n\n @Output() createNew: EventEmitter<string> = new EventEmitter();\n\n private _controlValueAccessorChangeFn!: (value: unknown[]) => void;\n onTouched!: () => void;\n\n enabledOptions = computed<T[]>(() => {\n return this.optionsSignal().filter((value: T) => {\n if (typeof value === 'string') {\n return value;\n } else {\n return this.optionDisabled && !value[this.optionDisabled];\n }\n });\n });\n\n itemHoveredSignal: WritableSignal<string | null> = signal<string | null>(null);\n filteredOptionsSignal: WritableSignal<T[]> = signal<T[]>([]);\n loadingSignal: WritableSignal<boolean> = signal<boolean>(false);\n selectedValuesSignal: WritableSignal<unknown[]> = signal<unknown[]>([]);\n searchTermSignal: WritableSignal<string> = signal<string>('');\n searchTerm$ = toObservable(this.searchTermSignal);\n\n allSelectedSignal = computed<boolean>(() => {\n return this.selectedValuesSignal().length === this.enabledOptions().length;\n });\n partialySelectedSignal: Signal<boolean> = computed<boolean>(() => {\n return this.selectedValuesSignal().length > 0 && this.selectedValuesSignal().length < this.enabledOptions().length;\n });\n\n constructor() {\n this.symbolRegistry.registerSymbols([apCheck2, apSearchAlternate, apAdd2022, apDeleteNoCircle]);\n }\n\n writeValue(selectedValues: unknown[] = []): void {\n this.selectedValuesSignal.set(selectedValues);\n }\n\n registerOnChange(fn: (value: unknown[]) => void): void {\n this._controlValueAccessorChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n ngOnInit(): void {\n this.searchTerm$\n .pipe(\n debounceTime(250),\n skip(1),\n tap(() => {\n this.loadingSignal.set(true);\n this.optionsSignal.set([]);\n }),\n switchMap((term: string) => this.searchFn(term)),\n tap(() => {\n this.loadingSignal.set(false);\n }),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe((options: T[]) => {\n this.optionsSignal.set(options);\n });\n }\n\n ngAfterViewInit(): void {\n if (!this.inlineLabelElement) {\n return;\n }\n this.elementRef.nativeElement.style.setProperty(\n '--placeholder-padding-left',\n `${this.inlineLabelElement.nativeElement.clientWidth}px`\n );\n }\n\n onSearchTermChange(searchTerm: string): void {\n this.searchTermSignal.set(searchTerm);\n }\n\n private defaultSearchFn(term: string): Observable<T[]> {\n return of(\n this.filteredOptionsSignal().filter((option: T) => {\n if (typeof option === 'string') {\n return option.toLowerCase().includes(term.toLowerCase());\n }\n if (this.optionLabel) {\n return String(option[this.optionLabel]).toLowerCase().includes(term.toLowerCase());\n }\n return option;\n })\n );\n }\n\n isGroupIndeterminate(children: NgOption[]) {\n return children.some((child: NgOption) => child.selected) && !this.isGroupChecked(children);\n }\n\n isGroupDisabled(children: NgOption[]): boolean {\n return children.every((child: NgOption) => child.disabled);\n }\n\n isGroupChecked(children: NgOption[]): boolean {\n return children.every((child: NgOption) => child.disabled || child.selected) && !this.isGroupDisabled(children);\n }\n\n onSelectOnly(item: T): void {\n if (typeof item === 'string') {\n this.selectedValuesSignal.set([item]);\n } else {\n this.selectedValuesSignal.set([item[this.optionValue]]);\n }\n }\n\n onSelectOpened(): void {\n setTimeout(() => {\n if (this.onTouched) {\n this.onTouched();\n }\n if (this._controlValueAccessorChangeFn) {\n this._controlValueAccessorChangeFn(this.selectedValuesSignal());\n }\n if (this.searchable && !!this.searchFn) {\n this.searchInput.focusInput();\n }\n });\n }\n\n onHoverItem(htmlid: string): void {\n if (!this.multiple || this.disabled) {\n return;\n }\n this.itemHoveredSignal.set(htmlid);\n }\n\n onLeaveItem(): void {\n if (!this.multiple || this.disabled) {\n return;\n }\n this.itemHoveredSignal.set(null);\n }\n\n onToggleAll(): void {\n if (this.partialySelectedSignal() || this.partialySelectedSignal()) {\n this.selectedValuesSignal.set([]);\n } else {\n this.selectedValuesSignal.set(\n this.enabledOptions().map((value: T) => {\n if (typeof value === 'string') {\n return value;\n }\n return this.optionValue && value[this.optionValue];\n })\n );\n }\n }\n\n onSelectedValuesChange(selectedValues: unknown[]): void {\n this.selectedValuesSignal.set(selectedValues);\n }\n\n onOpenSelect(): void {\n this.select.open();\n }\n\n onInlineInputEnter(): void {\n this.hovered = true;\n }\n\n onInlineInputLeave(): void {\n this.hovered = false;\n }\n\n onCreateNew(): void {\n this.createNew.emit(this.searchTermSignal());\n this.select.close();\n }\n\n removeSelectedItem({ $event }: { $event: PointerEvent | MouseEvent }, item: T): void {\n if ($event) {\n $event.stopImmediatePropagation();\n }\n const selectedItemId = typeof item === 'string' ? item : item[this.optionValue];\n this.selectedValuesSignal.update((selectedValues: unknown[]) =>\n selectedValues.filter((selectedValue: unknown) => selectedValue !== selectedItemId)\n );\n }\n}\n","<label\n *ngIf=\"label && !inlineLabel\"\n [for]=\"selectId\">\n <span>\n {{ label }}\n </span>\n <span\n *ngIf=\"description\"\n class=\"description\">\n {{ description }}\n </span>\n</label>\n\n<div\n tabIndex=\"0\"\n *ngIf=\"inlineLabel\"\n #inlineLabel\n class=\"inline-label\"\n (click)=\"onOpenSelect()\"\n (mouseenter)=\"onInlineInputEnter()\"\n (mouseleave)=\"onInlineInputLeave()\">\n <label\n *ngIf=\"label && inlineLabel\"\n class=\"label\"\n [for]=\"selectId\">\n <span>\n {{ label }}\n </span>\n </label>\n <div class=\"divider\"></div>\n</div>\n\n<ng-select\n #select\n class=\"ap-select\"\n [tabIndex]=\"0\"\n [clearable]=\"clearable\"\n [placeholder]=\"placeholder\"\n [labelForId]=\"selectId\"\n [searchable]=\"false\"\n [closeOnSelect]=\"multiple ? false : true\"\n [bindValue]=\"optionValue ? optionValue : 'label'\"\n [groupBy]=\"group ? optionGroupLabel : ''\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [markFirst]=\"false\"\n [selectableGroup]=\"selectableGroup\"\n [selectableGroupAsModel]=\"false\"\n [appendTo]=\"appendTo\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledBy || null\"\n [attr.aria-describedby]=\"ariaDescribedBy || null\"\n [attr.aria-disabled]=\"disabled?.toString()\"\n [items]=\"optionsSignal()\"\n [loading]=\"loadingSignal()\"\n [ngModel]=\"selectedValuesSignal()\"\n (ngModelChange)=\"onSelectedValuesChange($event)\"\n (open)=\"onSelectOpened()\">\n <ng-container *ngIf=\"searchable || selectAll\">\n <ng-template\n let-item=\"item\"\n ng-header-tmp>\n <ng-container *ngIf=\"searchable\">\n <ap-input\n #searchInput\n tabindex=\"0\"\n name=\"search-input\"\n class=\"full-width\"\n symbolPosition=\"right\"\n [placeholder]=\"searchPlaceholder\"\n [ngModel]=\"searchTermSignal()\"\n (ngModelChange)=\"onSearchTermChange($event)\">\n <ap-symbol symbolId=\"search-alternate\" />\n </ap-input>\n </ng-container>\n <ng-container *ngIf=\"selectAll\">\n <ap-checkbox\n class=\"select-all-checkbox\"\n name=\"option-group-select-all\"\n [indeterminate]=\"partialySelectedSignal()\"\n [checked]=\"allSelectedSignal()\"\n (click)=\"onToggleAll()\">\n <span>\n {{ partialySelectedSignal() || allSelectedSignal() ? unselectAllText : selectAllText }}\n </span>\n </ap-checkbox>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-template\n let-item=\"item\"\n let-item$=\"item$\"\n ng-optgroup-tmp>\n <div\n class=\"group\"\n [class.with-search]=\"searchable\"\n [class.with-select-all]=\"selectAll\">\n <ng-container *ngIf=\"!multiple\">\n <span class=\"group-label\">\n {{ item.group }}\n </span>\n <ap-badge\n *ngIf=\"optionGroupTag && optionGroupTag[item.group]\"\n color=\"blue\">\n {{ optionGroupTag[item.group] }}\n </ap-badge>\n </ng-container>\n <ng-container *ngIf=\"multiple\">\n <ap-checkbox\n *ngIf=\"selectableGroup\"\n [name]=\"'option-group-selection-' + item.group\"\n [indeterminate]=\"isGroupIndeterminate(item$.children)\"\n [checked]=\"isGroupChecked(item$.children)\">\n <span class=\"group-label\">\n {{ item.group }}\n </span>\n <ap-badge\n *ngIf=\"optionGroupTag && optionGroupTag[item.group]\"\n color=\"blue\">\n {{ optionGroupTag[item.group] }}\n </ap-badge>\n </ap-checkbox>\n <span\n *ngIf=\"!selectableGroup\"\n class=\"group-label\">\n {{ item.group }}\n </span>\n </ng-container>\n </div>\n </ng-template>\n <ng-template\n let-items=\"items\"\n let-item$=\"item$\"\n ng-multi-label-tmp>\n <ng-container>\n <div class=\"multiple-item\">\n <ng-container *ngFor=\"let item of items\">\n <ng-container *ngIf=\"optionLabel && item[optionLabel]\">\n <ng-container *ngIf=\"displayType === 'text' || !displayType\">\n <span class=\"text-item\">\n {{ item[optionLabel] }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"displayType === 'label'\">\n <ap-label\n color=\"blue\"\n removable=\"true\"\n [content]=\"item[optionLabel]\"\n (remove)=\"removeSelectedItem($event, item)\" />\n </ng-container>\n <ng-container *ngIf=\"displayType === 'tag'\">\n <ap-tag\n class=\"text-item\"\n clearable=\"true\"\n (clear)=\"removeSelectedItem($event, item)\">\n <ap-avatar\n *ngIf=\"optionProfileImageUrl && item[optionProfileImageUrl]\"\n size=\"24\"\n [profilePicture]=\"item[optionProfileImageUrl]\" />\n {{ item[optionLabel] }}\n </ap-tag>\n </ng-container>\n <ng-container *ngIf=\"displayType === 'withAvatar'\">\n <div class=\"with-avatar\">\n <ap-avatar\n *ngIf=\"optionProfileImageUrl && item[optionProfileImageUrl]\"\n size=\"24\"\n [profilePicture]=\"item[optionProfileImageUrl]\" />\n <span class=\"text-item\">\n {{ item[optionLabel] }}\n </span>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!optionLabel || !item[optionLabel]\">\n <ng-container *ngIf=\"displayType === 'text' || !displayType\">\n <span class=\"text-item\">\n {{ item }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"displayType === 'label'\">\n <ap-label\n color=\"blue\"\n removable=\"true\"\n [content]=\"item\"\n (remove)=\"removeSelectedItem($event, item)\" />\n </ng-container>\n <ng-container *ngIf=\"displayType === 'tag'\">\n <ap-tag\n class=\"text-item\"\n clearable=\"true\"\n ∂\n (clear)=\"removeSelectedItem($event, item)\">\n {{ item }}\n </ap-tag>\n </ng-container>\n <ng-container *ngIf=\"displayType === 'withAvatar'\">\n <div class=\"with-avatar\">\n <ap-avatar\n *ngIf=\"optionProfileImageUrl && item[optionProfileImageUrl]\"\n size=\"24\"\n [profilePicture]=\"item[optionProfileImageUrl]\" />\n <span class=\"text-item\">\n {{ item }}\n </span>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ng-template>\n <ng-template ng-loadingtext-tmp>\n <div class=\"loading-state\">\n <ap-loader diameter=\"30\" />\n <span>\n {{ loadingText }}\n </span>\n </div>\n </ng-template>\n <ng-template ng-loadingspinner-tmp></ng-template>\n <ng-container *ngIf=\"create\">\n <ng-template ng-footer-tmp>\n <button\n class=\"create-new\"\n (click)=\"onCreateNew()\">\n <ap-symbol\n symbolId=\"add-2022\"\n size=\"micro\" />\n <span>\n {{ createText }}\n </span>\n <ng-container *ngIf=\"searchTermSignal()\">\"{{ searchTermSignal() }}\"</ng-container>\n </button>\n </ng-template>\n </ng-container>\n <ng-template\n let-item=\"item\"\n let-item$=\"item$\"\n ng-option-tmp>\n <ng-container *ngIf=\"(!optionLabel || !item[optionLabel]) && item && (!optionDivider || !item[optionDivider])\">\n <div class=\"option\">{{ item }}</div>\n </ng-container>\n <ng-container *ngIf=\"optionLabel && item[optionLabel]\">\n <div\n class=\"option\"\n [class.with-caption]=\"optionLabel && optionCaption && item[optionCaption]\"\n [class.multiple]=\"multiple\"\n (mouseenter)=\"onHoverItem(item$.htmlId)\"\n (mouseleave)=\"onLeaveItem()\">\n <ng-container *ngTemplateOutlet=\"contentItem; context: { item: item, item$: item$ }\" />\n </div>\n </ng-container>\n <ng-container *ngIf=\"optionDivider && item[optionDivider]\">\n <div class=\"divider\"></div>\n </ng-container>\n </ng-template>\n <ng-template\n let-item=\"item\"\n ng-label-tmp>\n <ng-container *ngIf=\"!optionLabel\">\n <ng-container *ngIf=\"displayType === 'text' || !displayType\">\n <span class=\"text-item\">\n {{ item }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"displayType === 'label'\">\n <ap-label\n color=\"blue\"\n removable=\"true\"\n [content]=\"item\"\n (remove)=\"removeSelectedItem($event, item)\" />\n </ng-container>\n <ng-container *ngIf=\"displayType === 'tag'\">\n <ap-tag\n class=\"text-item\"\n clearable=\"true\"\n (clear)=\"removeSelectedItem($event, item)\">\n {{ item }}\n </ap-tag>\n </ng-container>\n <ng-container *ngIf=\"displayType === 'withAvatar'\">\n <span class=\"text-item\">\n {{ item }}\n </span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"optionLabel\">\n <ng-container *ngIf=\"displayType === 'text' || !displayType\">\n <span class=\"text-item\">\n {{ item[optionLabel] }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"displayType === 'label'\">\n <ap-label\n color=\"blue\"\n removable=\"true\"\n [content]=\"item[optionLabel]\"\n (remove)=\"removeSelectedItem($event, item)\" />\n </ng-container>\n <ng-container *ngIf=\"displayType === 'tag'\">\n <ap-tag\n class=\"text-item\"\n clearable=\"true\"\n (clear)=\"removeSelectedItem($event, item)\">\n <ap-avatar\n *ngIf=\"optionProfileImageUrl && item[optionProfileImageUrl]\"\n size=\"24\"\n [profilePicture]=\"item[optionProfileImageUrl]\" />\n {{ item[optionLabel] }}\n </ap-tag>\n </ng-container>\n <ng-container *ngIf=\"displayType === 'withAvatar'\">\n <div class=\"with-avatar\">\n <ap-avatar\n *ngIf=\"optionProfileImageUrl && item[optionProfileImageUrl]\"\n size=\"24\"\n [profilePicture]=\"item[optionProfileImageUrl]\" />\n <span class=\"text-item\">\n {{ item[optionLabel] }}\n </span>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n <ng-template ng-notfound-tmp>\n <div class=\"option not-found\">\n {{ notFoundText }}\n </div>\n </ng-template>\n</ng-select>\n\n<ng-template\n #contentItem\n let-item=\"item\"\n let-item$=\"item$\">\n <ng-container *ngIf=\"multiple\">\n <div class=\"disabled-opaque\"></div>\n <ap-checkbox\n *ngIf=\"multiple\"\n [checked]=\"item$.selected\"\n [disabled]=\"item$.disabled\"\n [name]=\"'option-selection-' + item$.htmlId\">\n <ng-container *ngTemplateOutlet=\"textItem; context: { item: item, item$: item$ }\" />\n </ap-checkbox>\n </ng-container>\n <ng-container *ngIf=\"!multiple\">\n <div class=\"disabled-opaque\"></div>\n <ng-container *ngTemplateOutlet=\"textItem; context: { item: item, item$: item$ }\" />\n </ng-container>\n</ng-template>\n\n<ng-template\n #textItem\n let-item=\"item\"\n let-item$=\"item$\">\n <div class=\"content\">\n <ng-container *ngIf=\"!optionLabel\">\n <span class=\"item\">\n {{ item }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"optionProfileImageUrl && item[optionProfileImageUrl]\">\n <ap-avatar\n size=\"24\"\n [profilePicture]=\"item[optionProfileImageUrl]\" />\n </ng-container>\n <ng-container *ngIf=\"optionLabel && item[optionLabel]\">\n <div class=\"texts\">\n <div class=\"first-line\">\n <span class=\"label\">{{ item[optionLabel] }}</span>\n <ng-container *ngIf=\"optionBadgeLabel && item[optionBadgeLabel]\">\n <ap-badge color=\"blue\">{{ item[optionBadgeLabel] }}</ap-badge>\n </ng-container>\n </div>\n <ng-container *ngIf=\"optionCaption && item[optionCaption]\">\n <span class=\"caption\">\n {{ item[optionCaption] }}\n </span>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"only && !item$.disabled && itemHoveredSignal() === item$.htmlId && multiple\">\n <button\n class=\"standalone-link\"\n type=\"button\"\n (click)=\"onSelectOnly(item)\">\n {{ onlyText }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"item$.selected && !multiple\">\n <ap-symbol\n symbolId=\"check-2\"\n size=\"micro\" />\n </ng-container>\n </div>\n</ng-template>\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-select.mjs","sources":["../../../libs/ui-components/select/src/select.component.ts","../../../libs/ui-components/select/src/select.component.html","../../../libs/ui-components/select/src/agorapulse-ui-components-select.ts"],"sourcesContent":["import { LoaderComponent } from '@agorapulse/ui-animations';\nimport { AvatarComponent } from '@agorapulse/ui-components/avatar';\nimport { BadgeComponent } from '@agorapulse/ui-components/badge';\nimport { CheckboxComponent } from '@agorapulse/ui-components/checkbox';\nimport { InputComponent } from '@agorapulse/ui-components/input';\nimport { LabelComponent } from '@agorapulse/ui-components/labels';\nimport { TagComponent } from '@agorapulse/ui-components/tag';\nimport { SymbolComponent, SymbolRegistry, apAdd2022, apCheck2, apDeleteNoCircle, apSearchAlternate } from '@agorapulse/ui-symbol';\nimport { AsyncPipe, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n Provider,\n ViewChild,\n ViewEncapsulation,\n computed,\n forwardRef,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { NgOption, NgSelectComponent, NgSelectModule } from '@ng-select/ng-select';\nimport { Observable, debounceTime, of, skip, switchMap, tap } from 'rxjs';\n\nexport type DisplayType = 'text' | 'label' | 'tag' | 'withAvatar';\n\nexport const SELECT_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectComponent),\n multi: true,\n};\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-select',\n styleUrls: ['./select.component.scss'],\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n ReactiveFormsModule,\n FormsModule,\n NgSelectModule,\n InputComponent,\n SymbolComponent,\n AsyncPipe,\n CheckboxComponent,\n AvatarComponent,\n NgTemplateOutlet,\n LabelComponent,\n TagComponent,\n BadgeComponent,\n LoaderComponent,\n ],\n providers: [SELECT_VALUE_ACCESSOR],\n templateUrl: './select.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class SelectComponent<T extends Record<string, unknown> | string> implements OnInit, AfterViewInit, ControlValueAccessor {\n private symbolRegistry: SymbolRegistry = inject(SymbolRegistry);\n private destroyRef: DestroyRef = inject(DestroyRef);\n private elementRef: ElementRef = inject(ElementRef);\n\n @ViewChild('searchInput') searchInput!: InputComponent;\n @ViewChild('inlineLabel') inlineLabelElement!: ElementRef<HTMLDivElement>;\n @ViewChild('select') select!: NgSelectComponent;\n\n @HostBinding('class.hovered') hovered: boolean = false;\n\n optionsSignal = signal<T[]>([]);\n @Input({ required: true }) set options(options: T[]) {\n this.optionsSignal.set(options);\n this.filteredOptionsSignal.set(options);\n }\n\n @Input() ariaLabel!: string;\n @Input() ariaLabelledBy!: string;\n @Input() ariaDescribedBy!: string;\n @Input() appendTo: string = 'body';\n @Input() clearable: boolean = false;\n @Input() description?: string;\n @Input() disabled: boolean = false;\n @Input() selectId?: string;\n\n private _inline: boolean = false;\n @HostBinding('class.inline')\n @Input()\n set inlineLabel(inlineLabel: boolean) {\n this._inline = inlineLabel;\n if (!this.inlineLabelElement) {\n return;\n }\n this.elementRef.nativeElement.style.setProperty(\n '--placeholder-padding-left',\n `${this.inlineLabelElement.nativeElement.clientWidth}px`\n );\n }\n\n get inlineLabel(): boolean {\n return this._inline;\n }\n\n @Input() create: boolean = false;\n @Input() createText: string = 'Create';\n @Input() group: boolean = false;\n @Input() selectableGroup: boolean = true;\n @Input() label: string = '';\n @Input() multiple: boolean = false;\n @Input() only: boolean = false;\n @Input() onlyText: string = 'Only';\n @Input() placeholder: string = 'Select...';\n @Input() selectAll: boolean = false;\n @Input() selectAllText: string = 'Select all';\n @Input() unselectAllText: string = 'Unselect all';\n @Input() searchable: boolean = false;\n @Input() searchPlaceholder: string = 'Search...';\n @Input() searchFn: (term: string) => Observable<T[]> = this.defaultSearchFn;\n @Input() notFoundText: string = 'No results found';\n @Input() loadingText: string = 'Loading items';\n @Input() displayType: DisplayType = 'text';\n\n @Input() optionLabel?: string;\n @Input() optionCaption?: string;\n @Input() optionDivider?: string = 'divider';\n @Input() optionProfileImageUrl: string = 'profileImageUrl';\n @Input() optionBadgeLabel?: string;\n @Input() optionValue: string = 'id';\n @Input() optionDisabled: string = 'disabled';\n @Input() optionGroupLabel: string = 'group';\n @Input() optionGroupTag?: Record<string, string>;\n\n @Output() createNew: EventEmitter<string> = new EventEmitter();\n\n private _controlValueAccessorChangeFn!: (value: unknown[]) => void;\n onTouched!: () => void;\n\n enabledOptions = computed<T[]>(() => {\n return this.optionsSignal().filter((value: T) => {\n if (typeof value === 'string') {\n return value;\n } else {\n return this.optionDisabled && !value[this.optionDisabled];\n }\n });\n });\n\n itemHoveredSignal = signal<string | null>(null);\n filteredOptionsSignal = signal<T[]>([]);\n loadingSignal = signal<boolean>(false);\n selectedValuesSignal = signal<unknown[]>([]);\n searchTermSignal = signal<string>('');\n searchTerm$ = toObservable(this.searchTermSignal);\n\n allSelectedSignal = computed<boolean>(() => {\n return this.selectedValuesSignal().length === this.enabledOptions().length;\n });\n partialySelectedSignal = computed<boolean>(() => {\n return this.selectedValuesSignal().length > 0 && this.selectedValuesSignal().length < this.enabledOptions().length;\n });\n\n constructor() {\n this.symbolRegistry.registerSymbols([apCheck2, apSearchAlternate, apAdd2022, apDeleteNoCircle]);\n }\n\n writeValue(selectedValues: unknown[] = []): void {\n this.selectedValuesSignal.set(selectedValues);\n }\n\n registerOnChange(fn: (value: unknown[]) => void): void {\n this._controlValueAccessorChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n ngOnInit(): void {\n this.searchTerm$\n .pipe(\n debounceTime(250),\n skip(1),\n tap(() => {\n this.loadingSignal.set(true);\n this.optionsSignal.set([]);\n }),\n switchMap((term: string) => this.searchFn(term)),\n tap(() => {\n this.loadingSignal.set(false);\n }),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe((options: T[]) => {\n this.optionsSignal.set(options);\n });\n }\n\n ngAfterViewInit(): void {\n if (!this.inlineLabelElement) {\n return;\n }\n this.elementRef.nativeElement.style.setProperty(\n '--placeholder-padding-left',\n `${this.inlineLabelElement.nativeElement.clientWidth}px`\n );\n }\n\n onSearchTermChange(searchTerm: string): void {\n this.searchTermSignal.set(searchTerm);\n }\n\n private defaultSearchFn(term: string): Observable<T[]> {\n return of(\n this.filteredOptionsSignal().filter((option: T) => {\n if (typeof option === 'string') {\n return option.toLowerCase().includes(term.toLowerCase());\n }\n if (this.optionLabel) {\n return String(option[this.optionLabel]).toLowerCase().includes(term.toLowerCase());\n }\n return option;\n })\n );\n }\n\n isGroupIndeterminate(children: NgOption[]) {\n return children.some((child: NgOption) => child.selected) && !this.isGroupChecked(children);\n }\n\n isGroupDisabled(children: NgOption[]): boolean {\n return children.every((child: NgOption) => child.disabled);\n }\n\n isGroupChecked(children: NgOption[]): boolean {\n return children.every((child: NgOption) => child.disabled || child.selected) && !this.isGroupDisabled(children);\n }\n\n onSelectOnly(item: T): void {\n if (typeof item === 'string') {\n this.selectedValuesSignal.set([item]);\n } else {\n this.selectedValuesSignal.set([item[this.optionValue]]);\n }\n }\n\n onSelectOpened(): void {\n setTimeout(() => {\n if (this.onTouched) {\n this.onTouched();\n }\n if (this.searchable && !!this.searchFn) {\n this.searchInput.focusInput();\n }\n });\n }\n\n onHoverItem(htmlid: string): void {\n if (!this.multiple || this.disabled) {\n return;\n }\n this.itemHoveredSignal.set(htmlid);\n }\n\n onLeaveItem(): void {\n if (!this.multiple || this.disabled) {\n return;\n }\n this.itemHoveredSignal.set(null);\n }\n\n onToggleAll(): void {\n if (this.partialySelectedSignal() || this.partialySelectedSignal()) {\n this.selectedValuesSignal.set([]);\n } else {\n this.selectedValuesSignal.set(\n this.enabledOptions().map((value: T) => {\n if (typeof value === 'string') {\n return value;\n }\n return this.optionValue && value[this.optionValue];\n })\n );\n }\n }\n\n onSelectedValuesChange(selectedValues: unknown[]): void {\n this.selectedValuesSignal.set(selectedValues);\n if (this._controlValueAccessorChangeFn) {\n this._controlValueAccessorChangeFn(selectedValues);\n }\n }\n\n onOpenSelect(): void {\n this.select.open();\n }\n\n onInlineInputEnter(): void {\n this.hovered = true;\n }\n\n onInlineInputLeave(): void {\n this.hovered = false;\n }\n\n onCreateNew(): void {\n this.createNew.emit(this.searchTermSignal());\n this.select.close();\n }\n\n removeSelectedItem({ $event }: { $event: PointerEvent | MouseEvent }, item: T): void {\n if ($event) {\n $event.stopImmediatePropagation();\n }\n const selectedItemId = typeof item === 'string' ? item : item[this.optionValue];\n this.selectedValuesSignal.update((selectedValues: unknown[]) =>\n selectedValues.filter((selectedValue: unknown) => selectedValue !== selectedItemId)\n );\n }\n}\n","<label\n *ngIf=\"label && !inlineLabel\"\n [for]=\"selectId\">\n <span>\n {{ label }}\n </span>\n <span\n *ngIf=\"description\"\n class=\"description\">\n {{ description }}\n </span>\n</label>\n\n<div\n *ngIf=\"inlineLabel\"\n #inlineLabel\n tabindex=\"0\"\n class=\"inline-label\"\n (click)=\"onOpenSelect()\"\n (keydown.enter)=\"onOpenSelect()\"\n (mouseenter)=\"onInlineInputEnter()\"\n (mouseleave)=\"onInlineInputLeave()\">\n <label\n *ngIf=\"label && inlineLabel\"\n class=\"label\"\n [for]=\"selectId\">\n <span>\n {{ label }}\n </span>\n </label>\n <div class=\"divider\"></div>\n</div>\n\n<ng-select\n #select\n class=\"ap-select\"\n [tabIndex]=\"0\"\n [clearable]=\"clearable\"\n [placeholder]=\"placeholder\"\n [labelForId]=\"selectId\"\n [searchable]=\"false\"\n [closeOnSelect]=\"multiple ? false : true\"\n [bindValue]=\"optionValue ? optionValue : 'label'\"\n [groupBy]=\"group ? optionGroupLabel : ''\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [markFirst]=\"false\"\n [selectableGroup]=\"selectableGroup\"\n [selectableGroupAsModel]=\"false\"\n [appendTo]=\"appendTo\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledBy || null\"\n [attr.aria-describedby]=\"ariaDescribedBy || null\"\n [attr.aria-disabled]=\"disabled?.toString()\"\n [items]=\"optionsSignal()\"\n [loading]=\"loadingSignal()\"\n [ngModel]=\"selectedValuesSignal()\"\n (ngModelChange)=\"onSelectedValuesChange($event)\"\n (open)=\"onSelectOpened()\">\n <ng-container *ngIf=\"searchable || selectAll\">\n <ng-template\n let-item=\"item\"\n ng-header-tmp>\n <ng-container *ngIf=\"searchable\">\n <ap-input\n #searchInput\n tabindex=\"0\"\n name=\"search-input\"\n class=\"full-width\"\n symbolPosition=\"right\"\n [placeholder]=\"searchPlaceholder\"\n [ngModel]=\"searchTermSignal()\"\n (ngModelChange)=\"onSearchTermChange($event)\">\n <ap-symbol symbolId=\"search-alternate\" />\n </ap-input>\n </ng-container>\n <ng-container *ngIf=\"selectAll\">\n <ap-checkbox\n class=\"select-all-checkbox\"\n name=\"option-group-select-all\"\n [indeterminate]=\"partialySelectedSignal()\"\n [checked]=\"allSelectedSignal()\"\n (click)=\"onToggleAll()\">\n <span>\n {{ partialySelectedSignal() || allSelectedSignal() ? unselectAllText : selectAllText }}\n </span>\n </ap-checkbox>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-template\n let-item=\"item\"\n let-item$=\"item$\"\n ng-optgroup-tmp>\n <div\n class=\"group\"\n [class.with-search]=\"searchable\"\n [class.with-select-all]=\"selectAll\">\n <ng-container *ngIf=\"!multiple\">\n <span class=\"group-label\">\n {{ item.group }}\n </span>\n <ap-badge\n *ngIf=\"optionGroupTag && optionGroupTag[item.group]\"\n color=\"blue\">\n {{ optionGroupTag[item.group] }}\n </ap-badge>\n </ng-container>\n <ng-container *ngIf=\"multiple\">\n <ap-checkbox\n *ngIf=\"selectableGroup\"\n [name]=\"'option-group-selection-' + item.group\"\n [indeterminate]=\"isGroupIndeterminate(item$.children)\"\n [checked]=\"isGroupChecked(item$.children)\">\n <span class=\"group-label\">\n {{ item.group }}\n </span>\n <ap-badge\n *ngIf=\"optionGroupTag && optionGroupTag[item.group]\"\n color=\"blue\">\n {{ optionGroupTag[item.group] }}\n </ap-badge>\n </ap-checkbox>\n <span\n *ngIf=\"!selectableGroup\"\n class=\"group-label\">\n {{ item.group }}\n </span>\n </ng-container>\n </div>\n </ng-template>\n <ng-template\n let-items=\"items\"\n let-item$=\"item$\"\n ng-multi-label-tmp>\n <ng-container>\n <div class=\"multiple-item\">\n <ng-container *ngFor=\"let item of items\">\n <ng-container *ngIf=\"optionLabel && item[optionLabel]\">\n <ng-container *ngIf=\"displayType === 'text' || !displayType\">\n <span\n class=\"text-item\"\n [title]=\"item[optionLabel]\">\n {{ item[optionLabel] }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"displayType === 'label'\">\n <ap-label\n color=\"blue\"\n removable=\"true\"\n [content]=\"item[optionLabel]\"\n (remove)=\"removeSelectedItem($event, item)\" />\n </ng-container>\n <ng-container *ngIf=\"displayType === 'tag'\">\n <ap-tag\n class=\"text-item\"\n clearable=\"true\"\n (clear)=\"removeSelectedItem($event, item)\">\n <ap-avatar\n *ngIf=\"optionProfileImageUrl && item[optionProfileImageUrl]\"\n size=\"24\"\n [profilePicture]=\"item[optionProfileImageUrl]\" />\n {{ item[optionLabel] }}\n </ap-tag>\n </ng-container>\n <ng-container *ngIf=\"displayType === 'withAvatar'\">\n <div class=\"with-avatar\">\n <ap-avatar\n *ngIf=\"optionProfileImageUrl && item[optionProfileImageUrl]\"\n size=\"24\"\n [profilePicture]=\"item[optionProfileImageUrl]\" />\n <span\n class=\"text-item\"\n [title]=\"item[optionLabel]\">\n {{ item[optionLabel] }}\n </span>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!optionLabel || !item[optionLabel]\">\n <ng-container *ngIf=\"displayType === 'text' || !displayType\">\n <span\n class=\"text-item\"\n [title]=\"item\">\n {{ item }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"displayType === 'label'\">\n <ap-label\n color=\"blue\"\n [removable]=\"multiple\"\n [content]=\"item\"\n (remove)=\"removeSelectedItem($event, item)\" />\n </ng-container>\n <ng-container *ngIf=\"displayType === 'tag'\">\n <ap-tag\n class=\"text-item\"\n [clearable]=\"multiple\"\n (clear)=\"removeSelectedItem($event, item)\">\n {{ item }}\n </ap-tag>\n </ng-container>\n <ng-container *ngIf=\"displayType === 'withAvatar'\">\n <div class=\"with-avatar\">\n <ap-avatar\n *ngIf=\"optionProfileImageUrl && item[optionProfileImageUrl]\"\n size=\"24\"\n [profilePicture]=\"item[optionProfileImageUrl]\" />\n <span class=\"text-item\">\n {{ item }}\n </span>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ng-template>\n <ng-template ng-loadingtext-tmp>\n <div class=\"loading-state\">\n <ap-loader diameter=\"30\" />\n <span>\n {{ loadingText }}\n </span>\n </div>\n </ng-template>\n <ng-template ng-loadingspinner-tmp></ng-template>\n <ng-container *ngIf=\"create\">\n <ng-template ng-footer-tmp>\n <button\n class=\"create-new\"\n type=\"button\"\n (click)=\"onCreateNew()\">\n <ap-symbol\n symbolId=\"add-2022\"\n size=\"micro\" />\n <span>\n {{ createText }}\n </span>\n <ng-container *ngIf=\"searchTermSignal()\">\"{{ searchTermSignal() }}\"</ng-container>\n </button>\n </ng-template>\n </ng-container>\n <ng-template\n let-item=\"item\"\n let-item$=\"item$\"\n ng-option-tmp>\n <ng-container *ngIf=\"(!optionLabel || !item[optionLabel]) && item && (!optionDivider || !item[optionDivider])\">\n <div class=\"option\">\n <span\n class=\"option-item\"\n [title]=\"item\">\n {{ item }}\n </span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"optionLabel && item[optionLabel]\">\n <div\n class=\"option\"\n [class.with-caption]=\"optionLabel && optionCaption && item[optionCaption]\"\n [class.multiple]=\"multiple\"\n (mouseenter)=\"onHoverItem(item$.htmlId)\"\n (mouseleave)=\"onLeaveItem()\">\n <ng-container *ngTemplateOutlet=\"contentItem; context: { item: item, item$: item$ }\" />\n </div>\n </ng-container>\n <ng-container *ngIf=\"optionDivider && item[optionDivider]\">\n <div class=\"divider\"></div>\n </ng-container>\n </ng-template>\n <ng-template\n let-item=\"item\"\n ng-label-tmp>\n <ng-container *ngIf=\"!optionLabel\">\n <ng-container *ngIf=\"displayType === 'text' || !displayType\">\n <span\n class=\"text-item\"\n [title]=\"item\">\n {{ item }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"displayType === 'label'\">\n <ap-label\n color=\"blue\"\n [removable]=\"multiple\"\n [content]=\"item\"\n (remove)=\"removeSelectedItem($event, item)\" />\n </ng-container>\n <ng-container *ngIf=\"displayType === 'tag'\">\n <ap-tag\n class=\"text-item\"\n [clearable]=\"multiple\"\n (clear)=\"removeSelectedItem($event, item)\">\n {{ item }}\n </ap-tag>\n </ng-container>\n <ng-container *ngIf=\"displayType === 'withAvatar'\">\n <span class=\"text-item\">\n {{ item }}\n </span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"optionLabel\">\n <ng-container *ngIf=\"displayType === 'text' || !displayType\">\n <span class=\"text-item\">\n {{ item[optionLabel] }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"displayType === 'label'\">\n <ap-label\n color=\"blue\"\n [removable]=\"multiple\"\n [content]=\"item[optionLabel]\"\n (remove)=\"removeSelectedItem($event, item)\" />\n </ng-container>\n <ng-container *ngIf=\"displayType === 'tag'\">\n <ap-tag\n class=\"text-item\"\n [clearable]=\"multiple\"\n [title]=\"item[optionLabel]\"\n (clear)=\"removeSelectedItem($event, item)\">\n <ap-avatar\n *ngIf=\"optionProfileImageUrl && item[optionProfileImageUrl]\"\n size=\"24\"\n [profilePicture]=\"item[optionProfileImageUrl]\" />\n {{ item[optionLabel] }}\n </ap-tag>\n </ng-container>\n <ng-container *ngIf=\"displayType === 'withAvatar'\">\n <div class=\"with-avatar\">\n <ap-avatar\n *ngIf=\"optionProfileImageUrl && item[optionProfileImageUrl]\"\n size=\"24\"\n [profilePicture]=\"item[optionProfileImageUrl]\" />\n <span class=\"text-item\" [title]=\"item[optionLabel]\">\n {{ item[optionLabel] }}\n </span>\n </div>\n </ng-container>\n </ng-container>\n </ng-template>\n <ng-template ng-notfound-tmp>\n <div class=\"option not-found\">\n {{ notFoundText }}\n </div>\n </ng-template>\n</ng-select>\n\n<ng-template\n #contentItem\n let-item=\"item\"\n let-item$=\"item$\">\n <ng-container *ngIf=\"multiple\">\n <div class=\"disabled-opaque\"></div>\n <ap-checkbox\n *ngIf=\"multiple\"\n [checked]=\"item$.selected\"\n [disabled]=\"item$.disabled\"\n [name]=\"'option-selection-' + item$.htmlId\">\n <ng-container *ngTemplateOutlet=\"textItem; context: { item: item, item$: item$ }\" />\n </ap-checkbox>\n </ng-container>\n <ng-container *ngIf=\"!multiple\">\n <div class=\"disabled-opaque\"></div>\n <ng-container *ngTemplateOutlet=\"textItem; context: { item: item, item$: item$ }\" />\n </ng-container>\n</ng-template>\n\n<ng-template\n #textItem\n let-item=\"item\"\n let-item$=\"item$\">\n <div class=\"content\">\n <ng-container *ngIf=\"!optionLabel\">\n <span class=\"item\">\n {{ item }}\n </span>\n </ng-container>\n <ng-container *ngIf=\"optionProfileImageUrl && item[optionProfileImageUrl]\">\n <ap-avatar\n size=\"24\"\n [profilePicture]=\"item[optionProfileImageUrl]\" />\n </ng-container>\n <ng-container *ngIf=\"optionLabel && item[optionLabel]\">\n <div class=\"texts\">\n <div class=\"first-line\">\n <span\n class=\"label\"\n [title]=\"item[optionLabel]\">\n {{ item[optionLabel] }}\n </span>\n <ng-container *ngIf=\"optionBadgeLabel && item[optionBadgeLabel]\">\n <ap-badge color=\"blue\">{{ item[optionBadgeLabel] }}</ap-badge>\n </ng-container>\n </div>\n <ng-container *ngIf=\"optionCaption && item[optionCaption]\">\n <span\n class=\"caption\"\n [title]=\"item[optionCaption]\">\n {{ item[optionCaption] }}\n </span>\n </ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"only && !item$.disabled && itemHoveredSignal() === item$.htmlId && multiple\">\n <button\n class=\"standalone-link\"\n type=\"button\"\n (click)=\"onSelectOnly(item)\">\n {{ onlyText }}\n </button>\n </ng-container>\n <ng-container *ngIf=\"item$.selected && !multiple\">\n <ap-symbol\n symbolId=\"check-2\"\n size=\"micro\" />\n </ng-container>\n </div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"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": "16.2.1",
4
+ "version": "16.2.3",
5
5
  "author": "Benoit Hediard",
6
6
  "repository": {
7
7
  "type": "git",
@@ -85,6 +85,12 @@
85
85
  "esm": "./esm2022/datepicker/agorapulse-ui-components-datepicker.mjs",
86
86
  "default": "./fesm2022/agorapulse-ui-components-datepicker.mjs"
87
87
  },
88
+ "./directives": {
89
+ "types": "./directives/index.d.ts",
90
+ "esm2022": "./esm2022/directives/agorapulse-ui-components-directives.mjs",
91
+ "esm": "./esm2022/directives/agorapulse-ui-components-directives.mjs",
92
+ "default": "./fesm2022/agorapulse-ui-components-directives.mjs"
93
+ },
88
94
  "./dots-stepper": {
89
95
  "types": "./dots-stepper/index.d.ts",
90
96
  "esm2022": "./esm2022/dots-stepper/agorapulse-ui-components-dots-stepper.mjs",
@@ -115,12 +121,6 @@
115
121
  "esm": "./esm2022/labels/agorapulse-ui-components-labels.mjs",
116
122
  "default": "./fesm2022/agorapulse-ui-components-labels.mjs"
117
123
  },
118
- "./directives": {
119
- "types": "./directives/index.d.ts",
120
- "esm2022": "./esm2022/directives/agorapulse-ui-components-directives.mjs",
121
- "esm": "./esm2022/directives/agorapulse-ui-components-directives.mjs",
122
- "default": "./fesm2022/agorapulse-ui-components-directives.mjs"
123
- },
124
124
  "./labels-selector": {
125
125
  "types": "./labels-selector/index.d.ts",
126
126
  "esm2022": "./esm2022/labels-selector/agorapulse-ui-components-labels-selector.mjs",
@@ -1,5 +1,5 @@
1
1
  import { InputComponent } from '@agorapulse/ui-components/input';
2
- import { AfterViewInit, ElementRef, EventEmitter, OnInit, Provider, Signal, WritableSignal } from '@angular/core';
2
+ import { AfterViewInit, ElementRef, EventEmitter, OnInit, Provider } from '@angular/core';
3
3
  import { ControlValueAccessor } from '@angular/forms';
4
4
  import { NgOption, NgSelectComponent } from '@ng-select/ng-select';
5
5
  import { Observable } from 'rxjs';
@@ -14,7 +14,7 @@ export declare class SelectComponent<T extends Record<string, unknown> | string>
14
14
  inlineLabelElement: ElementRef<HTMLDivElement>;
15
15
  select: NgSelectComponent;
16
16
  hovered: boolean;
17
- optionsSignal: WritableSignal<T[]>;
17
+ optionsSignal: import("@angular/core").WritableSignal<T[]>;
18
18
  set options(options: T[]);
19
19
  ariaLabel: string;
20
20
  ariaLabelledBy: string;
@@ -57,15 +57,15 @@ export declare class SelectComponent<T extends Record<string, unknown> | string>
57
57
  createNew: EventEmitter<string>;
58
58
  private _controlValueAccessorChangeFn;
59
59
  onTouched: () => void;
60
- enabledOptions: Signal<T[]>;
61
- itemHoveredSignal: WritableSignal<string | null>;
62
- filteredOptionsSignal: WritableSignal<T[]>;
63
- loadingSignal: WritableSignal<boolean>;
64
- selectedValuesSignal: WritableSignal<unknown[]>;
65
- searchTermSignal: WritableSignal<string>;
60
+ enabledOptions: import("@angular/core").Signal<T[]>;
61
+ itemHoveredSignal: import("@angular/core").WritableSignal<string | null>;
62
+ filteredOptionsSignal: import("@angular/core").WritableSignal<T[]>;
63
+ loadingSignal: import("@angular/core").WritableSignal<boolean>;
64
+ selectedValuesSignal: import("@angular/core").WritableSignal<unknown[]>;
65
+ searchTermSignal: import("@angular/core").WritableSignal<string>;
66
66
  searchTerm$: Observable<string>;
67
- allSelectedSignal: Signal<boolean>;
68
- partialySelectedSignal: Signal<boolean>;
67
+ allSelectedSignal: import("@angular/core").Signal<boolean>;
68
+ partialySelectedSignal: import("@angular/core").Signal<boolean>;
69
69
  constructor();
70
70
  writeValue(selectedValues?: unknown[]): void;
71
71
  registerOnChange(fn: (value: unknown[]) => void): void;
@@ -11,7 +11,7 @@ export declare class SnackbarsThreadComponent {
11
11
  3: string;
12
12
  };
13
13
  SnackbarIconsMap: {
14
- [k: number]: "attachment" | "add" | "view" | "variable" | "close" | "small-caps" | "calendar" | "add-2022" | "add-circle" | "add-circle-bold-alternate" | "add-square-alternate" | "agorapulse-official" | "agorapulse-square-logo" | "ai-magic-wand" | "alarm-bell-1" | "alarm-clock-1-alternate" | "alert-circle" | "alert-triangle" | "ambassador" | "analytics-bars" | "analytics-board-bars" | "analytics-board-graph-line" | "app-window-expand" | "app-window-search-text" | "app-window-link" | "app-window-next" | "arrow-button-down" | "arrow-button-down-2" | "arrow-button-left" | "arrow-button-right" | "arrow-button-up" | "arrow-button-up-2" | "arrow-circle-right" | "arrow-corner-right" | "arrow-down-1" | "arrow-left-1" | "arrow-right" | "arrow-right-1" | "arrow-right-long" | "arrow-thick-circle-bottom-right-corner-2" | "arrow-thick-circle-right-2" | "arrow-thick-circle-top-right-corner-2" | "arrow-thick-down-2" | "arrow-thick-left-2" | "arrow-thick-right-2" | "arrow-thick-up-2" | "arrow-up-1" | "artboard-image-1" | "bag-shop" | "bin" | "bin-1" | "bin-2" | "bitly" | "button-play" | "button-shuffle" | "button-stop-1" | "button-refresh-arrow" | "button-refresh-arrows" | "bookmarks-1" | "bookmarks-1-alternate" | "bookmarks-document" | "calendar-2022" | "calendar-3" | "calendar-add-1" | "calendar-setting" | "canva" | "certified-certificate" | "chat-translate" | "check-1" | "check-2" | "check-circle" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "check-circle-alternate" | "cog" | "cog-1" | "common-file-double" | "common-file-text-alternate" | "common-file-stack-alternate" | "common-file-upload" | "competitors" | "computer-bug" | "content-pencil-write" | "controls-pause" | "controls-play" | "controls-play-3" | "conversation-chat-1" | "conversation-chat-1-alternate" | "copy-paste" | "country-targeting" | "country-targeting-active" | "credit-card-1-alternate" | "crown" | "cursor-double-click-3" | "custom-facebook-comment" | "custom-facebook-like" | "custom-facebook-share" | "custom-facebook-reel-comment" | "custom-facebook-reel-like" | "custom-facebook-reel-share" | "custom-tiktok-like" | "custom-tiktok-comment" | "custom-tiktok-share" | "custom-tiktok-melody" | "custom-twitter-comment" | "custom-twitter-like" | "custom-twitter-retweet" | "custom-twitter-retweet-full" | "custom-twitter-share" | "custom-inbox-post" | "custom-instagram-bookmark" | "custom-instagram-carousel" | "custom-instagram-comment" | "custom-instagram-like" | "custom-instagram-play" | "custom-instagram-reels" | "custom-instagram-share" | "custom-instagram-tags" | "custom-linkedin-comment" | "custom-linkedin-like" | "custom-linkedin-share" | "custom-pinterest-link" | "custom-pinterest-lock" | "custom-pinterest-more" | "custom-pinterest-share" | "data-file-bars-add" | "data-transfer-vertical" | "data-transfer-vertical-bi-color-down" | "data-transfer-vertical-bi-color-up" | "data-transfer-square-horizontal" | "design-file-text-alternate" | "delete" | "delete-2-alternate" | "delete-no-circle" | "desktop-computer-pc-1" | "dislike" | "dislike-alternate" | "dislike-1" | "download-bottom" | "drawer-download" | "drawer-open" | "earth-heart" | "earth-search" | "email-action-add" | "email-action-reply" | "email-action-reply-alternate" | "email-action-subtract" | "email-action-sync-1" | "envelope" | "envelope-letter" | "excel" | "expand" | "expand-1" | "external-link" | "facebook" | "famous-people-man-steve-jobs" | "fans-2022" | "faq-2022" | "fast-food-burger-drink" | "feature-icon-market" | "flag-plain-2" | "file-csv-1" | "filter-1" | "filter-2" | "flag-plain" | "flip-right" | "folder-add-alternate" | "folder-alternate" | "folder-empty" | "folder-media-alternate" | "folder-search-alternate" | "gauge-dashboard-alternate" | "gift-box" | "google-analytics" | "google-my-business-icon" | "google-icon" | "group-of-posts" | "hash" | "hashtag" | "headphones-customer-support-human" | "headphones-customer-support-human-1" | "help-wheel" | "hourglass-alternate" | "house-chimney-1" | "human-resources-search-men" | "hyperlink-3" | "icon-gif" | "icon-gif-search" | "icon-product-error" | "ig-grid" | "ig-story" | "ig-reel" | "image-file-bmp" | "image-file-jpg" | "image-file-gif" | "image-file-landscape" | "image-file-landscape-2" | "image-file-png" | "inbox-2022" | "information" | "information-circle" | "instagram" | "instagram-outline" | "instagram-user" | "iris-scan-approved" | "keyboard-3" | "keyboard-arrow-bottom-right" | "keyboard-arrow-right" | "keyboard-arrow-top-right" | "keyword" | "language-targeting" | "language-targeting-active" | "layers-hide" | "layers-show" | "layout-3" | "layout-module" | "layout-module-1" | "layout-agenda" | "layout-bullets" | "layout-top-1" | "library-2022" | "light-bulb" | "like" | "like-alternate" | "like-1" | "linkedin" | "list-bullets" | "listening-2022" | "lock-password" | "logout-1-alternate" | "logout-2" | "love-it" | "love-it-alternate" | "love-it-alternate-bold" | "love-it-circle" | "maximize" | "meetings-camera" | "megaphone" | "mention" | "messages-bubble" | "messages-bubble-alternate" | "messages-bubble-dot" | "messages-bubble-empty-alternate" | "messages-bubble-forward" | "messages-bubble-graph" | "messages-bubble-question-alternate" | "messages-bubble-square-menu-alternate" | "messages-bubble-square-text" | "microsoft-icon" | "minimize" | "mobile-phone" | "module-three-1" | "money-wallet-open" | "move-to-bottom" | "multiple-man-1" | "multiple-users-1" | "natural-disaster-hurricane-radar-1" | "navigation-menu-horizontal" | "navigation-menu-horizontal-1-alternate" | "navigation-menu-vertical" | "network-search" | "notes-add" | "notes-text-flip-3" | "notes-book-text" | "notes-paper" | "notes-paper-approve" | "notes-paper-text-2" | "notif-2022" | "office-outdoors" | "open-new-tab" | "open-quote" | "organization" | "original-sound" | "paginate-filter-picture" | "paginate-filter-plus" | "payment-paypal" | "pencil-1" | "pencil-2" | "pencil-write-2-alternate" | "people-man-graduate" | "performance-increase" | "phone-ring-1" | "picture-landscape" | "picture-polaroid-landscape" | "picture-stack-landscape" | "pin" | "pinterest-icon" | "pin-active" | "pin-location" | "plant-2" | "publishing-2022" | "publishing-list-2022" | "powerpoint" | "premium-star" | "question-circle" | "rating-star" | "read-email-at-alternate" | "remove-bold" | "remove-circle" | "remove-circle-bold-alternate" | "remove-circle-bold-alternate-3" | "reports-2022" | "repost" | "roi-2022" | "rotate-back" | "search-alternate" | "send-email-2-alternate" | "send-email-3" | "send-email-4" | "send-for-approval" | "settings-slider-alternate-1" | "settings-vertical" | "share" | "shared-calendar" | "shorten" | "show-theater-mask-happy" | "single-man" | "single-neutral" | "single-neutral-actions-add" | "single-post" | "user-delete" | "small-arrow-down" | "small-arrow-up" | "small-arrow-left" | "small-arrow-right" | "smiley-happy-alternate" | "smiley-happy-alternate-custom" | "social-media-retweet" | "social-media-retweet-alternate" | "social-profile-smartphone-add" | "space-rocket-flying" | "sparkles" | "subtitle" | "subtract" | "synchronize-arrow-clock" | "synchronize-arrows-1" | "tags-alternate-active" | "tags-add-alternate" | "tags-alternate" | "taking-pictures-circle-alternate" | "taking-pictures-circle-alternate-active" | "taking-videos-circle-alternate" | "taking-videos-circle-alternate-active" | "task-checklist-check" | "task-list-clock" | "task-list-multiple" | "time-clock-circle" | "time-clock-circle-alternate" | "time-clock-circle-1-alternate" | "tools-wrench-2" | "toys-ball" | "trends-hot-flame" | "twitter" | "twitter-official" | "twitter-circle" | "twitter-link-placeholder" | "union" | "upload-bottom" | "upload-button" | "vectors-anchor-square-alternate" | "video-file-avi" | "video-file-disable" | "video-file-flv" | "video-file-mov" | "video-file-mpg" | "video-file-mp-4" | "video-file-m-4-v" | "video-file-play-alternate" | "view-alternate" | "view-off" | "view-off-alternate" | "view-off-full" | "view-on" | "view-on-full" | "vintage-tv" | "volume-control-full" | "volume-control-off" | "wifi-signal-4" | "youtube" | "facebook-official" | "google-official" | "google-my-business-official" | "google-analytics-official" | "hubspot-official" | "linkedin-official" | "pinterest-official" | "tiktok-official" | "microsoft-official" | "salesforce-official" | "tiktok-white-official" | "twitter-plus-official" | "x-official" | "x-plus-official" | "x-white-official" | "youtube-official" | "instagram-official" | "instagram-story-custom" | "agorapulse-en-flag" | "agorapulse-fr-flag" | "agorapulse-pt-flag" | "agorapulse-es-flag" | "agorapulse-de-flag";
14
+ [k: number]: "attachment" | "add" | "view" | "variable" | "close" | "small-caps" | "calendar" | "add-2022" | "add-circle" | "add-circle-bold-alternate" | "add-square-alternate" | "agorapulse-official" | "agorapulse-square-logo" | "ai-magic-wand" | "alarm-bell-1" | "alarm-clock-1-alternate" | "alert-circle" | "alert-triangle" | "ambassador" | "analytics-bars" | "analytics-board-bars" | "analytics-board-graph-line" | "app-window-expand" | "app-window-search-text" | "app-window-link" | "app-window-next" | "arrow-button-down" | "arrow-button-down-2" | "arrow-button-left" | "arrow-button-right" | "arrow-button-up" | "arrow-button-up-2" | "arrow-circle-right" | "arrow-corner-right" | "arrow-down-1" | "arrow-left-1" | "arrow-right" | "arrow-right-1" | "arrow-right-long" | "arrow-thick-circle-bottom-right-corner-2" | "arrow-thick-circle-right-2" | "arrow-thick-circle-top-right-corner-2" | "arrow-thick-down-2" | "arrow-thick-left-2" | "arrow-thick-right-2" | "arrow-thick-up-2" | "arrow-up-1" | "artboard-image-1" | "bag-shop" | "bin" | "bin-1" | "bin-2" | "bitly" | "boosting-dollar-icon" | "button-play" | "button-shuffle" | "button-stop-1" | "button-refresh-arrow" | "button-refresh-arrows" | "bookmarks-1" | "bookmarks-1-alternate" | "bookmarks-document" | "calendar-2022" | "calendar-3" | "calendar-add-1" | "calendar-setting" | "canva" | "certified-certificate" | "chat-translate" | "check-1" | "check-2" | "check-circle" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "check-circle-alternate" | "cog" | "cog-1" | "common-file-double" | "common-file-text-alternate" | "common-file-stack-alternate" | "common-file-upload" | "competitors" | "computer-bug" | "content-pencil-write" | "controls-pause" | "controls-play" | "controls-play-3" | "conversation-chat-1" | "conversation-chat-1-alternate" | "copy-paste" | "country-targeting" | "country-targeting-active" | "credit-card-1-alternate" | "crown" | "cursor-double-click-3" | "custom-facebook-comment" | "custom-facebook-like" | "custom-facebook-share" | "custom-facebook-reel-comment" | "custom-facebook-reel-like" | "custom-facebook-reel-share" | "custom-tiktok-like" | "custom-tiktok-comment" | "custom-tiktok-share" | "custom-tiktok-melody" | "custom-twitter-comment" | "custom-twitter-like" | "custom-twitter-retweet" | "custom-twitter-retweet-full" | "custom-twitter-share" | "custom-inbox-post" | "custom-instagram-bookmark" | "custom-instagram-carousel" | "custom-instagram-comment" | "custom-instagram-like" | "custom-instagram-play" | "custom-instagram-reels" | "custom-instagram-share" | "custom-instagram-tags" | "custom-linkedin-comment" | "custom-linkedin-like" | "custom-linkedin-share" | "custom-pinterest-link" | "custom-pinterest-lock" | "custom-pinterest-more" | "custom-pinterest-share" | "data-file-bars-add" | "data-transfer-vertical" | "data-transfer-vertical-bi-color-down" | "data-transfer-vertical-bi-color-up" | "data-transfer-square-horizontal" | "design-file-text-alternate" | "delete" | "delete-2-alternate" | "delete-no-circle" | "desktop-computer-pc-1" | "dislike" | "dislike-alternate" | "dislike-1" | "download-bottom" | "drawer-download" | "drawer-open" | "earth-heart" | "earth-search" | "email-action-add" | "email-action-reply" | "email-action-reply-alternate" | "email-action-subtract" | "email-action-sync-1" | "envelope" | "envelope-letter" | "excel" | "expand" | "expand-1" | "external-link" | "facebook" | "famous-people-man-steve-jobs" | "fans-2022" | "faq-2022" | "fast-food-burger-drink" | "feature-icon-market" | "flag-plain-2" | "file-csv-1" | "filter-1" | "filter-2" | "flag-plain" | "flip-right" | "folder-add-alternate" | "folder-alternate" | "folder-empty" | "folder-media-alternate" | "folder-search-alternate" | "gauge-dashboard-alternate" | "gift-box" | "google-analytics" | "google-my-business-icon" | "google-icon" | "group-of-posts" | "hash" | "hashtag" | "headphones-customer-support-human" | "headphones-customer-support-human-1" | "help-wheel" | "hourglass-alternate" | "house-chimney-1" | "human-resources-search-men" | "hyperlink-3" | "icon-gif" | "icon-gif-search" | "icon-product-error" | "ig-grid" | "ig-story" | "ig-reel" | "image-file-bmp" | "image-file-jpg" | "image-file-gif" | "image-file-landscape" | "image-file-landscape-2" | "image-file-png" | "inbox-2022" | "information" | "information-circle" | "instagram" | "instagram-outline" | "instagram-user" | "iris-scan-approved" | "keyboard-3" | "keyboard-arrow-bottom-right" | "keyboard-arrow-right" | "keyboard-arrow-top-right" | "keyword" | "language-targeting" | "language-targeting-active" | "layers-hide" | "layers-show" | "layout-3" | "layout-module" | "layout-module-1" | "layout-agenda" | "layout-bullets" | "layout-top-1" | "library-2022" | "light-bulb" | "like" | "like-alternate" | "like-1" | "linkedin" | "list-bullets" | "listening-2022" | "lock-password" | "logout-1-alternate" | "logout-2" | "love-it" | "love-it-alternate" | "love-it-alternate-bold" | "love-it-circle" | "maximize" | "meetings-camera" | "megaphone" | "mention" | "messages-bubble" | "messages-bubble-alternate" | "messages-bubble-dot" | "messages-bubble-empty-alternate" | "messages-bubble-forward" | "messages-bubble-graph" | "messages-bubble-question-alternate" | "messages-bubble-square-menu-alternate" | "messages-bubble-square-text" | "microsoft-icon" | "minimize" | "mobile-phone" | "module-three-1" | "money-wallet-open" | "move-to-bottom" | "multiple-man-1" | "multiple-users-1" | "natural-disaster-hurricane-radar-1" | "navigation-menu-horizontal" | "navigation-menu-horizontal-1-alternate" | "navigation-menu-vertical" | "network-search" | "notes-add" | "notes-text-flip-3" | "notes-book-text" | "notes-paper" | "notes-paper-approve" | "notes-paper-text-2" | "notif-2022" | "office-outdoors" | "open-new-tab" | "open-quote" | "organization" | "original-sound" | "paginate-filter-picture" | "paginate-filter-plus" | "payment-paypal" | "pencil-1" | "pencil-2" | "pencil-write-2-alternate" | "people-man-graduate" | "performance-increase" | "phone-ring-1" | "picture-landscape" | "picture-polaroid-landscape" | "picture-stack-landscape" | "pin" | "pinterest-icon" | "pin-active" | "pin-location" | "plant-2" | "publishing-2022" | "publishing-list-2022" | "powerpoint" | "premium-star" | "question-circle" | "rating-star" | "read-email-at-alternate" | "remove-bold" | "remove-circle" | "remove-circle-bold-alternate" | "remove-circle-bold-alternate-3" | "reports-2022" | "repost" | "roi-2022" | "rotate-back" | "search-alternate" | "send-email-2-alternate" | "send-email-3" | "send-email-4" | "send-for-approval" | "settings-slider-alternate-1" | "settings-vertical" | "share" | "shared-calendar" | "shorten" | "show-theater-mask-happy" | "single-man" | "single-neutral" | "single-neutral-actions-add" | "single-post" | "user-delete" | "small-arrow-down" | "small-arrow-up" | "small-arrow-left" | "small-arrow-right" | "smiley-happy-alternate" | "smiley-happy-alternate-custom" | "social-media-retweet" | "social-media-retweet-alternate" | "social-profile-smartphone-add" | "space-rocket-flying" | "sparkles" | "subtitle" | "subtract" | "synchronize-arrow-clock" | "synchronize-arrows-1" | "tags-alternate-active" | "tags-add-alternate" | "tags-alternate" | "taking-pictures-circle-alternate" | "taking-pictures-circle-alternate-active" | "taking-videos-circle-alternate" | "taking-videos-circle-alternate-active" | "task-checklist-check" | "task-list-clock" | "task-list-multiple" | "time-clock-circle" | "time-clock-circle-alternate" | "time-clock-circle-1-alternate" | "tools-wrench-2" | "toys-ball" | "trends-hot-flame" | "twitter" | "twitter-official" | "twitter-circle" | "twitter-link-placeholder" | "union" | "upload-bottom" | "upload-button" | "vectors-anchor-square-alternate" | "video-file-avi" | "video-file-disable" | "video-file-flv" | "video-file-mov" | "video-file-mpg" | "video-file-mp-4" | "video-file-m-4-v" | "video-file-play-alternate" | "view-alternate" | "view-off" | "view-off-alternate" | "view-off-full" | "view-on" | "view-on-full" | "vintage-tv" | "volume-control-full" | "volume-control-off" | "wifi-signal-4" | "youtube" | "facebook-official" | "google-official" | "google-my-business-official" | "google-analytics-official" | "hubspot-official" | "linkedin-official" | "pinterest-official" | "tiktok-official" | "microsoft-official" | "salesforce-official" | "tiktok-white-official" | "twitter-plus-official" | "x-official" | "x-plus-official" | "x-white-official" | "youtube-official" | "instagram-official" | "instagram-story-custom" | "agorapulse-en-flag" | "agorapulse-fr-flag" | "agorapulse-pt-flag" | "agorapulse-es-flag" | "agorapulse-de-flag";
15
15
  };
16
16
  constructor(snackbarsThreadService: SnackbarsThreadService, symbolRegistry: SymbolRegistry);
17
17
  remove(id: string): void;
Binary file