primeng 17.3.0 → 17.3.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 (133) hide show
  1. package/accordion/accordion.d.ts +2 -0
  2. package/autocomplete/autocomplete.d.ts +3 -3
  3. package/checkbox/checkbox.d.ts +6 -3
  4. package/dropdown/dropdown.d.ts +2 -1
  5. package/esm2022/accordion/accordion.mjs +19 -7
  6. package/esm2022/autocomplete/autocomplete.mjs +4 -1
  7. package/esm2022/calendar/calendar.mjs +4 -1
  8. package/esm2022/checkbox/checkbox.mjs +43 -26
  9. package/esm2022/dropdown/dropdown.mjs +20 -7
  10. package/esm2022/inputnumber/inputnumber.mjs +2 -2
  11. package/esm2022/listbox/listbox.mjs +2 -2
  12. package/esm2022/megamenu/megamenu.mjs +8 -8
  13. package/esm2022/menubar/menubar.mjs +3 -3
  14. package/esm2022/multiselect/multiselect.mjs +7 -5
  15. package/esm2022/orderlist/orderlist.mjs +2 -2
  16. package/esm2022/panel/panel.mjs +2 -4
  17. package/esm2022/picklist/picklist.mjs +2 -2
  18. package/esm2022/scroller/scroller.mjs +11 -11
  19. package/esm2022/scrollpanel/scrollpanel.mjs +8 -1
  20. package/esm2022/sidebar/sidebar.mjs +2 -1
  21. package/esm2022/steps/steps.mjs +3 -1
  22. package/esm2022/table/table.mjs +37 -45
  23. package/esm2022/tieredmenu/tieredmenu.mjs +3 -1
  24. package/esm2022/toast/toast.mjs +5 -5
  25. package/esm2022/tree/tree.mjs +6 -6
  26. package/esm2022/treeselect/treeselect.mjs +10 -2
  27. package/esm2022/treetable/treetable.mjs +3 -2
  28. package/esm2022/utils/objectutils.mjs +43 -1
  29. package/fesm2022/primeng-accordion.mjs +18 -6
  30. package/fesm2022/primeng-accordion.mjs.map +1 -1
  31. package/fesm2022/primeng-autocomplete.mjs +3 -0
  32. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  33. package/fesm2022/primeng-calendar.mjs +3 -0
  34. package/fesm2022/primeng-calendar.mjs.map +1 -1
  35. package/fesm2022/primeng-checkbox.mjs +42 -25
  36. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  37. package/fesm2022/primeng-dropdown.mjs +19 -6
  38. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  39. package/fesm2022/primeng-inputnumber.mjs +1 -1
  40. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  41. package/fesm2022/primeng-listbox.mjs +1 -1
  42. package/fesm2022/primeng-listbox.mjs.map +1 -1
  43. package/fesm2022/primeng-megamenu.mjs +7 -7
  44. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  45. package/fesm2022/primeng-menubar.mjs +2 -2
  46. package/fesm2022/primeng-menubar.mjs.map +1 -1
  47. package/fesm2022/primeng-multiselect.mjs +6 -4
  48. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  49. package/fesm2022/primeng-orderlist.mjs +1 -1
  50. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  51. package/fesm2022/primeng-panel.mjs +1 -3
  52. package/fesm2022/primeng-panel.mjs.map +1 -1
  53. package/fesm2022/primeng-picklist.mjs +1 -1
  54. package/fesm2022/primeng-picklist.mjs.map +1 -1
  55. package/fesm2022/primeng-scroller.mjs +10 -10
  56. package/fesm2022/primeng-scroller.mjs.map +1 -1
  57. package/fesm2022/primeng-scrollpanel.mjs +7 -0
  58. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  59. package/fesm2022/primeng-sidebar.mjs +1 -0
  60. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  61. package/fesm2022/primeng-steps.mjs +2 -0
  62. package/fesm2022/primeng-steps.mjs.map +1 -1
  63. package/fesm2022/primeng-table.mjs +36 -44
  64. package/fesm2022/primeng-table.mjs.map +1 -1
  65. package/fesm2022/primeng-tieredmenu.mjs +2 -0
  66. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  67. package/fesm2022/primeng-toast.mjs +4 -4
  68. package/fesm2022/primeng-toast.mjs.map +1 -1
  69. package/fesm2022/primeng-tree.mjs +5 -5
  70. package/fesm2022/primeng-tree.mjs.map +1 -1
  71. package/fesm2022/primeng-treeselect.mjs +9 -1
  72. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  73. package/fesm2022/primeng-treetable.mjs +2 -1
  74. package/fesm2022/primeng-treetable.mjs.map +1 -1
  75. package/fesm2022/primeng-utils.mjs +42 -0
  76. package/fesm2022/primeng-utils.mjs.map +1 -1
  77. package/package.json +220 -220
  78. package/panel/panel.d.ts +1 -1
  79. package/resources/themes/arya-blue/theme.css +239 -420
  80. package/resources/themes/arya-green/theme.css +239 -420
  81. package/resources/themes/arya-orange/theme.css +239 -420
  82. package/resources/themes/arya-purple/theme.css +239 -420
  83. package/resources/themes/bootstrap4-dark-blue/theme.css +239 -421
  84. package/resources/themes/bootstrap4-dark-purple/theme.css +239 -421
  85. package/resources/themes/bootstrap4-light-blue/theme.css +239 -421
  86. package/resources/themes/bootstrap4-light-purple/theme.css +239 -421
  87. package/resources/themes/fluent-light/theme.css +250 -447
  88. package/resources/themes/lara-dark-blue/theme.css +241 -436
  89. package/resources/themes/lara-dark-indigo/theme.css +241 -436
  90. package/resources/themes/lara-dark-purple/theme.css +241 -436
  91. package/resources/themes/lara-dark-teal/theme.css +241 -436
  92. package/resources/themes/lara-light-blue/theme.css +249 -441
  93. package/resources/themes/lara-light-indigo/theme.css +249 -441
  94. package/resources/themes/lara-light-purple/theme.css +249 -441
  95. package/resources/themes/lara-light-teal/theme.css +249 -441
  96. package/resources/themes/luna-amber/theme.css +252 -434
  97. package/resources/themes/luna-blue/theme.css +252 -434
  98. package/resources/themes/luna-green/theme.css +252 -434
  99. package/resources/themes/luna-pink/theme.css +252 -434
  100. package/resources/themes/md-dark-deeppurple/theme.css +417 -679
  101. package/resources/themes/md-dark-indigo/theme.css +417 -679
  102. package/resources/themes/md-light-deeppurple/theme.css +278 -540
  103. package/resources/themes/md-light-indigo/theme.css +278 -540
  104. package/resources/themes/mdc-dark-deeppurple/theme.css +417 -679
  105. package/resources/themes/mdc-dark-indigo/theme.css +417 -679
  106. package/resources/themes/mdc-light-deeppurple/theme.css +278 -540
  107. package/resources/themes/mdc-light-indigo/theme.css +278 -540
  108. package/resources/themes/mira/theme.css +246 -458
  109. package/resources/themes/nano/theme.css +239 -418
  110. package/resources/themes/nova/theme.css +239 -422
  111. package/resources/themes/nova-accent/theme.css +239 -419
  112. package/resources/themes/nova-alt/theme.css +239 -422
  113. package/resources/themes/rhea/theme.css +239 -419
  114. package/resources/themes/saga-blue/theme.css +239 -420
  115. package/resources/themes/saga-green/theme.css +239 -420
  116. package/resources/themes/saga-orange/theme.css +239 -420
  117. package/resources/themes/saga-purple/theme.css +239 -420
  118. package/resources/themes/soho-dark/theme.css +270 -454
  119. package/resources/themes/soho-light/theme.css +244 -430
  120. package/resources/themes/tailwind-light/theme.css +269 -463
  121. package/resources/themes/vela-blue/theme.css +239 -420
  122. package/resources/themes/vela-green/theme.css +239 -420
  123. package/resources/themes/vela-orange/theme.css +239 -420
  124. package/resources/themes/vela-purple/theme.css +239 -420
  125. package/resources/themes/viva-dark/theme.css +244 -444
  126. package/resources/themes/viva-light/theme.css +244 -444
  127. package/scroller/scroller.d.ts +2 -2
  128. package/scrollpanel/scrollpanel.d.ts +1 -0
  129. package/table/table.d.ts +2 -3
  130. package/toast/toast.d.ts +1 -1
  131. package/treeselect/treeselect.d.ts +1 -0
  132. package/treetable/treetable.d.ts +1 -1
  133. package/utils/objectutils.d.ts +1 -0
