primeng 19.0.1 → 19.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/autocomplete/autocomplete.d.ts +1 -1
  2. package/cascadeselect/cascadeselect.d.ts +1 -1
  3. package/dropdown/dropdown.d.ts +2 -1
  4. package/dynamicdialog/dialogservice.d.ts +1 -1
  5. package/dynamicdialog/dynamicdialog-config.d.ts +7 -2
  6. package/dynamicdialog/dynamicdialog.d.ts +5 -4
  7. package/fesm2022/primeng-autocomplete.mjs +5 -5
  8. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  9. package/fesm2022/primeng-breadcrumb.mjs +76 -70
  10. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  11. package/fesm2022/primeng-calendar.mjs +2 -2
  12. package/fesm2022/primeng-calendar.mjs.map +1 -1
  13. package/fesm2022/primeng-carousel.mjs +14 -5
  14. package/fesm2022/primeng-carousel.mjs.map +1 -1
  15. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  16. package/fesm2022/primeng-confirmdialog.mjs +1 -1
  17. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  18. package/fesm2022/primeng-datepicker.mjs +2 -2
  19. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  20. package/fesm2022/primeng-dialog.mjs +1 -0
  21. package/fesm2022/primeng-dialog.mjs.map +1 -1
  22. package/fesm2022/primeng-dock.mjs +90 -80
  23. package/fesm2022/primeng-dock.mjs.map +1 -1
  24. package/fesm2022/primeng-dropdown.mjs +8 -15
  25. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  26. package/fesm2022/primeng-dynamicdialog.mjs +19 -6
  27. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  28. package/fesm2022/primeng-fileupload.mjs +2 -2
  29. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  30. package/fesm2022/primeng-galleria.mjs +229 -86
  31. package/fesm2022/primeng-galleria.mjs.map +1 -1
  32. package/fesm2022/primeng-inputnumber.mjs +1 -1
  33. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  34. package/fesm2022/primeng-inputotp.mjs +17 -8
  35. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  36. package/fesm2022/primeng-listbox.mjs +23 -12
  37. package/fesm2022/primeng-listbox.mjs.map +1 -1
  38. package/fesm2022/primeng-menu.mjs +38 -48
  39. package/fesm2022/primeng-menu.mjs.map +1 -1
  40. package/fesm2022/primeng-multiselect.mjs +48 -24
  41. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  42. package/fesm2022/primeng-paginator.mjs +5 -1
  43. package/fesm2022/primeng-paginator.mjs.map +1 -1
  44. package/fesm2022/primeng-panel.mjs +58 -52
  45. package/fesm2022/primeng-panel.mjs.map +1 -1
  46. package/fesm2022/primeng-popover.mjs +10 -19
  47. package/fesm2022/primeng-popover.mjs.map +1 -1
  48. package/fesm2022/primeng-select.mjs +15 -21
  49. package/fesm2022/primeng-select.mjs.map +1 -1
  50. package/fesm2022/primeng-splitter.mjs +28 -14
  51. package/fesm2022/primeng-splitter.mjs.map +1 -1
  52. package/fesm2022/primeng-steps.mjs +100 -90
  53. package/fesm2022/primeng-steps.mjs.map +1 -1
  54. package/fesm2022/primeng-table.mjs +3 -3
  55. package/fesm2022/primeng-table.mjs.map +1 -1
  56. package/fesm2022/primeng-tag.mjs +0 -1
  57. package/fesm2022/primeng-tag.mjs.map +1 -1
  58. package/fesm2022/primeng-togglebutton.mjs +3 -3
  59. package/fesm2022/primeng-tree.mjs +15 -11
  60. package/fesm2022/primeng-tree.mjs.map +1 -1
  61. package/fesm2022/primeng-treetable.mjs +385 -175
  62. package/fesm2022/primeng-treetable.mjs.map +1 -1
  63. package/galleria/galleria.d.ts +18 -1
  64. package/inputotp/inputotp.d.ts +1 -0
  65. package/package.json +98 -98
  66. package/popover/popover.d.ts +1 -7
  67. package/select/select.d.ts +1 -0
  68. package/splitter/splitter.d.ts +2 -1
  69. package/tag/tag.d.ts +0 -1
  70. package/togglebutton/public_api.d.ts +2 -1
  71. package/treetable/treetable.d.ts +28 -1
@@ -79,7 +79,7 @@ function InputOtp_ng_container_0_ng_container_1_Template(rf, ctx) { if (rf & 1)
79
79
  const i_r2 = i0.ɵɵnextContext().$implicit;
80
80
  const ctx_r2 = i0.ɵɵnextContext();
81
81
  i0.ɵɵadvance();
82
- i0.ɵɵproperty("value", ctx_r2.getModelValue(i_r2))("maxLength", 1)("type", ctx_r2.inputType)("pSize", ctx_r2.size)("variant", ctx_r2.variant)("readonly", ctx_r2.readonly)("disabled", ctx_r2.disabled)("tabindex", ctx_r2.tabindex)("pAutoFocus", ctx_r2.getAutofocus(i_r2))("ngClass", ctx_r2.styleClass);
82
+ i0.ɵɵproperty("value", ctx_r2.getModelValue(i_r2))("maxLength", i_r2 === 1 ? ctx_r2.length : 1)("type", ctx_r2.inputType)("pSize", ctx_r2.size)("variant", ctx_r2.variant)("readonly", ctx_r2.readonly)("disabled", ctx_r2.disabled)("tabindex", ctx_r2.tabindex)("pAutoFocus", ctx_r2.getAutofocus(i_r2))("ngClass", ctx_r2.styleClass);
83
83
  } }
84
84
  function InputOtp_ng_container_0_ng_container_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
85
85
  i0.ɵɵelementContainer(0);
@@ -232,7 +232,13 @@ class InputOtp extends BaseComponent {
232
232
  };
233
233
  }
