@ptsecurity/mosaic 15.6.0 → 15.8.0

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 (217) hide show
  1. package/_theming.scss +140 -4
  2. package/_visual.scss +2 -0
  3. package/autocomplete/autocomplete-trigger.directive.d.ts +5 -15
  4. package/checkbox/_checkbox-theme.scss +4 -0
  5. package/checkbox/checkbox.scss +4 -7
  6. package/core/formatters/index.d.ts +1 -1
  7. package/core/formatters/number/formatter.d.ts +25 -0
  8. package/core/forms/_forms-theme.scss +112 -0
  9. package/core/locales/en-US.d.ts +1 -2
  10. package/core/locales/es-LA.d.ts +9 -0
  11. package/core/locales/fa-IR.d.ts +9 -0
  12. package/core/locales/index.d.ts +0 -2
  13. package/core/locales/locale-service.d.ts +39 -5
  14. package/core/locales/pt-BR.d.ts +9 -0
  15. package/core/locales/ru-RU.d.ts +1 -2
  16. package/core/locales/zh-CN.d.ts +9 -0
  17. package/core/option/option.d.ts +36 -7
  18. package/core/overlay/overlay-position-map.d.ts +7 -1
  19. package/core/pop-up/pop-up.d.ts +3 -0
  20. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +3 -5
  21. package/core/styles/_core.scss +0 -1
  22. package/core/styles/_variables.scss +1 -0
  23. package/core/styles/theming/_scrollbars.scss +9 -3
  24. package/core/styles/theming/_theming.scss +1 -0
  25. package/datepicker/calendar-header.component.d.ts +8 -2
  26. package/datepicker/calendar.component.d.ts +3 -4
  27. package/datepicker/month-view.component.d.ts +3 -4
  28. package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +27 -24
  29. package/esm2020/button/button.component.mjs +6 -3
  30. package/esm2020/checkbox/checkbox.mjs +2 -2
  31. package/esm2020/code-block/actionbar.component.mjs +1 -1
  32. package/esm2020/core/formatters/index.mjs +9 -4
  33. package/esm2020/core/formatters/number/formatter.mjs +90 -1
  34. package/esm2020/core/locales/en-US.mjs +3 -4
  35. package/esm2020/core/locales/es-LA.mjs +11 -2
  36. package/esm2020/core/locales/fa-IR.mjs +11 -2
  37. package/esm2020/core/locales/index.mjs +1 -3
  38. package/esm2020/core/locales/locale-service.mjs +4 -4
  39. package/esm2020/core/locales/pt-BR.mjs +11 -2
  40. package/esm2020/core/locales/ru-RU.mjs +3 -4
  41. package/esm2020/core/locales/zh-CN.mjs +11 -2
  42. package/esm2020/core/option/option.mjs +43 -7
  43. package/esm2020/core/overlay/overlay-position-map.mjs +7 -1
  44. package/esm2020/core/pop-up/pop-up.mjs +1 -1
  45. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +2 -2
  46. package/esm2020/core/version.mjs +2 -2
  47. package/esm2020/datepicker/calendar-header.component.mjs +8 -7
  48. package/esm2020/datepicker/calendar.component.mjs +5 -14
  49. package/esm2020/datepicker/datepicker-input.directive.mjs +7 -6
  50. package/esm2020/datepicker/month-view.component.mjs +6 -15
  51. package/esm2020/dropdown/dropdown-trigger.directive.mjs +3 -2
  52. package/esm2020/file-upload/file-drop.mjs +40 -3
  53. package/esm2020/file-upload/file-upload.mjs +1 -1
  54. package/esm2020/file-upload/multiple-file-upload.component.mjs +11 -7
  55. package/esm2020/file-upload/single-file-upload.component.mjs +10 -6
  56. package/esm2020/form-field/form-field.mjs +2 -2
  57. package/esm2020/form-field/validate.directive.mjs +9 -3
  58. package/esm2020/loader-overlay/loader-overlay.component.mjs +2 -2
  59. package/esm2020/modal/modal.component.mjs +7 -11
  60. package/esm2020/modal/modal.module.mjs +8 -4
  61. package/esm2020/navbar/navbar.component.mjs +20 -10
  62. package/esm2020/navbar/vertical-navbar.animation.mjs +2 -2
  63. package/esm2020/navbar/vertical-navbar.component.mjs +11 -7
  64. package/esm2020/popover/popover.component.mjs +2 -2
  65. package/esm2020/select/select-option.directive.mjs +15 -3
  66. package/esm2020/select/select.component.mjs +49 -22
  67. package/esm2020/tabs/tab-group.component.mjs +1 -1
  68. package/esm2020/tabs/tab.component.mjs +13 -4
  69. package/esm2020/tags/tag-list.component.mjs +5 -4
  70. package/esm2020/timezone/timezone-select.component.mjs +3 -3
  71. package/esm2020/title/title.directive.mjs +2 -2
  72. package/esm2020/toast/toast-animations.mjs +2 -1
  73. package/esm2020/toast/toast-container.component.mjs +21 -7
  74. package/esm2020/toast/toast.component.mjs +7 -2
  75. package/esm2020/toast/toast.module.mjs +10 -4
  76. package/esm2020/toast/toast.service.mjs +2 -1
  77. package/esm2020/toggle/toggle.component.mjs +3 -3
  78. package/esm2020/tooltip/tooltip.component.mjs +16 -4
  79. package/esm2020/tree/control/base-tree-control.mjs +1 -1
  80. package/esm2020/tree/control/flat-tree-control.filters.mjs +46 -0
  81. package/esm2020/tree/control/flat-tree-control.mjs +26 -44
  82. package/esm2020/tree/control/tree-control.mjs +1 -1
  83. package/esm2020/tree/padding.directive.mjs +2 -2
  84. package/esm2020/tree/public-api.mjs +2 -1
  85. package/esm2020/tree/toggle.mjs +2 -4
  86. package/esm2020/tree/tree-option.component.mjs +6 -3
  87. package/esm2020/tree/tree-selection.component.mjs +6 -5
  88. package/esm2020/tree-select/tree-select.component.mjs +28 -12
  89. package/esm2020/tree-select/tree-select.module.mjs +6 -6
  90. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +30 -24
  91. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
  92. package/fesm2015/ptsecurity-mosaic-button.mjs +5 -2
  93. package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -1
  94. package/fesm2015/ptsecurity-mosaic-checkbox.mjs +2 -2
  95. package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  96. package/fesm2015/ptsecurity-mosaic-code-block.mjs +1 -1
  97. package/fesm2015/ptsecurity-mosaic-code-block.mjs.map +1 -1
  98. package/fesm2015/ptsecurity-mosaic-core.mjs +196 -31
  99. package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
  100. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +20 -36
  101. package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  102. package/fesm2015/ptsecurity-mosaic-dropdown.mjs +2 -1
  103. package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  104. package/fesm2015/ptsecurity-mosaic-file-upload.mjs +57 -11
  105. package/fesm2015/ptsecurity-mosaic-file-upload.mjs.map +1 -1
  106. package/fesm2015/ptsecurity-mosaic-form-field.mjs +10 -3
  107. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -1
  108. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +2 -2
  109. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  110. package/fesm2015/ptsecurity-mosaic-modal.mjs +12 -12
  111. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -1
  112. package/fesm2015/ptsecurity-mosaic-navbar.mjs +28 -18
  113. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -1
  114. package/fesm2015/ptsecurity-mosaic-popover.mjs +1 -1
  115. package/fesm2015/ptsecurity-mosaic-popover.mjs.map +1 -1
  116. package/fesm2015/ptsecurity-mosaic-select.mjs +64 -24
  117. package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
  118. package/fesm2015/ptsecurity-mosaic-tabs.mjs +13 -4
  119. package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -1
  120. package/fesm2015/ptsecurity-mosaic-tags.mjs +4 -3
  121. package/fesm2015/ptsecurity-mosaic-tags.mjs.map +1 -1
  122. package/fesm2015/ptsecurity-mosaic-timezone.mjs +2 -2
  123. package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +1 -1
  124. package/fesm2015/ptsecurity-mosaic-title.mjs +1 -1
  125. package/fesm2015/ptsecurity-mosaic-title.mjs.map +1 -1
  126. package/fesm2015/ptsecurity-mosaic-toast.mjs +35 -10
  127. package/fesm2015/ptsecurity-mosaic-toast.mjs.map +1 -1
  128. package/fesm2015/ptsecurity-mosaic-toggle.mjs +2 -2
  129. package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +1 -1
  130. package/fesm2015/ptsecurity-mosaic-tooltip.mjs +15 -3
  131. package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  132. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +33 -16
  133. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  134. package/fesm2015/ptsecurity-mosaic-tree.mjs +85 -54
  135. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -1
  136. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs +27 -24
  137. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
  138. package/fesm2020/ptsecurity-mosaic-button.mjs +5 -2
  139. package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -1
  140. package/fesm2020/ptsecurity-mosaic-checkbox.mjs +2 -2
  141. package/fesm2020/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  142. package/fesm2020/ptsecurity-mosaic-code-block.mjs +1 -1
  143. package/fesm2020/ptsecurity-mosaic-code-block.mjs.map +1 -1
  144. package/fesm2020/ptsecurity-mosaic-core.mjs +196 -30
  145. package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
  146. package/fesm2020/ptsecurity-mosaic-datepicker.mjs +20 -36
  147. package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  148. package/fesm2020/ptsecurity-mosaic-dropdown.mjs +2 -1
  149. package/fesm2020/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  150. package/fesm2020/ptsecurity-mosaic-file-upload.mjs +56 -11
  151. package/fesm2020/ptsecurity-mosaic-file-upload.mjs.map +1 -1
  152. package/fesm2020/ptsecurity-mosaic-form-field.mjs +10 -4
  153. package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -1
  154. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +2 -2
  155. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  156. package/fesm2020/ptsecurity-mosaic-modal.mjs +11 -11
  157. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -1
  158. package/fesm2020/ptsecurity-mosaic-navbar.mjs +28 -18
  159. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -1
  160. package/fesm2020/ptsecurity-mosaic-popover.mjs +1 -1
  161. package/fesm2020/ptsecurity-mosaic-popover.mjs.map +1 -1
  162. package/fesm2020/ptsecurity-mosaic-select.mjs +62 -23
  163. package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
  164. package/fesm2020/ptsecurity-mosaic-tabs.mjs +13 -4
  165. package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -1
  166. package/fesm2020/ptsecurity-mosaic-tags.mjs +4 -3
  167. package/fesm2020/ptsecurity-mosaic-tags.mjs.map +1 -1
  168. package/fesm2020/ptsecurity-mosaic-timezone.mjs +2 -2
  169. package/fesm2020/ptsecurity-mosaic-timezone.mjs.map +1 -1
  170. package/fesm2020/ptsecurity-mosaic-title.mjs +1 -1
  171. package/fesm2020/ptsecurity-mosaic-title.mjs.map +1 -1
  172. package/fesm2020/ptsecurity-mosaic-toast.mjs +33 -10
  173. package/fesm2020/ptsecurity-mosaic-toast.mjs.map +1 -1
  174. package/fesm2020/ptsecurity-mosaic-toggle.mjs +2 -2
  175. package/fesm2020/ptsecurity-mosaic-toggle.mjs.map +1 -1
  176. package/fesm2020/ptsecurity-mosaic-tooltip.mjs +15 -3
  177. package/fesm2020/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  178. package/fesm2020/ptsecurity-mosaic-tree-select.mjs +32 -16
  179. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  180. package/fesm2020/ptsecurity-mosaic-tree.mjs +84 -54
  181. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -1
  182. package/file-upload/file-drop.d.ts +2 -1
  183. package/file-upload/file-upload.d.ts +4 -1
  184. package/file-upload/multiple-file-upload.component.d.ts +6 -5
  185. package/file-upload/single-file-upload.component.d.ts +6 -5
  186. package/form-field/_form-field-theme.scss +4 -0
  187. package/form-field/form-field.scss +0 -2
  188. package/loader-overlay/loader-overlay.scss +3 -0
  189. package/modal/modal.module.d.ts +2 -1
  190. package/modal/modal.scss +14 -2
  191. package/navbar/navbar.component.d.ts +5 -2
  192. package/navbar/vertical-navbar.component.d.ts +4 -2
  193. package/package.json +4 -7
  194. package/prebuilt-themes/dark-theme.css +1 -1
  195. package/prebuilt-themes/default-theme.css +1 -1
  196. package/prebuilt-visual/default-visual.css +1 -1
  197. package/radio/_radio-theme.scss +4 -0
  198. package/select/select-option.directive.d.ts +2 -0
  199. package/select/select.component.d.ts +15 -11
  200. package/select/select.scss +5 -1
  201. package/tags/tag-list.scss +4 -0
  202. package/toast/toast-animations.d.ts +1 -0
  203. package/toast/toast-container.component.d.ts +7 -3
  204. package/toast/toast.component.d.ts +2 -0
  205. package/toast/toast.service.d.ts +2 -0
  206. package/toggle/_toggle-theme.scss +13 -1
  207. package/toggle/toggle.scss +6 -2
  208. package/tooltip/tooltip.component.d.ts +4 -1
  209. package/tree/control/base-tree-control.d.ts +1 -1
  210. package/tree/control/flat-tree-control.d.ts +5 -3
  211. package/tree/control/flat-tree-control.filters.d.ts +26 -0
  212. package/tree/control/tree-control.d.ts +1 -1
  213. package/tree/public-api.d.ts +1 -0
  214. package/tree/tree-option.scss +4 -2
  215. package/tree-select/tree-select.component.d.ts +9 -3
  216. package/tree-select/tree-select.module.d.ts +1 -1
  217. package/core/forms/_forms.scss +0 -109
