@koobiq/components 16.0.0-beta.5 → 16.0.0-beta.7

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 (294) hide show
  1. package/autocomplete/autocomplete-trigger.directive.d.ts +5 -15
  2. package/button/_button-theme.scss +20 -9
  3. package/button-toggle/button-toggle.component.d.ts +2 -2
  4. package/checkbox/_checkbox-theme.scss +10 -2
  5. package/checkbox/checkbox.d.ts +1 -1
  6. package/code-block/README.md +14 -14
  7. package/code-block/_code-block-theme.scss +8 -0
  8. package/code-block/code-block.component.d.ts +1 -1
  9. package/core/animation/index.d.ts +1 -1
  10. package/core/animation/select-animations.d.ts +1 -1
  11. package/core/formatters/index.d.ts +1 -1
  12. package/core/formatters/number/formatter.d.ts +56 -1
  13. package/core/forms/forms.directive.d.ts +2 -2
  14. package/core/locales/en-US.d.ts +19 -1
  15. package/core/locales/es-LA.d.ts +27 -0
  16. package/core/locales/fa-IR.d.ts +28 -0
  17. package/core/locales/locale-service.d.ts +148 -3
  18. package/core/locales/pt-BR.d.ts +27 -0
  19. package/core/locales/ru-RU.d.ts +20 -1
  20. package/core/locales/zh-CN.d.ts +26 -0
  21. package/core/option/action.d.ts +1 -1
  22. package/core/option/optgroup.d.ts +1 -1
  23. package/core/option/option.d.ts +37 -8
  24. package/core/overlay/overlay-position-map.d.ts +7 -1
  25. package/core/pop-up/constants.d.ts +2 -1
  26. package/core/public-api.d.ts +1 -0
  27. package/core/select/constants.d.ts +2 -2
  28. package/core/services/theme.service.d.ts +23 -0
  29. package/core/styles/_variables.scss +1 -0
  30. package/core/styles/common/_select.scss +24 -24
  31. package/core/styles/theming/_components-theming.scss +31 -5
  32. package/datepicker/calendar-body.component.d.ts +1 -1
  33. package/datepicker/calendar-header.component.d.ts +9 -3
  34. package/datepicker/calendar.component.d.ts +4 -5
  35. package/datepicker/datepicker-animations.d.ts +1 -1
  36. package/datepicker/datepicker-input.directive.d.ts +4 -4
  37. package/datepicker/datepicker-toggle.component.d.ts +3 -3
  38. package/datepicker/datepicker.component.d.ts +2 -2
  39. package/datepicker/month-view.component.d.ts +5 -6
  40. package/dl/_dl-theme.scss +2 -56
  41. package/dl/dl.component.d.ts +1 -2
  42. package/dl/dl.scss +10 -47
  43. package/dropdown/dropdown-animations.d.ts +1 -1
  44. package/dropdown/dropdown-content.directive.d.ts +1 -1
  45. package/dropdown/dropdown-item.component.d.ts +1 -1
  46. package/dropdown/dropdown-trigger.directive.d.ts +2 -2
  47. package/dropdown/dropdown.component.d.ts +1 -1
  48. package/dropdown/dropdown.types.d.ts +1 -1
  49. package/esm2022/alert/alert.component.mjs +2 -2
  50. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +24 -21
  51. package/esm2022/button-toggle/button-toggle.component.mjs +8 -8
  52. package/esm2022/checkbox/checkbox.mjs +3 -3
  53. package/esm2022/code-block/actionbar.component.mjs +1 -1
  54. package/esm2022/code-block/code-block.component.mjs +3 -3
  55. package/esm2022/core/animation/index.mjs +2 -2
  56. package/esm2022/core/animation/select-animations.mjs +4 -4
  57. package/esm2022/core/formatters/index.mjs +10 -2
  58. package/esm2022/core/formatters/number/formatter.mjs +224 -3
  59. package/esm2022/core/forms/forms.directive.mjs +5 -5
  60. package/esm2022/core/locales/en-US.mjs +22 -4
  61. package/esm2022/core/locales/es-LA.mjs +31 -2
  62. package/esm2022/core/locales/fa-IR.mjs +30 -2
  63. package/esm2022/core/locales/locale-service.mjs +4 -4
  64. package/esm2022/core/locales/pt-BR.mjs +29 -2
  65. package/esm2022/core/locales/ru-RU.mjs +23 -2
  66. package/esm2022/core/locales/zh-CN.mjs +28 -2
  67. package/esm2022/core/option/action.mjs +3 -3
  68. package/esm2022/core/option/optgroup.mjs +3 -3
  69. package/esm2022/core/option/option.mjs +47 -10
  70. package/esm2022/core/overlay/overlay-position-map.mjs +7 -1
  71. package/esm2022/core/pop-up/constants.mjs +2 -1
  72. package/esm2022/core/pop-up/pop-up-trigger.mjs +12 -3
  73. package/esm2022/core/public-api.mjs +2 -1
  74. package/esm2022/core/select/constants.mjs +3 -3
  75. package/esm2022/core/services/theme.service.mjs +60 -0
  76. package/esm2022/core/version.mjs +2 -2
  77. package/esm2022/datepicker/calendar-body.component.mjs +3 -3
  78. package/esm2022/datepicker/calendar-header.component.mjs +9 -8
  79. package/esm2022/datepicker/calendar.component.mjs +7 -16
  80. package/esm2022/datepicker/datepicker-animations.mjs +2 -2
  81. package/esm2022/datepicker/datepicker-input.directive.mjs +29 -20
  82. package/esm2022/datepicker/datepicker-toggle.component.mjs +6 -6
  83. package/esm2022/datepicker/datepicker.component.mjs +11 -11
  84. package/esm2022/datepicker/month-view.component.mjs +9 -18
  85. package/esm2022/dl/dl.component.mjs +3 -7
  86. package/esm2022/dropdown/dropdown-animations.mjs +4 -4
  87. package/esm2022/dropdown/dropdown-content.directive.mjs +3 -3
  88. package/esm2022/dropdown/dropdown-errors.mjs +6 -6
  89. package/esm2022/dropdown/dropdown-item.component.mjs +5 -5
  90. package/esm2022/dropdown/dropdown-trigger.directive.mjs +8 -8
  91. package/esm2022/dropdown/dropdown.component.mjs +8 -8
  92. package/esm2022/dropdown/dropdown.types.mjs +1 -1
  93. package/esm2022/file-upload/file-drop.mjs +4 -4
  94. package/esm2022/file-upload/multiple-file-upload.component.mjs +12 -8
  95. package/esm2022/file-upload/single-file-upload.component.mjs +12 -8
  96. package/esm2022/form-field/cleaner.mjs +3 -3
  97. package/esm2022/form-field/form-field.mjs +9 -12
  98. package/esm2022/form-field/hint.mjs +4 -4
  99. package/esm2022/form-field/password-hint.mjs +22 -13
  100. package/esm2022/form-field/password-toggle.mjs +25 -8
  101. package/esm2022/form-field/suffix.mjs +3 -3
  102. package/esm2022/form-field/validate.directive.mjs +4 -4
  103. package/esm2022/input/input-number.mjs +259 -43
  104. package/esm2022/link/link.component.mjs +3 -3
  105. package/esm2022/list/list-selection.component.mjs +6 -6
  106. package/esm2022/loader-overlay/loader-overlay.component.mjs +2 -2
  107. package/esm2022/modal/modal-control.service.mjs +5 -5
  108. package/esm2022/modal/modal-ref.class.mjs +1 -1
  109. package/esm2022/modal/modal.component.mjs +126 -112
  110. package/esm2022/modal/modal.module.mjs +13 -7
  111. package/esm2022/modal/modal.service.mjs +23 -23
  112. package/esm2022/modal/modal.type.mjs +1 -3
  113. package/esm2022/navbar/navbar-item.component.mjs +17 -17
  114. package/esm2022/navbar/navbar.component.mjs +18 -9
  115. package/esm2022/navbar/vertical-navbar.component.mjs +9 -6
  116. package/esm2022/popover/popover-animations.mjs +2 -2
  117. package/esm2022/popover/popover-confirm.component.mjs +9 -9
  118. package/esm2022/popover/popover.component.mjs +23 -23
  119. package/esm2022/radio/radio.component.mjs +11 -8
  120. package/esm2022/select/select.component.mjs +35 -21
  121. package/esm2022/sidebar/sidebar-animations.mjs +2 -2
  122. package/esm2022/sidebar/sidebar.component.mjs +9 -9
  123. package/esm2022/sidepanel/sidepanel-directives.mjs +2 -2
  124. package/esm2022/sidepanel/sidepanel.module.mjs +10 -4
  125. package/esm2022/splitter/splitter.component.mjs +3 -3
  126. package/esm2022/table/table.component.mjs +3 -3
  127. package/esm2022/tabs/paginated-tab-header.mjs +11 -2
  128. package/esm2022/tabs/tab-body.component.mjs +7 -7
  129. package/esm2022/tabs/tab-content.directive.mjs +3 -3
  130. package/esm2022/tabs/tab-group.component.mjs +3 -3
  131. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +6 -6
  132. package/esm2022/tabs/tab.component.mjs +14 -5
  133. package/esm2022/tabs/tabs-animations.mjs +2 -2
  134. package/esm2022/tags/tag-default-options.mjs +1 -1
  135. package/esm2022/tags/tag-input.mjs +12 -10
  136. package/esm2022/tags/tag-list.component.mjs +12 -8
  137. package/esm2022/tags/tag.component.mjs +13 -13
  138. package/esm2022/timepicker/timepicker.directive.mjs +10 -10
  139. package/esm2022/timezone/timezone-option.component.mjs +3 -3
  140. package/esm2022/timezone/timezone-select.component.mjs +5 -5
  141. package/esm2022/title/title.directive.mjs +6 -6
  142. package/esm2022/toast/toast.module.mjs +10 -4
  143. package/esm2022/toggle/toggle.component.mjs +3 -3
  144. package/esm2022/tooltip/tooltip.component.mjs +16 -16
  145. package/esm2022/tree/node.mjs +5 -5
  146. package/esm2022/tree/outlet.mjs +3 -3
  147. package/esm2022/tree/padding.directive.mjs +6 -6
  148. package/esm2022/tree/toggle.mjs +8 -8
  149. package/esm2022/tree/tree-base.mjs +3 -3
  150. package/esm2022/tree/tree-option.component.mjs +9 -5
  151. package/esm2022/tree/tree-selection.component.mjs +8 -6
  152. package/esm2022/tree/tree.mjs +3 -3
  153. package/esm2022/tree-select/tree-select.component.mjs +13 -13
  154. package/fesm2022/koobiq-components-alert.mjs +2 -2
  155. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-autocomplete.mjs +24 -21
  157. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-button-toggle.mjs +7 -7
  159. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-checkbox.mjs +2 -2
  161. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  162. package/fesm2022/koobiq-components-code-block.mjs +3 -3
  163. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  164. package/fesm2022/koobiq-components-core.mjs +526 -39
  165. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  166. package/fesm2022/koobiq-components-datepicker.mjs +66 -74
  167. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  168. package/fesm2022/koobiq-components-dl.mjs +2 -6
  169. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  170. package/fesm2022/koobiq-components-dropdown.mjs +28 -28
  171. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  172. package/fesm2022/koobiq-components-file-upload.mjs +23 -15
  173. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  174. package/fesm2022/koobiq-components-form-field.mjs +61 -40
  175. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  176. package/fesm2022/koobiq-components-input.mjs +257 -43
  177. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  178. package/fesm2022/koobiq-components-link.mjs +2 -2
  179. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-list.mjs +5 -5
  181. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-loader-overlay.mjs +2 -2
  183. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-modal.mjs +161 -145
  185. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-navbar.mjs +39 -31
  187. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-popover.mjs +30 -30
  189. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-radio.mjs +10 -7
  191. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-select.mjs +34 -20
  193. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-sidebar.mjs +8 -8
  195. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-sidepanel.mjs +10 -4
  197. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-splitter.mjs +2 -2
  199. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  200. package/fesm2022/koobiq-components-table.mjs +2 -2
  201. package/fesm2022/koobiq-components-table.mjs.map +1 -1
  202. package/fesm2022/koobiq-components-tabs.mjs +39 -21
  203. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  204. package/fesm2022/koobiq-components-tags.mjs +34 -28
  205. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  206. package/fesm2022/koobiq-components-timepicker.mjs +9 -9
  207. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  208. package/fesm2022/koobiq-components-timezone.mjs +6 -6
  209. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  210. package/fesm2022/koobiq-components-title.mjs +5 -5
  211. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  212. package/fesm2022/koobiq-components-toast.mjs +8 -2
  213. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  214. package/fesm2022/koobiq-components-toggle.mjs +2 -2
  215. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  216. package/fesm2022/koobiq-components-tooltip.mjs +15 -15
  217. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  218. package/fesm2022/koobiq-components-tree-select.mjs +12 -12
  219. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  220. package/fesm2022/koobiq-components-tree.mjs +37 -31
  221. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  222. package/file-upload/file-drop.d.ts +1 -1
  223. package/file-upload/multiple-file-upload.component.d.ts +4 -3
  224. package/file-upload/single-file-upload.component.d.ts +4 -3
  225. package/form-field/_hint-theme.scss +1 -1
  226. package/form-field/cleaner.d.ts +1 -1
  227. package/form-field/form-field.d.ts +2 -3
  228. package/form-field/form-field.scss +2 -2
  229. package/form-field/hint.d.ts +1 -1
  230. package/form-field/password-hint.d.ts +7 -3
  231. package/form-field/password-toggle.d.ts +12 -6
  232. package/form-field/suffix.d.ts +1 -1
  233. package/form-field/validate.directive.d.ts +1 -1
  234. package/icon/_icon-theme.scss +2 -1
  235. package/input/_input-theme.scss +2 -1
  236. package/input/input-number.d.ts +61 -10
  237. package/link/_link-theme.scss +4 -0
  238. package/link/link.component.d.ts +1 -1
  239. package/list/list-selection.component.d.ts +1 -1
  240. package/loader-overlay/loader-overlay.scss +3 -0
  241. package/modal/README.md +5 -5
  242. package/modal/modal-ref.class.d.ts +2 -2
  243. package/modal/modal.component.d.ts +51 -47
  244. package/modal/modal.module.d.ts +2 -1
  245. package/modal/modal.scss +7 -0
  246. package/modal/modal.type.d.ts +35 -36
  247. package/navbar/navbar-item.component.d.ts +4 -3
  248. package/navbar/navbar.component.d.ts +5 -2
  249. package/navbar/vertical-navbar.component.d.ts +4 -2
  250. package/package.json +9 -11
  251. package/popover/README.md +14 -14
  252. package/popover/_popover-theme.scss +11 -11
  253. package/popover/popover-animations.d.ts +1 -1
  254. package/popover/popover-confirm.component.d.ts +1 -1
  255. package/popover/popover.component.d.ts +3 -3
  256. package/prebuilt-themes/dark-theme.css +1 -1
  257. package/prebuilt-themes/light-theme.css +1 -1
  258. package/radio/_radio-theme.scss +15 -2
  259. package/radio/radio.component.d.ts +2 -2
  260. package/radio/radio.scss +13 -0
  261. package/select/select.component.d.ts +14 -11
  262. package/select/select.scss +1 -1
  263. package/sidebar/sidebar-animations.d.ts +1 -1
  264. package/sidebar/sidebar.component.d.ts +3 -3
  265. package/splitter/splitter.component.d.ts +1 -1
  266. package/table/table.component.d.ts +1 -1
  267. package/tabs/paginated-tab-header.d.ts +1 -0
  268. package/tabs/tab-body.component.d.ts +1 -1
  269. package/tabs/tab-content.directive.d.ts +1 -1
  270. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +2 -2
  271. package/tabs/tab.component.d.ts +1 -1
  272. package/tabs/tabs-animations.d.ts +1 -1
  273. package/tags/_tag-theme.scss +1 -1
  274. package/tags/tag-default-options.d.ts +4 -0
  275. package/tags/tag-input.d.ts +2 -2
  276. package/tags/tag-list.component.d.ts +3 -2
  277. package/tags/tag-list.scss +2 -0
  278. package/tags/tag.component.d.ts +4 -4
  279. package/timepicker/timepicker.directive.d.ts +2 -2
  280. package/timezone/timezone-option.component.d.ts +1 -1
  281. package/timezone/timezone-select.component.d.ts +1 -1
  282. package/title/title.directive.d.ts +1 -1
  283. package/toggle/toggle.component.d.ts +1 -1
  284. package/tooltip/tooltip.component.d.ts +3 -3
  285. package/tree/node.d.ts +1 -1
  286. package/tree/outlet.d.ts +1 -1
  287. package/tree/padding.directive.d.ts +1 -1
  288. package/tree/toggle.d.ts +3 -3
  289. package/tree/tree-base.d.ts +1 -1
  290. package/tree/tree-option.component.d.ts +1 -1
  291. package/tree/tree-option.scss +2 -0
  292. package/tree/tree-selection.component.d.ts +1 -1
  293. package/tree/tree.d.ts +1 -1
  294. package/tree-select/tree-select.component.d.ts +1 -1
