primeng 17.3.1 → 17.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/accordion/accordion.d.ts +2 -0
  2. package/api/translationkeys.d.ts +2 -0
  3. package/autocomplete/autocomplete.d.ts +4 -4
  4. package/button/button.d.ts +1 -1
  5. package/chart/chart.d.ts +3 -2
  6. package/checkbox/checkbox.d.ts +6 -3
  7. package/chips/chips.d.ts +6 -1
  8. package/dropdown/dropdown.d.ts +2 -1
  9. package/esm2022/accordion/accordion.mjs +19 -7
  10. package/esm2022/api/translationkeys.mjs +3 -1
  11. package/esm2022/autocomplete/autocomplete.mjs +5 -5
  12. package/esm2022/button/button.mjs +8 -8
  13. package/esm2022/calendar/calendar.mjs +6 -3
  14. package/esm2022/carousel/carousel.mjs +5 -5
  15. package/esm2022/chart/chart.mjs +13 -9
  16. package/esm2022/checkbox/checkbox.mjs +43 -26
  17. package/esm2022/chips/chips.mjs +14 -5
  18. package/esm2022/dropdown/dropdown.mjs +31 -18
  19. package/esm2022/galleria/galleria.mjs +2 -3
  20. package/esm2022/inputnumber/inputnumber.mjs +2 -2
  21. package/esm2022/multiselect/multiselect.mjs +7 -5
  22. package/esm2022/paginator/paginator.interface.mjs +1 -1
  23. package/esm2022/paginator/paginator.mjs +17 -1
  24. package/esm2022/panel/panel.mjs +2 -4
  25. package/esm2022/scroller/scroller.mjs +11 -11
  26. package/esm2022/splitbutton/splitbutton.mjs +3 -3
  27. package/esm2022/table/table.interface.mjs +1 -1
  28. package/esm2022/table/table.mjs +45 -18
  29. package/esm2022/treeselect/treeselect.mjs +9 -1
  30. package/esm2022/treetable/treetable.mjs +3 -3
  31. package/esm2022/utils/objectutils.mjs +43 -1
  32. package/fesm2022/primeng-accordion.mjs +18 -6
  33. package/fesm2022/primeng-accordion.mjs.map +1 -1
  34. package/fesm2022/primeng-api.mjs +2 -0
  35. package/fesm2022/primeng-api.mjs.map +1 -1
  36. package/fesm2022/primeng-autocomplete.mjs +4 -4
  37. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  38. package/fesm2022/primeng-button.mjs +7 -7
  39. package/fesm2022/primeng-button.mjs.map +1 -1
  40. package/fesm2022/primeng-calendar.mjs +5 -2
  41. package/fesm2022/primeng-calendar.mjs.map +1 -1
  42. package/fesm2022/primeng-carousel.mjs +4 -4
  43. package/fesm2022/primeng-carousel.mjs.map +1 -1
  44. package/fesm2022/primeng-chart.mjs +12 -8
  45. package/fesm2022/primeng-chart.mjs.map +1 -1
  46. package/fesm2022/primeng-checkbox.mjs +42 -25
  47. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  48. package/fesm2022/primeng-chips.mjs +13 -4
  49. package/fesm2022/primeng-chips.mjs.map +1 -1
  50. package/fesm2022/primeng-dropdown.mjs +30 -17
  51. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  52. package/fesm2022/primeng-galleria.mjs +1 -2
  53. package/fesm2022/primeng-galleria.mjs.map +1 -1
  54. package/fesm2022/primeng-inputnumber.mjs +1 -1
  55. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  56. package/fesm2022/primeng-multiselect.mjs +6 -4
  57. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  58. package/fesm2022/primeng-paginator.mjs +16 -0
  59. package/fesm2022/primeng-paginator.mjs.map +1 -1
  60. package/fesm2022/primeng-panel.mjs +1 -3
  61. package/fesm2022/primeng-panel.mjs.map +1 -1
  62. package/fesm2022/primeng-scroller.mjs +10 -10
  63. package/fesm2022/primeng-scroller.mjs.map +1 -1
  64. package/fesm2022/primeng-splitbutton.mjs +2 -2
  65. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  66. package/fesm2022/primeng-table.mjs +44 -17
  67. package/fesm2022/primeng-table.mjs.map +1 -1
  68. package/fesm2022/primeng-treeselect.mjs +8 -0
  69. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  70. package/fesm2022/primeng-treetable.mjs +2 -2
  71. package/fesm2022/primeng-treetable.mjs.map +1 -1
  72. package/fesm2022/primeng-utils.mjs +42 -0
  73. package/fesm2022/primeng-utils.mjs.map +1 -1
  74. package/package.json +175 -175
  75. package/paginator/paginator.d.ts +1 -0
  76. package/paginator/paginator.interface.d.ts +4 -0
  77. package/panel/panel.d.ts +1 -1
  78. package/resources/components/calendar/calendar.css +4 -0
  79. package/resources/components/treetable/treetable.css +1 -0
  80. package/resources/themes/arya-blue/theme.css +228 -420
  81. package/resources/themes/arya-green/theme.css +228 -420
  82. package/resources/themes/arya-orange/theme.css +228 -420
  83. package/resources/themes/arya-purple/theme.css +228 -420
  84. package/resources/themes/bootstrap4-dark-blue/theme.css +228 -421
  85. package/resources/themes/bootstrap4-dark-purple/theme.css +228 -421
  86. package/resources/themes/bootstrap4-light-blue/theme.css +228 -421
  87. package/resources/themes/bootstrap4-light-purple/theme.css +228 -421
  88. package/resources/themes/fluent-light/theme.css +239 -447
  89. package/resources/themes/lara-dark-blue/theme.css +230 -436
  90. package/resources/themes/lara-dark-indigo/theme.css +230 -436
  91. package/resources/themes/lara-dark-purple/theme.css +230 -436
  92. package/resources/themes/lara-dark-teal/theme.css +230 -436
  93. package/resources/themes/lara-light-blue/theme.css +238 -441
  94. package/resources/themes/lara-light-indigo/theme.css +238 -441
  95. package/resources/themes/lara-light-purple/theme.css +238 -441
  96. package/resources/themes/lara-light-teal/theme.css +238 -441
  97. package/resources/themes/luna-amber/theme.css +241 -434
  98. package/resources/themes/luna-blue/theme.css +241 -434
  99. package/resources/themes/luna-green/theme.css +241 -434
  100. package/resources/themes/luna-pink/theme.css +241 -434
  101. package/resources/themes/md-dark-deeppurple/theme.css +393 -681
  102. package/resources/themes/md-dark-indigo/theme.css +393 -681
  103. package/resources/themes/md-light-deeppurple/theme.css +254 -542
  104. package/resources/themes/md-light-indigo/theme.css +254 -542
  105. package/resources/themes/mdc-dark-deeppurple/theme.css +393 -681
  106. package/resources/themes/mdc-dark-indigo/theme.css +393 -681
  107. package/resources/themes/mdc-light-deeppurple/theme.css +254 -542
  108. package/resources/themes/mdc-light-indigo/theme.css +254 -542
  109. package/resources/themes/mira/theme.css +235 -458
  110. package/resources/themes/nano/theme.css +228 -418
  111. package/resources/themes/nova/theme.css +228 -422
  112. package/resources/themes/nova-accent/theme.css +228 -419
  113. package/resources/themes/nova-alt/theme.css +228 -422
  114. package/resources/themes/rhea/theme.css +228 -419
  115. package/resources/themes/saga-blue/theme.css +228 -420
  116. package/resources/themes/saga-green/theme.css +228 -420
  117. package/resources/themes/saga-orange/theme.css +228 -420
  118. package/resources/themes/saga-purple/theme.css +228 -420
  119. package/resources/themes/soho-dark/theme.css +259 -454
  120. package/resources/themes/soho-light/theme.css +233 -430
  121. package/resources/themes/tailwind-light/theme.css +258 -463
  122. package/resources/themes/vela-blue/theme.css +228 -420
  123. package/resources/themes/vela-green/theme.css +228 -420
  124. package/resources/themes/vela-orange/theme.css +228 -420
  125. package/resources/themes/vela-purple/theme.css +228 -420
  126. package/resources/themes/viva-dark/theme.css +233 -444
  127. package/resources/themes/viva-light/theme.css +233 -444
  128. package/scroller/scroller.d.ts +2 -2
  129. package/table/table.d.ts +5 -4
  130. package/table/table.interface.d.ts +4 -0
  131. package/treeselect/treeselect.d.ts +1 -0
  132. package/utils/objectutils.d.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-checkbox.mjs","sources":["../../src/app/components/checkbox/checkbox.ts","../../src/app/components/checkbox/primeng-checkbox.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, Input, NgModule, Output, QueryList, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { CheckIcon } from 'primeng/icons/check';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { ObjectUtils } from 'primeng/utils';\nimport { CheckboxChangeEvent } from './checkbox.interface';\n\nexport const CHECKBOX_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Checkbox),\n multi: true\n};\n/**\n * Checkbox is an extension to standard checkbox element with theming.\n * @group Components\n */\n@Component({\n selector: 'p-checkbox',\n template: `\n <div\n [ngStyle]=\"style\"\n [ngClass]=\"{ 'p-checkbox p-component': true, 'p-checkbox-checked': checked(), 'p-checkbox-disabled': disabled, 'p-checkbox-focused': focused }\"\n [class]=\"styleClass\"\n [attr.data-pc-name]=\"'checkbox'\"\n [attr.data-pc-section]=\"'root'\"\n (click)=\"onClick($event)\"\n >\n <div class=\"p-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\" [attr.data-p-hidden-accessible]=\"true\">\n <input\n #input\n [attr.id]=\"inputId\"\n type=\"checkbox\"\n [value]=\"value\"\n [attr.name]=\"name\"\n [checked]=\"checked()\"\n [attr.tabindex]=\"tabindex\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.required]=\"required\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-checked]=\"checked()\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [attr.data-pc-section]=\"'hiddenInput'\"\n />\n </div>\n <div\n class=\"p-checkbox-box\"\n [ngClass]=\"{ 'p-highlight': checked(), 'p-disabled': disabled, 'p-focus': focused }\"\n [attr.data-p-highlight]=\"checked()\"\n [attr.data-p-disabled]=\"disabled\"\n [attr.data-p-focused]=\"focused\"\n [attr.data-pc-section]=\"'input'\"\n >\n <ng-container *ngIf=\"checked()\">\n <ng-container *ngIf=\"!checkboxIconTemplate\">\n <span *ngIf=\"checkboxIcon\" class=\"p-checkbox-icon\" [ngClass]=\"checkboxIcon\" [attr.data-pc-section]=\"'icon'\"></span>\n <CheckIcon *ngIf=\"!checkboxIcon\" [styleClass]=\"'p-checkbox-icon'\" [attr.data-pc-section]=\"'icon'\" />\n </ng-container>\n <span *ngIf=\"checkboxIconTemplate\" class=\"p-checkbox-icon\" [attr.data-pc-section]=\"'icon'\">\n <ng-template *ngTemplateOutlet=\"checkboxIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </div>\n </div>\n <label\n (click)=\"onClick($event)\"\n [class]=\"labelStyleClass\"\n [ngClass]=\"{ 'p-checkbox-label': true, 'p-checkbox-label-active': checked(), 'p-disabled': disabled, 'p-checkbox-label-focus': focused }\"\n *ngIf=\"label\"\n [attr.for]=\"inputId\"\n [attr.data-pc-section]=\"'label'\"\n >\n {{ label }}</label\n >\n `,\n providers: [CHECKBOX_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./checkbox.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class Checkbox implements ControlValueAccessor {\n /**\n * Value of the checkbox.\n * @group Props\n */\n @Input() value: any;\n /**\n * Name of the checkbox group.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input() disabled: boolean | undefined;\n /**\n * Allows to select a boolean value instead of multiple values.\n * @group Props\n */\n @Input() binary: boolean | undefined;\n /**\n * Label of the checkbox.\n * @group Props\n */\n @Input() label: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Used to define a string that labels the input element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input() tabindex: number | undefined;\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Style class of the label.\n * @group Props\n */\n @Input() labelStyleClass: string | undefined;\n /**\n * Form control value.\n * @group Props\n */\n @Input() formControl: FormControl | undefined;\n /**\n * Icon class of the checkbox icon.\n * @group Props\n */\n @Input() checkboxIcon: string | undefined;\n /**\n * When present, it specifies that the component cannot be edited.\n * @group Props\n */\n @Input() readonly: boolean | undefined;\n /**\n * When present, it specifies that checkbox must be checked before submitting the form.\n * @group Props\n */\n @Input() required: boolean | undefined;\n /**\n * Value in checked state.\n * @group Props\n */\n @Input() trueValue: any = true;\n /**\n * Value in unchecked state.\n * @group Props\n */\n @Input() falseValue: any = false;\n /**\n * Callback to invoke on value change.\n * @param {CheckboxChangeEvent} event - Custom value change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<CheckboxChangeEvent> = new EventEmitter();\n /**\n * Callback to invoke when the receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when the loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n\n @ViewChild('input') inputViewChild: Nullable<ElementRef>;\n\n @ContentChildren(PrimeTemplate) templates: Nullable<QueryList<PrimeTemplate>>;\n\n checkboxIconTemplate!: TemplateRef<any>;\n\n model: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n focused: boolean = false;\n\n constructor(public cd: ChangeDetectorRef) {}\n\n ngAfterContentInit() {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'icon':\n this.checkboxIconTemplate = item.template;\n break;\n }\n });\n }\n\n onClick(event: Event) {\n if (!this.disabled && !this.readonly) {\n this.inputViewChild.nativeElement.focus();\n let newModelValue;\n\n if (!this.binary) {\n if (this.checked()) newModelValue = this.model.filter((val: object) => !ObjectUtils.equals(val, this.value));\n else newModelValue = this.model ? [...this.model, this.value] : [this.value];\n\n this.onModelChange(newModelValue);\n this.model = newModelValue;\n\n if (this.formControl) {\n this.formControl.setValue(newModelValue);\n }\n } else {\n newModelValue = this.checked() ? this.falseValue : this.trueValue;\n this.model = newModelValue;\n this.onModelChange(newModelValue);\n }\n\n this.onChange.emit({ checked: newModelValue, originalEvent: event });\n }\n }\n\n onInputFocus(event: Event) {\n this.focused = true;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event: Event) {\n this.focused = false;\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n writeValue(model: any): void {\n this.model = model;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n checked() {\n return this.binary ? this.model === this.trueValue : ObjectUtils.contains(this.value, this.model);\n }\n}\n\n@NgModule({\n imports: [CommonModule, CheckIcon],\n exports: [Checkbox, SharedModule],\n declarations: [Checkbox]\n})\nexport class CheckboxModule {}\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-checkbox.mjs","sources":["../../src/app/components/checkbox/checkbox.ts","../../src/app/components/checkbox/primeng-checkbox.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, Input, NgModule, Output, QueryList, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { CheckIcon } from 'primeng/icons/check';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { ObjectUtils } from 'primeng/utils';\nimport { CheckboxChangeEvent } from './checkbox.interface';\n\nexport const CHECKBOX_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Checkbox),\n multi: true\n};\n/**\n * Checkbox is an extension to standard checkbox element with theming.\n * @group Components\n */\n@Component({\n selector: 'p-checkbox',\n template: `\n <div\n [ngStyle]=\"style\"\n [ngClass]=\"{ 'p-checkbox p-component': true, 'p-checkbox-checked': checked(), 'p-checkbox-disabled': disabled, 'p-checkbox-focused': focused }\"\n [class]=\"styleClass\"\n [attr.data-pc-name]=\"'checkbox'\"\n [attr.data-pc-section]=\"'root'\"\n >\n <div class=\"p-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\" [attr.data-p-hidden-accessible]=\"true\">\n <input\n #input\n [attr.id]=\"inputId\"\n type=\"checkbox\"\n [value]=\"value\"\n [attr.name]=\"name\"\n [checked]=\"checked()\"\n [attr.tabindex]=\"tabindex\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.required]=\"required\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-checked]=\"checked()\"\n (change)=\"handleChange($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [attr.data-pc-section]=\"'hiddenInput'\"\n />\n </div>\n <div\n class=\"p-checkbox-box\"\n [ngClass]=\"{ 'p-highlight': checked(), 'p-disabled': disabled, 'p-focus': focused }\"\n (click)=\"onClick($event, input, true)\"\n [attr.data-p-highlight]=\"checked()\"\n [attr.data-p-disabled]=\"disabled\"\n [attr.data-p-focused]=\"focused\"\n [attr.data-pc-section]=\"'input'\"\n >\n <ng-container *ngIf=\"checked()\">\n <ng-container *ngIf=\"!checkboxIconTemplate\">\n <span *ngIf=\"checkboxIcon\" class=\"p-checkbox-icon\" [ngClass]=\"checkboxIcon\" [attr.data-pc-section]=\"'icon'\"></span>\n <CheckIcon *ngIf=\"!checkboxIcon\" [styleClass]=\"'p-checkbox-icon'\" [attr.data-pc-section]=\"'icon'\" />\n </ng-container>\n <span *ngIf=\"checkboxIconTemplate\" class=\"p-checkbox-icon\" [attr.data-pc-section]=\"'icon'\">\n <ng-template *ngTemplateOutlet=\"checkboxIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </div>\n </div>\n <label\n (click)=\"onClick($event, input, true)\"\n [class]=\"labelStyleClass\"\n [ngClass]=\"{ 'p-checkbox-label': true, 'p-checkbox-label-active': checked(), 'p-disabled': disabled, 'p-checkbox-label-focus': focused }\"\n *ngIf=\"label\"\n [attr.for]=\"inputId\"\n [attr.data-pc-section]=\"'label'\"\n >\n {{ label }}</label\n >\n `,\n providers: [CHECKBOX_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./checkbox.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class Checkbox implements ControlValueAccessor {\n /**\n * Value of the checkbox.\n * @group Props\n */\n @Input() value: any;\n /**\n * Name of the checkbox group.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input() disabled: boolean | undefined;\n /**\n * Allows to select a boolean value instead of multiple values.\n * @group Props\n */\n @Input() binary: boolean | undefined;\n /**\n * Label of the checkbox.\n * @group Props\n */\n @Input() label: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Used to define a string that labels the input element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input() tabindex: number | undefined;\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Style class of the label.\n * @group Props\n */\n @Input() labelStyleClass: string | undefined;\n /**\n * Form control value.\n * @group Props\n */\n @Input() formControl: FormControl | undefined;\n /**\n * Icon class of the checkbox icon.\n * @group Props\n */\n @Input() checkboxIcon: string | undefined;\n /**\n * When present, it specifies that the component cannot be edited.\n * @group Props\n */\n @Input() readonly: boolean | undefined;\n /**\n * When present, it specifies that checkbox must be checked before submitting the form.\n * @group Props\n */\n @Input() required: boolean | undefined;\n /**\n * Value in checked state.\n * @group Props\n */\n @Input() trueValue: any = true;\n /**\n * Value in unchecked state.\n * @group Props\n */\n @Input() falseValue: any = false;\n /**\n * Callback to invoke on value change.\n * @param {CheckboxChangeEvent} event - Custom value change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<CheckboxChangeEvent> = new EventEmitter();\n /**\n * Callback to invoke when the receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when the loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n\n @ViewChild('input') inputViewChild: Nullable<ElementRef>;\n\n @ContentChildren(PrimeTemplate) templates: Nullable<QueryList<PrimeTemplate>>;\n\n checkboxIconTemplate: TemplateRef<any>;\n\n model: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n focused: boolean = false;\n\n constructor(public cd: ChangeDetectorRef) {}\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'icon':\n this.checkboxIconTemplate = item.template;\n break;\n }\n });\n }\n\n onClick(event, checkbox, focus: boolean) {\n event.preventDefault();\n\n if (this.disabled || this.readonly) {\n return;\n }\n\n this.updateModel(event);\n\n if (focus) {\n checkbox.focus();\n }\n }\n\n updateModel(event) {\n let newModelValue;\n\n if (!this.binary) {\n if (this.checked()) newModelValue = this.model.filter((val) => !ObjectUtils.equals(val, this.value));\n else newModelValue = this.model ? [...this.model, this.value] : [this.value];\n\n this.onModelChange(newModelValue);\n this.model = newModelValue;\n\n if (this.formControl) {\n this.formControl.setValue(newModelValue);\n }\n } else {\n newModelValue = this.checked() ? this.falseValue : this.trueValue;\n this.model = newModelValue;\n this.onModelChange(newModelValue);\n }\n\n this.onChange.emit({ checked: newModelValue, originalEvent: event });\n }\n\n handleChange(event) {\n if (!this.readonly) {\n this.updateModel(event);\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 this.onModelTouched();\n }\n\n focus() {\n this.inputViewChild.nativeElement.focus();\n }\n\n writeValue(model: any): void {\n this.model = model;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n checked() {\n return this.binary ? this.model === this.trueValue : ObjectUtils.contains(this.value, this.model);\n }\n}\n\n@NgModule({\n imports: [CommonModule, CheckIcon],\n exports: [Checkbox, SharedModule],\n declarations: [Checkbox]\n})\nexport class CheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;AASa,MAAA,uBAAuB,GAAQ;AACxC,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,QAAQ,CAAC;AACvC,IAAA,KAAK,EAAE,IAAI;EACb;AACF;;;AAGG;MAuEU,QAAQ,CAAA;AA4HE,IAAA,EAAA,CAAA;AA3HnB;;;AAGG;AACM,IAAA,KAAK,CAAM;AACpB;;;AAGG;AACM,IAAA,IAAI,CAAqB;AAClC;;;AAGG;AACM,IAAA,QAAQ,CAAsB;AACvC;;;AAGG;AACM,IAAA,MAAM,CAAsB;AACrC;;;AAGG;AACM,IAAA,KAAK,CAAqB;AACnC;;;AAGG;AACM,IAAA,cAAc,CAAqB;AAC5C;;;AAGG;AACM,IAAA,SAAS,CAAqB;AACvC;;;AAGG;AACM,IAAA,QAAQ,CAAqB;AACtC;;;AAGG;AACM,IAAA,OAAO,CAAqB;AACrC;;;AAGG;AACM,IAAA,KAAK,CAA8C;AAC5D;;;AAGG;AACM,IAAA,UAAU,CAAqB;AACxC;;;AAGG;AACM,IAAA,eAAe,CAAqB;AAC7C;;;AAGG;AACM,IAAA,WAAW,CAA0B;AAC9C;;;AAGG;AACM,IAAA,YAAY,CAAqB;AAC1C;;;AAGG;AACM,IAAA,QAAQ,CAAsB;AACvC;;;AAGG;AACM,IAAA,QAAQ,CAAsB;AACvC;;;AAGG;IACM,SAAS,GAAQ,IAAI,CAAC;AAC/B;;;AAGG;IACM,UAAU,GAAQ,KAAK,CAAC;AACjC;;;;AAIG;AACO,IAAA,QAAQ,GAAsC,IAAI,YAAY,EAAE,CAAC;AAC3E;;;;AAIG;AACO,IAAA,OAAO,GAAwB,IAAI,YAAY,EAAS,CAAC;AACnE;;;;AAIG;AACO,IAAA,MAAM,GAAwB,IAAI,YAAY,EAAS,CAAC;AAE9C,IAAA,cAAc,CAAuB;AAEzB,IAAA,SAAS,CAAqC;AAE9E,IAAA,oBAAoB,CAAmB;AAEvC,IAAA,KAAK,CAAM;AAEX,IAAA,aAAa,GAAa,MAAK,GAAG,CAAC;AAEnC,IAAA,cAAc,GAAa,MAAK,GAAG,CAAC;IAEpC,OAAO,GAAY,KAAK,CAAC;AAEzB,IAAA,WAAA,CAAmB,EAAqB,EAAA;QAArB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;KAAI;IAE5C,kBAAkB,GAAA;QACd,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC5B,YAAA,QAAQ,IAAI,CAAC,OAAO,EAAE;AAClB,gBAAA,KAAK,MAAM;AACP,oBAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAC1C,MAAM;AACb,aAAA;AACL,SAAC,CAAC,CAAC;KACN;AAED,IAAA,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAc,EAAA;QACnC,KAAK,CAAC,cAAc,EAAE,CAAC;AAEvB,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;YAChC,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAExB,QAAA,IAAI,KAAK,EAAE;YACP,QAAQ,CAAC,KAAK,EAAE,CAAC;AACpB,SAAA;KACJ;AAED,IAAA,WAAW,CAAC,KAAK,EAAA;AACb,QAAA,IAAI,aAAa,CAAC;AAElB,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,IAAI,IAAI,CAAC,OAAO,EAAE;gBAAE,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;;gBAChG,aAAa,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAE7E,YAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;AAClC,YAAA,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;YAE3B,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,gBAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAC5C,aAAA;AACJ,SAAA;AAAM,aAAA;AACH,YAAA,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;AAClE,YAAA,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;AAC3B,YAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;AACrC,SAAA;AAED,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;KACxE;AAED,IAAA,YAAY,CAAC,KAAK,EAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAChB,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC3B,SAAA;KACJ;AAED,IAAA,YAAY,CAAC,KAAK,EAAA;AACd,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;AAED,IAAA,WAAW,CAAC,KAAK,EAAA;AACb,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;IAED,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KAC7C;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;KAC1B;AAED,IAAA,gBAAgB,CAAC,EAAY,EAAA;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;KAC3B;AAED,IAAA,iBAAiB,CAAC,EAAY,EAAA;AAC1B,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;KAC5B;AAED,IAAA,gBAAgB,CAAC,GAAY,EAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;AACpB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;KAC1B;IAED,OAAO,GAAA;AACH,QAAA,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KACrG;uGArNQ,QAAQ,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,ikBARN,CAAC,uBAAuB,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAwHnB,aAAa,EApLpB,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,sYAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAkOuB,SAAS,CAAA,EAAA,QAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAzNxB,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAtEpB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EACZ,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2DT,EACU,SAAA,EAAA,CAAC,uBAAuB,CAAC,EACnB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAE/B,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,WAAW;AACrB,qBAAA,EAAA,MAAA,EAAA,CAAA,sYAAA,CAAA,EAAA,CAAA;sFAOQ,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAKG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAKG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAKG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAKG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAMI,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAMG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBAMG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAEa,cAAc,EAAA,CAAA;sBAAjC,SAAS;uBAAC,OAAO,CAAA;gBAEc,SAAS,EAAA,CAAA;sBAAxC,eAAe;uBAAC,aAAa,CAAA;;MA6GrB,cAAc,CAAA;uGAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;wGAAd,cAAc,EAAA,YAAA,EAAA,CA7Nd,QAAQ,CAyNP,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,SAAS,CAAA,EAAA,OAAA,EAAA,CAzNxB,QAAQ,EA0NG,YAAY,CAAA,EAAA,CAAA,CAAA;AAGvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAJb,OAAA,EAAA,CAAA,YAAY,EAAE,SAAS,EACb,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAGvB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;AAClC,oBAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;oBACjC,YAAY,EAAE,CAAC,QAAQ,CAAC;AAC3B,iBAAA,CAAA;;;ACpTD;;AAEG;;;;"}
@@ -77,6 +77,11 @@ class Chips {
77
77
  * @group Props
78
78
  */
79
79
  allowDuplicate = true;
80
+ /**
81
+ * Defines whether duplication check should be case-sensitive
82
+ * @group Props
83
+ */
84
+ caseSensitiveDuplication = true;
80
85
  /**
81
86
  * Inline style of the input field.
82
87
  * @group Props
@@ -331,7 +336,8 @@ class Chips {
331
336
  addItem(event, item, preventDefault) {
332
337
  this.value = this.value || [];
333
338
  if (item && item.trim().length) {
334
- if ((this.allowDuplicate || this.value.indexOf(item) === -1) && !this.isMaxedOut) {
339
+ const newItemIsDuplicate = this.caseSensitiveDuplication ? this.value.includes(item) : this.value.some((val) => val.toLowerCase() === item.toLowerCase());
340
+ if ((this.allowDuplicate || !newItemIsDuplicate) && !this.isMaxedOut) {
335
341
  this.value = [...this.value, item];
336
342
  this.onModelChange(this.value);
337
343
  this.onAdd.emit({
@@ -367,6 +373,7 @@ class Chips {
367
373
  }
368
374
  break;
369
375
  case 'Enter':
376
+ case 'NumpadEnter':
370
377
  if (inputValue && inputValue.trim().length && !this.isMaxedOut) {
371
378
  this.addItem(event, inputValue, true);
372
379
  }
@@ -405,7 +412,7 @@ class Chips {
405
412
  }
406
413
  }
407
414
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: Chips, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
408
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.5", type: Chips, selector: "p-chips", inputs: { style: "style", styleClass: "styleClass", disabled: "disabled", field: "field", placeholder: "placeholder", max: "max", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", tabindex: "tabindex", inputId: "inputId", allowDuplicate: "allowDuplicate", inputStyle: "inputStyle", inputStyleClass: "inputStyleClass", addOnTab: "addOnTab", addOnBlur: "addOnBlur", separator: "separator", showClear: "showClear" }, outputs: { onAdd: "onAdd", onRemove: "onRemove", onFocus: "onFocus", onBlur: "onBlur", onChipClick: "onChipClick", onClear: "onClear" }, host: { properties: { "class.p-inputwrapper-filled": "filled", "class.p-inputwrapper-focus": "focused", "class.p-chips-clearable": "showClear" }, classAttribute: "p-element p-inputwrapper" }, providers: [CHIPS_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["inputtext"], descendants: true }, { propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: `
415
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.5", type: Chips, selector: "p-chips", inputs: { style: "style", styleClass: "styleClass", disabled: "disabled", field: "field", placeholder: "placeholder", max: "max", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", tabindex: "tabindex", inputId: "inputId", allowDuplicate: "allowDuplicate", caseSensitiveDuplication: "caseSensitiveDuplication", inputStyle: "inputStyle", inputStyleClass: "inputStyleClass", addOnTab: "addOnTab", addOnBlur: "addOnBlur", separator: "separator", showClear: "showClear" }, outputs: { onAdd: "onAdd", onRemove: "onRemove", onFocus: "onFocus", onBlur: "onBlur", onChipClick: "onChipClick", onClear: "onClear" }, host: { properties: { "class.p-inputwrapper-filled": "filled", "class.p-inputwrapper-focus": "focused", "class.p-chips-clearable": "showClear" }, classAttribute: "p-element p-inputwrapper" }, providers: [CHIPS_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["inputtext"], descendants: true }, { propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: `
409
416
  <div
410
417
  [ngClass]="{
411
418
  'p-chips p-component p-input-wrapper': true,
@@ -442,7 +449,7 @@ class Chips {
442
449
  [attr.ariaLabel]="item"
443
450
  [attr.aria-selected]="true"
444
451
  [attr.aria-setsize]="value.length"
445
- [attr.aria-pointset]="i + 1"
452
+ [attr.aria-posinset]="i + 1"
446
453
  [attr.data-p-focused]="focusedIndex === i"
447
454
  [ngClass]="{ 'p-chips-token': true, 'p-focus': focusedIndex === i }"
448
455
  (click)="onItemClick($event, item)"
@@ -523,7 +530,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
523
530
  [attr.ariaLabel]="item"
524
531
  [attr.aria-selected]="true"
525
532
  [attr.aria-setsize]="value.length"
526
- [attr.aria-pointset]="i + 1"
533
+ [attr.aria-posinset]="i + 1"
527
534
  [attr.data-p-focused]="focusedIndex === i"
528
535
  [ngClass]="{ 'p-chips-token': true, 'p-focus': focusedIndex === i }"
529
536
  (click)="onItemClick($event, item)"
@@ -594,6 +601,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
594
601
  type: Input
595
602
  }], allowDuplicate: [{
596
603
  type: Input
604
+ }], caseSensitiveDuplication: [{
605
+ type: Input
597
606
  }], inputStyle: [{
598
607
  type: Input
599
608
  }], inputStyleClass: [{
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-chips.mjs","sources":["../../src/app/components/chips/chips.ts","../../src/app/components/chips/primeng-chips.ts"],"sourcesContent":["import { CommonModule, DOCUMENT } from '@angular/common';\nimport { AfterContentInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Inject, Input, NgModule, Output, QueryList, TemplateRef, ViewChild, ViewEncapsulation, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { TimesIcon } from 'primeng/icons/times';\nimport { TimesCircleIcon } from 'primeng/icons/timescircle';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { UniqueComponentId } from 'primeng/utils';\nimport { ChipsAddEvent, ChipsClickEvent, ChipsRemoveEvent } from './chips.interface';\n\nexport const CHIPS_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Chips),\n multi: true\n};\n/**\n * Chips groups a collection of contents in tabs.\n * @group Components\n */\n@Component({\n selector: 'p-chips',\n template: `\n <div\n [ngClass]=\"{\n 'p-chips p-component p-input-wrapper': true,\n 'p-disabled': disabled,\n 'p-focus': focused,\n 'p-inputwrapper-filled': (value && value.length) || (this.inputViewChild?.nativeElement.value && this.inputViewChild?.nativeElement.value.length),\n 'p-inputwrapper-focus': focused,\n }\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n [attr.data-pc-name]=\"'chips'\"\n [attr.data-pc-section]=\"'root'\"\n >\n <ul\n #container\n [ngClass]=\"{ 'p-inputtext p-chips-multiple-container': true }\"\n tabindex=\"-1\"\n role=\"listbox\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n [attr.aria-orientation]=\"'horizontal'\"\n (click)=\"onWrapperClick()\"\n (focus)=\"onContainerFocus()\"\n (blur)=\"onContainerBlur()\"\n (keydown)=\"onContainerKeyDown($event)\"\n [attr.data-pc-section]=\"'container'\"\n >\n <li\n #token\n *ngFor=\"let item of value; let i = index\"\n [attr.id]=\"id + '_chips_item_' + i\"\n role=\"option\"\n [attr.ariaLabel]=\"item\"\n [attr.aria-selected]=\"true\"\n [attr.aria-setsize]=\"value.length\"\n [attr.aria-pointset]=\"i + 1\"\n [attr.data-p-focused]=\"focusedIndex === i\"\n [ngClass]=\"{ 'p-chips-token': true, 'p-focus': focusedIndex === i }\"\n (click)=\"onItemClick($event, item)\"\n [attr.data-pc-section]=\"'token'\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <span *ngIf=\"!itemTemplate\" class=\"p-chips-token-label\" [attr.data-pc-section]=\"'label'\">{{ field ? resolveFieldData(item, field) : item }}</span>\n <ng-container *ngIf=\"!disabled\">\n <TimesCircleIcon [styleClass]=\"'p-chips-token-icon'\" *ngIf=\"!removeTokenIconTemplate\" (click)=\"removeItem($event, i)\" [attr.data-pc-section]=\"'removeTokenIcon'\" [attr.aria-hidden]=\"true\" />\n <span *ngIf=\"removeTokenIconTemplate\" class=\"p-chips-token-icon\" (click)=\"removeItem($event, i)\" [attr.data-pc-section]=\"'removeTokenIcon'\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"removeTokenIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </li>\n <li class=\"p-chips-input-token\" [ngClass]=\"{ 'p-chips-clearable': showClear && !disabled }\" [attr.data-pc-section]=\"'inputToken'\" role=\"option\">\n <input\n #inputtext\n type=\"text\"\n [attr.id]=\"inputId\"\n [attr.placeholder]=\"value && value.length ? null : placeholder\"\n [attr.tabindex]=\"tabindex\"\n (keydown)=\"onKeyDown($event)\"\n (input)=\"onInput()\"\n (paste)=\"onPaste($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [disabled]=\"disabled || isMaxedOut\"\n [ngStyle]=\"inputStyle\"\n [class]=\"inputStyleClass\"\n />\n </li>\n <li *ngIf=\"value != null && filled && !disabled && showClear\">\n <TimesIcon *ngIf=\"!clearIconTemplate\" [styleClass]=\"'p-chips-clear-icon'\" (click)=\"clear()\" />\n <span *ngIf=\"clearIconTemplate\" class=\"p-chips-clear-icon\" (click)=\"clear()\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate\"></ng-template>\n </span>\n </li>\n </ul>\n </div>\n `,\n host: {\n class: 'p-element p-inputwrapper',\n '[class.p-inputwrapper-filled]': 'filled',\n '[class.p-inputwrapper-focus]': 'focused',\n '[class.p-chips-clearable]': 'showClear'\n },\n providers: [CHIPS_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./chips.css']\n})\nexport class Chips implements AfterContentInit, ControlValueAccessor {\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input() disabled: boolean | undefined;\n /**\n * Name of the property to display on a chip.\n * @group Props\n */\n @Input() field: string | undefined;\n /**\n * Advisory information to display on input.\n * @group Props\n */\n @Input() placeholder: string | undefined;\n /**\n * Maximum number of entries allowed.\n * @group Props\n */\n @Input() max: number | undefined;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input() tabindex: number | undefined;\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Whether to allow duplicate values or not.\n * @group Props\n */\n @Input() allowDuplicate: boolean = true;\n /**\n * Inline style of the input field.\n * @group Props\n */\n @Input() inputStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the input field.\n * @group Props\n */\n @Input() inputStyleClass: string | undefined;\n /**\n * Whether to add an item on tab key press.\n * @group Props\n */\n @Input() addOnTab: boolean | undefined;\n /**\n * Whether to add an item when the input loses focus.\n * @group Props\n */\n @Input() addOnBlur: boolean | undefined;\n /**\n * Separator char to add an item when pressed in addition to the enter key.\n * @group Props\n */\n @Input() separator: string | RegExp | undefined;\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n @Input() showClear: boolean = false;\n /**\n * Callback to invoke on chip add.\n * @param {ChipsAddEvent} event - Custom chip add event.\n * @group Emits\n */\n @Output() onAdd: EventEmitter<ChipsAddEvent> = new EventEmitter<ChipsAddEvent>();\n /**\n * Callback to invoke on chip remove.\n * @param {ChipsRemoveEvent} event - Custom chip remove event.\n * @group Emits\n */\n @Output() onRemove: EventEmitter<ChipsRemoveEvent> = new EventEmitter<ChipsRemoveEvent>();\n /**\n * Callback to invoke on focus of input field.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on blur of input field.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on chip clicked.\n * @param {ChipsClickEvent} event - Custom chip click event.\n * @group Emits\n */\n @Output() onChipClick: EventEmitter<ChipsClickEvent> = new EventEmitter<ChipsClickEvent>();\n /**\n * Callback to invoke on clear token clicked.\n * @group Emits\n */\n @Output() onClear: EventEmitter<any> = new EventEmitter<any>();\n\n @ViewChild('inputtext') inputViewChild!: ElementRef;\n\n @ViewChild('container') containerViewChild!: ElementRef;\n\n @ContentChildren(PrimeTemplate) templates!: QueryList<any>;\n\n public itemTemplate: Nullable<TemplateRef<any>>;\n\n removeTokenIconTemplate: Nullable<TemplateRef<any>>;\n\n clearIconTemplate: Nullable<TemplateRef<any>>;\n\n value: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n valueChanged: Nullable<boolean>;\n\n id = UniqueComponentId();\n\n focused: Nullable<boolean>;\n\n focusedIndex: Nullable<number>;\n\n filled: Nullable<boolean>;\n\n get focusedOptionId() {\n return this.focusedIndex !== null ? `${this.id}_chips_item_${this.focusedIndex}` : null;\n }\n\n get isMaxedOut(): boolean {\n return this.max && this.value && this.max === this.value.length;\n }\n\n constructor(@Inject(DOCUMENT) private document: Document, public el: ElementRef, public cd: ChangeDetectorRef) {}\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 'removetokenicon':\n this.removeTokenIconTemplate = item.template;\n break;\n\n case 'clearicon':\n this.clearIconTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n\n this.updateFilledState();\n }\n\n onWrapperClick() {\n this.inputViewChild?.nativeElement.focus();\n }\n\n onContainerFocus() {\n this.focused = true;\n }\n\n onContainerBlur() {\n this.focusedIndex = -1;\n this.focused = false;\n }\n\n onContainerKeyDown(event) {\n switch (event.code) {\n case 'ArrowLeft':\n this.onArrowLeftKeyOn();\n break;\n\n case 'ArrowRight':\n this.onArrowRightKeyOn();\n break;\n\n case 'Backspace':\n this.onBackspaceKeyOn(event);\n break;\n\n default:\n break;\n }\n }\n\n onArrowLeftKeyOn() {\n if (this.inputViewChild.nativeElement.value.length === 0 && this.value && this.value.length > 0) {\n this.focusedIndex = this.focusedIndex === null ? this.value.length - 1 : this.focusedIndex - 1;\n if (this.focusedIndex < 0) this.focusedIndex = 0;\n }\n }\n\n onArrowRightKeyOn() {\n if (this.inputViewChild.nativeElement.value.length === 0 && this.value && this.value.length > 0) {\n if (this.focusedIndex === this.value.length - 1) {\n this.focusedIndex = null;\n this.inputViewChild?.nativeElement.focus();\n } else {\n this.focusedIndex++;\n }\n }\n }\n\n onBackspaceKeyOn(event) {\n if (this.focusedIndex !== null) {\n this.removeItem(event, this.focusedIndex);\n }\n }\n\n onInput() {\n this.updateFilledState();\n this.focusedIndex = null;\n }\n\n onPaste(event: any) {\n if (!this.disabled) {\n if (this.separator) {\n const pastedData: string = (event.clipboardData || (this.document.defaultView as any)['clipboardData']).getData('Text');\n pastedData.split(this.separator).forEach((val: any) => {\n this.addItem(event, val, true);\n });\n this.inputViewChild.nativeElement.value = '';\n }\n\n this.updateFilledState();\n }\n }\n\n updateFilledState() {\n if (!this.value || this.value.length === 0) {\n this.filled = this.inputViewChild && this.inputViewChild.nativeElement && this.inputViewChild.nativeElement.value != '';\n } else {\n this.filled = true;\n }\n }\n\n onItemClick(event: Event, item: any) {\n this.onChipClick.emit({\n originalEvent: event,\n value: item\n });\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.updateMaxedOut();\n this.updateFilledState();\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n resolveFieldData(data: any, field: string): any {\n if (data && field) {\n if (field.indexOf('.') == -1) {\n return data[field];\n } else {\n let fields: string[] = field.split('.');\n let value = data;\n for (var i = 0, len = fields.length; i < len; ++i) {\n value = value[fields[i]];\n }\n return value;\n }\n } else {\n return null;\n }\n }\n\n onInputFocus(event: FocusEvent) {\n this.focused = true;\n this.focusedIndex = null;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event: FocusEvent) {\n this.focused = false;\n this.focusedIndex = null;\n if (this.addOnBlur && this.inputViewChild.nativeElement.value) {\n this.addItem(event, this.inputViewChild.nativeElement.value, false);\n }\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n removeItem(event: Event, index: number): void {\n if (this.disabled) {\n return;\n }\n\n let removedItem = this.value[index];\n this.value = this.value.filter((val: any, i: number) => i != index);\n this.focusedIndex = null;\n this.inputViewChild.nativeElement.focus();\n\n this.onModelChange(this.value);\n this.onRemove.emit({\n originalEvent: event,\n value: removedItem\n });\n this.updateFilledState();\n this.updateMaxedOut();\n }\n\n addItem(event: Event, item: string, preventDefault: boolean): void {\n this.value = this.value || [];\n\n if (item && item.trim().length) {\n if ((this.allowDuplicate || this.value.indexOf(item) === -1) && !this.isMaxedOut) {\n this.value = [...this.value, item];\n this.onModelChange(this.value);\n this.onAdd.emit({\n originalEvent: event,\n value: item\n });\n }\n }\n\n this.updateFilledState();\n this.updateMaxedOut();\n this.inputViewChild.nativeElement.value = '';\n\n if (preventDefault) {\n event.preventDefault();\n }\n }\n\n clear() {\n this.value = null;\n this.updateFilledState();\n this.onModelChange(this.value);\n this.updateMaxedOut();\n this.onClear.emit();\n }\n\n onKeyDown(event) {\n const inputValue = event.target.value;\n\n switch (event.code) {\n case 'Backspace':\n if (inputValue.length === 0 && this.value && this.value.length > 0) {\n if (this.focusedIndex !== null) {\n this.removeItem(event, this.focusedIndex);\n } else this.removeItem(event, this.value.length - 1);\n }\n\n break;\n\n case 'Enter':\n if (inputValue && inputValue.trim().length && !this.isMaxedOut) {\n this.addItem(event, inputValue, true);\n }\n\n break;\n\n case 'ArrowLeft':\n if (inputValue.length === 0 && this.value && this.value.length > 0) {\n this.containerViewChild?.nativeElement.focus();\n }\n\n break;\n\n case 'ArrowRight':\n event.stopPropagation();\n break;\n\n default:\n if (this.separator) {\n if (this.separator === event.key || event.key.match(this.separator)) {\n this.addItem(event, inputValue, true);\n }\n }\n\n break;\n }\n }\n\n updateMaxedOut(): void {\n if (this.inputViewChild && this.inputViewChild.nativeElement) {\n if (this.isMaxedOut) {\n // Calling `blur` is necessary because firefox does not call `onfocus` events\n // for disabled inputs, unlike chromium browsers.\n this.inputViewChild.nativeElement.blur();\n this.inputViewChild.nativeElement.disabled = true;\n } else {\n if (this.disabled) {\n this.inputViewChild.nativeElement.blur();\n }\n\n this.inputViewChild.nativeElement.disabled = this.disabled || false;\n }\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule, InputTextModule, SharedModule, TimesCircleIcon, TimesIcon],\n exports: [Chips, InputTextModule, SharedModule],\n declarations: [Chips]\n})\nexport class ChipsModule {}\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-chips.mjs","sources":["../../src/app/components/chips/chips.ts","../../src/app/components/chips/primeng-chips.ts"],"sourcesContent":["import { CommonModule, DOCUMENT } from '@angular/common';\nimport { AfterContentInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Inject, Input, NgModule, Output, QueryList, TemplateRef, ViewChild, ViewEncapsulation, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { TimesIcon } from 'primeng/icons/times';\nimport { TimesCircleIcon } from 'primeng/icons/timescircle';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { UniqueComponentId } from 'primeng/utils';\nimport { ChipsAddEvent, ChipsClickEvent, ChipsRemoveEvent } from './chips.interface';\n\nexport const CHIPS_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Chips),\n multi: true\n};\n/**\n * Chips groups a collection of contents in tabs.\n * @group Components\n */\n@Component({\n selector: 'p-chips',\n template: `\n <div\n [ngClass]=\"{\n 'p-chips p-component p-input-wrapper': true,\n 'p-disabled': disabled,\n 'p-focus': focused,\n 'p-inputwrapper-filled': (value && value.length) || (this.inputViewChild?.nativeElement.value && this.inputViewChild?.nativeElement.value.length),\n 'p-inputwrapper-focus': focused,\n }\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n [attr.data-pc-name]=\"'chips'\"\n [attr.data-pc-section]=\"'root'\"\n >\n <ul\n #container\n [ngClass]=\"{ 'p-inputtext p-chips-multiple-container': true }\"\n tabindex=\"-1\"\n role=\"listbox\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n [attr.aria-orientation]=\"'horizontal'\"\n (click)=\"onWrapperClick()\"\n (focus)=\"onContainerFocus()\"\n (blur)=\"onContainerBlur()\"\n (keydown)=\"onContainerKeyDown($event)\"\n [attr.data-pc-section]=\"'container'\"\n >\n <li\n #token\n *ngFor=\"let item of value; let i = index\"\n [attr.id]=\"id + '_chips_item_' + i\"\n role=\"option\"\n [attr.ariaLabel]=\"item\"\n [attr.aria-selected]=\"true\"\n [attr.aria-setsize]=\"value.length\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.data-p-focused]=\"focusedIndex === i\"\n [ngClass]=\"{ 'p-chips-token': true, 'p-focus': focusedIndex === i }\"\n (click)=\"onItemClick($event, item)\"\n [attr.data-pc-section]=\"'token'\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <span *ngIf=\"!itemTemplate\" class=\"p-chips-token-label\" [attr.data-pc-section]=\"'label'\">{{ field ? resolveFieldData(item, field) : item }}</span>\n <ng-container *ngIf=\"!disabled\">\n <TimesCircleIcon [styleClass]=\"'p-chips-token-icon'\" *ngIf=\"!removeTokenIconTemplate\" (click)=\"removeItem($event, i)\" [attr.data-pc-section]=\"'removeTokenIcon'\" [attr.aria-hidden]=\"true\" />\n <span *ngIf=\"removeTokenIconTemplate\" class=\"p-chips-token-icon\" (click)=\"removeItem($event, i)\" [attr.data-pc-section]=\"'removeTokenIcon'\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"removeTokenIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </li>\n <li class=\"p-chips-input-token\" [ngClass]=\"{ 'p-chips-clearable': showClear && !disabled }\" [attr.data-pc-section]=\"'inputToken'\" role=\"option\">\n <input\n #inputtext\n type=\"text\"\n [attr.id]=\"inputId\"\n [attr.placeholder]=\"value && value.length ? null : placeholder\"\n [attr.tabindex]=\"tabindex\"\n (keydown)=\"onKeyDown($event)\"\n (input)=\"onInput()\"\n (paste)=\"onPaste($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [disabled]=\"disabled || isMaxedOut\"\n [ngStyle]=\"inputStyle\"\n [class]=\"inputStyleClass\"\n />\n </li>\n <li *ngIf=\"value != null && filled && !disabled && showClear\">\n <TimesIcon *ngIf=\"!clearIconTemplate\" [styleClass]=\"'p-chips-clear-icon'\" (click)=\"clear()\" />\n <span *ngIf=\"clearIconTemplate\" class=\"p-chips-clear-icon\" (click)=\"clear()\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate\"></ng-template>\n </span>\n </li>\n </ul>\n </div>\n `,\n host: {\n class: 'p-element p-inputwrapper',\n '[class.p-inputwrapper-filled]': 'filled',\n '[class.p-inputwrapper-focus]': 'focused',\n '[class.p-chips-clearable]': 'showClear'\n },\n providers: [CHIPS_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./chips.css']\n})\nexport class Chips implements AfterContentInit, ControlValueAccessor {\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input() disabled: boolean | undefined;\n /**\n * Name of the property to display on a chip.\n * @group Props\n */\n @Input() field: string | undefined;\n /**\n * Advisory information to display on input.\n * @group Props\n */\n @Input() placeholder: string | undefined;\n /**\n * Maximum number of entries allowed.\n * @group Props\n */\n @Input() max: number | undefined;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input() tabindex: number | undefined;\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Whether to allow duplicate values or not.\n * @group Props\n */\n @Input() allowDuplicate: boolean = true;\n /**\n * Defines whether duplication check should be case-sensitive\n * @group Props\n */\n @Input() caseSensitiveDuplication: boolean = true;\n /**\n * Inline style of the input field.\n * @group Props\n */\n @Input() inputStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the input field.\n * @group Props\n */\n @Input() inputStyleClass: string | undefined;\n /**\n * Whether to add an item on tab key press.\n * @group Props\n */\n @Input() addOnTab: boolean | undefined;\n /**\n * Whether to add an item when the input loses focus.\n * @group Props\n */\n @Input() addOnBlur: boolean | undefined;\n /**\n * Separator char to add an item when pressed in addition to the enter key.\n * @group Props\n */\n @Input() separator: string | RegExp | undefined;\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n @Input() showClear: boolean = false;\n /**\n * Callback to invoke on chip add.\n * @param {ChipsAddEvent} event - Custom chip add event.\n * @group Emits\n */\n @Output() onAdd: EventEmitter<ChipsAddEvent> = new EventEmitter<ChipsAddEvent>();\n /**\n * Callback to invoke on chip remove.\n * @param {ChipsRemoveEvent} event - Custom chip remove event.\n * @group Emits\n */\n @Output() onRemove: EventEmitter<ChipsRemoveEvent> = new EventEmitter<ChipsRemoveEvent>();\n /**\n * Callback to invoke on focus of input field.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on blur of input field.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on chip clicked.\n * @param {ChipsClickEvent} event - Custom chip click event.\n * @group Emits\n */\n @Output() onChipClick: EventEmitter<ChipsClickEvent> = new EventEmitter<ChipsClickEvent>();\n /**\n * Callback to invoke on clear token clicked.\n * @group Emits\n */\n @Output() onClear: EventEmitter<any> = new EventEmitter<any>();\n\n @ViewChild('inputtext') inputViewChild!: ElementRef;\n\n @ViewChild('container') containerViewChild!: ElementRef;\n\n @ContentChildren(PrimeTemplate) templates!: QueryList<any>;\n\n public itemTemplate: Nullable<TemplateRef<any>>;\n\n removeTokenIconTemplate: Nullable<TemplateRef<any>>;\n\n clearIconTemplate: Nullable<TemplateRef<any>>;\n\n value: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n valueChanged: Nullable<boolean>;\n\n id = UniqueComponentId();\n\n focused: Nullable<boolean>;\n\n focusedIndex: Nullable<number>;\n\n filled: Nullable<boolean>;\n\n get focusedOptionId() {\n return this.focusedIndex !== null ? `${this.id}_chips_item_${this.focusedIndex}` : null;\n }\n\n get isMaxedOut(): boolean {\n return this.max && this.value && this.max === this.value.length;\n }\n\n constructor(@Inject(DOCUMENT) private document: Document, public el: ElementRef, public cd: ChangeDetectorRef) {}\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 'removetokenicon':\n this.removeTokenIconTemplate = item.template;\n break;\n\n case 'clearicon':\n this.clearIconTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n\n this.updateFilledState();\n }\n\n onWrapperClick() {\n this.inputViewChild?.nativeElement.focus();\n }\n\n onContainerFocus() {\n this.focused = true;\n }\n\n onContainerBlur() {\n this.focusedIndex = -1;\n this.focused = false;\n }\n\n onContainerKeyDown(event) {\n switch (event.code) {\n case 'ArrowLeft':\n this.onArrowLeftKeyOn();\n break;\n\n case 'ArrowRight':\n this.onArrowRightKeyOn();\n break;\n\n case 'Backspace':\n this.onBackspaceKeyOn(event);\n break;\n\n default:\n break;\n }\n }\n\n onArrowLeftKeyOn() {\n if (this.inputViewChild.nativeElement.value.length === 0 && this.value && this.value.length > 0) {\n this.focusedIndex = this.focusedIndex === null ? this.value.length - 1 : this.focusedIndex - 1;\n if (this.focusedIndex < 0) this.focusedIndex = 0;\n }\n }\n\n onArrowRightKeyOn() {\n if (this.inputViewChild.nativeElement.value.length === 0 && this.value && this.value.length > 0) {\n if (this.focusedIndex === this.value.length - 1) {\n this.focusedIndex = null;\n this.inputViewChild?.nativeElement.focus();\n } else {\n this.focusedIndex++;\n }\n }\n }\n\n onBackspaceKeyOn(event) {\n if (this.focusedIndex !== null) {\n this.removeItem(event, this.focusedIndex);\n }\n }\n\n onInput() {\n this.updateFilledState();\n this.focusedIndex = null;\n }\n\n onPaste(event: any) {\n if (!this.disabled) {\n if (this.separator) {\n const pastedData: string = (event.clipboardData || (this.document.defaultView as any)['clipboardData']).getData('Text');\n pastedData.split(this.separator).forEach((val: any) => {\n this.addItem(event, val, true);\n });\n this.inputViewChild.nativeElement.value = '';\n }\n\n this.updateFilledState();\n }\n }\n\n updateFilledState() {\n if (!this.value || this.value.length === 0) {\n this.filled = this.inputViewChild && this.inputViewChild.nativeElement && this.inputViewChild.nativeElement.value != '';\n } else {\n this.filled = true;\n }\n }\n\n onItemClick(event: Event, item: any) {\n this.onChipClick.emit({\n originalEvent: event,\n value: item\n });\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.updateMaxedOut();\n this.updateFilledState();\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n resolveFieldData(data: any, field: string): any {\n if (data && field) {\n if (field.indexOf('.') == -1) {\n return data[field];\n } else {\n let fields: string[] = field.split('.');\n let value = data;\n for (var i = 0, len = fields.length; i < len; ++i) {\n value = value[fields[i]];\n }\n return value;\n }\n } else {\n return null;\n }\n }\n\n onInputFocus(event: FocusEvent) {\n this.focused = true;\n this.focusedIndex = null;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event: FocusEvent) {\n this.focused = false;\n this.focusedIndex = null;\n if (this.addOnBlur && this.inputViewChild.nativeElement.value) {\n this.addItem(event, this.inputViewChild.nativeElement.value, false);\n }\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n removeItem(event: Event, index: number): void {\n if (this.disabled) {\n return;\n }\n\n let removedItem = this.value[index];\n this.value = this.value.filter((val: any, i: number) => i != index);\n this.focusedIndex = null;\n this.inputViewChild.nativeElement.focus();\n\n this.onModelChange(this.value);\n this.onRemove.emit({\n originalEvent: event,\n value: removedItem\n });\n this.updateFilledState();\n this.updateMaxedOut();\n }\n\n addItem(event: Event, item: string, preventDefault: boolean): void {\n this.value = this.value || [];\n\n if (item && item.trim().length) {\n const newItemIsDuplicate = this.caseSensitiveDuplication ? this.value.includes(item) : this.value.some((val) => val.toLowerCase() === item.toLowerCase());\n\n if ((this.allowDuplicate || !newItemIsDuplicate) && !this.isMaxedOut) {\n this.value = [...this.value, item];\n this.onModelChange(this.value);\n this.onAdd.emit({\n originalEvent: event,\n value: item\n });\n }\n }\n\n this.updateFilledState();\n this.updateMaxedOut();\n this.inputViewChild.nativeElement.value = '';\n\n if (preventDefault) {\n event.preventDefault();\n }\n }\n\n clear() {\n this.value = null;\n this.updateFilledState();\n this.onModelChange(this.value);\n this.updateMaxedOut();\n this.onClear.emit();\n }\n\n onKeyDown(event) {\n const inputValue = event.target.value;\n\n switch (event.code) {\n case 'Backspace':\n if (inputValue.length === 0 && this.value && this.value.length > 0) {\n if (this.focusedIndex !== null) {\n this.removeItem(event, this.focusedIndex);\n } else this.removeItem(event, this.value.length - 1);\n }\n\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n if (inputValue && inputValue.trim().length && !this.isMaxedOut) {\n this.addItem(event, inputValue, true);\n }\n\n break;\n\n case 'ArrowLeft':\n if (inputValue.length === 0 && this.value && this.value.length > 0) {\n this.containerViewChild?.nativeElement.focus();\n }\n\n break;\n\n case 'ArrowRight':\n event.stopPropagation();\n break;\n\n default:\n if (this.separator) {\n if (this.separator === event.key || event.key.match(this.separator)) {\n this.addItem(event, inputValue, true);\n }\n }\n\n break;\n }\n }\n\n updateMaxedOut(): void {\n if (this.inputViewChild && this.inputViewChild.nativeElement) {\n if (this.isMaxedOut) {\n // Calling `blur` is necessary because firefox does not call `onfocus` events\n // for disabled inputs, unlike chromium browsers.\n this.inputViewChild.nativeElement.blur();\n this.inputViewChild.nativeElement.disabled = true;\n } else {\n if (this.disabled) {\n this.inputViewChild.nativeElement.blur();\n }\n\n this.inputViewChild.nativeElement.disabled = this.disabled || false;\n }\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule, InputTextModule, SharedModule, TimesCircleIcon, TimesIcon],\n exports: [Chips, InputTextModule, SharedModule],\n declarations: [Chips]\n})\nexport class ChipsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -495,7 +495,9 @@ class Dropdown {
495
495
  return options;
496
496
  }
497
497
  set options(val) {
498
- this._options.set(val);
498
+ if (!ObjectUtils.deepEquals(val, this._options())) {
499
+ this._options.set(val);
500
+ }
499
501
  }
500
502
  /**
501
503
  * Callback to invoke when value of dropdown changes.
@@ -619,7 +621,7 @@ class Dropdown {
619
621
  'p-disabled': this.disabled,
620
622
  'p-dropdown-clearable': this.showClear && !this.disabled,
621
623
  'p-focus': this.focused,
622
- 'p-inputwrapper-filled': this.modelValue(),
624
+ 'p-inputwrapper-filled': this.modelValue() !== undefined && this.modelValue() !== null && !this.modelValue().length,
623
625
  'p-inputwrapper-focus': this.focused || this.overlayVisible
624
626
  };
625
627
  }
@@ -641,7 +643,8 @@ class Dropdown {
641
643
  visibleOptions = computed(() => {
642
644
  const options = this.group ? this.flatOptions(this.options) : this.options || [];
643
645
  if (this._filterValue()) {
644
- const filteredOptions = !this.filterBy && !this.filterFields && !this.optionValue
646
+ const _filterBy = this.filterBy || this.optionLabel;
647
+ const filteredOptions = !_filterBy && !this.filterFields && !this.optionValue
645
648
  ? this.options.filter((option) => option.toLowerCase().indexOf(this._filterValue().toLowerCase()) !== -1)
646
649
  : this.filterService.filter(options, this.searchFields(), this._filterValue(), this.filterMatchMode, this.filterLocale);
647
650
  if (this.group) {
@@ -678,7 +681,7 @@ class Dropdown {
678
681
  this.selectedOption = visibleOptions[this.findSelectedOptionIndex()];
679
682
  this.cd.markForCheck();
680
683
  }
681
- if (modelValue && this.editable) {
684
+ if ((modelValue !== undefined || modelValue !== null) && this.editable) {
682
685
  this.updateEditableLabel();
683
686
  }
684
687
  });
@@ -816,26 +819,31 @@ class Dropdown {
816
819
  }
817
820
  updateEditableLabel() {
818
821
  if (this.editableInputViewChild) {
819
- this.editableInputViewChild.nativeElement.value = ObjectUtils.isNotEmpty(this.selectedOption) ? this.getOptionLabel(this.selectedOption) : this.editableInputViewChild.nativeElement.value;
822
+ this.editableInputViewChild.nativeElement.value = ObjectUtils.isNotEmpty(this.selectedOption) && this.selectedOption !== undefined ? this.getOptionLabel(this.selectedOption) : this.editableInputViewChild.nativeElement.value;
823
+ }
824
+ }
825
+ clearEditableLabel() {
826
+ if (this.editableInputViewChild) {
827
+ this.editableInputViewChild.nativeElement.value = '';
820
828
  }
821
829
  }
822
830
  getOptionIndex(index, scrollerOptions) {
823
831
  return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];
824
832
  }
825
833
  getOptionLabel(option) {
826
- return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : option && option.label !== undefined ? option.label : option;
834
+ return this.optionLabel !== undefined && this.optionLabel !== null ? ObjectUtils.resolveFieldData(option, this.optionLabel) : option && option.label !== undefined ? option.label : option;
827
835
  }
828
836
  getOptionValue(option) {
829
- return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : !this.optionLabel && option && option.value !== undefined ? option.value : option;
837
+ return this.optionValue && this.optionValue !== null ? ObjectUtils.resolveFieldData(option, this.optionValue) : !this.optionLabel && option && option.value !== undefined ? option.value : option;
830
838
  }
831
839
  isOptionDisabled(option) {
832
840
  return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : option && option.disabled !== undefined ? option.disabled : false;
833
841
  }
834
842
  getOptionGroupLabel(optionGroup) {
835
- return this.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup;
843
+ return this.optionGroupLabel !== undefined && this.optionGroupLabel !== null ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup;
836
844
  }
837
845
  getOptionGroupChildren(optionGroup) {
838
- return this.optionGroupChildren ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;
846
+ return this.optionGroupChildren !== undefined && this.optionGroupChildren !== null ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;
839
847
  }
840
848
  getAriaPosInset(index) {
841
849
  return ((this.optionGroupLabel
@@ -1151,10 +1159,10 @@ class Dropdown {
1151
1159
  return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;
1152
1160
  }
1153
1161
  isValidOption(option) {
1154
- return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));
1162
+ return option !== undefined && option !== null && !(this.isOptionDisabled(option) || this.isOptionGroup(option));
1155
1163
  }
1156
1164
  isOptionGroup(option) {
1157
- return this.optionGroupLabel && option.optionGroup && option.group;
1165
+ return this.optionGroupLabel !== undefined && this.optionGroupLabel !== null && option.optionGroup !== undefined && option.optionGroup !== null && option.group;
1158
1166
  }
1159
1167
  onArrowUpKey(event, pressedInInputText = false) {
1160
1168
  if (event.altKey && !pressedInInputText) {
@@ -1267,7 +1275,7 @@ class Dropdown {
1267
1275
  }
1268
1276
  }
1269
1277
  searchFields() {
1270
- return this.filterFields || [this.optionLabel];
1278
+ return this.filterBy?.split(',') || this.filterFields || [this.optionLabel];
1271
1279
  }
1272
1280
  searchOptions(event, char) {
1273
1281
  this.searchValue = (this.searchValue || '') + char;
@@ -1331,9 +1339,10 @@ class Dropdown {
1331
1339
  }
1332
1340
  clear(event) {
1333
1341
  this.updateModel(null, event);
1334
- this.updateEditableLabel();
1342
+ this.clearEditableLabel();
1335
1343
  this.onChange.emit({ originalEvent: event, value: this.value });
1336
1344
  this.onClear.emit(event);
1345
+ this.resetFilter();
1337
1346
  }
1338
1347
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: Dropdown, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i3.FilterService }, { token: i3.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
1339
1348
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.5", type: Dropdown, selector: "p-dropdown", inputs: { id: "id", 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", dataKey: "dataKey", filterBy: "filterBy", filterFields: "filterFields", 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", lazy: "lazy", virtualScroll: "virtualScroll", virtualScrollItemSize: "virtualScrollItemSize", virtualScrollOptions: "virtualScrollOptions", overlayOptions: "overlayOptions", ariaFilterLabel: "ariaFilterLabel", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", filterMatchMode: "filterMatchMode", maxlength: "maxlength", tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", focusOnHover: "focusOnHover", selectOnFocus: "selectOnFocus", autoOptionFocus: "autoOptionFocus", autofocusFilter: "autofocusFilter", disabled: "disabled", itemSize: "itemSize", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", filterValue: "filterValue", options: "options" }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onShow: "onShow", onHide: "onHide", onClear: "onClear", onLazyLoad: "onLazyLoad" }, 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: "focusInputViewChild", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "editableInputViewChild", first: true, predicate: ["editableInput"], descendants: true }, { propertyName: "itemsViewChild", first: true, predicate: ["items"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }, { propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true }, { propertyName: "firstHiddenFocusableElementOnOverlay", first: true, predicate: ["firstHiddenFocusableEl"], descendants: true }, { propertyName: "lastHiddenFocusableElementOnOverlay", first: true, predicate: ["lastHiddenFocusableEl"], descendants: true }], ngImport: i0, template: `
@@ -1361,11 +1370,13 @@ class Dropdown {
1361
1370
  (focus)="onInputFocus($event)"
1362
1371
  (blur)="onInputBlur($event)"
1363
1372
  (keydown)="onKeyDown($event)"
1373
+ [attr.aria-required]="required"
1374
+ [attr.required]="required"
1364
1375
  >
1365
1376
  <ng-container *ngIf="!selectedItemTemplate; else defaultPlaceholder">{{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}</ng-container>
1366
1377
  <ng-container *ngTemplateOutlet="selectedItemTemplate; context: { $implicit: selectedOption }"></ng-container>
1367
1378
  <ng-template #defaultPlaceholder>
1368
- <span *ngIf="!modelValue() && (label() === placeholder || (label() && !placeholder))">{{ label() === 'p-emptylabel' ? '&nbsp;' : placeholder }}</span>
1379
+ <span *ngIf="(modelValue() === undefined || modelValue === null) && (label() === placeholder || (label() && !placeholder))">{{ label() === 'p-emptylabel' ? '&nbsp;' : placeholder }}</span>
1369
1380
  </ng-template>
1370
1381
  </span>
1371
1382
  <input
@@ -1376,7 +1387,7 @@ class Dropdown {
1376
1387
  [ngClass]="inputClass"
1377
1388
  [disabled]="disabled"
1378
1389
  aria-haspopup="listbox"
1379
- [attr.placeholder]="placeholder"
1390
+ [attr.placeholder]="modelValue() === undefined || modelValue() === null ? placeholder : undefined"
1380
1391
  [attr.aria-expanded]="overlayVisible"
1381
1392
  (input)="onEditableInput($event)"
1382
1393
  (keydown)="onKeyDown($event)"
@@ -1564,11 +1575,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
1564
1575
  (focus)="onInputFocus($event)"
1565
1576
  (blur)="onInputBlur($event)"
1566
1577
  (keydown)="onKeyDown($event)"
1578
+ [attr.aria-required]="required"
1579
+ [attr.required]="required"
1567
1580
  >
1568
1581
  <ng-container *ngIf="!selectedItemTemplate; else defaultPlaceholder">{{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}</ng-container>
1569
1582
  <ng-container *ngTemplateOutlet="selectedItemTemplate; context: { $implicit: selectedOption }"></ng-container>
1570
1583
  <ng-template #defaultPlaceholder>
1571
- <span *ngIf="!modelValue() && (label() === placeholder || (label() && !placeholder))">{{ label() === 'p-emptylabel' ? '&nbsp;' : placeholder }}</span>
1584
+ <span *ngIf="(modelValue() === undefined || modelValue === null) && (label() === placeholder || (label() && !placeholder))">{{ label() === 'p-emptylabel' ? '&nbsp;' : placeholder }}</span>
1572
1585
  </ng-template>
1573
1586
  </span>
1574
1587
  <input
@@ -1579,7 +1592,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
1579
1592
  [ngClass]="inputClass"
1580
1593
  [disabled]="disabled"
1581
1594
  aria-haspopup="listbox"
1582
- [attr.placeholder]="placeholder"
1595
+ [attr.placeholder]="modelValue() === undefined || modelValue() === null ? placeholder : undefined"
1583
1596
  [attr.aria-expanded]="overlayVisible"
1584
1597
  (input)="onEditableInput($event)"
1585
1598
  (keydown)="onKeyDown($event)"