@@ -5,7 +5,7 @@ import { ComponentPortal, PortalModule } from '@angular/cdk/portal';
5
5
  import * as i1 from '@angular/common';
6
6
  import { DOCUMENT, CommonModule } from '@angular/common';
7
7
  import * as i0 from '@angular/core';
8
- import { EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, Optional, Inject, ViewChild, Injectable, forwardRef, Directive, ContentChild, InjectionToken, NgModule } from '@angular/core';
8
+ import { EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, Optional, ViewChild, Injectable, forwardRef, Directive, Inject, ContentChild, InjectionToken, NgModule } from '@angular/core';
9
9
  import * as i3 from '@ptsecurity/mosaic/button';
10
10
  import { McButtonModule } from '@ptsecurity/mosaic/button';
11
11
  import * as i6 from '@ptsecurity/mosaic/icon';
@@ -13,7 +13,7 @@ import { McIconModule } from '@ptsecurity/mosaic/icon';
13
13
  import * as i5 from '@ptsecurity/mosaic/select';
14
14
  import { McSelectModule } from '@ptsecurity/mosaic/select';
15
15
  import * as i1$1 from '@ptsecurity/mosaic/core';
16
- import { MC_DATE_FORMATS, validationTooltipShowDelay, validationTooltipHideDelay, MC_LOCALE_SERVICE } from '@ptsecurity/mosaic/core';
16
+ import { validationTooltipShowDelay, validationTooltipHideDelay, MC_DATE_FORMATS, MC_LOCALE_SERVICE } from '@ptsecurity/mosaic/core';
17
17
  import * as i4 from '@ptsecurity/mosaic/form-field';
