@agorapulse/ui-components 20.4.11 → 20.4.13

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/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/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-base.directive.ts","../../../libs/ui-components/select/src/select-multiple.directive.ts","../../../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 { BadgeComponent } from '@agorapulse/ui-components/badge';\nimport { CheckboxComponent } from '@agorapulse/ui-components/checkbox';\nimport { TooltipDirective } from '@agorapulse/ui-components/tooltip';\n\nimport { 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 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","<div\n class=\"group\"\n [apTooltip]=\"disabledTooltip\"\n [apTooltipDisabled]=\"!disabled\">\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 { 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';\n\nimport { ChangeDetectionStrategy, Component, HostListener, inject, Input, input, output, ViewChild, ViewEncapsulation } from '@angular/core';\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, SymbolComponent, SymbolComponent],\n})\nexport class DropdownItemMultipleOneLineComponent {\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({ 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 selectionChange = output<boolean>();\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 onCheckboxChange(checked: boolean) {\n if (typeof checked === 'boolean') {\n this.selectionChange.emit(checked);\n }\n }\n}\n","<div\n class=\"disabled-opaque\"\n [apTooltip]=\"disabledTooltip\"\n [apTooltipDisabled]=\"!disabled\"></div>\n<div\n class=\"option multiple\"\n [class.feature-locked-option]=\"isFeatureLocked()\">\n <ap-checkbox\n #checkbox\n [checked]=\"selected\"\n [disabled]=\"disabled || isFeatureLocked()\"\n [name]=\"'option-selection-' + htmlId\"\n (change)=\"onCheckboxChange($event)\">\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';\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\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\"\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})\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\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 { LoaderComponent } from '@agorapulse/ui-animations';\nimport { InputSearchComponent } from '@agorapulse/ui-components/input-search';\nimport { SymbolComponent } from '@agorapulse/ui-symbol';\n\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n OutputRefSubscription,\n TemplateRef,\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';\n\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: [SymbolComponent, FormsModule, LoaderComponent, InputSearchComponent],\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 @ViewChild('notFoundTpl', { read: TemplateRef }) notFoundTpl!: TemplateRef<any>;\n @ViewChild('loadingTpl', { read: TemplateRef }) loadingTpl!: TemplateRef<any>;\n @ViewChild('createNewTpl', { read: TemplateRef }) createNewTpl!: TemplateRef<any>;\n\n @Output() createNew = new EventEmitter<string>();\n\n searchTermSignal = signal<string>('');\n searchTerm$ = new BehaviorSubject<string>('');\n submitSubscription: OutputRefSubscription | 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.submitSubscription?.unsubscribe();\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.inputSearch.focusInput();\n this.registerKeyboardSubmit();\n }, 100);\n this.select.notFoundTemplate = this.notFoundTpl;\n this.select.loadingTextTemplate = this.loadingTpl;\n\n // validate the current row on keypress\n if (this.createNewEnabled) {\n this.select.footerTemplate = this.createNewTpl;\n }\n }\n\n /**\n * Register the keyboard submit event allowing to press enter to select the first item found.\n * And escape to close the dropdown. This is useful for keyboard navigation.\n * Use case: search for an item by typing the first characters and press enter to select it.\n * Furthermore: arrow keys currently don't work in the dropdown search form.\n */\n registerKeyboardSubmit() {\n this.submitSubscription?.unsubscribe();\n this.submitSubscription = this.inputSearch.keyup.subscribe(event => {\n if (event.key === 'Enter') {\n this.select.select(this.select.itemsList.filteredItems[0]);\n } else if (event.key === 'Escape') {\n this.select.close();\n }\n });\n }\n\n onCreateNew() {\n this.createNew.emit(this.searchTermSignal());\n }\n}\n","<ap-input-search\n class=\"dropdown-search-input\"\n [ngModel]=\"searchTermSignal()\"\n [placeholder]=\"searchPlaceholder\"\n (ngModelChange)=\"searchTerm$.next($event)\" />\n\n<ng-template #notFoundTpl>\n <div class=\"option not-found\">\n <span>{{ select.notFoundText ? select.notFoundText : 'Not found text' }}</span>\n </div>\n</ng-template>\n\n<ng-template #loadingTpl>\n <div class=\"loading-state\">\n <ap-loader diameter=\"30\" />\n <span>\n {{ select.loadingText ? select.loadingText : 'Loading Items' }}\n </span>\n </div>\n</ng-template>\n\n<ng-template\n #createNewTpl\n let-searchTerm=\"searchTerm\">\n <button\n class=\"create-new\"\n type=\"button\"\n (click)=\"onCreateNew()\">\n <ap-symbol\n symbolId=\"plus\"\n size=\"sm\" />\n <span>\n {{ createText }}\n @if (searchTerm) {\n {{ '&quot;' + searchTerm + '&quot;' }}\n }\n </span>\n </button>\n</ng-template>\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 AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EnvironmentInjector,\n ViewEncapsulation,\n computed,\n effect,\n inject,\n input,\n output,\n runInInjectionContext,\n signal,\n} from '@angular/core';\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 implements AfterViewInit {\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\n removeItem = output<any>();\n\n private elementRef = inject(ElementRef);\n private injector = inject(EnvironmentInjector);\n\n selectedLabels = computed(() =>\n this.selectedItems().map(item => {\n const label = this.bindLabel() ? item[this.bindLabel()] : item;\n\n // Get the uppercase and lowercase characters count\n const uppercaseCharMatch = label.match(/[A-Z]/g);\n const uppercaseCharCount = uppercaseCharMatch?.length ?? 0;\n const lowercaseCharCount = label.length - uppercaseCharCount;\n // Approximate upper and lower case characters width (14px font size)\n const approximateUppercaseCharWidth = 14;\n const approximateLowercaseCharWidth = 8;\n // Calculate approximate character width\n const approximateCharWidth =\n (uppercaseCharCount * approximateUppercaseCharWidth + lowercaseCharCount * approximateLowercaseCharWidth) / label.length;\n // Maximum character length that can fit in the container (substract icons and padding)\n const maxCharLength = (this.valueContainerWidth() - 24 - 8 - 20 - 8) / approximateCharWidth;\n // Last index of the character that can fit in the container\n const ellipsisLastIndex = Math.min(label.length, maxCharLength);\n // Substract the ellipsis characters (...) length if the label is truncated\n const lastIndex = ellipsisLastIndex + 1 < label.length ? ellipsisLastIndex - 2 : ellipsisLastIndex;\n // Get the truncated label\n const truncatedLabel = label.slice(0, lastIndex);\n // Return the label with ellipsis if it's truncated\n const ellipsisLabel = truncatedLabel.length < label.length ? truncatedLabel + '...' : truncatedLabel;\n return {\n label: ellipsisLabel,\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 };\n })\n );\n\n valueContainerWidth = signal(0);\n hiddenCount = signal(0);\n\n trackByItem = (_: number, item: any) => (this.bindValue() ? item.value[this.bindValue()] : item.value);\n\n ngAfterViewInit(): void {\n const parentWidth = (this.elementRef.nativeElement as HTMLElement).parentElement?.offsetWidth;\n this.valueContainerWidth.set(parentWidth ?? 0);\n\n runInInjectionContext(this.injector, () => {\n effect(\n () => {\n const selectedValues = this.selectedItems();\n const selectValueContainerWidth = this.valueContainerWidth() - 30;\n const timeout = setTimeout(() => {\n this.calculateResponsiveLabels(selectValueContainerWidth, selectedValues);\n }, 100);\n return () => {\n clearTimeout(timeout);\n };\n }\n );\n });\n }\n\n calculateResponsiveLabels(containerWidth: number, selectedValues: any[]): void {\n if (containerWidth === 0 || !selectedValues.length) {\n return;\n }\n\n let totalWidth = 0;\n let hiddenCount = 0;\n const itemGap = 4;\n const items = this.elementRef.nativeElement.getElementsByClassName('item');\n\n for (let index = 0; index < items.length; index++) {\n const item: HTMLElement = items[index];\n const itemWidth = item.clientWidth + itemGap;\n\n if (totalWidth + itemWidth < containerWidth && !hiddenCount) {\n totalWidth += itemWidth;\n (item as HTMLElement).style.visibility = 'visible';\n } else {\n (item as HTMLElement).style.visibility = 'hidden';\n hiddenCount++;\n }\n }\n\n this.elementRef.nativeElement.getElementsByClassName('multiple-item')[0].style.maxWidth = `${totalWidth}px`;\n this.hiddenCount.set(hiddenCount);\n }\n}\n","<div class=\"multiple-item\">\n @for (item of selectedLabels(); track trackByItem($index, item)) {\n @if (displayType() === 'label') {\n <ap-label\n class=\"item\"\n color=\"blue\"\n [removable]=\"!item.value.disabled\"\n [content]=\"item.label\"\n (remove)=\"removeItem.emit(item.value)\" />\n }\n\n @if (displayType() === 'tag') {\n <ap-tag\n class=\"item text-item\"\n [clearable]=\"!item.value.disabled\"\n [color]=\"tagColor()\"\n (clear)=\"removeItem.emit(item.value)\">\n @if (item.avatarUrl) {\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 <ap-avatar\n [rounded]=\"roundedAvatar()\"\n [size]=\"24\"\n [username]=\"label()\"\n [showInitials]=\"showAvatarInitials()\"\n [profilePicture]=\"avatarUrl()\"\n [network]=\"network()\" />\n <span class=\"text-item\">\n {{ label() }}\n </span>\n }\n}\n","import { UI_COMPONENTS_SYMBOLS } from '@agorapulse/ui-components/providers';\nimport { SymbolComponent, SymbolRegistry, apCheck, apPlus } from '@agorapulse/ui-symbol';\nimport { AfterViewInit, ComponentRef, Directive, ElementRef, Renderer2, ViewContainerRef, effect, inject, input } from '@angular/core';\nimport { NgSelectComponent } from '@ng-select/ng-select';\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 {\n inlineLabel = input<string>();\n symbolId = input<string>();\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 constructor() {\n this.selectComponent.appendTo = 'body';\n this.selectComponent.searchable = false;\n this.selectComponent.clearable = false;\n this.selectComponent.markFirst = false;\n this.selectComponent.selectableGroupAsModel = false;\n this.selectComponent.tabIndex = 0;\n this.symbolRegistry.registerSymbols([apCheck, apPlus]);\n this.symbolRegistry.withSymbols(...(inject(UI_COMPONENTS_SYMBOLS, { optional: true })?.flat() ?? []));\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\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 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(\n this.el.nativeElement.getElementsByClassName('ng-select-container').item(0),\n this.labelElement\n );\n this.labelElement = undefined;\n }\n }\n}\n","import { AfterViewInit, Directive, ElementRef, inject, OnDestroy } 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[apSelectMultiple]',\n standalone: true,\n hostDirectives: [\n {\n directive: SelectBaseDirective,\n inputs: ['inlineLabel', 'symbolId'],\n },\n ],\n})\nexport class SelectMultipleDirective implements AfterViewInit, OnDestroy {\n private readonly selectComponent = inject(NgSelectComponent);\n private readonly elementRef = inject(ElementRef);\n\n valueContainer: HTMLElement | null = null;\n\n constructor() {\n this.selectComponent.multiple = true;\n this.selectComponent.closeOnSelect = false;\n this.selectComponent.searchable = true; // small hack to not closed the dropdown panel when clear an item in value container\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\n ngOnDestroy() {\n if (this.valueContainer) {\n this.valueContainer.removeEventListener('mousedown', this.onMousedown);\n }\n }\n\n onMousedown = (event: MouseEvent) => {\n // Only toggle if clicking on the container itself, not on the items inside\n const target = event.target as HTMLElement;\n if (!target.closest('ap-select-label-multiple') && !target.closest('.ng-clear-wrapper')) {\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}\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'],\n },\n ],\n})\nexport class SelectSingleDirective implements AfterViewInit {\n private readonly selectComponent = inject(NgSelectComponent);\n\n constructor() {\n this.selectComponent.multiple = false;\n this.selectComponent.closeOnSelect = 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 { 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 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 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-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 { BadgeComponent } from '@agorapulse/ui-components/badge';\nimport { CheckboxComponent } from '@agorapulse/ui-components/checkbox';\nimport { TooltipDirective } from '@agorapulse/ui-components/tooltip';\n\nimport { 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 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 { AfterViewInit, ComponentRef, Directive, ElementRef, Renderer2, ViewContainerRef, effect, inject, input } from '@angular/core';\nimport { NgSelectComponent } from '@ng-select/ng-select';\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 {\n inlineLabel = input<string>();\n symbolId = input<string>();\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 constructor() {\n this.selectComponent.appendTo = 'body';\n this.selectComponent.searchable = false;\n this.selectComponent.clearable = false;\n this.selectComponent.markFirst = false;\n this.selectComponent.selectableGroupAsModel = false;\n this.selectComponent.tabIndex = 0;\n this.symbolRegistry.registerSymbols([apCheck, apPlus]);\n this.symbolRegistry.withSymbols(...(inject(UI_COMPONENTS_SYMBOLS, { optional: true })?.flat() ?? []));\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\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 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(\n this.el.nativeElement.getElementsByClassName('ng-select-container').item(0),\n this.labelElement\n );\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 { SelectBaseDirective } from './select-base.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'ng-select[apSelectMultiple]',\n standalone: true,\n hostDirectives: [\n {\n directive: SelectBaseDirective,\n inputs: ['inlineLabel', 'symbolId'],\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\n valueContainer: HTMLElement | null = null;\n\n constructor() {\n this.selectComponent.multiple = true;\n this.selectComponent.closeOnSelect = false;\n this.selectComponent.searchable = true; // small hack to not closed the dropdown panel when clear an item in value container\n\n this.selectComponent.addEvent.subscribe(() => this.updateMaxItemsDisabledState());\n this.selectComponent.removeEvent.subscribe(() => this.updateMaxItemsDisabledState());\n this.selectComponent.clearEvent.subscribe(() => this.updateMaxItemsDisabledState());\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 }\n\n onMousedown = (event: MouseEvent) => {\n // Only toggle if clicking on the container itself, not on the items inside\n const target = event.target as HTMLElement;\n if (!target.closest('ap-select-label-multiple') && !target.closest('.ng-clear-wrapper')) {\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\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({ 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 selectionChange = output<boolean>();\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 onCheckboxChange(checked: boolean) {\n if (typeof checked === 'boolean') {\n this.selectionChange.emit(checked);\n }\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 [checked]=\"selected\"\n [disabled]=\"disabled || isFeatureLocked()\"\n [name]=\"'option-selection-' + htmlId\"\n (change)=\"onCheckboxChange($event)\">\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})\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\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 { LoaderComponent } from '@agorapulse/ui-animations';\nimport { InputSearchComponent } from '@agorapulse/ui-components/input-search';\nimport { SymbolComponent } from '@agorapulse/ui-symbol';\n\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n OutputRefSubscription,\n TemplateRef,\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';\n\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: [SymbolComponent, FormsModule, LoaderComponent, InputSearchComponent],\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 @ViewChild('notFoundTpl', { read: TemplateRef }) notFoundTpl!: TemplateRef<any>;\n @ViewChild('loadingTpl', { read: TemplateRef }) loadingTpl!: TemplateRef<any>;\n @ViewChild('createNewTpl', { read: TemplateRef }) createNewTpl!: TemplateRef<any>;\n\n @Output() createNew = new EventEmitter<string>();\n\n searchTermSignal = signal<string>('');\n searchTerm$ = new BehaviorSubject<string>('');\n submitSubscription: OutputRefSubscription | 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.submitSubscription?.unsubscribe();\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.inputSearch.focusInput();\n this.registerKeyboardSubmit();\n }, 100);\n this.select.notFoundTemplate = this.notFoundTpl;\n this.select.loadingTextTemplate = this.loadingTpl;\n\n // validate the current row on keypress\n if (this.createNewEnabled) {\n this.select.footerTemplate = this.createNewTpl;\n }\n }\n\n /**\n * Register the keyboard submit event allowing to press enter to select the first item found.\n * And escape to close the dropdown. This is useful for keyboard navigation.\n * Use case: search for an item by typing the first characters and press enter to select it.\n * Furthermore: arrow keys currently don't work in the dropdown search form.\n */\n registerKeyboardSubmit() {\n this.submitSubscription?.unsubscribe();\n this.submitSubscription = this.inputSearch.keyup.subscribe(event => {\n if (event.key === 'Enter') {\n this.select.select(this.select.itemsList.filteredItems[0]);\n } else if (event.key === 'Escape') {\n this.select.close();\n }\n });\n }\n\n onCreateNew() {\n this.createNew.emit(this.searchTermSignal());\n }\n}\n","<ap-input-search\n class=\"dropdown-search-input\"\n [ngModel]=\"searchTermSignal()\"\n [placeholder]=\"searchPlaceholder\"\n (ngModelChange)=\"searchTerm$.next($event)\" />\n\n<ng-template #notFoundTpl>\n <div class=\"option not-found\">\n <span>{{ select.notFoundText ? select.notFoundText : 'Not found text' }}</span>\n </div>\n</ng-template>\n\n<ng-template #loadingTpl>\n <div class=\"loading-state\">\n <ap-loader diameter=\"30\" />\n <span>\n {{ select.loadingText ? select.loadingText : 'Loading Items' }}\n </span>\n </div>\n</ng-template>\n\n<ng-template\n #createNewTpl\n let-searchTerm=\"searchTerm\">\n <button\n class=\"create-new\"\n type=\"button\"\n (click)=\"onCreateNew()\">\n <ap-symbol\n symbolId=\"plus\"\n size=\"sm\" />\n <span>\n {{ createText }}\n @if (searchTerm) {\n {{ '&quot;' + searchTerm + '&quot;' }}\n }\n </span>\n </button>\n</ng-template>\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 afterRenderEffect,\n computed,\n input,\n output,\n signal,\n viewChild,\n viewChildren,\n} from '@angular/core';\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\n removeItem = output<any>();\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 }))\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","<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\"\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\"\n [color]=\"tagColor()\"\n (clear)=\"removeItem.emit(item.value)\">\n @if (item.avatarUrl) {\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'],\n },\n ],\n})\nexport class SelectSingleDirective implements AfterViewInit {\n private readonly selectComponent = inject(NgSelectComponent);\n\n constructor() {\n this.selectComponent.multiple = false;\n this.selectComponent.closeOnSelect = 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 { 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 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 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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"}
@@ -2,6 +2,7 @@ import { AvatarNetwork } from '@agorapulse/ui-components/avatar';
2
2
  import { Period } from '@agorapulse/ui-components/datepicker';