@@ -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, Injectable, Optional, Inject, ViewChild, InjectionToken, forwardRef, Directive, ContentChild, NgModule } from '@angular/core';
8
+ import { EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, Injectable, Optional, ViewChild, InjectionToken, Inject, forwardRef, Directive, ContentChild, NgModule } from '@angular/core';
9
9
  import * as i3 from '@koobiq/components/button';
10
10
  import { KbqButtonModule } from '@koobiq/components/button';
11
11
  import * as i6 from '@koobiq/components/icon';
@@ -13,7 +13,7 @@ import { KbqIconModule } from '@koobiq/components/icon';
13
13
  import * as i5 from '@koobiq/components/select';
14
14
  import { KbqSelectModule } from '@koobiq/components/select';
15
15
  import * as i1$1 from '@koobiq/components/core';
16
- import { KBQ_DATE_FORMATS, validationTooltipShowDelay, validationTooltipHideDelay, KBQ_LOCALE_SERVICE } from '@koobiq/components/core';
16
+ import { validationTooltipShowDelay, validationTooltipHideDelay, KBQ_DATE_FORMATS, KBQ_LOCALE_SERVICE } from '@koobiq/components/core';
17
17
  import * as i4 from '@koobiq/components/form-field';
18
18
  import { KbqFormFieldControl } from '@koobiq/components/form-field';
19
19
  import { Subject, Subscription, merge, of } from 'rxjs';
@@ -84,11 +84,11 @@ class KbqCalendarBody {
84
84
  return cellNumber === this.activeCell;
85
85
  }
