primeng 16.6.0 → 16.7.1

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 (179) hide show
  1. package/animate/animate.d.ts +3 -2
  2. package/animateonscroll/animateonscroll.d.ts +73 -0
  3. package/animateonscroll/index.d.ts +5 -0
  4. package/animateonscroll/public_api.d.ts +1 -0
  5. package/api/primengconfig.d.ts +1 -0
  6. package/autocomplete/autocomplete.d.ts +177 -54
  7. package/autocomplete/autocomplete.interface.d.ts +30 -0
  8. package/cascadeselect/cascadeselect.d.ts +188 -68
  9. package/cascadeselect/cascadeselect.interface.d.ts +19 -0
  10. package/checkbox/checkbox.d.ts +1 -4
  11. package/chips/chips.d.ts +21 -5
  12. package/colorpicker/colorpicker.d.ts +5 -5
  13. package/contextmenu/contextmenu.d.ts +1 -0
  14. package/dialog/dialog.d.ts +1 -2
  15. package/dom/domhandler.d.ts +4 -1
  16. package/dropdown/dropdown.d.ts +115 -37
  17. package/esm2022/accordion/accordion.mjs +11 -7
  18. package/esm2022/animate/animate.mjs +4 -1
  19. package/esm2022/animateonscroll/animateonscroll.mjs +185 -0
  20. package/esm2022/animateonscroll/primeng-animateonscroll.mjs +5 -0
  21. package/esm2022/animateonscroll/public_api.mjs +2 -0
  22. package/esm2022/api/primengconfig.mjs +2 -1
  23. package/esm2022/autocomplete/autocomplete.interface.mjs +1 -1
  24. package/esm2022/autocomplete/autocomplete.mjs +893 -617
  25. package/esm2022/carousel/carousel.mjs +5 -1
  26. package/esm2022/cascadeselect/cascadeselect.interface.mjs +1 -1
  27. package/esm2022/cascadeselect/cascadeselect.mjs +921 -482
  28. package/esm2022/checkbox/checkbox.mjs +90 -73
  29. package/esm2022/chips/chips.mjs +197 -53
  30. package/esm2022/colorpicker/colorpicker.mjs +56 -37
  31. package/esm2022/contextmenu/contextmenu.mjs +10 -1
  32. package/esm2022/dialog/dialog.mjs +6 -11
  33. package/esm2022/dom/domhandler.mjs +26 -8
  34. package/esm2022/dropdown/dropdown.mjs +711 -587
  35. package/esm2022/inputmask/inputmask.mjs +22 -9
  36. package/esm2022/inputnumber/inputnumber.mjs +142 -83
  37. package/esm2022/inputswitch/inputswitch.mjs +55 -49
  38. package/esm2022/knob/knob.mjs +92 -5
  39. package/esm2022/listbox/listbox.interface.mjs +1 -1
  40. package/esm2022/listbox/listbox.mjs +998 -455
  41. package/esm2022/multiselect/multiselect.mjs +1024 -604
  42. package/esm2022/overlaypanel/overlaypanel.mjs +2 -2
  43. package/esm2022/paginator/paginator.mjs +2 -2
  44. package/esm2022/password/password.mjs +29 -28
  45. package/esm2022/radiobutton/radiobutton.mjs +46 -33
  46. package/esm2022/rating/rating.mjs +172 -80
  47. package/esm2022/selectbutton/selectbutton.mjs +105 -33
  48. package/esm2022/slider/slider.mjs +151 -66
  49. package/esm2022/table/table.mjs +3 -3
  50. package/esm2022/togglebutton/togglebutton.mjs +47 -10
  51. package/esm2022/treetable/treetable.mjs +21 -25
  52. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +53 -35
  53. package/fesm2022/primeng-accordion.mjs +10 -6
  54. package/fesm2022/primeng-accordion.mjs.map +1 -1
  55. package/fesm2022/primeng-animate.mjs +3 -0
  56. package/fesm2022/primeng-animate.mjs.map +1 -1
  57. package/fesm2022/primeng-animateonscroll.mjs +190 -0
  58. package/fesm2022/primeng-animateonscroll.mjs.map +1 -0
  59. package/fesm2022/primeng-api.mjs +1 -0
  60. package/fesm2022/primeng-api.mjs.map +1 -1
  61. package/fesm2022/primeng-autocomplete.mjs +893 -617
  62. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  63. package/fesm2022/primeng-carousel.mjs +4 -0
  64. package/fesm2022/primeng-carousel.mjs.map +1 -1
  65. package/fesm2022/primeng-cascadeselect.mjs +920 -481
  66. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  67. package/fesm2022/primeng-checkbox.mjs +89 -72
  68. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  69. package/fesm2022/primeng-chips.mjs +195 -51
  70. package/fesm2022/primeng-chips.mjs.map +1 -1
  71. package/fesm2022/primeng-colorpicker.mjs +55 -36
  72. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  73. package/fesm2022/primeng-contextmenu.mjs +9 -0
  74. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  75. package/fesm2022/primeng-dialog.mjs +5 -10
  76. package/fesm2022/primeng-dialog.mjs.map +1 -1
  77. package/fesm2022/primeng-dom.mjs +25 -7
  78. package/fesm2022/primeng-dom.mjs.map +1 -1
  79. package/fesm2022/primeng-dropdown.mjs +710 -586
  80. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  81. package/fesm2022/primeng-inputmask.mjs +20 -7
  82. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  83. package/fesm2022/primeng-inputnumber.mjs +140 -81
  84. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  85. package/fesm2022/primeng-inputswitch.mjs +55 -49
  86. package/fesm2022/primeng-inputswitch.mjs.map +1 -1
  87. package/fesm2022/primeng-knob.mjs +92 -5
  88. package/fesm2022/primeng-knob.mjs.map +1 -1
  89. package/fesm2022/primeng-listbox.mjs +997 -454
  90. package/fesm2022/primeng-listbox.mjs.map +1 -1
  91. package/fesm2022/primeng-multiselect.mjs +1023 -603
  92. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  93. package/fesm2022/primeng-overlaypanel.mjs +1 -1
  94. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  95. package/fesm2022/primeng-paginator.mjs +1 -1
  96. package/fesm2022/primeng-paginator.mjs.map +1 -1
  97. package/fesm2022/primeng-password.mjs +27 -26
  98. package/fesm2022/primeng-password.mjs.map +1 -1
  99. package/fesm2022/primeng-radiobutton.mjs +46 -33
  100. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  101. package/fesm2022/primeng-rating.mjs +171 -79
  102. package/fesm2022/primeng-rating.mjs.map +1 -1
  103. package/fesm2022/primeng-selectbutton.mjs +104 -32
  104. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  105. package/fesm2022/primeng-slider.mjs +150 -65
  106. package/fesm2022/primeng-slider.mjs.map +1 -1
  107. package/fesm2022/primeng-table.mjs +2 -2
  108. package/fesm2022/primeng-table.mjs.map +1 -1
  109. package/fesm2022/primeng-togglebutton.mjs +46 -9
  110. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  111. package/fesm2022/primeng-treetable.mjs +23 -27
  112. package/fesm2022/primeng-treetable.mjs.map +1 -1
  113. package/fesm2022/primeng-tristatecheckbox.mjs +53 -35
  114. package/fesm2022/primeng-tristatecheckbox.mjs.map +1 -1
  115. package/inputmask/inputmask.d.ts +6 -1
  116. package/inputnumber/inputnumber.d.ts +6 -1
  117. package/inputswitch/inputswitch.d.ts +6 -9
  118. package/knob/knob.d.ts +20 -3
  119. package/listbox/listbox.d.ts +208 -39
  120. package/listbox/listbox.interface.d.ts +16 -1
  121. package/multiselect/multiselect.d.ts +171 -60
  122. package/package.json +138 -132
  123. package/password/password.d.ts +3 -4
  124. package/radiobutton/radiobutton.d.ts +1 -2
  125. package/rating/rating.d.ts +29 -7
  126. package/resources/components/dropdown/dropdown.css +16 -2
  127. package/resources/themes/arya-blue/theme.css +106 -84
  128. package/resources/themes/arya-green/theme.css +106 -84
  129. package/resources/themes/arya-orange/theme.css +106 -84
  130. package/resources/themes/arya-purple/theme.css +106 -84
  131. package/resources/themes/bootstrap4-dark-blue/theme.css +110 -88
  132. package/resources/themes/bootstrap4-dark-purple/theme.css +110 -88
  133. package/resources/themes/bootstrap4-light-blue/theme.css +110 -88
  134. package/resources/themes/bootstrap4-light-purple/theme.css +110 -88
  135. package/resources/themes/fluent-light/theme.css +103 -81
  136. package/resources/themes/lara-dark-blue/theme.css +106 -84
  137. package/resources/themes/lara-dark-indigo/theme.css +106 -84
  138. package/resources/themes/lara-dark-purple/theme.css +106 -84
  139. package/resources/themes/lara-dark-teal/theme.css +106 -84
  140. package/resources/themes/lara-light-blue/theme.css +109 -87
  141. package/resources/themes/lara-light-indigo/theme.css +109 -87
  142. package/resources/themes/lara-light-purple/theme.css +109 -87
  143. package/resources/themes/lara-light-teal/theme.css +109 -87
  144. package/resources/themes/luna-amber/theme.css +110 -88
  145. package/resources/themes/luna-blue/theme.css +110 -88
  146. package/resources/themes/luna-green/theme.css +110 -88
  147. package/resources/themes/luna-pink/theme.css +110 -88
  148. package/resources/themes/md-dark-deeppurple/theme.css +117 -95
  149. package/resources/themes/md-dark-indigo/theme.css +117 -95
  150. package/resources/themes/md-light-deeppurple/theme.css +117 -95
  151. package/resources/themes/md-light-indigo/theme.css +117 -95
  152. package/resources/themes/mdc-dark-deeppurple/theme.css +117 -95
  153. package/resources/themes/mdc-dark-indigo/theme.css +117 -95
  154. package/resources/themes/mdc-light-deeppurple/theme.css +117 -95
  155. package/resources/themes/mdc-light-indigo/theme.css +117 -95
  156. package/resources/themes/mira/theme.css +107 -85
  157. package/resources/themes/nano/theme.css +109 -87
  158. package/resources/themes/nova/theme.css +110 -88
  159. package/resources/themes/nova-accent/theme.css +109 -87
  160. package/resources/themes/nova-alt/theme.css +110 -88
  161. package/resources/themes/rhea/theme.css +109 -87
  162. package/resources/themes/saga-blue/theme.css +106 -84
  163. package/resources/themes/saga-green/theme.css +106 -84
  164. package/resources/themes/saga-orange/theme.css +106 -84
  165. package/resources/themes/saga-purple/theme.css +106 -84
  166. package/resources/themes/soho-dark/theme.css +109 -87
  167. package/resources/themes/soho-light/theme.css +109 -87
  168. package/resources/themes/tailwind-light/theme.css +110 -88
  169. package/resources/themes/vela-blue/theme.css +106 -84
  170. package/resources/themes/vela-green/theme.css +106 -84
  171. package/resources/themes/vela-orange/theme.css +106 -84
  172. package/resources/themes/vela-purple/theme.css +106 -84
  173. package/resources/themes/viva-dark/theme.css +109 -87
  174. package/resources/themes/viva-light/theme.css +109 -87
  175. package/selectbutton/selectbutton.d.ts +15 -3
  176. package/slider/slider.d.ts +12 -6
  177. package/togglebutton/togglebutton.d.ts +7 -1
  178. package/treetable/treetable.d.ts +3 -4
  179. package/tristatecheckbox/tristatecheckbox.d.ts +8 -4