18
18
  import { McFormFieldControl } from '@ptsecurity/mosaic/form-field';
19
19
  import { Subject, Subscription, of, merge } from 'rxjs';
@@ -200,25 +200,26 @@ class McCalendarHeader {
200
200
  }
201
201
  updateSelectedValues() {
202
202
  this.selectedMonth = this.monthNames[this.adapter.getMonth(this.activeDate)].value;
203
- const selectedYear = this.adapter.getYear(this.activeDate);
204
- this.selectedYear = this.years.includes(selectedYear) ? selectedYear : this.years[0];
203
+ const year = this.adapter.getYear(this.activeDate);
204
+ this.selectedYear = this.years.find(({ name }) => name === year)
205
+ || { name: year, value: this.adapter.getYearName(this.activeDate) };
205
206
  }
206
207
  updateYearsArray() {
207
208
  const minYear = this.adapter.getYear(this.minDate);
208
209
  const maxYear = this.adapter.getYear(this.maxDate);
209
210
  this.years = [];
210
- for (let i = minYear; i <= maxYear; i++) {
211
- this.years.push(i);
211
+ for (let key = minYear; key <= maxYear; key++) {
212
+ this.years.push({ name: key, value: this.adapter.getYearName(this.adapter.createDate(key)) });
212
213
  }
213
214
  }
214
215
  }
215
216
  /** @nocollapse */ McCalendarHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McCalendarHeader, deps: [{ token: i1$1.DateAdapter }], target: i0.ɵɵFactoryTarget.Component });
