primeng 17.4.0 → 17.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/api/translationkeys.d.ts +2 -2
  2. package/dropdown/dropdown.d.ts +1 -0
  3. package/esm2022/accordion/accordion.mjs +2 -2
  4. package/esm2022/api/translationkeys.mjs +3 -3
  5. package/esm2022/autocomplete/autocomplete.mjs +3 -3
  6. package/esm2022/calendar/calendar.mjs +20 -5
  7. package/esm2022/dragdrop/dragdrop.mjs +5 -3
  8. package/esm2022/dropdown/dropdown.mjs +38 -15
  9. package/esm2022/inputnumber/inputnumber.mjs +2 -2
  10. package/esm2022/table/table.mjs +17 -15
  11. package/esm2022/tabview/tabview.mjs +4 -2
  12. package/fesm2022/primeng-accordion.mjs +1 -1
  13. package/fesm2022/primeng-accordion.mjs.map +1 -1
  14. package/fesm2022/primeng-api.mjs +2 -2
  15. package/fesm2022/primeng-api.mjs.map +1 -1
  16. package/fesm2022/primeng-autocomplete.mjs +2 -2
  17. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  18. package/fesm2022/primeng-calendar.mjs +19 -4
  19. package/fesm2022/primeng-calendar.mjs.map +1 -1
  20. package/fesm2022/primeng-dragdrop.mjs +4 -2
  21. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  22. package/fesm2022/primeng-dropdown.mjs +37 -14
  23. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  24. package/fesm2022/primeng-inputnumber.mjs +1 -1
  25. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  26. package/fesm2022/primeng-table.mjs +16 -14
  27. package/fesm2022/primeng-table.mjs.map +1 -1
  28. package/fesm2022/primeng-tabview.mjs +3 -1
  29. package/fesm2022/primeng-tabview.mjs.map +1 -1
  30. package/package.json +70 -70
  31. package/resources/components/calendar/calendar.css +1 -1
  32. package/resources/themes/arya-blue/theme.css +454 -246
  33. package/resources/themes/arya-green/theme.css +454 -246
  34. package/resources/themes/arya-orange/theme.css +454 -246
  35. package/resources/themes/arya-purple/theme.css +454 -246
  36. package/resources/themes/bootstrap4-dark-blue/theme.css +455 -246
  37. package/resources/themes/bootstrap4-dark-purple/theme.css +455 -246
  38. package/resources/themes/bootstrap4-light-blue/theme.css +455 -246
  39. package/resources/themes/bootstrap4-light-purple/theme.css +455 -246
  40. package/resources/themes/fluent-light/theme.css +481 -257
  41. package/resources/themes/lara-dark-blue/theme.css +470 -248
  42. package/resources/themes/lara-dark-indigo/theme.css +470 -248
  43. package/resources/themes/lara-dark-purple/theme.css +470 -248
  44. package/resources/themes/lara-dark-teal/theme.css +470 -248
  45. package/resources/themes/lara-light-blue/theme.css +475 -256
  46. package/resources/themes/lara-light-indigo/theme.css +475 -256
  47. package/resources/themes/lara-light-purple/theme.css +475 -256
  48. package/resources/themes/lara-light-teal/theme.css +475 -256
  49. package/resources/themes/luna-amber/theme.css +468 -259
  50. package/resources/themes/luna-blue/theme.css +468 -259
  51. package/resources/themes/luna-green/theme.css +468 -259
  52. package/resources/themes/luna-pink/theme.css +468 -259
  53. package/resources/themes/md-dark-deeppurple/theme.css +713 -406
  54. package/resources/themes/md-dark-indigo/theme.css +713 -406
  55. package/resources/themes/md-light-deeppurple/theme.css +574 -267
  56. package/resources/themes/md-light-indigo/theme.css +574 -267
  57. package/resources/themes/mdc-dark-deeppurple/theme.css +713 -406
  58. package/resources/themes/mdc-dark-indigo/theme.css +713 -406
  59. package/resources/themes/mdc-light-deeppurple/theme.css +574 -267
  60. package/resources/themes/mdc-light-indigo/theme.css +574 -267
  61. package/resources/themes/mira/theme.css +492 -253
  62. package/resources/themes/nano/theme.css +452 -246
  63. package/resources/themes/nova/theme.css +456 -246
  64. package/resources/themes/nova-accent/theme.css +453 -246
  65. package/resources/themes/nova-alt/theme.css +456 -246
  66. package/resources/themes/rhea/theme.css +453 -246
  67. package/resources/themes/saga-blue/theme.css +454 -246
  68. package/resources/themes/saga-green/theme.css +454 -246
  69. package/resources/themes/saga-orange/theme.css +454 -246
  70. package/resources/themes/saga-purple/theme.css +454 -246
  71. package/resources/themes/soho-dark/theme.css +488 -277
  72. package/resources/themes/soho-light/theme.css +464 -251
  73. package/resources/themes/tailwind-light/theme.css +497 -276
  74. package/resources/themes/vela-blue/theme.css +454 -246
  75. package/resources/themes/vela-green/theme.css +454 -246
  76. package/resources/themes/vela-orange/theme.css +454 -246
  77. package/resources/themes/vela-purple/theme.css +454 -246
  78. package/resources/themes/viva-dark/theme.css +478 -251
  79. package/resources/themes/viva-light/theme.css +478 -251
  80. package/table/table.d.ts +1 -0