3
3
  import dayjs from 'dayjs';
4
4
  import { SelectLabelSingleDisplayType } from '@agorapulse/ui-components/select';
5
+ import { TagColor } from '@agorapulse/ui-components/tag';
5
6
  import * as _angular_core from '@angular/core';
6
7
  import { TemplateRef } from '@angular/core';
7
8
  import { DropdownOverlay } from '@agorapulse/ui-components/dropdown-base';
@@ -27,7 +28,8 @@ interface FilterDropdownItemToggle {
27
28
  disabled?: boolean;
28
29
  }
29
30
  interface FilterDropdownItemSelect {
30
- text: string;
31
+ label: string;
32
+ value: unknown;
31
33
  caption?: string;
32
34
  avatarUrl?: string;
33
35
  symbolId?: string;
@@ -35,6 +37,7 @@ interface FilterDropdownItemSelect {
35
37
  badgeText?: string;
36
38
  network?: AvatarNetwork;
37
39
  dividerEnabled?: boolean;
40
+ tagColor?: TagColor;
38
41
  }
39
42
  interface FilterDropdownValueCheckbox {
40
43
  filterType: 'checkbox';
@@ -49,16 +52,21 @@ interface FilterDropdownValueToggle {
49
52
  filterType: 'toggle';
50
53
  checked: boolean;
51
54
  }
52
- interface FilterDropdownValueSelect {
55
+ interface FilterDropdownValueSingleSelect {
56
+ filterType: 'select';
57
+ selectionType: 'single';
58
+ selected: unknown;
59
+ }
60
+ interface FilterDropdownValueMultipleSelect {
53
61
  filterType: 'select';
54
- /** Indices of selected items */
55
- selected: number[];
62
+ selectionType: 'multiple';
63
+ selected: unknown[];
56
64
  }
57
65
  interface FilterDropdownValueDateRange {
58
66
  filterType: 'date-range';
59
67
  selectedPeriod?: Period;
60
68
  }
61
- type FilterDropdownValue = FilterDropdownValueCheckbox | FilterDropdownValueRadio | FilterDropdownValueToggle | FilterDropdownValueSelect | FilterDropdownValueDateRange;
69
+ type FilterDropdownValue = FilterDropdownValueCheckbox | FilterDropdownValueRadio | FilterDropdownValueToggle | FilterDropdownValueSingleSelect | FilterDropdownValueMultipleSelect | FilterDropdownValueDateRange;
62
70
  /** The output emitted by filter-dropdown on apply: a map of filter key → value */
63
71
  type FilterDropdownOutput = Record<string, FilterDropdownValue>;
64
72
  interface FilterDropdownGroupBase {
@@ -102,8 +110,10 @@ interface FilterDropdownGroupSelect extends FilterDropdownGroupBase {
102
110
  selectionType: 'single' | 'multiple';
103
111
  /** An optional type to determine the icon/avatar/symbol to display for each item. Only applicable for select filter groups. */
104
112
  displayType: SelectLabelSingleDisplayType;
113
+ /** An optional text to display when all items are selected. Only applicable for select filter groups with multiple selection. */
114
+ onlyText?: string;
105
115
  items: FilterDropdownItemSelect[];
106
- defaultSelected?: number[];
116
+ defaultSelected?: unknown[];
107
117
  }
108
118
  interface FilterDropdownGroupDateRange extends FilterDropdownGroupBase {
109
119
  /** The type of the FilterDropdownGroupBase */
@@ -133,7 +143,8 @@ declare class FilterState {
133
143
  /** Set the toggle checked state */
134
144
  setToggleValue(key: string, checked: boolean): void;
135
145
  /** Set selected indices for a select filter */
136
- setSelectValue(key: string, selected: number[]): void;
146
+ setSingleSelectValue(key: string, selected: unknown): void;
147
+ setMultipleSelectValue(key: string, selected: unknown[]): void;
137
148
  /** Return the current draft snapshot (used on Apply) */
138
149
  getSnapshot(): FilterDropdownOutput;
139
150
  /** Reset draft to initial values from the current config */
@@ -148,7 +159,7 @@ declare class FilterState {
148
159
 
149
160
  declare class FilterDropdownComponent implements DropdownOverlay {
150
161
  private readonly overlay;
151
- readonly state: FilterState;
162
+ readonly filterState: FilterState;
152
163
  initGroups: _angular_core.EffectRef;
153
164
  filterGroupTemplate: _angular_core.Signal<TemplateRef<unknown> | undefined>;
154
165
  /** The filter groups to display in the dropdown */
@@ -197,4 +208,4 @@ declare class FilterDropdownComponent implements DropdownOverlay {
197
208
  }
198
209
 
199
210
  export { FilterDropdownComponent };
200
- export type { FilterDropdownGroup, FilterDropdownGroupCheckbox, FilterDropdownGroupDateRange, FilterDropdownGroupRadio, FilterDropdownGroupSelect, FilterDropdownGroupToggle, FilterDropdownItemCheckbox, FilterDropdownItemRadio, FilterDropdownItemSelect, FilterDropdownItemToggle, FilterDropdownOutput, FilterDropdownType, FilterDropdownValue, FilterDropdownValueCheckbox, FilterDropdownValueDateRange, FilterDropdownValueRadio, FilterDropdownValueSelect, FilterDropdownValueToggle };
211
+ export type { FilterDropdownGroup, FilterDropdownGroupCheckbox, FilterDropdownGroupDateRange, FilterDropdownGroupRadio, FilterDropdownGroupSelect, FilterDropdownGroupToggle, FilterDropdownItemCheckbox, FilterDropdownItemRadio, FilterDropdownItemSelect, FilterDropdownItemToggle, FilterDropdownOutput, FilterDropdownType, FilterDropdownValue, FilterDropdownValueCheckbox, FilterDropdownValueDateRange, FilterDropdownValueMultipleSelect, FilterDropdownValueRadio, FilterDropdownValueSingleSelect, FilterDropdownValueToggle };
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": "20.4.11",
4
+ "version": "20.4.13",
5
5
  "author": "Benoit Hediard",
6
6
  "repository": {
7
7
  "type": "git",
package/select/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { AfterViewInit, OnDestroy, EventEmitter, TemplateRef, OutputRefSubscription } from '@angular/core';
2
+ import { AfterViewInit, OnDestroy, EventEmitter, ElementRef, TemplateRef, OutputRefSubscription } from '@angular/core';
3
3
  import { AvatarNetwork } from '@agorapulse/ui-components/avatar';
4
4
  import { CheckboxComponent } from '@agorapulse/ui-components/checkbox';
5
5
  import { TagColor } from '@agorapulse/ui-components/tag';
@@ -31,13 +31,16 @@ declare class SelectBaseDirective implements AfterViewInit {
31
31
  declare class SelectMultipleDirective implements AfterViewInit, OnDestroy {
32
32
  private readonly selectComponent;
33
33
  private readonly elementRef;
34
+ private readonly originalDisabledState;
35
+ maxItemsTooltip: _angular_core.InputSignal<string | undefined>;
34
36
  valueContainer: HTMLElement | null;
35
37
  constructor();
36
38
  ngAfterViewInit(): void;
37
39
  ngOnDestroy(): void;
38
40
  onMousedown: (event: MouseEvent) => void;
41
+ private updateMaxItemsDisabledState;
39
42
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectMultipleDirective, never>;
40
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SelectMultipleDirective, "ng-select[apSelectMultiple]", never, {}, {}, never, never, true, [{ directive: typeof SelectBaseDirective; inputs: { "inlineLabel": "inlineLabel"; "symbolId": "symbolId"; }; outputs: {}; }]>;
43
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SelectMultipleDirective, "ng-select[apSelectMultiple]", never, { "maxItemsTooltip": { "alias": "maxItemsTooltip"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof SelectBaseDirective; inputs: { "inlineLabel": "inlineLabel"; "symbolId": "symbolId"; }; outputs: {}; }]>;
41
44
  }
42
45
 
43
46
  declare class SelectSingleDirective implements AfterViewInit {
@@ -92,6 +95,7 @@ declare class DropdownItemSingleTwoLinesComponent {
92
95
 
93
96
  declare class DropdownItemMultipleOneLineComponent {
94
97
  private readonly symbolRegistry;
98
+ protected readonly selectMultiple: SelectMultipleDirective | null;
95
99
  constructor();
96
100
  text: string;
97
101
  selected: boolean;
@@ -122,6 +126,7 @@ declare class DropdownItemMultipleOneLineComponent {
122
126
 
123
127
  declare class DropdownItemMultipleTwoLinesComponent {
124
128
  private readonly symbolRegistry;
129
+ protected readonly selectMultiple: SelectMultipleDirective | null;
125
130
  constructor();
126
131
  text: string;
127
132
  caption: string;
@@ -164,7 +169,7 @@ declare class SelectLabelSingleComponent {
164
169
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectLabelSingleComponent, "ap-select-label-single", never, { "displayType": { "alias": "displayType"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "avatarUrl": { "alias": "avatarUrl"; "required": false; "isSignal": true; }; "network": { "alias": "network"; "required": false; "isSignal": true; }; "showAvatarInitials": { "alias": "showAvatarInitials"; "required": false; "isSignal": true; }; "roundedAvatar": { "alias": "roundedAvatar"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
165
170
  }
166
171
 
167
- declare class SelectLabelMultipleComponent implements AfterViewInit {
172
+ declare class SelectLabelMultipleComponent {
168
173
  displayType: _angular_core.InputSignal<"label" | "tag">;
169
174
  tagColor: _angular_core.InputSignal<TagColor>;
170
175
  selectedItems: _angular_core.InputSignal<any[]>;
@@ -175,8 +180,6 @@ declare class SelectLabelMultipleComponent implements AfterViewInit {
175
180
  roundedAvatar: _angular_core.InputSignal<boolean>;
176
181
  bindNetwork: _angular_core.InputSignal<string>;
177
182
  removeItem: _angular_core.OutputEmitterRef<any>;
178
- private elementRef;
179
- private injector;
180
183
  selectedLabels: _angular_core.Signal<{
181
184
  label: any;
182
185
  avatarUrl: any;
@@ -184,11 +187,11 @@ declare class SelectLabelMultipleComponent implements AfterViewInit {
184
187
  value: any;
185
188
  network: any;
186
189
  }[]>;
187
- valueContainerWidth: _angular_core.WritableSignal<number>;
188
190
  hiddenCount: _angular_core.WritableSignal<number>;
189
191
  trackByItem: (_: number, item: any) => any;
190
- ngAfterViewInit(): void;
191
- calculateResponsiveLabels(containerWidth: number, selectedValues: any[]): void;
192
+ mainContainer: _angular_core.Signal<ElementRef<any>>;
193
+ itemsElement: _angular_core.Signal<readonly ElementRef<any>[]>;
194
+ private responsiveLayout;
192
195
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectLabelMultipleComponent, never>;
193
196
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectLabelMultipleComponent, "ap-select-label-multiple", never, { "displayType": { "alias": "displayType"; "required": false; "isSignal": true; }; "tagColor": { "alias": "tagColor"; "required": false; "isSignal": true; }; "selectedItems": { "alias": "selectedItems"; "required": true; "isSignal": true; }; "bindLabel": { "alias": "bindLabel"; "required": false; "isSignal": true; }; "bindValue": { "alias": "bindValue"; "required": false; "isSignal": true; }; "bindAvatarUrl": { "alias": "bindAvatarUrl"; "required": false; "isSignal": true; }; "bindSymbolId": { "alias": "bindSymbolId"; "required": false; "isSignal": true; }; "roundedAvatar": { "alias": "roundedAvatar"; "required": false; "isSignal": true; }; "bindNetwork": { "alias": "bindNetwork"; "required": false; "isSignal": true; }; }, { "removeItem": "removeItem"; }, never, never, true, never>;
194
197
  }
@@ -232,6 +235,7 @@ declare class DropdownGroupItemComponent {
232
235
  isGroupIntermediate(): boolean;
233
236
  isGroupChecked(): boolean;
234
237
  isGroupDisabled(): boolean;
238
+ onGroupClick(event: Event): void;
235
239
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DropdownGroupItemComponent, never>;
236
240
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DropdownGroupItemComponent, "ap-dropdown-group-item", never, { "groupLabel": { "alias": "groupLabel"; "required": true; }; "groupTag": { "alias": "groupTag"; "required": false; }; "selectableGroup": { "alias": "selectableGroup"; "required": false; }; "children": { "alias": "children"; "required": true; }; "select": { "alias": "select"; "required": true; }; "disabled": { "alias": "disabled"; "required": false; }; "disabledTooltip": { "alias": "disabledTooltip"; "required": false; }; }, {}, never, never, true, never>;
237
241
  }