@clr/angular 17.6.0 → 17.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (544) hide show
  1. package/button/button-group/button.d.ts +6 -3
  2. package/clarity.api.md +351 -175
  3. package/data/datagrid/datagrid-virtual-scroll.directive.d.ts +1 -1
  4. package/data/datagrid/render/main-renderer.d.ts +4 -3
  5. package/data/datagrid/wrapped-cell.d.ts +1 -3
  6. package/data/datagrid/wrapped-column.d.ts +1 -3
  7. package/data/datagrid/wrapped-row.d.ts +1 -3
  8. package/esm2020/accordion/accordion-content.mjs +2 -2
  9. package/esm2020/accordion/accordion-description.mjs +2 -2
  10. package/esm2020/accordion/accordion-panel.mjs +2 -2
  11. package/esm2020/accordion/accordion-title.mjs +2 -2
  12. package/esm2020/accordion/accordion.mjs +2 -2
  13. package/esm2020/accordion/accordion.module.mjs +2 -2
  14. package/esm2020/accordion/chocolate/accordion-oompa-loompa.mjs +2 -2
  15. package/esm2020/accordion/chocolate/accordion-willy-wonka.mjs +2 -2
  16. package/esm2020/accordion/enums/accordion-status.enum.mjs +2 -2
  17. package/esm2020/accordion/enums/accordion-strategy.enum.mjs +2 -2
  18. package/esm2020/accordion/index.mjs +2 -2
  19. package/esm2020/accordion/models/accordion.model.mjs +2 -2
  20. package/esm2020/accordion/providers/accordion.service.mjs +2 -2
  21. package/esm2020/accordion/stepper/chocolate/stepper-oompa-loompa.mjs +2 -2
  22. package/esm2020/accordion/stepper/chocolate/stepper-willy-wonka.mjs +2 -2
  23. package/esm2020/accordion/stepper/index.mjs +2 -2
  24. package/esm2020/accordion/stepper/models/stepper.model.mjs +2 -2
  25. package/esm2020/accordion/stepper/providers/stepper.service.mjs +2 -2
  26. package/esm2020/accordion/stepper/step-button.mjs +2 -2
  27. package/esm2020/accordion/stepper/stepper-panel.mjs +2 -2
  28. package/esm2020/accordion/stepper/stepper.mjs +2 -2
  29. package/esm2020/accordion/stepper/stepper.module.mjs +2 -2
  30. package/esm2020/accordion/utils/animation.mjs +2 -2
  31. package/esm2020/button/button-group/button-group.mjs +4 -4
  32. package/esm2020/button/button-group/button-group.module.mjs +2 -2
  33. package/esm2020/button/button-group/button.mjs +17 -10
  34. package/esm2020/button/button-group/index.mjs +2 -2
  35. package/esm2020/button/button-loading/index.mjs +2 -2
  36. package/esm2020/button/button-loading/loading-button.mjs +2 -2
  37. package/esm2020/button/button-loading/loading-button.module.mjs +2 -2
  38. package/esm2020/button/button.module.mjs +2 -2
  39. package/esm2020/button/index.mjs +2 -2
  40. package/esm2020/button/providers/button-group-focus-handler.service.mjs +2 -2
  41. package/esm2020/button/providers/button-group-focus.enum.mjs +2 -2
  42. package/esm2020/button/providers/button-in-group.service.mjs +2 -2
  43. package/esm2020/clr-angular.module.mjs +2 -2
  44. package/esm2020/data/data.module.mjs +2 -2
  45. package/esm2020/data/datagrid/built-in/comparators/datagrid-property-comparator.mjs +2 -2
  46. package/esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter-impl.mjs +2 -2
  47. package/esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter.mjs +2 -2
  48. package/esm2020/data/datagrid/built-in/filters/datagrid-property-numeric-filter.mjs +2 -2
  49. package/esm2020/data/datagrid/built-in/filters/datagrid-property-string-filter.mjs +2 -2
  50. package/esm2020/data/datagrid/built-in/filters/datagrid-string-filter-impl.mjs +2 -2
  51. package/esm2020/data/datagrid/built-in/filters/datagrid-string-filter.mjs +2 -2
  52. package/esm2020/data/datagrid/built-in/nested-property.mjs +2 -2
  53. package/esm2020/data/datagrid/chocolate/actionable-oompa-loompa.mjs +2 -2
  54. package/esm2020/data/datagrid/chocolate/datagrid-willy-wonka.mjs +2 -2
  55. package/esm2020/data/datagrid/chocolate/expandable-oompa-loompa.mjs +2 -2
  56. package/esm2020/data/datagrid/datagrid-action-bar.mjs +2 -2
  57. package/esm2020/data/datagrid/datagrid-action-overflow.mjs +2 -2
  58. package/esm2020/data/datagrid/datagrid-cell.mjs +2 -2
  59. package/esm2020/data/datagrid/datagrid-column-separator.mjs +2 -2
  60. package/esm2020/data/datagrid/datagrid-column-toggle-button.mjs +2 -2
  61. package/esm2020/data/datagrid/datagrid-column-toggle-trackby.mjs +2 -2
  62. package/esm2020/data/datagrid/datagrid-column-toggle.mjs +5 -4
  63. package/esm2020/data/datagrid/datagrid-column.mjs +2 -2
  64. package/esm2020/data/datagrid/datagrid-detail-body.mjs +2 -2
  65. package/esm2020/data/datagrid/datagrid-detail-header.mjs +2 -2
  66. package/esm2020/data/datagrid/datagrid-detail-registerer.mjs +2 -2
  67. package/esm2020/data/datagrid/datagrid-detail.mjs +2 -2
  68. package/esm2020/data/datagrid/datagrid-filter.mjs +2 -2
  69. package/esm2020/data/datagrid/datagrid-footer.mjs +2 -2
  70. package/esm2020/data/datagrid/datagrid-hideable-column.mjs +2 -2
  71. package/esm2020/data/datagrid/datagrid-if-detail.mjs +2 -2
  72. package/esm2020/data/datagrid/datagrid-if-expanded.service.mjs +2 -2
  73. package/esm2020/data/datagrid/datagrid-items.mjs +2 -2
  74. package/esm2020/data/datagrid/datagrid-page-size.mjs +2 -2
  75. package/esm2020/data/datagrid/datagrid-pagination.mjs +2 -2
  76. package/esm2020/data/datagrid/datagrid-placeholder.mjs +2 -2
  77. package/esm2020/data/datagrid/datagrid-row-detail.mjs +2 -2
  78. package/esm2020/data/datagrid/datagrid-row.mjs +2 -2
  79. package/esm2020/data/datagrid/datagrid-selection-cell.directive.mjs +2 -2
  80. package/esm2020/data/datagrid/datagrid-virtual-scroll.directive.mjs +4 -4
  81. package/esm2020/data/datagrid/datagrid.mjs +5 -6
  82. package/esm2020/data/datagrid/datagrid.module.mjs +2 -2
  83. package/esm2020/data/datagrid/enums/column-changes.enum.mjs +2 -2
  84. package/esm2020/data/datagrid/enums/display-mode.enum.mjs +2 -2
  85. package/esm2020/data/datagrid/enums/render-step.enum.mjs +2 -2
  86. package/esm2020/data/datagrid/enums/selection-type.mjs +2 -2
  87. package/esm2020/data/datagrid/enums/sort-order.enum.mjs +2 -2
  88. package/esm2020/data/datagrid/index.mjs +2 -2
  89. package/esm2020/data/datagrid/interfaces/column-state.interface.mjs +2 -2
  90. package/esm2020/data/datagrid/interfaces/comparator.interface.mjs +2 -2
  91. package/esm2020/data/datagrid/interfaces/filter.interface.mjs +2 -2
  92. package/esm2020/data/datagrid/interfaces/numeric-filter.interface.mjs +2 -2
  93. package/esm2020/data/datagrid/interfaces/state.interface.mjs +2 -2
  94. package/esm2020/data/datagrid/interfaces/string-filter.interface.mjs +2 -2
  95. package/esm2020/data/datagrid/providers/column-resizer.service.mjs +2 -2
  96. package/esm2020/data/datagrid/providers/column-state.provider.mjs +2 -2
  97. package/esm2020/data/datagrid/providers/columns.service.mjs +2 -2
  98. package/esm2020/data/datagrid/providers/custom-filter.mjs +2 -2
  99. package/esm2020/data/datagrid/providers/detail.service.mjs +2 -2
  100. package/esm2020/data/datagrid/providers/display-mode.service.mjs +2 -2
  101. package/esm2020/data/datagrid/providers/filters.mjs +2 -2
  102. package/esm2020/data/datagrid/providers/global-expandable-rows.mjs +2 -2
  103. package/esm2020/data/datagrid/providers/items.mjs +2 -2
  104. package/esm2020/data/datagrid/providers/page.mjs +2 -2
  105. package/esm2020/data/datagrid/providers/row-action-service.mjs +2 -2
  106. package/esm2020/data/datagrid/providers/selection.mjs +2 -2
  107. package/esm2020/data/datagrid/providers/sort.mjs +2 -2
  108. package/esm2020/data/datagrid/providers/state-debouncer.provider.mjs +2 -2
  109. package/esm2020/data/datagrid/providers/state.provider.mjs +2 -2
  110. package/esm2020/data/datagrid/providers/table-size.service.mjs +2 -2
  111. package/esm2020/data/datagrid/render/cell-renderer.mjs +2 -2
  112. package/esm2020/data/datagrid/render/constants.mjs +2 -2
  113. package/esm2020/data/datagrid/render/header-renderer.mjs +2 -2
  114. package/esm2020/data/datagrid/render/main-renderer.mjs +22 -18
  115. package/esm2020/data/datagrid/render/noop-dom-adapter.mjs +2 -2
  116. package/esm2020/data/datagrid/render/render-organizer.mjs +2 -2
  117. package/esm2020/data/datagrid/render/row-renderer.mjs +2 -2
  118. package/esm2020/data/datagrid/utils/datagrid-filter-registrar.mjs +2 -2
  119. package/esm2020/data/datagrid/utils/key-navigation-grid.controller.mjs +32 -23
  120. package/esm2020/data/datagrid/wrapped-cell.mjs +2 -5
  121. package/esm2020/data/datagrid/wrapped-column.mjs +2 -5
  122. package/esm2020/data/datagrid/wrapped-row.mjs +2 -5
  123. package/esm2020/data/index.mjs +2 -2
  124. package/esm2020/data/stack-view/index.mjs +2 -2
  125. package/esm2020/data/stack-view/stack-block.mjs +2 -2
  126. package/esm2020/data/stack-view/stack-content-input.mjs +2 -2
  127. package/esm2020/data/stack-view/stack-header.mjs +2 -2
  128. package/esm2020/data/stack-view/stack-view-custom-tags.mjs +2 -2
  129. package/esm2020/data/stack-view/stack-view.mjs +2 -2
  130. package/esm2020/data/stack-view/stack-view.module.mjs +2 -2
  131. package/esm2020/data/tree-view/index.mjs +2 -2
  132. package/esm2020/data/tree-view/models/async-array.mjs +2 -2
  133. package/esm2020/data/tree-view/models/declarative-tree-node.model.mjs +2 -2
  134. package/esm2020/data/tree-view/models/recursive-tree-node.model.mjs +2 -2
  135. package/esm2020/data/tree-view/models/selected-state.enum.mjs +2 -2
  136. package/esm2020/data/tree-view/models/tree-node.model.mjs +2 -2
  137. package/esm2020/data/tree-view/recursive-children.mjs +2 -2
  138. package/esm2020/data/tree-view/recursive-for-of.mjs +2 -2
  139. package/esm2020/data/tree-view/tree-features.service.mjs +2 -2
  140. package/esm2020/data/tree-view/tree-focus-manager.service.mjs +2 -2
  141. package/esm2020/data/tree-view/tree-node-link.mjs +2 -2
  142. package/esm2020/data/tree-view/tree-node.mjs +4 -4
  143. package/esm2020/data/tree-view/tree-view.module.mjs +2 -2
  144. package/esm2020/data/tree-view/tree.mjs +2 -2
  145. package/esm2020/emphasis/alert/alert-item.mjs +2 -2
  146. package/esm2020/emphasis/alert/alert-text.mjs +2 -2
  147. package/esm2020/emphasis/alert/alert.mjs +4 -4
  148. package/esm2020/emphasis/alert/alert.module.mjs +2 -2
  149. package/esm2020/emphasis/alert/alerts-pager.mjs +4 -4
  150. package/esm2020/emphasis/alert/alerts.mjs +4 -4
  151. package/esm2020/emphasis/alert/index.mjs +2 -2
  152. package/esm2020/emphasis/alert/providers/icon-and-types.service.mjs +2 -2
  153. package/esm2020/emphasis/alert/providers/multi-alert.service.mjs +2 -2
  154. package/esm2020/emphasis/alert/utils/alert-info-object.mjs +2 -2
  155. package/esm2020/emphasis/alert/utils/alert-types.mjs +2 -2
  156. package/esm2020/emphasis/emphasis.module.mjs +2 -2
  157. package/esm2020/emphasis/index.mjs +2 -2
  158. package/esm2020/forms/checkbox/checkbox-container.mjs +2 -2
  159. package/esm2020/forms/checkbox/checkbox-wrapper.mjs +2 -6
  160. package/esm2020/forms/checkbox/checkbox.mjs +2 -2
  161. package/esm2020/forms/checkbox/checkbox.module.mjs +2 -2
  162. package/esm2020/forms/checkbox/index.mjs +2 -2
  163. package/esm2020/forms/combobox/combobox-container.mjs +2 -2
  164. package/esm2020/forms/combobox/combobox.mjs +4 -4
  165. package/esm2020/forms/combobox/combobox.module.mjs +2 -2
  166. package/esm2020/forms/combobox/index.mjs +2 -2
  167. package/esm2020/forms/combobox/model/combobox.model.mjs +2 -2
  168. package/esm2020/forms/combobox/model/multi-select-combobox.model.mjs +2 -2
  169. package/esm2020/forms/combobox/model/pseudo-focus.model.mjs +2 -2
  170. package/esm2020/forms/combobox/model/single-select-combobox.model.mjs +2 -2
  171. package/esm2020/forms/combobox/option-items.directive.mjs +2 -2
  172. package/esm2020/forms/combobox/option-selected.directive.mjs +2 -2
  173. package/esm2020/forms/combobox/option.mjs +2 -2
  174. package/esm2020/forms/combobox/options.mjs +2 -2
  175. package/esm2020/forms/combobox/providers/combobox-container.service.mjs +2 -2
  176. package/esm2020/forms/combobox/providers/combobox-focus-handler.service.mjs +2 -2
  177. package/esm2020/forms/combobox/providers/option-selection.service.mjs +2 -2
  178. package/esm2020/forms/common/abstract-container.mjs +5 -4
  179. package/esm2020/forms/common/abstract-control.mjs +2 -2
  180. package/esm2020/forms/common/common.module.mjs +2 -2
  181. package/esm2020/forms/common/control-container.mjs +2 -2
  182. package/esm2020/forms/common/control.mjs +2 -2
  183. package/esm2020/forms/common/error.mjs +2 -2
  184. package/esm2020/forms/common/form.mjs +2 -2
  185. package/esm2020/forms/common/helper.mjs +2 -2
  186. package/esm2020/forms/common/if-control-state/abstract-if-state.mjs +4 -2
  187. package/esm2020/forms/common/if-control-state/if-control-state.service.mjs +24 -6
  188. package/esm2020/forms/common/if-control-state/if-error.mjs +10 -6
  189. package/esm2020/forms/common/if-control-state/if-success.mjs +2 -2
  190. package/esm2020/forms/common/index.mjs +2 -2
  191. package/esm2020/forms/common/label.mjs +2 -2
  192. package/esm2020/forms/common/layout.mjs +2 -2
  193. package/esm2020/forms/common/providers/container-id.service.mjs +2 -2
  194. package/esm2020/forms/common/providers/control-class.service.mjs +2 -2
  195. package/esm2020/forms/common/providers/control-id.service.mjs +2 -2
  196. package/esm2020/forms/common/providers/focus.service.mjs +2 -2
  197. package/esm2020/forms/common/providers/layout.service.mjs +2 -2
  198. package/esm2020/forms/common/providers/mark-control.service.mjs +2 -2
  199. package/esm2020/forms/common/providers/ng-control.service.mjs +17 -2
  200. package/esm2020/forms/common/success.mjs +2 -2
  201. package/esm2020/forms/common/wrapped-control.mjs +43 -19
  202. package/esm2020/forms/datalist/datalist-container.mjs +2 -2
  203. package/esm2020/forms/datalist/datalist-input.mjs +2 -2
  204. package/esm2020/forms/datalist/datalist.mjs +2 -2
  205. package/esm2020/forms/datalist/datalist.module.mjs +2 -2
  206. package/esm2020/forms/datalist/index.mjs +2 -2
  207. package/esm2020/forms/datalist/providers/datalist-id.service.mjs +2 -2
  208. package/esm2020/forms/datepicker/calendar.mjs +50 -8
  209. package/esm2020/forms/datepicker/date-container.mjs +97 -11
  210. package/esm2020/forms/datepicker/date-end-input.mjs +60 -0
  211. package/esm2020/forms/datepicker/date-input.mjs +74 -80
  212. package/esm2020/forms/datepicker/date-input.validator.mjs +65 -6
  213. package/esm2020/forms/datepicker/date-single-input.mjs +63 -0
  214. package/esm2020/forms/datepicker/date-start-input.mjs +61 -0
  215. package/esm2020/forms/datepicker/datepicker-action-buttons.mjs +12 -3
  216. package/esm2020/forms/datepicker/datepicker-view-manager.mjs +28 -12
  217. package/esm2020/forms/datepicker/datepicker.module.mjs +24 -6
  218. package/esm2020/forms/datepicker/day.mjs +49 -4
  219. package/esm2020/forms/datepicker/daypicker.mjs +2 -2
  220. package/esm2020/forms/datepicker/index.mjs +5 -2
  221. package/esm2020/forms/datepicker/interfaces/date-range.interface.mjs +2 -2
  222. package/esm2020/forms/datepicker/interfaces/day-of-week.interface.mjs +2 -2
  223. package/esm2020/forms/datepicker/model/calendar-view.model.mjs +17 -3
  224. package/esm2020/forms/datepicker/model/calendar.model.mjs +14 -2
  225. package/esm2020/forms/datepicker/model/day-view.model.mjs +5 -3
  226. package/esm2020/forms/datepicker/model/day.model.mjs +18 -2
  227. package/esm2020/forms/datepicker/model/year-range.model.mjs +2 -2
  228. package/esm2020/forms/datepicker/monthpicker.mjs +237 -40
  229. package/esm2020/forms/datepicker/providers/date-form-control.service.mjs +2 -2
  230. package/esm2020/forms/datepicker/providers/date-io.service.mjs +21 -2
  231. package/esm2020/forms/datepicker/providers/date-navigation.service.mjs +70 -8
  232. package/esm2020/forms/datepicker/providers/datepicker-enabled.service.mjs +2 -2
  233. package/esm2020/forms/datepicker/providers/datepicker-focus.service.mjs +2 -2
  234. package/esm2020/forms/datepicker/providers/locale-helper.service.mjs +2 -2
  235. package/esm2020/forms/datepicker/providers/view-manager.service.mjs +2 -2
  236. package/esm2020/forms/datepicker/utils/constants.mjs +2 -2
  237. package/esm2020/forms/datepicker/utils/date-utils.mjs +2 -2
  238. package/esm2020/forms/datepicker/yearpicker.mjs +132 -58
  239. package/esm2020/forms/file-input/file-input-container.mjs +2 -2
  240. package/esm2020/forms/file-input/file-input-validator-errors.mjs +2 -2
  241. package/esm2020/forms/file-input/file-input-validator.mjs +2 -2
  242. package/esm2020/forms/file-input/file-input-value-accessor.mjs +2 -2
  243. package/esm2020/forms/file-input/file-input.helpers.mjs +2 -2
  244. package/esm2020/forms/file-input/file-input.mjs +2 -2
  245. package/esm2020/forms/file-input/file-input.module.mjs +2 -2
  246. package/esm2020/forms/file-input/file-list.mjs +4 -2
  247. package/esm2020/forms/file-input/file-messages-template.mjs +2 -2
  248. package/esm2020/forms/file-input/file-messages.mjs +2 -2
  249. package/esm2020/forms/file-input/index.mjs +2 -2
  250. package/esm2020/forms/forms.module.mjs +2 -2
  251. package/esm2020/forms/index.mjs +2 -2
  252. package/esm2020/forms/input/index.mjs +2 -2
  253. package/esm2020/forms/input/input-container.mjs +2 -2
  254. package/esm2020/forms/input/input.mjs +2 -2
  255. package/esm2020/forms/input/input.module.mjs +2 -2
  256. package/esm2020/forms/number-input/index.mjs +2 -2
  257. package/esm2020/forms/number-input/number-input-container.mjs +2 -2
  258. package/esm2020/forms/number-input/number-input.mjs +2 -2
  259. package/esm2020/forms/number-input/number-input.module.mjs +2 -2
  260. package/esm2020/forms/password/index.mjs +2 -2
  261. package/esm2020/forms/password/password-container.mjs +2 -2
  262. package/esm2020/forms/password/password.mjs +2 -2
  263. package/esm2020/forms/password/password.module.mjs +2 -2
  264. package/esm2020/forms/radio/index.mjs +2 -2
  265. package/esm2020/forms/radio/radio-container.mjs +2 -2
  266. package/esm2020/forms/radio/radio-wrapper.mjs +2 -8
  267. package/esm2020/forms/radio/radio.mjs +2 -2
  268. package/esm2020/forms/radio/radio.module.mjs +2 -2
  269. package/esm2020/forms/range/index.mjs +2 -2
  270. package/esm2020/forms/range/range-container.mjs +2 -2
  271. package/esm2020/forms/range/range.mjs +2 -2
  272. package/esm2020/forms/range/range.module.mjs +2 -2
  273. package/esm2020/forms/select/index.mjs +2 -2
  274. package/esm2020/forms/select/select-container.mjs +2 -2
  275. package/esm2020/forms/select/select.mjs +2 -2
  276. package/esm2020/forms/select/select.module.mjs +2 -2
  277. package/esm2020/forms/textarea/index.mjs +2 -2
  278. package/esm2020/forms/textarea/textarea-container.mjs +2 -2
  279. package/esm2020/forms/textarea/textarea.mjs +2 -2
  280. package/esm2020/forms/textarea/textarea.module.mjs +2 -2
  281. package/esm2020/icon/icon.mjs +2 -2
  282. package/esm2020/icon/icon.module.mjs +2 -2
  283. package/esm2020/icon/index.mjs +2 -2
  284. package/esm2020/index.mjs +2 -2
  285. package/esm2020/layout/breadcrumbs/breadcrumb-item.mjs +2 -2
  286. package/esm2020/layout/breadcrumbs/breadcrumbs.constants.mjs +2 -2
  287. package/esm2020/layout/breadcrumbs/breadcrumbs.mjs +4 -4
  288. package/esm2020/layout/breadcrumbs/breadcrumbs.module.mjs +2 -2
  289. package/esm2020/layout/breadcrumbs/index.mjs +2 -2
  290. package/esm2020/layout/breadcrumbs/model/breadcrumbs.model.mjs +2 -2
  291. package/esm2020/layout/index.mjs +2 -2
  292. package/esm2020/layout/layout.module.mjs +2 -2
  293. package/esm2020/layout/main-container/index.mjs +2 -2
  294. package/esm2020/layout/main-container/main-container.mjs +2 -2
  295. package/esm2020/layout/main-container/main-container.module.mjs +2 -2
  296. package/esm2020/layout/nav/aria-current-link.mjs +2 -2
  297. package/esm2020/layout/nav/chocolate/index.mjs +2 -2
  298. package/esm2020/layout/nav/chocolate/main-container-willy-wonka.mjs +2 -2
  299. package/esm2020/layout/nav/chocolate/nav-detection-oompa-loompa.mjs +2 -2
  300. package/esm2020/layout/nav/header.mjs +2 -2
  301. package/esm2020/layout/nav/index.mjs +2 -2
  302. package/esm2020/layout/nav/nav-level.mjs +2 -2
  303. package/esm2020/layout/nav/navigation.module.mjs +2 -2
  304. package/esm2020/layout/nav/providers/responsive-navigation.service.mjs +2 -2
  305. package/esm2020/layout/nav/responsive-nav-codes.mjs +2 -2
  306. package/esm2020/layout/nav/responsive-nav-control-message.mjs +2 -2
  307. package/esm2020/layout/tabs/chocolate/active-oompa-loompa.mjs +2 -2
  308. package/esm2020/layout/tabs/chocolate/tabs-willy-wonka.mjs +2 -2
  309. package/esm2020/layout/tabs/enums/tabs-layout.enum.mjs +2 -2
  310. package/esm2020/layout/tabs/index.mjs +2 -2
  311. package/esm2020/layout/tabs/providers/tabs.service.mjs +2 -2
  312. package/esm2020/layout/tabs/tab-action.directive.mjs +2 -2
  313. package/esm2020/layout/tabs/tab-content.mjs +2 -2
  314. package/esm2020/layout/tabs/tab-link.directive.mjs +2 -2
  315. package/esm2020/layout/tabs/tab-overflow-content.mjs +2 -2
  316. package/esm2020/layout/tabs/tab.mjs +2 -2
  317. package/esm2020/layout/tabs/tabs-actions.mjs +2 -2
  318. package/esm2020/layout/tabs/tabs-id.provider.mjs +2 -2
  319. package/esm2020/layout/tabs/tabs.mjs +2 -2
  320. package/esm2020/layout/tabs/tabs.module.mjs +2 -2
  321. package/esm2020/layout/vertical-nav/index.mjs +2 -2
  322. package/esm2020/layout/vertical-nav/providers/vertical-nav-group-registration.service.mjs +2 -2
  323. package/esm2020/layout/vertical-nav/providers/vertical-nav-group.service.mjs +2 -2
  324. package/esm2020/layout/vertical-nav/providers/vertical-nav-icon.service.mjs +2 -2
  325. package/esm2020/layout/vertical-nav/providers/vertical-nav.service.mjs +2 -2
  326. package/esm2020/layout/vertical-nav/vertical-nav-group-children.mjs +2 -2
  327. package/esm2020/layout/vertical-nav/vertical-nav-group.mjs +4 -4
  328. package/esm2020/layout/vertical-nav/vertical-nav-icon.mjs +2 -2
  329. package/esm2020/layout/vertical-nav/vertical-nav-link.mjs +2 -2
  330. package/esm2020/layout/vertical-nav/vertical-nav.mjs +10 -5
  331. package/esm2020/layout/vertical-nav/vertical-nav.module.mjs +2 -2
  332. package/esm2020/modal/index.mjs +3 -2
  333. package/esm2020/modal/modal-body.mjs +2 -2
  334. package/esm2020/modal/modal-configuration.service.mjs +2 -2
  335. package/esm2020/modal/modal-host.directive.mjs +20 -0
  336. package/esm2020/modal/modal-stack.service.mjs +2 -2
  337. package/esm2020/modal/modal.mjs +12 -6
  338. package/esm2020/modal/modal.module.mjs +5 -4
  339. package/esm2020/modal/side-panel.mjs +90 -14
  340. package/esm2020/modal/side-panel.module.mjs +5 -5
  341. package/esm2020/popover/common/abstract-popover.mjs +14 -16
  342. package/esm2020/popover/common/popover-host-anchor.token.mjs +2 -2
  343. package/esm2020/popover/common/popover-options.interface.mjs +2 -2
  344. package/esm2020/popover/common/popover.mjs +2 -2
  345. package/esm2020/popover/dropdown/dropdown-item.mjs +2 -2
  346. package/esm2020/popover/dropdown/dropdown-menu.mjs +2 -2
  347. package/esm2020/popover/dropdown/dropdown-trigger.mjs +2 -2
  348. package/esm2020/popover/dropdown/dropdown.mjs +2 -2
  349. package/esm2020/popover/dropdown/dropdown.module.mjs +2 -2
  350. package/esm2020/popover/dropdown/index.mjs +2 -2
  351. package/esm2020/popover/dropdown/menu-positions.mjs +2 -2
  352. package/esm2020/popover/dropdown/providers/dropdown-focus-handler.service.mjs +2 -2
  353. package/esm2020/popover/dropdown/providers/dropdown.service.mjs +2 -2
  354. package/esm2020/popover/index.mjs +2 -2
  355. package/esm2020/popover/popover.module.mjs +2 -2
  356. package/esm2020/popover/signpost/index.mjs +2 -2
  357. package/esm2020/popover/signpost/providers/signpost-focus-manager.service.mjs +2 -2
  358. package/esm2020/popover/signpost/providers/signpost-id.service.mjs +2 -2
  359. package/esm2020/popover/signpost/signpost-content.mjs +2 -2
  360. package/esm2020/popover/signpost/signpost-positions.mjs +2 -2
  361. package/esm2020/popover/signpost/signpost-title.mjs +2 -2
  362. package/esm2020/popover/signpost/signpost-trigger.mjs +2 -2
  363. package/esm2020/popover/signpost/signpost.mjs +2 -2
  364. package/esm2020/popover/signpost/signpost.module.mjs +2 -2
  365. package/esm2020/popover/tooltip/index.mjs +2 -2
  366. package/esm2020/popover/tooltip/providers/tooltip-id.service.mjs +2 -2
  367. package/esm2020/popover/tooltip/providers/tooltip-mouse.service.mjs +2 -2
  368. package/esm2020/popover/tooltip/tooltip-content.mjs +2 -2
  369. package/esm2020/popover/tooltip/tooltip-trigger.mjs +2 -2
  370. package/esm2020/popover/tooltip/tooltip.mjs +2 -2
  371. package/esm2020/popover/tooltip/tooltip.module.mjs +2 -2
  372. package/esm2020/progress/progress-bars/index.mjs +2 -2
  373. package/esm2020/progress/progress-bars/progress-bar.mjs +2 -2
  374. package/esm2020/progress/progress-bars/progress-bar.module.mjs +2 -2
  375. package/esm2020/progress/spinner/index.mjs +2 -2
  376. package/esm2020/progress/spinner/spinner.mjs +2 -2
  377. package/esm2020/progress/spinner/spinner.module.mjs +2 -2
  378. package/esm2020/timeline/enums/timeline-layout.enum.mjs +2 -2
  379. package/esm2020/timeline/enums/timeline-step-state.enum.mjs +2 -2
  380. package/esm2020/timeline/index.mjs +2 -2
  381. package/esm2020/timeline/interface/icon-attribute.interface.mjs +2 -2
  382. package/esm2020/timeline/providers/timeline-icon-attribute.service.mjs +2 -2
  383. package/esm2020/timeline/timeline-step-description.mjs +2 -2
  384. package/esm2020/timeline/timeline-step-header.mjs +2 -2
  385. package/esm2020/timeline/timeline-step-title.mjs +2 -2
  386. package/esm2020/timeline/timeline-step.mjs +2 -2
  387. package/esm2020/timeline/timeline.mjs +2 -2
  388. package/esm2020/timeline/timeline.module.mjs +2 -2
  389. package/esm2020/utils/animations/collapse/collapse.mjs +2 -2
  390. package/esm2020/utils/animations/collapse/index.mjs +2 -2
  391. package/esm2020/utils/animations/constants.mjs +2 -2
  392. package/esm2020/utils/animations/expandable-animation/expandable-animation.mjs +2 -2
  393. package/esm2020/utils/animations/expandable-animation/expandable-animation.module.mjs +2 -2
  394. package/esm2020/utils/animations/expandable-animation/index.mjs +2 -2
  395. package/esm2020/utils/animations/fade/fade.mjs +2 -2
  396. package/esm2020/utils/animations/fade/index.mjs +2 -2
  397. package/esm2020/utils/animations/fade-slide/fade-slide.mjs +2 -2
  398. package/esm2020/utils/animations/fade-slide/index.mjs +2 -2
  399. package/esm2020/utils/animations/index.mjs +2 -2
  400. package/esm2020/utils/animations/slide/index.mjs +2 -2
  401. package/esm2020/utils/animations/slide/slide.mjs +2 -2
  402. package/esm2020/utils/assert/assert.helpers.mjs +2 -2
  403. package/esm2020/utils/breakpoints/breakpoints.mjs +2 -2
  404. package/esm2020/utils/cdk/cdk-drag.module.mjs +1 -1
  405. package/esm2020/utils/cdk/cdk-trap-focus.module.mjs +2 -2
  406. package/esm2020/utils/chocolate/oompa-loompa.mjs +2 -2
  407. package/esm2020/utils/chocolate/willy-wonka.mjs +2 -2
  408. package/esm2020/utils/component/is-boolean-attribute-set.mjs +2 -2
  409. package/esm2020/utils/conditional/conditional.module.mjs +2 -2
  410. package/esm2020/utils/conditional/if-active.directive.mjs +2 -2
  411. package/esm2020/utils/conditional/if-active.service.mjs +2 -2
  412. package/esm2020/utils/conditional/if-expanded.directive.mjs +2 -2
  413. package/esm2020/utils/conditional/if-expanded.service.mjs +2 -2
  414. package/esm2020/utils/conditional/if-open.directive.mjs +2 -2
  415. package/esm2020/utils/conditional/index.mjs +2 -2
  416. package/esm2020/utils/destroy/destroy.service.mjs +2 -2
  417. package/esm2020/utils/destroy/index.mjs +2 -2
  418. package/esm2020/utils/dom-adapter/dom-adapter.mjs +2 -2
  419. package/esm2020/utils/enums/keys.enum.mjs +4 -2
  420. package/esm2020/utils/focus/arrow-key-direction.enum.mjs +2 -2
  421. package/esm2020/utils/focus/focus-on-view-init/focus-on-view-init.mjs +2 -2
  422. package/esm2020/utils/focus/focus-on-view-init/focus-on-view-init.module.mjs +2 -2
  423. package/esm2020/utils/focus/focus-on-view-init/focus-on-view-init.provider.mjs +2 -2
  424. package/esm2020/utils/focus/focus-on-view-init/index.mjs +2 -2
  425. package/esm2020/utils/focus/focus-trap/index.mjs +2 -2
  426. package/esm2020/utils/focus/focus-trap/standalone-cdk-trap-focus.directive.mjs +2 -2
  427. package/esm2020/utils/focus/focus.service.mjs +2 -2
  428. package/esm2020/utils/focus/focusable-item/basic-focusable-item.service.mjs +2 -2
  429. package/esm2020/utils/focus/focusable-item/custom-focusable-item-provider.mjs +2 -2
  430. package/esm2020/utils/focus/focusable-item/focusable-item.mjs +2 -2
  431. package/esm2020/utils/focus/focusable-item/linkers.mjs +2 -2
  432. package/esm2020/utils/focus/key-focus/enums/focus-direction.enum.mjs +2 -2
  433. package/esm2020/utils/focus/key-focus/index.mjs +2 -2
  434. package/esm2020/utils/focus/key-focus/interfaces.mjs +2 -2
  435. package/esm2020/utils/focus/key-focus/key-focus-item.mjs +2 -2
  436. package/esm2020/utils/focus/key-focus/key-focus.mjs +2 -2
  437. package/esm2020/utils/focus/key-focus/key-focus.module.mjs +2 -2
  438. package/esm2020/utils/focus/key-focus/roving-tabindex.mjs +2 -2
  439. package/esm2020/utils/focus/key-focus/util.mjs +2 -2
  440. package/esm2020/utils/focus/wrap-observable.mjs +2 -2
  441. package/esm2020/utils/forms/validation.mjs +2 -2
  442. package/esm2020/utils/host-wrapping/empty-anchor.mjs +2 -2
  443. package/esm2020/utils/host-wrapping/host-wrapper.mjs +2 -4
  444. package/esm2020/utils/host-wrapping/host-wrapping.module.mjs +2 -2
  445. package/esm2020/utils/i18n/common-strings.default.mjs +3 -2
  446. package/esm2020/utils/i18n/common-strings.interface.mjs +2 -2
  447. package/esm2020/utils/i18n/common-strings.service.mjs +2 -2
  448. package/esm2020/utils/i18n/index.mjs +2 -2
  449. package/esm2020/utils/id-generator/id-generator.service.mjs +2 -2
  450. package/esm2020/utils/index.mjs +2 -2
  451. package/esm2020/utils/loading/index.mjs +2 -2
  452. package/esm2020/utils/loading/loading-listener.mjs +2 -2
  453. package/esm2020/utils/loading/loading.mjs +2 -2
  454. package/esm2020/utils/loading/loading.module.mjs +2 -2
  455. package/esm2020/utils/outside-click/index.mjs +2 -2
  456. package/esm2020/utils/outside-click/outside-click.mjs +2 -2
  457. package/esm2020/utils/outside-click/outside-click.module.mjs +2 -2
  458. package/esm2020/utils/popover/enums/alignment.enum.mjs +2 -2
  459. package/esm2020/utils/popover/enums/axis.enum.mjs +2 -2
  460. package/esm2020/utils/popover/enums/positions.enum.mjs +2 -2
  461. package/esm2020/utils/popover/enums/side.enum.mjs +2 -2
  462. package/esm2020/utils/popover/enums/viewport-violation.enum.mjs +2 -2
  463. package/esm2020/utils/popover/index.mjs +2 -2
  464. package/esm2020/utils/popover/interfaces/popover-content-offset.interface.mjs +2 -2
  465. package/esm2020/utils/popover/interfaces/popover-position.interface.mjs +2 -2
  466. package/esm2020/utils/popover/interfaces/visibility-coords.interface.mjs +2 -2
  467. package/esm2020/utils/popover/popover-anchor.mjs +2 -2
  468. package/esm2020/utils/popover/popover-close-button.mjs +2 -2
  469. package/esm2020/utils/popover/popover-content.mjs +2 -2
  470. package/esm2020/utils/popover/popover-host.directive.mjs +2 -2
  471. package/esm2020/utils/popover/popover-open-close-button.mjs +2 -2
  472. package/esm2020/utils/popover/popover.module.mjs +2 -2
  473. package/esm2020/utils/popover/position-operators.mjs +2 -2
  474. package/esm2020/utils/popover/providers/popover-events.service.mjs +2 -2
  475. package/esm2020/utils/popover/providers/popover-position.service.mjs +2 -2
  476. package/esm2020/utils/popover/providers/popover-toggle.service.mjs +2 -2
  477. package/esm2020/utils/popover/stop-escape-propagation.directive.mjs +2 -2
  478. package/esm2020/utils/scrolling/scrolling-service.mjs +2 -2
  479. package/esm2020/utils/template-ref/index.mjs +2 -2
  480. package/esm2020/utils/template-ref/template-ref-container.mjs +2 -2
  481. package/esm2020/utils/template-ref/template-ref.module.mjs +2 -2
  482. package/esm2020/wizard/heading-level.mjs +2 -2
  483. package/esm2020/wizard/index.mjs +2 -2
  484. package/esm2020/wizard/providers/button-hub.service.mjs +2 -2
  485. package/esm2020/wizard/providers/header-actions.service.mjs +2 -2
  486. package/esm2020/wizard/providers/page-collection.service.mjs +2 -2
  487. package/esm2020/wizard/providers/wizard-navigation.service.mjs +2 -2
  488. package/esm2020/wizard/wizard-button.mjs +2 -2
  489. package/esm2020/wizard/wizard-header-action.mjs +2 -2
  490. package/esm2020/wizard/wizard-page-buttons.mjs +2 -2
  491. package/esm2020/wizard/wizard-page-header-actions.mjs +2 -2
  492. package/esm2020/wizard/wizard-page-navtitle.mjs +2 -2
  493. package/esm2020/wizard/wizard-page-title.mjs +2 -2
  494. package/esm2020/wizard/wizard-page.mjs +2 -2
  495. package/esm2020/wizard/wizard-stepnav-item.mjs +6 -2
  496. package/esm2020/wizard/wizard-stepnav.mjs +2 -2
  497. package/esm2020/wizard/wizard-title.mjs +2 -2
  498. package/esm2020/wizard/wizard.mjs +11 -5
  499. package/esm2020/wizard/wizard.module.mjs +2 -2
  500. package/fesm2015/clr-angular.mjs +14425 -13394
  501. package/fesm2015/clr-angular.mjs.map +1 -1
  502. package/fesm2020/clr-angular.mjs +14502 -13503
  503. package/fesm2020/clr-angular.mjs.map +1 -1
  504. package/forms/checkbox/checkbox-wrapper.d.ts +1 -3
  505. package/forms/common/abstract-container.d.ts +2 -3
  506. package/forms/common/if-control-state/abstract-if-state.d.ts +1 -0
  507. package/forms/common/providers/ng-control.service.d.ts +6 -0
  508. package/forms/common/wrapped-control.d.ts +7 -4
  509. package/forms/datepicker/calendar.d.ts +4 -0
  510. package/forms/datepicker/date-container.d.ts +15 -3
  511. package/forms/datepicker/date-end-input.d.ts +15 -0
  512. package/forms/datepicker/date-input.d.ts +18 -12
  513. package/forms/datepicker/date-input.validator.d.ts +18 -1
  514. package/forms/datepicker/date-single-input.d.ts +15 -0
  515. package/forms/datepicker/date-start-input.d.ts +15 -0
  516. package/forms/datepicker/datepicker-view-manager.d.ts +6 -1
  517. package/forms/datepicker/datepicker.module.d.ts +18 -15
  518. package/forms/datepicker/day.d.ts +11 -0
  519. package/forms/datepicker/index.d.ts +3 -0
  520. package/forms/datepicker/interfaces/date-range.interface.d.ts +8 -0
  521. package/forms/datepicker/model/calendar-view.model.d.ts +7 -2
  522. package/forms/datepicker/model/calendar.model.d.ts +8 -0
  523. package/forms/datepicker/model/day-view.model.d.ts +3 -1
  524. package/forms/datepicker/model/day.model.d.ts +8 -0
  525. package/forms/datepicker/monthpicker.d.ts +43 -2
  526. package/forms/datepicker/providers/date-io.service.d.ts +5 -1
  527. package/forms/datepicker/providers/date-navigation.service.d.ts +27 -1
  528. package/forms/datepicker/yearpicker.d.ts +14 -0
  529. package/forms/radio/radio-wrapper.d.ts +1 -3
  530. package/layout/vertical-nav/vertical-nav.d.ts +3 -1
  531. package/modal/index.d.ts +1 -0
  532. package/modal/modal-host.directive.d.ts +5 -0
  533. package/modal/modal.d.ts +4 -2
  534. package/modal/modal.module.d.ts +5 -4
  535. package/modal/side-panel.d.ts +25 -6
  536. package/modal/side-panel.module.d.ts +1 -1
  537. package/package.json +2 -2
  538. package/popover/common/abstract-popover.d.ts +0 -1
  539. package/utils/enums/keys.enum.d.ts +3 -1
  540. package/utils/host-wrapping/host-wrapper.d.ts +1 -2
  541. package/utils/i18n/common-strings.interface.d.ts +4 -0
  542. package/wizard/wizard.d.ts +2 -1
  543. package/esm2020/utils/host-wrapping/dynamic-wrapper.mjs +0 -8
  544. package/utils/host-wrapping/dynamic-wrapper.d.ts +0 -3
