primeng 19.0.0 → 19.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autocomplete/autocomplete.d.ts +1 -1
- package/cascadeselect/cascadeselect.d.ts +1 -1
- package/dropdown/dropdown.d.ts +2 -1
- package/dynamicdialog/dialogservice.d.ts +1 -1
- package/dynamicdialog/dynamicdialog-config.d.ts +7 -2
- package/dynamicdialog/dynamicdialog.d.ts +5 -4
- package/fesm2022/primeng-autocomplete.mjs +5 -5
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-breadcrumb.mjs +76 -70
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-calendar.mjs +6 -4
- package/fesm2022/primeng-calendar.mjs.map +1 -1
- package/fesm2022/primeng-carousel.mjs +14 -5
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-confirmdialog.mjs +1 -1
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-datepicker.mjs +11 -10
- package/fesm2022/primeng-datepicker.mjs.map +1 -1
- package/fesm2022/primeng-dialog.mjs +1 -0
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-dock.mjs +90 -80
- package/fesm2022/primeng-dock.mjs.map +1 -1
- package/fesm2022/primeng-dropdown.mjs +8 -15
- package/fesm2022/primeng-dropdown.mjs.map +1 -1
- package/fesm2022/primeng-dynamicdialog.mjs +19 -6
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +2 -2
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-galleria.mjs +229 -86
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +1 -1
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs +17 -8
- package/fesm2022/primeng-inputotp.mjs.map +1 -1
- package/fesm2022/primeng-listbox.mjs +23 -12
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +38 -48
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +48 -24
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-paginator.mjs +5 -1
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-panel.mjs +58 -52
- package/fesm2022/primeng-panel.mjs.map +1 -1
- package/fesm2022/primeng-popover.mjs +10 -19
- package/fesm2022/primeng-popover.mjs.map +1 -1
- package/fesm2022/primeng-select.mjs +15 -21
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-splitter.mjs +28 -14
- package/fesm2022/primeng-splitter.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs +100 -90
- package/fesm2022/primeng-steps.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +3 -3
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tag.mjs +0 -1
- package/fesm2022/primeng-tag.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +3 -3
- package/fesm2022/primeng-tree.mjs +19 -13
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +385 -175
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/galleria/galleria.d.ts +18 -1
- package/inputotp/inputotp.d.ts +1 -0
- package/package.json +131 -131
- package/popover/popover.d.ts +1 -7
- package/select/select.d.ts +1 -0
- package/splitter/splitter.d.ts +2 -1
- package/tag/tag.d.ts +0 -1
- package/togglebutton/public_api.d.ts +2 -1
- package/treetable/treetable.d.ts +28 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-dropdown.mjs","sources":["../../src/dropdown/style/dropdownstyle.ts","../../src/dropdown/dropdown.ts","../../src/dropdown/primeng-dropdown.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n/**\n *\n * Dropdown also known as Select, is used to choose an item from a collection of options.\n *\n * [Live Demo](https://www.primeng.org/select/)\n *\n * @module dropdownstyle\n *\n */\nimport type { SelectStyle } from 'primeng/select';\n\nconst theme = ({ dt }) => `\n.p-select {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n user-select: none;\n background: ${dt('select.background')};\n border: 1px solid ${dt('select.border.color')};\n transition: background ${dt('select.transition.duration')}, color ${dt('select.transition.duration')}, border-color ${dt('select.transition.duration')},\n outline-color ${dt('select.transition.duration')}, box-shadow ${dt('select.transition.duration')};\n border-radius: ${dt('select.border.radius')};\n outline-color: transparent;\n box-shadow: ${dt('select.shadow')};\n}\n\n.p-select:not(.p-disabled):hover {\n border-color: ${dt('select.hover.border.color')};\n}\n\n.p-select:not(.p-disabled).p-focus {\n border-color: ${dt('select.focus.border.color')};\n box-shadow: ${dt('select.focus.ring.shadow')};\n outline: ${dt('select.focus.ring.width')} ${dt('select.focus.ring.style')} ${dt('select.focus.ring.color')};\n outline-offset: ${dt('select.focus.ring.offset')};\n}\n\n.p-select.p-variant-filled {\n background: ${dt('select.filled.background')};\n}\n\n.p-select.p-variant-filled.p-focus {\n background: ${dt('select.filled.focus.background')};\n}\n\n.p-select.p-disabled {\n opacity: 1;\n background: ${dt('select.disabled.background')};\n}\n\n.p-select-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n color: ${dt('select.clear.icon.color')};\n right: ${dt('select.dropdown.width')};\n}\n\n.p-select-dropdown {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n background: transparent;\n color: ${dt('select.dropdown.color')};\n width: ${dt('select.dropdown.width')};\n border-start-end-radius: ${dt('select.border.radius')};\n border-end-end-radius: ${dt('select.border.radius')};\n}\n\n.p-select-label {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n flex: 1 1 auto;\n width: 1%;\n padding: ${dt('select.padding.y')} ${dt('select.padding.x')};\n text-overflow: ellipsis;\n cursor: pointer;\n color: ${dt('select.color')};\n background: transparent;\n border: 0 none;\n outline: 0 none;\n}\n\n.p-select-label.p-placeholder {\n color: ${dt('select.placeholder.color')};\n}\n\n.p-select:has(.p-select-clear-icon) .p-select-label {\n padding-right: calc(1rem + ${dt('select.padding.x')});\n}\n\n.p-select.p-disabled .p-select-label {\n color: ${dt('select.disabled.color')};\n}\n\n.p-select-label-empty {\n overflow: hidden;\n opacity: 0;\n}\n\ninput.p-select-label {\n cursor: default;\n}\n\n.p-select .p-select-overlay {\n min-width: 100%;\n}\n\n.p-select-overlay {\n position: absolute;\n top: 0;\n left: 0;\n background: ${dt('select.overlay.background')};\n color: ${dt('select.overlay.color')};\n border: 1px solid ${dt('select.overlay.border.color')};\n border-radius: ${dt('select.overlay.border.radius')};\n box-shadow: ${dt('select.overlay.shadow')};\n}\n\n.p-select-header {\n padding: ${dt('select.list.header.padding')};\n}\n\n.p-select-filter {\n width: 100%;\n}\n\n.p-select-list-container {\n overflow: auto;\n}\n\n.p-select-option-group {\n cursor: auto;\n margin: 0;\n padding: ${dt('select.option.group.padding')};\n background: ${dt('select.option.group.background')};\n color: ${dt('select.option.group.color')};\n font-weight: ${dt('select.option.group.font.weight')};\n}\n\n.p-select-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n padding: ${dt('select.list.padding')};\n gap: ${dt('select.list.gap')};\n display: flex;\n flex-direction: column;\n}\n\n.p-select-option {\n cursor: pointer;\n font-weight: normal;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n display: flex;\n align-items: center;\n padding: ${dt('select.option.padding')};\n border: 0 none;\n color: ${dt('select.option.color')};\n background: transparent;\n transition: background ${dt('select.transition.duration')}, color ${dt('select.transition.duration')}, border-color ${dt('select.transition.duration')},\n box-shadow ${dt('select.transition.duration')}, outline-color ${dt('select.transition.duration')};\n border-radius: ${dt('select.option.border.radius')};\n}\n\n.p-select-option:not(.p-select-option-selected):not(.p-disabled).p-focus {\n background: ${dt('select.option.focus.background')};\n color: ${dt('select.option.focus.color')};\n}\n\n.p-select-option.p-select-option-selected {\n background: ${dt('select.option.selected.background')};\n color: ${dt('select.option.selected.color')};\n}\n\n.p-select-option.p-select-option-selected.p-focus {\n background: ${dt('select.option.selected.focus.background')};\n color: ${dt('select.option.selected.focus.color')};\n}\n\n.p-select-option-check-icon {\n position: relative;\n margin-inline-start: ${dt('select.checkmark.gutter.start')};\n margin-inline-end: ${dt('select.checkmark.gutter.end')};\n color: ${dt('select.checkmark.color')};\n}\n\n.p-select-empty-message {\n padding: ${dt('select.empty.message.padding')};\n}\n\n.p-select-fluid {\n display: flex;\n}\n\n/*For PrimeNG*/\n\n.p-dropdown.ng-invalid.ng-dirty,\n.p-select.ng-invalid.ng-dirty {\n outline: 1px solid ${dt('select.invalid.border.color')};\n outline-offset: 0;\n}\n\n.p-dropdown.ng-invalid.ng-dirty .p-dropdown-label.p-placeholder,\n.p-select.ng-invalid.ng-dirty .p-select-label.p-placeholder {\n color: ${dt('select.invalid.placeholder.color')};\n}\n`;\n\nconst classes = {\n root: ({ instance }) => [\n 'p-dropdown p-select p-component p-inputwrapper',\n {\n 'p-disabled': instance.disabled,\n 'p-variant-filled': instance.variant ? instance.variant === 'filled' : instance.config.inputStyle() === 'filled',\n 'p-focus': instance.focused,\n 'p-inputwrapper-filled': instance.modelValue() !== undefined && instance.modelValue() !== null && !instance.modelValue().length,\n 'p-inputwrapper-focus': instance.focused || instance.overlayVisible,\n 'p-select-open': instance.overlayVisible,\n 'p-select-fluid': instance.fluid,\n 'p-select-sm p-inputfield-sm': instance.size === 'small',\n 'p-select-lg p-inputfield-lg': instance.size === 'large'\n }\n ],\n label: ({ instance, props }) => [\n 'p-select-label',\n {\n 'p-placeholder': !props.editable && instance.label === props.placeholder,\n 'p-select-label-empty': !props.editable && !instance.$slots['value'] && (instance.label === 'p-emptylabel' || instance.label.length === 0)\n }\n ],\n clearIcon: 'p-select-clear-icon',\n dropdown: 'p-select-dropdown',\n loadingicon: 'p-select-loading-icon',\n dropdownIcon: 'p-select-dropdown-icon',\n overlay: 'p-select-overlay p-component',\n header: 'p-select-header',\n pcFilter: 'p-select-filter',\n listContainer: 'p-select-list-container',\n list: 'p-select-list',\n optionGroup: 'p-select-option-group',\n optionGroupLabel: 'p-select-option-group-label',\n option: ({ instance, props, state, option, focusedOption }) => [\n 'p-select-option',\n {\n 'p-select-option-selected': instance.isSelected(option) && props.highlightOnSelect,\n 'p-focus': state.focusedOptionIndex === focusedOption,\n 'p-disabled': instance.isOptionDisabled(option)\n }\n ],\n optionLabel: 'p-select-option-label',\n optionCheckIcon: 'p-select-option-check-icon',\n optionBlankIcon: 'p-select-option-blank-icon',\n emptyMessage: 'p-select-empty-message'\n};\n\n@Injectable()\nexport class DropdownStyle extends BaseStyle {\n name = 'select';\n\n theme = theme;\n\n classes = classes;\n}\n\nexport enum DropdownClasses {}\n\nexport interface DropdownStyle extends SelectStyle {}\n","import { AnimationEvent } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChildren,\n effect,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n inject,\n Input,\n NgModule,\n NgZone,\n numberAttribute,\n OnInit,\n Output,\n QueryList,\n Signal,\n signal,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n ViewRef\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {\n deepEquals,\n equals,\n findLastIndex,\n findSingle,\n focus,\n getFirstFocusableElement,\n getFocusableElements,\n getLastFocusableElement,\n isEmpty,\n isNotEmpty,\n isPrintableCharacter,\n resolveFieldData,\n scrollInView,\n unblockBodyScroll,\n uuid\n} from '@primeuix/utils';\nimport { FilterService, OverlayOptions, PrimeTemplate, ScrollerOptions, SelectItem, SharedModule, TranslationKeys } from 'primeng/api';\nimport { AutoFocusModule } from 'primeng/autofocus';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { IconField } from 'primeng/iconfield';\nimport { BlankIcon, CheckIcon, ChevronDownIcon, SearchIcon, TimesIcon } from 'primeng/icons';\nimport { InputIcon } from 'primeng/inputicon';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { Overlay, OverlayModule } from 'primeng/overlay';\nimport { Ripple } from 'primeng/ripple';\nimport { Scroller } from 'primeng/scroller';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { DropdownChangeEvent, DropdownFilterEvent, DropdownFilterOptions, DropdownLazyLoadEvent } from './dropdown.interface';\nimport { DropdownStyle } from './style/dropdownstyle';\n\nexport const DROPDOWN_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Dropdown),\n multi: true\n};\n\n@Component({\n selector: 'p-dropdownItem',\n standalone: false,\n template: `\n <li\n [id]=\"id\"\n (click)=\"onOptionClick($event)\"\n (mouseenter)=\"onOptionMouseEnter($event)\"\n role=\"option\"\n pRipple\n [attr.aria-label]=\"label\"\n [attr.aria-setsize]=\"ariaSetSize\"\n [attr.aria-posinset]=\"ariaPosInset\"\n [attr.aria-selected]=\"selected\"\n [attr.data-p-focused]=\"focused\"\n [attr.data-p-highlight]=\"selected\"\n [attr.data-p-disabled]=\"disabled\"\n [ngStyle]=\"{ height: itemSize + 'px' }\"\n [ngClass]=\"{\n 'p-select-option': true,\n 'p-select-option-selected': selected,\n 'p-disabled': disabled,\n 'p-focus': focused\n }\"\n >\n <ng-container *ngIf=\"checkmark\">\n <CheckIcon *ngIf=\"selected\" [styleClass]=\"'p-select-option-check-icon'\" />\n <BlankIcon *ngIf=\"!selected\" [styleClass]=\"'p-select-option-blank-icon'\" />\n </ng-container>\n <span *ngIf=\"!template\">{{ label ?? 'empty' }}</span>\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: option }\"></ng-container>\n </li>\n `\n})\nexport class DropdownItem extends BaseComponent {\n @Input() id: string | undefined;\n\n @Input() option: SelectItem | undefined;\n\n @Input({ transform: booleanAttribute }) selected: boolean | undefined;\n\n @Input({ transform: booleanAttribute }) focused: boolean | undefined;\n\n @Input() label: string | undefined;\n\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n\n @Input({ transform: booleanAttribute }) visible: boolean | undefined;\n\n @Input({ transform: numberAttribute }) itemSize: number | undefined;\n\n @Input() ariaPosInset: string | undefined;\n\n @Input() ariaSetSize: string | undefined;\n\n @Input() template: TemplateRef<any> | undefined;\n\n @Input({ transform: booleanAttribute }) checkmark: boolean;\n\n @Output() onClick: EventEmitter<any> = new EventEmitter();\n\n @Output() onMouseEnter: EventEmitter<any> = new EventEmitter();\n\n onOptionClick(event: Event) {\n this.onClick.emit(event);\n }\n\n onOptionMouseEnter(event: Event) {\n this.onMouseEnter.emit(event);\n }\n}\n\n/**\n * Dropdown also known as Select, is used to choose an item from a collection of options.\n * @group Components\n */\n@Component({\n selector: 'p-dropdown',\n standalone: false,\n template: `\n <span\n #focusInput\n [ngClass]=\"inputClass\"\n *ngIf=\"!editable\"\n [pTooltip]=\"tooltip\"\n [tooltipPosition]=\"tooltipPosition\"\n [positionStyle]=\"tooltipPositionStyle\"\n [tooltipStyleClass]=\"tooltipStyleClass\"\n [attr.aria-disabled]=\"disabled\"\n [attr.id]=\"inputId\"\n role=\"combobox\"\n [attr.aria-label]=\"ariaLabel || (label() === 'p-emptylabel' ? undefined : label())\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-haspopup]=\"'listbox'\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [attr.aria-controls]=\"overlayVisible ? id + '_list' : null\"\n [attr.tabindex]=\"!disabled ? tabindex : -1\"\n [pAutoFocus]=\"autofocus\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n [attr.aria-required]=\"required\"\n [attr.required]=\"required\"\n >\n <ng-container *ngIf=\"!selectedItemTemplate; else defaultPlaceholder\">{{ label() === 'p-emptylabel' ? ' ' : label() }}</ng-container>\n <ng-container *ngIf=\"selectedItemTemplate && selectedOption\" [ngTemplateOutlet]=\"selectedItemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: selectedOption }\"></ng-container>\n <ng-template #defaultPlaceholder>\n <span *ngIf=\"!selectedOption\">{{ label() === 'p-emptylabel' ? ' ' : label() }}</span>\n </ng-template>\n </span>\n <input\n *ngIf=\"editable\"\n #editableInput\n type=\"text\"\n [attr.id]=\"inputId\"\n [attr.maxlength]=\"maxlength\"\n [ngClass]=\"inputClass\"\n [disabled]=\"disabled\"\n aria-haspopup=\"listbox\"\n [attr.placeholder]=\"modelValue() === undefined || modelValue() === null ? placeholder() : undefined\"\n [attr.aria-label]=\"ariaLabel || (label() === 'p-emptylabel' ? undefined : label())\"\n (input)=\"onEditableInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n [pAutoFocus]=\"autofocus\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n />\n <ng-container *ngIf=\"isVisibleClearIcon\">\n <TimesIcon class=\"p-select-clear-icon\" (click)=\"clear($event)\" *ngIf=\"!clearIconTemplate\" [attr.data-pc-section]=\"'clearicon'\" />\n <span class=\"p-select-clear-icon\" (click)=\"clear($event)\" *ngIf=\"clearIconTemplate\" [attr.data-pc-section]=\"'clearicon'\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate; context: { class: 'p-select-clear-icon' }\"></ng-template>\n </span>\n </ng-container>\n\n <div class=\"p-select-dropdown\" role=\"button\" aria-label=\"dropdown trigger\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible ?? false\" [attr.data-pc-section]=\"'trigger'\">\n <ng-container *ngIf=\"loading; else elseBlock\">\n <ng-container *ngIf=\"loadingIconTemplate\">\n <ng-container *ngTemplateOutlet=\"loadingIconTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!loadingIconTemplate\">\n <span *ngIf=\"loadingIcon\" [ngClass]=\"'p-select-loading-icon pi-spin ' + loadingIcon\" aria-hidden=\"true\"></span>\n <span *ngIf=\"!loadingIcon\" [class]=\"'p-select-loading-icon pi pi-spinner pi-spin'\" aria-hidden=\"true\"></span>\n </ng-container>\n </ng-container>\n\n <ng-template #elseBlock>\n <ng-container *ngIf=\"!dropdownIconTemplate\">\n <span class=\"p-select-dropdown-icon\" *ngIf=\"dropdownIcon\" [ngClass]=\"dropdownIcon\"></span>\n <ChevronDownIcon *ngIf=\"!dropdownIcon\" [styleClass]=\"'p-select-dropdown-icon'\" />\n </ng-container>\n <span *ngIf=\"dropdownIconTemplate\" class=\"p-select-dropdown-icon\">\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate; context: { class: 'p-select-dropdown-icon' }\"></ng-template>\n </span>\n </ng-template>\n </div>\n\n <p-overlay\n #overlay\n [(visible)]=\"overlayVisible\"\n [options]=\"overlayOptions\"\n [target]=\"'@parent'\"\n [appendTo]=\"appendTo\"\n [autoZIndex]=\"autoZIndex\"\n [baseZIndex]=\"baseZIndex\"\n [showTransitionOptions]=\"showTransitionOptions\"\n [hideTransitionOptions]=\"hideTransitionOptions\"\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\n (onHide)=\"hide()\"\n >\n <ng-template #content>\n <div [ngClass]=\"'p-select-overlay p-component'\" [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\">\n <span\n #firstHiddenFocusableEl\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onFirstHiddenFocus($event)\"\n [attr.data-p-hidden-accessible]=\"true\"\n [attr.data-p-hidden-focusable]=\"true\"\n >\n </span>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <div class=\"p-select-header\" *ngIf=\"filter\" (click)=\"$event.stopPropagation()\">\n <ng-container *ngIf=\"filterTemplate; else builtInFilterElement\">\n <ng-container *ngTemplateOutlet=\"filterTemplate; context: { options: filterOptions }\"></ng-container>\n </ng-container>\n <ng-template #builtInFilterElement>\n <p-iconfield>\n <input\n #filter\n pInputText\n type=\"text\"\n role=\"searchbox\"\n autocomplete=\"off\"\n [value]=\"_filterValue() || ''\"\n class=\"p-select-filter\"\n [variant]=\"variant\"\n [attr.placeholder]=\"filterPlaceholder\"\n [attr.aria-owns]=\"id + '_list'\"\n (input)=\"onFilterInputChange($event)\"\n [attr.aria-label]=\"ariaFilterLabel\"\n [attr.aria-activedescendant]=\"focusedOptionId\"\n (keydown)=\"onFilterKeyDown($event)\"\n (blur)=\"onFilterBlur($event)\"\n />\n <p-inputicon>\n <SearchIcon *ngIf=\"!filterIconTemplate\" />\n <span *ngIf=\"filterIconTemplate\">\n <ng-template *ngTemplateOutlet=\"filterIconTemplate\"></ng-template>\n </span>\n </p-inputicon>\n </p-iconfield>\n </ng-template>\n </div>\n <div class=\"p-select-list-container\" [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight || 'auto'\">\n <p-scroller\n *ngIf=\"virtualScroll\"\n #scroller\n [items]=\"visibleOptions()\"\n [style]=\"{ height: scrollHeight }\"\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\n [autoSize]=\"true\"\n [lazy]=\"lazy\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions\"\n >\n <ng-template #content let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n <ng-container *ngIf=\"loaderTemplate\">\n <ng-template #loader let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n </ng-container>\n </p-scroller>\n <ng-container *ngIf=\"!virtualScroll\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: visibleOptions(), options: {} }\"></ng-container>\n </ng-container>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items [attr.id]=\"id + '_list'\" [attr.aria-label]=\"listLabel\" class=\"p-select-list\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\">\n <ng-template ngFor let-option [ngForOf]=\"items\" let-i=\"index\">\n <ng-container *ngIf=\"isOptionGroup(option)\">\n <li class=\"p-select-option-group\" [attr.id]=\"id + '_' + getOptionIndex(i, scrollerOptions)\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(option.optionGroup) }}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: option.optionGroup }\"></ng-container>\n </li>\n </ng-container>\n <ng-container *ngIf=\"!isOptionGroup(option)\">\n <p-dropdownItem\n [id]=\"id + '_' + getOptionIndex(i, scrollerOptions)\"\n [option]=\"option\"\n [checkmark]=\"checkmark\"\n [selected]=\"isSelected(option)\"\n [label]=\"getOptionLabel(option)\"\n [disabled]=\"isOptionDisabled(option)\"\n [template]=\"itemTemplate\"\n [focused]=\"focusedOptionIndex() === getOptionIndex(i, scrollerOptions)\"\n [ariaPosInset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\n [ariaSetSize]=\"ariaSetSize\"\n (onClick)=\"onOptionSelect($event, option)\"\n (onMouseEnter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\n ></p-dropdownItem>\n </ng-container>\n </ng-template>\n <li *ngIf=\"filterValue && isEmpty()\" class=\"p-select-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\n @if (!emptyFilterTemplate && !emptyTemplate) {\n {{ emptyFilterMessageLabel }}\n } @else {\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || emptyTemplate\"></ng-container>\n }\n </li>\n <li *ngIf=\"!filterValue && isEmpty()\" class=\"p-select-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\n @if (!emptyTemplate) {\n {{ emptyMessageLabel }}\n } @else {\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n }\n </li>\n </ul>\n </ng-template>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n <span\n #lastHiddenFocusableEl\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onLastHiddenFocus($event)\"\n [attr.data-p-hidden-accessible]=\"true\"\n [attr.data-p-hidden-focusable]=\"true\"\n ></span>\n </div>\n </ng-template>\n </p-overlay>\n `,\n host: {\n '[attr.id]': 'id',\n '(click)': 'onContainerClick($event)'\n },\n providers: [DROPDOWN_VALUE_ACCESSOR, DropdownStyle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class Dropdown extends BaseComponent implements OnInit, AfterViewInit, AfterContentInit, AfterViewChecked, ControlValueAccessor {\n /**\n * Unique identifier of the component\n * @group Props\n */\n @Input() id: string | undefined;\n /**\n * Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n @Input() scrollHeight: string = '200px';\n /**\n * When specified, displays an input field to filter the items on keyup.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) filter: boolean | undefined;\n /**\n * Name of the input element.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Inline style of the overlay panel element.\n * @group Props\n */\n @Input() panelStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Style class of the overlay panel element.\n * @group Props\n */\n @Input() panelStyleClass: string | undefined;\n /**\n * When present, it specifies that the component cannot be edited.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\n /**\n * When present, it specifies that an input field must be filled out before submitting the form.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) required: boolean | undefined;\n /**\n * When present, custom value instead of predefined options can be entered using the editable input field.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) editable: boolean | undefined;\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined = 0;\n /**\n * Default text to display when no option is selected.\n * @group Props\n */\n @Input() set placeholder(val: string | undefined) {\n this._placeholder.set(val);\n }\n get placeholder(): Signal<string | undefined> {\n return this._placeholder.asReadonly();\n }\n /**\n * Icon to display in loading state.\n * @group Props\n */\n @Input() loadingIcon: string | undefined;\n /**\n * Placeholder text to show when filter input is empty.\n * @group Props\n */\n @Input() filterPlaceholder: string | undefined;\n /**\n * Locale to use in filtering. The default locale is the host environment's current locale.\n * @group Props\n */\n @Input() filterLocale: string | undefined;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\n /**\n * Identifier of the accessible input element.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n @Input() dataKey: string | undefined;\n /**\n * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.\n * @group Props\n */\n @Input() filterBy: string | undefined;\n /**\n * Fields used when filtering the options, defaults to optionLabel.\n * @group Props\n */\n @Input() filterFields: any[] | undefined;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Clears the filter value when hiding the dropdown.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) resetFilterOnHide: boolean = false;\n /**\n * Whether the selected option will be shown with a check mark.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) checkmark: boolean = false;\n /**\n * Icon class of the dropdown icon.\n * @group Props\n */\n @Input() dropdownIcon: string | undefined;\n /**\n * Whether the dropdown is in loading state.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) loading: boolean | undefined = false;\n /**\n * Name of the label field of an option.\n * @group Props\n */\n @Input() optionLabel: string | undefined;\n /**\n * Name of the value field of an option.\n * @group Props\n */\n @Input() optionValue: string | undefined;\n /**\n * Name of the disabled field of an option.\n * @group Props\n */\n @Input() optionDisabled: string | undefined;\n /**\n * Name of the label field of an option group.\n * @group Props\n */\n @Input() optionGroupLabel: string | undefined = 'label';\n /**\n * Name of the options field of an option group.\n * @group Props\n */\n @Input() optionGroupChildren: string = 'items';\n /**\n * Whether to display the first item as the label if no placeholder is defined and value is null.\n * @deprecated since v17.3.0, set initial value by model instead.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoDisplayFirst: boolean = true;\n /**\n * Whether to display options as grouped when nested options are provided.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) group: boolean | undefined;\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showClear: boolean | undefined;\n /**\n * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n @Input() emptyFilterMessage: string = '';\n /**\n * Text to display when there is no data. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n @Input() emptyMessage: string = '';\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) lazy: boolean = false;\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) virtualScroll: boolean | undefined;\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n @Input({ transform: numberAttribute }) virtualScrollItemSize: number | undefined;\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n @Input() virtualScrollOptions: ScrollerOptions | undefined;\n /**\n * Whether to use overlay API feature. The properties of overlay API can be used like an object in it.\n * @group Props\n */\n @Input() overlayOptions: OverlayOptions | undefined;\n /**\n * Defines a string that labels the filter input.\n * @group Props\n */\n @Input() ariaFilterLabel: string | undefined;\n /**\n * Used to define a aria label attribute the current element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Defines how the items are filtered.\n * @group Props\n */\n @Input() filterMatchMode: 'contains' | 'startsWith' | 'endsWith' | 'equals' | 'notEquals' | 'in' | 'lt' | 'lte' | 'gt' | 'gte' = 'contains';\n /**\n * Maximum number of character allows in the editable input field.\n * @group Props\n */\n @Input({ transform: numberAttribute }) maxlength: number | undefined;\n /**\n * Advisory information to display in a tooltip on hover.\n * @group Props\n */\n @Input() tooltip: string = '';\n /**\n * Position of the tooltip.\n * @group Props\n */\n @Input() tooltipPosition: 'top' | 'left' | 'right' | 'bottom' = 'right';\n /**\n * Type of CSS position.\n * @group Props\n */\n @Input() tooltipPositionStyle: string = 'absolute';\n /**\n * Style class of the tooltip.\n * @group Props\n */\n @Input() tooltipStyleClass: string | undefined;\n /**\n * Fields used when filtering the options, defaults to optionLabel.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) focusOnHover: boolean = false;\n /**\n * Determines if the option will be selected on focus.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) selectOnFocus: boolean = false;\n /**\n * Whether to focus on the first visible or selected element when the overlay panel is shown.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoOptionFocus: boolean = true;\n /**\n * Applies focus to the filter element when the overlay is shown.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocusFilter: boolean = true;\n /**\n * Whether the component should span the full width of its parent.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) fluid: boolean | undefined;\n /**\n * When present, it specifies that the component should be disabled.\n * @group Props\n */\n @Input() get disabled(): boolean | undefined {\n return this._disabled;\n }\n set disabled(_disabled: boolean | undefined) {\n if (_disabled) {\n this.focused = false;\n\n if (this.overlayVisible) this.hide();\n }\n\n this._disabled = _disabled;\n if (!(this.cd as ViewRef).destroyed) {\n this.cd.detectChanges();\n }\n }\n /**\n * Item size of item to be virtual scrolled.\n * @group Props\n * @deprecated use virtualScrollItemSize property instead.\n */\n @Input() get itemSize(): number | undefined {\n return this._itemSize;\n }\n set itemSize(val: number | undefined) {\n this._itemSize = val;\n console.log('The itemSize property is deprecated, use virtualScrollItemSize property instead.');\n }\n _itemSize: number | undefined;\n /**\n * Whether to automatically manage layering.\n * @group Props\n * @deprecated since v14.2.0, use overlayOptions property instead.\n */\n @Input() get autoZIndex(): boolean | undefined {\n return this._autoZIndex;\n }\n set autoZIndex(val: boolean | undefined) {\n this._autoZIndex = val;\n console.log('The autoZIndex property is deprecated since v14.2.0, use overlayOptions property instead.');\n }\n _autoZIndex: boolean | undefined;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n * @deprecated since v14.2.0, use overlayOptions property instead.\n */\n @Input() get baseZIndex(): number | undefined {\n return this._baseZIndex;\n }\n set baseZIndex(val: number | undefined) {\n this._baseZIndex = val;\n console.log('The baseZIndex property is deprecated since v14.2.0, use overlayOptions property instead.');\n }\n _baseZIndex: number | undefined;\n /**\n * Transition options of the show animation.\n * @group Props\n * @deprecated since v14.2.0, use overlayOptions property instead.\n */\n @Input() get showTransitionOptions(): string | undefined {\n return this._showTransitionOptions;\n }\n set showTransitionOptions(val: string | undefined) {\n this._showTransitionOptions = val;\n console.log('The showTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.');\n }\n _showTransitionOptions: string | undefined;\n /**\n * Transition options of the hide animation.\n * @group Props\n * @deprecated since v14.2.0, use overlayOptions property instead.\n */\n @Input() get hideTransitionOptions(): string | undefined {\n return this._hideTransitionOptions;\n }\n set hideTransitionOptions(val: string | undefined) {\n this._hideTransitionOptions = val;\n console.log('The hideTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.');\n }\n _hideTransitionOptions: string | undefined;\n /**\n * When specified, filter displays with this value.\n * @group Props\n */\n @Input() get filterValue(): string | undefined | null {\n return this._filterValue();\n }\n set filterValue(val: string | undefined | null) {\n setTimeout(() => {\n this._filterValue.set(val);\n });\n }\n /**\n * An array of objects to display as the available options.\n * @group Props\n */\n @Input() get options(): any[] | undefined {\n const options = this._options();\n return options;\n }\n set options(val: any[] | undefined) {\n if (!deepEquals(val, this._options())) {\n this._options.set(val);\n }\n }\n /**\n * Callback to invoke when value of dropdown changes.\n * @param {DropdownChangeEvent} event - custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<DropdownChangeEvent> = new EventEmitter<DropdownChangeEvent>();\n /**\n * Callback to invoke when data is filtered.\n * @param {DropdownFilterEvent} event - custom filter event.\n * @group Emits\n */\n @Output() onFilter: EventEmitter<DropdownFilterEvent> = new EventEmitter<DropdownFilterEvent>();\n /**\n * Callback to invoke when dropdown gets focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when dropdown loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when component is clicked.\n * @param {MouseEvent} event - Mouse event.\n * @group Emits\n */\n @Output() onClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n /**\n * Callback to invoke when dropdown overlay gets visible.\n * @param {AnimationEvent} event - Animation event.\n * @group Emits\n */\n @Output() onShow: EventEmitter<AnimationEvent> = new EventEmitter<AnimationEvent>();\n /**\n * Callback to invoke when dropdown overlay gets hidden.\n * @param {AnimationEvent} event - Animation event.\n * @group Emits\n */\n @Output() onHide: EventEmitter<AnimationEvent> = new EventEmitter<AnimationEvent>();\n /**\n * Callback to invoke when dropdown clears the value.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onClear: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke in lazy mode to load new data.\n * @param {DropdownLazyLoadEvent} event - Lazy load event.\n * @group Emits\n */\n @Output() onLazyLoad: EventEmitter<DropdownLazyLoadEvent> = new EventEmitter<DropdownLazyLoadEvent>();\n\n _componentStyle = inject(DropdownStyle);\n\n @ViewChild('container') containerViewChild: Nullable<ElementRef>;\n\n @ViewChild('filter') filterViewChild: Nullable<ElementRef>;\n\n @ViewChild('focusInput') focusInputViewChild: Nullable<ElementRef>;\n\n @ViewChild('editableInput') editableInputViewChild: Nullable<ElementRef>;\n\n @ViewChild('items') itemsViewChild: Nullable<ElementRef>;\n\n @ViewChild('scroller') scroller: Nullable<Scroller>;\n\n @ViewChild('overlay') overlayViewChild: Nullable<Overlay>;\n\n @ViewChild('firstHiddenFocusableEl') firstHiddenFocusableElementOnOverlay: Nullable<ElementRef>;\n\n @ViewChild('lastHiddenFocusableEl') lastHiddenFocusableElementOnOverlay: Nullable<ElementRef>;\n\n // @todo to be refactored\n @HostBinding('class') get hostClass() {\n const classes = this._componentStyle.classes\n .root({ instance: this })\n .map((cls) => {\n if (typeof cls === 'string') {\n return cls;\n } else {\n return Object.keys(cls)\n .filter((key) => cls[key])\n .join(' ');\n }\n })\n .join(' ');\n\n return classes + ' ' + this.styleClass;\n }\n\n @HostBinding('style') get hostStyle() {\n return this.style;\n }\n\n _disabled: boolean | undefined;\n\n itemsWrapper: Nullable<HTMLDivElement>;\n\n itemTemplate: Nullable<TemplateRef<any>>;\n\n groupTemplate: Nullable<TemplateRef<any>>;\n\n loaderTemplate: Nullable<TemplateRef<any>>;\n\n selectedItemTemplate: Nullable<TemplateRef<any>>;\n\n headerTemplate: Nullable<TemplateRef<any>>;\n\n filterTemplate: Nullable<TemplateRef<any>>;\n\n footerTemplate: Nullable<TemplateRef<any>>;\n\n emptyFilterTemplate: Nullable<TemplateRef<any>>;\n\n emptyTemplate: Nullable<TemplateRef<any>>;\n\n dropdownIconTemplate: Nullable<TemplateRef<any>>;\n\n loadingIconTemplate: Nullable<TemplateRef<any>>;\n\n clearIconTemplate: Nullable<TemplateRef<any>>;\n\n filterIconTemplate: Nullable<TemplateRef<any>>;\n\n filterOptions: DropdownFilterOptions | undefined;\n\n _options = signal<any[] | undefined>(null);\n\n _placeholder = signal<string | undefined>(undefined);\n\n modelValue = signal<any>(null);\n\n value: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n hover: Nullable<boolean>;\n\n focused: Nullable<boolean>;\n\n overlayVisible: Nullable<boolean>;\n\n optionsChanged: Nullable<boolean>;\n\n panel: Nullable<HTMLDivElement>;\n\n selectedOptionUpdated: Nullable<boolean>;\n\n _filterValue = signal<any>(null);\n\n searchValue: Nullable<string>;\n\n searchTimeout: any;\n\n preventModelTouched: Nullable<boolean>;\n\n focusedOptionIndex = signal<number>(-1);\n\n clicked = signal<boolean>(false);\n\n get emptyMessageLabel(): string {\n return this.emptyMessage || this.config.getTranslation(TranslationKeys.EMPTY_MESSAGE);\n }\n\n get emptyFilterMessageLabel(): string {\n return this.emptyFilterMessage || this.config.getTranslation(TranslationKeys.EMPTY_FILTER_MESSAGE);\n }\n\n get isVisibleClearIcon(): boolean | undefined {\n return this.modelValue() != null && this.hasSelectedOption() && this.showClear && !this.disabled;\n }\n\n get listLabel(): string {\n return this.config.getTranslation(TranslationKeys.ARIA)['listLabel'];\n }\n\n get hasFluid() {\n const nativeElement = this.el.nativeElement;\n const fluidComponent = nativeElement.closest('p-fluid');\n return this.fluid || !!fluidComponent;\n }\n\n get inputClass() {\n const label = this.label();\n return {\n 'p-select-label': true,\n 'p-placeholder': this.placeholder() && label === this.placeholder(),\n 'p-select-label-empty': !this.editable && !this.selectedItemTemplate && (label === undefined || label === null || label === 'p-emptylabel' || label.length === 0)\n };\n }\n\n get focusedOptionId() {\n return this.focusedOptionIndex() !== -1 ? `${this.id}_${this.focusedOptionIndex()}` : null;\n }\n\n visibleOptions = computed(() => {\n const options = this.getAllVisibleAndNonVisibleOptions();\n\n if (this._filterValue()) {\n const _filterBy = this.filterBy || this.optionLabel;\n\n const filteredOptions =\n !_filterBy && !this.filterFields && !this.optionValue\n ? this.options.filter((option) => {\n if (option.label) {\n return option.label.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()) !== -1;\n }\n return option.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()) !== -1;\n })\n : this.filterService.filter(options, this.searchFields(), this._filterValue().trim(), this.filterMatchMode, this.filterLocale);\n\n if (this.group) {\n const optionGroups = this.options || [];\n const filtered = [];\n\n optionGroups.forEach((group) => {\n const groupChildren = this.getOptionGroupChildren(group);\n const filteredItems = groupChildren.filter((item) => filteredOptions.includes(item));\n\n if (filteredItems.length > 0)\n filtered.push({\n ...group,\n [typeof this.optionGroupChildren === 'string' ? this.optionGroupChildren : 'items']: [...filteredItems]\n });\n });\n\n return this.flatOptions(filtered);\n }\n return filteredOptions;\n }\n\n return options;\n });\n\n label = computed(() => {\n // use getAllVisibleAndNonVisibleOptions verses just visible options\n // this will find the selected option whether or not the user is currently filtering because the filtered (i.e. visible) options, are a subset of all the options\n const options = this.getAllVisibleAndNonVisibleOptions();\n // use isOptionEqualsModelValue for the use case where the dropdown is initalized with a disabled option\n const selectedOptionIndex = options.findIndex((option) => this.isOptionValueEqualsModelValue(option));\n\n return selectedOptionIndex !== -1 ? this.getOptionLabel(options[selectedOptionIndex]) : this.placeholder() || 'p-emptylabel';\n });\n\n filled = computed(() => {\n if (typeof this.modelValue() === 'string') return !!this.modelValue();\n return this.label() !== 'p-emptylabel' && this.modelValue() !== undefined && this.modelValue() !== null;\n });\n\n selectedOption: any;\n\n editableInputValue = computed(() => this.getOptionLabel(this.selectedOption) || this.modelValue() || '');\n\n constructor(\n public zone: NgZone,\n public filterService: FilterService\n ) {\n super();\n effect(() => {\n const modelValue = this.modelValue();\n const visibleOptions = this.visibleOptions();\n\n if (visibleOptions && isNotEmpty(visibleOptions)) {\n const selectedOptionIndex = this.findSelectedOptionIndex();\n\n if (selectedOptionIndex !== -1 || modelValue === undefined || (typeof modelValue === 'string' && modelValue.length === 0) || this.isModelValueNotSet() || this.editable) {\n this.selectedOption = visibleOptions[selectedOptionIndex];\n }\n }\n\n if (isEmpty(visibleOptions) && (modelValue === undefined || this.isModelValueNotSet()) && isNotEmpty(this.selectedOption)) {\n this.selectedOption = null;\n }\n\n if (modelValue !== undefined && this.editable) {\n this.updateEditableLabel();\n }\n this.cd.markForCheck();\n });\n }\n\n private isModelValueNotSet(): boolean {\n return this.modelValue() === null && !this.isOptionValueEqualsModelValue(this.selectedOption);\n }\n\n private getAllVisibleAndNonVisibleOptions() {\n return this.group ? this.flatOptions(this.options) : this.options || [];\n }\n\n ngOnInit() {\n super.ngOnInit();\n console.log('Dropdown component is deprecated as of v18, use Select component instead.');\n this.id = this.id || uuid('pn_id_');\n this.autoUpdateModel();\n\n if (this.filterBy) {\n this.filterOptions = {\n filter: (value) => this.onFilterInputChange(value),\n reset: () => this.resetFilter()\n };\n }\n }\n\n ngAfterViewChecked() {\n if (this.optionsChanged && this.overlayVisible) {\n this.optionsChanged = false;\n\n this.zone.runOutsideAngular(() => {\n setTimeout(() => {\n if (this.overlayViewChild) {\n this.overlayViewChild.alignOverlay();\n }\n }, 1);\n });\n }\n\n if (this.selectedOptionUpdated && this.itemsWrapper) {\n let selectedItem = <any>findSingle(this.overlayViewChild?.overlayViewChild?.nativeElement, 'li.p-highlight');\n if (selectedItem) {\n scrollInView(this.itemsWrapper, selectedItem);\n }\n this.selectedOptionUpdated = false;\n }\n }\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n ngAfterContentInit() {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'selectedItem':\n this.selectedItemTemplate = item.template;\n break;\n\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'filter':\n this.filterTemplate = item.template;\n break;\n\n case 'footer':\n this.footerTemplate = item.template;\n break;\n\n case 'emptyfilter':\n this.emptyFilterTemplate = item.template;\n break;\n\n case 'empty':\n this.emptyTemplate = item.template;\n break;\n\n case 'group':\n this.groupTemplate = item.template;\n break;\n\n case 'loader':\n this.loaderTemplate = item.template;\n break;\n\n case 'dropdownicon':\n this.dropdownIconTemplate = item.template;\n break;\n\n case 'loadingicon':\n this.loadingIconTemplate = item.template;\n break;\n\n case 'clearicon':\n this.clearIconTemplate = item.template;\n break;\n\n case 'filtericon':\n this.filterIconTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n flatOptions(options) {\n return (options || []).reduce((result, option, index) => {\n result.push({ optionGroup: option, group: true, index });\n\n const optionGroupChildren = this.getOptionGroupChildren(option);\n\n optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));\n\n return result;\n }, []);\n }\n\n autoUpdateModel() {\n if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption()) {\n this.focusedOptionIndex.set(this.findFirstFocusedOptionIndex());\n this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()], false);\n }\n if (this.autoDisplayFirst && (this.modelValue() === null || this.modelValue() === undefined)) {\n if (!this.placeholder()) {\n const ind = this.findFirstOptionIndex();\n this.onOptionSelect(null, this.visibleOptions()[ind], false, true);\n }\n }\n }\n\n onOptionSelect(event, option, isHide = true, preventChange = false) {\n if (!this.isSelected(option)) {\n const value = this.getOptionValue(option);\n this.updateModel(value, event);\n this.focusedOptionIndex.set(this.findSelectedOptionIndex());\n preventChange === false && this.onChange.emit({ originalEvent: event, value: value });\n }\n if (isHide) {\n this.hide(true);\n }\n }\n\n onOptionMouseEnter(event, index) {\n if (this.focusOnHover) {\n this.changeFocusedOptionIndex(event, index);\n }\n }\n\n updateModel(value, event?) {\n this.value = value;\n this.onModelChange(value);\n this.modelValue.set(value);\n this.selectedOptionUpdated = true;\n }\n\n writeValue(value: any): void {\n if (this.filter) {\n this.resetFilter();\n }\n\n this.value = value;\n this.allowModelChange() && this.onModelChange(value);\n this.modelValue.set(this.value);\n this.updateEditableLabel();\n this.cd.markForCheck();\n }\n\n allowModelChange() {\n return this.autoDisplayFirst && !this.placeholder() && (this.modelValue() === undefined || this.modelValue() === null) && !this.editable && this.options && this.options.length;\n }\n\n isSelected(option) {\n return this.isValidOption(option) && this.isOptionValueEqualsModelValue(option);\n }\n\n private isOptionValueEqualsModelValue(option: any) {\n return equals(this.modelValue(), this.getOptionValue(option), this.equalityKey());\n }\n\n ngAfterViewInit() {\n if (this.editable) {\n this.updateEditableLabel();\n }\n this.updatePlaceHolderForFloatingLabel();\n }\n\n updatePlaceHolderForFloatingLabel(): void {\n const parentElement = this.el.nativeElement.parentElement;\n const isInFloatingLabel = parentElement?.classList.contains('p-float-label');\n if (parentElement && isInFloatingLabel && !this.selectedOption) {\n const label = parentElement.querySelector('label');\n if (label) {\n this._placeholder.set(label.textContent);\n }\n }\n }\n\n updateEditableLabel(): void {\n if (this.editableInputViewChild) {\n this.editableInputViewChild.nativeElement.value = this.getOptionLabel(this.selectedOption) || this.modelValue() || '';\n }\n }\n\n clearEditableLabel(): void {\n if (this.editableInputViewChild) {\n this.editableInputViewChild.nativeElement.value = '';\n }\n }\n\n getOptionIndex(index, scrollerOptions) {\n return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];\n }\n\n getOptionLabel(option: any) {\n return this.optionLabel !== undefined && this.optionLabel !== null ? resolveFieldData(option, this.optionLabel) : option && option.label !== undefined ? option.label : option;\n }\n\n getOptionValue(option: any) {\n return this.optionValue && this.optionValue !== null ? resolveFieldData(option, this.optionValue) : !this.optionLabel && option && option.value !== undefined ? option.value : option;\n }\n\n isOptionDisabled(option: any) {\n if (this.getOptionValue(this.modelValue()) === this.getOptionValue(option) || (this.getOptionLabel(this.modelValue() === this.getOptionLabel(option)) && option.disabled === false)) {\n return false;\n } else {\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : option && option.disabled !== undefined ? option.disabled : false;\n }\n }\n\n getOptionGroupLabel(optionGroup: any) {\n return this.optionGroupLabel !== undefined && this.optionGroupLabel !== null ? resolveFieldData(optionGroup, this.optionGroupLabel) : optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup;\n }\n\n getOptionGroupChildren(optionGroup: any) {\n return this.optionGroupChildren !== undefined && this.optionGroupChildren !== null ? resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;\n }\n\n getAriaPosInset(index) {\n return (\n (this.optionGroupLabel\n ? index -\n this.visibleOptions()\n .slice(0, index)\n .filter((option) => this.isOptionGroup(option)).length\n : index) + 1\n );\n }\n\n get ariaSetSize() {\n return this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length;\n }\n\n /**\n * Callback to invoke on filter reset.\n * @group Method\n */\n public resetFilter(): void {\n this._filterValue.set(null);\n\n if (this.filterViewChild && this.filterViewChild.nativeElement) {\n this.filterViewChild.nativeElement.value = '';\n }\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n onContainerClick(event: any) {\n if (this.disabled || this.readonly || this.loading) {\n return;\n }\n\n this.focusInputViewChild?.nativeElement.focus({ preventScroll: true });\n\n if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section=\"clearicon\"]')) {\n return;\n } else if (!this.overlayViewChild || !this.overlayViewChild.el.nativeElement.contains(event.target)) {\n this.overlayVisible ? this.hide(true) : this.show(true);\n }\n this.onClick.emit(event);\n this.clicked.set(true);\n this.cd.detectChanges();\n }\n\n isEmpty() {\n return !this._options() || (this.visibleOptions() && this.visibleOptions().length === 0);\n }\n\n onEditableInput(event: any) {\n const value = (event.target as HTMLInputElement).value;\n this.searchValue = '';\n const matched = this.searchOptions(event, value);\n !matched && this.focusedOptionIndex.set(-1);\n\n this.onModelChange(value);\n this.updateModel(value, event);\n setTimeout(() => {\n this.onChange.emit({ originalEvent: event, value: value });\n }, 1);\n\n !this.overlayVisible && isNotEmpty(value) && this.show();\n }\n /**\n * Displays the panel.\n * @group Method\n */\n public show(isFocus?) {\n this.overlayVisible = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.editable ? -1 : this.findSelectedOptionIndex();\n this.focusedOptionIndex.set(focusedOptionIndex);\n\n if (isFocus) {\n focus(this.focusInputViewChild?.nativeElement);\n }\n\n this.cd.markForCheck();\n }\n\n onOverlayAnimationStart(event: any) {\n if (event.toState === 'visible') {\n this.itemsWrapper = <any>findSingle(this.overlayViewChild?.overlayViewChild?.nativeElement, this.virtualScroll ? '.p-scroller' : '.p-dropdown-items-wrapper');\n this.virtualScroll && this.scroller?.setContentEl(this.itemsViewChild?.nativeElement);\n\n if (this.options && this.options.length) {\n if (this.virtualScroll) {\n const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;\n if (selectedIndex !== -1) {\n this.scroller?.scrollToIndex(selectedIndex);\n }\n } else {\n let selectedListItem = findSingle(this.itemsWrapper, '.p-dropdown-item.p-highlight');\n\n if (selectedListItem) {\n selectedListItem.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n }\n }\n\n if (this.filterViewChild && this.filterViewChild.nativeElement) {\n this.preventModelTouched = true;\n\n if (this.autofocusFilter && !this.editable) {\n this.filterViewChild.nativeElement.focus();\n }\n }\n\n this.onShow.emit(event);\n }\n if (event.toState === 'void') {\n this.itemsWrapper = null;\n this.onModelTouched();\n this.onHide.emit(event);\n }\n }\n /**\n * Hides the panel.\n * @group Method\n */\n public hide(isFocus?) {\n this.overlayVisible = false;\n this.focusedOptionIndex.set(-1);\n this.clicked.set(false);\n this.searchValue = '';\n\n if (this.overlayOptions?.mode === 'modal') {\n unblockBodyScroll();\n }\n if (this.filter && this.resetFilterOnHide) {\n this.resetFilter();\n }\n if (isFocus) {\n if (this.focusInputViewChild) {\n focus(this.focusInputViewChild?.nativeElement);\n }\n if (this.editable && this.editableInputViewChild) {\n focus(this.editableInputViewChild?.nativeElement);\n }\n }\n this.cd.markForCheck();\n }\n\n onInputFocus(event: Event) {\n if (this.disabled) {\n // For ScreenReaders\n return;\n }\n\n this.focused = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.overlayVisible && this.scrollInView(this.focusedOptionIndex());\n\n this.onFocus.emit(event);\n }\n\n onInputBlur(event: Event) {\n this.focused = false;\n this.onBlur.emit(event);\n\n if (!this.preventModelTouched) {\n this.onModelTouched();\n }\n this.preventModelTouched = false;\n }\n\n onKeyDown(event: any, search?: boolean) {\n if (this.disabled || this.readonly || this.loading) {\n return;\n }\n\n switch (event.code) {\n //down\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n //up\n case 'ArrowUp':\n this.onArrowUpKey(event, this.editable);\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n this.onArrowLeftKey(event, this.editable);\n break;\n\n case 'Delete':\n this.onDeleteKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event, this.editable);\n break;\n\n case 'End':\n this.onEndKey(event, this.editable);\n break;\n\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n\n //space\n case 'Space':\n this.onSpaceKey(event, search);\n break;\n\n //enter\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n //escape and tab\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKey(event, this.editable);\n break;\n\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n\n default:\n if (!event.metaKey && isPrintableCharacter(event.key)) {\n !this.overlayVisible && this.show();\n !this.editable && this.searchOptions(event, event.key);\n }\n\n break;\n }\n\n this.clicked.set(false);\n }\n\n onFilterKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event, true);\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n this.onArrowLeftKey(event, true);\n break;\n\n case 'Home':\n this.onHomeKey(event, true);\n break;\n\n case 'End':\n this.onEndKey(event, true);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event, true);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event, true);\n break;\n\n default:\n break;\n }\n }\n\n onFilterBlur(event) {\n this.focusedOptionIndex.set(-1);\n }\n\n onArrowDownKey(event: KeyboardEvent) {\n if (!this.overlayVisible) {\n this.show();\n this.editable && this.changeFocusedOptionIndex(event, this.findSelectedOptionIndex());\n } else {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n // const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();\n // this.changeFocusedOptionIndex(event, optionIndex);\n\n // !this.overlayVisible && this.show();\n event.preventDefault();\n event.stopPropagation();\n }\n\n changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex() !== index) {\n this.focusedOptionIndex.set(index);\n this.scrollInView();\n\n if (this.selectOnFocus) {\n const option = this.visibleOptions()[index];\n this.onOptionSelect(event, option, false);\n }\n }\n }\n\n get virtualScrollerDisabled() {\n return !this.virtualScroll;\n }\n\n scrollInView(index = -1) {\n const id = index !== -1 ? `${this.id}_${index}` : this.focusedOptionId;\n\n if (this.itemsViewChild && this.itemsViewChild.nativeElement) {\n const element = findSingle(this.itemsViewChild.nativeElement, `li[id=\"${id}\"]`);\n if (element) {\n element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n } else if (!this.virtualScrollerDisabled) {\n setTimeout(() => {\n this.virtualScroll && this.scroller?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());\n }, 0);\n }\n }\n }\n\n hasSelectedOption() {\n return this.modelValue() !== undefined;\n }\n\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n }\n\n equalityKey() {\n return this.optionValue ? null : this.dataKey;\n }\n\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findFirstOptionIndex() {\n return this.visibleOptions().findIndex((option) => this.isValidOption(option));\n }\n\n findSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findNextOptionIndex(index) {\n const matchedOptionIndex =\n index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((option) => this.isValidOption(option))\n : -1;\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n }\n\n findPrevOptionIndex(index) {\n const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n\n findLastOptionIndex() {\n return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));\n }\n\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n isValidOption(option) {\n return option !== undefined && option !== null && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n }\n\n isOptionGroup(option) {\n return this.optionGroupLabel !== undefined && this.optionGroupLabel !== null && option.optionGroup !== undefined && option.optionGroup !== null && option.group;\n }\n\n onArrowUpKey(event: KeyboardEvent, pressedInInputText: boolean = false) {\n if (event.altKey && !pressedInInputText) {\n if (this.focusedOptionIndex() !== -1) {\n const option = this.visibleOptions()[this.focusedOptionIndex()];\n this.onOptionSelect(event, option);\n }\n\n this.overlayVisible && this.hide();\n } else {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n !this.overlayVisible && this.show();\n }\n event.preventDefault();\n event.stopPropagation();\n }\n\n onArrowLeftKey(event: KeyboardEvent, pressedInInputText: boolean = false) {\n pressedInInputText && this.focusedOptionIndex.set(-1);\n }\n\n onDeleteKey(event: KeyboardEvent) {\n if (this.showClear) {\n this.clear(event);\n event.preventDefault();\n }\n }\n\n onHomeKey(event: any, pressedInInputText: boolean = false) {\n if (pressedInInputText) {\n const target = event.currentTarget;\n if (event.shiftKey) {\n target.setSelectionRange(0, target.value.length);\n } else {\n target.setSelectionRange(0, 0);\n this.focusedOptionIndex.set(-1);\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findFirstOptionIndex());\n\n !this.overlayVisible && this.show();\n }\n\n event.preventDefault();\n }\n\n onEndKey(event: any, pressedInInputText = false) {\n if (pressedInInputText) {\n const target = event.currentTarget;\n\n if (event.shiftKey) {\n target.setSelectionRange(0, target.value.length);\n } else {\n const len = target.value.length;\n\n target.setSelectionRange(len, len);\n this.focusedOptionIndex.set(-1);\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findLastOptionIndex());\n\n !this.overlayVisible && this.show();\n }\n\n event.preventDefault();\n }\n\n onPageDownKey(event: KeyboardEvent) {\n this.scrollInView(this.visibleOptions().length - 1);\n event.preventDefault();\n }\n\n onPageUpKey(event: KeyboardEvent) {\n this.scrollInView(0);\n event.preventDefault();\n }\n\n onSpaceKey(event: KeyboardEvent, pressedInInputText: boolean = false) {\n !this.editable && !pressedInInputText && this.onEnterKey(event);\n }\n\n onEnterKey(event, pressedInInput = false) {\n if (!this.overlayVisible) {\n this.focusedOptionIndex.set(-1);\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionIndex() !== -1) {\n const option = this.visibleOptions()[this.focusedOptionIndex()];\n this.onOptionSelect(event, option);\n }\n\n !pressedInInput && this.hide();\n }\n\n event.preventDefault();\n }\n\n onEscapeKey(event: KeyboardEvent) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n }\n\n onTabKey(event, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible && this.hasFocusableElements()) {\n focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay.nativeElement : this.firstHiddenFocusableElementOnOverlay.nativeElement);\n event.preventDefault();\n } else {\n if (this.focusedOptionIndex() !== -1 && this.overlayVisible) {\n const option = this.visibleOptions()[this.focusedOptionIndex()];\n this.onOptionSelect(event, option);\n }\n this.overlayVisible && this.hide(this.filter);\n }\n }\n event.stopPropagation();\n }\n\n onFirstHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.focusInputViewChild?.nativeElement ? getFirstFocusableElement(this.overlayViewChild.el?.nativeElement, ':not(.p-hidden-focusable)') : this.focusInputViewChild?.nativeElement;\n focus(focusableEl);\n }\n\n onLastHiddenFocus(event) {\n const focusableEl =\n event.relatedTarget === this.focusInputViewChild?.nativeElement ? getLastFocusableElement(this.overlayViewChild?.overlayViewChild?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])') : this.focusInputViewChild?.nativeElement;\n\n focus(focusableEl);\n }\n\n hasFocusableElements() {\n return getFocusableElements(this.overlayViewChild.overlayViewChild.nativeElement, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n }\n\n onBackspaceKey(event: KeyboardEvent, pressedInInputText = false) {\n if (pressedInInputText) {\n !this.overlayVisible && this.show();\n }\n }\n\n searchFields() {\n return this.filterBy?.split(',') || this.filterFields || [this.optionLabel];\n }\n\n searchOptions(event, char) {\n this.searchValue = (this.searchValue || '') + char;\n\n let optionIndex = -1;\n let matched = false;\n\n if (this.focusedOptionIndex() !== -1) {\n optionIndex = this.visibleOptions()\n .slice(this.focusedOptionIndex())\n .findIndex((option) => this.isOptionMatched(option));\n optionIndex =\n optionIndex === -1\n ? this.visibleOptions()\n .slice(0, this.focusedOptionIndex())\n .findIndex((option) => this.isOptionMatched(option))\n : optionIndex + this.focusedOptionIndex();\n } else {\n optionIndex = this.visibleOptions().findIndex((option) => this.isOptionMatched(option));\n }\n\n if (optionIndex !== -1) {\n matched = true;\n }\n\n if (optionIndex === -1 && this.focusedOptionIndex() === -1) {\n optionIndex = this.findFirstFocusedOptionIndex();\n }\n\n if (optionIndex !== -1) {\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.searchValue = '';\n this.searchTimeout = null;\n }, 500);\n\n return matched;\n }\n\n isOptionMatched(option) {\n return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale));\n }\n\n onFilterInputChange(event: Event | any): void {\n let value: string = (event.target as HTMLInputElement).value;\n this._filterValue.set(value);\n this.focusedOptionIndex.set(-1);\n this.onFilter.emit({ originalEvent: event, filter: this._filterValue() });\n !this.virtualScrollerDisabled && this.scroller.scrollToIndex(0);\n setTimeout(() => {\n this.overlayViewChild.alignOverlay();\n });\n this.cd.markForCheck();\n }\n\n applyFocus(): void {\n if (this.editable) (findSingle(this.el.nativeElement, '.p-dropdown-label.p-inputtext') as any).focus();\n else focus(this.focusInputViewChild?.nativeElement);\n }\n /**\n * Applies focus.\n * @group Method\n */\n public focus(): void {\n this.applyFocus();\n }\n /**\n * Clears the model.\n * @group Method\n */\n public clear(event?: Event) {\n this.updateModel(null, event);\n this.clearEditableLabel();\n this.onModelTouched();\n this.onChange.emit({ originalEvent: event, value: this.value });\n this.onClear.emit(event);\n this.resetFilter();\n }\n}\n\n@NgModule({\n imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, Ripple, Scroller, AutoFocusModule, TimesIcon, ChevronDownIcon, SearchIcon, BlankIcon, CheckIcon, InputTextModule, IconField, InputIcon],\n exports: [Dropdown, OverlayModule, SharedModule, Scroller],\n declarations: [Dropdown, DropdownItem]\n})\nexport class DropdownModule {}\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":"primeng-dropdown.mjs","sources":["../../src/dropdown/style/dropdownstyle.ts","../../src/dropdown/dropdown.ts","../../src/dropdown/primeng-dropdown.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n/**\n *\n * Dropdown also known as Select, is used to choose an item from a collection of options.\n *\n * [Live Demo](https://www.primeng.org/select/)\n *\n * @module dropdownstyle\n *\n */\nimport type { SelectStyle } from 'primeng/select';\n\nconst theme = ({ dt }) => `\n.p-select {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n user-select: none;\n background: ${dt('select.background')};\n border: 1px solid ${dt('select.border.color')};\n transition: background ${dt('select.transition.duration')}, color ${dt('select.transition.duration')}, border-color ${dt('select.transition.duration')},\n outline-color ${dt('select.transition.duration')}, box-shadow ${dt('select.transition.duration')};\n border-radius: ${dt('select.border.radius')};\n outline-color: transparent;\n box-shadow: ${dt('select.shadow')};\n}\n\n.p-select:not(.p-disabled):hover {\n border-color: ${dt('select.hover.border.color')};\n}\n\n.p-select:not(.p-disabled).p-focus {\n border-color: ${dt('select.focus.border.color')};\n box-shadow: ${dt('select.focus.ring.shadow')};\n outline: ${dt('select.focus.ring.width')} ${dt('select.focus.ring.style')} ${dt('select.focus.ring.color')};\n outline-offset: ${dt('select.focus.ring.offset')};\n}\n\n.p-select.p-variant-filled {\n background: ${dt('select.filled.background')};\n}\n\n.p-select.p-variant-filled.p-focus {\n background: ${dt('select.filled.focus.background')};\n}\n\n.p-select.p-disabled {\n opacity: 1;\n background: ${dt('select.disabled.background')};\n}\n\n.p-select-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n color: ${dt('select.clear.icon.color')};\n right: ${dt('select.dropdown.width')};\n}\n\n.p-select-dropdown {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n background: transparent;\n color: ${dt('select.dropdown.color')};\n width: ${dt('select.dropdown.width')};\n border-start-end-radius: ${dt('select.border.radius')};\n border-end-end-radius: ${dt('select.border.radius')};\n}\n\n.p-select-label {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n flex: 1 1 auto;\n width: 1%;\n padding: ${dt('select.padding.y')} ${dt('select.padding.x')};\n text-overflow: ellipsis;\n cursor: pointer;\n color: ${dt('select.color')};\n background: transparent;\n border: 0 none;\n outline: 0 none;\n}\n\n.p-select-label.p-placeholder {\n color: ${dt('select.placeholder.color')};\n}\n\n.p-select:has(.p-select-clear-icon) .p-select-label {\n padding-right: calc(1rem + ${dt('select.padding.x')});\n}\n\n.p-select.p-disabled .p-select-label {\n color: ${dt('select.disabled.color')};\n}\n\n.p-select-label-empty {\n overflow: hidden;\n opacity: 0;\n}\n\ninput.p-select-label {\n cursor: default;\n}\n\n.p-select .p-select-overlay {\n min-width: 100%;\n}\n\n.p-select-overlay {\n position: absolute;\n top: 0;\n left: 0;\n background: ${dt('select.overlay.background')};\n color: ${dt('select.overlay.color')};\n border: 1px solid ${dt('select.overlay.border.color')};\n border-radius: ${dt('select.overlay.border.radius')};\n box-shadow: ${dt('select.overlay.shadow')};\n}\n\n.p-select-header {\n padding: ${dt('select.list.header.padding')};\n}\n\n.p-select-filter {\n width: 100%;\n}\n\n.p-select-list-container {\n overflow: auto;\n}\n\n.p-select-option-group {\n cursor: auto;\n margin: 0;\n padding: ${dt('select.option.group.padding')};\n background: ${dt('select.option.group.background')};\n color: ${dt('select.option.group.color')};\n font-weight: ${dt('select.option.group.font.weight')};\n}\n\n.p-select-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n padding: ${dt('select.list.padding')};\n gap: ${dt('select.list.gap')};\n display: flex;\n flex-direction: column;\n}\n\n.p-select-option {\n cursor: pointer;\n font-weight: normal;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n display: flex;\n align-items: center;\n padding: ${dt('select.option.padding')};\n border: 0 none;\n color: ${dt('select.option.color')};\n background: transparent;\n transition: background ${dt('select.transition.duration')}, color ${dt('select.transition.duration')}, border-color ${dt('select.transition.duration')},\n box-shadow ${dt('select.transition.duration')}, outline-color ${dt('select.transition.duration')};\n border-radius: ${dt('select.option.border.radius')};\n}\n\n.p-select-option:not(.p-select-option-selected):not(.p-disabled).p-focus {\n background: ${dt('select.option.focus.background')};\n color: ${dt('select.option.focus.color')};\n}\n\n.p-select-option.p-select-option-selected {\n background: ${dt('select.option.selected.background')};\n color: ${dt('select.option.selected.color')};\n}\n\n.p-select-option.p-select-option-selected.p-focus {\n background: ${dt('select.option.selected.focus.background')};\n color: ${dt('select.option.selected.focus.color')};\n}\n\n.p-select-option-check-icon {\n position: relative;\n margin-inline-start: ${dt('select.checkmark.gutter.start')};\n margin-inline-end: ${dt('select.checkmark.gutter.end')};\n color: ${dt('select.checkmark.color')};\n}\n\n.p-select-empty-message {\n padding: ${dt('select.empty.message.padding')};\n}\n\n.p-select-fluid {\n display: flex;\n}\n\n/*For PrimeNG*/\n\n.p-dropdown.ng-invalid.ng-dirty,\n.p-select.ng-invalid.ng-dirty {\n outline: 1px solid ${dt('select.invalid.border.color')};\n outline-offset: 0;\n}\n\n.p-dropdown.ng-invalid.ng-dirty .p-dropdown-label.p-placeholder,\n.p-select.ng-invalid.ng-dirty .p-select-label.p-placeholder {\n color: ${dt('select.invalid.placeholder.color')};\n}\n`;\n\nconst classes = {\n root: ({ instance }) => [\n 'p-dropdown p-select p-component p-inputwrapper',\n {\n 'p-disabled': instance.disabled,\n 'p-variant-filled': instance.variant ? instance.variant === 'filled' : instance.config.inputStyle() === 'filled',\n 'p-focus': instance.focused,\n 'p-inputwrapper-filled': instance.modelValue() !== undefined && instance.modelValue() !== null && !instance.modelValue().length,\n 'p-inputwrapper-focus': instance.focused || instance.overlayVisible,\n 'p-select-open': instance.overlayVisible,\n 'p-select-fluid': instance.hasFluid,\n 'p-select-sm p-inputfield-sm': instance.size === 'small',\n 'p-select-lg p-inputfield-lg': instance.size === 'large'\n }\n ],\n label: ({ instance, props }) => [\n 'p-select-label',\n {\n 'p-placeholder': !props.editable && instance.label === props.placeholder,\n 'p-select-label-empty': !props.editable && !instance.$slots['value'] && (instance.label === 'p-emptylabel' || instance.label.length === 0)\n }\n ],\n clearIcon: 'p-select-clear-icon',\n dropdown: 'p-select-dropdown',\n loadingicon: 'p-select-loading-icon',\n dropdownIcon: 'p-select-dropdown-icon',\n overlay: 'p-select-overlay p-component',\n header: 'p-select-header',\n pcFilter: 'p-select-filter',\n listContainer: 'p-select-list-container',\n list: 'p-select-list',\n optionGroup: 'p-select-option-group',\n optionGroupLabel: 'p-select-option-group-label',\n option: ({ instance, props, state, option, focusedOption }) => [\n 'p-select-option',\n {\n 'p-select-option-selected': instance.isSelected(option) && props.highlightOnSelect,\n 'p-focus': state.focusedOptionIndex === focusedOption,\n 'p-disabled': instance.isOptionDisabled(option)\n }\n ],\n optionLabel: 'p-select-option-label',\n optionCheckIcon: 'p-select-option-check-icon',\n optionBlankIcon: 'p-select-option-blank-icon',\n emptyMessage: 'p-select-empty-message'\n};\n\n@Injectable()\nexport class DropdownStyle extends BaseStyle {\n name = 'select';\n\n theme = theme;\n\n classes = classes;\n}\n\nexport enum DropdownClasses {}\n\nexport interface DropdownStyle extends SelectStyle {}\n","import { AnimationEvent } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChildren,\n effect,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n inject,\n Input,\n NgModule,\n NgZone,\n numberAttribute,\n OnInit,\n Output,\n QueryList,\n Signal,\n signal,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n ViewRef\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {\n deepEquals,\n equals,\n findLastIndex,\n findSingle,\n focus,\n getFirstFocusableElement,\n getFocusableElements,\n getLastFocusableElement,\n isEmpty,\n isNotEmpty,\n isPrintableCharacter,\n resolveFieldData,\n scrollInView,\n unblockBodyScroll,\n uuid\n} from '@primeuix/utils';\nimport { FilterService, OverlayOptions, PrimeTemplate, ScrollerOptions, SelectItem, SharedModule, TranslationKeys } from 'primeng/api';\nimport { AutoFocusModule } from 'primeng/autofocus';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { IconField } from 'primeng/iconfield';\nimport { BlankIcon, CheckIcon, ChevronDownIcon, SearchIcon, TimesIcon } from 'primeng/icons';\nimport { InputIcon } from 'primeng/inputicon';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { Overlay, OverlayModule } from 'primeng/overlay';\nimport { Ripple } from 'primeng/ripple';\nimport { Scroller } from 'primeng/scroller';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { DropdownChangeEvent, DropdownFilterEvent, DropdownFilterOptions, DropdownLazyLoadEvent } from './dropdown.interface';\nimport { DropdownStyle } from './style/dropdownstyle';\n\nexport const DROPDOWN_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Dropdown),\n multi: true\n};\n\n@Component({\n selector: 'p-dropdownItem',\n standalone: false,\n template: `\n <li\n [id]=\"id\"\n (click)=\"onOptionClick($event)\"\n (mouseenter)=\"onOptionMouseEnter($event)\"\n role=\"option\"\n pRipple\n [attr.aria-label]=\"label\"\n [attr.aria-setsize]=\"ariaSetSize\"\n [attr.aria-posinset]=\"ariaPosInset\"\n [attr.aria-selected]=\"selected\"\n [attr.data-p-focused]=\"focused\"\n [attr.data-p-highlight]=\"selected\"\n [attr.data-p-disabled]=\"disabled\"\n [ngStyle]=\"{ height: itemSize + 'px' }\"\n [ngClass]=\"{\n 'p-select-option': true,\n 'p-select-option-selected': selected,\n 'p-disabled': disabled,\n 'p-focus': focused\n }\"\n >\n <ng-container *ngIf=\"checkmark\">\n <CheckIcon *ngIf=\"selected\" [styleClass]=\"'p-select-option-check-icon'\" />\n <BlankIcon *ngIf=\"!selected\" [styleClass]=\"'p-select-option-blank-icon'\" />\n </ng-container>\n <span *ngIf=\"!template\">{{ label ?? 'empty' }}</span>\n <ng-container *ngTemplateOutlet=\"template; context: { $implicit: option }\"></ng-container>\n </li>\n `\n})\nexport class DropdownItem extends BaseComponent {\n @Input() id: string | undefined;\n\n @Input() option: SelectItem | undefined;\n\n @Input({ transform: booleanAttribute }) selected: boolean | undefined;\n\n @Input({ transform: booleanAttribute }) focused: boolean | undefined;\n\n @Input() label: string | undefined;\n\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n\n @Input({ transform: booleanAttribute }) visible: boolean | undefined;\n\n @Input({ transform: numberAttribute }) itemSize: number | undefined;\n\n @Input() ariaPosInset: string | undefined;\n\n @Input() ariaSetSize: string | undefined;\n\n @Input() template: TemplateRef<any> | undefined;\n\n @Input({ transform: booleanAttribute }) checkmark: boolean;\n\n @Output() onClick: EventEmitter<any> = new EventEmitter();\n\n @Output() onMouseEnter: EventEmitter<any> = new EventEmitter();\n\n onOptionClick(event: Event) {\n this.onClick.emit(event);\n }\n\n onOptionMouseEnter(event: Event) {\n this.onMouseEnter.emit(event);\n }\n}\n\n/**\n * Dropdown also known as Select, is used to choose an item from a collection of options.\n * @group Components\n */\n@Component({\n selector: 'p-dropdown',\n standalone: false,\n template: `\n <span\n #focusInput\n [ngClass]=\"inputClass\"\n *ngIf=\"!editable\"\n [pTooltip]=\"tooltip\"\n [tooltipPosition]=\"tooltipPosition\"\n [positionStyle]=\"tooltipPositionStyle\"\n [tooltipStyleClass]=\"tooltipStyleClass\"\n [attr.aria-disabled]=\"disabled\"\n [attr.id]=\"inputId\"\n role=\"combobox\"\n [attr.aria-label]=\"ariaLabel || (label() === 'p-emptylabel' ? undefined : label())\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-haspopup]=\"'listbox'\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [attr.aria-controls]=\"overlayVisible ? id + '_list' : null\"\n [attr.tabindex]=\"!disabled ? tabindex : -1\"\n [pAutoFocus]=\"autofocus\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n [attr.aria-required]=\"required\"\n [attr.required]=\"required\"\n >\n <ng-container *ngIf=\"!selectedItemTemplate; else defaultPlaceholder\">{{ label() === 'p-emptylabel' ? ' ' : label() }}</ng-container>\n <ng-container *ngIf=\"selectedItemTemplate && selectedOption\" [ngTemplateOutlet]=\"selectedItemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: selectedOption }\"></ng-container>\n <ng-template #defaultPlaceholder>\n <span *ngIf=\"!selectedOption\">{{ label() === 'p-emptylabel' ? ' ' : label() }}</span>\n </ng-template>\n </span>\n <input\n *ngIf=\"editable\"\n #editableInput\n type=\"text\"\n [attr.id]=\"inputId\"\n [attr.maxlength]=\"maxlength\"\n [ngClass]=\"inputClass\"\n [disabled]=\"disabled\"\n aria-haspopup=\"listbox\"\n [attr.placeholder]=\"modelValue() === undefined || modelValue() === null ? placeholder() : undefined\"\n [attr.aria-label]=\"ariaLabel || (label() === 'p-emptylabel' ? undefined : label())\"\n (input)=\"onEditableInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n [pAutoFocus]=\"autofocus\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n />\n <ng-container *ngIf=\"isVisibleClearIcon\">\n <TimesIcon class=\"p-select-clear-icon\" (click)=\"clear($event)\" *ngIf=\"!clearIconTemplate\" [attr.data-pc-section]=\"'clearicon'\" />\n <span class=\"p-select-clear-icon\" (click)=\"clear($event)\" *ngIf=\"clearIconTemplate\" [attr.data-pc-section]=\"'clearicon'\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate; context: { class: 'p-select-clear-icon' }\"></ng-template>\n </span>\n </ng-container>\n\n <div class=\"p-select-dropdown\" role=\"button\" aria-label=\"dropdown trigger\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible ?? false\" [attr.data-pc-section]=\"'trigger'\">\n <ng-container *ngIf=\"loading; else elseBlock\">\n <ng-container *ngIf=\"loadingIconTemplate\">\n <ng-container *ngTemplateOutlet=\"loadingIconTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!loadingIconTemplate\">\n <span *ngIf=\"loadingIcon\" [ngClass]=\"'p-select-loading-icon pi-spin ' + loadingIcon\" aria-hidden=\"true\"></span>\n <span *ngIf=\"!loadingIcon\" [class]=\"'p-select-loading-icon pi pi-spinner pi-spin'\" aria-hidden=\"true\"></span>\n </ng-container>\n </ng-container>\n\n <ng-template #elseBlock>\n <ng-container *ngIf=\"!dropdownIconTemplate\">\n <span class=\"p-select-dropdown-icon\" *ngIf=\"dropdownIcon\" [ngClass]=\"dropdownIcon\"></span>\n <ChevronDownIcon *ngIf=\"!dropdownIcon\" [styleClass]=\"'p-select-dropdown-icon'\" />\n </ng-container>\n <span *ngIf=\"dropdownIconTemplate\" class=\"p-select-dropdown-icon\">\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate; context: { class: 'p-select-dropdown-icon' }\"></ng-template>\n </span>\n </ng-template>\n </div>\n\n <p-overlay\n #overlay\n [(visible)]=\"overlayVisible\"\n [options]=\"overlayOptions\"\n [target]=\"'@parent'\"\n [appendTo]=\"appendTo\"\n [autoZIndex]=\"autoZIndex\"\n [baseZIndex]=\"baseZIndex\"\n [showTransitionOptions]=\"showTransitionOptions\"\n [hideTransitionOptions]=\"hideTransitionOptions\"\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\n (onHide)=\"hide()\"\n >\n <ng-template #content>\n <div [ngClass]=\"'p-select-overlay p-component'\" [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\">\n <span\n #firstHiddenFocusableEl\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onFirstHiddenFocus($event)\"\n [attr.data-p-hidden-accessible]=\"true\"\n [attr.data-p-hidden-focusable]=\"true\"\n >\n </span>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <div class=\"p-select-header\" *ngIf=\"filter\" (click)=\"$event.stopPropagation()\">\n <ng-container *ngIf=\"filterTemplate; else builtInFilterElement\">\n <ng-container *ngTemplateOutlet=\"filterTemplate; context: { options: filterOptions }\"></ng-container>\n </ng-container>\n <ng-template #builtInFilterElement>\n <p-iconfield>\n <input\n #filter\n pInputText\n type=\"text\"\n role=\"searchbox\"\n autocomplete=\"off\"\n [value]=\"_filterValue() || ''\"\n class=\"p-select-filter\"\n [variant]=\"variant\"\n [attr.placeholder]=\"filterPlaceholder\"\n [attr.aria-owns]=\"id + '_list'\"\n (input)=\"onFilterInputChange($event)\"\n [attr.aria-label]=\"ariaFilterLabel\"\n [attr.aria-activedescendant]=\"focusedOptionId\"\n (keydown)=\"onFilterKeyDown($event)\"\n (blur)=\"onFilterBlur($event)\"\n />\n <p-inputicon>\n <SearchIcon *ngIf=\"!filterIconTemplate\" />\n <span *ngIf=\"filterIconTemplate\">\n <ng-template *ngTemplateOutlet=\"filterIconTemplate\"></ng-template>\n </span>\n </p-inputicon>\n </p-iconfield>\n </ng-template>\n </div>\n <div class=\"p-select-list-container\" [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight || 'auto'\">\n <p-scroller\n *ngIf=\"virtualScroll\"\n #scroller\n [items]=\"visibleOptions()\"\n [style]=\"{ height: scrollHeight }\"\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\n [autoSize]=\"true\"\n [lazy]=\"lazy\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions\"\n >\n <ng-template #content let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n <ng-container *ngIf=\"loaderTemplate\">\n <ng-template #loader let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n </ng-container>\n </p-scroller>\n <ng-container *ngIf=\"!virtualScroll\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: visibleOptions(), options: {} }\"></ng-container>\n </ng-container>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items [attr.id]=\"id + '_list'\" [attr.aria-label]=\"listLabel\" class=\"p-select-list\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\">\n <ng-template ngFor let-option [ngForOf]=\"items\" let-i=\"index\">\n <ng-container *ngIf=\"isOptionGroup(option)\">\n <li class=\"p-select-option-group\" [attr.id]=\"id + '_' + getOptionIndex(i, scrollerOptions)\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(option.optionGroup) }}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: option.optionGroup }\"></ng-container>\n </li>\n </ng-container>\n <ng-container *ngIf=\"!isOptionGroup(option)\">\n <p-dropdownItem\n [id]=\"id + '_' + getOptionIndex(i, scrollerOptions)\"\n [option]=\"option\"\n [checkmark]=\"checkmark\"\n [selected]=\"isSelected(option)\"\n [label]=\"getOptionLabel(option)\"\n [disabled]=\"isOptionDisabled(option)\"\n [template]=\"itemTemplate\"\n [focused]=\"focusedOptionIndex() === getOptionIndex(i, scrollerOptions)\"\n [ariaPosInset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\n [ariaSetSize]=\"ariaSetSize\"\n (onClick)=\"onOptionSelect($event, option)\"\n (onMouseEnter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\n ></p-dropdownItem>\n </ng-container>\n </ng-template>\n <li *ngIf=\"filterValue && isEmpty()\" class=\"p-select-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\n @if (!emptyFilterTemplate && !emptyTemplate) {\n {{ emptyFilterMessageLabel }}\n } @else {\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || emptyTemplate\"></ng-container>\n }\n </li>\n <li *ngIf=\"!filterValue && isEmpty()\" class=\"p-select-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\n @if (!emptyTemplate) {\n {{ emptyMessageLabel }}\n } @else {\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n }\n </li>\n </ul>\n </ng-template>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n <span\n #lastHiddenFocusableEl\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onLastHiddenFocus($event)\"\n [attr.data-p-hidden-accessible]=\"true\"\n [attr.data-p-hidden-focusable]=\"true\"\n ></span>\n </div>\n </ng-template>\n </p-overlay>\n `,\n host: {\n '[attr.id]': 'id',\n '(click)': 'onContainerClick($event)'\n },\n providers: [DROPDOWN_VALUE_ACCESSOR, DropdownStyle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class Dropdown extends BaseComponent implements OnInit, AfterViewInit, AfterContentInit, AfterViewChecked, ControlValueAccessor {\n /**\n * Unique identifier of the component\n * @group Props\n */\n @Input() id: string | undefined;\n /**\n * Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n @Input() scrollHeight: string = '200px';\n /**\n * When specified, displays an input field to filter the items on keyup.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) filter: boolean | undefined;\n /**\n * Name of the input element.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Inline style of the overlay panel element.\n * @group Props\n */\n @Input() panelStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Style class of the overlay panel element.\n * @group Props\n */\n @Input() panelStyleClass: string | undefined;\n /**\n * When present, it specifies that the component cannot be edited.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\n /**\n * When present, it specifies that an input field must be filled out before submitting the form.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) required: boolean | undefined;\n /**\n * When present, custom value instead of predefined options can be entered using the editable input field.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) editable: boolean | undefined;\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined = 0;\n /**\n * Default text to display when no option is selected.\n * @group Props\n */\n @Input() set placeholder(val: string | undefined) {\n this._placeholder.set(val);\n }\n get placeholder(): Signal<string | undefined> {\n return this._placeholder.asReadonly();\n }\n /**\n * Icon to display in loading state.\n * @group Props\n */\n @Input() loadingIcon: string | undefined;\n /**\n * Placeholder text to show when filter input is empty.\n * @group Props\n */\n @Input() filterPlaceholder: string | undefined;\n /**\n * Locale to use in filtering. The default locale is the host environment's current locale.\n * @group Props\n */\n @Input() filterLocale: string | undefined;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\n /**\n * Identifier of the accessible input element.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n @Input() dataKey: string | undefined;\n /**\n * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.\n * @group Props\n */\n @Input() filterBy: string | undefined;\n /**\n * Fields used when filtering the options, defaults to optionLabel.\n * @group Props\n */\n @Input() filterFields: any[] | undefined;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Clears the filter value when hiding the dropdown.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) resetFilterOnHide: boolean = false;\n /**\n * Whether the selected option will be shown with a check mark.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) checkmark: boolean = false;\n /**\n * Icon class of the dropdown icon.\n * @group Props\n */\n @Input() dropdownIcon: string | undefined;\n /**\n * Whether the dropdown is in loading state.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) loading: boolean | undefined = false;\n /**\n * Name of the label field of an option.\n * @group Props\n */\n @Input() optionLabel: string | undefined;\n /**\n * Name of the value field of an option.\n * @group Props\n */\n @Input() optionValue: string | undefined;\n /**\n * Name of the disabled field of an option.\n * @group Props\n */\n @Input() optionDisabled: string | undefined;\n /**\n * Name of the label field of an option group.\n * @group Props\n */\n @Input() optionGroupLabel: string | undefined = 'label';\n /**\n * Name of the options field of an option group.\n * @group Props\n */\n @Input() optionGroupChildren: string = 'items';\n /**\n * Whether to display the first item as the label if no placeholder is defined and value is null.\n * @deprecated since v17.3.0, set initial value by model instead.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoDisplayFirst: boolean = true;\n /**\n * Whether to display options as grouped when nested options are provided.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) group: boolean | undefined;\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showClear: boolean | undefined;\n /**\n * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n @Input() emptyFilterMessage: string = '';\n /**\n * Text to display when there is no data. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n @Input() emptyMessage: string = '';\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) lazy: boolean = false;\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) virtualScroll: boolean | undefined;\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n @Input({ transform: numberAttribute }) virtualScrollItemSize: number | undefined;\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n @Input() virtualScrollOptions: ScrollerOptions | undefined;\n /**\n * Whether to use overlay API feature. The properties of overlay API can be used like an object in it.\n * @group Props\n */\n @Input() overlayOptions: OverlayOptions | undefined;\n /**\n * Defines a string that labels the filter input.\n * @group Props\n */\n @Input() ariaFilterLabel: string | undefined;\n /**\n * Used to define a aria label attribute the current element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Defines how the items are filtered.\n * @group Props\n */\n @Input() filterMatchMode: 'contains' | 'startsWith' | 'endsWith' | 'equals' | 'notEquals' | 'in' | 'lt' | 'lte' | 'gt' | 'gte' = 'contains';\n /**\n * Maximum number of character allows in the editable input field.\n * @group Props\n */\n @Input({ transform: numberAttribute }) maxlength: number | undefined;\n /**\n * Advisory information to display in a tooltip on hover.\n * @group Props\n */\n @Input() tooltip: string = '';\n /**\n * Position of the tooltip.\n * @group Props\n */\n @Input() tooltipPosition: 'top' | 'left' | 'right' | 'bottom' = 'right';\n /**\n * Type of CSS position.\n * @group Props\n */\n @Input() tooltipPositionStyle: string = 'absolute';\n /**\n * Style class of the tooltip.\n * @group Props\n */\n @Input() tooltipStyleClass: string | undefined;\n /**\n * Fields used when filtering the options, defaults to optionLabel.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) focusOnHover: boolean = false;\n /**\n * Determines if the option will be selected on focus.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) selectOnFocus: boolean = false;\n /**\n * Whether to focus on the first visible or selected element when the overlay panel is shown.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoOptionFocus: boolean = true;\n /**\n * Applies focus to the filter element when the overlay is shown.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocusFilter: boolean = true;\n /**\n * Whether the component should span the full width of its parent.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) fluid: boolean | undefined;\n /**\n * When present, it specifies that the component should be disabled.\n * @group Props\n */\n @Input() get disabled(): boolean | undefined {\n return this._disabled;\n }\n set disabled(_disabled: boolean | undefined) {\n if (_disabled) {\n this.focused = false;\n\n if (this.overlayVisible) this.hide();\n }\n\n this._disabled = _disabled;\n if (!(this.cd as ViewRef).destroyed) {\n this.cd.detectChanges();\n }\n }\n /**\n * Item size of item to be virtual scrolled.\n * @group Props\n * @deprecated use virtualScrollItemSize property instead.\n */\n @Input() get itemSize(): number | undefined {\n return this._itemSize;\n }\n set itemSize(val: number | undefined) {\n this._itemSize = val;\n console.log('The itemSize property is deprecated, use virtualScrollItemSize property instead.');\n }\n _itemSize: number | undefined;\n /**\n * Whether to automatically manage layering.\n * @group Props\n * @deprecated since v14.2.0, use overlayOptions property instead.\n */\n @Input() get autoZIndex(): boolean | undefined {\n return this._autoZIndex;\n }\n set autoZIndex(val: boolean | undefined) {\n this._autoZIndex = val;\n console.log('The autoZIndex property is deprecated since v14.2.0, use overlayOptions property instead.');\n }\n _autoZIndex: boolean | undefined;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n * @deprecated since v14.2.0, use overlayOptions property instead.\n */\n @Input() get baseZIndex(): number | undefined {\n return this._baseZIndex;\n }\n set baseZIndex(val: number | undefined) {\n this._baseZIndex = val;\n console.log('The baseZIndex property is deprecated since v14.2.0, use overlayOptions property instead.');\n }\n _baseZIndex: number | undefined;\n /**\n * Transition options of the show animation.\n * @group Props\n * @deprecated since v14.2.0, use overlayOptions property instead.\n */\n @Input() get showTransitionOptions(): string | undefined {\n return this._showTransitionOptions;\n }\n set showTransitionOptions(val: string | undefined) {\n this._showTransitionOptions = val;\n console.log('The showTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.');\n }\n _showTransitionOptions: string | undefined;\n /**\n * Transition options of the hide animation.\n * @group Props\n * @deprecated since v14.2.0, use overlayOptions property instead.\n */\n @Input() get hideTransitionOptions(): string | undefined {\n return this._hideTransitionOptions;\n }\n set hideTransitionOptions(val: string | undefined) {\n this._hideTransitionOptions = val;\n console.log('The hideTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.');\n }\n _hideTransitionOptions: string | undefined;\n /**\n * When specified, filter displays with this value.\n * @group Props\n */\n @Input() get filterValue(): string | undefined | null {\n return this._filterValue();\n }\n set filterValue(val: string | undefined | null) {\n setTimeout(() => {\n this._filterValue.set(val);\n });\n }\n /**\n * An array of objects to display as the available options.\n * @group Props\n */\n @Input() get options(): any[] | undefined {\n const options = this._options();\n return options;\n }\n set options(val: any[] | undefined) {\n if (!deepEquals(val, this._options())) {\n this._options.set(val);\n }\n }\n /**\n * Callback to invoke when value of dropdown changes.\n * @param {DropdownChangeEvent} event - custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<DropdownChangeEvent> = new EventEmitter<DropdownChangeEvent>();\n /**\n * Callback to invoke when data is filtered.\n * @param {DropdownFilterEvent} event - custom filter event.\n * @group Emits\n */\n @Output() onFilter: EventEmitter<DropdownFilterEvent> = new EventEmitter<DropdownFilterEvent>();\n /**\n * Callback to invoke when dropdown gets focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when dropdown loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when component is clicked.\n * @param {MouseEvent} event - Mouse event.\n * @group Emits\n */\n @Output() onClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n /**\n * Callback to invoke when dropdown overlay gets visible.\n * @param {AnimationEvent} event - Animation event.\n * @group Emits\n */\n @Output() onShow: EventEmitter<AnimationEvent> = new EventEmitter<AnimationEvent>();\n /**\n * Callback to invoke when dropdown overlay gets hidden.\n * @param {AnimationEvent} event - Animation event.\n * @group Emits\n */\n @Output() onHide: EventEmitter<AnimationEvent> = new EventEmitter<AnimationEvent>();\n /**\n * Callback to invoke when dropdown clears the value.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onClear: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke in lazy mode to load new data.\n * @param {DropdownLazyLoadEvent} event - Lazy load event.\n * @group Emits\n */\n @Output() onLazyLoad: EventEmitter<DropdownLazyLoadEvent> = new EventEmitter<DropdownLazyLoadEvent>();\n\n _componentStyle = inject(DropdownStyle);\n\n @ViewChild('container') containerViewChild: Nullable<ElementRef>;\n\n @ViewChild('filter') filterViewChild: Nullable<ElementRef>;\n\n @ViewChild('focusInput') focusInputViewChild: Nullable<ElementRef>;\n\n @ViewChild('editableInput') editableInputViewChild: Nullable<ElementRef>;\n\n @ViewChild('items') itemsViewChild: Nullable<ElementRef>;\n\n @ViewChild('scroller') scroller: Nullable<Scroller>;\n\n @ViewChild('overlay') overlayViewChild: Nullable<Overlay>;\n\n @ViewChild('firstHiddenFocusableEl') firstHiddenFocusableElementOnOverlay: Nullable<ElementRef>;\n\n @ViewChild('lastHiddenFocusableEl') lastHiddenFocusableElementOnOverlay: Nullable<ElementRef>;\n\n // @todo to be refactored\n @HostBinding('class') get hostClass() {\n const classes = this._componentStyle.classes\n .root({ instance: this })\n .map((cls) => {\n if (typeof cls === 'string') {\n return cls;\n } else {\n return Object.keys(cls)\n .filter((key) => cls[key])\n .join(' ');\n }\n })\n .join(' ');\n\n return classes + ' ' + this.styleClass;\n }\n\n @HostBinding('style') get hostStyle() {\n return this.style;\n }\n\n _disabled: boolean | undefined;\n\n itemsWrapper: Nullable<HTMLDivElement>;\n\n itemTemplate: Nullable<TemplateRef<any>>;\n\n groupTemplate: Nullable<TemplateRef<any>>;\n\n loaderTemplate: Nullable<TemplateRef<any>>;\n\n selectedItemTemplate: Nullable<TemplateRef<any>>;\n\n headerTemplate: Nullable<TemplateRef<any>>;\n\n filterTemplate: Nullable<TemplateRef<any>>;\n\n footerTemplate: Nullable<TemplateRef<any>>;\n\n emptyFilterTemplate: Nullable<TemplateRef<any>>;\n\n emptyTemplate: Nullable<TemplateRef<any>>;\n\n dropdownIconTemplate: Nullable<TemplateRef<any>>;\n\n loadingIconTemplate: Nullable<TemplateRef<any>>;\n\n clearIconTemplate: Nullable<TemplateRef<any>>;\n\n filterIconTemplate: Nullable<TemplateRef<any>>;\n\n filterOptions: DropdownFilterOptions | undefined;\n\n _options = signal<any[] | undefined>(null);\n\n _placeholder = signal<string | undefined>(undefined);\n\n modelValue = signal<any>(null);\n\n value: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n hover: Nullable<boolean>;\n\n focused: Nullable<boolean>;\n\n overlayVisible: Nullable<boolean>;\n\n optionsChanged: Nullable<boolean>;\n\n panel: Nullable<HTMLDivElement>;\n\n selectedOptionUpdated: Nullable<boolean>;\n\n _filterValue = signal<any>(null);\n\n searchValue: Nullable<string>;\n\n searchTimeout: any;\n\n preventModelTouched: Nullable<boolean>;\n\n focusedOptionIndex = signal<number>(-1);\n\n clicked = signal<boolean>(false);\n\n get emptyMessageLabel(): string {\n return this.emptyMessage || this.config.getTranslation(TranslationKeys.EMPTY_MESSAGE);\n }\n\n get emptyFilterMessageLabel(): string {\n return this.emptyFilterMessage || this.config.getTranslation(TranslationKeys.EMPTY_FILTER_MESSAGE);\n }\n\n get isVisibleClearIcon(): boolean | undefined {\n return this.modelValue() != null && this.hasSelectedOption() && this.showClear && !this.disabled;\n }\n\n get listLabel(): string {\n return this.config.getTranslation(TranslationKeys.ARIA)['listLabel'];\n }\n\n get hasFluid() {\n const nativeElement = this.el.nativeElement;\n const fluidComponent = nativeElement.closest('p-fluid');\n return this.fluid || !!fluidComponent;\n }\n\n get inputClass() {\n const label = this.label();\n return {\n 'p-select-label': true,\n 'p-placeholder': this.placeholder() && label === this.placeholder(),\n 'p-select-label-empty': !this.editable && !this.selectedItemTemplate && (label === undefined || label === null || label === 'p-emptylabel' || label.length === 0)\n };\n }\n\n get focusedOptionId() {\n return this.focusedOptionIndex() !== -1 ? `${this.id}_${this.focusedOptionIndex()}` : null;\n }\n\n visibleOptions = computed(() => {\n const options = this.getAllVisibleAndNonVisibleOptions();\n\n if (this._filterValue()) {\n const _filterBy = this.filterBy || this.optionLabel;\n\n const filteredOptions =\n !_filterBy && !this.filterFields && !this.optionValue\n ? this.options.filter((option) => {\n if (option.label) {\n return option.label.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()) !== -1;\n }\n return option.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()) !== -1;\n })\n : this.filterService.filter(options, this.searchFields(), this._filterValue().trim(), this.filterMatchMode, this.filterLocale);\n\n if (this.group) {\n const optionGroups = this.options || [];\n const filtered = [];\n\n optionGroups.forEach((group) => {\n const groupChildren = this.getOptionGroupChildren(group);\n const filteredItems = groupChildren.filter((item) => filteredOptions.includes(item));\n\n if (filteredItems.length > 0)\n filtered.push({\n ...group,\n [typeof this.optionGroupChildren === 'string' ? this.optionGroupChildren : 'items']: [...filteredItems]\n });\n });\n\n return this.flatOptions(filtered);\n }\n return filteredOptions;\n }\n\n return options;\n });\n\n label = computed(() => {\n // use getAllVisibleAndNonVisibleOptions verses just visible options\n // this will find the selected option whether or not the user is currently filtering because the filtered (i.e. visible) options, are a subset of all the options\n const options = this.getAllVisibleAndNonVisibleOptions();\n // use isOptionEqualsModelValue for the use case where the dropdown is initalized with a disabled option\n const selectedOptionIndex = options.findIndex((option) => this.isOptionValueEqualsModelValue(option));\n\n return selectedOptionIndex !== -1 ? this.getOptionLabel(options[selectedOptionIndex]) : this.placeholder() || 'p-emptylabel';\n });\n\n filled = computed(() => {\n if (typeof this.modelValue() === 'string') return !!this.modelValue();\n return this.label() !== 'p-emptylabel' && this.modelValue() !== undefined && this.modelValue() !== null;\n });\n\n selectedOption: any;\n\n editableInputValue = computed(() => this.getOptionLabel(this.selectedOption) || this.modelValue() || '');\n\n constructor(\n public zone: NgZone,\n public filterService: FilterService\n ) {\n super();\n effect(() => {\n const modelValue = this.modelValue();\n const visibleOptions = this.visibleOptions();\n\n if (visibleOptions && isNotEmpty(visibleOptions)) {\n const selectedOptionIndex = this.findSelectedOptionIndex();\n\n if (selectedOptionIndex !== -1 || modelValue === undefined || (typeof modelValue === 'string' && modelValue.length === 0) || this.isModelValueNotSet() || this.editable) {\n this.selectedOption = visibleOptions[selectedOptionIndex];\n }\n }\n\n if (isEmpty(visibleOptions) && (modelValue === undefined || this.isModelValueNotSet()) && isNotEmpty(this.selectedOption)) {\n this.selectedOption = null;\n }\n\n if (modelValue !== undefined && this.editable) {\n this.updateEditableLabel();\n }\n this.cd.markForCheck();\n });\n }\n\n private isModelValueNotSet(): boolean {\n return this.modelValue() === null && !this.isOptionValueEqualsModelValue(this.selectedOption);\n }\n\n private getAllVisibleAndNonVisibleOptions() {\n return this.group ? this.flatOptions(this.options) : this.options || [];\n }\n\n ngOnInit() {\n super.ngOnInit();\n console.log('Dropdown component is deprecated as of v18, use Select component instead.');\n this.id = this.id || uuid('pn_id_');\n this.autoUpdateModel();\n\n if (this.filterBy) {\n this.filterOptions = {\n filter: (value) => this.onFilterInputChange(value),\n reset: () => this.resetFilter()\n };\n }\n }\n\n ngAfterViewChecked() {\n if (this.optionsChanged && this.overlayVisible) {\n this.optionsChanged = false;\n\n this.zone.runOutsideAngular(() => {\n setTimeout(() => {\n if (this.overlayViewChild) {\n this.overlayViewChild.alignOverlay();\n }\n }, 1);\n });\n }\n\n if (this.selectedOptionUpdated && this.itemsWrapper) {\n let selectedItem = <any>findSingle(this.overlayViewChild?.overlayViewChild?.nativeElement, 'li.p-highlight');\n if (selectedItem) {\n scrollInView(this.itemsWrapper, selectedItem);\n }\n this.selectedOptionUpdated = false;\n }\n }\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n ngAfterContentInit() {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'selectedItem':\n this.selectedItemTemplate = item.template;\n break;\n\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'filter':\n this.filterTemplate = item.template;\n break;\n\n case 'footer':\n this.footerTemplate = item.template;\n break;\n\n case 'emptyfilter':\n this.emptyFilterTemplate = item.template;\n break;\n\n case 'empty':\n this.emptyTemplate = item.template;\n break;\n\n case 'group':\n this.groupTemplate = item.template;\n break;\n\n case 'loader':\n this.loaderTemplate = item.template;\n break;\n\n case 'dropdownicon':\n this.dropdownIconTemplate = item.template;\n break;\n\n case 'loadingicon':\n this.loadingIconTemplate = item.template;\n break;\n\n case 'clearicon':\n this.clearIconTemplate = item.template;\n break;\n\n case 'filtericon':\n this.filterIconTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n flatOptions(options) {\n return (options || []).reduce((result, option, index) => {\n result.push({ optionGroup: option, group: true, index });\n\n const optionGroupChildren = this.getOptionGroupChildren(option);\n\n optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));\n\n return result;\n }, []);\n }\n\n autoUpdateModel() {\n if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption()) {\n this.focusedOptionIndex.set(this.findFirstFocusedOptionIndex());\n this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()], false);\n }\n if (this.autoDisplayFirst && (this.modelValue() === null || this.modelValue() === undefined)) {\n if (!this.placeholder()) {\n const ind = this.findFirstOptionIndex();\n this.onOptionSelect(null, this.visibleOptions()[ind], false, true);\n }\n }\n }\n\n onOptionSelect(event, option, isHide = true, preventChange = false) {\n if (!this.isSelected(option)) {\n const value = this.getOptionValue(option);\n this.updateModel(value, event);\n this.focusedOptionIndex.set(this.findSelectedOptionIndex());\n preventChange === false && this.onChange.emit({ originalEvent: event, value: value });\n }\n if (isHide) {\n this.hide(true);\n }\n }\n\n onOptionMouseEnter(event, index) {\n if (this.focusOnHover) {\n this.changeFocusedOptionIndex(event, index);\n }\n }\n\n updateModel(value, event?) {\n this.value = value;\n this.onModelChange(value);\n this.modelValue.set(value);\n this.selectedOptionUpdated = true;\n }\n\n writeValue(value: any): void {\n if (this.filter) {\n this.resetFilter();\n }\n\n this.value = value;\n this.allowModelChange() && this.onModelChange(value);\n this.modelValue.set(this.value);\n this.updateEditableLabel();\n this.cd.markForCheck();\n }\n\n allowModelChange() {\n return this.autoDisplayFirst && !this.placeholder() && (this.modelValue() === undefined || this.modelValue() === null) && !this.editable && this.options && this.options.length;\n }\n\n isSelected(option) {\n return this.isValidOption(option) && this.isOptionValueEqualsModelValue(option);\n }\n\n private isOptionValueEqualsModelValue(option: any) {\n return equals(this.modelValue(), this.getOptionValue(option), this.equalityKey());\n }\n\n ngAfterViewInit() {\n if (this.editable) {\n this.updateEditableLabel();\n }\n this.updatePlaceHolderForFloatingLabel();\n }\n\n updatePlaceHolderForFloatingLabel(): void {\n const parentElement = this.el.nativeElement.parentElement;\n const isInFloatingLabel = parentElement?.classList.contains('p-float-label');\n if (parentElement && isInFloatingLabel && !this.selectedOption) {\n const label = parentElement.querySelector('label');\n if (label) {\n this._placeholder.set(label.textContent);\n }\n }\n }\n\n updateEditableLabel(): void {\n if (this.editableInputViewChild) {\n this.editableInputViewChild.nativeElement.value = this.getOptionLabel(this.selectedOption) || this.modelValue() || '';\n }\n }\n\n clearEditableLabel(): void {\n if (this.editableInputViewChild) {\n this.editableInputViewChild.nativeElement.value = '';\n }\n }\n\n getOptionIndex(index, scrollerOptions) {\n return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];\n }\n\n getOptionLabel(option: any) {\n return this.optionLabel !== undefined && this.optionLabel !== null ? resolveFieldData(option, this.optionLabel) : option && option.label !== undefined ? option.label : option;\n }\n\n getOptionValue(option: any) {\n return this.optionValue && this.optionValue !== null ? resolveFieldData(option, this.optionValue) : !this.optionLabel && option && option.value !== undefined ? option.value : option;\n }\n\n isOptionDisabled(option: any) {\n if (this.getOptionValue(this.modelValue()) === this.getOptionValue(option) || (this.getOptionLabel(this.modelValue() === this.getOptionLabel(option)) && option.disabled === false)) {\n return false;\n } else {\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : option && option.disabled !== undefined ? option.disabled : false;\n }\n }\n\n getOptionGroupLabel(optionGroup: any) {\n return this.optionGroupLabel !== undefined && this.optionGroupLabel !== null ? resolveFieldData(optionGroup, this.optionGroupLabel) : optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup;\n }\n\n getOptionGroupChildren(optionGroup: any) {\n return this.optionGroupChildren !== undefined && this.optionGroupChildren !== null ? resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;\n }\n\n getAriaPosInset(index) {\n return (\n (this.optionGroupLabel\n ? index -\n this.visibleOptions()\n .slice(0, index)\n .filter((option) => this.isOptionGroup(option)).length\n : index) + 1\n );\n }\n\n get ariaSetSize() {\n return this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length;\n }\n\n /**\n * Callback to invoke on filter reset.\n * @group Method\n */\n public resetFilter(): void {\n this._filterValue.set(null);\n\n if (this.filterViewChild && this.filterViewChild.nativeElement) {\n this.filterViewChild.nativeElement.value = '';\n }\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n onContainerClick(event: any) {\n if (this.disabled || this.readonly || this.loading) {\n return;\n }\n\n this.focusInputViewChild?.nativeElement.focus({ preventScroll: true });\n\n if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section=\"clearicon\"]')) {\n return;\n } else if (!this.overlayViewChild || !this.overlayViewChild.el.nativeElement.contains(event.target)) {\n this.overlayVisible ? this.hide(true) : this.show(true);\n }\n this.onClick.emit(event);\n this.clicked.set(true);\n this.cd.detectChanges();\n }\n\n isEmpty() {\n return !this._options() || (this.visibleOptions() && this.visibleOptions().length === 0);\n }\n\n onEditableInput(event: any) {\n const value = (event.target as HTMLInputElement).value;\n this.searchValue = '';\n const matched = this.searchOptions(event, value);\n !matched && this.focusedOptionIndex.set(-1);\n\n this.onModelChange(value);\n this.updateModel(value, event);\n setTimeout(() => {\n this.onChange.emit({ originalEvent: event, value: value });\n }, 1);\n\n !this.overlayVisible && isNotEmpty(value) && this.show();\n }\n /**\n * Displays the panel.\n * @group Method\n */\n public show(isFocus?) {\n this.overlayVisible = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.editable ? -1 : this.findSelectedOptionIndex();\n this.focusedOptionIndex.set(focusedOptionIndex);\n\n if (isFocus) {\n focus(this.focusInputViewChild?.nativeElement);\n }\n\n this.cd.markForCheck();\n }\n\n onOverlayAnimationStart(event: any) {\n if (event.toState === 'visible') {\n this.itemsWrapper = <any>findSingle(this.overlayViewChild?.overlayViewChild?.nativeElement, this.virtualScroll ? '.p-scroller' : '.p-dropdown-items-wrapper');\n this.virtualScroll && this.scroller?.setContentEl(this.itemsViewChild?.nativeElement);\n\n if (this.options && this.options.length) {\n if (this.virtualScroll) {\n const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;\n if (selectedIndex !== -1) {\n this.scroller?.scrollToIndex(selectedIndex);\n }\n } else {\n let selectedListItem = findSingle(this.itemsWrapper, '.p-dropdown-item.p-highlight');\n\n if (selectedListItem) {\n selectedListItem.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n }\n }\n\n if (this.filterViewChild && this.filterViewChild.nativeElement) {\n this.preventModelTouched = true;\n\n if (this.autofocusFilter && !this.editable) {\n this.filterViewChild.nativeElement.focus();\n }\n }\n\n this.onShow.emit(event);\n }\n if (event.toState === 'void') {\n this.itemsWrapper = null;\n this.onModelTouched();\n this.onHide.emit(event);\n }\n }\n /**\n * Hides the panel.\n * @group Method\n */\n public hide(isFocus?) {\n this.overlayVisible = false;\n this.focusedOptionIndex.set(-1);\n this.clicked.set(false);\n this.searchValue = '';\n\n if (this.overlayOptions?.mode === 'modal') {\n unblockBodyScroll();\n }\n if (this.filter && this.resetFilterOnHide) {\n this.resetFilter();\n }\n if (isFocus) {\n if (this.focusInputViewChild) {\n focus(this.focusInputViewChild?.nativeElement);\n }\n if (this.editable && this.editableInputViewChild) {\n focus(this.editableInputViewChild?.nativeElement);\n }\n }\n this.cd.markForCheck();\n }\n\n onInputFocus(event: Event) {\n if (this.disabled) {\n // For ScreenReaders\n return;\n }\n\n this.focused = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.overlayVisible && this.scrollInView(this.focusedOptionIndex());\n\n this.onFocus.emit(event);\n }\n\n onInputBlur(event: Event) {\n this.focused = false;\n this.onBlur.emit(event);\n\n if (!this.preventModelTouched) {\n this.onModelTouched();\n }\n this.preventModelTouched = false;\n }\n\n onKeyDown(event: any, search?: boolean) {\n if (this.disabled || this.readonly || this.loading) {\n return;\n }\n\n switch (event.code) {\n //down\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n //up\n case 'ArrowUp':\n this.onArrowUpKey(event, this.editable);\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n this.onArrowLeftKey(event, this.editable);\n break;\n\n case 'Delete':\n this.onDeleteKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event, this.editable);\n break;\n\n case 'End':\n this.onEndKey(event, this.editable);\n break;\n\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n\n //space\n case 'Space':\n this.onSpaceKey(event, search);\n break;\n\n //enter\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n //escape and tab\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKey(event, this.editable);\n break;\n\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n\n default:\n if (!event.metaKey && isPrintableCharacter(event.key)) {\n !this.overlayVisible && this.show();\n !this.editable && this.searchOptions(event, event.key);\n }\n\n break;\n }\n\n this.clicked.set(false);\n }\n\n onFilterKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event, true);\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n this.onArrowLeftKey(event, true);\n break;\n\n case 'Home':\n this.onHomeKey(event, true);\n break;\n\n case 'End':\n this.onEndKey(event, true);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event, true);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event, true);\n break;\n\n default:\n break;\n }\n }\n\n onFilterBlur(event) {\n this.focusedOptionIndex.set(-1);\n }\n\n onArrowDownKey(event: KeyboardEvent) {\n if (!this.overlayVisible) {\n this.show();\n this.editable && this.changeFocusedOptionIndex(event, this.findSelectedOptionIndex());\n } else {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n // const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();\n // this.changeFocusedOptionIndex(event, optionIndex);\n\n // !this.overlayVisible && this.show();\n event.preventDefault();\n event.stopPropagation();\n }\n\n changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex() !== index) {\n this.focusedOptionIndex.set(index);\n this.scrollInView();\n\n if (this.selectOnFocus) {\n const option = this.visibleOptions()[index];\n this.onOptionSelect(event, option, false);\n }\n }\n }\n\n get virtualScrollerDisabled() {\n return !this.virtualScroll;\n }\n\n scrollInView(index = -1) {\n const id = index !== -1 ? `${this.id}_${index}` : this.focusedOptionId;\n\n if (this.itemsViewChild && this.itemsViewChild.nativeElement) {\n const element = findSingle(this.itemsViewChild.nativeElement, `li[id=\"${id}\"]`);\n if (element) {\n element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n } else if (!this.virtualScrollerDisabled) {\n setTimeout(() => {\n this.virtualScroll && this.scroller?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());\n }, 0);\n }\n }\n }\n\n hasSelectedOption() {\n return this.modelValue() !== undefined;\n }\n\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n }\n\n equalityKey() {\n return this.optionValue ? null : this.dataKey;\n }\n\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findFirstOptionIndex() {\n return this.visibleOptions().findIndex((option) => this.isValidOption(option));\n }\n\n findSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findNextOptionIndex(index) {\n const matchedOptionIndex =\n index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((option) => this.isValidOption(option))\n : -1;\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n }\n\n findPrevOptionIndex(index) {\n const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n\n findLastOptionIndex() {\n return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));\n }\n\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n isValidOption(option) {\n return option !== undefined && option !== null && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n }\n\n isOptionGroup(option) {\n return this.optionGroupLabel !== undefined && this.optionGroupLabel !== null && option.optionGroup !== undefined && option.optionGroup !== null && option.group;\n }\n\n onArrowUpKey(event: KeyboardEvent, pressedInInputText: boolean = false) {\n if (event.altKey && !pressedInInputText) {\n if (this.focusedOptionIndex() !== -1) {\n const option = this.visibleOptions()[this.focusedOptionIndex()];\n this.onOptionSelect(event, option);\n }\n\n this.overlayVisible && this.hide();\n } else {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n !this.overlayVisible && this.show();\n }\n event.preventDefault();\n event.stopPropagation();\n }\n\n onArrowLeftKey(event: KeyboardEvent, pressedInInputText: boolean = false) {\n pressedInInputText && this.focusedOptionIndex.set(-1);\n }\n\n onDeleteKey(event: KeyboardEvent) {\n if (this.showClear) {\n this.clear(event);\n event.preventDefault();\n }\n }\n\n onHomeKey(event: any, pressedInInputText: boolean = false) {\n if (pressedInInputText) {\n const target = event.currentTarget;\n if (event.shiftKey) {\n target.setSelectionRange(0, target.value.length);\n } else {\n target.setSelectionRange(0, 0);\n this.focusedOptionIndex.set(-1);\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findFirstOptionIndex());\n\n !this.overlayVisible && this.show();\n }\n\n event.preventDefault();\n }\n\n onEndKey(event: any, pressedInInputText = false) {\n if (pressedInInputText) {\n const target = event.currentTarget;\n\n if (event.shiftKey) {\n target.setSelectionRange(0, target.value.length);\n } else {\n const len = target.value.length;\n\n target.setSelectionRange(len, len);\n this.focusedOptionIndex.set(-1);\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findLastOptionIndex());\n\n !this.overlayVisible && this.show();\n }\n\n event.preventDefault();\n }\n\n onPageDownKey(event: KeyboardEvent) {\n this.scrollInView(this.visibleOptions().length - 1);\n event.preventDefault();\n }\n\n onPageUpKey(event: KeyboardEvent) {\n this.scrollInView(0);\n event.preventDefault();\n }\n\n onSpaceKey(event: KeyboardEvent, pressedInInputText: boolean = false) {\n !this.editable && !pressedInInputText && this.onEnterKey(event);\n }\n\n onEnterKey(event, pressedInInput = false) {\n if (!this.overlayVisible) {\n this.focusedOptionIndex.set(-1);\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionIndex() !== -1) {\n const option = this.visibleOptions()[this.focusedOptionIndex()];\n this.onOptionSelect(event, option);\n }\n\n !pressedInInput && this.hide();\n }\n\n event.preventDefault();\n }\n\n onEscapeKey(event: KeyboardEvent) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n }\n\n onTabKey(event, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible && this.hasFocusableElements()) {\n focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay.nativeElement : this.firstHiddenFocusableElementOnOverlay.nativeElement);\n event.preventDefault();\n } else {\n if (this.focusedOptionIndex() !== -1 && this.overlayVisible) {\n const option = this.visibleOptions()[this.focusedOptionIndex()];\n this.onOptionSelect(event, option);\n }\n this.overlayVisible && this.hide(this.filter);\n }\n }\n event.stopPropagation();\n }\n\n onFirstHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.focusInputViewChild?.nativeElement ? getFirstFocusableElement(this.overlayViewChild.el?.nativeElement, ':not(.p-hidden-focusable)') : this.focusInputViewChild?.nativeElement;\n focus(focusableEl);\n }\n\n onLastHiddenFocus(event) {\n const focusableEl =\n event.relatedTarget === this.focusInputViewChild?.nativeElement ? getLastFocusableElement(this.overlayViewChild?.overlayViewChild?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])') : this.focusInputViewChild?.nativeElement;\n\n focus(focusableEl);\n }\n\n hasFocusableElements() {\n return getFocusableElements(this.overlayViewChild.overlayViewChild.nativeElement, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n }\n\n onBackspaceKey(event: KeyboardEvent, pressedInInputText = false) {\n if (pressedInInputText) {\n !this.overlayVisible && this.show();\n }\n }\n\n searchFields() {\n return this.filterBy?.split(',') || this.filterFields || [this.optionLabel];\n }\n\n searchOptions(event, char) {\n this.searchValue = (this.searchValue || '') + char;\n\n let optionIndex = -1;\n let matched = false;\n\n optionIndex = this.visibleOptions().findIndex((option) => this.isOptionExactMatched(option));\n\n if (optionIndex === -1) {\n optionIndex = this.visibleOptions().findIndex((option) => this.isOptionStartsWith(option));\n }\n\n if (optionIndex !== -1) {\n matched = true;\n }\n\n if (optionIndex === -1 && this.focusedOptionIndex() === -1) {\n optionIndex = this.findFirstFocusedOptionIndex();\n }\n\n if (optionIndex !== -1) {\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.searchValue = '';\n this.searchTimeout = null;\n }, 500);\n\n return matched;\n }\n\n isOptionStartsWith(option) {\n return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale));\n }\n\n isOptionExactMatched(option) {\n return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale) === this.searchValue.toLocaleLowerCase(this.filterLocale);\n }\n\n onFilterInputChange(event: Event | any): void {\n let value: string = (event.target as HTMLInputElement).value;\n this._filterValue.set(value);\n this.focusedOptionIndex.set(-1);\n this.onFilter.emit({ originalEvent: event, filter: this._filterValue() });\n !this.virtualScrollerDisabled && this.scroller.scrollToIndex(0);\n setTimeout(() => {\n this.overlayViewChild.alignOverlay();\n });\n this.cd.markForCheck();\n }\n\n applyFocus(): void {\n if (this.editable) (findSingle(this.el.nativeElement, '.p-dropdown-label.p-inputtext') as any).focus();\n else focus(this.focusInputViewChild?.nativeElement);\n }\n /**\n * Applies focus.\n * @group Method\n */\n public focus(): void {\n this.applyFocus();\n }\n /**\n * Clears the model.\n * @group Method\n */\n public clear(event?: Event) {\n this.updateModel(null, event);\n this.clearEditableLabel();\n this.onModelTouched();\n this.onChange.emit({ originalEvent: event, value: this.value });\n this.onClear.emit(event);\n this.resetFilter();\n }\n}\n\n@NgModule({\n imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, Ripple, Scroller, AutoFocusModule, TimesIcon, ChevronDownIcon, SearchIcon, BlankIcon, CheckIcon, InputTextModule, IconField, InputIcon],\n exports: [Dropdown, OverlayModule, SharedModule, Scroller],\n declarations: [Dropdown, DropdownItem]\n})\nexport class DropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|