@@ -145,27 +145,39 @@ class Checkbox {
145
145
  }
146
146
  });
147
147
  }
148
- onClick(event) {
149
- if (!this.disabled && !this.readonly) {
150
- this.inputViewChild.nativeElement.focus();
151
- let newModelValue;
152
- if (!this.binary) {
153
- if (this.checked())
154
- newModelValue = this.model.filter((val) => !ObjectUtils.equals(val, this.value));
155
- else
156
- newModelValue = this.model ? [...this.model, this.value] : [this.value];
157
- this.onModelChange(newModelValue);
158
- this.model = newModelValue;
159
- if (this.formControl) {
160
- this.formControl.setValue(newModelValue);
161
- }
162
- }
163
- else {
164
- newModelValue = this.checked() ? this.falseValue : this.trueValue;
165
- this.model = newModelValue;
166
- this.onModelChange(newModelValue);
148
+ onClick(event, checkbox, focus) {
149
+ event.preventDefault();
150
+ if (this.disabled || this.readonly) {
151
+ return;
152
+ }
153
+ this.updateModel(event);
154
+ if (focus) {
155
+ checkbox.focus();
156
+ }
157
+ }
158
+ updateModel(event) {
159
+ let newModelValue;
160
+ if (!this.binary) {
161
+ if (this.checked())
162
+ newModelValue = this.model.filter((val) => !ObjectUtils.equals(val, this.value));
163
+ else
164
+ newModelValue = this.model ? [...this.model, this.value] : [this.value];
165
+ this.onModelChange(newModelValue);
166
+ this.model = newModelValue;
167
+ if (this.formControl) {
168
+ this.formControl.setValue(newModelValue);
167
169
  }
168
- this.onChange.emit({ checked: newModelValue, originalEvent: event });
170
+ }
171
+ else {
172
+ newModelValue = this.checked() ? this.falseValue : this.trueValue;
173
+ this.model = newModelValue;
174
+ this.onModelChange(newModelValue);
175
+ }
176
+ this.onChange.emit({ checked: newModelValue, originalEvent: event });
177
+ }
178
+ handleChange(event) {
179
+ if (!this.readonly) {
180
+ this.updateModel(event);
169
181
  }
170
182
  }
171
183
  onInputFocus(event) {
@@ -174,8 +186,11 @@ class Checkbox {
174
186
  }
175
187
  onInputBlur(event) {
176
188
  this.focused = false;
177
- this.onModelTouched();
178
189
  this.onBlur.emit(event);
190
+ this.onModelTouched();
191
+ }
192
+ focus() {
193
+ this.inputViewChild.nativeElement.focus();
179
194
  }
180
195
  writeValue(model) {
181
196
  this.model = model;
@@ -202,7 +217,6 @@ class Checkbox {
202
217
  [class]="styleClass"
203
218
  [attr.data-pc-name]="'checkbox'"
204
219
  [attr.data-pc-section]="'root'"
205
- (click)="onClick($event)"
206
220
  >
207
221
  <div class="p-hidden-accessible" [attr.data-pc-section]="'hiddenInputWrapper'" [attr.data-p-hidden-accessible]="true">
208
222
  <input
@@ -219,6 +233,7 @@ class Checkbox {
219
233
  [attr.aria-labelledby]="ariaLabelledBy"
220
234
  [attr.aria-label]="ariaLabel"
221
235
  [attr.aria-checked]="checked()"
236
+ (change)="handleChange($event)"
222
237
  (focus)="onInputFocus($event)"
223
238
  (blur)="onInputBlur($event)"
224
239
  [attr.data-pc-section]="'hiddenInput'"
@@ -227,6 +242,7 @@ class Checkbox {
227
242
  <div
228
243
  class="p-checkbox-box"
229
244
  [ngClass]="{ 'p-highlight': checked(), 'p-disabled': disabled, 'p-focus': focused }"
245
+ (click)="onClick($event, input, true)"
230
246
  [attr.data-p-highlight]="checked()"
231
247
  [attr.data-p-disabled]="disabled"
232
248
  [attr.data-p-focused]="focused"
@@ -244,7 +260,7 @@ class Checkbox {
244
260
  </div>
245
261
  </div>
246
262
  <label
247
- (click)="onClick($event)"
263
+ (click)="onClick($event, input, true)"
248
264
  [class]="labelStyleClass"
249
265
  [ngClass]="{ 'p-checkbox-label': true, 'p-checkbox-label-active': checked(), 'p-disabled': disabled, 'p-checkbox-label-focus': focused }"
250
266
  *ngIf="label"
@@ -264,7 +280,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
264
280
  [class]="styleClass"
265
281
  [attr.data-pc-name]="'checkbox'"
266
282
  [attr.data-pc-section]="'root'"
267
- (click)="onClick($event)"
268
283
  >
269
284
  <div class="p-hidden-accessible" [attr.data-pc-section]="'hiddenInputWrapper'" [attr.data-p-hidden-accessible]="true">
270
285
  <input
@@ -281,6 +296,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
281
296
  [attr.aria-labelledby]="ariaLabelledBy"
282
297
  [attr.aria-label]="ariaLabel"
283
298
  [attr.aria-checked]="checked()"
299
+ (change)="handleChange($event)"
284
300
  (focus)="onInputFocus($event)"
285
301
  (blur)="onInputBlur($event)"
286
302
  [attr.data-pc-section]="'hiddenInput'"
@@ -289,6 +305,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
289
305
  <div
290
306
  class="p-checkbox-box"
291
307
  [ngClass]="{ 'p-highlight': checked(), 'p-disabled': disabled, 'p-focus': focused }"
308
+ (click)="onClick($event, input, true)"
292
309
  [attr.data-p-highlight]="checked()"
293
310
  [attr.data-p-disabled]="disabled"
294
311
  [attr.data-p-focused]="focused"
@@ -306,7 +323,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
306
323
  </div>
307
324
  </div>
308
325
  <label
309
- (click)="onClick($event)"
326
+ (click)="onClick($event, input, true)"
310
327
  [class]="labelStyleClass"
311
328
  [ngClass]="{ 'p-checkbox-label': true, 'p-checkbox-label-active': checked(), 'p-disabled': disabled, 'p-checkbox-label-focus': focused }"
312
329
  *ngIf="label"
@@ -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":"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"}
@@ -279,12 +279,12 @@ class Dropdown {
279
279
  optionGroupChildren = 'items';
280
280
  /**
281
281
  * Whether to display the first item as the label if no placeholder is defined and value is null.
282
+ * @deprecated since v17.3.0, set initial value by model instead.
282
283
  * @group Props
283
284
  */
284
285
  autoDisplayFirst = true;
285
286
  /**
286
287
  * Whether to display options as grouped when nested options are provided.
287
- * @deprecated since v17.3.0, set initial value by model instead.
288
288
  * @group Props
289
289
  */
290
290
  group;
@@ -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.
@@ -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) {
@@ -819,6 +822,11 @@ class Dropdown {
819
822
  this.editableInputViewChild.nativeElement.value = ObjectUtils.isNotEmpty(this.selectedOption) ? this.getOptionLabel(this.selectedOption) : this.editableInputViewChild.nativeElement.value;
820
823
  }
821
824
  }
825
+ clearEditableLabel() {
826
+ if (this.editableInputViewChild) {
827
+ this.editableInputViewChild.nativeElement.value = '';
828
+ }
829
+ }
822
830
  getOptionIndex(index, scrollerOptions) {
823
831
  return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];
824
832
  }
@@ -1240,7 +1248,7 @@ class Dropdown {
1240
1248
  event.preventDefault();
1241
1249
  }
1242
1250
  else {
1243
- if (this.focusedOptionIndex() !== -1) {
1251
+ if (this.focusedOptionIndex() !== -1 && this.overlayVisible) {
1244
1252
  const option = this.visibleOptions()[this.focusedOptionIndex()];
1245
1253
  this.onOptionSelect(event, option);
1246
1254
  }
@@ -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,6 +1370,8 @@ 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>
@@ -1564,6 +1575,8 @@ 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>