primeng 13.0.2 → 13.1.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 (166) hide show
  1. package/api/translation.d.ts +1 -0
  2. package/api/translationkeys.d.ts +1 -0
  3. package/calendar/calendar.d.ts +7 -2
  4. package/contextmenu/contextmenu.d.ts +2 -0
  5. package/dropdown/dropdown.d.ts +1 -0
  6. package/esm2020/api/primengconfig.mjs +2 -1
  7. package/esm2020/api/translation.mjs +1 -1
  8. package/esm2020/api/translationkeys.mjs +2 -1
  9. package/esm2020/calendar/calendar.mjs +61 -32
  10. package/esm2020/cascadeselect/cascadeselect.mjs +3 -3
  11. package/esm2020/chip/chip.mjs +2 -2
  12. package/esm2020/contextmenu/contextmenu.mjs +13 -2
  13. package/esm2020/dropdown/dropdown.mjs +10 -8
  14. package/esm2020/fileupload/fileupload.mjs +14 -5
  15. package/esm2020/galleria/galleria.mjs +3 -3
  16. package/esm2020/megamenu/megamenu.mjs +2 -2
  17. package/esm2020/multiselect/multiselect.mjs +13 -8
  18. package/esm2020/organizationchart/organizationchart.mjs +3 -3
  19. package/esm2020/password/password.mjs +8 -3
  20. package/esm2020/slidemenu/slidemenu.mjs +3 -3
  21. package/esm2020/splitter/splitter.mjs +21 -6
  22. package/esm2020/steps/steps.mjs +7 -6
  23. package/esm2020/table/table.mjs +146 -120
  24. package/esm2020/tabmenu/tabmenu.mjs +27 -12
  25. package/esm2020/tabview/tabview.mjs +7 -4
  26. package/esm2020/timeline/timeline.mjs +2 -2
  27. package/esm2020/tree/tree.mjs +3 -3
  28. package/esm2020/treetable/treetable.mjs +16 -19
  29. package/esm2020/utils/objectutils.mjs +9 -1
  30. package/fesm2015/primeng-api.mjs +2 -0
  31. package/fesm2015/primeng-api.mjs.map +1 -1
  32. package/fesm2015/primeng-calendar.mjs +60 -31
  33. package/fesm2015/primeng-calendar.mjs.map +1 -1
  34. package/fesm2015/primeng-cascadeselect.mjs +2 -2
  35. package/fesm2015/primeng-cascadeselect.mjs.map +1 -1
  36. package/fesm2015/primeng-chip.mjs +2 -2
  37. package/fesm2015/primeng-contextmenu.mjs +12 -1
  38. package/fesm2015/primeng-contextmenu.mjs.map +1 -1
  39. package/fesm2015/primeng-dropdown.mjs +9 -7
  40. package/fesm2015/primeng-dropdown.mjs.map +1 -1
  41. package/fesm2015/primeng-fileupload.mjs +13 -4
  42. package/fesm2015/primeng-fileupload.mjs.map +1 -1
  43. package/fesm2015/primeng-galleria.mjs +2 -2
  44. package/fesm2015/primeng-galleria.mjs.map +1 -1
  45. package/fesm2015/primeng-megamenu.mjs +1 -1
  46. package/fesm2015/primeng-megamenu.mjs.map +1 -1
  47. package/fesm2015/primeng-multiselect.mjs +12 -7
  48. package/fesm2015/primeng-multiselect.mjs.map +1 -1
  49. package/fesm2015/primeng-organizationchart.mjs +2 -2
  50. package/fesm2015/primeng-organizationchart.mjs.map +1 -1
  51. package/fesm2015/primeng-password.mjs +7 -2
  52. package/fesm2015/primeng-password.mjs.map +1 -1
  53. package/fesm2015/primeng-slidemenu.mjs +2 -2
  54. package/fesm2015/primeng-slidemenu.mjs.map +1 -1
  55. package/fesm2015/primeng-splitter.mjs +20 -5
  56. package/fesm2015/primeng-splitter.mjs.map +1 -1
  57. package/fesm2015/primeng-steps.mjs +6 -5
  58. package/fesm2015/primeng-steps.mjs.map +1 -1
  59. package/fesm2015/primeng-table.mjs +145 -119
  60. package/fesm2015/primeng-table.mjs.map +1 -1
  61. package/fesm2015/primeng-tabmenu.mjs +26 -11
  62. package/fesm2015/primeng-tabmenu.mjs.map +1 -1
  63. package/fesm2015/primeng-tabview.mjs +6 -3
  64. package/fesm2015/primeng-tabview.mjs.map +1 -1
  65. package/fesm2015/primeng-timeline.mjs +2 -2
  66. package/fesm2015/primeng-tree.mjs +2 -2
  67. package/fesm2015/primeng-tree.mjs.map +1 -1
  68. package/fesm2015/primeng-treetable.mjs +15 -18
  69. package/fesm2015/primeng-treetable.mjs.map +1 -1
  70. package/fesm2015/primeng-utils.mjs +8 -0
  71. package/fesm2015/primeng-utils.mjs.map +1 -1
  72. package/fesm2020/primeng-api.mjs +2 -0
  73. package/fesm2020/primeng-api.mjs.map +1 -1
  74. package/fesm2020/primeng-calendar.mjs +60 -31
  75. package/fesm2020/primeng-calendar.mjs.map +1 -1
  76. package/fesm2020/primeng-cascadeselect.mjs +2 -2
  77. package/fesm2020/primeng-cascadeselect.mjs.map +1 -1
  78. package/fesm2020/primeng-chip.mjs +2 -2
  79. package/fesm2020/primeng-contextmenu.mjs +12 -1
  80. package/fesm2020/primeng-contextmenu.mjs.map +1 -1
  81. package/fesm2020/primeng-dropdown.mjs +9 -7
  82. package/fesm2020/primeng-dropdown.mjs.map +1 -1
  83. package/fesm2020/primeng-fileupload.mjs +13 -4
  84. package/fesm2020/primeng-fileupload.mjs.map +1 -1
  85. package/fesm2020/primeng-galleria.mjs +2 -2
  86. package/fesm2020/primeng-galleria.mjs.map +1 -1
  87. package/fesm2020/primeng-megamenu.mjs +1 -1
  88. package/fesm2020/primeng-megamenu.mjs.map +1 -1
  89. package/fesm2020/primeng-multiselect.mjs +12 -7
  90. package/fesm2020/primeng-multiselect.mjs.map +1 -1
  91. package/fesm2020/primeng-organizationchart.mjs +2 -2
  92. package/fesm2020/primeng-organizationchart.mjs.map +1 -1
  93. package/fesm2020/primeng-password.mjs +7 -2
  94. package/fesm2020/primeng-password.mjs.map +1 -1
  95. package/fesm2020/primeng-slidemenu.mjs +2 -2
  96. package/fesm2020/primeng-slidemenu.mjs.map +1 -1
  97. package/fesm2020/primeng-splitter.mjs +20 -5
  98. package/fesm2020/primeng-splitter.mjs.map +1 -1
  99. package/fesm2020/primeng-steps.mjs +6 -5
  100. package/fesm2020/primeng-steps.mjs.map +1 -1
  101. package/fesm2020/primeng-table.mjs +145 -119
  102. package/fesm2020/primeng-table.mjs.map +1 -1
  103. package/fesm2020/primeng-tabmenu.mjs +26 -11
  104. package/fesm2020/primeng-tabmenu.mjs.map +1 -1
  105. package/fesm2020/primeng-tabview.mjs +6 -3
  106. package/fesm2020/primeng-tabview.mjs.map +1 -1
  107. package/fesm2020/primeng-timeline.mjs +2 -2
  108. package/fesm2020/primeng-tree.mjs +2 -2
  109. package/fesm2020/primeng-tree.mjs.map +1 -1
  110. package/fesm2020/primeng-treetable.mjs +15 -18
  111. package/fesm2020/primeng-treetable.mjs.map +1 -1
  112. package/fesm2020/primeng-utils.mjs +8 -0
  113. package/fesm2020/primeng-utils.mjs.map +1 -1
  114. package/fileupload/fileupload.d.ts +1 -0
  115. package/multiselect/multiselect.d.ts +3 -1
  116. package/package.json +1 -1
  117. package/password/password.d.ts +1 -0
  118. package/resources/components/table/table.css +1 -1
  119. package/resources/components/tree/tree.css +1 -0
  120. package/resources/themes/arya-blue/theme.css +36 -20
  121. package/resources/themes/arya-green/theme.css +36 -20
  122. package/resources/themes/arya-orange/theme.css +36 -20
  123. package/resources/themes/arya-purple/theme.css +36 -20
  124. package/resources/themes/bootstrap4-dark-blue/theme.css +16 -3
  125. package/resources/themes/bootstrap4-dark-purple/theme.css +16 -3
  126. package/resources/themes/bootstrap4-light-blue/theme.css +16 -3
  127. package/resources/themes/bootstrap4-light-purple/theme.css +16 -3
  128. package/resources/themes/fluent-light/theme.css +36 -20
  129. package/resources/themes/lara-dark-blue/theme.css +385 -369
  130. package/resources/themes/lara-dark-indigo/theme.css +385 -369
  131. package/resources/themes/lara-dark-purple/theme.css +385 -369
  132. package/resources/themes/lara-dark-teal/theme.css +385 -369
  133. package/resources/themes/lara-light-blue/theme.css +36 -20
  134. package/resources/themes/lara-light-indigo/theme.css +36 -20
  135. package/resources/themes/lara-light-purple/theme.css +36 -20
  136. package/resources/themes/lara-light-teal/theme.css +36 -20
  137. package/resources/themes/luna-amber/theme.css +29 -20
  138. package/resources/themes/luna-blue/theme.css +29 -20
  139. package/resources/themes/luna-green/theme.css +29 -20
  140. package/resources/themes/luna-pink/theme.css +29 -20
  141. package/resources/themes/md-dark-deeppurple/theme.css +19 -3
  142. package/resources/themes/md-dark-indigo/theme.css +19 -3
  143. package/resources/themes/md-light-deeppurple/theme.css +20 -4
  144. package/resources/themes/md-light-indigo/theme.css +20 -4
  145. package/resources/themes/mdc-dark-deeppurple/theme.css +19 -3
  146. package/resources/themes/mdc-dark-indigo/theme.css +19 -3
  147. package/resources/themes/mdc-light-deeppurple/theme.css +20 -4
  148. package/resources/themes/mdc-light-indigo/theme.css +20 -4
  149. package/resources/themes/nova/theme.css +29 -20
  150. package/resources/themes/nova-accent/theme.css +29 -20
  151. package/resources/themes/nova-alt/theme.css +29 -20
  152. package/resources/themes/rhea/theme.css +29 -20
  153. package/resources/themes/saga-blue/theme.css +19 -3
  154. package/resources/themes/saga-green/theme.css +19 -3
  155. package/resources/themes/saga-orange/theme.css +19 -3
  156. package/resources/themes/saga-purple/theme.css +19 -3
  157. package/resources/themes/tailwind-light/theme.css +39 -23
  158. package/resources/themes/vela-blue/theme.css +36 -20
  159. package/resources/themes/vela-green/theme.css +36 -20
  160. package/resources/themes/vela-orange/theme.css +36 -20
  161. package/resources/themes/vela-purple/theme.css +36 -20
  162. package/splitter/splitter.d.ts +4 -3
  163. package/table/table.d.ts +13 -5
  164. package/tabmenu/tabmenu.d.ts +7 -1
  165. package/treetable/treetable.d.ts +2 -1
  166. package/utils/objectutils.d.ts +2 -0