@@ -1,6 +1,5 @@
1
1
  import { InjectionToken, OnDestroy, OnInit } from '@angular/core';
2
2
  import { BehaviorSubject } from 'rxjs';
3
- import { DynamicWrapper } from '../../utils/host-wrapping/dynamic-wrapper';
4
3
  import { ClrLabel } from '../common/label';
5
4
  import * as i0 from "@angular/core";
6
5
  export declare const IS_TOGGLE: InjectionToken<BehaviorSubject<boolean>>;
@@ -9,8 +8,7 @@ export declare const IS_TOGGLE_PROVIDER: {
9
8
  provide: InjectionToken<BehaviorSubject<boolean>>;
10
9
  useFactory: typeof isToggleFactory;
11
10
  };
12
- export declare class ClrCheckboxWrapper implements DynamicWrapper, OnInit, OnDestroy {
13
- _dynamic: boolean;
11
+ export declare class ClrCheckboxWrapper implements OnInit, OnDestroy {
14
12
  label: ClrLabel;
15
13
  toggle: boolean;
16
14
  private subscriptions;
@@ -1,7 +1,6 @@
1
1
  import { AfterContentInit, OnDestroy } from '@angular/core';
2
2
  import { NgControl } from '@angular/forms';
3
3
  import { Subscription } from 'rxjs';
4
- import { DynamicWrapper } from '../../utils/host-wrapping/dynamic-wrapper';
5
4
  import { ClrControlError } from './error';
6
5
  import { ClrControlHelper } from './helper';
7
6
  import { IfControlStateService } from './if-control-state/if-control-state.service';
@@ -11,7 +10,7 @@ import { LayoutService } from './providers/layout.service';
11
10
  import { NgControlService } from './providers/ng-control.service';
12
11
  import { ClrControlSuccess } from './success';
13
12
  import * as i0 from "@angular/core";
14
- export declare abstract class ClrAbstractContainer implements DynamicWrapper, OnDestroy, AfterContentInit {
13
+ export declare abstract class ClrAbstractContainer implements OnDestroy, AfterContentInit {
15
14
  protected ifControlStateService: IfControlStateService;
16
15
  protected layoutService: LayoutService;
17
16
  protected controlClassService: ControlClassService;
@@ -21,7 +20,7 @@ export declare abstract class ClrAbstractContainer implements DynamicWrapper, On
21
20
  controlErrorComponent: ClrControlError;
22
21
  controlHelperComponent: ClrControlHelper;
23
22
  control: NgControl;
24
- _dynamic: boolean;
23
+ additionalControls: NgControl[];
25
24
  protected subscriptions: Subscription[];
26
25
  private state;
27
26
  constructor(ifControlStateService: IfControlStateService, layoutService: LayoutService, controlClassService: ControlClassService, ngControlService: NgControlService);
@@ -9,6 +9,7 @@ export declare abstract class AbstractIfState {
9
9
  protected subscriptions: Subscription[];
10
10
  protected displayedContent: boolean;
11
11
  protected control: NgControl;
12
+ protected additionalControls: NgControl[];
12
13
  constructor(ifControlStateService: IfControlStateService, ngControlService: NgControlService);
13
14
  ngOnDestroy(): void;
14
15
  protected handleState(_state: CONTROL_STATE): void;
@@ -9,12 +9,18 @@ export interface Helpers {
9
9
  }
10
10
  export declare class NgControlService {
11
11
  private _control;
12
+ private _additionalControls;
12
13
  private _controlChanges;
14
+ private _additionalControlsChanges;
13
15
  private _helpers;
14
16
  get control(): NgControl;
15
17
  get controlChanges(): Observable<NgControl>;
18
+ get additionalControls(): NgControl[];
19
+ get additionalControlsChanges(): Observable<NgControl[]>;
20
+ get hasAdditionalControls(): boolean;
16
21
  get helpersChange(): Observable<Helpers>;
17
22
  setControl(control: NgControl): void;
23
+ addAdditionalControl(control: NgControl): void;
18
24
  setHelpers(state: Helpers): void;
19
25
  static ɵfac: i0.ɵɵFactoryDeclaration<NgControlService, never>;
20
26
  static ɵprov: i0.ɵɵInjectableDeclaration<NgControlService>;
@@ -1,7 +1,6 @@
1
1
  import { DoCheck, ElementRef, InjectionToken, Injector, OnDestroy, OnInit, Renderer2, Type, ViewContainerRef } from '@angular/core';
2
2
  import { NgControl } from '@angular/forms';
3
3
  import { Subscription } from 'rxjs';
4
- import { DynamicWrapper } from '../../utils/host-wrapping/dynamic-wrapper';
5
4
  import { ControlIdService } from './providers/control-id.service';
6
5
  import { NgControlService } from './providers/ng-control.service';
7
6
  import * as i0 from "@angular/core";
@@ -9,10 +8,10 @@ export declare enum CHANGE_KEYS {
9
8
  FORM = "form",
10
9
  MODEL = "model"
11
10
  }
12
- export declare class WrappedFormControl<W extends DynamicWrapper> implements OnInit, DoCheck, OnDestroy {
11
+ export declare class WrappedFormControl<W> implements OnInit, DoCheck, OnDestroy {
13
12
  protected vcr: ViewContainerRef;
14
13
  protected wrapperType: Type<W>;
15
- private ngControl;
14
+ private _ngControl;
16
15
  protected renderer: Renderer2;
17
16
  protected el: ElementRef<HTMLElement>;
18
17
  _id: string;
@@ -27,14 +26,18 @@ export declare class WrappedFormControl<W extends DynamicWrapper> implements OnI
27
26
  private _containerInjector;
28
27
  private differs;
29
28
  private differ;
30
- constructor(vcr: ViewContainerRef, wrapperType: Type<W>, injector: Injector, ngControl: NgControl | null, renderer: Renderer2, el: ElementRef<HTMLElement>);
29
+ private additionalDiffer;
30
+ private ngControl;
31
+ constructor(vcr: ViewContainerRef, wrapperType: Type<W>, injector: Injector, _ngControl: NgControl | null, renderer: Renderer2, el: ElementRef<HTMLElement>);
31
32
  get id(): string;
32
33
  set id(value: string);
34
+ private get hasAdditionalControls();
33
35
  ngOnInit(): void;
34
36
  ngDoCheck(): void;
35
37
  ngOnDestroy(): void;
36
38
  triggerValidation(): void;
37
39
  protected getProviderFromContainer<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T;
40
+ private triggerDoCheck;
38
41
  private markAsTouched;
39
42
  private setAriaDescribedBy;
40
43
  private getAriaDescribedById;
@@ -30,6 +30,7 @@ export declare class ClrCalendar implements OnDestroy {
30
30
  get localeDays(): ReadonlyArray<ClrDayOfWeek>;
31
31
  get calendar(): CalendarModel;
32
32
  get selectedDay(): DayModel;
33
+ get selectedEndDay(): DayModel;
33
34
  get focusedDay(): DayModel;
34
35
  get today(): DayModel;
35
36
  /**
@@ -52,6 +53,9 @@ export declare class ClrCalendar implements OnDestroy {
52
53
  * 3. focus on the focusable day in the calendar.
53
54
  */
54
55
  private initializeSubscriptions;
56
+ private validateAndCloseDatePicker;
57
+ private updateCalendarViewModal;
58
+ private refreshCalendarViewModal;
55
59
  /**
56
60
  * Generates the Calendar View based on the calendar retrieved from the DateNavigationService.
57
61
  */
@@ -17,6 +17,7 @@ import * as i0 from "@angular/core";
17
17
  import * as i1 from "../../utils/popover/popover-host.directive";
18
18
  export declare class ClrDateContainer extends ClrAbstractContainer implements AfterViewInit {
19
19
  protected renderer: Renderer2;
20
+ protected elem: ElementRef;
20
21
  private toggleService;
21
22
  private dateNavigationService;
22
23
  private datepickerEnabledService;
@@ -29,10 +30,19 @@ export declare class ClrDateContainer extends ClrAbstractContainer implements Af
29
30
  protected ngControlService: NgControlService;
30
31
  protected ifControlStateService: IfControlStateService;
31
32
  focus: boolean;
33
+ private readonly clrDateInput;
34
+ private readonly clrStartDateInput;
35
+ private readonly clrEndDateInput;
32
36
  private toggleButton;
33
- constructor(renderer: Renderer2, toggleService: ClrPopoverToggleService, dateNavigationService: DateNavigationService, datepickerEnabledService: DatepickerEnabledService, dateFormControlService: DateFormControlService, dateIOService: DateIOService, commonStrings: ClrCommonStringsService, focusService: FocusService, viewManagerService: ViewManagerService, controlClassService: ControlClassService, layoutService: LayoutService, ngControlService: NgControlService, ifControlStateService: IfControlStateService);
37
+ constructor(renderer: Renderer2, elem: ElementRef, toggleService: ClrPopoverToggleService, dateNavigationService: DateNavigationService, datepickerEnabledService: DatepickerEnabledService, dateFormControlService: DateFormControlService, dateIOService: DateIOService, commonStrings: ClrCommonStringsService, focusService: FocusService, viewManagerService: ViewManagerService, controlClassService: ControlClassService, layoutService: LayoutService, ngControlService: NgControlService, ifControlStateService: IfControlStateService);
38
+ /**
39
+ * For date range picker actions buttons are shown by default
40
+ */
34
41
  set showActionButtons(flag: boolean);
35
42
  set clrPosition(position: string);
43
+ set rangeOptions(rangeOptions: any);
44
+ set min(dateString: string);
45
+ set max(dateString: string);
36
46
  set actionButton(button: ElementRef<HTMLButtonElement>);
37
47
  get popoverPosition(): ClrPopoverPosition;
38
48
  get open(): boolean;
@@ -44,6 +54,7 @@ export declare class ClrDateContainer extends ClrAbstractContainer implements Af
44
54
  * Return if Datepicker is diabled or not as Form Control
45
55
  */
46
56
  get isInputDateDisabled(): boolean;
57
+ protected get isRangePicker(): boolean;
47
58
  ngAfterViewInit(): void;
48
59
  /**
49
60
  * Return the label for the toggle button.
@@ -55,6 +66,7 @@ export declare class ClrDateContainer extends ClrAbstractContainer implements Af
55
66
  * Processes the user input and Initializes the Calendar everytime the datepicker popover is open.
56
67
  */
57
68
  private initializeCalendar;
58
- static ɵfac: i0.ɵɵFactoryDeclaration<ClrDateContainer, [null, null, null, null, null, null, null, null, null, null, { optional: true; }, null, null]>;
59
- static ɵcmp: i0.ɵɵComponentDeclaration<ClrDateContainer, "clr-date-container", never, { "showActionButtons": "showActionButtons"; "clrPosition": "clrPosition"; }, {}, never, ["label", "[clrDate]", "clr-control-helper", "clr-control-error", "clr-control-success"], false, [{ directive: typeof i1.ClrPopoverHostDirective; inputs: {}; outputs: {}; }]>;
69
+ private dateRangeStructuralChecks;
70
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDateContainer, [null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, null, null]>;
71
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrDateContainer, "clr-date-container, clr-date-range-container", never, { "showActionButtons": "showActionButtons"; "clrPosition": "clrPosition"; "rangeOptions": "rangeOptions"; "min": "min"; "max": "max"; }, {}, ["clrDateInput", "clrStartDateInput", "clrEndDateInput"], ["label", "[clrStartDate]", "[clrEndDate]", "[clrDate]", "clr-control-helper", "clr-control-error", "clr-control-success"], false, [{ directive: typeof i1.ClrPopoverHostDirective; inputs: {}; outputs: {}; }]>;
60
72
  }
@@ -0,0 +1,15 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { ClrDateInputBase } from './date-input';
3
+ import { DayModel } from './model/day.model';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ClrEndDateInput extends ClrDateInputBase {
6
+ dateChange: EventEmitter<Date>;
7
+ inputWidth: number;
8
+ set date(date: Date | string);
9
+ get inputSize(): number;
10
+ protected get userSelectedDayChange(): import("rxjs").Observable<DayModel>;
11
+ triggerControlInputValidation(): void;
12
+ protected updateDayModel(dayModel: DayModel): void;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrEndDateInput, never>;
14
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClrEndDateInput, "[clrEndDate]", never, { "inputWidth": "inputWidth"; "date": "clrEndDate"; }, { "dateChange": "clrEndDateChange"; }, never, never, false, never>;
15
+ }
@@ -1,61 +1,67 @@
1
1
  import { AfterViewInit, ElementRef, EventEmitter, Injector, OnDestroy, OnInit, Renderer2, ViewContainerRef } from '@angular/core';
2
2
  import { NgControl } from '@angular/forms';
3
+ import { Observable } from 'rxjs';
3
4
  import { FocusService } from '../common/providers/focus.service';
4
5
  import { WrappedFormControl } from '../common/wrapped-control';
5
6
  import { ClrDateContainer } from './date-container';
7
+ import { DayModel } from './model/day.model';
6
8
  import { DateFormControlService } from './providers/date-form-control.service';
7
9
  import { DateIOService } from './providers/date-io.service';
8
10
  import { DateNavigationService } from './providers/date-navigation.service';
9
11
  import { DatepickerEnabledService } from './providers/datepicker-enabled.service';
10
12
  import { DatepickerFocusService } from './providers/datepicker-focus.service';
11
13
  import * as i0 from "@angular/core";
12
- export declare class ClrDateInput extends WrappedFormControl<ClrDateContainer> implements OnInit, AfterViewInit, OnDestroy {
14
+ export declare abstract class ClrDateInputBase extends WrappedFormControl<ClrDateContainer> implements OnInit, AfterViewInit, OnDestroy {
13
15
  protected el: ElementRef<HTMLInputElement>;
14
16
  protected renderer: Renderer2;
15
17
  protected control: NgControl;
16
18
  private container;
17
- private dateIOService;
18
- private dateNavigationService;
19
+ protected dateIOService: DateIOService;
20
+ protected dateNavigationService: DateNavigationService;
19
21
  private datepickerEnabledService;
20
22
  private dateFormControlService;
21
23
  private platformId;
22
24
  private focusService;
23
- private datepickerFocusService;
25
+ protected datepickerFocusService: DatepickerFocusService;
24
26
  static ngAcceptInputType_date: Date | null | string;
25
27
  placeholder: string;
26
- dateChange: EventEmitter<Date>;
27
28
  protected index: number;
28
29
  private initialClrDateInputValue;
29
30
  private previousDateChange;
31
+ protected abstract dateChange: EventEmitter<Date>;
30
32
  constructor(viewContainerRef: ViewContainerRef, injector: Injector, el: ElementRef<HTMLInputElement>, renderer: Renderer2, control: NgControl, container: ClrDateContainer, dateIOService: DateIOService, dateNavigationService: DateNavigationService, datepickerEnabledService: DatepickerEnabledService, dateFormControlService: DateFormControlService, platformId: any, focusService: FocusService, datepickerFocusService: DatepickerFocusService);
31
- set date(date: Date | string);
32
- set min(dateString: string);
33
- set max(dateString: string);
34
33
  get disabled(): boolean | string;
35
34
  set disabled(value: boolean | string);
36
35
  get placeholderText(): string;
37
36
  get inputType(): string;
37
+ protected abstract get userSelectedDayChange(): Observable<DayModel>;
38
38
  ngOnInit(): void;
39
39
  ngAfterViewInit(): void;
40
40
  setFocusStates(): void;
41
41
  triggerValidation(): void;
42
42
  onValueChange(target: HTMLInputElement): void;
43
+ protected datepickerHasFormControl(): boolean;
44
+ protected setDate(date: Date | string): void;
43
45
  private usingClarityDatepicker;
44
46
  private usingNativeDatepicker;
45
47
  private setFocus;
46
- private triggerControlValidation;
47
48
  private populateServicesFromContainerComponent;
48
49
  private processInitialInputs;
49
50
  private updateDate;
50
51
  private updateInput;
51
52
  private getValidDateValueFromDate;
52
53
  private emitDateOutput;
53
- private datepickerHasFormControl;
54
54
  private listenForControlValueChanges;
55
55
  private listenForUserSelectedDayChanges;
56
56
  private listenForTouchChanges;
57
57
  private listenForDirtyChanges;
58
58
  private listenForInputRefocus;
59
- static ɵfac: i0.ɵɵFactoryDeclaration<ClrDateInput, [null, null, null, null, { optional: true; self: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, null, { optional: true; }, null]>;
60
- static ɵdir: i0.ɵɵDirectiveDeclaration<ClrDateInput, "[clrDate]", never, { "placeholder": "placeholder"; "date": "clrDate"; "min": "min"; "max": "max"; "disabled": "disabled"; }, { "dateChange": "clrDateChange"; }, never, never, false, never>;
59
+ /**
60
+ * In case of date range error, both start & end date field validation has to be triggered
61
+ * if either of the field gets updated
62
+ */
63
+ private validateDateRange;
64
+ protected abstract updateDayModel(dayModel: DayModel): void;
65
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDateInputBase, [null, null, null, null, { optional: true; self: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, null, { optional: true; }, null]>;
66
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClrDateInputBase, never, never, { "placeholder": "placeholder"; "disabled": "disabled"; }, {}, never, never, false, never>;
61
67
  }
@@ -1,10 +1,27 @@
1
1
  import { AbstractControl, ValidationErrors, Validator } from '@angular/forms';
2
2
  import { DateIOService } from './providers/date-io.service';
3
+ import { DateNavigationService } from './providers/date-navigation.service';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class ClrDateInputValidator implements Validator {
5
6
  private dateIOService;
6
7
  constructor(dateIOService: DateIOService);
7
8
  validate(control: AbstractControl): ValidationErrors;
8
9
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrDateInputValidator, [{ optional: true; }]>;
9
- static ɵdir: i0.ɵɵDirectiveDeclaration<ClrDateInputValidator, "[clrDate]", never, {}, {}, never, never, false, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClrDateInputValidator, "[clrDate], [clrStartDate], [clrEndDate]", never, {}, {}, never, never, false, never>;
11
+ }
12
+ export declare class ClrStartDateInputValidator implements Validator {
13
+ private dateIOService;
14
+ private dateNavigationService;
15
+ constructor(dateIOService: DateIOService, dateNavigationService: DateNavigationService);
16
+ validate(control: AbstractControl): ValidationErrors;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrStartDateInputValidator, [{ optional: true; }, { optional: true; }]>;
18
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClrStartDateInputValidator, "[clrStartDate]", never, {}, {}, never, never, false, never>;
19
+ }
20
+ export declare class ClrEndDateInputValidator implements Validator {
21
+ private dateIOService;
22
+ private dateNavigationService;
23
+ constructor(dateIOService: DateIOService, dateNavigationService: DateNavigationService);
24
+ validate(control: AbstractControl): ValidationErrors;
25
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrEndDateInputValidator, [{ optional: true; }, { optional: true; }]>;
26
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClrEndDateInputValidator, "[clrEndDate]", never, {}, {}, never, never, false, never>;
10
27
  }
@@ -0,0 +1,15 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { ClrDateInputBase } from './date-input';
3
+ import { DayModel } from './model/day.model';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ClrDateInput extends ClrDateInputBase {
6
+ dateChange: EventEmitter<Date>;
7
+ set date(date: Date | string);
8
+ set min(dateString: string);
9
+ set max(dateString: string);
10
+ protected get userSelectedDayChange(): import("rxjs").Observable<DayModel>;
11
+ protected updateDayModel(dayModel: DayModel): void;
12
+ private triggerControlValidation;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDateInput, never>;
14
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClrDateInput, "[clrDate]", never, { "date": "clrDate"; "min": "min"; "max": "max"; }, { "dateChange": "clrDateChange"; }, never, never, false, never>;
15
+ }
@@ -0,0 +1,15 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { ClrDateInputBase } from './date-input';
3
+ import { DayModel } from './model/day.model';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ClrStartDateInput extends ClrDateInputBase {
6
+ dateChange: EventEmitter<Date>;
7
+ inputWidth: number;
8
+ set date(date: Date | string);
9
+ get inputSize(): number;
10
+ protected get userSelectedDayChange(): import("rxjs").Observable<DayModel>;
11
+ triggerControlInputValidation(): void;
12
+ protected updateDayModel(dayModel: DayModel): void;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrStartDateInput, never>;
14
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClrStartDateInput, "[clrStartDate]", never, { "inputWidth": "inputWidth"; "date": "clrStartDate"; }, { "dateChange": "clrStartDateChange"; }, never, never, false, never>;
15
+ }
@@ -1,4 +1,5 @@
1
1
  import { ClrCommonStringsService } from '../../utils/i18n/common-strings.service';
2
+ import { DateIOService } from './providers/date-io.service';
2
3
  import { DateNavigationService } from './providers/date-navigation.service';
3
4
  import { ViewManagerService } from './providers/view-manager.service';
4
5
  import * as i0 from "@angular/core";
@@ -6,7 +7,8 @@ export declare class ClrDatepickerViewManager {
6
7
  commonStrings: ClrCommonStringsService;
7
8
  private viewManagerService;
8
9
  private dateNavigationService;
9
- constructor(commonStrings: ClrCommonStringsService, viewManagerService: ViewManagerService, dateNavigationService: DateNavigationService);
10
+ private dateIOService;
11
+ constructor(commonStrings: ClrCommonStringsService, viewManagerService: ViewManagerService, dateNavigationService: DateNavigationService, dateIOService: DateIOService);
10
12
  /**
11
13
  * Returns if the current view is the monthpicker.
12
14
  */
@@ -19,7 +21,10 @@ export declare class ClrDatepickerViewManager {
19
21
  * Returns if the current view is the daypicker.
20
22
  */
21
23
  get isDayView(): boolean;
24
+ get hasRangeOptions(): boolean;
22
25
  protected get hasActionButtons(): boolean;
26
+ protected get dateRangeOptions(): any;
27
+ onRangeOptionSelect(selectedRange: any): void;
23
28
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatepickerViewManager, never>;
24
29
  static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatepickerViewManager, "clr-datepicker-view-manager", never, {}, {}, never, never, false, never>;
25
30
  }
@@ -2,25 +2,28 @@ import { Type } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "./day";
4
4
  import * as i2 from "./date-container";
5
- import * as i3 from "./date-input";
5
+ import * as i3 from "./date-single-input";
6
6
  import * as i4 from "./date-input.validator";
7
- import * as i5 from "./datepicker-view-manager";
8
- import * as i6 from "./monthpicker";
9
- import * as i7 from "./yearpicker";
10
- import * as i8 from "./daypicker";
11
- import * as i9 from "./calendar";
12
- import * as i10 from "./datepicker-action-buttons";
13
- import * as i11 from "@angular/common";
14
- import * as i12 from "../../utils/cdk/cdk-trap-focus.module";
15
- import * as i13 from "../../utils/host-wrapping/host-wrapping.module";
16
- import * as i14 from "../../utils/conditional/conditional.module";
17
- import * as i15 from "../../utils/popover/popover.module";
18
- import * as i16 from "../../icon/icon.module";
19
- import * as i17 from "../common/common.module";
7
+ import * as i5 from "./date-start-input";
8
+ import * as i6 from "./date-end-input";
9
+ import * as i7 from "./datepicker-view-manager";
10
+ import * as i8 from "./monthpicker";
11
+ import * as i9 from "./yearpicker";
12
+ import * as i10 from "./daypicker";
13
+ import * as i11 from "./calendar";
14
+ import * as i12 from "./datepicker-action-buttons";
15
+ import * as i13 from "@angular/common";
16
+ import * as i14 from "../../utils/cdk/cdk-trap-focus.module";
17
+ import * as i15 from "../../utils/host-wrapping/host-wrapping.module";
18
+ import * as i16 from "../../utils/conditional/conditional.module";
19
+ import * as i17 from "../../utils/popover/popover.module";
20
+ import * as i18 from "../../icon/icon.module";
21
+ import * as i19 from "../common/common.module";
22
+ import * as i20 from "../../layout/vertical-nav/vertical-nav.module";
20
23
  export declare const CLR_DATEPICKER_DIRECTIVES: Type<any>[];
21
24
  export declare class ClrDatepickerModule {
22
25
  constructor();
23
26
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatepickerModule, never>;
24
- static ɵmod: i0.ɵɵNgModuleDeclaration<ClrDatepickerModule, [typeof i1.ClrDay, typeof i2.ClrDateContainer, typeof i3.ClrDateInput, typeof i4.ClrDateInputValidator, typeof i5.ClrDatepickerViewManager, typeof i6.ClrMonthpicker, typeof i7.ClrYearpicker, typeof i8.ClrDaypicker, typeof i9.ClrCalendar, typeof i10.ClrDatepickerActions], [typeof i11.CommonModule, typeof i12.CdkTrapFocusModule, typeof i13.ClrHostWrappingModule, typeof i14.ClrConditionalModule, typeof i15.ClrPopoverModuleNext, typeof i16.ClrIconModule, typeof i17.ClrCommonFormsModule], [typeof i1.ClrDay, typeof i2.ClrDateContainer, typeof i3.ClrDateInput, typeof i4.ClrDateInputValidator, typeof i5.ClrDatepickerViewManager, typeof i6.ClrMonthpicker, typeof i7.ClrYearpicker, typeof i8.ClrDaypicker, typeof i9.ClrCalendar, typeof i10.ClrDatepickerActions]>;
27
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ClrDatepickerModule, [typeof i1.ClrDay, typeof i2.ClrDateContainer, typeof i3.ClrDateInput, typeof i4.ClrDateInputValidator, typeof i5.ClrStartDateInput, typeof i6.ClrEndDateInput, typeof i4.ClrStartDateInputValidator, typeof i4.ClrEndDateInputValidator, typeof i7.ClrDatepickerViewManager, typeof i8.ClrMonthpicker, typeof i9.ClrYearpicker, typeof i10.ClrDaypicker, typeof i11.ClrCalendar, typeof i12.ClrDatepickerActions], [typeof i13.CommonModule, typeof i14.CdkTrapFocusModule, typeof i15.ClrHostWrappingModule, typeof i16.ClrConditionalModule, typeof i17.ClrPopoverModuleNext, typeof i18.ClrIconModule, typeof i19.ClrCommonFormsModule, typeof i20.ClrVerticalNavModule], [typeof i1.ClrDay, typeof i2.ClrDateContainer, typeof i3.ClrDateInput, typeof i4.ClrDateInputValidator, typeof i5.ClrStartDateInput, typeof i6.ClrEndDateInput, typeof i4.ClrStartDateInputValidator, typeof i4.ClrEndDateInputValidator, typeof i7.ClrDatepickerViewManager, typeof i8.ClrMonthpicker, typeof i9.ClrYearpicker, typeof i10.ClrDaypicker, typeof i11.ClrCalendar, typeof i12.ClrDatepickerActions]>;
25
28
  static ɵinj: i0.ɵɵInjectorDeclaration<ClrDatepickerModule>;
26
29
  }
@@ -16,6 +16,12 @@ export declare class ClrDay {
16
16
  get dayView(): DayViewModel;
17
17
  set dayView(day: DayViewModel);
18
18
  get dayString(): string;
19
+ get isRangeStartDay(): boolean;
20
+ get isRangeEndDay(): boolean;
21
+ /**
22
+ * Calls the DateNavigationService to update the hovered day value of the calendar
23
+ */
24
+ hoverListener(): void;
19
25
  /**
20
26
  * Updates the focusedDay in the DateNavigationService when the ClrDay is focused.
21
27
  */
@@ -24,6 +30,11 @@ export declare class ClrDay {
24
30
  * Updates the selectedDay when the ClrDay is selected and closes the datepicker popover.
25
31
  */
26
32
  selectDay(): void;
33
+ /**
34
+ * Applicable only to date range picker
35
+ * Compares whether the day is in between the start and end date range
36
+ */
37
+ isInRange(): boolean;
27
38
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrDay, never>;
28
39
  static ɵcmp: i0.ɵɵComponentDeclaration<ClrDay, "clr-day", never, { "dayView": "clrDayView"; }, { "onSelectDay": "selectDay"; }, never, never, false, never>;
29
40
  }
@@ -1,5 +1,8 @@
1
1
  export * from './date-container';
2
2
  export * from './date-input';
3
+ export * from './date-single-input';
4
+ export * from './date-start-input';
5
+ export * from './date-end-input';
3
6
  export * from './date-input.validator';
4
7
  export * from './datepicker-view-manager';
5
8
  export * from './daypicker';
@@ -3,3 +3,11 @@ export interface DateRange {
3
3
  minDate?: DayModel;
4
4
  maxDate?: DayModel;
5
5
  }
6
+ export interface DateRangeInput {
7
+ startDate: DayModel;
8
+ endDate?: DayModel;
9
+ }
10
+ export interface DateRangeOption {
11
+ label: string;
12
+ value: Date[];
13
+ }
@@ -4,14 +4,15 @@ import { DayViewModel } from './day-view.model';
4
4
  import { DayModel } from './day.model';
5
5
  export declare class CalendarViewModel {
6
6
  calendar: CalendarModel;
7
- private selectedDay;
7
+ selectedDay: DayModel;
8
+ selectedEndDay: DayModel;
8
9
  private focusableDay;
9
10
  private today;
10
11
  firstDayOfWeek: number;
11
12
  private excludedDates;
12
13
  private currMonthDayViews;
13
14
  private _calendarView;
14
- constructor(calendar: CalendarModel, selectedDay: DayModel, focusableDay: DayModel, today: DayModel, firstDayOfWeek: number, excludedDates: DateRange);
15
+ constructor(calendar: CalendarModel, selectedDay: DayModel, selectedEndDay: DayModel, focusableDay: DayModel, today: DayModel, firstDayOfWeek: number, excludedDates: DateRange);
15
16
  /**
16
17
  * DayViewModel matrix. Size 6x7
17
18
  */
@@ -24,6 +25,10 @@ export declare class CalendarViewModel {
24
25
  * Updates the selected day in the calendar
25
26
  */
26
27
  updateSelectedDay(day: DayModel | undefined): void;
28
+ /**
29
+ * Updates the selected end day in the calendar
30
+ */
31
+ updateSelectedEndDay(day: DayModel | undefined): void;
27
32
  /**
28
33
  * Generates a 6x7 matrix of DayViewModel based on the Calendar.
29
34
  * The 6x7 matrix is structured according to the first day of the week.
@@ -20,6 +20,14 @@ export declare class CalendarModel {
20
20
  * Returns CalendarModel of the next month.
21
21
  */
22
22
  nextMonth(): CalendarModel;
23
+ /**
24
+ * Returns CalendarModel of the previous year.
25
+ */
26
+ previousYear(): CalendarModel;
27
+ /**
28
+ * Returns CalendarModel of the next year.
29
+ */
30
+ nextYear(): CalendarModel;
23
31
  /**
24
32
  * Populates the days array with the DayModels in the current Calendar.
25
33
  */
@@ -6,7 +6,9 @@ export declare class DayViewModel {
6
6
  isDisabled: boolean;
7
7
  isSelected: boolean;
8
8
  isFocusable: boolean;
9
- constructor(dayModel: DayModel, isTodaysDate?: boolean, isExcluded?: boolean, isDisabled?: boolean, isSelected?: boolean, isFocusable?: boolean);
9
+ isRangeStartDay: boolean;
10
+ isRangeEndDay: boolean;
11
+ constructor(dayModel: DayModel, isTodaysDate?: boolean, isExcluded?: boolean, isDisabled?: boolean, isSelected?: boolean, isFocusable?: boolean, isRangeStartDay?: boolean, isRangeEndDay?: boolean);
10
12
  /**
11
13
  * Gets the tab index based on the isFocusable flag.
12
14
  */
@@ -18,5 +18,13 @@ export declare class DayModel {
18
18
  clone(): DayModel;
19
19
  toComparisonString(): string;
20
20
  toDateString(): string;
21
+ /**
22
+ * Compares the dates and returns boolean value based on the value passed
23
+ */
24
+ isBefore(day: DayModel, dayInclusive?: boolean): boolean;
25
+ /**
26
+ * Compares the dates and returns boolean value based on the value passed
27
+ */
28
+ isAfter(day: DayModel, dayInclusive?: boolean): boolean;
21
29
  private pad;
22
30
  }
@@ -1,20 +1,22 @@
1
1
  import { AfterViewInit, ElementRef } from '@angular/core';
2
+ import { ClrCommonStringsService } from '../../utils';
2
3
  import { DateNavigationService } from './providers/date-navigation.service';
3
4
  import { DatepickerFocusService } from './providers/datepicker-focus.service';
4
5
  import { LocaleHelperService } from './providers/locale-helper.service';
5
6
  import { ViewManagerService } from './providers/view-manager.service';
6
7
  import * as i0 from "@angular/core";
7
8
  export declare class ClrMonthpicker implements AfterViewInit {
8
- private _viewManagerService;
9
9
  private _localeHelperService;
10
10
  private _dateNavigationService;
11
11
  private _datepickerFocusService;
12
12
  private _elRef;
13
+ private _viewManagerService;
14
+ commonStrings: ClrCommonStringsService;
13
15
  /**
14
16
  * Keeps track of the current focused month.
15
17
  */
16
18
  private _focusedMonthIndex;
17
- constructor(_viewManagerService: ViewManagerService, _localeHelperService: LocaleHelperService, _dateNavigationService: DateNavigationService, _datepickerFocusService: DatepickerFocusService, _elRef: ElementRef<HTMLElement>);
19
+ constructor(_localeHelperService: LocaleHelperService, _dateNavigationService: DateNavigationService, _datepickerFocusService: DatepickerFocusService, _elRef: ElementRef, _viewManagerService: ViewManagerService, commonStrings: ClrCommonStringsService);
18
20
  /**
19
21
  * Gets the months array which is used to rendered the monthpicker view.
20
22
  * Months are in the TranslationWidth.Wide format.
@@ -24,6 +26,23 @@ export declare class ClrMonthpicker implements AfterViewInit {
24
26
  * Gets the month value of the Calendar.
25
27
  */
26
28
  get calendarMonthIndex(): number;
29
+ /**
30
+ * Gets the year which the user is currently on.
31
+ */
32
+ get calendarEndMonthIndex(): number;
33
+ get yearAttrString(): string;
34
+ /**
35
+ * Returns the year value of the calendar.
36
+ */
37
+ get calendarYear(): number;
38
+ get currentCalendarYear(): number;
39
+ get currentCalendarMonth(): number;
40
+ getIsRangeStartMonth(monthIndex: number): boolean;
41
+ getIsRangeEndMonth(monthIndex: number): boolean;
42
+ /**
43
+ * Calls the ViewManagerService to change to the yearpicker view.
44
+ */
45
+ changeToYearView(): void;
27
46
  /**
28
47
  * Focuses on the current calendar month when the View is initialized.
29
48
  */
@@ -32,6 +51,11 @@ export declare class ClrMonthpicker implements AfterViewInit {
32
51
  * Handles the Keyboard arrow navigation for the monthpicker.
33
52
  */
34
53
  onKeyDown(event: KeyboardEvent): void;
54
+ isSelected(monthIndex: number): boolean;
55
+ /**
56
+ * Calls the DateNavigationService to update the hovered month value of the calendar
57
+ */
58
+ onHover(monthIndex: number): void;
35
59
  /**
36
60
  * Calls the DateNavigationService to update the month value of the calendar.
37
61
  * Also changes the view to the daypicker.
@@ -41,6 +65,23 @@ export declare class ClrMonthpicker implements AfterViewInit {
41
65
  * Compares the month passed to the focused month and returns the tab index.
42
66
  */
43
67
  getTabIndex(monthIndex: number): number;
68
+ /**
69
+ * Calls the DateNavigationService to move to the next month.
70
+ */
71
+ nextYear(): void;
72
+ /**
73
+ * Calls the DateNavigationService to move to the previous month.
74
+ */
75
+ previousYear(): void;
76
+ /**
77
+ * Calls the DateNavigationService to move to the current month.
78
+ */
79
+ currentYear(): void;
80
+ /**
81
+ * Applicable only to date range picker
82
+ * Compares the month passed is in between the start and end date range
83
+ */
84
+ isInRange(monthIndex: number): boolean;
44
85
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrMonthpicker, never>;
45
86
  static ɵcmp: i0.ɵɵComponentDeclaration<ClrMonthpicker, "clr-monthpicker", never, {}, {}, never, never, false, never>;
46
87
  }