primeng 17.3.1 → 17.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/accordion/accordion.d.ts +2 -0
  2. package/api/translationkeys.d.ts +2 -0
  3. package/autocomplete/autocomplete.d.ts +4 -4
  4. package/button/button.d.ts +1 -1
  5. package/chart/chart.d.ts +3 -2
  6. package/checkbox/checkbox.d.ts +6 -3
  7. package/chips/chips.d.ts +6 -1
  8. package/dropdown/dropdown.d.ts +2 -1
  9. package/esm2022/accordion/accordion.mjs +19 -7
  10. package/esm2022/api/translationkeys.mjs +3 -1
  11. package/esm2022/autocomplete/autocomplete.mjs +5 -5
  12. package/esm2022/button/button.mjs +8 -8
  13. package/esm2022/calendar/calendar.mjs +6 -3
  14. package/esm2022/carousel/carousel.mjs +5 -5
  15. package/esm2022/chart/chart.mjs +13 -9
  16. package/esm2022/checkbox/checkbox.mjs +43 -26
  17. package/esm2022/chips/chips.mjs +14 -5
  18. package/esm2022/dropdown/dropdown.mjs +31 -18
  19. package/esm2022/galleria/galleria.mjs +2 -3
  20. package/esm2022/inputnumber/inputnumber.mjs +2 -2
  21. package/esm2022/multiselect/multiselect.mjs +7 -5
  22. package/esm2022/paginator/paginator.interface.mjs +1 -1
  23. package/esm2022/paginator/paginator.mjs +17 -1
  24. package/esm2022/panel/panel.mjs +2 -4
  25. package/esm2022/scroller/scroller.mjs +11 -11
  26. package/esm2022/splitbutton/splitbutton.mjs +3 -3
  27. package/esm2022/table/table.interface.mjs +1 -1
  28. package/esm2022/table/table.mjs +45 -18
  29. package/esm2022/treeselect/treeselect.mjs +9 -1
  30. package/esm2022/treetable/treetable.mjs +3 -3
  31. package/esm2022/utils/objectutils.mjs +43 -1
  32. package/fesm2022/primeng-accordion.mjs +18 -6
  33. package/fesm2022/primeng-accordion.mjs.map +1 -1
  34. package/fesm2022/primeng-api.mjs +2 -0
  35. package/fesm2022/primeng-api.mjs.map +1 -1
  36. package/fesm2022/primeng-autocomplete.mjs +4 -4
  37. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  38. package/fesm2022/primeng-button.mjs +7 -7
  39. package/fesm2022/primeng-button.mjs.map +1 -1
  40. package/fesm2022/primeng-calendar.mjs +5 -2
  41. package/fesm2022/primeng-calendar.mjs.map +1 -1
  42. package/fesm2022/primeng-carousel.mjs +4 -4
  43. package/fesm2022/primeng-carousel.mjs.map +1 -1
  44. package/fesm2022/primeng-chart.mjs +12 -8
  45. package/fesm2022/primeng-chart.mjs.map +1 -1
  46. package/fesm2022/primeng-checkbox.mjs +42 -25
  47. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  48. package/fesm2022/primeng-chips.mjs +13 -4
  49. package/fesm2022/primeng-chips.mjs.map +1 -1
  50. package/fesm2022/primeng-dropdown.mjs +30 -17
  51. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  52. package/fesm2022/primeng-galleria.mjs +1 -2
  53. package/fesm2022/primeng-galleria.mjs.map +1 -1
  54. package/fesm2022/primeng-inputnumber.mjs +1 -1
  55. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  56. package/fesm2022/primeng-multiselect.mjs +6 -4
  57. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  58. package/fesm2022/primeng-paginator.mjs +16 -0
  59. package/fesm2022/primeng-paginator.mjs.map +1 -1
  60. package/fesm2022/primeng-panel.mjs +1 -3
  61. package/fesm2022/primeng-panel.mjs.map +1 -1
  62. package/fesm2022/primeng-scroller.mjs +10 -10
  63. package/fesm2022/primeng-scroller.mjs.map +1 -1
  64. package/fesm2022/primeng-splitbutton.mjs +2 -2
  65. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  66. package/fesm2022/primeng-table.mjs +44 -17
  67. package/fesm2022/primeng-table.mjs.map +1 -1
  68. package/fesm2022/primeng-treeselect.mjs +8 -0
  69. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  70. package/fesm2022/primeng-treetable.mjs +2 -2
  71. package/fesm2022/primeng-treetable.mjs.map +1 -1
  72. package/fesm2022/primeng-utils.mjs +42 -0
  73. package/fesm2022/primeng-utils.mjs.map +1 -1
  74. package/package.json +175 -175
  75. package/paginator/paginator.d.ts +1 -0
  76. package/paginator/paginator.interface.d.ts +4 -0
  77. package/panel/panel.d.ts +1 -1
  78. package/resources/components/calendar/calendar.css +4 -0
  79. package/resources/components/treetable/treetable.css +1 -0
  80. package/resources/themes/arya-blue/theme.css +228 -420
  81. package/resources/themes/arya-green/theme.css +228 -420
  82. package/resources/themes/arya-orange/theme.css +228 -420
  83. package/resources/themes/arya-purple/theme.css +228 -420
  84. package/resources/themes/bootstrap4-dark-blue/theme.css +228 -421
  85. package/resources/themes/bootstrap4-dark-purple/theme.css +228 -421
  86. package/resources/themes/bootstrap4-light-blue/theme.css +228 -421
  87. package/resources/themes/bootstrap4-light-purple/theme.css +228 -421
  88. package/resources/themes/fluent-light/theme.css +239 -447
  89. package/resources/themes/lara-dark-blue/theme.css +230 -436
  90. package/resources/themes/lara-dark-indigo/theme.css +230 -436
  91. package/resources/themes/lara-dark-purple/theme.css +230 -436
  92. package/resources/themes/lara-dark-teal/theme.css +230 -436
  93. package/resources/themes/lara-light-blue/theme.css +238 -441
  94. package/resources/themes/lara-light-indigo/theme.css +238 -441
  95. package/resources/themes/lara-light-purple/theme.css +238 -441
  96. package/resources/themes/lara-light-teal/theme.css +238 -441
  97. package/resources/themes/luna-amber/theme.css +241 -434
  98. package/resources/themes/luna-blue/theme.css +241 -434
  99. package/resources/themes/luna-green/theme.css +241 -434
  100. package/resources/themes/luna-pink/theme.css +241 -434
  101. package/resources/themes/md-dark-deeppurple/theme.css +393 -681
  102. package/resources/themes/md-dark-indigo/theme.css +393 -681
  103. package/resources/themes/md-light-deeppurple/theme.css +254 -542
  104. package/resources/themes/md-light-indigo/theme.css +254 -542
  105. package/resources/themes/mdc-dark-deeppurple/theme.css +393 -681
  106. package/resources/themes/mdc-dark-indigo/theme.css +393 -681
  107. package/resources/themes/mdc-light-deeppurple/theme.css +254 -542
  108. package/resources/themes/mdc-light-indigo/theme.css +254 -542
  109. package/resources/themes/mira/theme.css +235 -458
  110. package/resources/themes/nano/theme.css +228 -418
  111. package/resources/themes/nova/theme.css +228 -422
  112. package/resources/themes/nova-accent/theme.css +228 -419
  113. package/resources/themes/nova-alt/theme.css +228 -422
  114. package/resources/themes/rhea/theme.css +228 -419
  115. package/resources/themes/saga-blue/theme.css +228 -420
  116. package/resources/themes/saga-green/theme.css +228 -420
  117. package/resources/themes/saga-orange/theme.css +228 -420
  118. package/resources/themes/saga-purple/theme.css +228 -420
  119. package/resources/themes/soho-dark/theme.css +259 -454
  120. package/resources/themes/soho-light/theme.css +233 -430
  121. package/resources/themes/tailwind-light/theme.css +258 -463
  122. package/resources/themes/vela-blue/theme.css +228 -420
  123. package/resources/themes/vela-green/theme.css +228 -420
  124. package/resources/themes/vela-orange/theme.css +228 -420
  125. package/resources/themes/vela-purple/theme.css +228 -420
  126. package/resources/themes/viva-dark/theme.css +233 -444
  127. package/resources/themes/viva-light/theme.css +233 -444
  128. package/scroller/scroller.d.ts +2 -2
  129. package/table/table.d.ts +5 -4
  130. package/table/table.interface.d.ts +4 -0
  131. package/treeselect/treeselect.d.ts +1 -0
  132. package/utils/objectutils.d.ts +1 -0