@@ -11,7 +11,7 @@ import { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';
11
11
  import * as i1 from 'primeng/api';
12
12
  import { TranslationKeys, PrimeTemplate, SharedModule } from 'primeng/api';
13
13
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
14
- import { UniqueComponentId, ZIndexUtils } from 'primeng/utils';
14
+ import { UniqueComponentId, ObjectUtils, ZIndexUtils } from 'primeng/utils';
15
15
 
16
16
  const CALENDAR_VALUE_ACCESSOR = {
17
17
  provide: NG_VALUE_ACCESSOR,
@@ -49,7 +49,6 @@ class Calendar {
49
49
  this.hideOnDateTimeSelect = true;
50
50
  this.timeSeparator = ":";
51
51
  this.focusTrap = true;
52
- this.firstDayOfWeek = 0;
53
52
  this.showTransitionOptions = '.12s cubic-bezier(0, 0, 0.2, 1)';
54
53
  this.hideTransitionOptions = '.1s linear';
55
54
  this.onFocus = new EventEmitter();
@@ -196,6 +195,13 @@ class Calendar {
196
195
  this.destroyResponsiveStyleElement();
197
196
  this.createResponsiveStyle();
198
197
  }
198
+ get firstDayOfWeek() {
199
+ return this._firstDayOfWeek;
200
+ }
201
+ set firstDayOfWeek(firstDayOfWeek) {
202
+ this._firstDayOfWeek = firstDayOfWeek;
203
+ this.createWeekDays();
204
+ }
199
205
  set locale(newLocale) {
200
206
  console.warn("Locale property has no effect, use new i18n API instead.");
201
207
  }
@@ -263,7 +269,7 @@ class Calendar {
263
269
  }
264
270
  createWeekDays() {
265
271
  this.weekDays = [];
266
- let dayIndex = this.firstDayOfWeek;
272
+ let dayIndex = this.getFirstDateOfWeek();
267
273
  let dayLabels = this.getTranslation(TranslationKeys.DAY_NAMES_MIN);
268
274
  for (let i = 0; i < 7; i++) {
269
275
  this.weekDays.push(dayLabels[dayIndex]);
@@ -451,10 +457,14 @@ class Calendar {
451
457
  }
452
458
  switchToMonthView(event) {
453
459
  this.currentView = 'month';
460
+ this.cd.detectChanges();
461
+ this.alignOverlay();
454
462
  event.preventDefault();
455
463
  }
456
464
  switchToYearView(event) {
457
465
  this.currentView = 'year';
466
+ this.cd.detectChanges();
467
+ this.alignOverlay();
458
468
  event.preventDefault();
459
469
  }
460
470
  onDateSelect(event, dateMeta) {
@@ -550,8 +560,8 @@ class Calendar {
550
560
  }
551
561
  }
552
562
  formatDateTime(date) {
553
- let formattedValue = null;
554
- if (date) {
563
+ let formattedValue = this.keepInvalid ? date : null;
564
+ if (this.isValidDate(date)) {
555
565
  if (this.timeOnly) {
556
566
  formattedValue = this.formatTime(date);
557
567
  }
@@ -688,7 +698,8 @@ class Calendar {
688
698
  return { 'month': m, 'year': y };
689
699
  }
690
700
  getSundayIndex() {
691
- return this.firstDayOfWeek > 0 ? 7 - this.firstDayOfWeek : 0;
701
+ let firstDayOfWeek = this.getFirstDateOfWeek();
702
+ return firstDayOfWeek > 0 ? 7 - firstDayOfWeek : 0;
692
703
  }
693
704
  isSelected(dateMeta) {
694
705
  if (this.value) {
@@ -734,7 +745,7 @@ class Calendar {
734
745
  return false;
735
746
  }
736
747
  isDateEquals(value, dateMeta) {
737
- if (value)
748
+ if (value && value instanceof Date)
738
749
  return value.getDate() === dateMeta.day && value.getMonth() === dateMeta.month && value.getFullYear() === dateMeta.year;
739
750
  else
740
751
  return false;
@@ -861,6 +872,9 @@ class Calendar {
861
872
  getMonthName(index) {
862
873
  return this.config.getTranslation('monthNames')[index];
863
874
  }
875
+ getYear(month) {
876
+ return this.currentView === 'month' ? this.currentYear : month.year;
877
+ }
864
878
  switchViewButtonDisabled() {
865
879
  return this.numberOfMonths > 1 || this.disabled;
866
880
  }
@@ -1567,7 +1581,8 @@ class Calendar {
1567
1581
  }
1568
1582
  catch (err) {
1569
1583
  //invalid date
1570
- this.updateModel(null);
1584
+ let value = this.keepInvalid ? val : null;
1585
+ this.updateModel(value);
1571
1586
  }
1572
1587
  this.filled = val != null && val.length;
1573
1588
  this.onInput.emit(event);
@@ -1641,11 +1656,15 @@ class Calendar {
1641
1656
  value.setMinutes(time.minute);
1642
1657
  value.setSeconds(time.second);
1643
1658
  }
1659
+ isValidDate(date) {
1660
+ return date instanceof Date && ObjectUtils.isNotEmpty(date);
1661
+ }
1644
1662
  updateUI() {
1645
- let val = this.value || this.defaultDate || new Date();
1646
- if (Array.isArray(val)) {
1647
- val = val[0];
1663
+ let propValue = this.value;
1664
+ if (Array.isArray(propValue)) {
1665
+ propValue = propValue[0];
1648
1666
  }
1667
+ let val = this.defaultDate && this.isValidDate(this.defaultDate) && !this.value ? this.defaultDate : (propValue && this.isValidDate(propValue) ? propValue : new Date());
1649
1668
  this.currentMonth = val.getMonth();
1650
1669
  this.currentYear = val.getFullYear();
1651
1670
  this.createMonths(this.currentMonth, this.currentYear);
@@ -1811,7 +1830,14 @@ class Calendar {
1811
1830
  writeValue(value) {
1812
1831
  this.value = value;
1813
1832
  if (this.value && typeof this.value === 'string') {
1814
- this.value = this.parseValueFromString(this.value);
1833
+ try {
1834
+ this.value = this.parseValueFromString(this.value);
1835
+ }
1836
+ catch (_a) {
1837
+ if (this.keepInvalid) {
1838
+ this.value = value;
1839
+ }
1840
+ }
1815
1841
  }
1816
1842
  this.updateInputfield();
1817
1843
  this.updateUI();
@@ -1830,6 +1856,9 @@ class Calendar {
1830
1856
  getDateFormat() {
1831
1857
  return this.dateFormat || this.getTranslation('dateFormat');
1832
1858
  }
1859
+ getFirstDateOfWeek() {
1860
+ return this._firstDayOfWeek || this.getTranslation(TranslationKeys.FIRST_DAY_OF_WEEK);
1861
+ }
1833
1862
  // Ported from jquery-ui datepicker formatDate
1834
1863
  formatDate(date, format) {
1835
1864
  if (!date) {
@@ -2255,7 +2284,7 @@ class Calendar {
2255
2284
  }
2256
2285
  }
2257
2286
  Calendar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Calendar, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.PrimeNGConfig }, { token: i1.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
2258
- Calendar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: Calendar, selector: "p-calendar", inputs: { style: "style", styleClass: "styleClass", inputStyle: "inputStyle", inputId: "inputId", name: "name", inputStyleClass: "inputStyleClass", placeholder: "placeholder", ariaLabelledBy: "ariaLabelledBy", iconAriaLabel: "iconAriaLabel", disabled: "disabled", dateFormat: "dateFormat", multipleSeparator: "multipleSeparator", rangeSeparator: "rangeSeparator", inline: "inline", showOtherMonths: "showOtherMonths", selectOtherMonths: "selectOtherMonths", showIcon: "showIcon", icon: "icon", appendTo: "appendTo", readonlyInput: "readonlyInput", shortYearCutoff: "shortYearCutoff", monthNavigator: "monthNavigator", yearNavigator: "yearNavigator", hourFormat: "hourFormat", timeOnly: "timeOnly", stepHour: "stepHour", stepMinute: "stepMinute", stepSecond: "stepSecond", showSeconds: "showSeconds", required: "required", showOnFocus: "showOnFocus", showWeek: "showWeek", dataType: "dataType", selectionMode: "selectionMode", maxDateCount: "maxDateCount", showButtonBar: "showButtonBar", todayButtonStyleClass: "todayButtonStyleClass", clearButtonStyleClass: "clearButtonStyleClass", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", panelStyleClass: "panelStyleClass", panelStyle: "panelStyle", keepInvalid: "keepInvalid", hideOnDateTimeSelect: "hideOnDateTimeSelect", touchUI: "touchUI", timeSeparator: "timeSeparator", focusTrap: "focusTrap", firstDayOfWeek: "firstDayOfWeek", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", tabindex: "tabindex", view: "view", defaultDate: "defaultDate", minDate: "minDate", maxDate: "maxDate", disabledDates: "disabledDates", disabledDays: "disabledDays", yearRange: "yearRange", showTime: "showTime", responsiveOptions: "responsiveOptions", numberOfMonths: "numberOfMonths", locale: "locale" }, outputs: { onFocus: "onFocus", onBlur: "onBlur", onClose: "onClose", onSelect: "onSelect", onInput: "onInput", onTodayClick: "onTodayClick", onClearClick: "onClearClick", onMonthChange: "onMonthChange", onYearChange: "onYearChange", onClickOutside: "onClickOutside", onShow: "onShow" }, host: { properties: { "class.p-inputwrapper-filled": "filled", "class.p-inputwrapper-focus": "focus" }, classAttribute: "p-element p-inputwrapper" }, providers: [CALENDAR_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "inputfieldViewChild", first: true, predicate: ["inputfield"], descendants: true }, { propertyName: "content", first: true, predicate: ["contentWrapper"], descendants: true }], ngImport: i0, template: `
2287
+ Calendar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: Calendar, selector: "p-calendar", inputs: { style: "style", styleClass: "styleClass", inputStyle: "inputStyle", inputId: "inputId", name: "name", inputStyleClass: "inputStyleClass", placeholder: "placeholder", ariaLabelledBy: "ariaLabelledBy", iconAriaLabel: "iconAriaLabel", disabled: "disabled", dateFormat: "dateFormat", multipleSeparator: "multipleSeparator", rangeSeparator: "rangeSeparator", inline: "inline", showOtherMonths: "showOtherMonths", selectOtherMonths: "selectOtherMonths", showIcon: "showIcon", icon: "icon", appendTo: "appendTo", readonlyInput: "readonlyInput", shortYearCutoff: "shortYearCutoff", monthNavigator: "monthNavigator", yearNavigator: "yearNavigator", hourFormat: "hourFormat", timeOnly: "timeOnly", stepHour: "stepHour", stepMinute: "stepMinute", stepSecond: "stepSecond", showSeconds: "showSeconds", required: "required", showOnFocus: "showOnFocus", showWeek: "showWeek", dataType: "dataType", selectionMode: "selectionMode", maxDateCount: "maxDateCount", showButtonBar: "showButtonBar", todayButtonStyleClass: "todayButtonStyleClass", clearButtonStyleClass: "clearButtonStyleClass", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", panelStyleClass: "panelStyleClass", panelStyle: "panelStyle", keepInvalid: "keepInvalid", hideOnDateTimeSelect: "hideOnDateTimeSelect", touchUI: "touchUI", timeSeparator: "timeSeparator", focusTrap: "focusTrap", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", tabindex: "tabindex", view: "view", defaultDate: "defaultDate", minDate: "minDate", maxDate: "maxDate", disabledDates: "disabledDates", disabledDays: "disabledDays", yearRange: "yearRange", showTime: "showTime", responsiveOptions: "responsiveOptions", numberOfMonths: "numberOfMonths", firstDayOfWeek: "firstDayOfWeek", locale: "locale" }, outputs: { onFocus: "onFocus", onBlur: "onBlur", onClose: "onClose", onSelect: "onSelect", onInput: "onInput", onTodayClick: "onTodayClick", onClearClick: "onClearClick", onMonthChange: "onMonthChange", onYearChange: "onYearChange", onClickOutside: "onClickOutside", onShow: "onShow" }, host: { properties: { "class.p-inputwrapper-filled": "filled", "class.p-inputwrapper-focus": "focus" }, classAttribute: "p-element p-inputwrapper" }, providers: [CALENDAR_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "inputfieldViewChild", first: true, predicate: ["inputfield"], descendants: true }, { propertyName: "content", first: true, predicate: ["contentWrapper"], descendants: true }], ngImport: i0, template: `
2259
2288
  <span #container [ngClass]="{'p-calendar':true, 'p-calendar-w-btn': showIcon, 'p-calendar-timeonly': timeOnly, 'p-calendar-disabled':disabled, 'p-focus': focus}" [ngStyle]="style" [class]="styleClass">
2260
2289
  <ng-template [ngIf]="!inline">
2261
2290
  <input #inputfield type="text" [attr.id]="inputId" [attr.name]="name" [attr.required]="required" [attr.aria-required]="required" [value]="inputFieldValue" (focus)="onInputFocus($event)" (keydown)="onInputKeydown($event)" (click)="onInputClick()" (blur)="onInputBlur($event)"
@@ -2283,7 +2312,7 @@ Calendar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
2283
2312
  {{getMonthName(month.month)}}
2284
2313
  </button>
2285
2314
  <button type="button" (click)="switchToYearView($event)" (keydown)="onContainerButtonKeydown($event)" *ngIf="currentView !== 'year'" class="p-datepicker-year p-link" [disabled]="switchViewButtonDisabled()">
2286
- {{currentYear}}
2315
+ {{getYear(month)}}
2287
2316
  </button>
2288
2317
  <span class="p-datepicker-decade" *ngIf="currentView === 'year'">
2289
2318
  <ng-container *ngIf="!decadeTemplate">{{yearPickerValues()[0]}} - {{yearPickerValues()[yearPickerValues().length - 1]}}</ng-container>
@@ -2329,7 +2358,7 @@ Calendar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
2329
2358
  </div>
2330
2359
  </div>
2331
2360
  <div class="p-monthpicker" *ngIf="currentView === 'month'">
2332
- <span *ngFor="let m of monthPickerValues(); let i = index" (click)="onMonthSelect($event, i)" (keydown)="onMonthCellKeydown($event,i)" class="p-monthpicker-month" [ngClass]="{'p-highlight': isMonthSelected(i), 'p-disabled':!isSelectable(1, i, this.currentYear, false)}" pRipple>
2361
+ <span *ngFor="let m of monthPickerValues(); let i = index" (click)="onMonthSelect($event, i)" (keydown)="onMonthCellKeydown($event,i)" class="p-monthpicker-month" [ngClass]="{'p-highlight': isMonthSelected(i)}" pRipple>
2333
2362
  {{m}}
2334
2363
  </span>
2335
2364
  </div>
@@ -2341,11 +2370,11 @@ Calendar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
2341
2370
  </ng-container>
2342
2371
  <div class="p-timepicker" *ngIf="showTime||timeOnly">
2343
2372
  <div class="p-hour-picker">
2344
- <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="incrementHour($event)" (keydown.space)="incrementHour($event)" (mousedown)="onTimePickerElementMouseDown($event, 0, 1)" (mouseup)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2373
+ <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="incrementHour($event)" (keydown.space)="incrementHour($event)" (mousedown)="onTimePickerElementMouseDown($event, 0, 1)" (mouseup)="onTimePickerElementMouseUp($event)" (keyup.enter)="onTimePickerElementMouseUp($event)" (keyup.space)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2345
2374
  <span class="pi pi-chevron-up"></span>
2346
2375
  </button>
2347
2376
  <span><ng-container *ngIf="currentHour < 10">0</ng-container>{{currentHour}}</span>
2348
- <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="decrementHour($event)" (keydown.space)="decrementHour($event)" (mousedown)="onTimePickerElementMouseDown($event, 0, -1)" (mouseup)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2377
+ <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="decrementHour($event)" (keydown.space)="decrementHour($event)" (mousedown)="onTimePickerElementMouseDown($event, 0, -1)" (mouseup)="onTimePickerElementMouseUp($event)" (keyup.enter)="onTimePickerElementMouseUp($event)" (keyup.space)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2349
2378
  <span class="pi pi-chevron-down"></span>
2350
2379
  </button>
2351
2380
  </div>
@@ -2353,11 +2382,11 @@ Calendar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
2353
2382
  <span>{{timeSeparator}}</span>
2354
2383
  </div>
2355
2384
  <div class="p-minute-picker">
2356
- <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="incrementMinute($event)" (keydown.space)="incrementMinute($event)" (mousedown)="onTimePickerElementMouseDown($event, 1, 1)" (mouseup)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2385
+ <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="incrementMinute($event)" (keydown.space)="incrementMinute($event)" (mousedown)="onTimePickerElementMouseDown($event, 1, 1)" (mouseup)="onTimePickerElementMouseUp($event)" (keyup.enter)="onTimePickerElementMouseUp($event)" (keyup.space)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2357
2386
  <span class="pi pi-chevron-up"></span>
2358
2387
  </button>
2359
2388
  <span><ng-container *ngIf="currentMinute < 10">0</ng-container>{{currentMinute}}</span>
2360
- <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="decrementMinute($event)" (keydown.space)="decrementMinute($event)" (mousedown)="onTimePickerElementMouseDown($event, 1, -1)" (mouseup)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2389
+ <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="decrementMinute($event)" (keydown.space)="decrementMinute($event)" (mousedown)="onTimePickerElementMouseDown($event, 1, -1)" (mouseup)="onTimePickerElementMouseUp($event)" (keyup.enter)="onTimePickerElementMouseUp($event)" (keyup.space)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2361
2390
  <span class="pi pi-chevron-down"></span>
2362
2391
  </button>
2363
2392
  </div>
@@ -2365,11 +2394,11 @@ Calendar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
2365
2394
  <span>{{timeSeparator}}</span>
2366
2395
  </div>
2367
2396
  <div class="p-second-picker" *ngIf="showSeconds">
2368
- <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="incrementSecond($event)" (keydown.space)="incrementSecond($event)" (mousedown)="onTimePickerElementMouseDown($event, 2, 1)" (mouseup)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2397
+ <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="incrementSecond($event)" (keydown.space)="incrementSecond($event)" (mousedown)="onTimePickerElementMouseDown($event, 2, 1)" (mouseup)="onTimePickerElementMouseUp($event)" (keyup.enter)="onTimePickerElementMouseUp($event)" (keyup.space)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2369
2398
  <span class="pi pi-chevron-up"></span>
2370
2399
  </button>
2371
2400
  <span><ng-container *ngIf="currentSecond < 10">0</ng-container>{{currentSecond}}</span>
2372
- <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="decrementSecond($event)" (keydown.space)="decrementSecond($event)" (mousedown)="onTimePickerElementMouseDown($event, 2, -1)" (mouseup)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2401
+ <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="decrementSecond($event)" (keydown.space)="decrementSecond($event)" (mousedown)="onTimePickerElementMouseDown($event, 2, -1)" (mouseup)="onTimePickerElementMouseUp($event)" (keyup.enter)="onTimePickerElementMouseUp($event)" (keyup.space)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2373
2402
  <span class="pi pi-chevron-down"></span>
2374
2403
  </button>
2375
2404
  </div>
@@ -2446,7 +2475,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
2446
2475
  {{getMonthName(month.month)}}
2447
2476
  </button>
2448
2477
  <button type="button" (click)="switchToYearView($event)" (keydown)="onContainerButtonKeydown($event)" *ngIf="currentView !== 'year'" class="p-datepicker-year p-link" [disabled]="switchViewButtonDisabled()">
2449
- {{currentYear}}
2478
+ {{getYear(month)}}
2450
2479
  </button>
2451
2480
  <span class="p-datepicker-decade" *ngIf="currentView === 'year'">
2452
2481
  <ng-container *ngIf="!decadeTemplate">{{yearPickerValues()[0]}} - {{yearPickerValues()[yearPickerValues().length - 1]}}</ng-container>
@@ -2492,7 +2521,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
2492
2521
  </div>
2493
2522
  </div>
2494
2523
  <div class="p-monthpicker" *ngIf="currentView === 'month'">
2495
- <span *ngFor="let m of monthPickerValues(); let i = index" (click)="onMonthSelect($event, i)" (keydown)="onMonthCellKeydown($event,i)" class="p-monthpicker-month" [ngClass]="{'p-highlight': isMonthSelected(i), 'p-disabled':!isSelectable(1, i, this.currentYear, false)}" pRipple>
2524
+ <span *ngFor="let m of monthPickerValues(); let i = index" (click)="onMonthSelect($event, i)" (keydown)="onMonthCellKeydown($event,i)" class="p-monthpicker-month" [ngClass]="{'p-highlight': isMonthSelected(i)}" pRipple>
2496
2525
  {{m}}
2497
2526
  </span>
2498
2527
  </div>
@@ -2504,11 +2533,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
2504
2533
  </ng-container>
2505
2534
  <div class="p-timepicker" *ngIf="showTime||timeOnly">
2506
2535
  <div class="p-hour-picker">
2507
- <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="incrementHour($event)" (keydown.space)="incrementHour($event)" (mousedown)="onTimePickerElementMouseDown($event, 0, 1)" (mouseup)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2536
+ <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="incrementHour($event)" (keydown.space)="incrementHour($event)" (mousedown)="onTimePickerElementMouseDown($event, 0, 1)" (mouseup)="onTimePickerElementMouseUp($event)" (keyup.enter)="onTimePickerElementMouseUp($event)" (keyup.space)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2508
2537
  <span class="pi pi-chevron-up"></span>
2509
2538
  </button>
2510
2539
  <span><ng-container *ngIf="currentHour < 10">0</ng-container>{{currentHour}}</span>
2511
- <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="decrementHour($event)" (keydown.space)="decrementHour($event)" (mousedown)="onTimePickerElementMouseDown($event, 0, -1)" (mouseup)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2540
+ <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="decrementHour($event)" (keydown.space)="decrementHour($event)" (mousedown)="onTimePickerElementMouseDown($event, 0, -1)" (mouseup)="onTimePickerElementMouseUp($event)" (keyup.enter)="onTimePickerElementMouseUp($event)" (keyup.space)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2512
2541
  <span class="pi pi-chevron-down"></span>
2513
2542
  </button>
2514
2543
  </div>
@@ -2516,11 +2545,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
2516
2545
  <span>{{timeSeparator}}</span>
2517
2546
  </div>
2518
2547
  <div class="p-minute-picker">
2519
- <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="incrementMinute($event)" (keydown.space)="incrementMinute($event)" (mousedown)="onTimePickerElementMouseDown($event, 1, 1)" (mouseup)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2548
+ <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="incrementMinute($event)" (keydown.space)="incrementMinute($event)" (mousedown)="onTimePickerElementMouseDown($event, 1, 1)" (mouseup)="onTimePickerElementMouseUp($event)" (keyup.enter)="onTimePickerElementMouseUp($event)" (keyup.space)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2520
2549
  <span class="pi pi-chevron-up"></span>
2521
2550
  </button>
2522
2551
  <span><ng-container *ngIf="currentMinute < 10">0</ng-container>{{currentMinute}}</span>
2523
- <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="decrementMinute($event)" (keydown.space)="decrementMinute($event)" (mousedown)="onTimePickerElementMouseDown($event, 1, -1)" (mouseup)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2552
+ <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="decrementMinute($event)" (keydown.space)="decrementMinute($event)" (mousedown)="onTimePickerElementMouseDown($event, 1, -1)" (mouseup)="onTimePickerElementMouseUp($event)" (keyup.enter)="onTimePickerElementMouseUp($event)" (keyup.space)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2524
2553
  <span class="pi pi-chevron-down"></span>
2525
2554
  </button>
2526
2555
  </div>
@@ -2528,11 +2557,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
2528
2557
  <span>{{timeSeparator}}</span>
2529
2558
  </div>
2530
2559
  <div class="p-second-picker" *ngIf="showSeconds">
2531
- <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="incrementSecond($event)" (keydown.space)="incrementSecond($event)" (mousedown)="onTimePickerElementMouseDown($event, 2, 1)" (mouseup)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2560
+ <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="incrementSecond($event)" (keydown.space)="incrementSecond($event)" (mousedown)="onTimePickerElementMouseDown($event, 2, 1)" (mouseup)="onTimePickerElementMouseUp($event)" (keyup.enter)="onTimePickerElementMouseUp($event)" (keyup.space)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2532
2561
  <span class="pi pi-chevron-up"></span>
2533
2562
  </button>
2534
2563
  <span><ng-container *ngIf="currentSecond < 10">0</ng-container>{{currentSecond}}</span>
2535
- <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="decrementSecond($event)" (keydown.space)="decrementSecond($event)" (mousedown)="onTimePickerElementMouseDown($event, 2, -1)" (mouseup)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2564
+ <button class="p-link" type="button" (keydown)="onContainerButtonKeydown($event)" (keydown.enter)="decrementSecond($event)" (keydown.space)="decrementSecond($event)" (mousedown)="onTimePickerElementMouseDown($event, 2, -1)" (mouseup)="onTimePickerElementMouseUp($event)" (keyup.enter)="onTimePickerElementMouseUp($event)" (keyup.space)="onTimePickerElementMouseUp($event)" (mouseleave)="onTimePickerElementMouseLeave()" pRipple>
2536
2565
  <span class="pi pi-chevron-down"></span>
2537
2566
  </button>
2538
2567
  </div>
@@ -2677,8 +2706,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
2677
2706
  type: Input
2678
2707
  }], focusTrap: [{
2679
2708
  type: Input
2680
- }], firstDayOfWeek: [{
2681
- type: Input
2682
2709
  }], showTransitionOptions: [{
2683
2710
  type: Input
2684
2711
  }], hideTransitionOptions: [{
@@ -2739,6 +2766,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
2739
2766
  type: Input
2740
2767
  }], numberOfMonths: [{
2741
2768
  type: Input
2769
+ }], firstDayOfWeek: [{
2770
+ type: Input
2742
2771
  }], locale: [{
2743
2772
  type: Input
2744
2773
  }] } });