234
234
  onInput(event, index) {
235
- this.tokens[index] = event.target.value;
235
+ const value = event.target.value;
236
+ if (index === 0 && value.length > 1) {
237
+ this.handleOnPaste(value, event);
238
+ event.stopPropagation();
239
+ return;
240
+ }
241
+ this.tokens[index] = value;
236
242
  this.updateModel(event);
237
243
  if (event.inputType === 'deleteContentBackward') {
238
244
  this.moveToPrev(event);
@@ -359,15 +365,18 @@ class InputOtp extends BaseComponent {
359
365
  if (!this.disabled && !this.readonly) {
360
366
  let paste = event.clipboardData.getData('text');
361
367
  if (paste.length) {
362
- let pastedCode = paste.substring(0, this.length + 1);
363
- if (!this.integerOnly || !isNaN(pastedCode)) {
364
- this.tokens = pastedCode.split('');
365
- this.updateModel(event);
366
- }
368
+ this.handleOnPaste(paste, event);
367
369
  }
368
370
  event.preventDefault();
369
371
  }
370
372
  }
373
+ handleOnPaste(paste, event) {
374
+ let pastedCode = paste.substring(0, this.length + 1);
375
+ if (!this.integerOnly || !isNaN(pastedCode)) {
376
+ this.tokens = pastedCode.split('');
377
+ this.updateModel(event);
378
+ }
379
+ }
371
380
  getRange(n) {
372
381
  return Array.from({ length: n }, (_, index) => index + 1);
373
382
  }
@@ -401,7 +410,7 @@ class InputOtp extends BaseComponent {
401
410
  type="text"
402
411
  pInputText
403
412
  [value]="getModelValue(i)"
404
- [maxLength]="1"
413
+ [maxLength]="i === 1 ? length : 1"
405
414
  [type]="inputType"
406
415
  class="p-inputotp-input"
407
416
  [pSize]="size"
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-inputotp.mjs","sources":["../../src/inputotp/style/inputotpstyle.ts","../../src/inputotp/inputotp.ts","../../src/inputotp/primeng-inputotp.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-inputotp {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.p-inputotp-input {\n text-align: center;\n width: 2.5rem;\n}\n\n.p-inputotp-input.p-inputtext-sm {\n text-align: center;\n width: ${dt('inputotp.input.sm.width')};\n}\n\n.p-inputotp-input.p-inputtext-lg {\n text-align: center;\n width: ${dt('inputotp.input.lg.width')};\n}\n`;\n\nconst classes = {\n root: 'p-inputotp p-component',\n pcInput: 'p-inputotp-input'\n};\n\n@Injectable()\nexport class InputOtpStyle extends BaseStyle {\n name = 'inputotp';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * InputOtp is used to enter one time passwords.\n *\n * [Live Demo](https://www.primeng.org/inputotp/)\n *\n * @module inputotpstyle\n *\n */\n\nexport enum InputOtpClasses {\n /**\n * Class name of the root element\n */\n root = 'p-inputotp',\n /**\n * Class name of the input element\n */\n pcInput = 'p-inputotp-input'\n}\n\nexport interface InputOtpStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport { AfterContentInit, booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, forwardRef, inject, Input, NgModule, Output, QueryList, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { InputText } from 'primeng/inputtext';\nimport { InputOtpStyle } from './style/inputotpstyle';\nimport { Nullable } from 'primeng/ts-helpers';\n\nexport const INPUT_OTP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputOtp),\n multi: true\n};\n\n/**\n * Input change event.\n * @property {Event} originalEvent - browser event.\n * @property {any} value - updated value.\n * @group Interface\n */\nexport interface InputOtpChangeEvent {\n originalEvent: Event;\n value: any;\n}\n\n/**\n * Context interface for the input template events.\n * @property {(event: Event, index: number) => void} input - input event.\n * @property {(event: Event)} keydown - keydown event.\n * @property {(event: Event)} focus - focus event.\n * @property {(event: Event)} blur - blur event.\n * @property {(event: Event)} paste - paste event.\n * @group Interface\n */\nexport interface InputOtpTemplateEvents {\n input: (event: Event, index: number) => void;\n keydown: (event: Event) => void;\n focus: (event: Event) => void;\n blur: (event: Event) => void;\n paste: (event: Event) => void;\n}\n\n/**\n * Context of the input template.\n * @property {number | string} $implicit - token value.\n * @property {InputOtpTemplateEvents} events - Browser events of the template.\n * @property {number} index - index of the token.\n * @group Interface\n */\nexport interface InputOtpInputTemplateContext {\n $implicit: number | string;\n events: InputOtpTemplateEvents;\n index: number;\n}\n\n/**\n * Input Otp is used to enter one time passwords.\n * @group Components\n */\n@Component({\n selector: 'p-inputOtp, p-inputotp, p-input-otp',\n standalone: true,\n imports: [CommonModule, InputText, AutoFocus, SharedModule],\n template: `\n <ng-container *ngFor=\"let i of getRange(length); trackBy: trackByFn\">\n <ng-container *ngIf=\"!inputTemplate && !_inputTemplate\">\n <input\n type=\"text\"\n pInputText\n [value]=\"getModelValue(i)\"\n [maxLength]=\"1\"\n [type]=\"inputType\"\n class=\"p-inputotp-input\"\n [pSize]=\"size\"\n [variant]=\"variant\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [tabindex]=\"tabindex\"\n (input)=\"onInput($event, i - 1)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (paste)=\"onPaste($event)\"\n (keydown)=\"onKeyDown($event)\"\n [pAutoFocus]=\"getAutofocus(i)\"\n [ngClass]=\"styleClass\"\n />\n </ng-container>\n <ng-container *ngIf=\"inputTemplate || _inputTemplate\">\n <ng-container *ngTemplateOutlet=\"inputTemplate || _inputTemplate; context: { $implicit: getToken(i - 1), events: getTemplateEvents(i - 1), index: i }\"> </ng-container>\n </ng-container>\n </ng-container>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [INPUT_OTP_VALUE_ACCESSOR, InputOtpStyle],\n host: {\n class: 'p-inputotp p-component'\n }\n})\nexport class InputOtp extends BaseComponent implements AfterContentInit {\n /**\n * When present, it specifies that the component should have invalid state style.\n * @group Props\n */\n @Input() invalid: boolean = false;\n /**\n * When present, it specifies that the component should be disabled.\n * @group Props\n */\n @Input() disabled: boolean = false;\n /**\n * When present, it specifies that an input field is read-only.\n * @group Props\n */\n @Input() readonly: boolean = false;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input() tabindex: number | null = null;\n /**\n * Number of characters to initiate.\n * @group Props\n */\n @Input() length: number = 4;\n /**\n * Style class of the input element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Mask pattern.\n * @group Props\n */\n @Input() mask: boolean = false;\n /**\n * When present, it specifies that an input field is integer-only.\n * @group Props\n */\n @Input() integerOnly: boolean = false;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Defines the size of the component.\n * @group Props\n */\n @Input() size: 'large' | 'small';\n /**\n * Callback to invoke on value change.\n * @group Emits\n */\n @Output() onChange: EventEmitter<InputOtpChangeEvent> = new EventEmitter<InputOtpChangeEvent>();\n /**\n * Callback to invoke when the component receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter();\n /**\n * Callback to invoke when the component loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter();\n\n /**\n * Input template.\n * @param {InputOtpInputTemplateContext} context - Context of the template\n * @see {@link InputOtpInputTemplateContext}\n * @group Templates\n */\n @ContentChild('input', { descendants: false }) inputTemplate: TemplateRef<any>;\n\n @ContentChildren(PrimeTemplate) templates: Nullable<QueryList<PrimeTemplate>>;\n\n _inputTemplate: TemplateRef<any> | undefined;\n\n tokens: any = [];\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n value: any;\n\n get inputMode(): string {\n return this.integerOnly ? 'numeric' : 'text';\n }\n\n get inputType(): string {\n return this.mask ? 'password' : 'text';\n }\n\n _componentStyle = inject(InputOtpStyle);\n\n ngAfterContentInit() {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'input':\n this._inputTemplate = item.template;\n break;\n default:\n this._inputTemplate = item.template;\n break;\n }\n });\n }\n\n getToken(index) {\n return this.tokens[index];\n }\n\n getTemplateEvents(index) {\n return {\n input: (event) => this.onInput(event, index),\n keydown: (event) => this.onKeyDown(event),\n focus: (event) => this.onFocus.emit(event),\n blur: (event) => this.onBlur.emit(event),\n paste: (event) => this.onPaste(event)\n };\n }\n\n onInput(event, index) {\n this.tokens[index] = event.target.value;\n this.updateModel(event);\n\n if (event.inputType === 'deleteContentBackward') {\n this.moveToPrev(event);\n } else if (event.inputType === 'insertText' || event.inputType === 'deleteContentForward') {\n this.moveToNext(event);\n }\n }\n\n updateModel(event: any) {\n const newValue = this.tokens.join('');\n this.onModelChange(newValue);\n\n this.onChange.emit({\n originalEvent: event,\n value: newValue\n });\n }\n\n writeValue(value: any): void {\n if (value) {\n if (Array.isArray(value) && value.length > 0) {\n this.value = value.slice(0, this.length);\n } else {\n this.value = value.toString().split('').slice(0, this.length);\n }\n } else {\n this.value = value;\n }\n this.updateTokens();\n this.cd.markForCheck();\n }\n\n updateTokens() {\n if (this.value !== null && this.value !== undefined) {\n if (Array.isArray(this.value)) {\n this.tokens = [...this.value];\n } else {\n this.tokens = this.value.toString().split('');\n }\n } else {\n this.tokens = [];\n }\n }\n\n getModelValue(i: number) {\n return this.tokens[i - 1] || '';\n }\n\n getAutofocus(i: number): boolean {\n if (i === 1) {\n return this.autofocus;\n }\n return false;\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 moveToPrev(event) {\n let prevInput = this.findPrevInput(event.target);\n\n if (prevInput) {\n prevInput.focus();\n prevInput.select();\n }\n }\n\n moveToNext(event) {\n let nextInput = this.findNextInput(event.target);\n\n if (nextInput) {\n nextInput.focus();\n nextInput.select();\n }\n }\n\n findNextInput(element) {\n let nextElement = element.nextElementSibling;\n\n if (!nextElement) return;\n\n return nextElement.nodeName === 'INPUT' ? nextElement : this.findNextInput(nextElement);\n }\n\n findPrevInput(element) {\n let prevElement = element.previousElementSibling;\n\n if (!prevElement) return;\n\n return prevElement.nodeName === 'INPUT' ? prevElement : this.findPrevInput(prevElement);\n }\n\n onInputFocus(event) {\n event.target.select();\n this.onFocus.emit(event);\n }\n\n onInputBlur(event) {\n this.onBlur.emit(event);\n }\n\n onKeyDown(event) {\n if (event.altKey || event.ctrlKey || event.metaKey) {\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n this.moveToPrev(event);\n event.preventDefault();\n\n break;\n\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n\n break;\n\n case 'Backspace':\n if (event.target.value.length === 0) {\n this.moveToPrev(event);\n event.preventDefault();\n }\n\n break;\n\n case 'ArrowRight':\n this.moveToNext(event);\n event.preventDefault();\n\n break;\n\n default:\n if ((this.integerOnly && !((event.code.startsWith('Digit') || event.code.startsWith('Numpad')) && Number(event.key) >= 0 && Number(event.key) <= 9)) || (this.tokens.join('').length >= this.length && event.code !== 'Delete')) {\n event.preventDefault();\n }\n\n break;\n }\n }\n\n onPaste(event) {\n if (!this.disabled && !this.readonly) {\n let paste = event.clipboardData.getData('text');\n\n if (paste.length) {\n let pastedCode = paste.substring(0, this.length + 1);\n\n if (!this.integerOnly || !isNaN(pastedCode)) {\n this.tokens = pastedCode.split('');\n this.updateModel(event);\n }\n }\n\n event.preventDefault();\n }\n }\n\n getRange(n: number): number[] {\n return Array.from({ length: n }, (_, index) => index + 1);\n }\n\n trackByFn(index: number) {\n return index;\n }\n}\n\n@NgModule({\n imports: [InputOtp, SharedModule],\n exports: [InputOtp, SharedModule]\n})\nexport class InputOtpModule {}\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-inputotp.mjs","sources":["../../src/inputotp/style/inputotpstyle.ts","../../src/inputotp/inputotp.ts","../../src/inputotp/primeng-inputotp.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-inputotp {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.p-inputotp-input {\n text-align: center;\n width: 2.5rem;\n}\n\n.p-inputotp-input.p-inputtext-sm {\n text-align: center;\n width: ${dt('inputotp.input.sm.width')};\n}\n\n.p-inputotp-input.p-inputtext-lg {\n text-align: center;\n width: ${dt('inputotp.input.lg.width')};\n}\n`;\n\nconst classes = {\n root: 'p-inputotp p-component',\n pcInput: 'p-inputotp-input'\n};\n\n@Injectable()\nexport class InputOtpStyle extends BaseStyle {\n name = 'inputotp';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * InputOtp is used to enter one time passwords.\n *\n * [Live Demo](https://www.primeng.org/inputotp/)\n *\n * @module inputotpstyle\n *\n */\n\nexport enum InputOtpClasses {\n /**\n * Class name of the root element\n */\n root = 'p-inputotp',\n /**\n * Class name of the input element\n */\n pcInput = 'p-inputotp-input'\n}\n\nexport interface InputOtpStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport { AfterContentInit, booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, forwardRef, inject, Input, NgModule, Output, QueryList, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { InputText } from 'primeng/inputtext';\nimport { InputOtpStyle } from './style/inputotpstyle';\nimport { Nullable } from 'primeng/ts-helpers';\n\nexport const INPUT_OTP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputOtp),\n multi: true\n};\n\n/**\n * Input change event.\n * @property {Event} originalEvent - browser event.\n * @property {any} value - updated value.\n * @group Interface\n */\nexport interface InputOtpChangeEvent {\n originalEvent: Event;\n value: any;\n}\n\n/**\n * Context interface for the input template events.\n * @property {(event: Event, index: number) => void} input - input event.\n * @property {(event: Event)} keydown - keydown event.\n * @property {(event: Event)} focus - focus event.\n * @property {(event: Event)} blur - blur event.\n * @property {(event: Event)} paste - paste event.\n * @group Interface\n */\nexport interface InputOtpTemplateEvents {\n input: (event: Event, index: number) => void;\n keydown: (event: Event) => void;\n focus: (event: Event) => void;\n blur: (event: Event) => void;\n paste: (event: Event) => void;\n}\n\n/**\n * Context of the input template.\n * @property {number | string} $implicit - token value.\n * @property {InputOtpTemplateEvents} events - Browser events of the template.\n * @property {number} index - index of the token.\n * @group Interface\n */\nexport interface InputOtpInputTemplateContext {\n $implicit: number | string;\n events: InputOtpTemplateEvents;\n index: number;\n}\n\n/**\n * Input Otp is used to enter one time passwords.\n * @group Components\n */\n@Component({\n selector: 'p-inputOtp, p-inputotp, p-input-otp',\n standalone: true,\n imports: [CommonModule, InputText, AutoFocus, SharedModule],\n template: `\n <ng-container *ngFor=\"let i of getRange(length); trackBy: trackByFn\">\n <ng-container *ngIf=\"!inputTemplate && !_inputTemplate\">\n <input\n type=\"text\"\n pInputText\n [value]=\"getModelValue(i)\"\n [maxLength]=\"i === 1 ? length : 1\"\n [type]=\"inputType\"\n class=\"p-inputotp-input\"\n [pSize]=\"size\"\n [variant]=\"variant\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [tabindex]=\"tabindex\"\n (input)=\"onInput($event, i - 1)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (paste)=\"onPaste($event)\"\n (keydown)=\"onKeyDown($event)\"\n [pAutoFocus]=\"getAutofocus(i)\"\n [ngClass]=\"styleClass\"\n />\n </ng-container>\n <ng-container *ngIf=\"inputTemplate || _inputTemplate\">\n <ng-container *ngTemplateOutlet=\"inputTemplate || _inputTemplate; context: { $implicit: getToken(i - 1), events: getTemplateEvents(i - 1), index: i }\"> </ng-container>\n </ng-container>\n </ng-container>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [INPUT_OTP_VALUE_ACCESSOR, InputOtpStyle],\n host: {\n class: 'p-inputotp p-component'\n }\n})\nexport class InputOtp extends BaseComponent implements AfterContentInit {\n /**\n * When present, it specifies that the component should have invalid state style.\n * @group Props\n */\n @Input() invalid: boolean = false;\n /**\n * When present, it specifies that the component should be disabled.\n * @group Props\n */\n @Input() disabled: boolean = false;\n /**\n * When present, it specifies that an input field is read-only.\n * @group Props\n */\n @Input() readonly: boolean = false;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input() tabindex: number | null = null;\n /**\n * Number of characters to initiate.\n * @group Props\n */\n @Input() length: number = 4;\n /**\n * Style class of the input element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Mask pattern.\n * @group Props\n */\n @Input() mask: boolean = false;\n /**\n * When present, it specifies that an input field is integer-only.\n * @group Props\n */\n @Input() integerOnly: boolean = false;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Defines the size of the component.\n * @group Props\n */\n @Input() size: 'large' | 'small';\n /**\n * Callback to invoke on value change.\n * @group Emits\n */\n @Output() onChange: EventEmitter<InputOtpChangeEvent> = new EventEmitter<InputOtpChangeEvent>();\n /**\n * Callback to invoke when the component receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter();\n /**\n * Callback to invoke when the component loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter();\n\n /**\n * Input template.\n * @param {InputOtpInputTemplateContext} context - Context of the template\n * @see {@link InputOtpInputTemplateContext}\n * @group Templates\n */\n @ContentChild('input', { descendants: false }) inputTemplate: TemplateRef<any>;\n\n @ContentChildren(PrimeTemplate) templates: Nullable<QueryList<PrimeTemplate>>;\n\n _inputTemplate: TemplateRef<any> | undefined;\n\n tokens: any = [];\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n value: any;\n\n get inputMode(): string {\n return this.integerOnly ? 'numeric' : 'text';\n }\n\n get inputType(): string {\n return this.mask ? 'password' : 'text';\n }\n\n _componentStyle = inject(InputOtpStyle);\n\n ngAfterContentInit() {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'input':\n this._inputTemplate = item.template;\n break;\n default:\n this._inputTemplate = item.template;\n break;\n }\n });\n }\n\n getToken(index) {\n return this.tokens[index];\n }\n\n getTemplateEvents(index) {\n return {\n input: (event) => this.onInput(event, index),\n keydown: (event) => this.onKeyDown(event),\n focus: (event) => this.onFocus.emit(event),\n blur: (event) => this.onBlur.emit(event),\n paste: (event) => this.onPaste(event)\n };\n }\n\n onInput(event, index) {\n const value = event.target.value;\n if (index === 0 && value.length > 1) {\n this.handleOnPaste(value, event);\n event.stopPropagation();\n return;\n }\n this.tokens[index] = value;\n this.updateModel(event);\n\n if (event.inputType === 'deleteContentBackward') {\n this.moveToPrev(event);\n } else if (event.inputType === 'insertText' || event.inputType === 'deleteContentForward') {\n this.moveToNext(event);\n }\n }\n\n updateModel(event: any) {\n const newValue = this.tokens.join('');\n this.onModelChange(newValue);\n\n this.onChange.emit({\n originalEvent: event,\n value: newValue\n });\n }\n\n writeValue(value: any): void {\n if (value) {\n if (Array.isArray(value) && value.length > 0) {\n this.value = value.slice(0, this.length);\n } else {\n this.value = value.toString().split('').slice(0, this.length);\n }\n } else {\n this.value = value;\n }\n this.updateTokens();\n this.cd.markForCheck();\n }\n\n updateTokens() {\n if (this.value !== null && this.value !== undefined) {\n if (Array.isArray(this.value)) {\n this.tokens = [...this.value];\n } else {\n this.tokens = this.value.toString().split('');\n }\n } else {\n this.tokens = [];\n }\n }\n\n getModelValue(i: number) {\n return this.tokens[i - 1] || '';\n }\n\n getAutofocus(i: number): boolean {\n if (i === 1) {\n return this.autofocus;\n }\n return false;\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 moveToPrev(event) {\n let prevInput = this.findPrevInput(event.target);\n\n if (prevInput) {\n prevInput.focus();\n prevInput.select();\n }\n }\n\n moveToNext(event) {\n let nextInput = this.findNextInput(event.target);\n\n if (nextInput) {\n nextInput.focus();\n nextInput.select();\n }\n }\n\n findNextInput(element) {\n let nextElement = element.nextElementSibling;\n\n if (!nextElement) return;\n\n return nextElement.nodeName === 'INPUT' ? nextElement : this.findNextInput(nextElement);\n }\n\n findPrevInput(element) {\n let prevElement = element.previousElementSibling;\n\n if (!prevElement) return;\n\n return prevElement.nodeName === 'INPUT' ? prevElement : this.findPrevInput(prevElement);\n }\n\n onInputFocus(event) {\n event.target.select();\n this.onFocus.emit(event);\n }\n\n onInputBlur(event) {\n this.onBlur.emit(event);\n }\n\n onKeyDown(event) {\n if (event.altKey || event.ctrlKey || event.metaKey) {\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n this.moveToPrev(event);\n event.preventDefault();\n\n break;\n\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n\n break;\n\n case 'Backspace':\n if (event.target.value.length === 0) {\n this.moveToPrev(event);\n event.preventDefault();\n }\n\n break;\n\n case 'ArrowRight':\n this.moveToNext(event);\n event.preventDefault();\n\n break;\n\n default:\n if ((this.integerOnly && !((event.code.startsWith('Digit') || event.code.startsWith('Numpad')) && Number(event.key) >= 0 && Number(event.key) <= 9)) || (this.tokens.join('').length >= this.length && event.code !== 'Delete')) {\n event.preventDefault();\n }\n\n break;\n }\n }\n\n onPaste(event) {\n if (!this.disabled && !this.readonly) {\n let paste = event.clipboardData.getData('text');\n\n if (paste.length) {\n this.handleOnPaste(paste, event);\n }\n\n event.preventDefault();\n }\n }\n\n handleOnPaste(paste, event) {\n let pastedCode = paste.substring(0, this.length + 1);\n\n if (!this.integerOnly || !isNaN(pastedCode)) {\n this.tokens = pastedCode.split('');\n this.updateModel(event);\n }\n }\n\n getRange(n: number): number[] {\n return Array.from({ length: n }, (_, index) => index + 1);\n }\n\n trackByFn(index: number) {\n return index;\n }\n}\n\n@NgModule({\n imports: [InputOtp, SharedModule],\n exports: [InputOtp, SharedModule]\n})\nexport class InputOtpModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -48,6 +48,16 @@ const theme = ({ dt }) => `
48
48
 
49
49
  .p-listbox-header {
50
50
  padding: ${dt('listbox.list.header.padding')};
51
+ display: flex;
52
+ align-items: center;
53
+ }
54
+
55
+ .p-listbox-header > * {
56
+ flex: 1 1 auto;
57
+ }
58
+
59
+ .p-listbox-header > .p-checkbox {
60
+ flex: 0 0 auto;
51
61
  }
52
62
 
53
63
  .p-listbox-filter {
@@ -482,25 +492,25 @@ function Listbox_ng_template_9_ng_template_2_ng_container_1_p_checkbox_2_ng_cont
482
492
  i0.ɵɵelementContainerEnd();
483
493
  } }
484
494
  function Listbox_ng_template_9_ng_template_2_ng_container_1_p_checkbox_2_Template(rf, ctx) { if (rf & 1) {
485
- i0.ɵɵelementStart(0, "p-checkbox", 31);
495
+ i0.ɵɵelementStart(0, "p-checkbox", 48);
486
496
  i0.ɵɵtemplate(1, Listbox_ng_template_9_ng_template_2_ng_container_1_p_checkbox_2_ng_container_1_Template, 3, 0, "ng-container", 19);
487
497
  i0.ɵɵelementEnd();
488
498
  } if (rf & 2) {
489
499
  const option_r12 = i0.ɵɵnextContext(2).$implicit;
490
500
  const ctx_r1 = i0.ɵɵnextContext(2);
491
- i0.ɵɵproperty("ngModel", ctx_r1.isSelected(option_r12))("disabled", ctx_r1.disabled || ctx_r1.isOptionDisabled(option_r12))("tabindex", -1)("variant", ctx_r1.config.inputStyle() === "filled" ? "filled" : "outlined" || ctx_r1.config.inputVariant() === "filled" ? "filled" : "outlined")("binary", true);
501
+ i0.ɵɵproperty("ngModel", ctx_r1.isSelected(option_r12))("readonly", true)("disabled", ctx_r1.disabled || ctx_r1.isOptionDisabled(option_r12))("tabindex", -1)("variant", ctx_r1.config.inputStyle() === "filled" ? "filled" : "outlined" || ctx_r1.config.inputVariant() === "filled" ? "filled" : "outlined")("binary", true);
492
502
  i0.ɵɵadvance();
493
503
  i0.ɵɵproperty("ngIf", ctx_r1.checkIconTemplate || ctx_r1._checkIconTemplate);
494
504
  } }
495
505
  function Listbox_ng_template_9_ng_template_2_ng_container_1_ng_container_3_ng_container_1_BlankIcon_1_Template(rf, ctx) { if (rf & 1) {
496
- i0.ɵɵelement(0, "BlankIcon", 48);
506
+ i0.ɵɵelement(0, "BlankIcon", 50);
497
507
  } }
498
508
  function Listbox_ng_template_9_ng_template_2_ng_container_1_ng_container_3_ng_container_1_CheckIcon_2_Template(rf, ctx) { if (rf & 1) {
499
- i0.ɵɵelement(0, "CheckIcon", 48);
509
+ i0.ɵɵelement(0, "CheckIcon", 50);
500
510
  } }
501
511
  function Listbox_ng_template_9_ng_template_2_ng_container_1_ng_container_3_ng_container_1_Template(rf, ctx) { if (rf & 1) {
502
512
  i0.ɵɵelementContainerStart(0);
503
- i0.ɵɵtemplate(1, Listbox_ng_template_9_ng_template_2_ng_container_1_ng_container_3_ng_container_1_BlankIcon_1_Template, 1, 0, "BlankIcon", 47)(2, Listbox_ng_template_9_ng_template_2_ng_container_1_ng_container_3_ng_container_1_CheckIcon_2_Template, 1, 0, "CheckIcon", 47);
513
+ i0.ɵɵtemplate(1, Listbox_ng_template_9_ng_template_2_ng_container_1_ng_container_3_ng_container_1_BlankIcon_1_Template, 1, 0, "BlankIcon", 49)(2, Listbox_ng_template_9_ng_template_2_ng_container_1_ng_container_3_ng_container_1_CheckIcon_2_Template, 1, 0, "CheckIcon", 49);
504
514
  i0.ɵɵelementContainerEnd();
505
515
  } if (rf & 2) {
506
516
  const option_r12 = i0.ɵɵnextContext(3).$implicit;
@@ -543,7 +553,7 @@ function Listbox_ng_template_9_ng_template_2_ng_container_1_Template(rf, ctx) {
543
553
  i0.ɵɵelementContainerStart(0);
544
554
  i0.ɵɵelementStart(1, "li", 46);
545
555
  i0.ɵɵlistener("click", function Listbox_ng_template_9_ng_template_2_ng_container_1_Template_li_click_1_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r12 = i0.ɵɵnextContext(); const option_r12 = ctx_r12.$implicit; const i_r14 = ctx_r12.index; const scrollerOptions_r15 = i0.ɵɵnextContext().options; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onOptionSelect($event, option_r12, ctx_r1.getOptionIndex(i_r14, scrollerOptions_r15))); })("dblclick", function Listbox_ng_template_9_ng_template_2_ng_container_1_Template_li_dblclick_1_listener($event) { i0.ɵɵrestoreView(_r16); const option_r12 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onOptionDoubleClick($event, option_r12)); })("mousedown", function Listbox_ng_template_9_ng_template_2_ng_container_1_Template_li_mousedown_1_listener($event) { i0.ɵɵrestoreView(_r16); const i_r14 = i0.ɵɵnextContext().index; const scrollerOptions_r15 = i0.ɵɵnextContext().options; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onOptionMouseDown($event, ctx_r1.getOptionIndex(i_r14, scrollerOptions_r15))); })("mouseenter", function Listbox_ng_template_9_ng_template_2_ng_container_1_Template_li_mouseenter_1_listener($event) { i0.ɵɵrestoreView(_r16); const i_r14 = i0.ɵɵnextContext().index; const scrollerOptions_r15 = i0.ɵɵnextContext().options; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onOptionMouseEnter($event, ctx_r1.getOptionIndex(i_r14, scrollerOptions_r15))); })("touchend", function Listbox_ng_template_9_ng_template_2_ng_container_1_Template_li_touchend_1_listener() { i0.ɵɵrestoreView(_r16); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onOptionTouchEnd()); });
546
- i0.ɵɵtemplate(2, Listbox_ng_template_9_ng_template_2_ng_container_1_p_checkbox_2_Template, 2, 6, "p-checkbox", 30)(3, Listbox_ng_template_9_ng_template_2_ng_container_1_ng_container_3_Template, 3, 5, "ng-container", 19)(4, Listbox_ng_template_9_ng_template_2_ng_container_1_span_4_Template, 2, 1, "span", 19)(5, Listbox_ng_template_9_ng_template_2_ng_container_1_ng_container_5_Template, 1, 0, "ng-container", 24);
556
+ i0.ɵɵtemplate(2, Listbox_ng_template_9_ng_template_2_ng_container_1_p_checkbox_2_Template, 2, 7, "p-checkbox", 47)(3, Listbox_ng_template_9_ng_template_2_ng_container_1_ng_container_3_Template, 3, 5, "ng-container", 19)(4, Listbox_ng_template_9_ng_template_2_ng_container_1_span_4_Template, 2, 1, "span", 19)(5, Listbox_ng_template_9_ng_template_2_ng_container_1_ng_container_5_Template, 1, 0, "ng-container", 24);
547
557
  i0.ɵɵelementEnd();
548
558
  i0.ɵɵelementContainerEnd();
549
559
  } if (rf & 2) {
@@ -589,7 +599,7 @@ function Listbox_ng_template_9_li_3_Conditional_2_Template(rf, ctx) { if (rf & 1
589
599
  i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.emptyFilterTemplate || ctx_r1._emptyFilterTemplate || ctx_r1._emptyTemplate || ctx_r1.emptyTemplate);
590
600
  } }