@@ -251,8 +251,10 @@ class Droppable {
251
251
  }
252
252
  dragLeave(event) {
253
253
  event.preventDefault();
254
- DomHandler.removeClass(this.el.nativeElement, 'p-draggable-enter');
255
- this.onDragLeave.emit(event);
254
+ if (!this.el.nativeElement.contains(event.relatedTarget)) {
255
+ DomHandler.removeClass(this.el.nativeElement, 'p-draggable-enter');
256
+ this.onDragLeave.emit(event);
257
+ }
256
258
  }
257
259
  allowDrop(event) {
258
260
  let dragScope = event.dataTransfer.getData('text');
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-dragdrop.mjs","sources":["../../src/app/components/dragdrop/dragdrop.ts","../../src/app/components/dragdrop/primeng-dragdrop.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { AfterViewInit, Directive, ElementRef, EventEmitter, HostListener, Input, NgModule, NgZone, OnDestroy, Output, Renderer2 } from '@angular/core';\nimport { DomHandler } from 'primeng/dom';\nimport { VoidListener } from 'primeng/ts-helpers';\n/**\n * pDraggable directive apply draggable behavior to any element.\n * @group Components\n */\n@Directive({\n selector: '[pDraggable]',\n host: {\n class: 'p-element'\n }\n})\nexport class Draggable implements AfterViewInit, OnDestroy {\n @Input('pDraggable') scope: string | undefined;\n /**\n * Defines the cursor style.\n * @group Props\n */\n @Input() dragEffect: 'none' | 'copy' | 'copyLink' | 'copyMove' | 'link' | 'linkMove' | 'move' | 'all' | 'uninitialized' | undefined;\n /**\n * Selector to define the drag handle, by default anywhere on the target element is a drag handle to start dragging.\n * @group Props\n */\n @Input() dragHandle: string | undefined;\n /**\n * Callback to invoke when drag begins.\n * @param {DragEvent} event - Drag event.\n * @group Emits\n */\n @Output() onDragStart: EventEmitter<DragEvent> = new EventEmitter();\n /**\n * Callback to invoke when drag ends.\n * @param {DragEvent} event - Drag event.\n * @group Emits\n */\n @Output() onDragEnd: EventEmitter<DragEvent> = new EventEmitter();\n /**\n * Callback to invoke on dragging.\n * @param {DragEvent} event - Drag event.\n * @group Emits\n */\n @Output() onDrag: EventEmitter<DragEvent> = new EventEmitter();\n\n handle: any;\n\n dragListener: VoidListener;\n\n mouseDownListener: VoidListener;\n\n mouseUpListener: VoidListener;\n\n _pDraggableDisabled: boolean = false;\n\n constructor(public el: ElementRef, public zone: NgZone, private renderer: Renderer2) {}\n\n @Input() get pDraggableDisabled(): boolean {\n return this._pDraggableDisabled;\n }\n set pDraggableDisabled(_pDraggableDisabled: boolean) {\n this._pDraggableDisabled = _pDraggableDisabled;\n\n if (this._pDraggableDisabled) {\n this.unbindMouseListeners();\n } else {\n this.el.nativeElement.draggable = true;\n this.bindMouseListeners();\n }\n }\n\n ngAfterViewInit() {\n if (!this.pDraggableDisabled) {\n this.el.nativeElement.draggable = true;\n this.bindMouseListeners();\n }\n }\n\n bindDragListener() {\n if (!this.dragListener) {\n this.zone.runOutsideAngular(() => {\n this.dragListener = this.renderer.listen(this.el.nativeElement, 'drag', this.drag.bind(this));\n });\n }\n }\n\n unbindDragListener() {\n if (this.dragListener) {\n this.zone.runOutsideAngular(() => {\n this.dragListener && this.dragListener();\n this.dragListener = null;\n });\n }\n }\n\n bindMouseListeners() {\n if (!this.mouseDownListener && !this.mouseUpListener) {\n this.zone.runOutsideAngular(() => {\n this.mouseDownListener = this.renderer.listen(this.el.nativeElement, 'mousedown', this.mousedown.bind(this));\n this.mouseUpListener = this.renderer.listen(this.el.nativeElement, 'mouseup', this.mouseup.bind(this));\n });\n }\n }\n\n unbindMouseListeners() {\n if (this.mouseDownListener && this.mouseUpListener) {\n this.zone.runOutsideAngular(() => {\n this.mouseDownListener && this.mouseDownListener();\n this.mouseUpListener && this.mouseUpListener();\n this.mouseDownListener = null;\n this.mouseUpListener = null;\n });\n }\n }\n\n drag(event: DragEvent) {\n this.onDrag.emit(event);\n }\n\n @HostListener('dragstart', ['$event'])\n dragStart(event: DragEvent) {\n if (this.allowDrag() && !this.pDraggableDisabled) {\n if (this.dragEffect) {\n (event.dataTransfer as DataTransfer).effectAllowed = this.dragEffect;\n }\n (event.dataTransfer as DataTransfer).setData('text', this.scope!);\n\n this.onDragStart.emit(event);\n\n this.bindDragListener();\n } else {\n event.preventDefault();\n }\n }\n\n @HostListener('dragend', ['$event'])\n dragEnd(event: DragEvent) {\n this.onDragEnd.emit(event);\n this.unbindDragListener();\n }\n\n mousedown(event: MouseEvent) {\n this.handle = event.target;\n }\n\n mouseup(event: MouseEvent) {\n this.handle = null;\n }\n\n allowDrag(): boolean {\n if (this.dragHandle && this.handle) return DomHandler.matches(this.handle, this.dragHandle);\n else return true;\n }\n\n ngOnDestroy() {\n this.unbindDragListener();\n this.unbindMouseListeners();\n }\n}\n/**\n * pDroppable directive apply droppable behavior to any element.\n * @group Components\n */\n@Directive({\n selector: '[pDroppable]',\n host: {\n class: 'p-element'\n }\n})\nexport class Droppable implements AfterViewInit, OnDestroy {\n @Input('pDroppable') scope: string | string[] | undefined;\n /**\n * Whether the element is droppable, useful for conditional cases.\n * @group Props\n */\n @Input() pDroppableDisabled: boolean = false;\n /**\n * Defines the cursor style, valid values are none, copy, move, link, copyMove, copyLink, linkMove and all.\n * @group Props\n */\n @Input() dropEffect: 'none' | 'copy' | 'link' | 'move' | undefined;\n /**\n * Callback to invoke when a draggable enters drop area.\n * @group Emits\n */\n @Output() onDragEnter: EventEmitter<DragEvent> = new EventEmitter();\n /**\n * Callback to invoke when a draggable leave drop area.\n * @group Emits\n */\n @Output() onDragLeave: EventEmitter<DragEvent> = new EventEmitter();\n /**\n * Callback to invoke when a draggable is dropped onto drop area.\n * @group Emits\n */\n @Output() onDrop: EventEmitter<DragEvent> = new EventEmitter();\n\n constructor(public el: ElementRef, public zone: NgZone, private renderer: Renderer2) {}\n\n dragOverListener: VoidListener;\n\n ngAfterViewInit() {\n if (!this.pDroppableDisabled) {\n this.bindDragOverListener();\n }\n }\n\n bindDragOverListener() {\n if (!this.dragOverListener) {\n this.zone.runOutsideAngular(() => {\n this.dragOverListener = this.renderer.listen(this.el.nativeElement, 'dragover', this.dragOver.bind(this));\n });\n }\n }\n\n unbindDragOverListener() {\n if (this.dragOverListener) {\n this.zone.runOutsideAngular(() => {\n this.dragOverListener && this.dragOverListener();\n this.dragOverListener = null;\n });\n }\n }\n\n dragOver(event: DragEvent) {\n event.preventDefault();\n }\n\n @HostListener('drop', ['$event'])\n drop(event: DragEvent) {\n if (this.allowDrop(event)) {\n DomHandler.removeClass(this.el.nativeElement, 'p-draggable-enter');\n event.preventDefault();\n this.onDrop.emit(event);\n }\n }\n\n @HostListener('dragenter', ['$event'])\n dragEnter(event: DragEvent) {\n event.preventDefault();\n\n if (this.dropEffect) {\n (event.dataTransfer as DataTransfer).dropEffect = this.dropEffect;\n }\n\n DomHandler.addClass(this.el.nativeElement, 'p-draggable-enter');\n this.onDragEnter.emit(event);\n }\n\n @HostListener('dragleave', ['$event'])\n dragLeave(event: DragEvent) {\n event.preventDefault();\n\n DomHandler.removeClass(this.el.nativeElement, 'p-draggable-enter');\n this.onDragLeave.emit(event);\n }\n\n allowDrop(event: DragEvent): boolean {\n let dragScope = (event.dataTransfer as DataTransfer).getData('text');\n if (typeof this.scope == 'string' && dragScope == this.scope) {\n return true;\n } else if (Array.isArray(this.scope)) {\n for (let j = 0; j < this.scope.length; j++) {\n if (dragScope == this.scope[j]) {\n return true;\n }\n }\n }\n return false;\n }\n\n ngOnDestroy() {\n this.unbindDragOverListener();\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Draggable, Droppable],\n declarations: [Draggable, Droppable]\n})\nexport class DragDropModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primeng-dragdrop.mjs","sources":["../../src/app/components/dragdrop/dragdrop.ts","../../src/app/components/dragdrop/primeng-dragdrop.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { AfterViewInit, Directive, ElementRef, EventEmitter, HostListener, Input, NgModule, NgZone, OnDestroy, Output, Renderer2 } from '@angular/core';\nimport { DomHandler } from 'primeng/dom';\nimport { VoidListener } from 'primeng/ts-helpers';\n/**\n * pDraggable directive apply draggable behavior to any element.\n * @group Components\n */\n@Directive({\n selector: '[pDraggable]',\n host: {\n class: 'p-element'\n }\n})\nexport class Draggable implements AfterViewInit, OnDestroy {\n @Input('pDraggable') scope: string | undefined;\n /**\n * Defines the cursor style.\n * @group Props\n */\n @Input() dragEffect: 'none' | 'copy' | 'copyLink' | 'copyMove' | 'link' | 'linkMove' | 'move' | 'all' | 'uninitialized' | undefined;\n /**\n * Selector to define the drag handle, by default anywhere on the target element is a drag handle to start dragging.\n * @group Props\n */\n @Input() dragHandle: string | undefined;\n /**\n * Callback to invoke when drag begins.\n * @param {DragEvent} event - Drag event.\n * @group Emits\n */\n @Output() onDragStart: EventEmitter<DragEvent> = new EventEmitter();\n /**\n * Callback to invoke when drag ends.\n * @param {DragEvent} event - Drag event.\n * @group Emits\n */\n @Output() onDragEnd: EventEmitter<DragEvent> = new EventEmitter();\n /**\n * Callback to invoke on dragging.\n * @param {DragEvent} event - Drag event.\n * @group Emits\n */\n @Output() onDrag: EventEmitter<DragEvent> = new EventEmitter();\n\n handle: any;\n\n dragListener: VoidListener;\n\n mouseDownListener: VoidListener;\n\n mouseUpListener: VoidListener;\n\n _pDraggableDisabled: boolean = false;\n\n constructor(public el: ElementRef, public zone: NgZone, private renderer: Renderer2) {}\n\n @Input() get pDraggableDisabled(): boolean {\n return this._pDraggableDisabled;\n }\n set pDraggableDisabled(_pDraggableDisabled: boolean) {\n this._pDraggableDisabled = _pDraggableDisabled;\n\n if (this._pDraggableDisabled) {\n this.unbindMouseListeners();\n } else {\n this.el.nativeElement.draggable = true;\n this.bindMouseListeners();\n }\n }\n\n ngAfterViewInit() {\n if (!this.pDraggableDisabled) {\n this.el.nativeElement.draggable = true;\n this.bindMouseListeners();\n }\n }\n\n bindDragListener() {\n if (!this.dragListener) {\n this.zone.runOutsideAngular(() => {\n this.dragListener = this.renderer.listen(this.el.nativeElement, 'drag', this.drag.bind(this));\n });\n }\n }\n\n unbindDragListener() {\n if (this.dragListener) {\n this.zone.runOutsideAngular(() => {\n this.dragListener && this.dragListener();\n this.dragListener = null;\n });\n }\n }\n\n bindMouseListeners() {\n if (!this.mouseDownListener && !this.mouseUpListener) {\n this.zone.runOutsideAngular(() => {\n this.mouseDownListener = this.renderer.listen(this.el.nativeElement, 'mousedown', this.mousedown.bind(this));\n this.mouseUpListener = this.renderer.listen(this.el.nativeElement, 'mouseup', this.mouseup.bind(this));\n });\n }\n }\n\n unbindMouseListeners() {\n if (this.mouseDownListener && this.mouseUpListener) {\n this.zone.runOutsideAngular(() => {\n this.mouseDownListener && this.mouseDownListener();\n this.mouseUpListener && this.mouseUpListener();\n this.mouseDownListener = null;\n this.mouseUpListener = null;\n });\n }\n }\n\n drag(event: DragEvent) {\n this.onDrag.emit(event);\n }\n\n @HostListener('dragstart', ['$event'])\n dragStart(event: DragEvent) {\n if (this.allowDrag() && !this.pDraggableDisabled) {\n if (this.dragEffect) {\n (event.dataTransfer as DataTransfer).effectAllowed = this.dragEffect;\n }\n (event.dataTransfer as DataTransfer).setData('text', this.scope!);\n\n this.onDragStart.emit(event);\n\n this.bindDragListener();\n } else {\n event.preventDefault();\n }\n }\n\n @HostListener('dragend', ['$event'])\n dragEnd(event: DragEvent) {\n this.onDragEnd.emit(event);\n this.unbindDragListener();\n }\n\n mousedown(event: MouseEvent) {\n this.handle = event.target;\n }\n\n mouseup(event: MouseEvent) {\n this.handle = null;\n }\n\n allowDrag(): boolean {\n if (this.dragHandle && this.handle) return DomHandler.matches(this.handle, this.dragHandle);\n else return true;\n }\n\n ngOnDestroy() {\n this.unbindDragListener();\n this.unbindMouseListeners();\n }\n}\n/**\n * pDroppable directive apply droppable behavior to any element.\n * @group Components\n */\n@Directive({\n selector: '[pDroppable]',\n host: {\n class: 'p-element'\n }\n})\nexport class Droppable implements AfterViewInit, OnDestroy {\n @Input('pDroppable') scope: string | string[] | undefined;\n /**\n * Whether the element is droppable, useful for conditional cases.\n * @group Props\n */\n @Input() pDroppableDisabled: boolean = false;\n /**\n * Defines the cursor style, valid values are none, copy, move, link, copyMove, copyLink, linkMove and all.\n * @group Props\n */\n @Input() dropEffect: 'none' | 'copy' | 'link' | 'move' | undefined;\n /**\n * Callback to invoke when a draggable enters drop area.\n * @group Emits\n */\n @Output() onDragEnter: EventEmitter<DragEvent> = new EventEmitter();\n /**\n * Callback to invoke when a draggable leave drop area.\n * @group Emits\n */\n @Output() onDragLeave: EventEmitter<DragEvent> = new EventEmitter();\n /**\n * Callback to invoke when a draggable is dropped onto drop area.\n * @group Emits\n */\n @Output() onDrop: EventEmitter<DragEvent> = new EventEmitter();\n\n constructor(public el: ElementRef, public zone: NgZone, private renderer: Renderer2) {}\n\n dragOverListener: VoidListener;\n\n ngAfterViewInit() {\n if (!this.pDroppableDisabled) {\n this.bindDragOverListener();\n }\n }\n\n bindDragOverListener() {\n if (!this.dragOverListener) {\n this.zone.runOutsideAngular(() => {\n this.dragOverListener = this.renderer.listen(this.el.nativeElement, 'dragover', this.dragOver.bind(this));\n });\n }\n }\n\n unbindDragOverListener() {\n if (this.dragOverListener) {\n this.zone.runOutsideAngular(() => {\n this.dragOverListener && this.dragOverListener();\n this.dragOverListener = null;\n });\n }\n }\n\n dragOver(event: DragEvent) {\n event.preventDefault();\n }\n\n @HostListener('drop', ['$event'])\n drop(event: DragEvent) {\n if (this.allowDrop(event)) {\n DomHandler.removeClass(this.el.nativeElement, 'p-draggable-enter');\n event.preventDefault();\n this.onDrop.emit(event);\n }\n }\n\n @HostListener('dragenter', ['$event'])\n dragEnter(event: DragEvent) {\n event.preventDefault();\n\n if (this.dropEffect) {\n (event.dataTransfer as DataTransfer).dropEffect = this.dropEffect;\n }\n\n DomHandler.addClass(this.el.nativeElement, 'p-draggable-enter');\n this.onDragEnter.emit(event);\n }\n\n @HostListener('dragleave', ['$event'])\n dragLeave(event: DragEvent) {\n event.preventDefault();\n\n if (!this.el.nativeElement.contains(event.relatedTarget)) {\n DomHandler.removeClass(this.el.nativeElement, 'p-draggable-enter');\n this.onDragLeave.emit(event);\n }\n }\n\n allowDrop(event: DragEvent): boolean {\n let dragScope = (event.dataTransfer as DataTransfer).getData('text');\n if (typeof this.scope == 'string' && dragScope == this.scope) {\n return true;\n } else if (Array.isArray(this.scope)) {\n for (let j = 0; j < this.scope.length; j++) {\n if (dragScope == this.scope[j]) {\n return true;\n }\n }\n }\n return false;\n }\n\n ngOnDestroy() {\n this.unbindDragOverListener();\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Draggable, Droppable],\n declarations: [Draggable, Droppable]\n})\nexport class DragDropModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -601,6 +601,7 @@ class Dropdown {
601
601
  focusedOptionIndex = signal(-1);
602
602
  labelId;
603
603
  listId;
604
+ clicked = signal(false);
604
605
  get emptyMessageLabel() {
605
606
  return this.emptyMessage || this.config.getTranslation(TranslationKeys.EMPTY_MESSAGE);
606
607
  }
@@ -663,8 +664,12 @@ class Dropdown {
663
664
  return options;
664
665
  });