@@ -37,6 +37,11 @@ class ToggleButton {
37
37
  * @group Props
38
38
  */
39
39
  offIcon;
40
+ /**
41
+ * Defines a string that labels the input for accessibility.
42
+ * @group Props
43
+ */
44
+ ariaLabel;
40
45
  /**
41
46
  * Establishes relationships between the component and label(s) where its value should be one or more element IDs.
42
47
  * @group Props
@@ -96,6 +101,18 @@ class ToggleButton {
96
101
  this.cd.markForCheck();
97
102
  }
98
103
  }
104
+ onKeyDown(event) {
105
+ switch (event.code) {
106
+ case 'Enter':
107
+ this.toggle(event);
108
+ event.preventDefault();
109
+ break;
110
+ case 'Space':
111
+ this.toggle(event);
112
+ event.preventDefault();
113
+ break;
114
+ }
115
+ }
99
116
  onBlur() {
100
117
  this.onModelTouched();
101
118
  }
@@ -120,20 +137,29 @@ class ToggleButton {
120
137
  return (this.onLabel && this.onLabel.length > 0);
121
138
  }
122
139
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ToggleButton, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
123
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: ToggleButton, selector: "p-toggleButton", inputs: { onLabel: "onLabel", offLabel: "offLabel", onIcon: "onIcon", offIcon: "offIcon", ariaLabelledBy: "ariaLabelledBy", disabled: "disabled", style: "style", styleClass: "styleClass", inputId: "inputId", tabindex: "tabindex", iconPos: "iconPos" }, outputs: { onChange: "onChange" }, host: { classAttribute: "p-element" }, providers: [TOGGLEBUTTON_VALUE_ACCESSOR], ngImport: i0, template: `
140
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: ToggleButton, selector: "p-toggleButton", inputs: { onLabel: "onLabel", offLabel: "offLabel", onIcon: "onIcon", offIcon: "offIcon", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", disabled: "disabled", style: "style", styleClass: "styleClass", inputId: "inputId", tabindex: "tabindex", iconPos: "iconPos" }, outputs: { onChange: "onChange" }, host: { classAttribute: "p-element" }, providers: [TOGGLEBUTTON_VALUE_ACCESSOR], ngImport: i0, template: `
124
141
  <div
125
142
  [ngClass]="{ 'p-button p-togglebutton p-component': true, 'p-button-icon-only': onIcon && offIcon && !hasOnLabel && !hasOffLabel, 'p-highlight': checked, 'p-disabled': disabled }"
126
143
  [ngStyle]="style"
127
144
  [class]="styleClass"
128
145
  (click)="toggle($event)"
129
- (keydown.enter)="toggle($event)"
146
+ (keydown)="onKeyDown($event)"
130
147
  [attr.tabindex]="disabled ? null : '0'"
131
- role="checkbox"
148
+ role="switch"
132
149
  [attr.aria-checked]="checked"
150
+ [attr.aria-labelledby]="ariaLabelledBy"
151
+ [attr.aria-label]="ariaLabel"
133
152
  pRipple
153
+ [attr.data-pc-name]="'togglebutton'"
154
+ [attr.data-pc-section]="'root'"
134
155
  >
135
- <span *ngIf="onIcon || offIcon" [class]="checked ? this.onIcon : this.offIcon" [ngClass]="{ 'p-button-icon': true, 'p-button-icon-left': iconPos === 'left', 'p-button-icon-right': iconPos === 'right' }"></span>
136
- <span class="p-button-label" *ngIf="onLabel || offLabel">{{ checked ? (hasOnLabel ? onLabel : '') : hasOffLabel ? offLabel : '' }}</span>
156
+ <span
157
+ *ngIf="onIcon || offIcon"
158
+ [class]="checked ? this.onIcon : this.offIcon"
159
+ [ngClass]="{ 'p-button-icon': true, 'p-button-icon-left': iconPos === 'left', 'p-button-icon-right': iconPos === 'right' }"
160
+ [attr.data-pc-section]="'icon'"
161
+ ></span>
162
+ <span class="p-button-label" *ngIf="onLabel || offLabel" [attr.data-pc-section]="'label'">{{ checked ? (hasOnLabel ? onLabel : '') : hasOffLabel ? offLabel : '' }}</span>
137
163
  </div>
138
164
  `, isInline: true, styles: ["@layer primeng{.p-button{margin:0;display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;vertical-align:bottom;text-align:center;overflow:hidden;position:relative}.p-button-label{flex:1 1 auto}.p-button-icon-right{order:1}.p-button:disabled{cursor:default;pointer-events:none}.p-button-icon-only{justify-content:center}.p-button-icon-only:after{content:\"p\";visibility:hidden;clip:rect(0 0 0 0);width:0}.p-button-vertical{flex-direction:column}.p-button-icon-bottom{order:2}.p-buttonset .p-button{margin:0}.p-buttonset .p-button:not(:last-child){border-right:0 none}.p-buttonset .p-button:not(:first-of-type):not(:last-of-type){border-radius:0}.p-buttonset .p-button:first-of-type{border-top-right-radius:0;border-bottom-right-radius:0}.p-buttonset .p-button:last-of-type{border-top-left-radius:0;border-bottom-left-radius:0}.p-buttonset .p-button:focus{position:relative;z-index:1}p-button[iconpos=right] spinnericon{order:1}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.Ripple, selector: "[pRipple]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
139
165
  }
@@ -145,14 +171,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
145
171
  [ngStyle]="style"
146
172
  [class]="styleClass"
147
173
  (click)="toggle($event)"
148
- (keydown.enter)="toggle($event)"
174
+ (keydown)="onKeyDown($event)"
149
175
  [attr.tabindex]="disabled ? null : '0'"
150
- role="checkbox"
176
+ role="switch"
151
177
  [attr.aria-checked]="checked"
178
+ [attr.aria-labelledby]="ariaLabelledBy"
179
+ [attr.aria-label]="ariaLabel"
152
180
  pRipple
181
+ [attr.data-pc-name]="'togglebutton'"
182
+ [attr.data-pc-section]="'root'"
153
183
  >
154
- <span *ngIf="onIcon || offIcon" [class]="checked ? this.onIcon : this.offIcon" [ngClass]="{ 'p-button-icon': true, 'p-button-icon-left': iconPos === 'left', 'p-button-icon-right': iconPos === 'right' }"></span>
155
- <span class="p-button-label" *ngIf="onLabel || offLabel">{{ checked ? (hasOnLabel ? onLabel : '') : hasOffLabel ? offLabel : '' }}</span>
184
+ <span
185
+ *ngIf="onIcon || offIcon"
186
+ [class]="checked ? this.onIcon : this.offIcon"
187
+ [ngClass]="{ 'p-button-icon': true, 'p-button-icon-left': iconPos === 'left', 'p-button-icon-right': iconPos === 'right' }"
188
+ [attr.data-pc-section]="'icon'"
189
+ ></span>
190
+ <span class="p-button-label" *ngIf="onLabel || offLabel" [attr.data-pc-section]="'label'">{{ checked ? (hasOnLabel ? onLabel : '') : hasOffLabel ? offLabel : '' }}</span>
156
191
  </div>
157
192
  `, providers: [TOGGLEBUTTON_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, host: {
158
193
  class: 'p-element'
@@ -165,6 +200,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
165
200
  type: Input
166
201
  }], offIcon: [{
167
202
  type: Input
203
+ }], ariaLabel: [{
204
+ type: Input
168
205
  }], ariaLabelledBy: [{
169
206
  type: Input
170
207
  }], disabled: [{
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-togglebutton.mjs","sources":["../../src/app/components/togglebutton/togglebutton.ts","../../src/app/components/togglebutton/primeng-togglebutton.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, forwardRef, Input, NgModule, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { RippleModule } from 'primeng/ripple';\nimport { ToggleButtonChangeEvent } from './togglebutton.interface';\n\ntype ToggleButtonIconPosition = 'left' | 'right';\n\nexport const TOGGLEBUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleButton),\n multi: true\n};\n/**\n * ToggleButton is used to select a boolean value using a button.\n * @group Components\n */\n@Component({\n selector: 'p-toggleButton',\n template: `\n <div\n [ngClass]=\"{ 'p-button p-togglebutton p-component': true, 'p-button-icon-only': onIcon && offIcon && !hasOnLabel && !hasOffLabel, 'p-highlight': checked, 'p-disabled': disabled }\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n (click)=\"toggle($event)\"\n (keydown.enter)=\"toggle($event)\"\n [attr.tabindex]=\"disabled ? null : '0'\"\n role=\"checkbox\"\n [attr.aria-checked]=\"checked\"\n pRipple\n >\n <span *ngIf=\"onIcon || offIcon\" [class]=\"checked ? this.onIcon : this.offIcon\" [ngClass]=\"{ 'p-button-icon': true, 'p-button-icon-left': iconPos === 'left', 'p-button-icon-right': iconPos === 'right' }\"></span>\n <span class=\"p-button-label\" *ngIf=\"onLabel || offLabel\">{{ checked ? (hasOnLabel ? onLabel : '') : hasOffLabel ? offLabel : '' }}</span>\n </div>\n `,\n providers: [TOGGLEBUTTON_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['../button/button.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class ToggleButton implements ControlValueAccessor {\n /**\n * Label for the on state.\n * @group Props\n */\n @Input() onLabel: string | undefined;\n /**\n * Label for the off state.\n * @group Props\n */\n @Input() offLabel: string | undefined;\n /**\n * Icon for the on state.\n * @group Props\n */\n @Input() onIcon: string | undefined;\n /**\n * Icon for the off state.\n * @group Props\n */\n @Input() offIcon: 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 * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input() disabled: boolean | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: any;\n /**\n * Style class of the element.\n * @group Props\n */\n @Input() styleClass: string | 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 * Index of the element in tabbing order.\n * @group Props\n */\n @Input() tabindex: number | undefined;\n /**\n * Position of the icon.\n * @group Props\n */\n @Input() iconPos: 'left' | 'right' = 'left';\n /**\n * Callback to invoke on value change.\n * @param {ToggleButtonChangeEvent} event - Custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<ToggleButtonChangeEvent> = new EventEmitter<ToggleButtonChangeEvent>();\n\n checked: boolean = false;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n constructor(public cd: ChangeDetectorRef) {}\n\n toggle(event: Event) {\n if (!this.disabled) {\n this.checked = !this.checked;\n this.onModelChange(this.checked);\n this.onModelTouched();\n this.onChange.emit({\n originalEvent: event,\n checked: this.checked\n });\n\n this.cd.markForCheck();\n }\n }\n\n onBlur() {\n this.onModelTouched();\n }\n\n writeValue(value: any): void {\n this.checked = value;\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 get hasOnLabel(): boolean {\n return (this.onLabel && this.onLabel.length > 0) as boolean;\n }\n\n get hasOffLabel(): boolean {\n return (this.onLabel && this.onLabel.length > 0) as boolean;\n }\n}\n\n@NgModule({\n imports: [CommonModule, RippleModule],\n exports: [ToggleButton],\n declarations: [ToggleButton]\n})\nexport class ToggleButtonModule {}\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-togglebutton.mjs","sources":["../../src/app/components/togglebutton/togglebutton.ts","../../src/app/components/togglebutton/primeng-togglebutton.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, forwardRef, Input, NgModule, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { RippleModule } from 'primeng/ripple';\nimport { ToggleButtonChangeEvent } from './togglebutton.interface';\n\ntype ToggleButtonIconPosition = 'left' | 'right';\n\nexport const TOGGLEBUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleButton),\n multi: true\n};\n/**\n * ToggleButton is used to select a boolean value using a button.\n * @group Components\n */\n@Component({\n selector: 'p-toggleButton',\n template: `\n <div\n [ngClass]=\"{ 'p-button p-togglebutton p-component': true, 'p-button-icon-only': onIcon && offIcon && !hasOnLabel && !hasOffLabel, 'p-highlight': checked, 'p-disabled': disabled }\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n (click)=\"toggle($event)\"\n (keydown)=\"onKeyDown($event)\"\n [attr.tabindex]=\"disabled ? null : '0'\"\n role=\"switch\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n pRipple\n [attr.data-pc-name]=\"'togglebutton'\"\n [attr.data-pc-section]=\"'root'\"\n >\n <span\n *ngIf=\"onIcon || offIcon\"\n [class]=\"checked ? this.onIcon : this.offIcon\"\n [ngClass]=\"{ 'p-button-icon': true, 'p-button-icon-left': iconPos === 'left', 'p-button-icon-right': iconPos === 'right' }\"\n [attr.data-pc-section]=\"'icon'\"\n ></span>\n <span class=\"p-button-label\" *ngIf=\"onLabel || offLabel\" [attr.data-pc-section]=\"'label'\">{{ checked ? (hasOnLabel ? onLabel : '') : hasOffLabel ? offLabel : '' }}</span>\n </div>\n `,\n providers: [TOGGLEBUTTON_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['../button/button.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class ToggleButton implements ControlValueAccessor {\n /**\n * Label for the on state.\n * @group Props\n */\n @Input() onLabel: string | undefined;\n /**\n * Label for the off state.\n * @group Props\n */\n @Input() offLabel: string | undefined;\n /**\n * Icon for the on state.\n * @group Props\n */\n @Input() onIcon: string | undefined;\n /**\n * Icon for the off state.\n * @group Props\n */\n @Input() offIcon: string | 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 * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input() disabled: boolean | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: any;\n /**\n * Style class of the element.\n * @group Props\n */\n @Input() styleClass: string | 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 * Index of the element in tabbing order.\n * @group Props\n */\n @Input() tabindex: number | undefined;\n /**\n * Position of the icon.\n * @group Props\n */\n @Input() iconPos: 'left' | 'right' = 'left';\n /**\n * Callback to invoke on value change.\n * @param {ToggleButtonChangeEvent} event - Custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<ToggleButtonChangeEvent> = new EventEmitter<ToggleButtonChangeEvent>();\n\n checked: boolean = false;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n constructor(public cd: ChangeDetectorRef) {}\n\n toggle(event: Event) {\n if (!this.disabled) {\n this.checked = !this.checked;\n this.onModelChange(this.checked);\n this.onModelTouched();\n this.onChange.emit({\n originalEvent: event,\n checked: this.checked\n });\n\n this.cd.markForCheck();\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n case 'Enter':\n this.toggle(event);\n event.preventDefault();\n break;\n case 'Space':\n this.toggle(event);\n event.preventDefault();\n break;\n }\n }\n\n onBlur() {\n this.onModelTouched();\n }\n\n writeValue(value: any): void {\n this.checked = value;\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 get hasOnLabel(): boolean {\n return (this.onLabel && this.onLabel.length > 0) as boolean;\n }\n\n get hasOffLabel(): boolean {\n return (this.onLabel && this.onLabel.length > 0) as boolean;\n }\n}\n\n@NgModule({\n imports: [CommonModule, RippleModule],\n exports: [ToggleButton],\n declarations: [ToggleButton]\n})\nexport class ToggleButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -5,24 +5,24 @@ import { Injectable, EventEmitter, Component, ViewEncapsulation, Inject, Input,
5
5
  import * as i1 from 'primeng/api';
6
6
  import { PrimeTemplate, SharedModule } from 'primeng/api';
7
7
  import { DomHandler } from 'primeng/dom';
8
- import * as i3 from 'primeng/paginator';
9
- import { PaginatorModule } from 'primeng/paginator';
10
- import * as i5 from 'primeng/ripple';
11
- import { RippleModule } from 'primeng/ripple';
12
- import * as i4 from 'primeng/scroller';
13
- import { ScrollerModule } from 'primeng/scroller';
14
- import { ObjectUtils } from 'primeng/utils';
15
- import { Subject } from 'rxjs';
16
- import { SortAmountDownIcon } from 'primeng/icons/sortamountdown';
17
- import { ChevronRightIcon } from 'primeng/icons/chevronright';
18
8
  import { ArrowDownIcon } from 'primeng/icons/arrowdown';
19
9
  import { ArrowUpIcon } from 'primeng/icons/arrowup';
20
10
  import { CheckIcon } from 'primeng/icons/check';
21
11
  import { ChevronDownIcon } from 'primeng/icons/chevrondown';
12
+ import { ChevronRightIcon } from 'primeng/icons/chevronright';
22
13
  import { MinusIcon } from 'primeng/icons/minus';
23
14
  import { SortAltIcon } from 'primeng/icons/sortalt';
15
+ import { SortAmountDownIcon } from 'primeng/icons/sortamountdown';
24
16
  import { SortAmountUpAltIcon } from 'primeng/icons/sortamountupalt';
25
17
  import { SpinnerIcon } from 'primeng/icons/spinner';
18
+ import * as i3 from 'primeng/paginator';
19
+ import { PaginatorModule } from 'primeng/paginator';
20
+ import * as i5 from 'primeng/ripple';
21
+ import { RippleModule } from 'primeng/ripple';
22
+ import * as i4 from 'primeng/scroller';
23
+ import { ScrollerModule } from 'primeng/scroller';
24
+ import { ObjectUtils } from 'primeng/utils';
25
+ import { Subject } from 'rxjs';
26
26
 
27
27
  class TreeTableService {
28
28
  sortSource = new Subject();
@@ -1586,17 +1586,15 @@ class TreeTable {
1586
1586
  }
1587
1587
  }
1588
1588
  if (this.filters['global'] && !globalMatch && globalFilterFieldsArray) {
1589
- for (let j = 0; j < globalFilterFieldsArray.length; j++) {
1590
- let copyNodeForGlobal = { ...copyNode };
1591
- let filterField = globalFilterFieldsArray[j].field || globalFilterFieldsArray[j];
1592
- let filterValue = this.filters['global'].value;
1593
- let filterConstraint = this.filterService.filters[this.filters['global'].matchMode];
1594
- paramsWithoutNode = { filterField, filterValue, filterConstraint, isStrictMode };
1595
- if ((isStrictMode && (this.findFilteredNodes(copyNodeForGlobal, paramsWithoutNode) || this.isFilterMatched(copyNodeForGlobal, paramsWithoutNode))) ||
1596
- (!isStrictMode && (this.isFilterMatched(copyNodeForGlobal, paramsWithoutNode) || this.findFilteredNodes(copyNodeForGlobal, paramsWithoutNode)))) {
1597
- globalMatch = true;
1598
- copyNode = copyNodeForGlobal;
1599
- }
1589
+ let copyNodeForGlobal = { ...copyNode };
1590
+ let filterField = undefined;
1591
+ let filterValue = this.filters['global'].value;
1592
+ let filterConstraint = this.filterService.filters[this.filters['global'].matchMode];
1593
+ paramsWithoutNode = { filterField, filterValue, filterConstraint, isStrictMode, globalFilterFieldsArray };
1594
+ if ((isStrictMode && (this.findFilteredNodes(copyNodeForGlobal, paramsWithoutNode) || this.isFilterMatched(copyNodeForGlobal, paramsWithoutNode))) ||
1595
+ (!isStrictMode && (this.isFilterMatched(copyNodeForGlobal, paramsWithoutNode) || this.findFilteredNodes(copyNodeForGlobal, paramsWithoutNode)))) {
1596
+ globalMatch = true;
1597
+ copyNode = copyNodeForGlobal;
1600
1598
  }
1601
1599
  }
1602
1600
  let matches = localMatch;
@@ -1648,14 +1646,12 @@ class TreeTable {
1648
1646
  }
1649
1647
  }
1650
1648
  isFilterMatched(node, filterOptions) {
1651
- let { filterField, filterValue, filterConstraint, isStrictMode } = filterOptions;
1649
+ let { filterField, filterValue, filterConstraint, isStrictMode, globalFilterFieldsArray } = filterOptions;
1652
1650
  let matched = false;
1653
- let dataFieldValue = ObjectUtils.resolveFieldData(node.data, filterField);
1654
- if (filterConstraint(dataFieldValue, filterValue, this.filterLocale)) {
1655
- matched = true;
1656
- }
1651
+ const isMatched = (field) => filterConstraint(ObjectUtils.resolveFieldData(node.data, field), filterValue, this.filterLocale);
1652
+ matched = globalFilterFieldsArray?.length ? globalFilterFieldsArray.some((globalFilterField) => isMatched(globalFilterField.field || globalFilterField)) : isMatched(filterField);
1657
1653
  if (!matched || (isStrictMode && !this.isNodeLeaf(node))) {
1658
- matched = this.findFilteredNodes(node, { filterField, filterValue, filterConstraint, isStrictMode }) || matched;
1654
+ matched = this.findFilteredNodes(node, { filterField, filterValue, filterConstraint, isStrictMode, globalFilterFieldsArray }) || matched;
1659
1655
  }
1660
1656
  return matched;
1661
1657
  }