@@ -14,6 +14,15 @@ import { CalendarModule } from 'primeng/calendar';
14
14
  import { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';
15
15
  import * as i5 from 'primeng/dropdown';
16
16
  import { DropdownModule } from 'primeng/dropdown';
17
+ import { ArrowDownIcon } from 'primeng/icons/arrowdown';
18
+ import { ArrowUpIcon } from 'primeng/icons/arrowup';
19
+ import { CheckIcon } from 'primeng/icons/check';
20
+ import { FilterIcon } from 'primeng/icons/filter';
21
+ import { FilterSlashIcon } from 'primeng/icons/filterslash';
22
+ import { SortAltIcon } from 'primeng/icons/sortalt';
23
+ import { SortAmountDownIcon } from 'primeng/icons/sortamountdown';
24
+ import { SortAmountUpAltIcon } from 'primeng/icons/sortamountupalt';
25
+ import { SpinnerIcon } from 'primeng/icons/spinner';
17
26
  import * as i8 from 'primeng/inputnumber';
18
27
  import { InputNumberModule } from 'primeng/inputnumber';
19
28
  import * as i9 from 'primeng/inputtext';
@@ -27,15 +36,6 @@ import * as i11 from 'primeng/tristatecheckbox';
27
36
  import { TriStateCheckboxModule } from 'primeng/tristatecheckbox';
28
37
  import { UniqueComponentId, ObjectUtils, ZIndexUtils } from 'primeng/utils';
29
38
  import { Subject } from 'rxjs';
30
- import { ArrowDownIcon } from 'primeng/icons/arrowdown';
31
- import { ArrowUpIcon } from 'primeng/icons/arrowup';
32
- import { CheckIcon } from 'primeng/icons/check';
33
- import { FilterIcon } from 'primeng/icons/filter';
34
- import { SortAltIcon } from 'primeng/icons/sortalt';
35
- import { SortAmountDownIcon } from 'primeng/icons/sortamountdown';
36
- import { SortAmountUpAltIcon } from 'primeng/icons/sortamountupalt';
37
- import { SpinnerIcon } from 'primeng/icons/spinner';
38
- import { FilterSlashIcon } from 'primeng/icons/filterslash';
39
39
 
40
40
  class TableService {
41
41
  sortSource = new Subject();
@@ -769,6 +769,7 @@ class Table {
769
769
  sortIconTemplate;
770
770
  checkboxIconTemplate;
771
771
  headerCheckboxIconTemplate;
772
+ paginatorDropdownIconTemplate;
772
773
  paginatorFirstPageLinkIconTemplate;
773
774
  paginatorLastPageLinkIconTemplate;
774
775
  paginatorPreviousPageLinkIconTemplate;
@@ -903,6 +904,9 @@ class Table {
903
904
  case 'paginatorright':
904
905
  this.paginatorRightTemplate = item.template;
905
906
  break;
907
+ case 'paginatordropdownicon':
908
+ this.paginatorDropdownIconTemplate = item.template;
909
+ break;
906
910
  case 'paginatordropdownitem':
907
911
  this.paginatorDropdownItemTemplate = item.template;
908
912
  break;
@@ -1826,7 +1830,7 @@ class Table {
1826
1830
  if (body.length) {
1827
1831
  csv += '\n' + body;
1828
1832
  }
1829
- let blob = new Blob([csv], {
1833
+ let blob = new Blob([new Uint8Array([0xef, 0xbb, 0xbf]), csv], {
1830
1834
  type: 'text/csv;charset=utf-8;'
1831
1835
  });
1832
1836
  let link = this.renderer.createElement('a');
@@ -2496,6 +2500,10 @@ class Table {
2496
2500
  [styleClass]="paginatorStyleClass"
2497
2501
  [locale]="paginatorLocale"
2498
2502
  >
2503
+ <ng-template pTemplate="dropdownicon" *ngIf="paginatorDropdownIconTemplate">
2504
+ <ng-container *ngTemplateOutlet="paginatorDropdownIconTemplate"></ng-container>
2505
+ </ng-template>
2506
+
2499
2507
  <ng-template pTemplate="firstpagelinkicon" *ngIf="paginatorFirstPageLinkIconTemplate">
2500
2508
  <ng-container *ngTemplateOutlet="paginatorFirstPageLinkIconTemplate"></ng-container>
2501
2509
  </ng-template>
@@ -2611,6 +2619,10 @@ class Table {
2611
2619
  [styleClass]="paginatorStyleClass"
2612
2620
  [locale]="paginatorLocale"
2613
2621
  >
2622
+ <ng-template pTemplate="dropdownicon" *ngIf="paginatorDropdownIconTemplate">
2623
+ <ng-container *ngTemplateOutlet="paginatorDropdownIconTemplate"></ng-container>
2624
+ </ng-template>
2625
+
2614
2626
  <ng-template pTemplate="firstpagelinkicon" *ngIf="paginatorFirstPageLinkIconTemplate">
2615
2627
  <ng-container *ngTemplateOutlet="paginatorFirstPageLinkIconTemplate"></ng-container>
2616
2628
  </ng-template>
@@ -2690,6 +2702,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
2690
2702
  [styleClass]="paginatorStyleClass"
2691
2703
  [locale]="paginatorLocale"
2692
2704
  >
2705
+ <ng-template pTemplate="dropdownicon" *ngIf="paginatorDropdownIconTemplate">
2706
+ <ng-container *ngTemplateOutlet="paginatorDropdownIconTemplate"></ng-container>
2707
+ </ng-template>
2708
+
2693
2709
  <ng-template pTemplate="firstpagelinkicon" *ngIf="paginatorFirstPageLinkIconTemplate">
2694
2710
  <ng-container *ngTemplateOutlet="paginatorFirstPageLinkIconTemplate"></ng-container>
2695
2711
  </ng-template>
@@ -2805,6 +2821,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
2805
2821
  [styleClass]="paginatorStyleClass"
2806
2822
  [locale]="paginatorLocale"
2807
2823
  >
2824
+ <ng-template pTemplate="dropdownicon" *ngIf="paginatorDropdownIconTemplate">
2825
+ <ng-container *ngTemplateOutlet="paginatorDropdownIconTemplate"></ng-container>
2826
+ </ng-template>
2827
+
2808
2828
  <ng-template pTemplate="firstpagelinkicon" *ngIf="paginatorFirstPageLinkIconTemplate">
2809
2829
  <ng-container *ngTemplateOutlet="paginatorFirstPageLinkIconTemplate"></ng-container>
2810
2830
  </ng-template>
@@ -3429,7 +3449,7 @@ class FrozenColumn {
3429
3449
  }
3430
3450
  set frozen(val) {
3431
3451
  this._frozen = val;
3432
- this.updateStickyPosition();
3452
+ Promise.resolve(null).then(() => this.updateStickyPosition());
3433
3453
  }
3434
3454
  alignFrozen = 'left';
3435
3455
  constructor(el) {
@@ -4265,8 +4285,8 @@ class EditableColumn {
4265
4285
  this.el = el;
4266
4286
  this.zone = zone;
4267
4287
  }
4268
- ngOnChanges({ data }) {
4269
- if (this.el.nativeElement && !data.firstChange) {
4288
+ ngOnChanges(changes) {
4289
+ if (this.el.nativeElement && !changes.data?.firstChange) {
4270
4290
  this.dt.updateEditingCell(this.el.nativeElement, this.data, this.field, this.rowIndex);
4271
4291
  }
4272
4292
  }
@@ -5391,6 +5411,9 @@ class ColumnFilter {
5391
5411
  get isShowAddConstraint() {
5392
5412
  return this.showAddButton && this.type !== 'boolean' && this.fieldConstraints && this.fieldConstraints.length < this.maxConstraints;
5393
5413
  }
5414
+ get showMenuButtonLabel() {
5415
+ return this.config.getTranslation(TranslationKeys.SHOW_FILTER_MENU);
5416
+ }
5394
5417
  get applyButtonLabel() {
5395
5418
  return this.config.getTranslation(TranslationKeys.APPLY);
5396
5419
  }
@@ -5568,6 +5591,10 @@ class ColumnFilter {
5568
5591
  event.preventDefault();
5569
5592
  }
5570
5593
  break;
5594
+ case 'Enter':
5595
+ this.toggleMenu();
5596
+ event.preventDefault();
5597
+ break;
5571
5598
  }
5572
5599
  }
5573
5600
  onEscape() {
@@ -5784,7 +5811,7 @@ class ColumnFilter {
5784
5811
  type="button"
5785
5812
  class="p-column-filter-menu-button p-link"
5786
5813
  aria-haspopup="true"
5787
- [attr.aria-label]="showMenuButtonAriaLabel"
5814
+ [attr.aria-label]="showMenuButtonLabel"
5788
5815
  [attr.aria-controls]="overlayId"
5789
5816
  [attr.aria-expanded]="overlayVisible"
5790
5817
  [ngClass]="{ 'p-column-filter-menu-button-open': overlayVisible, 'p-column-filter-menu-button-active': hasFilter() }"
@@ -5921,7 +5948,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
5921
5948
  type="button"
5922
5949
  class="p-column-filter-menu-button p-link"
5923
5950
  aria-haspopup="true"
5924
- [attr.aria-label]="showMenuButtonAriaLabel"
5951
+ [attr.aria-label]="showMenuButtonLabel"
5925
5952
  [attr.aria-controls]="overlayId"
5926
5953
  [attr.aria-expanded]="overlayVisible"
5927
5954
  [ngClass]="{ 'p-column-filter-menu-button-open': overlayVisible, 'p-column-filter-menu-button-active': hasFilter() }"
@@ -6191,7 +6218,7 @@ class ColumnFilterFormElement {
6191
6218
  [useGrouping]="useGrouping"
6192
6219
  ></p-inputNumber>
6193
6220
  <p-triStateCheckbox *ngSwitchCase="'boolean'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)"></p-triStateCheckbox>
6194
- <p-calendar *ngSwitchCase="'date'" [placeholder]="placeholder" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)"></p-calendar>
6221
+ <p-calendar *ngSwitchCase="'date'" [placeholder]="placeholder" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" appendTo="body"></p-calendar>
6195
6222
  </ng-container>
6196
6223
  </ng-template>
6197
6224
  `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i8.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i9.InputText, selector: "[pInputText]" }, { kind: "component", type: i10.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "component", type: i11.TriStateCheckbox, selector: "p-triStateCheckbox", inputs: ["disabled", "name", "ariaLabel", "ariaLabelledBy", "tabindex", "inputId", "style", "styleClass", "label", "readonly", "checkboxTrueIcon", "checkboxFalseIcon"], outputs: ["onChange"] }], encapsulation: i0.ViewEncapsulation.None });
@@ -6248,7 +6275,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
6248
6275
  [useGrouping]="useGrouping"
6249
6276
  ></p-inputNumber>
6250
6277
  <p-triStateCheckbox *ngSwitchCase="'boolean'" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)"></p-triStateCheckbox>
6251
- <p-calendar *ngSwitchCase="'date'" [placeholder]="placeholder" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)"></p-calendar>
6278
+ <p-calendar *ngSwitchCase="'date'" [placeholder]="placeholder" [ngModel]="filterConstraint?.value" (ngModelChange)="onModelChange($event)" appendTo="body"></p-calendar>
6252
6279
  </ng-container>
6253
6280
  </ng-template>
6254
6281
  `,