665
666
  label = computed(() => {
666
- const selectedOptionIndex = this.findSelectedOptionIndex();
667
- return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions()[selectedOptionIndex]) : this.placeholder || 'p-emptylabel';
667
+ // because of timining issues with virtual scroll lazy load PrimeNG demo, keep original logic for virtual scroll
668
+ if (this.virtualScroll) {
669
+ const selectedOptionIndex = this.findSelectedOptionIndex();
670
+ return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions()[selectedOptionIndex]) : this.placeholder || 'p-emptylabel';
671
+ }
672
+ return this.modelValue() ? this.getOptionLabel(this.selectedOption) : this.placeholder || 'p-emptylabel';
668
673
  });
669
674
  selectedOption;
670
675
  editableInputValue = computed(() => this.getOptionLabel(this.selectedOption) || this.modelValue() || '');
@@ -679,8 +684,11 @@ class Dropdown {
679
684
  const modelValue = this.modelValue();
680
685
  const visibleOptions = this.visibleOptions();
681
686
  if (visibleOptions && ObjectUtils.isNotEmpty(visibleOptions)) {
682
- this.selectedOption = visibleOptions[this.findSelectedOptionIndex()];
683
- this.cd.markForCheck();
687
+ const selectedOptionIndex = this.findSelectedOptionIndex();
688
+ if (selectedOptionIndex !== -1 || !modelValue || this.editable) {
689
+ this.selectedOption = visibleOptions[selectedOptionIndex];
690
+ this.cd.markForCheck();
691
+ }
684
692
  }
685
693
  if (modelValue !== undefined && this.editable) {
686
694
  this.updateEditableLabel();
@@ -889,6 +897,7 @@ class Dropdown {
889
897
  this.overlayVisible ? this.hide(true) : this.show(true);
890
898
  }
891
899
  this.onClick.emit(event);
900
+ this.clicked.set(true);
892
901
  this.cd.detectChanges();
893
902
  }
894
903
  isEmpty() {
@@ -901,7 +910,9 @@ class Dropdown {
901
910
  !matched && this.focusedOptionIndex.set(-1);
902
911
  this.onModelChange(value);
903
912
  this.updateModel(value, event);
904
- this.onChange.emit({ originalEvent: event, value: value });
913
+ setTimeout(() => {
914
+ this.onChange.emit({ originalEvent: event, value: value });
915
+ }, 1);
905
916
  !this.overlayVisible && ObjectUtils.isNotEmpty(value) && this.show();
906
917
  }
907
918
  /**
@@ -910,7 +921,7 @@ class Dropdown {
910
921
  */
911
922
  show(isFocus) {
912
923
  this.overlayVisible = true;
913
- const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;
924
+ const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.editable ? -1 : this.findSelectedOptionIndex();
914
925
  this.focusedOptionIndex.set(focusedOptionIndex);
915
926
  if (isFocus) {
916
927
  DomHandler.focus(this.focusInputViewChild?.nativeElement);
@@ -956,6 +967,8 @@ class Dropdown {
956
967
  hide(isFocus) {
957
968
  this.overlayVisible = false;
958
969
  this.focusedOptionIndex.set(-1);
970
+ this.clicked.set(false);
971
+ this.searchValue = '';
959
972
  if (this.filter && this.resetFilterOnHide) {
960
973
  this.resetFilter();
961
974
  }
@@ -1050,6 +1063,7 @@ class Dropdown {
1050
1063
  }
1051
1064
  break;
1052
1065
  }
1066
+ this.clicked.set(false);
1053
1067
  }
1054
1068
  onFilterKeyDown(event) {
1055
1069
  switch (event.code) {
@@ -1086,9 +1100,17 @@ class Dropdown {
1086
1100
  this.focusedOptionIndex.set(-1);
1087
1101
  }
1088
1102
  onArrowDownKey(event) {
1089
- const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();
1090
- this.changeFocusedOptionIndex(event, optionIndex);
1091
- !this.overlayVisible && this.show();
1103
+ if (!this.overlayVisible) {
1104
+ this.show();
1105
+ this.editable && this.changeFocusedOptionIndex(event, this.findSelectedOptionIndex());
1106
+ }
1107
+ else {
1108
+ const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();
1109
+ this.changeFocusedOptionIndex(event, optionIndex);
1110
+ }
1111
+ // const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();
1112
+ // this.changeFocusedOptionIndex(event, optionIndex);
1113
+ // !this.overlayVisible && this.show();
1092
1114
  event.preventDefault();
1093
1115
  }
1094
1116
  changeFocusedOptionIndex(event, index) {
@@ -1175,7 +1197,7 @@ class Dropdown {
1175
1197
  event.preventDefault();
1176
1198
  }
1177
1199
  else {
1178
- const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.findLastFocusedOptionIndex();
1200
+ const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();
1179
1201
  this.changeFocusedOptionIndex(event, optionIndex);
1180
1202
  !this.overlayVisible && this.show();
1181
1203
  event.preventDefault();
@@ -1238,6 +1260,7 @@ class Dropdown {
1238
1260
  }
1239
1261
  onEnterKey(event) {
1240
1262
  if (!this.overlayVisible) {
1263
+ this.focusedOptionIndex.set(-1);
1241
1264
  this.onArrowDownKey(event);
1242
1265
  }
1243
1266
  else {
@@ -1386,9 +1409,9 @@ class Dropdown {
1386
1409
  [attr.required]="required"
1387
1410
  >
1388
1411
  <ng-container *ngIf="!selectedItemTemplate; else defaultPlaceholder">{{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}</ng-container>
1389
- <ng-container *ngTemplateOutlet="selectedItemTemplate; context: { $implicit: selectedOption }"></ng-container>
1412
+ <ng-container *ngIf="selectedItemTemplate && selectedOption" [ngTemplateOutlet]="selectedItemTemplate" [ngTemplateOutletContext]="{ $implicit: selectedOption }"></ng-container>
1390
1413
  <ng-template #defaultPlaceholder>
1391
- <span *ngIf="(modelValue() === undefined || modelValue === null) && (label() === placeholder || (label() && !placeholder))">{{ label() === 'p-emptylabel' ? '&nbsp;' : placeholder }}</span>
1414
+ <span *ngIf="(modelValue() === undefined || modelValue() === null) && (label() === placeholder || (label() && !placeholder))">{{ label() === 'p-emptylabel' ? '&nbsp;' : placeholder }}</span>
1392
1415
  </ng-template>
1393
1416
  </span>
1394
1417
  <input
@@ -1591,9 +1614,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
1591
1614
  [attr.required]="required"
1592
1615
  >
1593
1616
  <ng-container *ngIf="!selectedItemTemplate; else defaultPlaceholder">{{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}</ng-container>
1594
- <ng-container *ngTemplateOutlet="selectedItemTemplate; context: { $implicit: selectedOption }"></ng-container>
1617
+ <ng-container *ngIf="selectedItemTemplate && selectedOption" [ngTemplateOutlet]="selectedItemTemplate" [ngTemplateOutletContext]="{ $implicit: selectedOption }"></ng-container>
1595
1618
  <ng-template #defaultPlaceholder>
1596
- <span *ngIf="(modelValue() === undefined || modelValue === null) && (label() === placeholder || (label() && !placeholder))">{{ label() === 'p-emptylabel' ? '&nbsp;' : placeholder }}</span>
1619
+ <span *ngIf="(modelValue() === undefined || modelValue() === null) && (label() === placeholder || (label() && !placeholder))">{{ label() === 'p-emptylabel' ? '&nbsp;' : placeholder }}</span>
1597
1620
  </ng-template>
1598
1621
  </span>
1599
1622
  <input