source: trip-planner-front/node_modules/.cache/babel-webpack/f2be44224c8af65180622dd6f6488491.json@ 84d0fbb

Last change on this file since 84d0fbb was e29cc2e, checked in by Ema <ema_spirova@…>, 3 years ago

primeNG components

  • Property mode set to 100644
File size: 188.7 KB
Line 
1{"ast":null,"code":"import * as i4 from '@angular/cdk/scrolling';\nimport { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';\nimport * as i0 from '@angular/core';\nimport { forwardRef, EventEmitter, Component, Input, Output, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, ContentChildren, NgModule } from '@angular/core';\nimport { trigger, transition, style, animate } from '@angular/animations';\nimport * as i2 from '@angular/common';\nimport { CommonModule } from '@angular/common';\nimport * as i3 from 'primeng/api';\nimport { TranslationKeys, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { UniqueComponentId, ObjectUtils, ZIndexUtils } from 'primeng/utils';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport * as i5 from 'primeng/tooltip';\nimport { TooltipModule } from 'primeng/tooltip';\nimport * as i1 from 'primeng/ripple';\nimport { RippleModule } from 'primeng/ripple';\n\nfunction DropdownItem_span_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\");\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance(1);\n i0.ɵɵtextInterpolate(ctx_r0.label || \"empty\");\n }\n}\n\nfunction DropdownItem_ng_container_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\n\nconst _c0 = function (a0) {\n return {\n \"height\": a0\n };\n};\n\nconst _c1 = function (a1, a2) {\n return {\n \"p-dropdown-item\": true,\n \"p-highlight\": a1,\n \"p-disabled\": a2\n };\n};\n\nconst _c2 = function (a0) {\n return {\n $implicit: a0\n };\n};\n\nconst _c3 = [\"container\"];\nconst _c4 = [\"filter\"];\nconst _c5 = [\"in\"];\nconst _c6 = [\"editableInput\"];\n\nfunction Dropdown_span_5_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtext(1);\n i0.ɵɵelementContainerEnd();\n }\n\n if (rf & 2) {\n const ctx_r7 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(1);\n i0.ɵɵtextInterpolate(ctx_r7.label || \"empty\");\n }\n}\n\nfunction Dropdown_span_5_ng_container_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\n\nconst _c7 = function (a1) {\n return {\n \"p-dropdown-label p-inputtext\": true,\n \"p-dropdown-label-empty\": a1\n };\n};\n\nfunction Dropdown_span_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 12);\n i0.ɵɵtemplate(1, Dropdown_span_5_ng_container_1_Template, 2, 1, \"ng-container\", 13);\n i0.ɵɵtemplate(2, Dropdown_span_5_ng_container_2_Template, 1, 0, \"ng-container\", 14);\n i0.ɵɵelementEnd();\n }\n\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngClass\", i0.ɵɵpureFunction1(9, _c7, ctx_r2.label == null || ctx_r2.label.length === 0))(\"pTooltip\", ctx_r2.tooltip)(\"tooltipPosition\", ctx_r2.tooltipPosition)(\"positionStyle\", ctx_r2.tooltipPositionStyle)(\"tooltipStyleClass\", ctx_r2.tooltipStyleClass);\n i0.ɵɵattribute(\"id\", ctx_r2.labelId);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", !ctx_r2.selectedItemTemplate);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r2.selectedItemTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(11, _c2, ctx_r2.selectedOption));\n }\n}\n\nconst _c8 = function (a1) {\n return {\n \"p-dropdown-label p-inputtext p-placeholder\": true,\n \"p-dropdown-label-empty\": a1\n };\n};\n\nfunction Dropdown_span_6_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 15);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n\n if (rf & 2) {\n const ctx_r3 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngClass\", i0.ɵɵpureFunction1(2, _c8, ctx_r3.placeholder == null || ctx_r3.placeholder.length === 0));\n i0.ɵɵadvance(1);\n i0.ɵɵtextInterpolate(ctx_r3.placeholder || \"empty\");\n }\n}\n\nfunction Dropdown_input_7_Template(rf, ctx) {\n if (rf & 1) {\n const _r11 = i0.ɵɵgetCurrentView();\n\n i0.ɵɵelementStart(0, \"input\", 16, 17);\n i0.ɵɵlistener(\"click\", function Dropdown_input_7_Template_input_click_0_listener() {\n i0.ɵɵrestoreView(_r11);\n const ctx_r10 = i0.ɵɵnextContext();\n return ctx_r10.onEditableInputClick();\n })(\"input\", function Dropdown_input_7_Template_input_input_0_listener($event) {\n i0.ɵɵrestoreView(_r11);\n const ctx_r12 = i0.ɵɵnextContext();\n return ctx_r12.onEditableInputChange($event);\n })(\"focus\", function Dropdown_input_7_Template_input_focus_0_listener($event) {\n i0.ɵɵrestoreView(_r11);\n const ctx_r13 = i0.ɵɵnextContext();\n return ctx_r13.onEditableInputFocus($event);\n })(\"blur\", function Dropdown_input_7_Template_input_blur_0_listener($event) {\n i0.ɵɵrestoreView(_r11);\n const ctx_r14 = i0.ɵɵnextContext();\n return ctx_r14.onInputBlur($event);\n });\n i0.ɵɵelementEnd();\n }\n\n if (rf & 2) {\n const ctx_r4 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"disabled\", ctx_r4.disabled);\n i0.ɵɵattribute(\"maxlength\", ctx_r4.maxlength)(\"placeholder\", ctx_r4.placeholder)(\"aria-expanded\", ctx_r4.overlayVisible);\n }\n}\n\nfunction Dropdown_i_8_Template(rf, ctx) {\n if (rf & 1) {\n const _r16 = i0.ɵɵgetCurrentView();\n\n i0.ɵɵelementStart(0, \"i\", 18);\n i0.ɵɵlistener(\"click\", function Dropdown_i_8_Template_i_click_0_listener($event) {\n i0.ɵɵrestoreView(_r16);\n const ctx_r15 = i0.ɵɵnextContext();\n return ctx_r15.clear($event);\n });\n i0.ɵɵelementEnd();\n }\n}\n\nfunction Dropdown_div_11_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\n\nfunction Dropdown_div_11_div_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r30 = i0.ɵɵgetCurrentView();\n\n i0.ɵɵelementStart(0, \"div\", 26);\n i0.ɵɵelementStart(1, \"div\", 27);\n i0.ɵɵlistener(\"click\", function Dropdown_div_11_div_2_Template_div_click_1_listener($event) {\n return $event.stopPropagation();\n });\n i0.ɵɵelementStart(2, \"input\", 28, 29);\n i0.ɵɵlistener(\"keydown.enter\", function Dropdown_div_11_div_2_Template_input_keydown_enter_2_listener($event) {\n return $event.preventDefault();\n })(\"keydown\", function Dropdown_div_11_div_2_Template_input_keydown_2_listener($event) {\n i0.ɵɵrestoreView(_r30);\n const ctx_r29 = i0.ɵɵnextContext(2);\n return ctx_r29.onKeydown($event, false);\n })(\"input\", function Dropdown_div_11_div_2_Template_input_input_2_listener($event) {\n i0.ɵɵrestoreView(_r30);\n const ctx_r31 = i0.ɵɵnextContext(2);\n return ctx_r31.onFilterInputChange($event);\n });\n i0.ɵɵelementEnd();\n i0.ɵɵelement(4, \"span\", 30);\n i0.ɵɵelementEnd();\n i0.ɵɵelementEnd();\n }\n\n if (rf & 2) {\n const ctx_r18 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"value\", ctx_r18.filterValue || \"\");\n i0.ɵɵattribute(\"placeholder\", ctx_r18.filterPlaceholder)(\"aria-label\", ctx_r18.ariaFilterLabel)(\"aria-activedescendant\", ctx_r18.overlayVisible ? \"p-highlighted-option\" : ctx_r18.labelId);\n }\n}\n\nfunction Dropdown_div_11_ng_container_5_ng_template_1_span_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\");\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n\n if (rf & 2) {\n const optgroup_r33 = i0.ɵɵnextContext().$implicit;\n const ctx_r34 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance(1);\n i0.ɵɵtextInterpolate(ctx_r34.getOptionGroupLabel(optgroup_r33) || \"empty\");\n }\n}\n\nfunction Dropdown_div_11_ng_container_5_ng_template_1_ng_container_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\n\nfunction Dropdown_div_11_ng_container_5_ng_template_1_ng_container_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\n\nconst _c9 = function (a0, a1) {\n return {\n $implicit: a0,\n selectedOption: a1\n };\n};\n\nfunction Dropdown_div_11_ng_container_5_ng_template_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"li\", 32);\n i0.ɵɵtemplate(1, Dropdown_div_11_ng_container_5_ng_template_1_span_1_Template, 2, 1, \"span\", 13);\n i0.ɵɵtemplate(2, Dropdown_div_11_ng_container_5_ng_template_1_ng_container_2_Template, 1, 0, \"ng-container\", 14);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(3, Dropdown_div_11_ng_container_5_ng_template_1_ng_container_3_Template, 1, 0, \"ng-container\", 14);\n }\n\n if (rf & 2) {\n const optgroup_r33 = ctx.$implicit;\n i0.ɵɵnextContext(2);\n\n const _r21 = i0.ɵɵreference(8);\n\n const ctx_r32 = i0.ɵɵnextContext();\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", !ctx_r32.groupTemplate);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r32.groupTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(5, _c2, optgroup_r33));\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", _r21)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction2(7, _c9, ctx_r32.getOptionGroupChildren(optgroup_r33), ctx_r32.selectedOption));\n }\n}\n\nfunction Dropdown_div_11_ng_container_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, Dropdown_div_11_ng_container_5_ng_template_1_Template, 4, 10, \"ng-template\", 31);\n i0.ɵɵelementContainerEnd();\n }\n\n if (rf & 2) {\n const ctx_r19 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngForOf\", ctx_r19.optionsToDisplay);\n }\n}\n\nfunction Dropdown_div_11_ng_container_6_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\n\nfunction Dropdown_div_11_ng_container_6_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, Dropdown_div_11_ng_container_6_ng_container_1_Template, 1, 0, \"ng-container\", 14);\n i0.ɵɵelementContainerEnd();\n }\n\n if (rf & 2) {\n i0.ɵɵnextContext();\n\n const _r21 = i0.ɵɵreference(8);\n\n const ctx_r20 = i0.ɵɵnextContext();\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", _r21)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction2(2, _c9, ctx_r20.optionsToDisplay, ctx_r20.selectedOption));\n }\n}\n\nfunction Dropdown_div_11_ng_template_7_ng_container_0_ng_template_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r48 = i0.ɵɵgetCurrentView();\n\n i0.ɵɵelementStart(0, \"p-dropdownItem\", 35);\n i0.ɵɵlistener(\"onClick\", function Dropdown_div_11_ng_template_7_ng_container_0_ng_template_1_Template_p_dropdownItem_onClick_0_listener($event) {\n i0.ɵɵrestoreView(_r48);\n const ctx_r47 = i0.ɵɵnextContext(4);\n return ctx_r47.onItemClick($event);\n });\n i0.ɵɵelementEnd();\n }\n\n if (rf & 2) {\n const option_r45 = ctx.$implicit;\n const selectedOption_r40 = i0.ɵɵnextContext(2).selectedOption;\n const ctx_r44 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"option\", option_r45)(\"selected\", selectedOption_r40 == option_r45)(\"label\", ctx_r44.getOptionLabel(option_r45))(\"disabled\", ctx_r44.isOptionDisabled(option_r45))(\"template\", ctx_r44.itemTemplate);\n }\n}\n\nfunction Dropdown_div_11_ng_template_7_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, Dropdown_div_11_ng_template_7_ng_container_0_ng_template_1_Template, 1, 5, \"ng-template\", 31);\n i0.ɵɵelementContainerEnd();\n }\n\n if (rf & 2) {\n const options_r39 = i0.ɵɵnextContext().$implicit;\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngForOf\", options_r39);\n }\n}\n\nfunction Dropdown_div_11_ng_template_7_ng_template_1_cdk_virtual_scroll_viewport_0_ng_container_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r62 = i0.ɵɵgetCurrentView();\n\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵelementStart(1, \"p-dropdownItem\", 35);\n i0.ɵɵlistener(\"onClick\", function Dropdown_div_11_ng_template_7_ng_template_1_cdk_virtual_scroll_viewport_0_ng_container_2_Template_p_dropdownItem_onClick_1_listener($event) {\n i0.ɵɵrestoreView(_r62);\n const ctx_r61 = i0.ɵɵnextContext(5);\n return ctx_r61.onItemClick($event);\n });\n i0.ɵɵelementEnd();\n i0.ɵɵelementContainerEnd();\n }\n\n if (rf & 2) {\n const option_r54 = ctx.$implicit;\n const selectedOption_r40 = i0.ɵɵnextContext(3).selectedOption;\n const ctx_r53 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"option\", option_r54)(\"selected\", selectedOption_r40 == option_r54)(\"label\", ctx_r53.getOptionLabel(option_r54))(\"disabled\", ctx_r53.isOptionDisabled(option_r54))(\"template\", ctx_r53.itemTemplate);\n }\n}\n\nfunction Dropdown_div_11_ng_template_7_ng_template_1_cdk_virtual_scroll_viewport_0_Template(rf, ctx) {\n if (rf & 1) {\n const _r65 = i0.ɵɵgetCurrentView();\n\n i0.ɵɵelementStart(0, \"cdk-virtual-scroll-viewport\", 37, 38);\n i0.ɵɵlistener(\"scrolledIndexChange\", function Dropdown_div_11_ng_template_7_ng_template_1_cdk_virtual_scroll_viewport_0_Template_cdk_virtual_scroll_viewport_scrolledIndexChange_0_listener() {\n i0.ɵɵrestoreView(_r65);\n const ctx_r64 = i0.ɵɵnextContext(4);\n return ctx_r64.scrollToSelectedVirtualScrollElement();\n });\n i0.ɵɵtemplate(2, Dropdown_div_11_ng_template_7_ng_template_1_cdk_virtual_scroll_viewport_0_ng_container_2_Template, 2, 5, \"ng-container\", 39);\n i0.ɵɵelementEnd();\n }\n\n if (rf & 2) {\n const options_r39 = i0.ɵɵnextContext(2).$implicit;\n const ctx_r51 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"ngStyle\", i0.ɵɵpureFunction1(3, _c0, ctx_r51.scrollHeight))(\"itemSize\", ctx_r51.itemSize);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"cdkVirtualForOf\", options_r39);\n }\n}\n\nfunction Dropdown_div_11_ng_template_7_ng_template_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Dropdown_div_11_ng_template_7_ng_template_1_cdk_virtual_scroll_viewport_0_Template, 3, 5, \"cdk-virtual-scroll-viewport\", 36);\n }\n\n if (rf & 2) {\n const ctx_r43 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"ngIf\", ctx_r43.virtualScroll && ctx_r43.optionsToDisplay && ctx_r43.optionsToDisplay.length);\n }\n}\n\nfunction Dropdown_div_11_ng_template_7_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Dropdown_div_11_ng_template_7_ng_container_0_Template, 2, 1, \"ng-container\", 33);\n i0.ɵɵtemplate(1, Dropdown_div_11_ng_template_7_ng_template_1_Template, 1, 1, \"ng-template\", null, 34, i0.ɵɵtemplateRefExtractor);\n }\n\n if (rf & 2) {\n const _r42 = i0.ɵɵreference(2);\n\n const ctx_r22 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"ngIf\", !ctx_r22.virtualScroll)(\"ngIfElse\", _r42);\n }\n}\n\nfunction Dropdown_div_11_li_9_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtext(1);\n i0.ɵɵelementContainerEnd();\n }\n\n if (rf & 2) {\n const ctx_r67 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance(1);\n i0.ɵɵtextInterpolate1(\" \", ctx_r67.emptyFilterMessageLabel, \" \");\n }\n}\n\nfunction Dropdown_div_11_li_9_ng_container_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, null, 41);\n }\n}\n\nfunction Dropdown_div_11_li_9_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"li\", 40);\n i0.ɵɵtemplate(1, Dropdown_div_11_li_9_ng_container_1_Template, 2, 1, \"ng-container\", 33);\n i0.ɵɵtemplate(2, Dropdown_div_11_li_9_ng_container_2_Template, 2, 0, \"ng-container\", 20);\n i0.ɵɵelementEnd();\n }\n\n if (rf & 2) {\n const ctx_r23 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", !ctx_r23.emptyFilterTemplate && !ctx_r23.emptyTemplate)(\"ngIfElse\", ctx_r23.emptyFilter);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r23.emptyFilterTemplate || ctx_r23.emptyTemplate);\n }\n}\n\nfunction Dropdown_div_11_li_10_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtext(1);\n i0.ɵɵelementContainerEnd();\n }\n\n if (rf & 2) {\n const ctx_r70 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance(1);\n i0.ɵɵtextInterpolate1(\" \", ctx_r70.emptyMessageLabel, \" \");\n }\n}\n\nfunction Dropdown_div_11_li_10_ng_container_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, null, 42);\n }\n}\n\nfunction Dropdown_div_11_li_10_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"li\", 40);\n i0.ɵɵtemplate(1, Dropdown_div_11_li_10_ng_container_1_Template, 2, 1, \"ng-container\", 33);\n i0.ɵɵtemplate(2, Dropdown_div_11_li_10_ng_container_2_Template, 2, 0, \"ng-container\", 20);\n i0.ɵɵelementEnd();\n }\n\n if (rf & 2) {\n const ctx_r24 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", !ctx_r24.emptyTemplate)(\"ngIfElse\", ctx_r24.empty);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r24.emptyTemplate);\n }\n}\n\nfunction Dropdown_div_11_ng_container_11_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\n\nconst _c10 = function (a0, a1) {\n return {\n showTransitionParams: a0,\n hideTransitionParams: a1\n };\n};\n\nconst _c11 = function (a1) {\n return {\n value: \"visible\",\n params: a1\n };\n};\n\nconst _c12 = function (a0) {\n return {\n \"p-dropdown-virtualscroll\": a0\n };\n};\n\nfunction Dropdown_div_11_Template(rf, ctx) {\n if (rf & 1) {\n const _r74 = i0.ɵɵgetCurrentView();\n\n i0.ɵɵelementStart(0, \"div\", 19);\n i0.ɵɵlistener(\"click\", function Dropdown_div_11_Template_div_click_0_listener($event) {\n i0.ɵɵrestoreView(_r74);\n const ctx_r73 = i0.ɵɵnextContext();\n return ctx_r73.onOverlayClick($event);\n })(\"@overlayAnimation.start\", function Dropdown_div_11_Template_div_animation_overlayAnimation_start_0_listener($event) {\n i0.ɵɵrestoreView(_r74);\n const ctx_r75 = i0.ɵɵnextContext();\n return ctx_r75.onOverlayAnimationStart($event);\n })(\"@overlayAnimation.start\", function Dropdown_div_11_Template_div_animation_overlayAnimation_start_0_listener($event) {\n i0.ɵɵrestoreView(_r74);\n const ctx_r76 = i0.ɵɵnextContext();\n return ctx_r76.onOverlayAnimationEnd($event);\n });\n i0.ɵɵtemplate(1, Dropdown_div_11_ng_container_1_Template, 1, 0, \"ng-container\", 20);\n i0.ɵɵtemplate(2, Dropdown_div_11_div_2_Template, 5, 4, \"div\", 21);\n i0.ɵɵelementStart(3, \"div\", 22);\n i0.ɵɵelementStart(4, \"ul\", 23);\n i0.ɵɵtemplate(5, Dropdown_div_11_ng_container_5_Template, 2, 1, \"ng-container\", 13);\n i0.ɵɵtemplate(6, Dropdown_div_11_ng_container_6_Template, 2, 5, \"ng-container\", 13);\n i0.ɵɵtemplate(7, Dropdown_div_11_ng_template_7_Template, 3, 2, \"ng-template\", null, 24, i0.ɵɵtemplateRefExtractor);\n i0.ɵɵtemplate(9, Dropdown_div_11_li_9_Template, 3, 3, \"li\", 25);\n i0.ɵɵtemplate(10, Dropdown_div_11_li_10_Template, 3, 3, \"li\", 25);\n i0.ɵɵelementEnd();\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(11, Dropdown_div_11_ng_container_11_Template, 1, 0, \"ng-container\", 20);\n i0.ɵɵelementEnd();\n }\n\n if (rf & 2) {\n const ctx_r6 = i0.ɵɵnextContext();\n i0.ɵɵclassMap(ctx_r6.panelStyleClass);\n i0.ɵɵproperty(\"ngClass\", \"p-dropdown-panel p-component\")(\"@overlayAnimation\", i0.ɵɵpureFunction1(19, _c11, i0.ɵɵpureFunction2(16, _c10, ctx_r6.showTransitionOptions, ctx_r6.hideTransitionOptions)))(\"ngStyle\", ctx_r6.panelStyle);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r6.headerTemplate);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx_r6.filter);\n i0.ɵɵadvance(1);\n i0.ɵɵstyleProp(\"max-height\", ctx_r6.virtualScroll ? \"auto\" : ctx_r6.scrollHeight || \"auto\");\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngClass\", i0.ɵɵpureFunction1(21, _c12, ctx_r6.virtualScroll));\n i0.ɵɵattribute(\"id\", ctx_r6.listId);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx_r6.group);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", !ctx_r6.group);\n i0.ɵɵadvance(3);\n i0.ɵɵproperty(\"ngIf\", ctx_r6.filterValue && ctx_r6.isEmpty());\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", !ctx_r6.filterValue && ctx_r6.isEmpty());\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r6.footerTemplate);\n }\n}\n\nconst _c13 = function (a1, a2, a3, a4) {\n return {\n \"p-dropdown p-component\": true,\n \"p-disabled\": a1,\n \"p-dropdown-open\": a2,\n \"p-focus\": a3,\n \"p-dropdown-clearable\": a4\n };\n};\n\nconst DROPDOWN_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Dropdown),\n multi: true\n};\n\nclass DropdownItem {\n constructor() {\n this.onClick = new EventEmitter();\n }\n\n onOptionClick(event) {\n this.onClick.emit({\n originalEvent: event,\n option: this.option\n });\n }\n\n}\n\nDropdownItem.ɵfac = function DropdownItem_Factory(t) {\n return new (t || DropdownItem)();\n};\n\nDropdownItem.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: DropdownItem,\n selectors: [[\"p-dropdownItem\"]],\n hostAttrs: [1, \"p-element\"],\n inputs: {\n option: \"option\",\n selected: \"selected\",\n label: \"label\",\n disabled: \"disabled\",\n visible: \"visible\",\n itemSize: \"itemSize\",\n template: \"template\"\n },\n outputs: {\n onClick: \"onClick\"\n },\n decls: 3,\n vars: 15,\n consts: [[\"role\", \"option\", \"pRipple\", \"\", 3, \"ngStyle\", \"id\", \"ngClass\", \"click\"], [4, \"ngIf\"], [4, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"]],\n template: function DropdownItem_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"li\", 0);\n i0.ɵɵlistener(\"click\", function DropdownItem_Template_li_click_0_listener($event) {\n return ctx.onOptionClick($event);\n });\n i0.ɵɵtemplate(1, DropdownItem_span_1_Template, 2, 1, \"span\", 1);\n i0.ɵɵtemplate(2, DropdownItem_ng_container_2_Template, 1, 0, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n\n if (rf & 2) {\n i0.ɵɵproperty(\"ngStyle\", i0.ɵɵpureFunction1(8, _c0, ctx.itemSize + \"px\"))(\"id\", ctx.selected ? \"p-highlighted-option\" : \"\")(\"ngClass\", i0.ɵɵpureFunction2(10, _c1, ctx.selected, ctx.disabled));\n i0.ɵɵattribute(\"aria-label\", ctx.label)(\"aria-selected\", ctx.selected);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", !ctx.template);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx.template)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(13, _c2, ctx.option));\n }\n },\n directives: [i1.Ripple, i2.NgStyle, i2.NgClass, i2.NgIf, i2.NgTemplateOutlet],\n encapsulation: 2\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(DropdownItem, [{\n type: Component,\n args: [{\n selector: 'p-dropdownItem',\n template: `\n <li (click)=\"onOptionClick($event)\" role=\"option\" pRipple\n [attr.aria-label]=\"label\" [attr.aria-selected]=\"selected\"\n [ngStyle]=\"{'height': itemSize + 'px'}\" [id]=\"selected ? 'p-highlighted-option':''\"\n [ngClass]=\"{'p-dropdown-item':true, 'p-highlight': selected, 'p-disabled': disabled}\">\n <span *ngIf=\"!template\">{{label||'empty'}}</span>\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: option}\"></ng-container>\n </li>\n `,\n host: {\n 'class': 'p-element'\n }\n }]\n }], null, {\n option: [{\n type: Input\n }],\n selected: [{\n type: Input\n }],\n label: [{\n type: Input\n }],\n disabled: [{\n type: Input\n }],\n visible: [{\n type: Input\n }],\n itemSize: [{\n type: Input\n }],\n template: [{\n type: Input\n }],\n onClick: [{\n type: Output\n }]\n });\n})();\n\nclass Dropdown {\n constructor(el, renderer, cd, zone, filterService, config, overlayService) {\n this.el = el;\n this.renderer = renderer;\n this.cd = cd;\n this.zone = zone;\n this.filterService = filterService;\n this.config = config;\n this.overlayService = overlayService;\n this.scrollHeight = '200px';\n this.resetFilterOnHide = false;\n this.dropdownIcon = 'pi pi-chevron-down';\n this.optionGroupChildren = \"items\";\n this.autoDisplayFirst = true;\n this.emptyFilterMessage = '';\n this.emptyMessage = '';\n this.autoZIndex = true;\n this.baseZIndex = 0;\n this.showTransitionOptions = '.12s cubic-bezier(0, 0, 0.2, 1)';\n this.hideTransitionOptions = '.1s linear';\n this.filterMatchMode = \"contains\";\n this.tooltip = '';\n this.tooltipPosition = 'right';\n this.tooltipPositionStyle = 'absolute';\n this.autofocusFilter = true;\n this.onChange = new EventEmitter();\n this.onFilter = new EventEmitter();\n this.onFocus = new EventEmitter();\n this.onBlur = new EventEmitter();\n this.onClick = new EventEmitter();\n this.onShow = new EventEmitter();\n this.onHide = new EventEmitter();\n this.onClear = new EventEmitter();\n\n this.onModelChange = () => {};\n\n this.onModelTouched = () => {};\n\n this.viewPortOffsetTop = 0;\n this.id = UniqueComponentId();\n }\n\n get disabled() {\n return this._disabled;\n }\n\n set disabled(_disabled) {\n if (_disabled) {\n this.focused = false;\n if (this.overlayVisible) this.hide();\n }\n\n this._disabled = _disabled;\n\n if (!this.cd.destroyed) {\n this.cd.detectChanges();\n }\n }\n\n ngAfterContentInit() {\n this.templates.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 '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 default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngOnInit() {\n this.optionsToDisplay = this.options;\n this.updateSelectedOption(null);\n this.labelId = this.id + '_label';\n this.listId = this.id + '_list';\n }\n\n get options() {\n return this._options;\n }\n\n set options(val) {\n this._options = val;\n this.optionsToDisplay = this._options;\n this.updateSelectedOption(this.value);\n this.optionsChanged = true;\n\n if (this._filterValue && this._filterValue.length) {\n this.activateFilter();\n }\n }\n\n get filterValue() {\n return this._filterValue;\n }\n\n set filterValue(val) {\n this._filterValue = val;\n this.activateFilter();\n }\n\n ngAfterViewInit() {\n if (this.editable) {\n this.updateEditableLabel();\n }\n }\n\n get label() {\n return this.selectedOption ? this.getOptionLabel(this.selectedOption) : null;\n }\n\n get emptyMessageLabel() {\n return this.emptyMessage || this.config.getTranslation(TranslationKeys.EMPTY_MESSAGE);\n }\n\n get emptyFilterMessageLabel() {\n return this.emptyFilterMessage || this.config.getTranslation(TranslationKeys.EMPTY_FILTER_MESSAGE);\n }\n\n get filled() {\n return this.value || this.value != null || this.value != undefined;\n }\n\n updateEditableLabel() {\n if (this.editableInputViewChild && this.editableInputViewChild.nativeElement) {\n this.editableInputViewChild.nativeElement.value = this.selectedOption ? this.getOptionLabel(this.selectedOption) : this.value || '';\n }\n }\n\n getOptionLabel(option) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : option.label != undefined ? option.label : option;\n }\n\n getOptionValue(option) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : this.optionLabel || option.value === undefined ? option : option.value;\n }\n\n isOptionDisabled(option) {\n return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : option.disabled !== undefined ? option.disabled : false;\n }\n\n getOptionGroupLabel(optionGroup) {\n return this.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : optionGroup.label != undefined ? optionGroup.label : optionGroup;\n }\n\n getOptionGroupChildren(optionGroup) {\n return this.optionGroupChildren ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;\n }\n\n onItemClick(event) {\n const option = event.option;\n\n if (!this.isOptionDisabled(option)) {\n this.selectItem(event, option);\n this.accessibleViewChild.nativeElement.focus();\n }\n\n setTimeout(() => {\n this.hide();\n }, 150);\n }\n\n selectItem(event, option) {\n if (this.selectedOption != option) {\n this.selectedOption = option;\n this.value = this.getOptionValue(option);\n this.onModelChange(this.value);\n this.updateEditableLabel();\n this.onChange.emit({\n originalEvent: event.originalEvent,\n value: this.value\n });\n\n if (this.virtualScroll) {\n setTimeout(() => {\n this.viewPortOffsetTop = this.viewPort ? this.viewPort.measureScrollOffset() : 0;\n }, 1);\n }\n }\n }\n\n ngAfterViewChecked() {\n if (this.optionsChanged && this.overlayVisible) {\n this.optionsChanged = false;\n\n if (this.virtualScroll) {\n this.updateVirtualScrollSelectedIndex(true);\n }\n\n this.zone.runOutsideAngular(() => {\n setTimeout(() => {\n this.alignOverlay();\n }, 1);\n });\n }\n\n if (this.selectedOptionUpdated && this.itemsWrapper) {\n if (this.virtualScroll && this.viewPort) {\n let range = this.viewPort.getRenderedRange();\n this.updateVirtualScrollSelectedIndex(false);\n\n if (range.start > this.virtualScrollSelectedIndex || range.end < this.virtualScrollSelectedIndex) {\n this.viewPort.scrollToIndex(this.virtualScrollSelectedIndex);\n }\n }\n\n let selectedItem = DomHandler.findSingle(this.overlay, 'li.p-highlight');\n\n if (selectedItem) {\n DomHandler.scrollInView(this.itemsWrapper, DomHandler.findSingle(this.overlay, 'li.p-highlight'));\n }\n\n this.selectedOptionUpdated = false;\n }\n }\n\n writeValue(value) {\n if (this.filter) {\n this.resetFilter();\n }\n\n this.value = value;\n this.updateSelectedOption(value);\n this.updateEditableLabel();\n this.cd.markForCheck();\n }\n\n resetFilter() {\n this._filterValue = null;\n\n if (this.filterViewChild && this.filterViewChild.nativeElement) {\n this.filterViewChild.nativeElement.value = '';\n }\n\n this.optionsToDisplay = this.options;\n }\n\n updateSelectedOption(val) {\n this.selectedOption = this.findOption(val, this.optionsToDisplay);\n\n if (this.autoDisplayFirst && !this.placeholder && !this.selectedOption && this.optionsToDisplay && this.optionsToDisplay.length && !this.editable) {\n this.selectedOption = this.optionsToDisplay[0];\n this.value = this.getOptionValue(this.selectedOption);\n this.onModelChange(this.value);\n }\n\n this.selectedOptionUpdated = true;\n }\n\n registerOnChange(fn) {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn) {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val) {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n onMouseclick(event) {\n if (this.disabled || this.readonly || this.isInputClick(event)) {\n return;\n }\n\n this.onClick.emit(event);\n this.accessibleViewChild.nativeElement.focus();\n if (this.overlayVisible) this.hide();else this.show();\n this.cd.detectChanges();\n }\n\n onOverlayClick(event) {\n this.overlayService.add({\n originalEvent: event,\n target: this.el.nativeElement\n });\n }\n\n isInputClick(event) {\n return DomHandler.hasClass(event.target, 'p-dropdown-clear-icon') || event.target.isSameNode(this.accessibleViewChild.nativeElement) || this.editableInputViewChild && event.target.isSameNode(this.editableInputViewChild.nativeElement);\n }\n\n isOutsideClicked(event) {\n return !(this.el.nativeElement.isSameNode(event.target) || this.el.nativeElement.contains(event.target) || this.overlay && this.overlay.contains(event.target));\n }\n\n isEmpty() {\n return !this.optionsToDisplay || this.optionsToDisplay && this.optionsToDisplay.length === 0;\n }\n\n onEditableInputClick() {\n this.bindDocumentClickListener();\n }\n\n onEditableInputFocus(event) {\n this.focused = true;\n this.hide();\n this.onFocus.emit(event);\n }\n\n onEditableInputChange(event) {\n this.value = event.target.value;\n this.updateSelectedOption(this.value);\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n\n show() {\n this.overlayVisible = true;\n }\n\n onOverlayAnimationStart(event) {\n switch (event.toState) {\n case 'visible':\n this.overlay = event.element;\n let itemsWrapperSelector = this.virtualScroll ? '.cdk-virtual-scroll-viewport' : '.p-dropdown-items-wrapper';\n this.itemsWrapper = DomHandler.findSingle(this.overlay, itemsWrapperSelector);\n this.appendOverlay();\n\n if (this.autoZIndex) {\n ZIndexUtils.set('overlay', this.overlay, this.baseZIndex + this.config.zIndex.overlay);\n }\n\n this.alignOverlay();\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n\n if (this.options && this.options.length) {\n if (!this.virtualScroll) {\n let selectedListItem = DomHandler.findSingle(this.itemsWrapper, '.p-dropdown-item.p-highlight');\n\n if (selectedListItem) {\n selectedListItem.scrollIntoView({\n block: 'nearest',\n inline: 'start'\n });\n }\n }\n }\n\n if (this.filterViewChild && this.filterViewChild.nativeElement) {\n this.preventModelTouched = true;\n\n if (this.autofocusFilter) {\n this.filterViewChild.nativeElement.focus();\n }\n }\n\n this.onShow.emit(event);\n break;\n\n case 'void':\n this.onOverlayHide();\n this.onHide.emit(event);\n break;\n }\n }\n\n onOverlayAnimationEnd(event) {\n switch (event.toState) {\n case 'void':\n ZIndexUtils.clear(event.element);\n break;\n }\n }\n\n scrollToSelectedVirtualScrollElement() {\n if (!this.virtualAutoScrolled) {\n if (this.viewPortOffsetTop) {\n this.viewPort.scrollToOffset(this.viewPortOffsetTop);\n } else if (this.virtualScrollSelectedIndex > -1) {\n this.viewPort.scrollToIndex(this.virtualScrollSelectedIndex);\n }\n }\n\n this.virtualAutoScrolled = true;\n }\n\n updateVirtualScrollSelectedIndex(resetOffset) {\n if (this.selectedOption && this.optionsToDisplay && this.optionsToDisplay.length) {\n if (resetOffset) {\n this.viewPortOffsetTop = 0;\n }\n\n this.virtualScrollSelectedIndex = this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay);\n }\n }\n\n appendOverlay() {\n if (this.appendTo) {\n if (this.appendTo === 'body') document.body.appendChild(this.overlay);else DomHandler.appendChild(this.overlay, this.appendTo);\n\n if (!this.overlay.style.minWidth) {\n this.overlay.style.minWidth = DomHandler.getWidth(this.containerViewChild.nativeElement) + 'px';\n }\n }\n }\n\n restoreOverlayAppend() {\n if (this.overlay && this.appendTo) {\n this.el.nativeElement.appendChild(this.overlay);\n }\n }\n\n hide() {\n this.overlayVisible = false;\n\n if (this.filter && this.resetFilterOnHide) {\n this.resetFilter();\n }\n\n if (this.virtualScroll) {\n this.virtualAutoScrolled = false;\n }\n\n this.cd.markForCheck();\n }\n\n alignOverlay() {\n if (this.overlay) {\n if (this.appendTo) DomHandler.absolutePosition(this.overlay, this.containerViewChild.nativeElement);else DomHandler.relativePosition(this.overlay, this.containerViewChild.nativeElement);\n }\n }\n\n onInputFocus(event) {\n this.focused = true;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event) {\n this.focused = false;\n this.onBlur.emit(event);\n\n if (!this.preventModelTouched) {\n this.onModelTouched();\n }\n\n this.preventModelTouched = false;\n }\n\n findPrevEnabledOption(index) {\n let prevEnabledOption;\n\n if (this.optionsToDisplay && this.optionsToDisplay.length) {\n for (let i = index - 1; 0 <= i; i--) {\n let option = this.optionsToDisplay[i];\n\n if (option.disabled) {\n continue;\n } else {\n prevEnabledOption = option;\n break;\n }\n }\n\n if (!prevEnabledOption) {\n for (let i = this.optionsToDisplay.length - 1; i >= index; i--) {\n let option = this.optionsToDisplay[i];\n\n if (this.isOptionDisabled(option)) {\n continue;\n } else {\n prevEnabledOption = option;\n break;\n }\n }\n }\n }\n\n return prevEnabledOption;\n }\n\n findNextEnabledOption(index) {\n let nextEnabledOption;\n\n if (this.optionsToDisplay && this.optionsToDisplay.length) {\n for (let i = index + 1; i < this.optionsToDisplay.length; i++) {\n let option = this.optionsToDisplay[i];\n\n if (this.isOptionDisabled(option)) {\n continue;\n } else {\n nextEnabledOption = option;\n break;\n }\n }\n\n if (!nextEnabledOption) {\n for (let i = 0; i < index; i++) {\n let option = this.optionsToDisplay[i];\n\n if (this.isOptionDisabled(option)) {\n continue;\n } else {\n nextEnabledOption = option;\n break;\n }\n }\n }\n }\n\n return nextEnabledOption;\n }\n\n onKeydown(event, search) {\n if (this.readonly || !this.optionsToDisplay || this.optionsToDisplay.length === null) {\n return;\n }\n\n switch (event.which) {\n //down\n case 40:\n if (!this.overlayVisible && event.altKey) {\n this.show();\n } else {\n if (this.group) {\n let selectedItemIndex = this.selectedOption ? this.findOptionGroupIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n\n if (selectedItemIndex !== -1) {\n let nextItemIndex = selectedItemIndex.itemIndex + 1;\n\n if (nextItemIndex < this.getOptionGroupChildren(this.optionsToDisplay[selectedItemIndex.groupIndex]).length) {\n this.selectItem(event, this.getOptionGroupChildren(this.optionsToDisplay[selectedItemIndex.groupIndex])[nextItemIndex]);\n this.selectedOptionUpdated = true;\n } else if (this.optionsToDisplay[selectedItemIndex.groupIndex + 1]) {\n this.selectItem(event, this.getOptionGroupChildren(this.optionsToDisplay[selectedItemIndex.groupIndex + 1])[0]);\n this.selectedOptionUpdated = true;\n }\n } else {\n if (this.optionsToDisplay && this.optionsToDisplay.length > 0) {\n this.selectItem(event, this.getOptionGroupChildren(this.optionsToDisplay[0])[0]);\n }\n }\n } else {\n let selectedItemIndex = this.selectedOption ? this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n let nextEnabledOption = this.findNextEnabledOption(selectedItemIndex);\n\n if (nextEnabledOption) {\n this.selectItem(event, nextEnabledOption);\n this.selectedOptionUpdated = true;\n }\n }\n }\n\n event.preventDefault();\n break;\n //up\n\n case 38:\n if (this.group) {\n let selectedItemIndex = this.selectedOption ? this.findOptionGroupIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n\n if (selectedItemIndex !== -1) {\n let prevItemIndex = selectedItemIndex.itemIndex - 1;\n\n if (prevItemIndex >= 0) {\n this.selectItem(event, this.getOptionGroupChildren(this.optionsToDisplay[selectedItemIndex.groupIndex])[prevItemIndex]);\n this.selectedOptionUpdated = true;\n } else if (prevItemIndex < 0) {\n let prevGroup = this.optionsToDisplay[selectedItemIndex.groupIndex - 1];\n\n if (prevGroup) {\n this.selectItem(event, this.getOptionGroupChildren(prevGroup)[this.getOptionGroupChildren(prevGroup).length - 1]);\n this.selectedOptionUpdated = true;\n }\n }\n }\n } else {\n let selectedItemIndex = this.selectedOption ? this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n let prevEnabledOption = this.findPrevEnabledOption(selectedItemIndex);\n\n if (prevEnabledOption) {\n this.selectItem(event, prevEnabledOption);\n this.selectedOptionUpdated = true;\n }\n }\n\n event.preventDefault();\n break;\n //space\n\n case 32:\n if (search) {\n if (!this.overlayVisible) {\n this.show();\n } else {\n this.hide();\n }\n\n event.preventDefault();\n }\n\n break;\n //enter\n\n case 13:\n if (this.overlayVisible && (!this.filter || this.optionsToDisplay && this.optionsToDisplay.length > 0)) {\n this.hide();\n } else if (!this.overlayVisible) {\n this.show();\n }\n\n event.preventDefault();\n break;\n //escape and tab\n\n case 27:\n case 9:\n this.hide();\n break;\n //search item based on keyboard input\n\n default:\n if (search && !event.metaKey) {\n this.search(event);\n }\n\n break;\n }\n }\n\n search(event) {\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n const char = event.key;\n this.previousSearchChar = this.currentSearchChar;\n this.currentSearchChar = char;\n if (this.previousSearchChar === this.currentSearchChar) this.searchValue = this.currentSearchChar;else this.searchValue = this.searchValue ? this.searchValue + char : char;\n let newOption;\n\n if (this.group) {\n let searchIndex = this.selectedOption ? this.findOptionGroupIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : {\n groupIndex: 0,\n itemIndex: 0\n };\n newOption = this.searchOptionWithinGroup(searchIndex);\n } else {\n let searchIndex = this.selectedOption ? this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n newOption = this.searchOption(++searchIndex);\n }\n\n if (newOption && !this.isOptionDisabled(newOption)) {\n this.selectItem(event, newOption);\n this.selectedOptionUpdated = true;\n }\n\n this.searchTimeout = setTimeout(() => {\n this.searchValue = null;\n }, 250);\n }\n\n searchOption(index) {\n let option;\n\n if (this.searchValue) {\n option = this.searchOptionInRange(index, this.optionsToDisplay.length);\n\n if (!option) {\n option = this.searchOptionInRange(0, index);\n }\n }\n\n return option;\n }\n\n searchOptionInRange(start, end) {\n for (let i = start; i < end; i++) {\n let opt = this.optionsToDisplay[i];\n\n if (this.getOptionLabel(opt).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale)) && !this.isOptionDisabled(opt)) {\n return opt;\n }\n }\n\n return null;\n }\n\n searchOptionWithinGroup(index) {\n let option;\n\n if (this.searchValue) {\n for (let i = index.groupIndex; i < this.optionsToDisplay.length; i++) {\n for (let j = index.groupIndex === i ? index.itemIndex + 1 : 0; j < this.getOptionGroupChildren(this.optionsToDisplay[i]).length; j++) {\n let opt = this.getOptionGroupChildren(this.optionsToDisplay[i])[j];\n\n if (this.getOptionLabel(opt).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale)) && !this.isOptionDisabled(opt)) {\n return opt;\n }\n }\n }\n\n if (!option) {\n for (let i = 0; i <= index.groupIndex; i++) {\n for (let j = 0; j < (index.groupIndex === i ? index.itemIndex : this.getOptionGroupChildren(this.optionsToDisplay[i]).length); j++) {\n let opt = this.getOptionGroupChildren(this.optionsToDisplay[i])[j];\n\n if (this.getOptionLabel(opt).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale)) && !this.isOptionDisabled(opt)) {\n return opt;\n }\n }\n }\n }\n }\n\n return null;\n }\n\n findOptionIndex(val, opts) {\n let index = -1;\n\n if (opts) {\n for (let i = 0; i < opts.length; i++) {\n if (val == null && this.getOptionValue(opts[i]) == null || ObjectUtils.equals(val, this.getOptionValue(opts[i]), this.dataKey)) {\n index = i;\n break;\n }\n }\n }\n\n return index;\n }\n\n findOptionGroupIndex(val, opts) {\n let groupIndex, itemIndex;\n\n if (opts) {\n for (let i = 0; i < opts.length; i++) {\n groupIndex = i;\n itemIndex = this.findOptionIndex(val, this.getOptionGroupChildren(opts[i]));\n\n if (itemIndex !== -1) {\n break;\n }\n }\n }\n\n if (itemIndex !== -1) {\n return {\n groupIndex: groupIndex,\n itemIndex: itemIndex\n };\n } else {\n return -1;\n }\n }\n\n findOption(val, opts, inGroup) {\n if (this.group && !inGroup) {\n let opt;\n\n if (opts && opts.length) {\n for (let optgroup of opts) {\n opt = this.findOption(val, this.getOptionGroupChildren(optgroup), true);\n\n if (opt) {\n break;\n }\n }\n }\n\n return opt;\n } else {\n let index = this.findOptionIndex(val, opts);\n return index != -1 ? opts[index] : null;\n }\n }\n\n onFilterInputChange(event) {\n let inputValue = event.target.value;\n\n if (inputValue && inputValue.length) {\n this._filterValue = inputValue;\n this.activateFilter();\n } else {\n this._filterValue = null;\n this.optionsToDisplay = this.options;\n }\n\n this.optionsChanged = true;\n this.onFilter.emit({\n originalEvent: event,\n filter: this._filterValue\n });\n }\n\n activateFilter() {\n let searchFields = (this.filterBy || this.optionLabel || 'label').split(',');\n\n if (this.options && this.options.length) {\n if (this.group) {\n let filteredGroups = [];\n\n for (let optgroup of this.options) {\n let filteredSubOptions = this.filterService.filter(this.getOptionGroupChildren(optgroup), searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n\n if (filteredSubOptions && filteredSubOptions.length) {\n filteredGroups.push(Object.assign(Object.assign({}, optgroup), {\n [this.optionGroupChildren]: filteredSubOptions\n }));\n }\n }\n\n this.optionsToDisplay = filteredGroups;\n } else {\n this.optionsToDisplay = this.filterService.filter(this.options, searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n }\n\n this.optionsChanged = true;\n }\n }\n\n applyFocus() {\n if (this.editable) DomHandler.findSingle(this.el.nativeElement, '.p-dropdown-label.p-inputtext').focus();else DomHandler.findSingle(this.el.nativeElement, 'input[readonly]').focus();\n }\n\n focus() {\n this.applyFocus();\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n const documentTarget = this.el ? this.el.nativeElement.ownerDocument : 'document';\n this.documentClickListener = this.renderer.listen(documentTarget, 'click', event => {\n if (this.isOutsideClicked(event)) {\n this.hide();\n this.unbindDocumentClickListener();\n }\n\n this.cd.markForCheck();\n });\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n bindDocumentResizeListener() {\n this.documentResizeListener = this.onWindowResize.bind(this);\n window.addEventListener('resize', this.documentResizeListener);\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n\n onWindowResize() {\n if (this.overlayVisible && !DomHandler.isTouchDevice()) {\n this.hide();\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.containerViewChild.nativeElement, event => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n clear(event) {\n this.value = null;\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n this.updateSelectedOption(this.value);\n this.updateEditableLabel();\n this.onClear.emit(event);\n }\n\n onOverlayHide() {\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n this.overlay = null;\n this.itemsWrapper = null;\n this.onModelTouched();\n }\n\n ngOnDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.overlay) {\n ZIndexUtils.clear(this.overlay);\n }\n\n this.restoreOverlayAppend();\n this.onOverlayHide();\n }\n\n}\n\nDropdown.ɵfac = function Dropdown_Factory(t) {\n return new (t || Dropdown)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i3.FilterService), i0.ɵɵdirectiveInject(i3.PrimeNGConfig), i0.ɵɵdirectiveInject(i3.OverlayService));\n};\n\nDropdown.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: Dropdown,\n selectors: [[\"p-dropdown\"]],\n contentQueries: function Dropdown_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);\n }\n\n if (rf & 2) {\n let _t;\n\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);\n }\n },\n viewQuery: function Dropdown_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c3, 5);\n i0.ɵɵviewQuery(_c4, 5);\n i0.ɵɵviewQuery(_c5, 5);\n i0.ɵɵviewQuery(CdkVirtualScrollViewport, 5);\n i0.ɵɵviewQuery(_c6, 5);\n }\n\n if (rf & 2) {\n let _t;\n\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.containerViewChild = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filterViewChild = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.accessibleViewChild = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.viewPort = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.editableInputViewChild = _t.first);\n }\n },\n hostAttrs: [1, \"p-element\", \"p-inputwrapper\"],\n hostVars: 4,\n hostBindings: function Dropdown_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"p-inputwrapper-filled\", ctx.filled)(\"p-inputwrapper-focus\", ctx.focused || ctx.overlayVisible);\n }\n },\n inputs: {\n scrollHeight: \"scrollHeight\",\n filter: \"filter\",\n name: \"name\",\n style: \"style\",\n panelStyle: \"panelStyle\",\n styleClass: \"styleClass\",\n panelStyleClass: \"panelStyleClass\",\n readonly: \"readonly\",\n required: \"required\",\n editable: \"editable\",\n appendTo: \"appendTo\",\n tabindex: \"tabindex\",\n placeholder: \"placeholder\",\n filterPlaceholder: \"filterPlaceholder\",\n filterLocale: \"filterLocale\",\n inputId: \"inputId\",\n selectId: \"selectId\",\n dataKey: \"dataKey\",\n filterBy: \"filterBy\",\n autofocus: \"autofocus\",\n resetFilterOnHide: \"resetFilterOnHide\",\n dropdownIcon: \"dropdownIcon\",\n optionLabel: \"optionLabel\",\n optionValue: \"optionValue\",\n optionDisabled: \"optionDisabled\",\n optionGroupLabel: \"optionGroupLabel\",\n optionGroupChildren: \"optionGroupChildren\",\n autoDisplayFirst: \"autoDisplayFirst\",\n group: \"group\",\n showClear: \"showClear\",\n emptyFilterMessage: \"emptyFilterMessage\",\n emptyMessage: \"emptyMessage\",\n virtualScroll: \"virtualScroll\",\n itemSize: \"itemSize\",\n autoZIndex: \"autoZIndex\",\n baseZIndex: \"baseZIndex\",\n showTransitionOptions: \"showTransitionOptions\",\n hideTransitionOptions: \"hideTransitionOptions\",\n ariaFilterLabel: \"ariaFilterLabel\",\n ariaLabelledBy: \"ariaLabelledBy\",\n filterMatchMode: \"filterMatchMode\",\n maxlength: \"maxlength\",\n tooltip: \"tooltip\",\n tooltipPosition: \"tooltipPosition\",\n tooltipPositionStyle: \"tooltipPositionStyle\",\n tooltipStyleClass: \"tooltipStyleClass\",\n autofocusFilter: \"autofocusFilter\",\n disabled: \"disabled\",\n options: \"options\",\n filterValue: \"filterValue\"\n },\n outputs: {\n onChange: \"onChange\",\n onFilter: \"onFilter\",\n onFocus: \"onFocus\",\n onBlur: \"onBlur\",\n onClick: \"onClick\",\n onShow: \"onShow\",\n onHide: \"onHide\",\n onClear: \"onClear\"\n },\n features: [i0.ɵɵProvidersFeature([DROPDOWN_VALUE_ACCESSOR])],\n decls: 12,\n vars: 24,\n consts: [[3, \"ngClass\", \"ngStyle\", \"click\"], [\"container\", \"\"], [1, \"p-hidden-accessible\"], [\"type\", \"text\", \"readonly\", \"\", \"aria-haspopup\", \"listbox\", \"aria-haspopup\", \"listbox\", \"role\", \"listbox\", 3, \"disabled\", \"focus\", \"blur\", \"keydown\"], [\"in\", \"\"], [3, \"ngClass\", \"pTooltip\", \"tooltipPosition\", \"positionStyle\", \"tooltipStyleClass\", 4, \"ngIf\"], [3, \"ngClass\", 4, \"ngIf\"], [\"type\", \"text\", \"class\", \"p-dropdown-label p-inputtext\", \"aria-haspopup\", \"listbox\", 3, \"disabled\", \"click\", \"input\", \"focus\", \"blur\", 4, \"ngIf\"], [\"class\", \"p-dropdown-clear-icon pi pi-times\", 3, \"click\", 4, \"ngIf\"], [\"role\", \"button\", \"aria-haspopup\", \"listbox\", 1, \"p-dropdown-trigger\"], [1, \"p-dropdown-trigger-icon\", 3, \"ngClass\"], [\"onOverlayAnimationEnd\", \"\", 3, \"ngClass\", \"ngStyle\", \"class\", \"click\", 4, \"ngIf\"], [3, \"ngClass\", \"pTooltip\", \"tooltipPosition\", \"positionStyle\", \"tooltipStyleClass\"], [4, \"ngIf\"], [4, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [3, \"ngClass\"], [\"type\", \"text\", \"aria-haspopup\", \"listbox\", 1, \"p-dropdown-label\", \"p-inputtext\", 3, \"disabled\", \"click\", \"input\", \"focus\", \"blur\"], [\"editableInput\", \"\"], [1, \"p-dropdown-clear-icon\", \"pi\", \"pi-times\", 3, \"click\"], [\"onOverlayAnimationEnd\", \"\", 3, \"ngClass\", \"ngStyle\", \"click\"], [4, \"ngTemplateOutlet\"], [\"class\", \"p-dropdown-header\", 4, \"ngIf\"], [1, \"p-dropdown-items-wrapper\"], [\"role\", \"listbox\", 1, \"p-dropdown-items\", 3, \"ngClass\"], [\"itemslist\", \"\"], [\"class\", \"p-dropdown-empty-message\", 4, \"ngIf\"], [1, \"p-dropdown-header\"], [1, \"p-dropdown-filter-container\", 3, \"click\"], [\"type\", \"text\", \"autocomplete\", \"off\", 1, \"p-dropdown-filter\", \"p-inputtext\", \"p-component\", 3, \"value\", \"keydown.enter\", \"keydown\", \"input\"], [\"filter\", \"\"], [1, \"p-dropdown-filter-icon\", \"pi\", \"pi-search\"], [\"ngFor\", \"\", 3, \"ngForOf\"], [1, \"p-dropdown-item-group\"], [4, \"ngIf\", \"ngIfElse\"], [\"virtualScrollList\", \"\"], [3, \"option\", \"selected\", \"label\", \"disabled\", \"template\", \"onClick\"], [3, \"ngStyle\", \"itemSize\", \"scrolledIndexChange\", 4, \"ngIf\"], [3, \"ngStyle\", \"itemSize\", \"scrolledIndexChange\"], [\"viewport\", \"\"], [4, \"cdkVirtualFor\", \"cdkVirtualForOf\"], [1, \"p-dropdown-empty-message\"], [\"emptyFilter\", \"\"], [\"empty\", \"\"]],\n template: function Dropdown_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 0, 1);\n i0.ɵɵlistener(\"click\", function Dropdown_Template_div_click_0_listener($event) {\n return ctx.onMouseclick($event);\n });\n i0.ɵɵelementStart(2, \"div\", 2);\n i0.ɵɵelementStart(3, \"input\", 3, 4);\n i0.ɵɵlistener(\"focus\", function Dropdown_Template_input_focus_3_listener($event) {\n return ctx.onInputFocus($event);\n })(\"blur\", function Dropdown_Template_input_blur_3_listener($event) {\n return ctx.onInputBlur($event);\n })(\"keydown\", function Dropdown_Template_input_keydown_3_listener($event) {\n return ctx.onKeydown($event, true);\n });\n i0.ɵɵelementEnd();\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(5, Dropdown_span_5_Template, 3, 13, \"span\", 5);\n i0.ɵɵtemplate(6, Dropdown_span_6_Template, 2, 4, \"span\", 6);\n i0.ɵɵtemplate(7, Dropdown_input_7_Template, 2, 4, \"input\", 7);\n i0.ɵɵtemplate(8, Dropdown_i_8_Template, 1, 0, \"i\", 8);\n i0.ɵɵelementStart(9, \"div\", 9);\n i0.ɵɵelement(10, \"span\", 10);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(11, Dropdown_div_11_Template, 12, 23, \"div\", 11);\n i0.ɵɵelementEnd();\n }\n\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.styleClass);\n i0.ɵɵproperty(\"ngClass\", i0.ɵɵpureFunction4(19, _c13, ctx.disabled, ctx.overlayVisible, ctx.focused, ctx.showClear && !ctx.disabled))(\"ngStyle\", ctx.style);\n i0.ɵɵadvance(3);\n i0.ɵɵproperty(\"disabled\", ctx.disabled);\n i0.ɵɵattribute(\"id\", ctx.inputId)(\"placeholder\", ctx.placeholder)(\"aria-expanded\", ctx.overlayVisible)(\"aria-labelledby\", ctx.ariaLabelledBy)(\"tabindex\", ctx.tabindex)(\"autofocus\", ctx.autofocus)(\"aria-activedescendant\", ctx.overlayVisible ? \"p-highlighted-option\" : ctx.labelId);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", !ctx.editable && ctx.label != null);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", !ctx.editable && ctx.label == null);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx.editable);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx.value != null && ctx.showClear && !ctx.disabled);\n i0.ɵɵadvance(1);\n i0.ɵɵattribute(\"aria-expanded\", ctx.overlayVisible);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngClass\", ctx.dropdownIcon);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx.overlayVisible);\n }\n },\n directives: [i2.NgClass, i2.NgStyle, i2.NgIf, i5.Tooltip, i2.NgTemplateOutlet, i2.NgForOf, DropdownItem, i4.CdkVirtualScrollViewport, i4.CdkFixedSizeVirtualScroll, i4.CdkVirtualForOf],\n styles: [\".p-dropdown{display:inline-flex;cursor:pointer;position:relative;-webkit-user-select:none;-ms-user-select:none;user-select:none}.p-dropdown-clear-icon{position:absolute;top:50%;margin-top:-.5rem}.p-dropdown-trigger{display:flex;align-items:center;justify-content:center;flex-shrink:0}.p-dropdown-label{display:block;white-space:nowrap;overflow:hidden;flex:1 1 auto;width:1%;text-overflow:ellipsis;cursor:pointer}.p-dropdown-label-empty{overflow:hidden;visibility:hidden}input.p-dropdown-label{cursor:default}.p-dropdown .p-dropdown-panel{min-width:100%}.p-dropdown-panel{position:absolute;top:0;left:0}.p-dropdown-items-wrapper{overflow:auto}.p-dropdown-item{cursor:pointer;font-weight:normal;white-space:nowrap;position:relative;overflow:hidden}.p-dropdown-items{margin:0;padding:0;list-style-type:none}.p-dropdown-filter{width:100%}.p-dropdown-filter-container{position:relative}.p-dropdown-filter-icon{position:absolute;top:50%;margin-top:-.5rem}.p-fluid .p-dropdown{display:flex}.p-fluid .p-dropdown .p-dropdown-label{width:1%}\\n\"],\n encapsulation: 2,\n data: {\n animation: [trigger('overlayAnimation', [transition(':enter', [style({\n opacity: 0,\n transform: 'scaleY(0.8)'\n }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({\n opacity: 0\n }))])])]\n },\n changeDetection: 0\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(Dropdown, [{\n type: Component,\n args: [{\n selector: 'p-dropdown',\n template: `\n <div #container [ngClass]=\"{'p-dropdown p-component':true,\n 'p-disabled':disabled, 'p-dropdown-open':overlayVisible, 'p-focus':focused, 'p-dropdown-clearable': showClear && !disabled}\"\n (click)=\"onMouseclick($event)\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <div class=\"p-hidden-accessible\">\n <input #in [attr.id]=\"inputId\" type=\"text\" readonly (focus)=\"onInputFocus($event)\" aria-haspopup=\"listbox\" [attr.placeholder]=\"placeholder\"\n aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\" [attr.aria-labelledby]=\"ariaLabelledBy\" (blur)=\"onInputBlur($event)\" (keydown)=\"onKeydown($event, true)\"\n [disabled]=\"disabled\" [attr.tabindex]=\"tabindex\" [attr.autofocus]=\"autofocus\" [attr.aria-activedescendant]=\"overlayVisible ? 'p-highlighted-option' : labelId\" role=\"listbox\">\n </div>\n <span [attr.id]=\"labelId\" [ngClass]=\"{'p-dropdown-label p-inputtext':true,'p-dropdown-label-empty':(label == null || label.length === 0)}\" *ngIf=\"!editable && (label != null)\" [pTooltip]=\"tooltip\" [tooltipPosition]=\"tooltipPosition\" [positionStyle]=\"tooltipPositionStyle\" [tooltipStyleClass]=\"tooltipStyleClass\">\n <ng-container *ngIf=\"!selectedItemTemplate\">{{label||'empty'}}</ng-container>\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: {$implicit: selectedOption}\"></ng-container>\n </span>\n <span [ngClass]=\"{'p-dropdown-label p-inputtext p-placeholder':true,'p-dropdown-label-empty': (placeholder == null || placeholder.length === 0)}\" *ngIf=\"!editable && (label == null)\">{{placeholder||'empty'}}</span>\n <input #editableInput type=\"text\" [attr.maxlength]=\"maxlength\" class=\"p-dropdown-label p-inputtext\" *ngIf=\"editable\" [disabled]=\"disabled\" [attr.placeholder]=\"placeholder\"\n aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\" (click)=\"onEditableInputClick()\" (input)=\"onEditableInputChange($event)\" (focus)=\"onEditableInputFocus($event)\" (blur)=\"onInputBlur($event)\">\n <i class=\"p-dropdown-clear-icon pi pi-times\" (click)=\"clear($event)\" *ngIf=\"value != null && showClear && !disabled\"></i>\n <div class=\"p-dropdown-trigger\" role=\"button\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\">\n <span class=\"p-dropdown-trigger-icon\" [ngClass]=\"dropdownIcon\"></span>\n </div>\n <div *ngIf=\"overlayVisible\" [ngClass]=\"'p-dropdown-panel p-component'\" (click)=\"onOverlayClick($event)\" [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\" (@overlayAnimation.start)=\"onOverlayAnimationEnd($event)\"onOverlayAnimationEnd [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <div class=\"p-dropdown-header\" *ngIf=\"filter\" >\n <div class=\"p-dropdown-filter-container\" (click)=\"$event.stopPropagation()\">\n <input #filter type=\"text\" autocomplete=\"off\" [value]=\"filterValue||''\" class=\"p-dropdown-filter p-inputtext p-component\" [attr.placeholder]=\"filterPlaceholder\"\n (keydown.enter)=\"$event.preventDefault()\" (keydown)=\"onKeydown($event, false)\" (input)=\"onFilterInputChange($event)\" [attr.aria-label]=\"ariaFilterLabel\" [attr.aria-activedescendant]=\"overlayVisible ? 'p-highlighted-option' : labelId\">\n <span class=\"p-dropdown-filter-icon pi pi-search\"></span>\n </div>\n </div>\n <div class=\"p-dropdown-items-wrapper\" [style.max-height]=\"virtualScroll ? 'auto' : (scrollHeight||'auto')\">\n <ul [attr.id]=\"listId\" class=\"p-dropdown-items\" [ngClass]=\"{'p-dropdown-virtualscroll': virtualScroll}\" role=\"listbox\">\n <ng-container *ngIf=\"group\">\n <ng-template ngFor let-optgroup [ngForOf]=\"optionsToDisplay\">\n <li class=\"p-dropdown-item-group\">\n <span *ngIf=\"!groupTemplate\">{{getOptionGroupLabel(optgroup)||'empty'}}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: {$implicit: optgroup}\"></ng-container>\n </li>\n <ng-container *ngTemplateOutlet=\"itemslist; context: {$implicit: getOptionGroupChildren(optgroup), selectedOption: selectedOption}\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!group\">\n <ng-container *ngTemplateOutlet=\"itemslist; context: {$implicit: optionsToDisplay, selectedOption: selectedOption}\"></ng-container>\n </ng-container>\n <ng-template #itemslist let-options let-selectedOption=\"selectedOption\">\n <ng-container *ngIf=\"!virtualScroll; else virtualScrollList\">\n <ng-template ngFor let-option let-i=\"index\" [ngForOf]=\"options\">\n <p-dropdownItem [option]=\"option\" [selected]=\"selectedOption == option\" [label]=\"getOptionLabel(option)\" [disabled]=\"isOptionDisabled(option)\"\n (onClick)=\"onItemClick($event)\"\n [template]=\"itemTemplate\"></p-dropdownItem>\n </ng-template>\n </ng-container>\n <ng-template #virtualScrollList>\n <cdk-virtual-scroll-viewport (scrolledIndexChange)=\"scrollToSelectedVirtualScrollElement()\" #viewport [ngStyle]=\"{'height': scrollHeight}\" [itemSize]=\"itemSize\" *ngIf=\"virtualScroll && optionsToDisplay && optionsToDisplay.length\">\n <ng-container *cdkVirtualFor=\"let option of options; let i = index; let c = count; let f = first; let l = last; let e = even; let o = odd\">\n <p-dropdownItem [option]=\"option\" [selected]=\"selectedOption == option\" [label]=\"getOptionLabel(option)\" [disabled]=\"isOptionDisabled(option)\"\n (onClick)=\"onItemClick($event)\"\n [template]=\"itemTemplate\"></p-dropdownItem>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </ng-template>\n </ng-template>\n <li *ngIf=\"filterValue && isEmpty()\" class=\"p-dropdown-empty-message\">\n <ng-container *ngIf=\"!emptyFilterTemplate && !emptyTemplate; else emptyFilter\">\n {{emptyFilterMessageLabel}}\n </ng-container>\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || emptyTemplate\"></ng-container>\n </li>\n <li *ngIf=\"!filterValue && isEmpty()\" class=\"p-dropdown-empty-message\">\n <ng-container *ngIf=\"!emptyTemplate; else empty\">\n {{emptyMessageLabel}}\n </ng-container>\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </li>\n </ul>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n `,\n animations: [trigger('overlayAnimation', [transition(':enter', [style({\n opacity: 0,\n transform: 'scaleY(0.8)'\n }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({\n opacity: 0\n }))])])],\n host: {\n 'class': 'p-element p-inputwrapper',\n '[class.p-inputwrapper-filled]': 'filled',\n '[class.p-inputwrapper-focus]': 'focused || overlayVisible'\n },\n providers: [DROPDOWN_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styles: [\".p-dropdown{display:inline-flex;cursor:pointer;position:relative;-webkit-user-select:none;-ms-user-select:none;user-select:none}.p-dropdown-clear-icon{position:absolute;top:50%;margin-top:-.5rem}.p-dropdown-trigger{display:flex;align-items:center;justify-content:center;flex-shrink:0}.p-dropdown-label{display:block;white-space:nowrap;overflow:hidden;flex:1 1 auto;width:1%;text-overflow:ellipsis;cursor:pointer}.p-dropdown-label-empty{overflow:hidden;visibility:hidden}input.p-dropdown-label{cursor:default}.p-dropdown .p-dropdown-panel{min-width:100%}.p-dropdown-panel{position:absolute;top:0;left:0}.p-dropdown-items-wrapper{overflow:auto}.p-dropdown-item{cursor:pointer;font-weight:normal;white-space:nowrap;position:relative;overflow:hidden}.p-dropdown-items{margin:0;padding:0;list-style-type:none}.p-dropdown-filter{width:100%}.p-dropdown-filter-container{position:relative}.p-dropdown-filter-icon{position:absolute;top:50%;margin-top:-.5rem}.p-fluid .p-dropdown{display:flex}.p-fluid .p-dropdown .p-dropdown-label{width:1%}\\n\"]\n }]\n }], function () {\n return [{\n type: i0.ElementRef\n }, {\n type: i0.Renderer2\n }, {\n type: i0.ChangeDetectorRef\n }, {\n type: i0.NgZone\n }, {\n type: i3.FilterService\n }, {\n type: i3.PrimeNGConfig\n }, {\n type: i3.OverlayService\n }];\n }, {\n scrollHeight: [{\n type: Input\n }],\n filter: [{\n type: Input\n }],\n name: [{\n type: Input\n }],\n style: [{\n type: Input\n }],\n panelStyle: [{\n type: Input\n }],\n styleClass: [{\n type: Input\n }],\n panelStyleClass: [{\n type: Input\n }],\n readonly: [{\n type: Input\n }],\n required: [{\n type: Input\n }],\n editable: [{\n type: Input\n }],\n appendTo: [{\n type: Input\n }],\n tabindex: [{\n type: Input\n }],\n placeholder: [{\n type: Input\n }],\n filterPlaceholder: [{\n type: Input\n }],\n filterLocale: [{\n type: Input\n }],\n inputId: [{\n type: Input\n }],\n selectId: [{\n type: Input\n }],\n dataKey: [{\n type: Input\n }],\n filterBy: [{\n type: Input\n }],\n autofocus: [{\n type: Input\n }],\n resetFilterOnHide: [{\n type: Input\n }],\n dropdownIcon: [{\n type: Input\n }],\n optionLabel: [{\n type: Input\n }],\n optionValue: [{\n type: Input\n }],\n optionDisabled: [{\n type: Input\n }],\n optionGroupLabel: [{\n type: Input\n }],\n optionGroupChildren: [{\n type: Input\n }],\n autoDisplayFirst: [{\n type: Input\n }],\n group: [{\n type: Input\n }],\n showClear: [{\n type: Input\n }],\n emptyFilterMessage: [{\n type: Input\n }],\n emptyMessage: [{\n type: Input\n }],\n virtualScroll: [{\n type: Input\n }],\n itemSize: [{\n type: Input\n }],\n autoZIndex: [{\n type: Input\n }],\n baseZIndex: [{\n type: Input\n }],\n showTransitionOptions: [{\n type: Input\n }],\n hideTransitionOptions: [{\n type: Input\n }],\n ariaFilterLabel: [{\n type: Input\n }],\n ariaLabelledBy: [{\n type: Input\n }],\n filterMatchMode: [{\n type: Input\n }],\n maxlength: [{\n type: Input\n }],\n tooltip: [{\n type: Input\n }],\n tooltipPosition: [{\n type: Input\n }],\n tooltipPositionStyle: [{\n type: Input\n }],\n tooltipStyleClass: [{\n type: Input\n }],\n autofocusFilter: [{\n type: Input\n }],\n onChange: [{\n type: Output\n }],\n onFilter: [{\n type: Output\n }],\n onFocus: [{\n type: Output\n }],\n onBlur: [{\n type: Output\n }],\n onClick: [{\n type: Output\n }],\n onShow: [{\n type: Output\n }],\n onHide: [{\n type: Output\n }],\n onClear: [{\n type: Output\n }],\n containerViewChild: [{\n type: ViewChild,\n args: ['container']\n }],\n filterViewChild: [{\n type: ViewChild,\n args: ['filter']\n }],\n accessibleViewChild: [{\n type: ViewChild,\n args: ['in']\n }],\n viewPort: [{\n type: ViewChild,\n args: [CdkVirtualScrollViewport]\n }],\n editableInputViewChild: [{\n type: ViewChild,\n args: ['editableInput']\n }],\n templates: [{\n type: ContentChildren,\n args: [PrimeTemplate]\n }],\n disabled: [{\n type: Input\n }],\n options: [{\n type: Input\n }],\n filterValue: [{\n type: Input\n }]\n });\n})();\n\nclass DropdownModule {}\n\nDropdownModule.ɵfac = function DropdownModule_Factory(t) {\n return new (t || DropdownModule)();\n};\n\nDropdownModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: DropdownModule\n});\nDropdownModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [[CommonModule, SharedModule, ScrollingModule, TooltipModule, RippleModule], SharedModule, ScrollingModule]\n});\n\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(DropdownModule, [{\n type: NgModule,\n args: [{\n imports: [CommonModule, SharedModule, ScrollingModule, TooltipModule, RippleModule],\n exports: [Dropdown, SharedModule, ScrollingModule],\n declarations: [Dropdown, DropdownItem]\n }]\n }], null, null);\n})();\n/**\n * Generated bundle index. Do not edit.\n */\n\n\nexport { DROPDOWN_VALUE_ACCESSOR, Dropdown, DropdownItem, DropdownModule };","map":{"version":3,"sources":["C:/Users/DELL/Desktop/bachelor-thesis/trip-planner-front/node_modules/primeng/fesm2015/primeng-dropdown.mjs"],"names":["i4","CdkVirtualScrollViewport","ScrollingModule","i0","forwardRef","EventEmitter","Component","Input","Output","ChangeDetectionStrategy","ViewEncapsulation","ViewChild","ContentChildren","NgModule","trigger","transition","style","animate","i2","CommonModule","i3","TranslationKeys","PrimeTemplate","SharedModule","DomHandler","ConnectedOverlayScrollHandler","UniqueComponentId","ObjectUtils","ZIndexUtils","NG_VALUE_ACCESSOR","i5","TooltipModule","i1","RippleModule","DROPDOWN_VALUE_ACCESSOR","provide","useExisting","Dropdown","multi","DropdownItem","constructor","onClick","onOptionClick","event","emit","originalEvent","option","ɵfac","ɵcmp","Ripple","NgStyle","NgClass","NgIf","NgTemplateOutlet","type","args","selector","template","host","selected","label","disabled","visible","itemSize","el","renderer","cd","zone","filterService","config","overlayService","scrollHeight","resetFilterOnHide","dropdownIcon","optionGroupChildren","autoDisplayFirst","emptyFilterMessage","emptyMessage","autoZIndex","baseZIndex","showTransitionOptions","hideTransitionOptions","filterMatchMode","tooltip","tooltipPosition","tooltipPositionStyle","autofocusFilter","onChange","onFilter","onFocus","onBlur","onShow","onHide","onClear","onModelChange","onModelTouched","viewPortOffsetTop","id","_disabled","focused","overlayVisible","hide","destroyed","detectChanges","ngAfterContentInit","templates","forEach","item","getType","itemTemplate","selectedItemTemplate","headerTemplate","footerTemplate","emptyFilterTemplate","emptyTemplate","groupTemplate","ngOnInit","optionsToDisplay","options","updateSelectedOption","labelId","listId","_options","val","value","optionsChanged","_filterValue","length","activateFilter","filterValue","ngAfterViewInit","editable","updateEditableLabel","selectedOption","getOptionLabel","emptyMessageLabel","getTranslation","EMPTY_MESSAGE","emptyFilterMessageLabel","EMPTY_FILTER_MESSAGE","filled","undefined","editableInputViewChild","nativeElement","optionLabel","resolveFieldData","getOptionValue","optionValue","isOptionDisabled","optionDisabled","getOptionGroupLabel","optionGroup","optionGroupLabel","getOptionGroupChildren","items","onItemClick","selectItem","accessibleViewChild","focus","setTimeout","virtualScroll","viewPort","measureScrollOffset","ngAfterViewChecked","updateVirtualScrollSelectedIndex","runOutsideAngular","alignOverlay","selectedOptionUpdated","itemsWrapper","range","getRenderedRange","start","virtualScrollSelectedIndex","end","scrollToIndex","selectedItem","findSingle","overlay","scrollInView","writeValue","filter","resetFilter","markForCheck","filterViewChild","findOption","placeholder","registerOnChange","fn","registerOnTouched","setDisabledState","onMouseclick","readonly","isInputClick","show","onOverlayClick","add","target","hasClass","isSameNode","isOutsideClicked","contains","isEmpty","onEditableInputClick","bindDocumentClickListener","onEditableInputFocus","onEditableInputChange","onOverlayAnimationStart","toState","element","itemsWrapperSelector","appendOverlay","set","zIndex","bindDocumentResizeListener","bindScrollListener","selectedListItem","scrollIntoView","block","inline","preventModelTouched","onOverlayHide","onOverlayAnimationEnd","clear","scrollToSelectedVirtualScrollElement","virtualAutoScrolled","scrollToOffset","resetOffset","findOptionIndex","appendTo","document","body","appendChild","minWidth","getWidth","containerViewChild","restoreOverlayAppend","absolutePosition","relativePosition","onInputFocus","onInputBlur","findPrevEnabledOption","index","prevEnabledOption","i","findNextEnabledOption","nextEnabledOption","onKeydown","search","which","altKey","group","selectedItemIndex","findOptionGroupIndex","nextItemIndex","itemIndex","groupIndex","preventDefault","prevItemIndex","prevGroup","metaKey","searchTimeout","clearTimeout","char","key","previousSearchChar","currentSearchChar","searchValue","newOption","searchIndex","searchOptionWithinGroup","searchOption","searchOptionInRange","opt","toLocaleLowerCase","filterLocale","startsWith","j","opts","equals","dataKey","inGroup","optgroup","onFilterInputChange","inputValue","searchFields","filterBy","split","filteredGroups","filteredSubOptions","push","Object","assign","applyFocus","documentClickListener","documentTarget","ownerDocument","listen","unbindDocumentClickListener","documentResizeListener","onWindowResize","bind","window","addEventListener","unbindDocumentResizeListener","removeEventListener","isTouchDevice","scrollHandler","unbindScrollListener","ngOnDestroy","destroy","ElementRef","Renderer2","ChangeDetectorRef","NgZone","FilterService","PrimeNGConfig","OverlayService","Tooltip","NgForOf","CdkFixedSizeVirtualScroll","CdkVirtualForOf","opacity","transform","animations","providers","changeDetection","OnPush","encapsulation","None","styles","name","panelStyle","styleClass","panelStyleClass","required","tabindex","filterPlaceholder","inputId","selectId","autofocus","showClear","ariaFilterLabel","ariaLabelledBy","maxlength","tooltipStyleClass","DropdownModule","ɵmod","ɵinj","imports","exports","declarations"],"mappings":"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","sourcesContent":["import * as i4 from '@angular/cdk/scrolling';\nimport { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';\nimport * as i0 from '@angular/core';\nimport { forwardRef, EventEmitter, Component, Input, Output, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, ContentChildren, NgModule } from '@angular/core';\nimport { trigger, transition, style, animate } from '@angular/animations';\nimport * as i2 from '@angular/common';\nimport { CommonModule } from '@angular/common';\nimport * as i3 from 'primeng/api';\nimport { TranslationKeys, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { UniqueComponentId, ObjectUtils, ZIndexUtils } from 'primeng/utils';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport * as i5 from 'primeng/tooltip';\nimport { TooltipModule } from 'primeng/tooltip';\nimport * as i1 from 'primeng/ripple';\nimport { RippleModule } from 'primeng/ripple';\n\nconst DROPDOWN_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Dropdown),\n multi: true\n};\nclass DropdownItem {\n constructor() {\n this.onClick = new EventEmitter();\n }\n onOptionClick(event) {\n this.onClick.emit({\n originalEvent: event,\n option: this.option\n });\n }\n}\nDropdownItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.0\", ngImport: i0, type: DropdownItem, deps: [], target: i0.ɵɵFactoryTarget.Component });\nDropdownItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"13.0.0\", type: DropdownItem, selector: \"p-dropdownItem\", inputs: { option: \"option\", selected: \"selected\", label: \"label\", disabled: \"disabled\", visible: \"visible\", itemSize: \"itemSize\", template: \"template\" }, outputs: { onClick: \"onClick\" }, host: { classAttribute: \"p-element\" }, ngImport: i0, template: `\n <li (click)=\"onOptionClick($event)\" role=\"option\" pRipple\n [attr.aria-label]=\"label\" [attr.aria-selected]=\"selected\"\n [ngStyle]=\"{'height': itemSize + 'px'}\" [id]=\"selected ? 'p-highlighted-option':''\"\n [ngClass]=\"{'p-dropdown-item':true, 'p-highlight': selected, 'p-disabled': disabled}\">\n <span *ngIf=\"!template\">{{label||'empty'}}</span>\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: option}\"></ng-container>\n </li>\n `, isInline: true, directives: [{ type: i1.Ripple, selector: \"[pRipple]\" }, { type: i2.NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }, { type: i2.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { type: i2.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i2.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.0\", ngImport: i0, type: DropdownItem, decorators: [{\n type: Component,\n args: [{\n selector: 'p-dropdownItem',\n template: `\n <li (click)=\"onOptionClick($event)\" role=\"option\" pRipple\n [attr.aria-label]=\"label\" [attr.aria-selected]=\"selected\"\n [ngStyle]=\"{'height': itemSize + 'px'}\" [id]=\"selected ? 'p-highlighted-option':''\"\n [ngClass]=\"{'p-dropdown-item':true, 'p-highlight': selected, 'p-disabled': disabled}\">\n <span *ngIf=\"!template\">{{label||'empty'}}</span>\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: option}\"></ng-container>\n </li>\n `,\n host: {\n 'class': 'p-element'\n }\n }]\n }], propDecorators: { option: [{\n type: Input\n }], selected: [{\n type: Input\n }], label: [{\n type: Input\n }], disabled: [{\n type: Input\n }], visible: [{\n type: Input\n }], itemSize: [{\n type: Input\n }], template: [{\n type: Input\n }], onClick: [{\n type: Output\n }] } });\nclass Dropdown {\n constructor(el, renderer, cd, zone, filterService, config, overlayService) {\n this.el = el;\n this.renderer = renderer;\n this.cd = cd;\n this.zone = zone;\n this.filterService = filterService;\n this.config = config;\n this.overlayService = overlayService;\n this.scrollHeight = '200px';\n this.resetFilterOnHide = false;\n this.dropdownIcon = 'pi pi-chevron-down';\n this.optionGroupChildren = \"items\";\n this.autoDisplayFirst = true;\n this.emptyFilterMessage = '';\n this.emptyMessage = '';\n this.autoZIndex = true;\n this.baseZIndex = 0;\n this.showTransitionOptions = '.12s cubic-bezier(0, 0, 0.2, 1)';\n this.hideTransitionOptions = '.1s linear';\n this.filterMatchMode = \"contains\";\n this.tooltip = '';\n this.tooltipPosition = 'right';\n this.tooltipPositionStyle = 'absolute';\n this.autofocusFilter = true;\n this.onChange = new EventEmitter();\n this.onFilter = new EventEmitter();\n this.onFocus = new EventEmitter();\n this.onBlur = new EventEmitter();\n this.onClick = new EventEmitter();\n this.onShow = new EventEmitter();\n this.onHide = new EventEmitter();\n this.onClear = new EventEmitter();\n this.onModelChange = () => { };\n this.onModelTouched = () => { };\n this.viewPortOffsetTop = 0;\n this.id = UniqueComponentId();\n }\n get disabled() {\n return this._disabled;\n }\n ;\n set disabled(_disabled) {\n if (_disabled) {\n this.focused = false;\n if (this.overlayVisible)\n this.hide();\n }\n this._disabled = _disabled;\n if (!this.cd.destroyed) {\n this.cd.detectChanges();\n }\n }\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n case 'selectedItem':\n this.selectedItemTemplate = item.template;\n break;\n case 'header':\n this.headerTemplate = item.template;\n break;\n case 'footer':\n this.footerTemplate = item.template;\n break;\n case 'emptyfilter':\n this.emptyFilterTemplate = item.template;\n break;\n case 'empty':\n this.emptyTemplate = item.template;\n break;\n case 'group':\n this.groupTemplate = item.template;\n break;\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n ngOnInit() {\n this.optionsToDisplay = this.options;\n this.updateSelectedOption(null);\n this.labelId = this.id + '_label';\n this.listId = this.id + '_list';\n }\n get options() {\n return this._options;\n }\n set options(val) {\n this._options = val;\n this.optionsToDisplay = this._options;\n this.updateSelectedOption(this.value);\n this.optionsChanged = true;\n if (this._filterValue && this._filterValue.length) {\n this.activateFilter();\n }\n }\n get filterValue() {\n return this._filterValue;\n }\n set filterValue(val) {\n this._filterValue = val;\n this.activateFilter();\n }\n ngAfterViewInit() {\n if (this.editable) {\n this.updateEditableLabel();\n }\n }\n get label() {\n return this.selectedOption ? this.getOptionLabel(this.selectedOption) : null;\n }\n get emptyMessageLabel() {\n return this.emptyMessage || this.config.getTranslation(TranslationKeys.EMPTY_MESSAGE);\n }\n get emptyFilterMessageLabel() {\n return this.emptyFilterMessage || this.config.getTranslation(TranslationKeys.EMPTY_FILTER_MESSAGE);\n }\n get filled() {\n return this.value || this.value != null || this.value != undefined;\n }\n updateEditableLabel() {\n if (this.editableInputViewChild && this.editableInputViewChild.nativeElement) {\n this.editableInputViewChild.nativeElement.value = (this.selectedOption ? this.getOptionLabel(this.selectedOption) : this.value || '');\n }\n }\n getOptionLabel(option) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : (option.label != undefined ? option.label : option);\n }\n getOptionValue(option) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : (this.optionLabel || option.value === undefined ? option : option.value);\n }\n isOptionDisabled(option) {\n return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : (option.disabled !== undefined ? option.disabled : false);\n }\n getOptionGroupLabel(optionGroup) {\n return this.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : (optionGroup.label != undefined ? optionGroup.label : optionGroup);\n }\n getOptionGroupChildren(optionGroup) {\n return this.optionGroupChildren ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;\n }\n onItemClick(event) {\n const option = event.option;\n if (!this.isOptionDisabled(option)) {\n this.selectItem(event, option);\n this.accessibleViewChild.nativeElement.focus();\n }\n setTimeout(() => {\n this.hide();\n }, 150);\n }\n selectItem(event, option) {\n if (this.selectedOption != option) {\n this.selectedOption = option;\n this.value = this.getOptionValue(option);\n this.onModelChange(this.value);\n this.updateEditableLabel();\n this.onChange.emit({\n originalEvent: event.originalEvent,\n value: this.value\n });\n if (this.virtualScroll) {\n setTimeout(() => {\n this.viewPortOffsetTop = this.viewPort ? this.viewPort.measureScrollOffset() : 0;\n }, 1);\n }\n }\n }\n ngAfterViewChecked() {\n if (this.optionsChanged && this.overlayVisible) {\n this.optionsChanged = false;\n if (this.virtualScroll) {\n this.updateVirtualScrollSelectedIndex(true);\n }\n this.zone.runOutsideAngular(() => {\n setTimeout(() => {\n this.alignOverlay();\n }, 1);\n });\n }\n if (this.selectedOptionUpdated && this.itemsWrapper) {\n if (this.virtualScroll && this.viewPort) {\n let range = this.viewPort.getRenderedRange();\n this.updateVirtualScrollSelectedIndex(false);\n if (range.start > this.virtualScrollSelectedIndex || range.end < this.virtualScrollSelectedIndex) {\n this.viewPort.scrollToIndex(this.virtualScrollSelectedIndex);\n }\n }\n let selectedItem = DomHandler.findSingle(this.overlay, 'li.p-highlight');\n if (selectedItem) {\n DomHandler.scrollInView(this.itemsWrapper, DomHandler.findSingle(this.overlay, 'li.p-highlight'));\n }\n this.selectedOptionUpdated = false;\n }\n }\n writeValue(value) {\n if (this.filter) {\n this.resetFilter();\n }\n this.value = value;\n this.updateSelectedOption(value);\n this.updateEditableLabel();\n this.cd.markForCheck();\n }\n resetFilter() {\n this._filterValue = null;\n if (this.filterViewChild && this.filterViewChild.nativeElement) {\n this.filterViewChild.nativeElement.value = '';\n }\n this.optionsToDisplay = this.options;\n }\n updateSelectedOption(val) {\n this.selectedOption = this.findOption(val, this.optionsToDisplay);\n if (this.autoDisplayFirst && !this.placeholder && !this.selectedOption && this.optionsToDisplay && this.optionsToDisplay.length && !this.editable) {\n this.selectedOption = this.optionsToDisplay[0];\n this.value = this.getOptionValue(this.selectedOption);\n this.onModelChange(this.value);\n }\n this.selectedOptionUpdated = true;\n }\n registerOnChange(fn) {\n this.onModelChange = fn;\n }\n registerOnTouched(fn) {\n this.onModelTouched = fn;\n }\n setDisabledState(val) {\n this.disabled = val;\n this.cd.markForCheck();\n }\n onMouseclick(event) {\n if (this.disabled || this.readonly || this.isInputClick(event)) {\n return;\n }\n this.onClick.emit(event);\n this.accessibleViewChild.nativeElement.focus();\n if (this.overlayVisible)\n this.hide();\n else\n this.show();\n this.cd.detectChanges();\n }\n onOverlayClick(event) {\n this.overlayService.add({\n originalEvent: event,\n target: this.el.nativeElement\n });\n }\n isInputClick(event) {\n return DomHandler.hasClass(event.target, 'p-dropdown-clear-icon') ||\n event.target.isSameNode(this.accessibleViewChild.nativeElement) ||\n (this.editableInputViewChild && event.target.isSameNode(this.editableInputViewChild.nativeElement));\n }\n isOutsideClicked(event) {\n return !(this.el.nativeElement.isSameNode(event.target) || this.el.nativeElement.contains(event.target) || (this.overlay && this.overlay.contains(event.target)));\n }\n isEmpty() {\n return !this.optionsToDisplay || (this.optionsToDisplay && this.optionsToDisplay.length === 0);\n }\n onEditableInputClick() {\n this.bindDocumentClickListener();\n }\n onEditableInputFocus(event) {\n this.focused = true;\n this.hide();\n this.onFocus.emit(event);\n }\n onEditableInputChange(event) {\n this.value = event.target.value;\n this.updateSelectedOption(this.value);\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n show() {\n this.overlayVisible = true;\n }\n onOverlayAnimationStart(event) {\n switch (event.toState) {\n case 'visible':\n this.overlay = event.element;\n let itemsWrapperSelector = this.virtualScroll ? '.cdk-virtual-scroll-viewport' : '.p-dropdown-items-wrapper';\n this.itemsWrapper = DomHandler.findSingle(this.overlay, itemsWrapperSelector);\n this.appendOverlay();\n if (this.autoZIndex) {\n ZIndexUtils.set('overlay', this.overlay, this.baseZIndex + this.config.zIndex.overlay);\n }\n this.alignOverlay();\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n if (this.options && this.options.length) {\n if (!this.virtualScroll) {\n let selectedListItem = DomHandler.findSingle(this.itemsWrapper, '.p-dropdown-item.p-highlight');\n if (selectedListItem) {\n selectedListItem.scrollIntoView({ block: 'nearest', inline: 'start' });\n }\n }\n }\n if (this.filterViewChild && this.filterViewChild.nativeElement) {\n this.preventModelTouched = true;\n if (this.autofocusFilter) {\n this.filterViewChild.nativeElement.focus();\n }\n }\n this.onShow.emit(event);\n break;\n case 'void':\n this.onOverlayHide();\n this.onHide.emit(event);\n break;\n }\n }\n onOverlayAnimationEnd(event) {\n switch (event.toState) {\n case 'void':\n ZIndexUtils.clear(event.element);\n break;\n }\n }\n scrollToSelectedVirtualScrollElement() {\n if (!this.virtualAutoScrolled) {\n if (this.viewPortOffsetTop) {\n this.viewPort.scrollToOffset(this.viewPortOffsetTop);\n }\n else if (this.virtualScrollSelectedIndex > -1) {\n this.viewPort.scrollToIndex(this.virtualScrollSelectedIndex);\n }\n }\n this.virtualAutoScrolled = true;\n }\n updateVirtualScrollSelectedIndex(resetOffset) {\n if (this.selectedOption && this.optionsToDisplay && this.optionsToDisplay.length) {\n if (resetOffset) {\n this.viewPortOffsetTop = 0;\n }\n this.virtualScrollSelectedIndex = this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay);\n }\n }\n appendOverlay() {\n if (this.appendTo) {\n if (this.appendTo === 'body')\n document.body.appendChild(this.overlay);\n else\n DomHandler.appendChild(this.overlay, this.appendTo);\n if (!this.overlay.style.minWidth) {\n this.overlay.style.minWidth = DomHandler.getWidth(this.containerViewChild.nativeElement) + 'px';\n }\n }\n }\n restoreOverlayAppend() {\n if (this.overlay && this.appendTo) {\n this.el.nativeElement.appendChild(this.overlay);\n }\n }\n hide() {\n this.overlayVisible = false;\n if (this.filter && this.resetFilterOnHide) {\n this.resetFilter();\n }\n if (this.virtualScroll) {\n this.virtualAutoScrolled = false;\n }\n this.cd.markForCheck();\n }\n alignOverlay() {\n if (this.overlay) {\n if (this.appendTo)\n DomHandler.absolutePosition(this.overlay, this.containerViewChild.nativeElement);\n else\n DomHandler.relativePosition(this.overlay, this.containerViewChild.nativeElement);\n }\n }\n onInputFocus(event) {\n this.focused = true;\n this.onFocus.emit(event);\n }\n onInputBlur(event) {\n this.focused = false;\n this.onBlur.emit(event);\n if (!this.preventModelTouched) {\n this.onModelTouched();\n }\n this.preventModelTouched = false;\n }\n findPrevEnabledOption(index) {\n let prevEnabledOption;\n if (this.optionsToDisplay && this.optionsToDisplay.length) {\n for (let i = (index - 1); 0 <= i; i--) {\n let option = this.optionsToDisplay[i];\n if (option.disabled) {\n continue;\n }\n else {\n prevEnabledOption = option;\n break;\n }\n }\n if (!prevEnabledOption) {\n for (let i = this.optionsToDisplay.length - 1; i >= index; i--) {\n let option = this.optionsToDisplay[i];\n if (this.isOptionDisabled(option)) {\n continue;\n }\n else {\n prevEnabledOption = option;\n break;\n }\n }\n }\n }\n return prevEnabledOption;\n }\n findNextEnabledOption(index) {\n let nextEnabledOption;\n if (this.optionsToDisplay && this.optionsToDisplay.length) {\n for (let i = (index + 1); i < this.optionsToDisplay.length; i++) {\n let option = this.optionsToDisplay[i];\n if (this.isOptionDisabled(option)) {\n continue;\n }\n else {\n nextEnabledOption = option;\n break;\n }\n }\n if (!nextEnabledOption) {\n for (let i = 0; i < index; i++) {\n let option = this.optionsToDisplay[i];\n if (this.isOptionDisabled(option)) {\n continue;\n }\n else {\n nextEnabledOption = option;\n break;\n }\n }\n }\n }\n return nextEnabledOption;\n }\n onKeydown(event, search) {\n if (this.readonly || !this.optionsToDisplay || this.optionsToDisplay.length === null) {\n return;\n }\n switch (event.which) {\n //down\n case 40:\n if (!this.overlayVisible && event.altKey) {\n this.show();\n }\n else {\n if (this.group) {\n let selectedItemIndex = this.selectedOption ? this.findOptionGroupIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n if (selectedItemIndex !== -1) {\n let nextItemIndex = selectedItemIndex.itemIndex + 1;\n if (nextItemIndex < (this.getOptionGroupChildren(this.optionsToDisplay[selectedItemIndex.groupIndex]).length)) {\n this.selectItem(event, this.getOptionGroupChildren(this.optionsToDisplay[selectedItemIndex.groupIndex])[nextItemIndex]);\n this.selectedOptionUpdated = true;\n }\n else if (this.optionsToDisplay[selectedItemIndex.groupIndex + 1]) {\n this.selectItem(event, this.getOptionGroupChildren(this.optionsToDisplay[selectedItemIndex.groupIndex + 1])[0]);\n this.selectedOptionUpdated = true;\n }\n }\n else {\n if (this.optionsToDisplay && this.optionsToDisplay.length > 0) {\n this.selectItem(event, this.getOptionGroupChildren(this.optionsToDisplay[0])[0]);\n }\n }\n }\n else {\n let selectedItemIndex = this.selectedOption ? this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n let nextEnabledOption = this.findNextEnabledOption(selectedItemIndex);\n if (nextEnabledOption) {\n this.selectItem(event, nextEnabledOption);\n this.selectedOptionUpdated = true;\n }\n }\n }\n event.preventDefault();\n break;\n //up\n case 38:\n if (this.group) {\n let selectedItemIndex = this.selectedOption ? this.findOptionGroupIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n if (selectedItemIndex !== -1) {\n let prevItemIndex = selectedItemIndex.itemIndex - 1;\n if (prevItemIndex >= 0) {\n this.selectItem(event, this.getOptionGroupChildren(this.optionsToDisplay[selectedItemIndex.groupIndex])[prevItemIndex]);\n this.selectedOptionUpdated = true;\n }\n else if (prevItemIndex < 0) {\n let prevGroup = this.optionsToDisplay[selectedItemIndex.groupIndex - 1];\n if (prevGroup) {\n this.selectItem(event, this.getOptionGroupChildren(prevGroup)[this.getOptionGroupChildren(prevGroup).length - 1]);\n this.selectedOptionUpdated = true;\n }\n }\n }\n }\n else {\n let selectedItemIndex = this.selectedOption ? this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n let prevEnabledOption = this.findPrevEnabledOption(selectedItemIndex);\n if (prevEnabledOption) {\n this.selectItem(event, prevEnabledOption);\n this.selectedOptionUpdated = true;\n }\n }\n event.preventDefault();\n break;\n //space\n case 32:\n if (search) {\n if (!this.overlayVisible) {\n this.show();\n }\n else {\n this.hide();\n }\n event.preventDefault();\n }\n break;\n //enter\n case 13:\n if (this.overlayVisible && (!this.filter || (this.optionsToDisplay && this.optionsToDisplay.length > 0))) {\n this.hide();\n }\n else if (!this.overlayVisible) {\n this.show();\n }\n event.preventDefault();\n break;\n //escape and tab\n case 27:\n case 9:\n this.hide();\n break;\n //search item based on keyboard input\n default:\n if (search && !event.metaKey) {\n this.search(event);\n }\n break;\n }\n }\n search(event) {\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n const char = event.key;\n this.previousSearchChar = this.currentSearchChar;\n this.currentSearchChar = char;\n if (this.previousSearchChar === this.currentSearchChar)\n this.searchValue = this.currentSearchChar;\n else\n this.searchValue = this.searchValue ? this.searchValue + char : char;\n let newOption;\n if (this.group) {\n let searchIndex = this.selectedOption ? this.findOptionGroupIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : { groupIndex: 0, itemIndex: 0 };\n newOption = this.searchOptionWithinGroup(searchIndex);\n }\n else {\n let searchIndex = this.selectedOption ? this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n newOption = this.searchOption(++searchIndex);\n }\n if (newOption && !this.isOptionDisabled(newOption)) {\n this.selectItem(event, newOption);\n this.selectedOptionUpdated = true;\n }\n this.searchTimeout = setTimeout(() => {\n this.searchValue = null;\n }, 250);\n }\n searchOption(index) {\n let option;\n if (this.searchValue) {\n option = this.searchOptionInRange(index, this.optionsToDisplay.length);\n if (!option) {\n option = this.searchOptionInRange(0, index);\n }\n }\n return option;\n }\n searchOptionInRange(start, end) {\n for (let i = start; i < end; i++) {\n let opt = this.optionsToDisplay[i];\n if (this.getOptionLabel(opt).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale)) && !this.isOptionDisabled(opt)) {\n return opt;\n }\n }\n return null;\n }\n searchOptionWithinGroup(index) {\n let option;\n if (this.searchValue) {\n for (let i = index.groupIndex; i < this.optionsToDisplay.length; i++) {\n for (let j = (index.groupIndex === i) ? (index.itemIndex + 1) : 0; j < this.getOptionGroupChildren(this.optionsToDisplay[i]).length; j++) {\n let opt = this.getOptionGroupChildren(this.optionsToDisplay[i])[j];\n if (this.getOptionLabel(opt).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale)) && !this.isOptionDisabled(opt)) {\n return opt;\n }\n }\n }\n if (!option) {\n for (let i = 0; i <= index.groupIndex; i++) {\n for (let j = 0; j < ((index.groupIndex === i) ? index.itemIndex : this.getOptionGroupChildren(this.optionsToDisplay[i]).length); j++) {\n let opt = this.getOptionGroupChildren(this.optionsToDisplay[i])[j];\n if (this.getOptionLabel(opt).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale)) && !this.isOptionDisabled(opt)) {\n return opt;\n }\n }\n }\n }\n }\n return null;\n }\n findOptionIndex(val, opts) {\n let index = -1;\n if (opts) {\n for (let i = 0; i < opts.length; i++) {\n if ((val == null && this.getOptionValue(opts[i]) == null) || ObjectUtils.equals(val, this.getOptionValue(opts[i]), this.dataKey)) {\n index = i;\n break;\n }\n }\n }\n return index;\n }\n findOptionGroupIndex(val, opts) {\n let groupIndex, itemIndex;\n if (opts) {\n for (let i = 0; i < opts.length; i++) {\n groupIndex = i;\n itemIndex = this.findOptionIndex(val, this.getOptionGroupChildren(opts[i]));\n if (itemIndex !== -1) {\n break;\n }\n }\n }\n if (itemIndex !== -1) {\n return { groupIndex: groupIndex, itemIndex: itemIndex };\n }\n else {\n return -1;\n }\n }\n findOption(val, opts, inGroup) {\n if (this.group && !inGroup) {\n let opt;\n if (opts && opts.length) {\n for (let optgroup of opts) {\n opt = this.findOption(val, this.getOptionGroupChildren(optgroup), true);\n if (opt) {\n break;\n }\n }\n }\n return opt;\n }\n else {\n let index = this.findOptionIndex(val, opts);\n return (index != -1) ? opts[index] : null;\n }\n }\n onFilterInputChange(event) {\n let inputValue = event.target.value;\n if (inputValue && inputValue.length) {\n this._filterValue = inputValue;\n this.activateFilter();\n }\n else {\n this._filterValue = null;\n this.optionsToDisplay = this.options;\n }\n this.optionsChanged = true;\n this.onFilter.emit({ originalEvent: event, filter: this._filterValue });\n }\n activateFilter() {\n let searchFields = (this.filterBy || this.optionLabel || 'label').split(',');\n if (this.options && this.options.length) {\n if (this.group) {\n let filteredGroups = [];\n for (let optgroup of this.options) {\n let filteredSubOptions = this.filterService.filter(this.getOptionGroupChildren(optgroup), searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n if (filteredSubOptions && filteredSubOptions.length) {\n filteredGroups.push(Object.assign(Object.assign({}, optgroup), { [this.optionGroupChildren]: filteredSubOptions }));\n }\n }\n this.optionsToDisplay = filteredGroups;\n }\n else {\n this.optionsToDisplay = this.filterService.filter(this.options, searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n }\n this.optionsChanged = true;\n }\n }\n applyFocus() {\n if (this.editable)\n DomHandler.findSingle(this.el.nativeElement, '.p-dropdown-label.p-inputtext').focus();\n else\n DomHandler.findSingle(this.el.nativeElement, 'input[readonly]').focus();\n }\n focus() {\n this.applyFocus();\n }\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n const documentTarget = this.el ? this.el.nativeElement.ownerDocument : 'document';\n this.documentClickListener = this.renderer.listen(documentTarget, 'click', (event) => {\n if (this.isOutsideClicked(event)) {\n this.hide();\n this.unbindDocumentClickListener();\n }\n this.cd.markForCheck();\n });\n }\n }\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n bindDocumentResizeListener() {\n this.documentResizeListener = this.onWindowResize.bind(this);\n window.addEventListener('resize', this.documentResizeListener);\n }\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n onWindowResize() {\n if (this.overlayVisible && !DomHandler.isTouchDevice()) {\n this.hide();\n }\n }\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.containerViewChild.nativeElement, (event) => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n this.scrollHandler.bindScrollListener();\n }\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n clear(event) {\n this.value = null;\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n this.updateSelectedOption(this.value);\n this.updateEditableLabel();\n this.onClear.emit(event);\n }\n onOverlayHide() {\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n this.overlay = null;\n this.itemsWrapper = null;\n this.onModelTouched();\n }\n ngOnDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n if (this.overlay) {\n ZIndexUtils.clear(this.overlay);\n }\n this.restoreOverlayAppend();\n this.onOverlayHide();\n }\n}\nDropdown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.0\", ngImport: i0, type: Dropdown, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i3.FilterService }, { token: i3.PrimeNGConfig }, { token: i3.OverlayService }], target: i0.ɵɵFactoryTarget.Component });\nDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"13.0.0\", type: Dropdown, selector: \"p-dropdown\", inputs: { scrollHeight: \"scrollHeight\", filter: \"filter\", name: \"name\", style: \"style\", panelStyle: \"panelStyle\", styleClass: \"styleClass\", panelStyleClass: \"panelStyleClass\", readonly: \"readonly\", required: \"required\", editable: \"editable\", appendTo: \"appendTo\", tabindex: \"tabindex\", placeholder: \"placeholder\", filterPlaceholder: \"filterPlaceholder\", filterLocale: \"filterLocale\", inputId: \"inputId\", selectId: \"selectId\", dataKey: \"dataKey\", filterBy: \"filterBy\", autofocus: \"autofocus\", resetFilterOnHide: \"resetFilterOnHide\", dropdownIcon: \"dropdownIcon\", optionLabel: \"optionLabel\", optionValue: \"optionValue\", optionDisabled: \"optionDisabled\", optionGroupLabel: \"optionGroupLabel\", optionGroupChildren: \"optionGroupChildren\", autoDisplayFirst: \"autoDisplayFirst\", group: \"group\", showClear: \"showClear\", emptyFilterMessage: \"emptyFilterMessage\", emptyMessage: \"emptyMessage\", virtualScroll: \"virtualScroll\", itemSize: \"itemSize\", autoZIndex: \"autoZIndex\", baseZIndex: \"baseZIndex\", showTransitionOptions: \"showTransitionOptions\", hideTransitionOptions: \"hideTransitionOptions\", ariaFilterLabel: \"ariaFilterLabel\", ariaLabelledBy: \"ariaLabelledBy\", filterMatchMode: \"filterMatchMode\", maxlength: \"maxlength\", tooltip: \"tooltip\", tooltipPosition: \"tooltipPosition\", tooltipPositionStyle: \"tooltipPositionStyle\", tooltipStyleClass: \"tooltipStyleClass\", autofocusFilter: \"autofocusFilter\", disabled: \"disabled\", options: \"options\", filterValue: \"filterValue\" }, outputs: { onChange: \"onChange\", onFilter: \"onFilter\", onFocus: \"onFocus\", onBlur: \"onBlur\", onClick: \"onClick\", onShow: \"onShow\", onHide: \"onHide\", onClear: \"onClear\" }, host: { properties: { \"class.p-inputwrapper-filled\": \"filled\", \"class.p-inputwrapper-focus\": \"focused || overlayVisible\" }, classAttribute: \"p-element p-inputwrapper\" }, providers: [DROPDOWN_VALUE_ACCESSOR], queries: [{ propertyName: \"templates\", predicate: PrimeTemplate }], viewQueries: [{ propertyName: \"containerViewChild\", first: true, predicate: [\"container\"], descendants: true }, { propertyName: \"filterViewChild\", first: true, predicate: [\"filter\"], descendants: true }, { propertyName: \"accessibleViewChild\", first: true, predicate: [\"in\"], descendants: true }, { propertyName: \"viewPort\", first: true, predicate: CdkVirtualScrollViewport, descendants: true }, { propertyName: \"editableInputViewChild\", first: true, predicate: [\"editableInput\"], descendants: true }], ngImport: i0, template: `\n <div #container [ngClass]=\"{'p-dropdown p-component':true,\n 'p-disabled':disabled, 'p-dropdown-open':overlayVisible, 'p-focus':focused, 'p-dropdown-clearable': showClear && !disabled}\"\n (click)=\"onMouseclick($event)\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <div class=\"p-hidden-accessible\">\n <input #in [attr.id]=\"inputId\" type=\"text\" readonly (focus)=\"onInputFocus($event)\" aria-haspopup=\"listbox\" [attr.placeholder]=\"placeholder\"\n aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\" [attr.aria-labelledby]=\"ariaLabelledBy\" (blur)=\"onInputBlur($event)\" (keydown)=\"onKeydown($event, true)\"\n [disabled]=\"disabled\" [attr.tabindex]=\"tabindex\" [attr.autofocus]=\"autofocus\" [attr.aria-activedescendant]=\"overlayVisible ? 'p-highlighted-option' : labelId\" role=\"listbox\">\n </div>\n <span [attr.id]=\"labelId\" [ngClass]=\"{'p-dropdown-label p-inputtext':true,'p-dropdown-label-empty':(label == null || label.length === 0)}\" *ngIf=\"!editable && (label != null)\" [pTooltip]=\"tooltip\" [tooltipPosition]=\"tooltipPosition\" [positionStyle]=\"tooltipPositionStyle\" [tooltipStyleClass]=\"tooltipStyleClass\">\n <ng-container *ngIf=\"!selectedItemTemplate\">{{label||'empty'}}</ng-container>\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: {$implicit: selectedOption}\"></ng-container>\n </span>\n <span [ngClass]=\"{'p-dropdown-label p-inputtext p-placeholder':true,'p-dropdown-label-empty': (placeholder == null || placeholder.length === 0)}\" *ngIf=\"!editable && (label == null)\">{{placeholder||'empty'}}</span>\n <input #editableInput type=\"text\" [attr.maxlength]=\"maxlength\" class=\"p-dropdown-label p-inputtext\" *ngIf=\"editable\" [disabled]=\"disabled\" [attr.placeholder]=\"placeholder\"\n aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\" (click)=\"onEditableInputClick()\" (input)=\"onEditableInputChange($event)\" (focus)=\"onEditableInputFocus($event)\" (blur)=\"onInputBlur($event)\">\n <i class=\"p-dropdown-clear-icon pi pi-times\" (click)=\"clear($event)\" *ngIf=\"value != null && showClear && !disabled\"></i>\n <div class=\"p-dropdown-trigger\" role=\"button\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\">\n <span class=\"p-dropdown-trigger-icon\" [ngClass]=\"dropdownIcon\"></span>\n </div>\n <div *ngIf=\"overlayVisible\" [ngClass]=\"'p-dropdown-panel p-component'\" (click)=\"onOverlayClick($event)\" [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\" (@overlayAnimation.start)=\"onOverlayAnimationEnd($event)\"onOverlayAnimationEnd [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <div class=\"p-dropdown-header\" *ngIf=\"filter\" >\n <div class=\"p-dropdown-filter-container\" (click)=\"$event.stopPropagation()\">\n <input #filter type=\"text\" autocomplete=\"off\" [value]=\"filterValue||''\" class=\"p-dropdown-filter p-inputtext p-component\" [attr.placeholder]=\"filterPlaceholder\"\n (keydown.enter)=\"$event.preventDefault()\" (keydown)=\"onKeydown($event, false)\" (input)=\"onFilterInputChange($event)\" [attr.aria-label]=\"ariaFilterLabel\" [attr.aria-activedescendant]=\"overlayVisible ? 'p-highlighted-option' : labelId\">\n <span class=\"p-dropdown-filter-icon pi pi-search\"></span>\n </div>\n </div>\n <div class=\"p-dropdown-items-wrapper\" [style.max-height]=\"virtualScroll ? 'auto' : (scrollHeight||'auto')\">\n <ul [attr.id]=\"listId\" class=\"p-dropdown-items\" [ngClass]=\"{'p-dropdown-virtualscroll': virtualScroll}\" role=\"listbox\">\n <ng-container *ngIf=\"group\">\n <ng-template ngFor let-optgroup [ngForOf]=\"optionsToDisplay\">\n <li class=\"p-dropdown-item-group\">\n <span *ngIf=\"!groupTemplate\">{{getOptionGroupLabel(optgroup)||'empty'}}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: {$implicit: optgroup}\"></ng-container>\n </li>\n <ng-container *ngTemplateOutlet=\"itemslist; context: {$implicit: getOptionGroupChildren(optgroup), selectedOption: selectedOption}\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!group\">\n <ng-container *ngTemplateOutlet=\"itemslist; context: {$implicit: optionsToDisplay, selectedOption: selectedOption}\"></ng-container>\n </ng-container>\n <ng-template #itemslist let-options let-selectedOption=\"selectedOption\">\n <ng-container *ngIf=\"!virtualScroll; else virtualScrollList\">\n <ng-template ngFor let-option let-i=\"index\" [ngForOf]=\"options\">\n <p-dropdownItem [option]=\"option\" [selected]=\"selectedOption == option\" [label]=\"getOptionLabel(option)\" [disabled]=\"isOptionDisabled(option)\"\n (onClick)=\"onItemClick($event)\"\n [template]=\"itemTemplate\"></p-dropdownItem>\n </ng-template>\n </ng-container>\n <ng-template #virtualScrollList>\n <cdk-virtual-scroll-viewport (scrolledIndexChange)=\"scrollToSelectedVirtualScrollElement()\" #viewport [ngStyle]=\"{'height': scrollHeight}\" [itemSize]=\"itemSize\" *ngIf=\"virtualScroll && optionsToDisplay && optionsToDisplay.length\">\n <ng-container *cdkVirtualFor=\"let option of options; let i = index; let c = count; let f = first; let l = last; let e = even; let o = odd\">\n <p-dropdownItem [option]=\"option\" [selected]=\"selectedOption == option\" [label]=\"getOptionLabel(option)\" [disabled]=\"isOptionDisabled(option)\"\n (onClick)=\"onItemClick($event)\"\n [template]=\"itemTemplate\"></p-dropdownItem>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </ng-template>\n </ng-template>\n <li *ngIf=\"filterValue && isEmpty()\" class=\"p-dropdown-empty-message\">\n <ng-container *ngIf=\"!emptyFilterTemplate && !emptyTemplate; else emptyFilter\">\n {{emptyFilterMessageLabel}}\n </ng-container>\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || emptyTemplate\"></ng-container>\n </li>\n <li *ngIf=\"!filterValue && isEmpty()\" class=\"p-dropdown-empty-message\">\n <ng-container *ngIf=\"!emptyTemplate; else empty\">\n {{emptyMessageLabel}}\n </ng-container>\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </li>\n </ul>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n `, isInline: true, styles: [\".p-dropdown{display:inline-flex;cursor:pointer;position:relative;-webkit-user-select:none;-ms-user-select:none;user-select:none}.p-dropdown-clear-icon{position:absolute;top:50%;margin-top:-.5rem}.p-dropdown-trigger{display:flex;align-items:center;justify-content:center;flex-shrink:0}.p-dropdown-label{display:block;white-space:nowrap;overflow:hidden;flex:1 1 auto;width:1%;text-overflow:ellipsis;cursor:pointer}.p-dropdown-label-empty{overflow:hidden;visibility:hidden}input.p-dropdown-label{cursor:default}.p-dropdown .p-dropdown-panel{min-width:100%}.p-dropdown-panel{position:absolute;top:0;left:0}.p-dropdown-items-wrapper{overflow:auto}.p-dropdown-item{cursor:pointer;font-weight:normal;white-space:nowrap;position:relative;overflow:hidden}.p-dropdown-items{margin:0;padding:0;list-style-type:none}.p-dropdown-filter{width:100%}.p-dropdown-filter-container{position:relative}.p-dropdown-filter-icon{position:absolute;top:50%;margin-top:-.5rem}.p-fluid .p-dropdown{display:flex}.p-fluid .p-dropdown .p-dropdown-label{width:1%}\\n\"], components: [{ type: DropdownItem, selector: \"p-dropdownItem\", inputs: [\"option\", \"selected\", \"label\", \"disabled\", \"visible\", \"itemSize\", \"template\"], outputs: [\"onClick\"] }, { type: i4.CdkVirtualScrollViewport, selector: \"cdk-virtual-scroll-viewport\", inputs: [\"orientation\", \"appendOnly\"], outputs: [\"scrolledIndexChange\"] }], directives: [{ type: i2.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { type: i2.NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }, { type: i2.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i5.Tooltip, selector: \"[pTooltip]\", inputs: [\"tooltipPosition\", \"tooltipEvent\", \"appendTo\", \"positionStyle\", \"tooltipStyleClass\", \"tooltipZIndex\", \"escape\", \"showDelay\", \"hideDelay\", \"life\", \"positionTop\", \"positionLeft\", \"pTooltip\", \"tooltipDisabled\", \"tooltipOptions\"] }, { type: i2.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\"] }, { type: i2.NgForOf, selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }, { type: i4.CdkFixedSizeVirtualScroll, selector: \"cdk-virtual-scroll-viewport[itemSize]\", inputs: [\"itemSize\", \"minBufferPx\", \"maxBufferPx\"] }, { type: i4.CdkVirtualForOf, selector: \"[cdkVirtualFor][cdkVirtualForOf]\", inputs: [\"cdkVirtualForOf\", \"cdkVirtualForTrackBy\", \"cdkVirtualForTemplate\", \"cdkVirtualForTemplateCacheSize\"] }], animations: [\n trigger('overlayAnimation', [\n transition(':enter', [\n style({ opacity: 0, transform: 'scaleY(0.8)' }),\n animate('{{showTransitionParams}}')\n ]),\n transition(':leave', [\n animate('{{hideTransitionParams}}', style({ opacity: 0 }))\n ])\n ])\n ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.0\", ngImport: i0, type: Dropdown, decorators: [{\n type: Component,\n args: [{ selector: 'p-dropdown', template: `\n <div #container [ngClass]=\"{'p-dropdown p-component':true,\n 'p-disabled':disabled, 'p-dropdown-open':overlayVisible, 'p-focus':focused, 'p-dropdown-clearable': showClear && !disabled}\"\n (click)=\"onMouseclick($event)\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <div class=\"p-hidden-accessible\">\n <input #in [attr.id]=\"inputId\" type=\"text\" readonly (focus)=\"onInputFocus($event)\" aria-haspopup=\"listbox\" [attr.placeholder]=\"placeholder\"\n aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\" [attr.aria-labelledby]=\"ariaLabelledBy\" (blur)=\"onInputBlur($event)\" (keydown)=\"onKeydown($event, true)\"\n [disabled]=\"disabled\" [attr.tabindex]=\"tabindex\" [attr.autofocus]=\"autofocus\" [attr.aria-activedescendant]=\"overlayVisible ? 'p-highlighted-option' : labelId\" role=\"listbox\">\n </div>\n <span [attr.id]=\"labelId\" [ngClass]=\"{'p-dropdown-label p-inputtext':true,'p-dropdown-label-empty':(label == null || label.length === 0)}\" *ngIf=\"!editable && (label != null)\" [pTooltip]=\"tooltip\" [tooltipPosition]=\"tooltipPosition\" [positionStyle]=\"tooltipPositionStyle\" [tooltipStyleClass]=\"tooltipStyleClass\">\n <ng-container *ngIf=\"!selectedItemTemplate\">{{label||'empty'}}</ng-container>\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate; context: {$implicit: selectedOption}\"></ng-container>\n </span>\n <span [ngClass]=\"{'p-dropdown-label p-inputtext p-placeholder':true,'p-dropdown-label-empty': (placeholder == null || placeholder.length === 0)}\" *ngIf=\"!editable && (label == null)\">{{placeholder||'empty'}}</span>\n <input #editableInput type=\"text\" [attr.maxlength]=\"maxlength\" class=\"p-dropdown-label p-inputtext\" *ngIf=\"editable\" [disabled]=\"disabled\" [attr.placeholder]=\"placeholder\"\n aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\" (click)=\"onEditableInputClick()\" (input)=\"onEditableInputChange($event)\" (focus)=\"onEditableInputFocus($event)\" (blur)=\"onInputBlur($event)\">\n <i class=\"p-dropdown-clear-icon pi pi-times\" (click)=\"clear($event)\" *ngIf=\"value != null && showClear && !disabled\"></i>\n <div class=\"p-dropdown-trigger\" role=\"button\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\">\n <span class=\"p-dropdown-trigger-icon\" [ngClass]=\"dropdownIcon\"></span>\n </div>\n <div *ngIf=\"overlayVisible\" [ngClass]=\"'p-dropdown-panel p-component'\" (click)=\"onOverlayClick($event)\" [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\" (@overlayAnimation.start)=\"onOverlayAnimationEnd($event)\"onOverlayAnimationEnd [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <div class=\"p-dropdown-header\" *ngIf=\"filter\" >\n <div class=\"p-dropdown-filter-container\" (click)=\"$event.stopPropagation()\">\n <input #filter type=\"text\" autocomplete=\"off\" [value]=\"filterValue||''\" class=\"p-dropdown-filter p-inputtext p-component\" [attr.placeholder]=\"filterPlaceholder\"\n (keydown.enter)=\"$event.preventDefault()\" (keydown)=\"onKeydown($event, false)\" (input)=\"onFilterInputChange($event)\" [attr.aria-label]=\"ariaFilterLabel\" [attr.aria-activedescendant]=\"overlayVisible ? 'p-highlighted-option' : labelId\">\n <span class=\"p-dropdown-filter-icon pi pi-search\"></span>\n </div>\n </div>\n <div class=\"p-dropdown-items-wrapper\" [style.max-height]=\"virtualScroll ? 'auto' : (scrollHeight||'auto')\">\n <ul [attr.id]=\"listId\" class=\"p-dropdown-items\" [ngClass]=\"{'p-dropdown-virtualscroll': virtualScroll}\" role=\"listbox\">\n <ng-container *ngIf=\"group\">\n <ng-template ngFor let-optgroup [ngForOf]=\"optionsToDisplay\">\n <li class=\"p-dropdown-item-group\">\n <span *ngIf=\"!groupTemplate\">{{getOptionGroupLabel(optgroup)||'empty'}}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: {$implicit: optgroup}\"></ng-container>\n </li>\n <ng-container *ngTemplateOutlet=\"itemslist; context: {$implicit: getOptionGroupChildren(optgroup), selectedOption: selectedOption}\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!group\">\n <ng-container *ngTemplateOutlet=\"itemslist; context: {$implicit: optionsToDisplay, selectedOption: selectedOption}\"></ng-container>\n </ng-container>\n <ng-template #itemslist let-options let-selectedOption=\"selectedOption\">\n <ng-container *ngIf=\"!virtualScroll; else virtualScrollList\">\n <ng-template ngFor let-option let-i=\"index\" [ngForOf]=\"options\">\n <p-dropdownItem [option]=\"option\" [selected]=\"selectedOption == option\" [label]=\"getOptionLabel(option)\" [disabled]=\"isOptionDisabled(option)\"\n (onClick)=\"onItemClick($event)\"\n [template]=\"itemTemplate\"></p-dropdownItem>\n </ng-template>\n </ng-container>\n <ng-template #virtualScrollList>\n <cdk-virtual-scroll-viewport (scrolledIndexChange)=\"scrollToSelectedVirtualScrollElement()\" #viewport [ngStyle]=\"{'height': scrollHeight}\" [itemSize]=\"itemSize\" *ngIf=\"virtualScroll && optionsToDisplay && optionsToDisplay.length\">\n <ng-container *cdkVirtualFor=\"let option of options; let i = index; let c = count; let f = first; let l = last; let e = even; let o = odd\">\n <p-dropdownItem [option]=\"option\" [selected]=\"selectedOption == option\" [label]=\"getOptionLabel(option)\" [disabled]=\"isOptionDisabled(option)\"\n (onClick)=\"onItemClick($event)\"\n [template]=\"itemTemplate\"></p-dropdownItem>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </ng-template>\n </ng-template>\n <li *ngIf=\"filterValue && isEmpty()\" class=\"p-dropdown-empty-message\">\n <ng-container *ngIf=\"!emptyFilterTemplate && !emptyTemplate; else emptyFilter\">\n {{emptyFilterMessageLabel}}\n </ng-container>\n <ng-container #emptyFilter *ngTemplateOutlet=\"emptyFilterTemplate || emptyTemplate\"></ng-container>\n </li>\n <li *ngIf=\"!filterValue && isEmpty()\" class=\"p-dropdown-empty-message\">\n <ng-container *ngIf=\"!emptyTemplate; else empty\">\n {{emptyMessageLabel}}\n </ng-container>\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </li>\n </ul>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n `, animations: [\n trigger('overlayAnimation', [\n transition(':enter', [\n style({ opacity: 0, transform: 'scaleY(0.8)' }),\n animate('{{showTransitionParams}}')\n ]),\n transition(':leave', [\n animate('{{hideTransitionParams}}', style({ opacity: 0 }))\n ])\n ])\n ], host: {\n 'class': 'p-element p-inputwrapper',\n '[class.p-inputwrapper-filled]': 'filled',\n '[class.p-inputwrapper-focus]': 'focused || overlayVisible'\n }, providers: [DROPDOWN_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [\".p-dropdown{display:inline-flex;cursor:pointer;position:relative;-webkit-user-select:none;-ms-user-select:none;user-select:none}.p-dropdown-clear-icon{position:absolute;top:50%;margin-top:-.5rem}.p-dropdown-trigger{display:flex;align-items:center;justify-content:center;flex-shrink:0}.p-dropdown-label{display:block;white-space:nowrap;overflow:hidden;flex:1 1 auto;width:1%;text-overflow:ellipsis;cursor:pointer}.p-dropdown-label-empty{overflow:hidden;visibility:hidden}input.p-dropdown-label{cursor:default}.p-dropdown .p-dropdown-panel{min-width:100%}.p-dropdown-panel{position:absolute;top:0;left:0}.p-dropdown-items-wrapper{overflow:auto}.p-dropdown-item{cursor:pointer;font-weight:normal;white-space:nowrap;position:relative;overflow:hidden}.p-dropdown-items{margin:0;padding:0;list-style-type:none}.p-dropdown-filter{width:100%}.p-dropdown-filter-container{position:relative}.p-dropdown-filter-icon{position:absolute;top:50%;margin-top:-.5rem}.p-fluid .p-dropdown{display:flex}.p-fluid .p-dropdown .p-dropdown-label{width:1%}\\n\"] }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i3.FilterService }, { type: i3.PrimeNGConfig }, { type: i3.OverlayService }]; }, propDecorators: { scrollHeight: [{\n type: Input\n }], filter: [{\n type: Input\n }], name: [{\n type: Input\n }], style: [{\n type: Input\n }], panelStyle: [{\n type: Input\n }], styleClass: [{\n type: Input\n }], panelStyleClass: [{\n type: Input\n }], readonly: [{\n type: Input\n }], required: [{\n type: Input\n }], editable: [{\n type: Input\n }], appendTo: [{\n type: Input\n }], tabindex: [{\n type: Input\n }], placeholder: [{\n type: Input\n }], filterPlaceholder: [{\n type: Input\n }], filterLocale: [{\n type: Input\n }], inputId: [{\n type: Input\n }], selectId: [{\n type: Input\n }], dataKey: [{\n type: Input\n }], filterBy: [{\n type: Input\n }], autofocus: [{\n type: Input\n }], resetFilterOnHide: [{\n type: Input\n }], dropdownIcon: [{\n type: Input\n }], optionLabel: [{\n type: Input\n }], optionValue: [{\n type: Input\n }], optionDisabled: [{\n type: Input\n }], optionGroupLabel: [{\n type: Input\n }], optionGroupChildren: [{\n type: Input\n }], autoDisplayFirst: [{\n type: Input\n }], group: [{\n type: Input\n }], showClear: [{\n type: Input\n }], emptyFilterMessage: [{\n type: Input\n }], emptyMessage: [{\n type: Input\n }], virtualScroll: [{\n type: Input\n }], itemSize: [{\n type: Input\n }], autoZIndex: [{\n type: Input\n }], baseZIndex: [{\n type: Input\n }], showTransitionOptions: [{\n type: Input\n }], hideTransitionOptions: [{\n type: Input\n }], ariaFilterLabel: [{\n type: Input\n }], ariaLabelledBy: [{\n type: Input\n }], filterMatchMode: [{\n type: Input\n }], maxlength: [{\n type: Input\n }], tooltip: [{\n type: Input\n }], tooltipPosition: [{\n type: Input\n }], tooltipPositionStyle: [{\n type: Input\n }], tooltipStyleClass: [{\n type: Input\n }], autofocusFilter: [{\n type: Input\n }], onChange: [{\n type: Output\n }], onFilter: [{\n type: Output\n }], onFocus: [{\n type: Output\n }], onBlur: [{\n type: Output\n }], onClick: [{\n type: Output\n }], onShow: [{\n type: Output\n }], onHide: [{\n type: Output\n }], onClear: [{\n type: Output\n }], containerViewChild: [{\n type: ViewChild,\n args: ['container']\n }], filterViewChild: [{\n type: ViewChild,\n args: ['filter']\n }], accessibleViewChild: [{\n type: ViewChild,\n args: ['in']\n }], viewPort: [{\n type: ViewChild,\n args: [CdkVirtualScrollViewport]\n }], editableInputViewChild: [{\n type: ViewChild,\n args: ['editableInput']\n }], templates: [{\n type: ContentChildren,\n args: [PrimeTemplate]\n }], disabled: [{\n type: Input\n }], options: [{\n type: Input\n }], filterValue: [{\n type: Input\n }] } });\nclass DropdownModule {\n}\nDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.0\", ngImport: i0, type: DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.0.0\", ngImport: i0, type: DropdownModule, declarations: [Dropdown, DropdownItem], imports: [CommonModule, SharedModule, ScrollingModule, TooltipModule, RippleModule], exports: [Dropdown, SharedModule, ScrollingModule] });\nDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.0.0\", ngImport: i0, type: DropdownModule, imports: [[CommonModule, SharedModule, ScrollingModule, TooltipModule, RippleModule], SharedModule, ScrollingModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.0\", ngImport: i0, type: DropdownModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule, SharedModule, ScrollingModule, TooltipModule, RippleModule],\n exports: [Dropdown, SharedModule, ScrollingModule],\n declarations: [Dropdown, DropdownItem]\n }]\n }] });\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { DROPDOWN_VALUE_ACCESSOR, Dropdown, DropdownItem, DropdownModule };\n"]},"metadata":{},"sourceType":"module"}
Note: See TracBrowser for help on using the repository browser.