591
601
  function Listbox_ng_template_9_li_3_Template(rf, ctx) { if (rf & 1) {
592
- i0.ɵɵelementStart(0, "li", 49);
602
+ i0.ɵɵelementStart(0, "li", 51);
593
603
  i0.ɵɵtemplate(1, Listbox_ng_template_9_li_3_Conditional_1_Template, 1, 1)(2, Listbox_ng_template_9_li_3_Conditional_2_Template, 1, 1, "ng-container");
594
604
  i0.ɵɵelementEnd();
595
605
  } if (rf & 2) {
@@ -613,7 +623,7 @@ function Listbox_ng_template_9_li_4_Conditional_2_Template(rf, ctx) { if (rf & 1
613
623
  i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.emptyTemplate || ctx_r1._emptyTemplate);
614
624
  } }
615
625
  function Listbox_ng_template_9_li_4_Template(rf, ctx) { if (rf & 1) {
616
- i0.ɵɵelementStart(0, "li", 49);
626
+ i0.ɵɵelementStart(0, "li", 51);
617
627
  i0.ɵɵtemplate(1, Listbox_ng_template_9_li_4_Conditional_1_Template, 1, 1)(2, Listbox_ng_template_9_li_4_Conditional_2_Template, 1, 1, "ng-container");
618
628
  i0.ɵɵelementEnd();
619
629
  } if (rf & 2) {
@@ -645,7 +655,7 @@ function Listbox_div_11_ng_container_2_Template(rf, ctx) { if (rf & 1) {
645
655
  i0.ɵɵelementContainer(0);
646
656
  } }
647
657
  function Listbox_div_11_Template(rf, ctx) { if (rf & 1) {
648
- i0.ɵɵelementStart(0, "div", 50);
658
+ i0.ɵɵelementStart(0, "div", 52);
649
659
  i0.ɵɵprojection(1, 1);
650
660
  i0.ɵɵtemplate(2, Listbox_div_11_ng_container_2_Template, 1, 0, "ng-container", 24);
651
661
  i0.ɵɵelementEnd();
@@ -1111,7 +1121,7 @@ class Listbox extends BaseComponent {
1111
1121
  return !this.virtualScroll;
1112
1122
  }
1113
1123
  get searchFields() {
1114
- return this.filterFields || [this.optionLabel];
1124
+ return this.filterBy?.split(',') || this.filterFields || [this.optionLabel];
1115
1125
  }
1116
1126
  get toggleAllAriaLabel() {
1117
1127
  return this.config.translation.aria ? this.config.translation.aria[this.allSelected() ? 'selectAll' : 'unselectAll'] : undefined;
@@ -1814,7 +1824,7 @@ class Listbox extends BaseComponent {
1814
1824
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.scroller = _t.first);
1815
1825
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.listViewChild = _t.first);
1816
1826
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.containerViewChild = _t.first);
1817
- } }, inputs: { id: "id", searchMessage: "searchMessage", emptySelectionMessage: "emptySelectionMessage", selectionMessage: "selectionMessage", autoOptionFocus: [2, "autoOptionFocus", "autoOptionFocus", booleanAttribute], ariaLabel: "ariaLabel", selectOnFocus: [2, "selectOnFocus", "selectOnFocus", booleanAttribute], searchLocale: [2, "searchLocale", "searchLocale", booleanAttribute], focusOnHover: [2, "focusOnHover", "focusOnHover", booleanAttribute], filterMessage: "filterMessage", filterFields: "filterFields", lazy: [2, "lazy", "lazy", booleanAttribute], virtualScroll: [2, "virtualScroll", "virtualScroll", booleanAttribute], virtualScrollItemSize: [2, "virtualScrollItemSize", "virtualScrollItemSize", numberAttribute], virtualScrollOptions: "virtualScrollOptions", scrollHeight: "scrollHeight", tabindex: [2, "tabindex", "tabindex", numberAttribute], multiple: [2, "multiple", "multiple", booleanAttribute], style: "style", styleClass: "styleClass", listStyle: "listStyle", listStyleClass: "listStyleClass", readonly: [2, "readonly", "readonly", booleanAttribute], disabled: [2, "disabled", "disabled", booleanAttribute], checkbox: [2, "checkbox", "checkbox", booleanAttribute], filter: [2, "filter", "filter", booleanAttribute], filterBy: "filterBy", filterMatchMode: "filterMatchMode", filterLocale: "filterLocale", metaKeySelection: [2, "metaKeySelection", "metaKeySelection", booleanAttribute], dataKey: "dataKey", showToggleAll: [2, "showToggleAll", "showToggleAll", booleanAttribute], optionLabel: "optionLabel", optionValue: "optionValue", optionGroupChildren: "optionGroupChildren", optionGroupLabel: "optionGroupLabel", optionDisabled: "optionDisabled", ariaFilterLabel: "ariaFilterLabel", filterPlaceHolder: "filterPlaceHolder", emptyFilterMessage: "emptyFilterMessage", emptyMessage: "emptyMessage", group: [2, "group", "group", booleanAttribute], options: "options", filterValue: "filterValue", selectAll: "selectAll", striped: [2, "striped", "striped", booleanAttribute], highlightOnSelect: [2, "highlightOnSelect", "highlightOnSelect", booleanAttribute], checkmark: [2, "checkmark", "checkmark", booleanAttribute] }, outputs: { onChange: "onChange", onClick: "onClick", onDblClick: "onDblClick", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onSelectAllChange: "onSelectAllChange", onLazyLoad: "onLazyLoad" }, features: [i0.ɵɵProvidersFeature([LISTBOX_VALUE_ACCESSOR, ListBoxStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c18, decls: 17, vars: 25, consts: [["firstHiddenFocusableElement", ""], ["container", ""], ["buildInItems", ""], ["lastHiddenFocusableElement", ""], ["builtInFilterElement", ""], ["headerchkbox", ""], ["icon", ""], ["filterInput", ""], ["scroller", ""], ["content", ""], ["loader", ""], ["list", ""], ["emptyFilter", ""], ["empty", ""], [3, "focusout", "ngClass", "ngStyle"], ["role", "presentation", 1, "p-hidden-accessible", "p-hidden-focusable", 3, "focus", "tabindex"], ["class", "p-listbox-header", 4, "ngIf"], [3, "ngClass", "ngStyle"], [3, "items", "style", "itemSize", "autoSize", "lazy", "options", "tabindex", "onLazyLoad", 4, "ngIf"], [4, "ngIf"], ["class", "p-listbox-footer", 4, "ngIf"], ["role", "status", "aria-live", "polite", "class", "p-hidden-accessible", 4, "ngIf"], ["role", "status", "aria-live", "polite", 1, "p-hidden-accessible"], [1, "p-listbox-header"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "p-checkbox p-component", 3, "ngClass", "click", "keydown", 4, "ngIf"], [4, "ngIf", "ngIfElse"], [1, "p-checkbox", "p-component", 3, "click", "keydown", "ngClass"], [1, "p-hidden-accessible"], ["type", "checkbox", "readonly", "readonly", 3, "focus", "blur", "disabled"], ["styleClass", "p-listbox-option-check-icon", 3, "ngModel", "disabled", "tabindex", "variant", "binary", 4, "ngIf"], ["styleClass", "p-listbox-option-check-icon", 3, "ngModel", "disabled", "tabindex", "variant", "binary"], ["class", "p-listbox-filter-container", 4, "ngIf"], ["role", "status", "attr.aria-live", "polite", 1, "p-hidden-accessible"], [1, "p-listbox-filter-container"], ["pInputText", "", "type", "text", "role", "searchbox", 1, "p-listbox-filter", 3, "input", "keydown", "focus", "blur", "value", "disabled", "tabindex"], [3, "styleClass", 4, "ngIf"], ["class", "p-listbox-filter-icon", 4, "ngIf"], [3, "styleClass"], [1, "p-listbox-filter-icon"], [4, "ngTemplateOutlet"], [3, "onLazyLoad", "items", "itemSize", "autoSize", "lazy", "options", "tabindex"], ["role", "listbox", 1, "p-listbox-list", 3, "focus", "blur", "keydown", "tabindex", "ngClass"], ["ngFor", "", 3, "ngForOf"], ["class", "p-listbox-empty-message", "role", "option", 4, "ngIf"], ["role", "option", 1, "p-listbox-option-group", 3, "ngStyle"], ["pRipple", "", "role", "option", 1, "p-listbox-option", 3, "click", "dblclick", "mousedown", "mouseenter", "touchend", "ngStyle", "ngClass"], ["styleClass", "p-listbox-option-check-icon", 4, "ngIf"], ["styleClass", "p-listbox-option-check-icon"], ["role", "option", 1, "p-listbox-empty-message"], [1, "p-listbox-footer"]], template: function Listbox_Template(rf, ctx) { if (rf & 1) {
1827
+ } }, inputs: { id: "id", searchMessage: "searchMessage", emptySelectionMessage: "emptySelectionMessage", selectionMessage: "selectionMessage", autoOptionFocus: [2, "autoOptionFocus", "autoOptionFocus", booleanAttribute], ariaLabel: "ariaLabel", selectOnFocus: [2, "selectOnFocus", "selectOnFocus", booleanAttribute], searchLocale: [2, "searchLocale", "searchLocale", booleanAttribute], focusOnHover: [2, "focusOnHover", "focusOnHover", booleanAttribute], filterMessage: "filterMessage", filterFields: "filterFields", lazy: [2, "lazy", "lazy", booleanAttribute], virtualScroll: [2, "virtualScroll", "virtualScroll", booleanAttribute], virtualScrollItemSize: [2, "virtualScrollItemSize", "virtualScrollItemSize", numberAttribute], virtualScrollOptions: "virtualScrollOptions", scrollHeight: "scrollHeight", tabindex: [2, "tabindex", "tabindex", numberAttribute], multiple: [2, "multiple", "multiple", booleanAttribute], style: "style", styleClass: "styleClass", listStyle: "listStyle", listStyleClass: "listStyleClass", readonly: [2, "readonly", "readonly", booleanAttribute], disabled: [2, "disabled", "disabled", booleanAttribute], checkbox: [2, "checkbox", "checkbox", booleanAttribute], filter: [2, "filter", "filter", booleanAttribute], filterBy: "filterBy", filterMatchMode: "filterMatchMode", filterLocale: "filterLocale", metaKeySelection: [2, "metaKeySelection", "metaKeySelection", booleanAttribute], dataKey: "dataKey", showToggleAll: [2, "showToggleAll", "showToggleAll", booleanAttribute], optionLabel: "optionLabel", optionValue: "optionValue", optionGroupChildren: "optionGroupChildren", optionGroupLabel: "optionGroupLabel", optionDisabled: "optionDisabled", ariaFilterLabel: "ariaFilterLabel", filterPlaceHolder: "filterPlaceHolder", emptyFilterMessage: "emptyFilterMessage", emptyMessage: "emptyMessage", group: [2, "group", "group", booleanAttribute], options: "options", filterValue: "filterValue", selectAll: "selectAll", striped: [2, "striped", "striped", booleanAttribute], highlightOnSelect: [2, "highlightOnSelect", "highlightOnSelect", booleanAttribute], checkmark: [2, "checkmark", "checkmark", booleanAttribute] }, outputs: { onChange: "onChange", onClick: "onClick", onDblClick: "onDblClick", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onSelectAllChange: "onSelectAllChange", onLazyLoad: "onLazyLoad" }, features: [i0.ɵɵProvidersFeature([LISTBOX_VALUE_ACCESSOR, ListBoxStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c18, decls: 17, vars: 25, consts: [["firstHiddenFocusableElement", ""], ["container", ""], ["buildInItems", ""], ["lastHiddenFocusableElement", ""], ["builtInFilterElement", ""], ["headerchkbox", ""], ["icon", ""], ["filterInput", ""], ["scroller", ""], ["content", ""], ["loader", ""], ["list", ""], ["emptyFilter", ""], ["empty", ""], [3, "focusout", "ngClass", "ngStyle"], ["role", "presentation", 1, "p-hidden-accessible", "p-hidden-focusable", 3, "focus", "tabindex"], ["class", "p-listbox-header", 4, "ngIf"], [3, "ngClass", "ngStyle"], [3, "items", "style", "itemSize", "autoSize", "lazy", "options", "tabindex", "onLazyLoad", 4, "ngIf"], [4, "ngIf"], ["class", "p-listbox-footer", 4, "ngIf"], ["role", "status", "aria-live", "polite", "class", "p-hidden-accessible", 4, "ngIf"], ["role", "status", "aria-live", "polite", 1, "p-hidden-accessible"], [1, "p-listbox-header"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "p-checkbox p-component", 3, "ngClass", "click", "keydown", 4, "ngIf"], [4, "ngIf", "ngIfElse"], [1, "p-checkbox", "p-component", 3, "click", "keydown", "ngClass"], [1, "p-hidden-accessible"], ["type", "checkbox", "readonly", "readonly", 3, "focus", "blur", "disabled"], ["styleClass", "p-listbox-option-check-icon", 3, "ngModel", "disabled", "tabindex", "variant", "binary", 4, "ngIf"], ["styleClass", "p-listbox-option-check-icon", 3, "ngModel", "disabled", "tabindex", "variant", "binary"], ["class", "p-listbox-filter-container", 4, "ngIf"], ["role", "status", "attr.aria-live", "polite", 1, "p-hidden-accessible"], [1, "p-listbox-filter-container"], ["pInputText", "", "type", "text", "role", "searchbox", 1, "p-listbox-filter", 3, "input", "keydown", "focus", "blur", "value", "disabled", "tabindex"], [3, "styleClass", 4, "ngIf"], ["class", "p-listbox-filter-icon", 4, "ngIf"], [3, "styleClass"], [1, "p-listbox-filter-icon"], [4, "ngTemplateOutlet"], [3, "onLazyLoad", "items", "itemSize", "autoSize", "lazy", "options", "tabindex"], ["role", "listbox", 1, "p-listbox-list", 3, "focus", "blur", "keydown", "tabindex", "ngClass"], ["ngFor", "", 3, "ngForOf"], ["class", "p-listbox-empty-message", "role", "option", 4, "ngIf"], ["role", "option", 1, "p-listbox-option-group", 3, "ngStyle"], ["pRipple", "", "role", "option", 1, "p-listbox-option", 3, "click", "dblclick", "mousedown", "mouseenter", "touchend", "ngStyle", "ngClass"], ["styleClass", "p-listbox-option-check-icon", 3, "ngModel", "readonly", "disabled", "tabindex", "variant", "binary", 4, "ngIf"], ["styleClass", "p-listbox-option-check-icon", 3, "ngModel", "readonly", "disabled", "tabindex", "variant", "binary"], ["styleClass", "p-listbox-option-check-icon", 4, "ngIf"], ["styleClass", "p-listbox-option-check-icon"], ["role", "option", 1, "p-listbox-empty-message"], [1, "p-listbox-footer"]], template: function Listbox_Template(rf, ctx) { if (rf & 1) {
1818
1828
  const _r1 = i0.ɵɵgetCurrentView();
1819
1829
  i0.ɵɵprojectionDef(_c17);
1820
1830
  i0.ɵɵelementStart(0, "div", 14);
@@ -2020,6 +2030,7 @@ class Listbox extends BaseComponent {
2020
2030
  *ngIf="checkbox && multiple"
2021
2031
  styleClass="p-listbox-option-check-icon"
2022
2032
  [ngModel]="isSelected(option)"
2033
+ [readonly]="true"
2023
2034
  [disabled]="disabled || isOptionDisabled(option)"
2024
2035
  [tabindex]="-1"
2025
2036
  [variant]="config.inputStyle() === 'filled' ? 'filled' : 'outlined' || config.inputVariant() === 'filled' ? 'filled' : 'outlined'"
@@ -2290,7 +2301,7 @@ class Listbox extends BaseComponent {
2290
2301
  type: ContentChildren,
2291
2302
  args: [PrimeTemplate]
2292
2303
  }] }); })();
2293
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(Listbox, { className: "Listbox", filePath: "listbox.ts", lineNumber: 280 }); })();
2304
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(Listbox, { className: "Listbox", filePath: "listbox.ts", lineNumber: 281 }); })();
2294
2305
  class ListboxModule {
2295
2306
  static ɵfac = function ListboxModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ListboxModule)(); };
2296
2307
  static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ListboxModule });