86
86
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqCalendarBody, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
87
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqCalendarBody, selector: "[kbq-calendar-body]", inputs: { rows: "rows", todayValue: "todayValue", selectedValue: "selectedValue", labelMinRequiredCells: "labelMinRequiredCells", numCols: "numCols", activeCell: "activeCell", cellAspectRatio: "cellAspectRatio" }, outputs: { selectedValueChange: "selectedValueChange" }, host: { classAttribute: "kbq-calendar__body" }, exportAs: ["mcCalendarBody"], usesOnChanges: true, ngImport: i0, template: "<!-- Create the first row separately so we can include a special spacer cell. -->\n<tr *ngFor=\"let row of rows; let rowIndex = index\">\n <!--\n We mark this cell as aria-hidden so it doesn't get read out as one of the days in the week.\n The aspect ratio of the table cells is maintained by setting the top and bottom padding as a\n percentage of the width (a variant of the trick described here:\n https://www.w3schools.com/howto/howto_css_aspect_ratio.asp).\n -->\n <td *ngIf=\"rowIndex === 0 && firstRowOffset\"\n class=\"kbq-calendar__body-label\"\n [attr.colspan]=\"firstRowOffset\">\n </td>\n\n <td *ngFor=\"let item of row; let colIndex = index\"\n class=\"kbq-calendar__body-cell\"\n [ngClass]=\"item.cssClasses!\"\n [tabindex]=\"isActiveCell(rowIndex, colIndex) ? 0 : -1\"\n [class.kbq-calendar__body_disabled]=\"!item.enabled\"\n [class.kbq-calendar__body_active]=\"isActiveCell(rowIndex, colIndex)\"\n (click)=\"cellClicked(item)\"\n [style.width]=\"cellWidth\"\n [style.paddingTop]=\"cellPadding\"\n [style.paddingBottom]=\"cellPadding\">\n <div class=\"kbq-calendar__body-cell-content\"\n [class.kbq-selected]=\"selectedValue === item.value\"\n [class.kbq-calendar__body-today]=\"todayValue === item.value\">\n {{ item.displayValue }}\n </div>\n </td>\n</tr>\n", styles: [".kbq-calendar__body{min-width:calc(7 * var(--kbq-datepicker-body-size-cell-min-size, 32px))}.kbq-calendar__body-cell{position:relative;height:0;line-height:0;text-align:center;outline:none;cursor:pointer}.kbq-calendar__body_disabled{cursor:default}.kbq-calendar__body-cell-content{position:absolute;top:var(--kbq-datepicker-body-size-cell-margin, 5%);left:var(--kbq-datepicker-body-size-cell-margin, 5%);padding:var(--kbq-datepicker-body-size-cell-padding, 8px);display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:90%;height:90%;line-height:1;border-width:var(--kbq-datepicker-body-size-cell-border-width, 1px);border-radius:var(--kbq-datepicker-body-size-cell-border-radius, 0);border-style:solid}kbq-month-view .kbq-calendar__body-cell-content{justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
87
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqCalendarBody, selector: "[kbq-calendar-body]", inputs: { rows: "rows", todayValue: "todayValue", selectedValue: "selectedValue", labelMinRequiredCells: "labelMinRequiredCells", numCols: "numCols", activeCell: "activeCell", cellAspectRatio: "cellAspectRatio" }, outputs: { selectedValueChange: "selectedValueChange" }, host: { classAttribute: "kbq-calendar__body" }, exportAs: ["kbqCalendarBody"], usesOnChanges: true, ngImport: i0, template: "<!-- Create the first row separately so we can include a special spacer cell. -->\n<tr *ngFor=\"let row of rows; let rowIndex = index\">\n <!--\n We mark this cell as aria-hidden so it doesn't get read out as one of the days in the week.\n The aspect ratio of the table cells is maintained by setting the top and bottom padding as a\n percentage of the width (a variant of the trick described here:\n https://www.w3schools.com/howto/howto_css_aspect_ratio.asp).\n -->\n <td *ngIf=\"rowIndex === 0 && firstRowOffset\"\n class=\"kbq-calendar__body-label\"\n [attr.colspan]=\"firstRowOffset\">\n </td>\n\n <td *ngFor=\"let item of row; let colIndex = index\"\n class=\"kbq-calendar__body-cell\"\n [ngClass]=\"item.cssClasses!\"\n [tabindex]=\"isActiveCell(rowIndex, colIndex) ? 0 : -1\"\n [class.kbq-calendar__body_disabled]=\"!item.enabled\"\n [class.kbq-calendar__body_active]=\"isActiveCell(rowIndex, colIndex)\"\n (click)=\"cellClicked(item)\"\n [style.width]=\"cellWidth\"\n [style.paddingTop]=\"cellPadding\"\n [style.paddingBottom]=\"cellPadding\">\n <div class=\"kbq-calendar__body-cell-content\"\n [class.kbq-selected]=\"selectedValue === item.value\"\n [class.kbq-calendar__body-today]=\"todayValue === item.value\">\n {{ item.displayValue }}\n </div>\n </td>\n</tr>\n", styles: [".kbq-calendar__body{min-width:calc(7 * var(--kbq-datepicker-body-size-cell-min-size, 32px))}.kbq-calendar__body-cell{position:relative;height:0;line-height:0;text-align:center;outline:none;cursor:pointer}.kbq-calendar__body_disabled{cursor:default}.kbq-calendar__body-cell-content{position:absolute;top:var(--kbq-datepicker-body-size-cell-margin, 5%);left:var(--kbq-datepicker-body-size-cell-margin, 5%);padding:var(--kbq-datepicker-body-size-cell-padding, 8px);display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:90%;height:90%;line-height:1;border-width:var(--kbq-datepicker-body-size-cell-border-width, 1px);border-radius:var(--kbq-datepicker-body-size-cell-border-radius, 0);border-style:solid}kbq-month-view .kbq-calendar__body-cell-content{justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
88
88
  }
89
89
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqCalendarBody, decorators: [{
90
90
  type: Component,
91
- args: [{ selector: '[kbq-calendar-body]', exportAs: 'mcCalendarBody', host: {
91
+ args: [{ selector: '[kbq-calendar-body]', exportAs: 'kbqCalendarBody', host: {
92
92
  class: 'kbq-calendar__body'
93
93
  }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Create the first row separately so we can include a special spacer cell. -->\n<tr *ngFor=\"let row of rows; let rowIndex = index\">\n <!--\n We mark this cell as aria-hidden so it doesn't get read out as one of the days in the week.\n The aspect ratio of the table cells is maintained by setting the top and bottom padding as a\n percentage of the width (a variant of the trick described here:\n https://www.w3schools.com/howto/howto_css_aspect_ratio.asp).\n -->\n <td *ngIf=\"rowIndex === 0 && firstRowOffset\"\n class=\"kbq-calendar__body-label\"\n [attr.colspan]=\"firstRowOffset\">\n </td>\n\n <td *ngFor=\"let item of row; let colIndex = index\"\n class=\"kbq-calendar__body-cell\"\n [ngClass]=\"item.cssClasses!\"\n [tabindex]=\"isActiveCell(rowIndex, colIndex) ? 0 : -1\"\n [class.kbq-calendar__body_disabled]=\"!item.enabled\"\n [class.kbq-calendar__body_active]=\"isActiveCell(rowIndex, colIndex)\"\n (click)=\"cellClicked(item)\"\n [style.width]=\"cellWidth\"\n [style.paddingTop]=\"cellPadding\"\n [style.paddingBottom]=\"cellPadding\">\n <div class=\"kbq-calendar__body-cell-content\"\n [class.kbq-selected]=\"selectedValue === item.value\"\n [class.kbq-calendar__body-today]=\"todayValue === item.value\">\n {{ item.displayValue }}\n </div>\n </td>\n</tr>\n", styles: [".kbq-calendar__body{min-width:calc(7 * var(--kbq-datepicker-body-size-cell-min-size, 32px))}.kbq-calendar__body-cell{position:relative;height:0;line-height:0;text-align:center;outline:none;cursor:pointer}.kbq-calendar__body_disabled{cursor:default}.kbq-calendar__body-cell-content{position:absolute;top:var(--kbq-datepicker-body-size-cell-margin, 5%);left:var(--kbq-datepicker-body-size-cell-margin, 5%);padding:var(--kbq-datepicker-body-size-cell-padding, 8px);display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:90%;height:90%;line-height:1;border-width:var(--kbq-datepicker-body-size-cell-border-width, 1px);border-radius:var(--kbq-datepicker-body-size-cell-border-radius, 0);border-style:solid}kbq-month-view .kbq-calendar__body-cell-content{justify-content:flex-end}\n"] }]
94
94
  }], propDecorators: { rows: [{
@@ -201,25 +201,26 @@ class KbqCalendarHeader {
201
201
  }
202
202
  updateSelectedValues() {
203
203
  this.selectedMonth = this.monthNames[this.adapter.getMonth(this.activeDate)].value;
204
- const selectedYear = this.adapter.getYear(this.activeDate);
205
- this.selectedYear = this.years.includes(selectedYear) ? selectedYear : this.years[0];
204
+ const year = this.adapter.getYear(this.activeDate);
205
+ this.selectedYear = this.years.find(({ name }) => name === year)
206
+ || { name: year, value: this.adapter.getYearName(this.activeDate) };
206
207
  }
207
208
  updateYearsArray() {
208
209
  const minYear = this.adapter.getYear(this.minDate);
209
210
  const maxYear = this.adapter.getYear(this.maxDate);
210
211
  this.years = [];
211
- for (let i = minYear; i <= maxYear; i++) {
212
- this.years.push(i);
212
+ for (let key = minYear; key <= maxYear; key++) {
213
+ this.years.push({ name: key, value: this.adapter.getYearName(this.adapter.createDate(key)) });
213
214
  }
214
215
  }
215
216
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqCalendarHeader, deps: [{ token: i1$1.DateAdapter }], target: i0.ɵɵFactoryTarget.Component }); }
216
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqCalendarHeader, selector: "kbq-calendar-header", inputs: { activeDate: "activeDate", maxDate: "maxDate", minDate: "minDate" }, outputs: { activeDateChange: "activeDateChange", monthSelected: "monthSelected", yearSelected: "yearSelected" }, host: { classAttribute: "kbq-calendar-header" }, exportAs: ["mcCalendarHeader"], ngImport: i0, template: "<div class=\"kbq-calendar-header__select-group\">\n <kbq-select\n class=\"kbq-calendar-header__select\"\n #monthSelect=\"mcSelect\"\n [value]=\"selectedMonth\"\n [panelClass]=\"'kbq-calendar-select-panel'\"\n (selectionChange)=\"onMonthSelected($event.value)\">\n\n <button class=\"kbq-button_transparent layout-padding-right-xs\"\n kbq-button\n kbq-select-matcher\n [class.kbq-active]=\"monthSelect.panelOpen\"\n [tabindex]=\"-1\">\n {{ monthSelect.triggerValue }}\n\n <i class=\"layout-padding-left-3xs\" kbq-icon=\"mc-angle-down-S_16\"></i>\n </button>\n\n <kbq-option *ngFor=\"let month of monthNames\"\n [kbqTooltipDisabled]=\"true\"\n [value]=\"month.value\">\n {{ month.name }}\n </kbq-option>\n </kbq-select>\n\n <kbq-select\n #yearSelect=\"mcSelect\"\n [value]=\"selectedYear\"\n [panelClass]=\"'kbq-calendar-select-panel'\"\n (selectionChange)=\"onYearSelected($event.value)\">\n <button class=\"kbq-button_transparent layout-padding-right-xs\"\n kbq-button\n kbq-select-matcher\n [class.kbq-active]=\"yearSelect.panelOpen\"\n [tabindex]=\"-1\">\n {{ yearSelect.triggerValue }}\n\n <i class=\"layout-padding-left-3xs\" kbq-icon=\"mc-angle-down-S_16\"></i>\n </button>\n\n <kbq-option *ngFor=\"let year of years\"\n [kbqTooltipDisabled]=\"true\"\n [value]=\"year\">\n {{ year }}\n </kbq-option>\n </kbq-select>\n</div>\n\n<div class=\"kbq-calendar-header__button-group\">\n <button kbq-button\n class=\"kbq-button_transparent kbq-calendar-header__previous-button\"\n [tabindex]=\"-1\"\n [disabled]=\"previousDisabled\"\n (click)=\"selectPreviousMonth()\">\n\n <i kbq-icon=\"mc-angle-left-L_16\"></i>\n </button>\n\n <button kbq-button\n class=\"kbq-button_transparent\"\n [tabindex]=\"-1\"\n (click)=\"selectCurrentDate()\">\n\n <i kbq-icon=\"mc-circle-8_16\"></i>\n </button>\n\n <button kbq-button\n class=\"kbq-button_transparent kbq-calendar-header__next-button\"\n [tabindex]=\"-1\"\n [disabled]=\"nextDisabled\"\n (click)=\"selectNextMonth()\">\n\n <i kbq-icon=\"mc-angle-right-L_16\"></i>\n </button>\n</div>\n", styles: [".kbq-calendar-header{display:flex;flex-direction:row;justify-content:space-between;padding:var(--kbq-datepicker-calendar-size-padding-top, 16px) var(--kbq-datepicker-calendar-size-padding-horizontal, 8px) var(--kbq-datepicker-calendar-size-padding-blocks, 12px) var(--kbq-datepicker-calendar-size-padding-horizontal, 8px)}.kbq-calendar-header__previous-button:after{border-left-width:var(--kbq-datepicker-calendar-size-icon-border-width, 2px);transform:var(--kbq-datepicker-calendar-size-icon-prev-icon-transform, translateX(2px) rotate(-45deg))}.kbq-calendar-header__next-button:after{border-right-width:var(--kbq-datepicker-calendar-size-icon-border-width, 2px);transform:var(--kbq-datepicker-calendar-size-icon-nex-icon-transform, translateX(-2px) rotate(45deg))}.kbq-calendar-header__select{width:auto!important}.kbq-calendar-header__button-group,.kbq-calendar-header__select-group{display:flex;flex-direction:row}.kbq-calendar-select-panel{margin-top:2px;min-width:98%!important}.kbq-calendar-select-panel .kbq-select__content{max-height:384px;overflow-x:hidden;scrollbar-gutter:stable}.kbq-calendar-select-panel .kbq-select__content .kbq-option{min-width:65px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.KbqButton, selector: "[kbq-button]", inputs: ["color", "tabIndex", "kbqStyle", "disabled"] }, { kind: "directive", type: i3.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "directive", type: i4.KbqValidateDirective, selector: " input[kbqInput], input[kbqInputPassword], input[mcTimepicker], input[mcDatepicker], textarea[kbqTextarea], kbq-select, kbq-tree-select, kbq-tag-list ", exportAs: ["KbqValidate"] }, { kind: "component", type: i5.KbqSelect, selector: "kbq-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.KbqSelectMatcher, selector: "kbq-select-matcher, [kbq-select-matcher]" }, { kind: "directive", type: i5.KbqOptionTooltip, selector: "kbq-option" }, { kind: "component", type: i1$1.KbqOption, selector: "kbq-option", inputs: ["value", "showCheckbox", "disabled"], outputs: ["onSelectionChange"], exportAs: ["mcOption"] }, { kind: "component", type: i6.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
217
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqCalendarHeader, selector: "kbq-calendar-header", inputs: { activeDate: "activeDate", maxDate: "maxDate", minDate: "minDate" }, outputs: { activeDateChange: "activeDateChange", monthSelected: "monthSelected", yearSelected: "yearSelected" }, host: { classAttribute: "kbq-calendar-header" }, exportAs: ["kbqCalendarHeader"], ngImport: i0, template: "<div class=\"kbq-calendar-header__select-group\">\n <kbq-select\n class=\"kbq-calendar-header__select\"\n #monthSelect=\"kbqSelect\"\n [value]=\"selectedMonth\"\n [panelClass]=\"'kbq-calendar-select-panel'\"\n (selectionChange)=\"onMonthSelected($event.value)\">\n\n <button class=\"kbq-button_transparent layout-padding-right-xs\"\n kbq-button\n kbq-select-matcher\n [class.kbq-active]=\"monthSelect.panelOpen\"\n [tabindex]=\"-1\">\n {{ monthSelect.triggerValue }}\n\n <i class=\"layout-padding-left-3xs\" kbq-icon=\"mc-angle-down-S_16\"></i>\n </button>\n\n <kbq-option *ngFor=\"let month of monthNames\"\n [kbqTooltipDisabled]=\"true\"\n [value]=\"month.value\">\n {{ month.name }}\n </kbq-option>\n </kbq-select>\n\n <kbq-select\n #yearSelect=\"kbqSelect\"\n [value]=\"selectedYear\"\n [panelClass]=\"'kbq-calendar-select-panel'\"\n (selectionChange)=\"onYearSelected($event.value.name)\">\n <button class=\"kbq-button_transparent layout-padding-right-xs\"\n kbq-button\n kbq-select-matcher\n [class.kbq-active]=\"yearSelect.panelOpen\"\n [tabindex]=\"-1\">\n {{ selectedYear.value }}\n\n <i class=\"layout-padding-left-3xs\" kbq-icon=\"mc-angle-down-S_16\"></i>\n </button>\n\n <kbq-option *ngFor=\"let year of years\"\n [kbqTooltipDisabled]=\"true\"\n [value]=\"year\">\n {{ year.value }}\n </kbq-option>\n </kbq-select>\n</div>\n\n<div class=\"kbq-calendar-header__button-group\">\n <button kbq-button\n class=\"kbq-button_transparent kbq-calendar-header__previous-button\"\n [tabindex]=\"-1\"\n [disabled]=\"previousDisabled\"\n (click)=\"selectPreviousMonth()\">\n\n <i kbq-icon=\"mc-angle-left-L_16\"></i>\n </button>\n\n <button kbq-button\n class=\"kbq-button_transparent\"\n [tabindex]=\"-1\"\n (click)=\"selectCurrentDate()\">\n\n <i kbq-icon=\"mc-circle-8_16\"></i>\n </button>\n\n <button kbq-button\n class=\"kbq-button_transparent kbq-calendar-header__next-button\"\n [tabindex]=\"-1\"\n [disabled]=\"nextDisabled\"\n (click)=\"selectNextMonth()\">\n\n <i kbq-icon=\"mc-angle-right-L_16\"></i>\n </button>\n</div>\n", styles: [".kbq-calendar-header{display:flex;flex-direction:row;justify-content:space-between;padding:var(--kbq-datepicker-calendar-size-padding-top, 16px) var(--kbq-datepicker-calendar-size-padding-horizontal, 8px) var(--kbq-datepicker-calendar-size-padding-blocks, 12px) var(--kbq-datepicker-calendar-size-padding-horizontal, 8px)}.kbq-calendar-header__previous-button:after{border-left-width:var(--kbq-datepicker-calendar-size-icon-border-width, 2px);transform:var(--kbq-datepicker-calendar-size-icon-prev-icon-transform, translateX(2px) rotate(-45deg))}.kbq-calendar-header__next-button:after{border-right-width:var(--kbq-datepicker-calendar-size-icon-border-width, 2px);transform:var(--kbq-datepicker-calendar-size-icon-nex-icon-transform, translateX(-2px) rotate(45deg))}.kbq-calendar-header__select{width:auto!important}.kbq-calendar-header__button-group,.kbq-calendar-header__select-group{display:flex;flex-direction:row}.kbq-calendar-select-panel{margin-top:2px;min-width:98%!important}.kbq-calendar-select-panel .kbq-select__content{max-height:384px;overflow-x:hidden;scrollbar-gutter:stable}.kbq-calendar-select-panel .kbq-select__content .kbq-option{min-width:65px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.KbqButton, selector: "[kbq-button]", inputs: ["color", "tabIndex", "kbqStyle", "disabled"] }, { kind: "directive", type: i3.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "directive", type: i4.KbqValidateDirective, selector: " input[kbqInput], input[kbqInputPassword], input[kbqTimepicker], input[kbqDatepicker], textarea[kbqTextarea], kbq-select, kbq-tree-select, kbq-tag-list ", exportAs: ["KbqValidate"] }, { kind: "component", type: i5.KbqSelect, selector: "kbq-select", inputs: ["disabled", "tabIndex", "hiddenItemsText", "panelClass", "backdropClass", "errorStateMatcher", "sortComparator", "hasBackdrop", "placeholder", "required", "multiple", "compareWith", "value", "id", "hiddenItemsTextFormatter"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["kbqSelect"] }, { kind: "directive", type: i5.KbqSelectMatcher, selector: "kbq-select-matcher, [kbq-select-matcher]" }, { kind: "directive", type: i5.KbqOptionTooltip, selector: "kbq-option" }, { kind: "component", type: i1$1.KbqOption, selector: "kbq-option", inputs: ["value", "showCheckbox", "disabled"], outputs: ["onSelectionChange"], exportAs: ["kbqOption"] }, { kind: "component", type: i6.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
217
218
  }
218
219
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqCalendarHeader, decorators: [{
219
220
  type: Component,
220
- args: [{ selector: 'kbq-calendar-header', exportAs: 'mcCalendarHeader', host: {
221
+ args: [{ selector: 'kbq-calendar-header', exportAs: 'kbqCalendarHeader', host: {
221
222
  class: 'kbq-calendar-header'
222
- }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"kbq-calendar-header__select-group\">\n <kbq-select\n class=\"kbq-calendar-header__select\"\n #monthSelect=\"mcSelect\"\n [value]=\"selectedMonth\"\n [panelClass]=\"'kbq-calendar-select-panel'\"\n (selectionChange)=\"onMonthSelected($event.value)\">\n\n <button class=\"kbq-button_transparent layout-padding-right-xs\"\n kbq-button\n kbq-select-matcher\n [class.kbq-active]=\"monthSelect.panelOpen\"\n [tabindex]=\"-1\">\n {{ monthSelect.triggerValue }}\n\n <i class=\"layout-padding-left-3xs\" kbq-icon=\"mc-angle-down-S_16\"></i>\n </button>\n\n <kbq-option *ngFor=\"let month of monthNames\"\n [kbqTooltipDisabled]=\"true\"\n [value]=\"month.value\">\n {{ month.name }}\n </kbq-option>\n </kbq-select>\n\n <kbq-select\n #yearSelect=\"mcSelect\"\n [value]=\"selectedYear\"\n [panelClass]=\"'kbq-calendar-select-panel'\"\n (selectionChange)=\"onYearSelected($event.value)\">\n <button class=\"kbq-button_transparent layout-padding-right-xs\"\n kbq-button\n kbq-select-matcher\n [class.kbq-active]=\"yearSelect.panelOpen\"\n [tabindex]=\"-1\">\n {{ yearSelect.triggerValue }}\n\n <i class=\"layout-padding-left-3xs\" kbq-icon=\"mc-angle-down-S_16\"></i>\n </button>\n\n <kbq-option *ngFor=\"let year of years\"\n [kbqTooltipDisabled]=\"true\"\n [value]=\"year\">\n {{ year }}\n </kbq-option>\n </kbq-select>\n</div>\n\n<div class=\"kbq-calendar-header__button-group\">\n <button kbq-button\n class=\"kbq-button_transparent kbq-calendar-header__previous-button\"\n [tabindex]=\"-1\"\n [disabled]=\"previousDisabled\"\n (click)=\"selectPreviousMonth()\">\n\n <i kbq-icon=\"mc-angle-left-L_16\"></i>\n </button>\n\n <button kbq-button\n class=\"kbq-button_transparent\"\n [tabindex]=\"-1\"\n (click)=\"selectCurrentDate()\">\n\n <i kbq-icon=\"mc-circle-8_16\"></i>\n </button>\n\n <button kbq-button\n class=\"kbq-button_transparent kbq-calendar-header__next-button\"\n [tabindex]=\"-1\"\n [disabled]=\"nextDisabled\"\n (click)=\"selectNextMonth()\">\n\n <i kbq-icon=\"mc-angle-right-L_16\"></i>\n </button>\n</div>\n", styles: [".kbq-calendar-header{display:flex;flex-direction:row;justify-content:space-between;padding:var(--kbq-datepicker-calendar-size-padding-top, 16px) var(--kbq-datepicker-calendar-size-padding-horizontal, 8px) var(--kbq-datepicker-calendar-size-padding-blocks, 12px) var(--kbq-datepicker-calendar-size-padding-horizontal, 8px)}.kbq-calendar-header__previous-button:after{border-left-width:var(--kbq-datepicker-calendar-size-icon-border-width, 2px);transform:var(--kbq-datepicker-calendar-size-icon-prev-icon-transform, translateX(2px) rotate(-45deg))}.kbq-calendar-header__next-button:after{border-right-width:var(--kbq-datepicker-calendar-size-icon-border-width, 2px);transform:var(--kbq-datepicker-calendar-size-icon-nex-icon-transform, translateX(-2px) rotate(45deg))}.kbq-calendar-header__select{width:auto!important}.kbq-calendar-header__button-group,.kbq-calendar-header__select-group{display:flex;flex-direction:row}.kbq-calendar-select-panel{margin-top:2px;min-width:98%!important}.kbq-calendar-select-panel .kbq-select__content{max-height:384px;overflow-x:hidden;scrollbar-gutter:stable}.kbq-calendar-select-panel .kbq-select__content .kbq-option{min-width:65px}\n"] }]
223
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"kbq-calendar-header__select-group\">\n <kbq-select\n class=\"kbq-calendar-header__select\"\n #monthSelect=\"kbqSelect\"\n [value]=\"selectedMonth\"\n [panelClass]=\"'kbq-calendar-select-panel'\"\n (selectionChange)=\"onMonthSelected($event.value)\">\n\n <button class=\"kbq-button_transparent layout-padding-right-xs\"\n kbq-button\n kbq-select-matcher\n [class.kbq-active]=\"monthSelect.panelOpen\"\n [tabindex]=\"-1\">\n {{ monthSelect.triggerValue }}\n\n <i class=\"layout-padding-left-3xs\" kbq-icon=\"mc-angle-down-S_16\"></i>\n </button>\n\n <kbq-option *ngFor=\"let month of monthNames\"\n [kbqTooltipDisabled]=\"true\"\n [value]=\"month.value\">\n {{ month.name }}\n </kbq-option>\n </kbq-select>\n\n <kbq-select\n #yearSelect=\"kbqSelect\"\n [value]=\"selectedYear\"\n [panelClass]=\"'kbq-calendar-select-panel'\"\n (selectionChange)=\"onYearSelected($event.value.name)\">\n <button class=\"kbq-button_transparent layout-padding-right-xs\"\n kbq-button\n kbq-select-matcher\n [class.kbq-active]=\"yearSelect.panelOpen\"\n [tabindex]=\"-1\">\n {{ selectedYear.value }}\n\n <i class=\"layout-padding-left-3xs\" kbq-icon=\"mc-angle-down-S_16\"></i>\n </button>\n\n <kbq-option *ngFor=\"let year of years\"\n [kbqTooltipDisabled]=\"true\"\n [value]=\"year\">\n {{ year.value }}\n </kbq-option>\n </kbq-select>\n</div>\n\n<div class=\"kbq-calendar-header__button-group\">\n <button kbq-button\n class=\"kbq-button_transparent kbq-calendar-header__previous-button\"\n [tabindex]=\"-1\"\n [disabled]=\"previousDisabled\"\n (click)=\"selectPreviousMonth()\">\n\n <i kbq-icon=\"mc-angle-left-L_16\"></i>\n </button>\n\n <button kbq-button\n class=\"kbq-button_transparent\"\n [tabindex]=\"-1\"\n (click)=\"selectCurrentDate()\">\n\n <i kbq-icon=\"mc-circle-8_16\"></i>\n </button>\n\n <button kbq-button\n class=\"kbq-button_transparent kbq-calendar-header__next-button\"\n [tabindex]=\"-1\"\n [disabled]=\"nextDisabled\"\n (click)=\"selectNextMonth()\">\n\n <i kbq-icon=\"mc-angle-right-L_16\"></i>\n </button>\n</div>\n", styles: [".kbq-calendar-header{display:flex;flex-direction:row;justify-content:space-between;padding:var(--kbq-datepicker-calendar-size-padding-top, 16px) var(--kbq-datepicker-calendar-size-padding-horizontal, 8px) var(--kbq-datepicker-calendar-size-padding-blocks, 12px) var(--kbq-datepicker-calendar-size-padding-horizontal, 8px)}.kbq-calendar-header__previous-button:after{border-left-width:var(--kbq-datepicker-calendar-size-icon-border-width, 2px);transform:var(--kbq-datepicker-calendar-size-icon-prev-icon-transform, translateX(2px) rotate(-45deg))}.kbq-calendar-header__next-button:after{border-right-width:var(--kbq-datepicker-calendar-size-icon-border-width, 2px);transform:var(--kbq-datepicker-calendar-size-icon-nex-icon-transform, translateX(-2px) rotate(45deg))}.kbq-calendar-header__select{width:auto!important}.kbq-calendar-header__button-group,.kbq-calendar-header__select-group{display:flex;flex-direction:row}.kbq-calendar-select-panel{margin-top:2px;min-width:98%!important}.kbq-calendar-select-panel .kbq-select__content{max-height:384px;overflow-x:hidden;scrollbar-gutter:stable}.kbq-calendar-select-panel .kbq-select__content .kbq-option{min-width:65px}\n"] }]
223
224
  }], ctorParameters: function () { return [{ type: i1$1.DateAdapter }]; }, propDecorators: { activeDate: [{
224
225
  type: Input
225
226
  }], maxDate: [{
@@ -305,9 +306,8 @@ class KbqMonthView {
305
306
  this._selected = value;
306
307
  this.selectedDate = this.getDateInCurrentMonth(this._selected);
307
308
  }
308
- constructor(changeDetectorRef, dateFormats, adapter) {
309
+ constructor(changeDetectorRef, adapter) {
309
310
  this.changeDetectorRef = changeDetectorRef;
310
- this.dateFormats = dateFormats;
311
311
  this.adapter = adapter;
312
312
  /** Emits when a new date is selected. */
313
313
  this.selectedChange = new EventEmitter();
@@ -318,9 +318,6 @@ class KbqMonthView {
318
318
  if (!this.adapter) {
319
319
  throw createMissingDateImplError('DateAdapter');
320
320
  }
321
- if (!this.dateFormats) {
322
- throw createMissingDateImplError('KBQ_DATE_FORMATS');
323
- }
324
321
  const firstDayOfWeek = this.adapter.getFirstDayOfWeek();
325
322
  const narrowWeekdays = this.adapter.getDayOfWeekNames('short');
326
323
  const longWeekdays = this.adapter.getDayOfWeekNames('long');
@@ -391,18 +388,13 @@ class KbqMonthView {
391
388
  return !!(d1 && d2 && this.adapter.getMonth(d1) === this.adapter.getMonth(d2) &&
392
389
  this.adapter.getYear(d1) === this.adapter.getYear(d2));
393
390
  }
394
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqMonthView, deps: [{ token: i0.ChangeDetectorRef }, { token: KBQ_DATE_FORMATS, optional: true }, { token: i1$1.DateAdapter, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
395
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqMonthView, selector: "kbq-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: KbqCalendarBody, descendants: true }], exportAs: ["mcMonthView"], ngImport: i0, template: "<table class=\"kbq-calendar__table\">\n <thead class=\"kbq-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=\"kbq-calendar__table-header-divider\" colspan=\"7\"></th>\n </tr>\n </thead>\n <tbody kbq-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: KbqCalendarBody, selector: "[kbq-calendar-body]", inputs: ["rows", "todayValue", "selectedValue", "labelMinRequiredCells", "numCols", "activeCell", "cellAspectRatio"], outputs: ["selectedValueChange"], exportAs: ["mcCalendarBody"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
391
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqMonthView, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.DateAdapter, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
392
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqMonthView, selector: "kbq-month-view", inputs: { activeDate: "activeDate", selected: "selected", minDate: "minDate", maxDate: "maxDate", dateFilter: "dateFilter", dateClass: "dateClass" }, outputs: { selectedChange: "selectedChange", userSelection: "userSelection", activeDateChange: "activeDateChange" }, viewQueries: [{ propertyName: "kbqCalendarBody", first: true, predicate: KbqCalendarBody, descendants: true }], exportAs: ["kbqMonthView"], ngImport: i0, template: "<table class=\"kbq-calendar__table\">\n <thead class=\"kbq-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=\"kbq-calendar__table-header-divider\" colspan=\"7\"></th>\n </tr>\n </thead>\n <tbody kbq-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: KbqCalendarBody, selector: "[kbq-calendar-body]", inputs: ["rows", "todayValue", "selectedValue", "labelMinRequiredCells", "numCols", "activeCell", "cellAspectRatio"], outputs: ["selectedValueChange"], exportAs: ["kbqCalendarBody"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
396
393
  }
397
394
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqMonthView, decorators: [{
398
395
  type: Component,
399
- args: [{ selector: 'kbq-month-view', exportAs: 'mcMonthView', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<table class=\"kbq-calendar__table\">\n <thead class=\"kbq-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=\"kbq-calendar__table-header-divider\" colspan=\"7\"></th>\n </tr>\n </thead>\n <tbody kbq-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" }]
400
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
401
- type: Optional
402
- }, {
403
- type: Inject,
404
- args: [KBQ_DATE_FORMATS]
405
- }] }, { type: i1$1.DateAdapter, decorators: [{
396
+ args: [{ selector: 'kbq-month-view', exportAs: 'kbqMonthView', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<table class=\"kbq-calendar__table\">\n <thead class=\"kbq-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=\"kbq-calendar__table-header-divider\" colspan=\"7\"></th>\n </tr>\n </thead>\n <tbody kbq-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" }]
397
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$1.DateAdapter, decorators: [{
406
398
  type: Optional
407
399
  }] }]; }, propDecorators: { activeDate: [{
408
400
  type: Input
@@ -422,7 +414,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
422
414
  type: Output
423
415
  }], activeDateChange: [{
424
416
  type: Output
425
- }], mcCalendarBody: [{
417
+ }], kbqCalendarBody: [{
426
418
  type: ViewChild,
427
419
  args: [KbqCalendarBody, { static: false }]
428
420
  }] } });
@@ -475,9 +467,8 @@ class KbqCalendar {
475
467
  this._activeDate = this.adapter.clampDate(value || this.getActiveDateDefault(), this.minDate, this.maxDate);
476
468
  this.stateChanges.next();
477
469
  }
478
- constructor(intl, adapter, dateFormats, changeDetectorRef) {
470
+ constructor(intl, adapter, changeDetectorRef) {
479
471
  this.adapter = adapter;
480
- this.dateFormats = dateFormats;
481
472
  this.changeDetectorRef = changeDetectorRef;
482
473
  /** Emits when the currently selected date changes. */
483
474
  this.selectedChange = new EventEmitter();
@@ -500,9 +491,6 @@ class KbqCalendar {
500
491
  if (!this.adapter) {
501
492
  throw createMissingDateImplError('DateAdapter');
502
493
  }
503
- if (!this.dateFormats) {
504
- throw createMissingDateImplError('KBQ_DATE_FORMATS');
505
- }
506
494
  this.intlChanges = intl.changes.subscribe(() => {
507
495
  changeDetectorRef.markForCheck();
508
496
  this.stateChanges.next();
@@ -551,21 +539,16 @@ class KbqCalendar {
551
539
  getActiveDateDefault() {
552
540
  return this.startAt || this.adapter.today();
553
541
  }
554
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqCalendar, deps: [{ token: KbqDatepickerIntl }, { token: i1$1.DateAdapter, optional: true }, { token: KBQ_DATE_FORMATS, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
555
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqCalendar, selector: "kbq-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: "kbq-calendar" }, viewQueries: [{ propertyName: "monthView", first: true, predicate: KbqMonthView, descendants: true }], exportAs: ["mcCalendar"], usesOnChanges: true, ngImport: i0, template: "<kbq-calendar-header\n [(activeDate)]=\"activeDate\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n (monthSelected)=\"monthSelected.emit(activeDate)\"\n (yearSelected)=\"yearSelected.emit(activeDate)\">\n</kbq-calendar-header>\n\n<div class=\"kbq-calendar__content\">\n <kbq-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 </kbq-month-view>\n</div>\n", styles: [".kbq-calendar{display:block}.kbq-calendar__content{padding:0 var(--kbq-datepicker-calendar-size-padding-horizontal, 8px) var(--kbq-datepicker-calendar-size-padding-horizontal, 8px) var(--kbq-datepicker-calendar-size-padding-horizontal, 8px);outline:none}.kbq-calendar__table{border-spacing:0;border-collapse:collapse;width:100%}.kbq-calendar__table-header th{text-align:center;height:30px}.kbq-calendar__table-header th.kbq-calendar__table-header-divider{position:relative;height:calc(var(--kbq-datepicker-calendar-size-padding-blocks, 12px) - 2px)}.kbq-calendar__table-header th.kbq-calendar__table-header-divider:after{content:\"\";position:absolute;top:0;left:calc(-1 * var(--kbq-datepicker-calendar-size-padding-horizontal, 8px));right:calc(-1 * var(--kbq-datepicker-calendar-size-padding-horizontal, 8px));height:var(--kbq-datepicker-calendar-size-divider-width, 1px)}\n"], dependencies: [{ kind: "component", type: KbqMonthView, selector: "kbq-month-view", inputs: ["activeDate", "selected", "minDate", "maxDate", "dateFilter", "dateClass"], outputs: ["selectedChange", "userSelection", "activeDateChange"], exportAs: ["mcMonthView"] }, { kind: "component", type: KbqCalendarHeader, selector: "kbq-calendar-header", inputs: ["activeDate", "maxDate", "minDate"], outputs: ["activeDateChange", "monthSelected", "yearSelected"], exportAs: ["mcCalendarHeader"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
542
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqCalendar, deps: [{ token: KbqDatepickerIntl }, { token: i1$1.DateAdapter, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
543
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqCalendar, selector: "kbq-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: "kbq-calendar" }, viewQueries: [{ propertyName: "monthView", first: true, predicate: KbqMonthView, descendants: true }], exportAs: ["kbqCalendar"], usesOnChanges: true, ngImport: i0, template: "<kbq-calendar-header\n [(activeDate)]=\"activeDate\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n (monthSelected)=\"monthSelected.emit(activeDate)\"\n (yearSelected)=\"yearSelected.emit(activeDate)\">\n</kbq-calendar-header>\n\n<div class=\"kbq-calendar__content\">\n <kbq-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 </kbq-month-view>\n</div>\n", styles: [".kbq-calendar{display:block}.kbq-calendar__content{padding:0 var(--kbq-datepicker-calendar-size-padding-horizontal, 8px) var(--kbq-datepicker-calendar-size-padding-horizontal, 8px) var(--kbq-datepicker-calendar-size-padding-horizontal, 8px);outline:none}.kbq-calendar__table{border-spacing:0;border-collapse:collapse;width:100%}.kbq-calendar__table-header th{text-align:center;height:30px}.kbq-calendar__table-header th.kbq-calendar__table-header-divider{position:relative;height:calc(var(--kbq-datepicker-calendar-size-padding-blocks, 12px) - 2px)}.kbq-calendar__table-header th.kbq-calendar__table-header-divider:after{content:\"\";position:absolute;top:0;left:calc(-1 * var(--kbq-datepicker-calendar-size-padding-horizontal, 8px));right:calc(-1 * var(--kbq-datepicker-calendar-size-padding-horizontal, 8px));height:var(--kbq-datepicker-calendar-size-divider-width, 1px)}\n"], dependencies: [{ kind: "component", type: KbqMonthView, selector: "kbq-month-view", inputs: ["activeDate", "selected", "minDate", "maxDate", "dateFilter", "dateClass"], outputs: ["selectedChange", "userSelection", "activeDateChange"], exportAs: ["kbqMonthView"] }, { kind: "component", type: KbqCalendarHeader, selector: "kbq-calendar-header", inputs: ["activeDate", "maxDate", "minDate"], outputs: ["activeDateChange", "monthSelected", "yearSelected"], exportAs: ["kbqCalendarHeader"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
556
544
  }
557
545
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqCalendar, decorators: [{
558
546
  type: Component,
559
- args: [{ selector: 'kbq-calendar', exportAs: 'mcCalendar', host: {
547
+ args: [{ selector: 'kbq-calendar', exportAs: 'kbqCalendar', host: {
560
548
  class: 'kbq-calendar'
561
549
  }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<kbq-calendar-header\n [(activeDate)]=\"activeDate\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n (monthSelected)=\"monthSelected.emit(activeDate)\"\n (yearSelected)=\"yearSelected.emit(activeDate)\">\n</kbq-calendar-header>\n\n<div class=\"kbq-calendar__content\">\n <kbq-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 </kbq-month-view>\n</div>\n", styles: [".kbq-calendar{display:block}.kbq-calendar__content{padding:0 var(--kbq-datepicker-calendar-size-padding-horizontal, 8px) var(--kbq-datepicker-calendar-size-padding-horizontal, 8px) var(--kbq-datepicker-calendar-size-padding-horizontal, 8px);outline:none}.kbq-calendar__table{border-spacing:0;border-collapse:collapse;width:100%}.kbq-calendar__table-header th{text-align:center;height:30px}.kbq-calendar__table-header th.kbq-calendar__table-header-divider{position:relative;height:calc(var(--kbq-datepicker-calendar-size-padding-blocks, 12px) - 2px)}.kbq-calendar__table-header th.kbq-calendar__table-header-divider:after{content:\"\";position:absolute;top:0;left:calc(-1 * var(--kbq-datepicker-calendar-size-padding-horizontal, 8px));right:calc(-1 * var(--kbq-datepicker-calendar-size-padding-horizontal, 8px));height:var(--kbq-datepicker-calendar-size-divider-width, 1px)}\n"] }]
562
550
  }], ctorParameters: function () { return [{ type: KbqDatepickerIntl }, { type: i1$1.DateAdapter, decorators: [{
563
551
  type: Optional
564
- }] }, { type: undefined, decorators: [{
565
- type: Optional
566
- }, {
567
- type: Inject,
568
- args: [KBQ_DATE_FORMATS]
569
552
  }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { startAt: [{
570
553
  type: Input
571
554
  }], selected: [{
@@ -595,7 +578,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
595
578
  * Animations used by the Koobiq datepicker.
596
579
  * @docs-private
597
580
  */
598
- const mcDatepickerAnimations = {
581
+ const kbqDatepickerAnimations = {
599
582
  /** Transforms the height of the datepicker's calendar. */
600
583
  transformPanel: trigger('transformPanel', [
601
584
  state('void', style({
@@ -667,27 +650,27 @@ class KbqDatepickerContent {
667
650
  this.changeDetectorRef.markForCheck();
668
651
  }
669
652
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqDatepickerContent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
670
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqDatepickerContent, selector: "kbq-datepicker__content", host: { listeners: { "@transformPanel.done": "animationDone.next()" }, properties: { "@transformPanel": "animationState" }, classAttribute: "kbq-datepicker__content" }, viewQueries: [{ propertyName: "calendar", first: true, predicate: KbqCalendar, descendants: true }], exportAs: ["mcDatepickerContent"], ngImport: i0, template: "<kbq-calendar [id]=\"datepicker.id\"\n [@fadeInCalendar]=\"'enter'\"\n [ngClass]=\"datepicker.panelClass\"\n [dateClass]=\"datepicker.dateClass\"\n\n [startAt]=\"datepicker.startAt\"\n [minDate]=\"datepicker.minDate\"\n [maxDate]=\"datepicker.maxDate\"\n [dateFilter]=\"datepicker.dateFilter\"\n\n [selected]=\"datepicker.selected\"\n\n (selectedChange)=\"datepicker.select($event)\"\n (yearSelected)=\"datepicker.selectYear($event)\"\n (monthSelected)=\"datepicker.selectMonth($event)\"\n (userSelection)=\"datepicker.close()\">\n</kbq-calendar>\n", styles: [".kbq-datepicker__content{display:block;border-width:1px;border-style:solid;border-radius:var(--kbq-datepicker-calendar-size-border-radius, 0)}.kbq-datepicker__content .kbq-calendar{width:296px;height:348px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: KbqCalendar, selector: "kbq-calendar", inputs: ["startAt", "selected", "minDate", "maxDate", "dateFilter", "dateClass"], outputs: ["selectedChange", "yearSelected", "monthSelected", "userSelection"], exportAs: ["mcCalendar"] }], animations: [
671
- mcDatepickerAnimations.transformPanel,
672
- mcDatepickerAnimations.fadeInCalendar
653
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqDatepickerContent, selector: "kbq-datepicker__content", host: { listeners: { "@transformPanel.done": "animationDone.next()" }, properties: { "@transformPanel": "animationState" }, classAttribute: "kbq-datepicker__content" }, viewQueries: [{ propertyName: "calendar", first: true, predicate: KbqCalendar, descendants: true }], exportAs: ["kbqDatepickerContent"], ngImport: i0, template: "<kbq-calendar [id]=\"datepicker.id\"\n [@fadeInCalendar]=\"'enter'\"\n [ngClass]=\"datepicker.panelClass\"\n [dateClass]=\"datepicker.dateClass\"\n\n [startAt]=\"datepicker.startAt\"\n [minDate]=\"datepicker.minDate\"\n [maxDate]=\"datepicker.maxDate\"\n [dateFilter]=\"datepicker.dateFilter\"\n\n [selected]=\"datepicker.selected\"\n\n (selectedChange)=\"datepicker.select($event)\"\n (yearSelected)=\"datepicker.selectYear($event)\"\n (monthSelected)=\"datepicker.selectMonth($event)\"\n (userSelection)=\"datepicker.close()\">\n</kbq-calendar>\n", styles: [".kbq-datepicker__content{display:block;border-width:1px;border-style:solid;border-radius:var(--kbq-datepicker-calendar-size-border-radius, 0)}.kbq-datepicker__content .kbq-calendar{width:296px;height:348px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: KbqCalendar, selector: "kbq-calendar", inputs: ["startAt", "selected", "minDate", "maxDate", "dateFilter", "dateClass"], outputs: ["selectedChange", "yearSelected", "monthSelected", "userSelection"], exportAs: ["kbqCalendar"] }], animations: [
654
+ kbqDatepickerAnimations.transformPanel,
655
+ kbqDatepickerAnimations.fadeInCalendar
673
656
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
674
657
  }
675
658
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqDatepickerContent, decorators: [{
676
659
  type: Component,
677
- args: [{ selector: 'kbq-datepicker__content', exportAs: 'mcDatepickerContent', host: {
660
+ args: [{ selector: 'kbq-datepicker__content', exportAs: 'kbqDatepickerContent', host: {
678
661
  class: 'kbq-datepicker__content',
679
662
  '[@transformPanel]': 'animationState',
680
663
  '(@transformPanel.done)': 'animationDone.next()'
681
664
  }, animations: [
682
- mcDatepickerAnimations.transformPanel,
683
- mcDatepickerAnimations.fadeInCalendar
665
+ kbqDatepickerAnimations.transformPanel,
666
+ kbqDatepickerAnimations.fadeInCalendar
684
667
  ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<kbq-calendar [id]=\"datepicker.id\"\n [@fadeInCalendar]=\"'enter'\"\n [ngClass]=\"datepicker.panelClass\"\n [dateClass]=\"datepicker.dateClass\"\n\n [startAt]=\"datepicker.startAt\"\n [minDate]=\"datepicker.minDate\"\n [maxDate]=\"datepicker.maxDate\"\n [dateFilter]=\"datepicker.dateFilter\"\n\n [selected]=\"datepicker.selected\"\n\n (selectedChange)=\"datepicker.select($event)\"\n (yearSelected)=\"datepicker.selectYear($event)\"\n (monthSelected)=\"datepicker.selectMonth($event)\"\n (userSelection)=\"datepicker.close()\">\n</kbq-calendar>\n", styles: [".kbq-datepicker__content{display:block;border-width:1px;border-style:solid;border-radius:var(--kbq-datepicker-calendar-size-border-radius, 0)}.kbq-datepicker__content .kbq-calendar{width:296px;height:348px}\n"] }]
685
668
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { calendar: [{
686
669
  type: ViewChild,
687
670
  args: [KbqCalendar]
688
671
  }] } });
689
672
  // TODO: We use a component instead of a directive here so the user can use implicit
690
- // template reference variables (e.g. #d vs #d="mcDatepicker"). We can change this to a directive
673
+ // template reference variables (e.g. #d vs #d="kbqDatepicker"). We can change this to a directive
691
674
  // if angular adds support for `exportAs: '$implicit'` on directives.
692
675
  /** Component responsible for managing the datepicker popup/dialog. */
693
676
  class KbqDatepicker {
@@ -942,14 +925,14 @@ class KbqDatepicker {
942
925
  ]);
943
926
  }
944
927
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqDatepicker, deps: [{ token: i3$1.Overlay }, { token: i0.NgZone }, { token: i0.ViewContainerRef }, { token: KBQ_DATEPICKER_SCROLL_STRATEGY }, { token: i1$1.DateAdapter, optional: true }, { token: i5$1.Directionality, optional: true }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
945
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqDatepicker, selector: "kbq-datepicker", inputs: { hasBackdrop: "hasBackdrop", startAt: "startAt", disabled: "disabled", opened: "opened", minDate: "minDate", maxDate: "maxDate", panelClass: "panelClass", dateClass: "dateClass", backdropClass: "backdropClass" }, outputs: { yearSelected: "yearSelected", monthSelected: "monthSelected", openedStream: "opened", closedStream: "closed" }, providers: [{ provide: KbqFormFieldControl, useExisting: KbqDatepicker }], exportAs: ["mcDatepicker"], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
928
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqDatepicker, selector: "kbq-datepicker", inputs: { hasBackdrop: "hasBackdrop", startAt: "startAt", disabled: "disabled", opened: "opened", minDate: "minDate", maxDate: "maxDate", panelClass: "panelClass", dateClass: "dateClass", backdropClass: "backdropClass" }, outputs: { yearSelected: "yearSelected", monthSelected: "monthSelected", openedStream: "opened", closedStream: "closed" }, providers: [{ provide: KbqFormFieldControl, useExisting: KbqDatepicker }], exportAs: ["kbqDatepicker"], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
946
929
  }
947
930
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqDatepicker, decorators: [{
948
931
  type: Component,
949
932
  args: [{
950
933
  selector: 'kbq-datepicker',
951
934
  template: '',
952
- exportAs: 'mcDatepicker',
935
+ exportAs: 'kbqDatepicker',
953
936
  changeDetection: ChangeDetectionStrategy.OnPush,
954
937
  encapsulation: ViewEncapsulation.None,
955
938
  providers: [{ provide: KbqFormFieldControl, useExisting: KbqDatepicker }]
@@ -1123,7 +1106,7 @@ class KbqDatepickerInput {
1123
1106
  this._required = coerceBooleanProperty(value);
1124
1107
  }
1125
1108
  /** The datepicker that this input is associated with. */
1126
- set mcDatepicker(value) {
1109
+ set kbqDatepicker(value) {
1127
1110
  if (!value) {
1128
1111
  return;
1129
1112
  }
@@ -1140,7 +1123,7 @@ class KbqDatepickerInput {
1140
1123
  });
1141
1124
  }
1142
1125
  /** Function that can be used to filter out dates within the datepicker. */
1143
- set mcDatepickerFilter(value) {
1126
+ set kbqDatepickerFilter(value) {
1144
1127
  this.dateFilter = value;
1145
1128
  this.validatorOnChange();
1146
1129
  }
@@ -1200,7 +1183,7 @@ class KbqDatepickerInput {
1200
1183
  set id(value) {
1201
1184
  this._id = value || this.uid;
1202
1185
  }
1203
- set mcValidationTooltip(tooltip) {
1186
+ set kbqValidationTooltip(tooltip) {
1204
1187
  if (!tooltip) {
1205
1188
  return;
1206
1189
  }
@@ -1228,7 +1211,7 @@ class KbqDatepickerInput {
1228
1211
  return this.elementRef.nativeElement.readOnly;
1229
1212
  }
1230
1213
  get dateInputFormat() {
1231
- return this.localeService?.getParams('datepicker').dateInput || this.dateFormats.dateInput;
1214
+ return this.dateFormats?.dateInput || this.adapter.config.dateInput;
1232
1215
  }
1233
1216
  get readyForParse() {
1234
1217
  return !!(this.firstDigit && this.secondDigit && this.thirdDigit);
@@ -1333,6 +1316,10 @@ class KbqDatepickerInput {
1333
1316
  this.cvaOnChange(null);
1334
1317
  return setTimeout(() => this.control.updateValueAndValidity());
1335
1318
  }
1319
+ /* Check if the number of days entered does not match the entered month */
1320
+ if (!this.getValidDateOrNull(newTimeObj)) {
1321
+ return null;
1322
+ }
1336
1323
  this.lastValueValid = !!newTimeObj;
1337
1324
  this.setViewValue(this.getTimeStringFromDate(newTimeObj, this.dateInputFormat), true);
1338
1325
  this.updateValue(newTimeObj);
@@ -1352,27 +1339,27 @@ class KbqDatepickerInput {
1352
1339
  this.parseValidator = () => {
1353
1340
  return this.focused ||
1354
1341
  this.empty ||
1355
- this.lastValueValid ? null : { mcDatepickerParse: { text: this.elementRef.nativeElement.value } };
1342
+ this.lastValueValid ? null : { kbqDatepickerParse: { text: this.elementRef.nativeElement.value } };
1356
1343
  };
1357
1344
  /** The form control validator for the min date. */
1358
1345
  this.minValidator = (control) => {
1359
1346
  const controlValue = this.adapter.deserialize(control.value);
1360
1347
  return !this.min || !controlValue || this.adapter.compareDateTime(this.min, controlValue) <= 0 ?
1361
1348
  null :
1362
- { mcDatepickerMin: { min: this.min, actual: controlValue } };
1349
+ { kbqDatepickerMin: { min: this.min, actual: controlValue } };
1363
1350
  };
1364
1351
  /** The form control validator for the max date. */
1365
1352
  this.maxValidator = (control) => {
1366
1353
  const controlValue = this.adapter.deserialize(control.value);
1367
1354
  return !this.max || !controlValue || this.adapter.compareDateTime(this.max, controlValue) >= 0 ?
1368
1355
  null :
1369
- { mcDatepickerMax: { max: this.max, actual: controlValue } };
1356
+ { kbqDatepickerMax: { max: this.max, actual: controlValue } };
1370
1357
  };
1371
1358
  /** The form control validator for the date filter. */
1372
1359
  this.filterValidator = (control) => {
1373
1360
  const controlValue = this.adapter.deserialize(control.value);
1374
1361
  return !this.dateFilter || !controlValue || this.dateFilter(controlValue) ?
1375
- null : { mcDatepickerFilter: true };
1362
+ null : { kbqDatepickerFilter: true };
1376
1363
  };
1377
1364
  this.validator = Validators.compose([
1378
1365
  this.parseValidator,
@@ -1383,9 +1370,6 @@ class KbqDatepickerInput {
1383
1370
  if (!this.adapter) {
1384
1371
  throw createMissingDateImplError('DateAdapter');
1385
1372
  }
1386
- if (!this.dateFormats) {
1387
- throw createMissingDateImplError('KBQ_DATE_FORMATS');
1388
- }
1389
1373
  this.setFormat(this.dateInputFormat);
1390
1374
  this.localeSubscription = adapter.localeChanges
1391
1375
  .subscribe(this.updateLocaleParams);
@@ -1632,6 +1616,14 @@ class KbqDatepickerInput {
1632
1616
  thirdViewDigit.length < this.thirdDigit.length) {
1633
1617
  return null;
1634
1618
  }
1619
+ const digitViewValue = {};
1620
+ const dateDigits = [this.firstDigit, this.secondDigit, this.thirdDigit];
1621
+ for (const [index, dateDigit] of dateDigits.entries()) {
1622
+ digitViewValue[dateDigit.fullName] = parseInt(viewDigits[index]);
1623
+ }
1624
+ if (this.value && digitViewValue.month && digitViewValue.month <= this.firstDigit.maxMonth) {
1625
+ dateDigits.forEach((digit) => digit.maxDays = this.getLastDayFor(digitViewValue.year, digitViewValue.month - 1));
1626
+ }
1635
1627
  date[this.firstDigit.fullName] = this.firstDigit.parse(firsViewDigit);
1636
1628
  date[this.secondDigit.fullName] = this.secondDigit.parse(secondViewDigit);
1637
1629
  date[this.thirdDigit.fullName] = this.thirdDigit.parse(thirdViewDigit);
@@ -1639,7 +1631,7 @@ class KbqDatepickerInput {
1639
1631
  else {
1640
1632
  return null;
1641
1633
  }
1642
- return this.createDateTime(date);
1634
+ return this.getValidDateOrNull(this.createDateTime(date));
1643
1635
  }
1644
1636
  getDefaultValue() {
1645
1637
  const defaultValue = this.value || this.adapter.today();
@@ -1867,17 +1859,17 @@ class KbqDatepickerInput {
1867
1859
  }
1868
1860
  }
1869
1861
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqDatepickerInput, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1$1.DateAdapter, optional: true }, { token: KBQ_DATE_FORMATS, optional: true }, { token: KBQ_LOCALE_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
1870
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqDatepickerInput, selector: "input[mcDatepicker]", inputs: { placeholder: "placeholder", required: "required", mcDatepicker: "mcDatepicker", mcDatepickerFilter: "mcDatepickerFilter", value: "value", min: "min", max: "max", disabled: "disabled", id: "id", mcValidationTooltip: "mcValidationTooltip" }, outputs: { incorrectInput: "incorrectInput", dateChange: "dateChange", dateInput: "dateInput" }, host: { listeners: { "paste": "onPaste($event)", "change": "onChange()", "focus": "focusChanged(true)", "blur": "onBlur()", "keydown": "onKeyDown($event)" }, properties: { "attr.placeholder": "placeholder", "attr.required": "required", "attr.disabled": "disabled || null", "attr.min": "min ? toISO8601(min) : null", "attr.max": "max ? toISO8601(max) : null", "attr.autocomplete": "\"off\"" }, classAttribute: "kbq-input kbq-datepicker" }, providers: [
1862
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqDatepickerInput, selector: "input[kbqDatepicker]", inputs: { placeholder: "placeholder", required: "required", kbqDatepicker: "kbqDatepicker", kbqDatepickerFilter: "kbqDatepickerFilter", value: "value", min: "min", max: "max", disabled: "disabled", id: "id", kbqValidationTooltip: "kbqValidationTooltip" }, outputs: { incorrectInput: "incorrectInput", dateChange: "dateChange", dateInput: "dateInput" }, host: { listeners: { "paste": "onPaste($event)", "change": "onChange()", "focus": "focusChanged(true)", "blur": "onBlur()", "keydown": "onKeyDown($event)" }, properties: { "attr.placeholder": "placeholder", "attr.required": "required", "attr.disabled": "disabled || null", "attr.min": "min ? toISO8601(min) : null", "attr.max": "max ? toISO8601(max) : null", "attr.autocomplete": "\"off\"" }, classAttribute: "kbq-input kbq-datepicker" }, providers: [
1871
1863
  KBQ_DATEPICKER_VALUE_ACCESSOR,
1872
1864
  KBQ_DATEPICKER_VALIDATORS,
1873
1865
  { provide: KbqFormFieldControl, useExisting: KbqDatepickerInput }
1874
- ], exportAs: ["mcDatepickerInput"], ngImport: i0 }); }
1866
+ ], exportAs: ["kbqDatepickerInput"], ngImport: i0 }); }
1875
1867
  }
1876
1868
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqDatepickerInput, decorators: [{
1877
1869
  type: Directive,
1878
1870
  args: [{
1879
- selector: 'input[mcDatepicker]',
1880
- exportAs: 'mcDatepickerInput',
1871
+ selector: 'input[kbqDatepicker]',
1872
+ exportAs: 'kbqDatepickerInput',
1881
1873
  providers: [
1882
1874
  KBQ_DATEPICKER_VALUE_ACCESSOR,
1883
1875
  KBQ_DATEPICKER_VALIDATORS,
@@ -1914,9 +1906,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
1914
1906
  type: Input
1915
1907
  }], required: [{
1916
1908
  type: Input
1917
- }], mcDatepicker: [{
1909
+ }], kbqDatepicker: [{
1918
1910
  type: Input
1919
- }], mcDatepickerFilter: [{
1911
+ }], kbqDatepickerFilter: [{
1920
1912
  type: Input
1921
1913
  }], value: [{
1922
1914
  type: Input
@@ -1928,7 +1920,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
1928
1920
  type: Input
1929
1921
  }], id: [{
1930
1922
  type: Input
1931
- }], mcValidationTooltip: [{
1923
+ }], kbqValidationTooltip: [{
1932
1924
  type: Input
1933
1925
  }], incorrectInput: [{
1934
1926
  type: Output
@@ -1938,15 +1930,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
1938
1930
  type: Output
1939
1931
  }] } });
1940
1932
 
1941
- /** Can be used to override the icon of a `mcDatepickerToggle`. */
1933
+ /** Can be used to override the icon of a `kbqDatepickerToggle`. */
1942
1934
  class KbqDatepickerToggleIcon {
1943
1935
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqDatepickerToggleIcon, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1944
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqDatepickerToggleIcon, selector: "[mcDatepickerToggleIcon]", ngImport: i0 }); }
1936
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqDatepickerToggleIcon, selector: "[kbqDatepickerToggleIcon]", ngImport: i0 }); }
1945
1937
  }
1946
1938
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqDatepickerToggleIcon, decorators: [{
1947
1939
  type: Directive,
1948
1940
  args: [{
1949
- selector: '[mcDatepickerToggleIcon]'
1941
+ selector: '[kbqDatepickerToggleIcon]'
1950
1942
  }]
1951
1943
  }] });
1952
1944
  class KbqDatepickerToggle {
@@ -1990,14 +1982,14 @@ class KbqDatepickerToggle {
1990
1982
  this.stateChanges = merge(this.intl.changes, datepickerDisabled, inputDisabled, datepickerToggled).subscribe(() => this.changeDetectorRef.markForCheck());
1991
1983
  }
1992
1984
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqDatepickerToggle, deps: [{ token: KbqDatepickerIntl }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
1993
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqDatepickerToggle, selector: "kbq-datepicker-toggle", inputs: { disabled: "disabled", datepicker: ["for", "datepicker"], tabIndex: "tabIndex" }, host: { properties: { "class.kbq-active": "datepicker && datepicker.opened" }, classAttribute: "kbq-datepicker-toggle" }, queries: [{ propertyName: "customIcon", first: true, predicate: KbqDatepickerToggleIcon, descendants: true }], viewQueries: [{ propertyName: "button", first: true, predicate: ["button"], descendants: true }], exportAs: ["mcDatepickerToggle"], usesOnChanges: true, ngImport: i0, template: "<!--todo need simplify this-->\n<button\n #button\n kbq-button\n type=\"button\"\n class=\"kbq-datepicker-toggle__button\"\n aria-haspopup=\"true\"\n [attr.aria-label]=\"intl.openCalendarLabel\"\n [tabIndex]=\"tabIndex\"\n [disabled]=\"disabled\"\n (click)=\"open($event)\">\n\n <i *ngIf=\"!customIcon\" kbq-icon=\"mc-calendar_16\" class=\"kbq-datepicker-toggle__default-icon\"></i>\n\n <ng-content select=\"[mcDatepickerToggleIcon]\"></ng-content>\n</button>\n", styles: [".kbq-datepicker-toggle:focus{outline:0}.kbq-datepicker-toggle__button.kbq-button-icon{width:var(--kbq-datepicker-toggle-size-width, 30px);height:var(--kbq-datepicker-toggle-size-height, 30px);margin-left:2px}.kbq-form-field-appearance-legacy .kbq-form-field-prefix .kbq-datepicker-toggle__default-icon,.kbq-form-field-appearance-legacy .kbq-form-field-suffix .kbq-datepicker-toggle__default-icon{width:1em}.kbq-form-field:not(.kbq-form-field-appearance-legacy) .kbq-form-field-prefix .kbq-datepicker-toggle__default-icon,.kbq-form-field:not(.kbq-form-field-appearance-legacy) .kbq-form-field-suffix .kbq-datepicker-toggle__default-icon{display:block;width:1.5em;height:1.5em}.kbq-form-field:not(.kbq-form-field-appearance-legacy) .kbq-form-field-prefix .kbq-button-icon .kbq-datepicker-toggle__default-icon,.kbq-form-field:not(.kbq-form-field-appearance-legacy) .kbq-form-field-suffix .kbq-button-icon .kbq-datepicker-toggle__default-icon{margin:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.KbqButton, selector: "[kbq-button]", inputs: ["color", "tabIndex", "kbqStyle", "disabled"] }, { kind: "directive", type: i3.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "component", type: i6.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1985
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqDatepickerToggle, selector: "kbq-datepicker-toggle", inputs: { disabled: "disabled", datepicker: ["for", "datepicker"], tabIndex: "tabIndex" }, host: { properties: { "class.kbq-active": "datepicker && datepicker.opened" }, classAttribute: "kbq-datepicker-toggle" }, queries: [{ propertyName: "customIcon", first: true, predicate: KbqDatepickerToggleIcon, descendants: true }], viewQueries: [{ propertyName: "button", first: true, predicate: ["button"], descendants: true }], exportAs: ["kbqDatepickerToggle"], usesOnChanges: true, ngImport: i0, template: "<!--todo need simplify this-->\n<button\n #button\n kbq-button\n type=\"button\"\n class=\"kbq-datepicker-toggle__button\"\n aria-haspopup=\"true\"\n [attr.aria-label]=\"intl.openCalendarLabel\"\n [tabIndex]=\"tabIndex\"\n [disabled]=\"disabled\"\n (click)=\"open($event)\">\n\n <i *ngIf=\"!customIcon\" kbq-icon=\"mc-calendar_16\" class=\"kbq-datepicker-toggle__default-icon\"></i>\n\n <ng-content select=\"[kbqDatepickerToggleIcon]\"></ng-content>\n</button>\n", styles: [".kbq-datepicker-toggle:focus{outline:0}.kbq-datepicker-toggle__button.kbq-button-icon{width:var(--kbq-datepicker-toggle-size-width, 30px);height:var(--kbq-datepicker-toggle-size-height, 30px);margin-left:2px}.kbq-form-field-appearance-legacy .kbq-form-field-prefix .kbq-datepicker-toggle__default-icon,.kbq-form-field-appearance-legacy .kbq-form-field-suffix .kbq-datepicker-toggle__default-icon{width:1em}.kbq-form-field:not(.kbq-form-field-appearance-legacy) .kbq-form-field-prefix .kbq-datepicker-toggle__default-icon,.kbq-form-field:not(.kbq-form-field-appearance-legacy) .kbq-form-field-suffix .kbq-datepicker-toggle__default-icon{display:block;width:1.5em;height:1.5em}.kbq-form-field:not(.kbq-form-field-appearance-legacy) .kbq-form-field-prefix .kbq-button-icon .kbq-datepicker-toggle__default-icon,.kbq-form-field:not(.kbq-form-field-appearance-legacy) .kbq-form-field-suffix .kbq-button-icon .kbq-datepicker-toggle__default-icon{margin:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.KbqButton, selector: "[kbq-button]", inputs: ["color", "tabIndex", "kbqStyle", "disabled"] }, { kind: "directive", type: i3.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "component", type: i6.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1994
1986
  }
1995
1987
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqDatepickerToggle, decorators: [{
1996
1988
  type: Component,
1997
1989
  args: [{ selector: 'kbq-datepicker-toggle', host: {
1998
1990
  class: 'kbq-datepicker-toggle',
1999
1991
  '[class.kbq-active]': 'datepicker && datepicker.opened'
2000
- }, exportAs: 'mcDatepickerToggle', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--todo need simplify this-->\n<button\n #button\n kbq-button\n type=\"button\"\n class=\"kbq-datepicker-toggle__button\"\n aria-haspopup=\"true\"\n [attr.aria-label]=\"intl.openCalendarLabel\"\n [tabIndex]=\"tabIndex\"\n [disabled]=\"disabled\"\n (click)=\"open($event)\">\n\n <i *ngIf=\"!customIcon\" kbq-icon=\"mc-calendar_16\" class=\"kbq-datepicker-toggle__default-icon\"></i>\n\n <ng-content select=\"[mcDatepickerToggleIcon]\"></ng-content>\n</button>\n", styles: [".kbq-datepicker-toggle:focus{outline:0}.kbq-datepicker-toggle__button.kbq-button-icon{width:var(--kbq-datepicker-toggle-size-width, 30px);height:var(--kbq-datepicker-toggle-size-height, 30px);margin-left:2px}.kbq-form-field-appearance-legacy .kbq-form-field-prefix .kbq-datepicker-toggle__default-icon,.kbq-form-field-appearance-legacy .kbq-form-field-suffix .kbq-datepicker-toggle__default-icon{width:1em}.kbq-form-field:not(.kbq-form-field-appearance-legacy) .kbq-form-field-prefix .kbq-datepicker-toggle__default-icon,.kbq-form-field:not(.kbq-form-field-appearance-legacy) .kbq-form-field-suffix .kbq-datepicker-toggle__default-icon{display:block;width:1.5em;height:1.5em}.kbq-form-field:not(.kbq-form-field-appearance-legacy) .kbq-form-field-prefix .kbq-button-icon .kbq-datepicker-toggle__default-icon,.kbq-form-field:not(.kbq-form-field-appearance-legacy) .kbq-form-field-suffix .kbq-button-icon .kbq-datepicker-toggle__default-icon{margin:auto}\n"] }]
1992
+ }, exportAs: 'kbqDatepickerToggle', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--todo need simplify this-->\n<button\n #button\n kbq-button\n type=\"button\"\n class=\"kbq-datepicker-toggle__button\"\n aria-haspopup=\"true\"\n [attr.aria-label]=\"intl.openCalendarLabel\"\n [tabIndex]=\"tabIndex\"\n [disabled]=\"disabled\"\n (click)=\"open($event)\">\n\n <i *ngIf=\"!customIcon\" kbq-icon=\"mc-calendar_16\" class=\"kbq-datepicker-toggle__default-icon\"></i>\n\n <ng-content select=\"[kbqDatepickerToggleIcon]\"></ng-content>\n</button>\n", styles: [".kbq-datepicker-toggle:focus{outline:0}.kbq-datepicker-toggle__button.kbq-button-icon{width:var(--kbq-datepicker-toggle-size-width, 30px);height:var(--kbq-datepicker-toggle-size-height, 30px);margin-left:2px}.kbq-form-field-appearance-legacy .kbq-form-field-prefix .kbq-datepicker-toggle__default-icon,.kbq-form-field-appearance-legacy .kbq-form-field-suffix .kbq-datepicker-toggle__default-icon{width:1em}.kbq-form-field:not(.kbq-form-field-appearance-legacy) .kbq-form-field-prefix .kbq-datepicker-toggle__default-icon,.kbq-form-field:not(.kbq-form-field-appearance-legacy) .kbq-form-field-suffix .kbq-datepicker-toggle__default-icon{display:block;width:1.5em;height:1.5em}.kbq-form-field:not(.kbq-form-field-appearance-legacy) .kbq-form-field-prefix .kbq-button-icon .kbq-datepicker-toggle__default-icon,.kbq-form-field:not(.kbq-form-field-appearance-legacy) .kbq-form-field-suffix .kbq-button-icon .kbq-datepicker-toggle__default-icon{margin:auto}\n"] }]
2001
1993
  }], ctorParameters: function () { return [{ type: KbqDatepickerIntl }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { disabled: [{
2002
1994
  type: Input
2003
1995
  }], datepicker: [{
@@ -2097,5 +2089,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
2097
2089
  * Generated bundle index. Do not edit.
2098
2090
  */
2099
2091
 
2100
- export { KBQ_DATEPICKER_SCROLL_STRATEGY, KBQ_DATEPICKER_SCROLL_STRATEGY_FACTORY, KBQ_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER, KBQ_DATEPICKER_VALIDATORS, KBQ_DATEPICKER_VALUE_ACCESSOR, KbqCalendar, KbqCalendarBody, KbqCalendarCell, KbqCalendarHeader, KbqDatepicker, KbqDatepickerContent, KbqDatepickerInput, KbqDatepickerInputEvent, KbqDatepickerIntl, KbqDatepickerModule, KbqDatepickerToggle, KbqDatepickerToggleIcon, KbqMonthView, MAX_YEAR, mcDatepickerAnimations };
2092
+ export { KBQ_DATEPICKER_SCROLL_STRATEGY, KBQ_DATEPICKER_SCROLL_STRATEGY_FACTORY, KBQ_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER, KBQ_DATEPICKER_VALIDATORS, KBQ_DATEPICKER_VALUE_ACCESSOR, KbqCalendar, KbqCalendarBody, KbqCalendarCell, KbqCalendarHeader, KbqDatepicker, KbqDatepickerContent, KbqDatepickerInput, KbqDatepickerInputEvent, KbqDatepickerIntl, KbqDatepickerModule, KbqDatepickerToggle, KbqDatepickerToggleIcon, KbqMonthView, MAX_YEAR, kbqDatepickerAnimations };
2101
2093
  //# sourceMappingURL=koobiq-components-datepicker.mjs.map