216
- /** @nocollapse */ McCalendarHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: McCalendarHeader, selector: "mc-calendar-header", inputs: { activeDate: "activeDate", maxDate: "maxDate", minDate: "minDate" }, outputs: { activeDateChange: "activeDateChange", monthSelected: "monthSelected", yearSelected: "yearSelected" }, host: { classAttribute: "mc-calendar-header" }, exportAs: ["mcCalendarHeader"], ngImport: i0, template: "<div class=\"mc-calendar-header__select-group\">\n <mc-select\n class=\"mc-calendar-header__select\"\n #monthSelect=\"mcSelect\"\n [value]=\"selectedMonth\"\n [panelClass]=\"'mc-calendar-select-panel'\"\n (selectionChange)=\"onMonthSelected($event.value)\">\n\n <button class=\"mc-button_transparent layout-padding-right-xs\"\n mc-button\n mc-select-matcher\n [class.mc-active]=\"monthSelect.panelOpen\"\n [tabindex]=\"-1\">\n {{ monthSelect.triggerValue }}\n\n <i class=\"layout-padding-left-3xs\" mc-icon=\"mc-angle-down-S_16\"></i>\n </button>\n\n <mc-option *ngFor=\"let month of monthNames\"\n [mcTooltipDisabled]=\"true\"\n [value]=\"month.value\">\n {{ month.name }}\n </mc-option>\n </mc-select>\n\n <mc-select\n #yearSelect=\"mcSelect\"\n [value]=\"selectedYear\"\n [panelClass]=\"'mc-calendar-select-panel'\"\n (selectionChange)=\"onYearSelected($event.value)\">\n <button class=\"mc-button_transparent layout-padding-right-xs\"\n mc-button\n mc-select-matcher\n [class.mc-active]=\"yearSelect.panelOpen\"\n [tabindex]=\"-1\">\n {{ yearSelect.triggerValue }}\n\n <i class=\"layout-padding-left-3xs\" mc-icon=\"mc-angle-down-S_16\"></i>\n </button>\n\n <mc-option *ngFor=\"let year of years\"\n [mcTooltipDisabled]=\"true\"\n [value]=\"year\">\n {{ year }}\n </mc-option>\n </mc-select>\n</div>\n\n<div class=\"mc-calendar-header__button-group\">\n <button mc-button\n class=\"mc-button_transparent mc-calendar-header__previous-button\"\n [tabindex]=\"-1\"\n [disabled]=\"previousDisabled\"\n (click)=\"selectPreviousMonth()\">\n\n <i mc-icon=\"mc-angle-left-L_16\"></i>\n </button>\n\n <button mc-button\n class=\"mc-button_transparent\"\n [tabindex]=\"-1\"\n (click)=\"selectCurrentDate()\">\n\n <i mc-icon=\"mc-circle-8_16\"></i>\n </button>\n\n <button mc-button\n class=\"mc-button_transparent mc-calendar-header__next-button\"\n [tabindex]=\"-1\"\n [disabled]=\"nextDisabled\"\n (click)=\"selectNextMonth()\">\n\n <i mc-icon=\"mc-angle-right-L_16\"></i>\n </button>\n</div>\n", styles: [".mc-calendar-header{display:flex;flex-direction:row;justify-content:space-between;padding:var(--mc-datepicker-calendar-size-padding-top, 16px) var(--mc-datepicker-calendar-size-padding-horizontal, 8px) var(--mc-datepicker-calendar-size-padding-blocks, 12px) var(--mc-datepicker-calendar-size-padding-horizontal, 8px)}.mc-calendar-header__previous-button:after{border-left-width:var(--mc-datepicker-calendar-size-icon-border-width, 2px);transform:var(--mc-datepicker-calendar-size-icon-prev-icon-transform, translateX(2px) rotate(-45deg))}.mc-calendar-header__next-button:after{border-right-width:var(--mc-datepicker-calendar-size-icon-border-width, 2px);transform:var(--mc-datepicker-calendar-size-icon-nex-icon-transform, translateX(-2px) rotate(45deg))}.mc-calendar-header__select{width:auto!important}.mc-calendar-header__button-group,.mc-calendar-header__select-group{display:flex;flex-direction:row}.mc-calendar-select-panel{margin-top:2px;min-width:98%!important}.mc-calendar-select-panel .mc-select__content{max-height:384px;overflow-x:hidden;scrollbar-gutter:stable}.mc-calendar-select-panel .mc-select__content .mc-option{min-width:65px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.McButton, selector: "[mc-button]", inputs: ["color", "tabIndex", "disabled"] }, { kind: "directive", type: i3.McButtonCssStyler, selector: "[mc-button]" }, { kind: "directive", type: i4.McValidateDirective, selector: " input[mcInput], input[mcInputPassword], input[mcTimepicker], input[mcDatepicker], textarea[mcTextarea], mc-select, mc-tree-select, mc-tag-list ", exportAs: ["McValidate"] }, { kind: "component", type: i5.McSelect, selector: "mc-select", inputs: ["disabled", "tabIndex", "hiddenItemsText", "panelClass", "backdropClass", "errorStateMatcher", "sortComparator", "hasBackdrop", "placeholder", "required", "multiple", "compareWith", "value", "id", "hiddenItemsTextFormatter"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["mcSelect"] }, { kind: "directive", type: i5.McSelectMatcher, selector: "mc-select-matcher, [mc-select-matcher]" }, { kind: "directive", type: i5.McOptionTooltip, selector: "mc-option" }, { kind: "component", type: i1$1.McOption, selector: "mc-option", inputs: ["value", "showCheckbox", "disabled"], outputs: ["onSelectionChange"], exportAs: ["mcOption"] }, { kind: "component", type: i6.McIcon, selector: "[mc-icon]", inputs: ["color"] }, { kind: "directive", type: i6.McIconCSSStyler, selector: "[mc-icon]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
217
+ /** @nocollapse */ McCalendarHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: McCalendarHeader, selector: "mc-calendar-header", inputs: { activeDate: "activeDate", maxDate: "maxDate", minDate: "minDate" }, outputs: { activeDateChange: "activeDateChange", monthSelected: "monthSelected", yearSelected: "yearSelected" }, host: { classAttribute: "mc-calendar-header" }, exportAs: ["mcCalendarHeader"], ngImport: i0, template: "<div class=\"mc-calendar-header__select-group\">\n <mc-select\n class=\"mc-calendar-header__select\"\n #monthSelect=\"mcSelect\"\n [value]=\"selectedMonth\"\n [panelClass]=\"'mc-calendar-select-panel'\"\n (selectionChange)=\"onMonthSelected($event.value)\">\n\n <button class=\"mc-button_transparent layout-padding-right-xs\"\n mc-button\n mc-select-matcher\n [class.mc-active]=\"monthSelect.panelOpen\"\n [tabindex]=\"-1\">\n {{ monthSelect.triggerValue }}\n\n <i class=\"layout-padding-left-3xs\" mc-icon=\"mc-angle-down-S_16\"></i>\n </button>\n\n <mc-option *ngFor=\"let month of monthNames\"\n [mcTooltipDisabled]=\"true\"\n [value]=\"month.value\">\n {{ month.name }}\n </mc-option>\n </mc-select>\n\n <mc-select\n #yearSelect=\"mcSelect\"\n [value]=\"selectedYear\"\n [panelClass]=\"'mc-calendar-select-panel'\"\n (selectionChange)=\"onYearSelected($event.value.name)\">\n <button class=\"mc-button_transparent layout-padding-right-xs\"\n mc-button\n mc-select-matcher\n [class.mc-active]=\"yearSelect.panelOpen\"\n [tabindex]=\"-1\">\n {{ this.selectedYear.value }}\n\n <i class=\"layout-padding-left-3xs\" mc-icon=\"mc-angle-down-S_16\"></i>\n </button>\n\n <mc-option *ngFor=\"let year of years\"\n [mcTooltipDisabled]=\"true\"\n [value]=\"year\">\n {{ year.value }}\n </mc-option>\n </mc-select>\n</div>\n\n<div class=\"mc-calendar-header__button-group\">\n <button mc-button\n class=\"mc-button_transparent mc-calendar-header__previous-button\"\n [tabindex]=\"-1\"\n [disabled]=\"previousDisabled\"\n (click)=\"selectPreviousMonth()\">\n\n <i mc-icon=\"mc-angle-left-L_16\"></i>\n </button>\n\n <button mc-button\n class=\"mc-button_transparent\"\n [tabindex]=\"-1\"\n (click)=\"selectCurrentDate()\">\n\n <i mc-icon=\"mc-circle-8_16\"></i>\n </button>\n\n <button mc-button\n class=\"mc-button_transparent mc-calendar-header__next-button\"\n [tabindex]=\"-1\"\n [disabled]=\"nextDisabled\"\n (click)=\"selectNextMonth()\">\n\n <i mc-icon=\"mc-angle-right-L_16\"></i>\n </button>\n</div>\n", styles: [".mc-calendar-header{display:flex;flex-direction:row;justify-content:space-between;padding:var(--mc-datepicker-calendar-size-padding-top, 16px) var(--mc-datepicker-calendar-size-padding-horizontal, 8px) var(--mc-datepicker-calendar-size-padding-blocks, 12px) var(--mc-datepicker-calendar-size-padding-horizontal, 8px)}.mc-calendar-header__previous-button:after{border-left-width:var(--mc-datepicker-calendar-size-icon-border-width, 2px);transform:var(--mc-datepicker-calendar-size-icon-prev-icon-transform, translateX(2px) rotate(-45deg))}.mc-calendar-header__next-button:after{border-right-width:var(--mc-datepicker-calendar-size-icon-border-width, 2px);transform:var(--mc-datepicker-calendar-size-icon-nex-icon-transform, translateX(-2px) rotate(45deg))}.mc-calendar-header__select{width:auto!important}.mc-calendar-header__button-group,.mc-calendar-header__select-group{display:flex;flex-direction:row}.mc-calendar-select-panel{margin-top:2px;min-width:98%!important}.mc-calendar-select-panel .mc-select__content{max-height:384px;overflow-x:hidden;scrollbar-gutter:stable}.mc-calendar-select-panel .mc-select__content .mc-option{min-width:65px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.McButton, selector: "[mc-button]", inputs: ["color", "tabIndex", "disabled"] }, { kind: "directive", type: i3.McButtonCssStyler, selector: "[mc-button]" }, { kind: "directive", type: i4.McValidateDirective, selector: " input[mcInput], input[mcInputPassword], input[mcTimepicker], input[mcDatepicker], textarea[mcTextarea], mc-select, mc-tree-select, mc-tag-list ", exportAs: ["McValidate"] }, { kind: "component", type: i5.McSelect, selector: "mc-select", inputs: ["disabled", "tabIndex", "hiddenItemsText", "panelClass", "backdropClass", "errorStateMatcher", "sortComparator", "hasBackdrop", "placeholder", "required", "multiple", "compareWith", "value", "id", "hiddenItemsTextFormatter"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["mcSelect"] }, { kind: "directive", type: i5.McSelectMatcher, selector: "mc-select-matcher, [mc-select-matcher]" }, { kind: "directive", type: i5.McOptionTooltip, selector: "mc-option" }, { kind: "component", type: i1$1.McOption, selector: "mc-option", inputs: ["value", "showCheckbox", "disabled"], outputs: ["onSelectionChange"], exportAs: ["mcOption"] }, { kind: "component", type: i6.McIcon, selector: "[mc-icon]", inputs: ["color"] }, { kind: "directive", type: i6.McIconCSSStyler, selector: "[mc-icon]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
217
218
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McCalendarHeader, decorators: [{
218
219
  type: Component,
219
220
  args: [{ selector: 'mc-calendar-header', exportAs: 'mcCalendarHeader', host: {
220
221
  class: 'mc-calendar-header'
221
- }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mc-calendar-header__select-group\">\n <mc-select\n class=\"mc-calendar-header__select\"\n #monthSelect=\"mcSelect\"\n [value]=\"selectedMonth\"\n [panelClass]=\"'mc-calendar-select-panel'\"\n (selectionChange)=\"onMonthSelected($event.value)\">\n\n <button class=\"mc-button_transparent layout-padding-right-xs\"\n mc-button\n mc-select-matcher\n [class.mc-active]=\"monthSelect.panelOpen\"\n [tabindex]=\"-1\">\n {{ monthSelect.triggerValue }}\n\n <i class=\"layout-padding-left-3xs\" mc-icon=\"mc-angle-down-S_16\"></i>\n </button>\n\n <mc-option *ngFor=\"let month of monthNames\"\n [mcTooltipDisabled]=\"true\"\n [value]=\"month.value\">\n {{ month.name }}\n </mc-option>\n </mc-select>\n\n <mc-select\n #yearSelect=\"mcSelect\"\n [value]=\"selectedYear\"\n [panelClass]=\"'mc-calendar-select-panel'\"\n (selectionChange)=\"onYearSelected($event.value)\">\n <button class=\"mc-button_transparent layout-padding-right-xs\"\n mc-button\n mc-select-matcher\n [class.mc-active]=\"yearSelect.panelOpen\"\n [tabindex]=\"-1\">\n {{ yearSelect.triggerValue }}\n\n <i class=\"layout-padding-left-3xs\" mc-icon=\"mc-angle-down-S_16\"></i>\n </button>\n\n <mc-option *ngFor=\"let year of years\"\n [mcTooltipDisabled]=\"true\"\n [value]=\"year\">\n {{ year }}\n </mc-option>\n </mc-select>\n</div>\n\n<div class=\"mc-calendar-header__button-group\">\n <button mc-button\n class=\"mc-button_transparent mc-calendar-header__previous-button\"\n [tabindex]=\"-1\"\n [disabled]=\"previousDisabled\"\n (click)=\"selectPreviousMonth()\">\n\n <i mc-icon=\"mc-angle-left-L_16\"></i>\n </button>\n\n <button mc-button\n class=\"mc-button_transparent\"\n [tabindex]=\"-1\"\n (click)=\"selectCurrentDate()\">\n\n <i mc-icon=\"mc-circle-8_16\"></i>\n </button>\n\n <button mc-button\n class=\"mc-button_transparent mc-calendar-header__next-button\"\n [tabindex]=\"-1\"\n [disabled]=\"nextDisabled\"\n (click)=\"selectNextMonth()\">\n\n <i mc-icon=\"mc-angle-right-L_16\"></i>\n </button>\n</div>\n", styles: [".mc-calendar-header{display:flex;flex-direction:row;justify-content:space-between;padding:var(--mc-datepicker-calendar-size-padding-top, 16px) var(--mc-datepicker-calendar-size-padding-horizontal, 8px) var(--mc-datepicker-calendar-size-padding-blocks, 12px) var(--mc-datepicker-calendar-size-padding-horizontal, 8px)}.mc-calendar-header__previous-button:after{border-left-width:var(--mc-datepicker-calendar-size-icon-border-width, 2px);transform:var(--mc-datepicker-calendar-size-icon-prev-icon-transform, translateX(2px) rotate(-45deg))}.mc-calendar-header__next-button:after{border-right-width:var(--mc-datepicker-calendar-size-icon-border-width, 2px);transform:var(--mc-datepicker-calendar-size-icon-nex-icon-transform, translateX(-2px) rotate(45deg))}.mc-calendar-header__select{width:auto!important}.mc-calendar-header__button-group,.mc-calendar-header__select-group{display:flex;flex-direction:row}.mc-calendar-select-panel{margin-top:2px;min-width:98%!important}.mc-calendar-select-panel .mc-select__content{max-height:384px;overflow-x:hidden;scrollbar-gutter:stable}.mc-calendar-select-panel .mc-select__content .mc-option{min-width:65px}\n"] }]
222
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mc-calendar-header__select-group\">\n <mc-select\n class=\"mc-calendar-header__select\"\n #monthSelect=\"mcSelect\"\n [value]=\"selectedMonth\"\n [panelClass]=\"'mc-calendar-select-panel'\"\n (selectionChange)=\"onMonthSelected($event.value)\">\n\n <button class=\"mc-button_transparent layout-padding-right-xs\"\n mc-button\n mc-select-matcher\n [class.mc-active]=\"monthSelect.panelOpen\"\n [tabindex]=\"-1\">\n {{ monthSelect.triggerValue }}\n\n <i class=\"layout-padding-left-3xs\" mc-icon=\"mc-angle-down-S_16\"></i>\n </button>\n\n <mc-option *ngFor=\"let month of monthNames\"\n [mcTooltipDisabled]=\"true\"\n [value]=\"month.value\">\n {{ month.name }}\n </mc-option>\n </mc-select>\n\n <mc-select\n #yearSelect=\"mcSelect\"\n [value]=\"selectedYear\"\n [panelClass]=\"'mc-calendar-select-panel'\"\n (selectionChange)=\"onYearSelected($event.value.name)\">\n <button class=\"mc-button_transparent layout-padding-right-xs\"\n mc-button\n mc-select-matcher\n [class.mc-active]=\"yearSelect.panelOpen\"\n [tabindex]=\"-1\">\n {{ this.selectedYear.value }}\n\n <i class=\"layout-padding-left-3xs\" mc-icon=\"mc-angle-down-S_16\"></i>\n </button>\n\n <mc-option *ngFor=\"let year of years\"\n [mcTooltipDisabled]=\"true\"\n [value]=\"year\">\n {{ year.value }}\n </mc-option>\n </mc-select>\n</div>\n\n<div class=\"mc-calendar-header__button-group\">\n <button mc-button\n class=\"mc-button_transparent mc-calendar-header__previous-button\"\n [tabindex]=\"-1\"\n [disabled]=\"previousDisabled\"\n (click)=\"selectPreviousMonth()\">\n\n <i mc-icon=\"mc-angle-left-L_16\"></i>\n </button>\n\n <button mc-button\n class=\"mc-button_transparent\"\n [tabindex]=\"-1\"\n (click)=\"selectCurrentDate()\">\n\n <i mc-icon=\"mc-circle-8_16\"></i>\n </button>\n\n <button mc-button\n class=\"mc-button_transparent mc-calendar-header__next-button\"\n [tabindex]=\"-1\"\n [disabled]=\"nextDisabled\"\n (click)=\"selectNextMonth()\">\n\n <i mc-icon=\"mc-angle-right-L_16\"></i>\n </button>\n</div>\n", styles: [".mc-calendar-header{display:flex;flex-direction:row;justify-content:space-between;padding:var(--mc-datepicker-calendar-size-padding-top, 16px) var(--mc-datepicker-calendar-size-padding-horizontal, 8px) var(--mc-datepicker-calendar-size-padding-blocks, 12px) var(--mc-datepicker-calendar-size-padding-horizontal, 8px)}.mc-calendar-header__previous-button:after{border-left-width:var(--mc-datepicker-calendar-size-icon-border-width, 2px);transform:var(--mc-datepicker-calendar-size-icon-prev-icon-transform, translateX(2px) rotate(-45deg))}.mc-calendar-header__next-button:after{border-right-width:var(--mc-datepicker-calendar-size-icon-border-width, 2px);transform:var(--mc-datepicker-calendar-size-icon-nex-icon-transform, translateX(-2px) rotate(45deg))}.mc-calendar-header__select{width:auto!important}.mc-calendar-header__button-group,.mc-calendar-header__select-group{display:flex;flex-direction:row}.mc-calendar-select-panel{margin-top:2px;min-width:98%!important}.mc-calendar-select-panel .mc-select__content{max-height:384px;overflow-x:hidden;scrollbar-gutter:stable}.mc-calendar-select-panel .mc-select__content .mc-option{min-width:65px}\n"] }]
222
223
  }], ctorParameters: function () { return [{ type: i1$1.DateAdapter }]; }, propDecorators: { activeDate: [{
223
224
  type: Input
224
225
  }], maxDate: [{
@@ -246,9 +247,8 @@ const DAYS_PER_WEEK = 7;
246
247
  * @docs-private
247
248
  */
248
249
  class McMonthView {
249
- constructor(changeDetectorRef, dateFormats, adapter) {
250
+ constructor(changeDetectorRef, adapter) {
250
251
  this.changeDetectorRef = changeDetectorRef;
251
- this.dateFormats = dateFormats;
252
252
  this.adapter = adapter;
253
253
  /** Emits when a new date is selected. */
254
254
  this.selectedChange = new EventEmitter();
@@ -259,9 +259,6 @@ class McMonthView {
259
259
  if (!this.adapter) {
260
260
  throw createMissingDateImplError('DateAdapter');
261
261
  }
262
- if (!this.dateFormats) {
263
- throw createMissingDateImplError('MC_DATE_FORMATS');
264
- }
265
262
  const firstDayOfWeek = this.adapter.getFirstDayOfWeek();
266
263
  const narrowWeekdays = this.adapter.getDayOfWeekNames('short');
267
264
  const longWeekdays = this.adapter.getDayOfWeekNames('long');
@@ -354,18 +351,13 @@ class McMonthView {
354
351
  this.adapter.getYear(d1) === this.adapter.getYear(d2));
355
352
  }
356
353
  }
357
- /** @nocollapse */ McMonthView.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McMonthView, deps: [{ token: i0.ChangeDetectorRef }, { token: MC_DATE_FORMATS, optional: true }, { token: i1$1.DateAdapter, optional: true }], target: i0.ɵɵFactoryTarget.Component });
354
+ /** @nocollapse */ McMonthView.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McMonthView, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.DateAdapter, optional: true }], target: i0.ɵɵFactoryTarget.Component });
358
355
  /** @nocollapse */ McMonthView.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: McMonthView, selector: "mc-month-view", inputs: { activeDate: "activeDate", selected: "selected", minDate: "minDate", maxDate: "maxDate", dateFilter: "dateFilter", dateClass: "dateClass" }, outputs: { selectedChange: "selectedChange", userSelection: "userSelection", activeDateChange: "activeDateChange" }, viewQueries: [{ propertyName: "mcCalendarBody", first: true, predicate: McCalendarBody, descendants: true }], exportAs: ["mcMonthView"], ngImport: i0, template: "<table class=\"mc-calendar__table\">\n <thead class=\"mc-calendar__table-header\">\n <tr>\n <th *ngFor=\"let day of weekdays\" [attr.aria-label]=\"day.long\">{{day.narrow}}</th>\n </tr>\n <tr>\n <th class=\"mc-calendar__table-header-divider\" colspan=\"7\"></th>\n </tr>\n </thead>\n <tbody mc-calendar-body\n [rows]=\"weeks\"\n [todayValue]=\"todayDate!\"\n [selectedValue]=\"selectedDate!\"\n [labelMinRequiredCells]=\"3\"\n [activeCell]=\"adapter.getDate(activeDate) - 1\"\n (selectedValueChange)=\"dateSelected($event)\">\n </tbody>\n</table>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: McCalendarBody, selector: "[mc-calendar-body]", inputs: ["rows", "todayValue", "selectedValue", "labelMinRequiredCells", "numCols", "activeCell", "cellAspectRatio"], outputs: ["selectedValueChange"], exportAs: ["mcCalendarBody"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
359
356
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McMonthView, decorators: [{
360
357
  type: Component,
361
358
  args: [{ selector: 'mc-month-view', exportAs: 'mcMonthView', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<table class=\"mc-calendar__table\">\n <thead class=\"mc-calendar__table-header\">\n <tr>\n <th *ngFor=\"let day of weekdays\" [attr.aria-label]=\"day.long\">{{day.narrow}}</th>\n </tr>\n <tr>\n <th class=\"mc-calendar__table-header-divider\" colspan=\"7\"></th>\n </tr>\n </thead>\n <tbody mc-calendar-body\n [rows]=\"weeks\"\n [todayValue]=\"todayDate!\"\n [selectedValue]=\"selectedDate!\"\n [labelMinRequiredCells]=\"3\"\n [activeCell]=\"adapter.getDate(activeDate) - 1\"\n (selectedValueChange)=\"dateSelected($event)\">\n </tbody>\n</table>\n" }]
362
359
  }], ctorParameters: function () {
363
- return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
364
- type: Optional
365
- }, {
366
- type: Inject,
367
- args: [MC_DATE_FORMATS]
368
- }] }, { type: i1$1.DateAdapter, decorators: [{
360
+ return [{ type: i0.ChangeDetectorRef }, { type: i1$1.DateAdapter, decorators: [{
369
361
  type: Optional
370
362
  }] }];
371
363
  }, propDecorators: { activeDate: [{
@@ -433,9 +425,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
433
425
  * @docs-private
434
426
  */
435
427
  class McCalendar {
436
- constructor(intl, adapter, dateFormats, changeDetectorRef) {
428
+ constructor(intl, adapter, changeDetectorRef) {
437
429
  this.adapter = adapter;
438
- this.dateFormats = dateFormats;
439
430
  this.changeDetectorRef = changeDetectorRef;
440
431
  /** Emits when the currently selected date changes. */
441
432
  this.selectedChange = new EventEmitter();
@@ -458,9 +449,6 @@ class McCalendar {
458
449
  if (!this.adapter) {
459
450
  throw createMissingDateImplError('DateAdapter');
460
451
  }
461
- if (!this.dateFormats) {
462
- throw createMissingDateImplError('MC_DATE_FORMATS');
463
- }
464
452
  this.intlChanges = intl.changes.subscribe(() => {
465
453
  changeDetectorRef.markForCheck();
466
454
  this.stateChanges.next();
@@ -553,7 +541,7 @@ class McCalendar {
553
541
  return this.startAt || this.adapter.today();
554
542
  }
555
543
  }
556
- /** @nocollapse */ McCalendar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McCalendar, deps: [{ token: McDatepickerIntl }, { token: i1$1.DateAdapter, optional: true }, { token: MC_DATE_FORMATS, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
544
+ /** @nocollapse */ McCalendar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McCalendar, deps: [{ token: McDatepickerIntl }, { token: i1$1.DateAdapter, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
557
545
  /** @nocollapse */ McCalendar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: McCalendar, selector: "mc-calendar", inputs: { startAt: "startAt", selected: "selected", minDate: "minDate", maxDate: "maxDate", dateFilter: "dateFilter", dateClass: "dateClass" }, outputs: { selectedChange: "selectedChange", yearSelected: "yearSelected", monthSelected: "monthSelected", userSelection: "userSelection" }, host: { classAttribute: "mc-calendar" }, viewQueries: [{ propertyName: "monthView", first: true, predicate: McMonthView, descendants: true }], exportAs: ["mcCalendar"], usesOnChanges: true, ngImport: i0, template: "<mc-calendar-header\n [(activeDate)]=\"activeDate\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n (monthSelected)=\"monthSelected.emit(activeDate)\"\n (yearSelected)=\"yearSelected.emit(activeDate)\">\n</mc-calendar-header>\n\n<div class=\"mc-calendar__content\">\n <mc-month-view\n [(activeDate)]=\"activeDate\"\n [selected]=\"selected\"\n [dateFilter]=\"dateFilter\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [dateClass]=\"dateClass\"\n (selectedChange)=\"dateSelected($event!)\"\n (userSelection)=\"userSelected()\">\n </mc-month-view>\n</div>\n", styles: [".mc-calendar{display:block}.mc-calendar__content{padding:0 var(--mc-datepicker-calendar-size-padding-horizontal, 8px) var(--mc-datepicker-calendar-size-padding-horizontal, 8px) var(--mc-datepicker-calendar-size-padding-horizontal, 8px);outline:none}.mc-calendar__table{border-spacing:0;border-collapse:collapse;width:100%}.mc-calendar__table-header th{text-align:center;height:30px}.mc-calendar__table-header th.mc-calendar__table-header-divider{position:relative;height:calc(var(--mc-datepicker-calendar-size-padding-blocks, 12px) - 2px)}.mc-calendar__table-header th.mc-calendar__table-header-divider:after{content:\"\";position:absolute;top:0;left:calc(-1 * var(--mc-datepicker-calendar-size-padding-horizontal, 8px));right:calc(-1 * var(--mc-datepicker-calendar-size-padding-horizontal, 8px));height:var(--mc-datepicker-calendar-size-divider-width, 1px)}\n"], dependencies: [{ kind: "component", type: McMonthView, selector: "mc-month-view", inputs: ["activeDate", "selected", "minDate", "maxDate", "dateFilter", "dateClass"], outputs: ["selectedChange", "userSelection", "activeDateChange"], exportAs: ["mcMonthView"] }, { kind: "component", type: McCalendarHeader, selector: "mc-calendar-header", inputs: ["activeDate", "maxDate", "minDate"], outputs: ["activeDateChange", "monthSelected", "yearSelected"], exportAs: ["mcCalendarHeader"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
558
546
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McCalendar, decorators: [{
559
547
  type: Component,
@@ -563,11 +551,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
563
551
  }], ctorParameters: function () {
564
552
  return [{ type: McDatepickerIntl }, { type: i1$1.DateAdapter, decorators: [{
565
553
  type: Optional
566
- }] }, { type: undefined, decorators: [{
567
- type: Optional
568
- }, {
569
- type: Inject,
570
- args: [MC_DATE_FORMATS]
571
554
  }] }, { type: i0.ChangeDetectorRef }];
572
555
  }, propDecorators: { startAt: [{
573
556
  type: Input
@@ -795,6 +778,10 @@ class McDatepickerInput {
795
778
  this.cvaOnChange(null);
796
779
  return setTimeout(() => this.control.updateValueAndValidity());
797
780
  }
781
+ /* Check if the number of days entered does not match the entered month */
782
+ if (!this.getValidDateOrNull(newTimeObj)) {
783
+ return null;
784
+ }
798
785
  this.lastValueValid = !!newTimeObj;
799
786
  this.setViewValue(this.getTimeStringFromDate(newTimeObj, this.dateInputFormat), true);
800
787
  this.updateValue(newTimeObj);
@@ -845,9 +832,6 @@ class McDatepickerInput {
845
832
  if (!this.adapter) {
846
833
  throw createMissingDateImplError('DateAdapter');
847
834
  }
848
- if (!this.dateFormats) {
849
- throw createMissingDateImplError('MC_DATE_FORMATS');
850
- }
851
835
  this.setFormat(this.dateInputFormat);
852
836
  this.localeSubscription = adapter.localeChanges
853
837
  .subscribe(this.updateLocaleParams);
@@ -972,7 +956,7 @@ class McDatepickerInput {
972
956
  }
973
957
  get dateInputFormat() {
974
958
  var _a;
975
- return ((_a = this.localeService) === null || _a === void 0 ? void 0 : _a.getParams('datepicker').dateInput) || this.dateFormats.dateInput;
959
+ return ((_a = this.dateFormats) === null || _a === void 0 ? void 0 : _a.dateInput) || this.adapter.config.dateInput;
976
960
  }
977
961
  get readyForParse() {
978
962
  return !!(this.firstDigit && this.secondDigit && this.thirdDigit);
@@ -1241,7 +1225,7 @@ class McDatepickerInput {
1241
1225
  else {
1242
1226
  return null;
1243
1227
  }
1244
- return this.createDateTime(date);
1228
+ return this.getValidDateOrNull(this.createDateTime(date));
1245
1229
  }
1246
1230
  getDefaultValue() {
1247
1231
  const defaultValue = this.value || this.adapter.today();