@fundamental-ngx/core 0.52.2-rc.4 → 0.52.2-rc.40

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 (258) hide show
  1. package/calendar/calendar-views/calendar-day-view/calendar-day-view.component.d.ts +38 -38
  2. package/calendar/calendar-views/calendar-month-view/calendar-month-view.component.d.ts +71 -7
  3. package/calendar/calendar-views/calendar-year-view/calendar-year-view.component.d.ts +68 -3
  4. package/calendar/calendar.component.d.ts +12 -1
  5. package/calendar/calendar.service.d.ts +4 -1
  6. package/calendar/models/calendar-month.d.ts +6 -1
  7. package/calendar/models/calendar-year-grid.d.ts +6 -1
  8. package/date-picker/date-picker.component.d.ts +6 -1
  9. package/datetime/datetime-format.pipes.d.ts +25 -0
  10. package/datetime/datetime-utils.d.ts +7 -0
  11. package/datetime/fd-datetime-adapter.d.ts +14 -2
  12. package/datetime/fd-datetime-pipes.module.d.ts +1 -1
  13. package/datetime/index.d.ts +1 -0
  14. package/datetime-picker/datetime-picker.component.d.ts +3 -1
  15. package/dialog/base/dialog-config-base.class.d.ts +3 -0
  16. package/dialog/base/dialog-ref-base.class.d.ts +1 -1
  17. package/dialog/dialog-close-button/dialog-close-button.component.d.ts +4 -4
  18. package/dialog/dialog-full-screen-toggler-button/dialog-full-screen-toggler-button.component.d.ts +4 -4
  19. package/dialog/directives/dialog-template.directive.d.ts +2 -2
  20. package/dialog/directives/dialog-title.directive.d.ts +2 -2
  21. package/esm2022/action-bar/action-bar.component.mjs +2 -2
  22. package/esm2022/action-sheet/action-sheet.component.mjs +2 -2
  23. package/esm2022/avatar/avatar.component.mjs +2 -2
  24. package/esm2022/avatar-group/avatar-group.component.mjs +3 -3
  25. package/esm2022/avatar-group/directives/avatar-group-item-renderer.directive.mjs +9 -5
  26. package/esm2022/bar/bar.component.mjs +2 -2
  27. package/esm2022/breadcrumb/breadcrumb.component.mjs +2 -2
  28. package/esm2022/busy-indicator/busy-indicator.component.mjs +2 -2
  29. package/esm2022/button/button.component.mjs +2 -2
  30. package/esm2022/calendar/calendar-header/calendar-header.component.mjs +3 -3
  31. package/esm2022/calendar/calendar-views/calendar-aggregated-year-view/calendar-aggregated-year-view.component.mjs +2 -2
  32. package/esm2022/calendar/calendar-views/calendar-day-view/calendar-day-view.component.mjs +94 -95
  33. package/esm2022/calendar/calendar-views/calendar-month-view/calendar-month-view.component.mjs +210 -21
  34. package/esm2022/calendar/calendar-views/calendar-year-view/calendar-year-view.component.mjs +196 -9
  35. package/esm2022/calendar/calendar.component.mjs +40 -8
  36. package/esm2022/calendar/calendar.service.mjs +2 -2
  37. package/esm2022/calendar/models/calendar-month.mjs +1 -1
  38. package/esm2022/calendar/models/calendar-year-grid.mjs +1 -1
  39. package/esm2022/card/card.component.mjs +2 -2
  40. package/esm2022/carousel/carousel.component.mjs +2 -2
  41. package/esm2022/checkbox/checkbox/checkbox.component.mjs +2 -2
  42. package/esm2022/date-picker/date-picker.component.mjs +18 -4
  43. package/esm2022/datetime/datetime-format.pipes.mjs +70 -1
  44. package/esm2022/datetime/datetime-utils.mjs +58 -0
  45. package/esm2022/datetime/fd-datetime-adapter.mjs +43 -4
  46. package/esm2022/datetime/fd-datetime-pipes.module.mjs +18 -4
  47. package/esm2022/datetime/index.mjs +2 -1
  48. package/esm2022/datetime-picker/datetime-picker.component.mjs +23 -16
  49. package/esm2022/dialog/base/dialog-config-base.class.mjs +1 -1
  50. package/esm2022/dialog/base/dialog-ref-base.class.mjs +4 -2
  51. package/esm2022/dialog/dialog-close-button/dialog-close-button.component.mjs +11 -13
  52. package/esm2022/dialog/dialog-footer/dialog-footer.component.mjs +3 -3
  53. package/esm2022/dialog/dialog-full-screen-toggler-button/dialog-full-screen-toggler-button.component.mjs +12 -14
  54. package/esm2022/dialog/dialog-header/dialog-header.component.mjs +3 -3
  55. package/esm2022/dialog/dialog.component.mjs +3 -3
  56. package/esm2022/dialog/directives/dialog-template.directive.mjs +6 -6
  57. package/esm2022/dialog/directives/dialog-title.directive.mjs +6 -8
  58. package/esm2022/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.mjs +3 -3
  59. package/esm2022/dynamic-page/dynamic-page.component.mjs +3 -3
  60. package/esm2022/dynamic-side-content/dynamic-side-content.component.mjs +2 -2
  61. package/esm2022/facets/facet/facet.component.mjs +2 -2
  62. package/esm2022/facets/facet-group.component.mjs +2 -2
  63. package/esm2022/feed-input/feed-input.component.mjs +2 -2
  64. package/esm2022/feed-list-item/components/list/feed-list.component.mjs +2 -2
  65. package/esm2022/file-uploader/file-uploader.component.mjs +2 -2
  66. package/esm2022/fixed-card-layout/fixed-card-layout.component.mjs +2 -2
  67. package/esm2022/flexible-column-layout/flexible-column-layout.component.mjs +2 -2
  68. package/esm2022/form/fieldset/fieldset.component.mjs +2 -2
  69. package/esm2022/form/form-control/form-control.component.mjs +2 -2
  70. package/esm2022/form/form-group/form-group.component.mjs +2 -2
  71. package/esm2022/form/form-header/form-header.component.mjs +2 -2
  72. package/esm2022/form/form-item/form-item.component.mjs +2 -2
  73. package/esm2022/form/form-label/form-label.component.mjs +2 -2
  74. package/esm2022/form/form-message/form-message.component.mjs +2 -2
  75. package/esm2022/generic-tag/generic-tag.component.mjs +2 -2
  76. package/esm2022/grid-list/components/grid-list/grid-list.component.mjs +154 -38
  77. package/esm2022/grid-list/components/grid-list-item/grid-list-item.component.mjs +45 -17
  78. package/esm2022/grid-list/models/grid-list-selection.models.mjs +10 -1
  79. package/esm2022/icon/icon.component.mjs +2 -2
  80. package/esm2022/illustrated-message/illustrated-message.component.mjs +2 -2
  81. package/esm2022/info-label/info-label.component.mjs +2 -2
  82. package/esm2022/input-group/input-group.component.mjs +2 -2
  83. package/esm2022/layout-grid/layout-grid.component.mjs +2 -2
  84. package/esm2022/layout-panel/layout-panel.component.mjs +2 -2
  85. package/esm2022/link/link.component.mjs +2 -2
  86. package/esm2022/list/list-navigation-item/list-navigation-item.component.mjs +3 -3
  87. package/esm2022/list/list.component.mjs +2 -2
  88. package/esm2022/menu/menu.component.mjs +2 -2
  89. package/esm2022/message-box/message-box.component.mjs +2 -2
  90. package/esm2022/message-page/message-page.component.mjs +2 -2
  91. package/esm2022/message-strip/message-strip.component.mjs +2 -2
  92. package/esm2022/message-toast/message-toast.component.mjs +2 -2
  93. package/esm2022/micro-process-flow/components/micro-process-flow/micro-process-flow.component.mjs +2 -2
  94. package/esm2022/multi-combobox/base-multi-combobox.class.mjs +10 -5
  95. package/esm2022/multi-combobox/multi-announcer/multi-announcer.directive.mjs +7 -12
  96. package/esm2022/multi-combobox/multi-combobox.component.mjs +12 -7
  97. package/esm2022/multi-input/multi-input.component.mjs +7 -5
  98. package/esm2022/notification/notification/notification.component.mjs +2 -2
  99. package/esm2022/object-attribute/object-attribute.component.mjs +2 -2
  100. package/esm2022/object-identifier/object-identifier.component.mjs +2 -2
  101. package/esm2022/object-marker/object-marker.component.mjs +2 -2
  102. package/esm2022/object-number/object-number.component.mjs +2 -2
  103. package/esm2022/object-status/object-status.component.mjs +2 -2
  104. package/esm2022/pagination/pagination.component.mjs +2 -2
  105. package/esm2022/panel/panel.component.mjs +2 -2
  106. package/esm2022/popover/base/base-popover.class.mjs +6 -2
  107. package/esm2022/popover/popover-body/popover-body.component.mjs +14 -3
  108. package/esm2022/popover/popover-service/popover.service.mjs +33 -1
  109. package/esm2022/product-switch/product-switch-body/product-switch-body.component.mjs +2 -2
  110. package/esm2022/progress-indicator/progress-indicator.component.mjs +2 -2
  111. package/esm2022/quick-view/quick-view/quick-view.component.mjs +2 -2
  112. package/esm2022/radio/radio-button/radio-button.component.mjs +2 -2
  113. package/esm2022/rating-indicator/components/rating-indicator.component.mjs +2 -2
  114. package/esm2022/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +2 -2
  115. package/esm2022/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +2 -2
  116. package/esm2022/segmented-button/segmented-button.component.mjs +2 -2
  117. package/esm2022/select/select.component.mjs +2 -2
  118. package/esm2022/shared/interfaces/popover-position.mjs +19 -1
  119. package/esm2022/shellbar/shellbar.component.mjs +3 -3
  120. package/esm2022/side-navigation/side-navigation.component.mjs +2 -2
  121. package/esm2022/skeleton/components/skeleton.component.mjs +2 -2
  122. package/esm2022/slider/slider.component.mjs +3 -3
  123. package/esm2022/split-button/split-button.component.mjs +2 -2
  124. package/esm2022/status-indicator/status-indicator.component.mjs +2 -2
  125. package/esm2022/step-input/step-input.component.mjs +2 -2
  126. package/esm2022/switch/switch.component.mjs +2 -2
  127. package/esm2022/table/table-wrapper.component.mjs +2 -2
  128. package/esm2022/table/table.component.mjs +2 -2
  129. package/esm2022/tabs/tab-list.component.mjs +2 -2
  130. package/esm2022/tabs/tab-nav/tab-nav.component.mjs +2 -2
  131. package/esm2022/text/text.component.mjs +2 -2
  132. package/esm2022/tile/tile.component.mjs +2 -2
  133. package/esm2022/time/time.component.mjs +2 -2
  134. package/esm2022/time-picker/time-picker.component.mjs +12 -11
  135. package/esm2022/title/title.component.mjs +2 -2
  136. package/esm2022/token/token.component.mjs +2 -2
  137. package/esm2022/token/tokenizer.component.mjs +2 -2
  138. package/esm2022/toolbar/toolbar.component.mjs +2 -2
  139. package/esm2022/tree/tree.component.mjs +3 -3
  140. package/esm2022/upload-collection/upload-collection.component.mjs +2 -2
  141. package/esm2022/vertical-navigation/vertical-navigation-main-navigation.component.mjs +2 -2
  142. package/esm2022/vertical-navigation/vertical-navigation.component.mjs +2 -2
  143. package/esm2022/wizard/wizard-step/wizard-step.component.mjs +4 -4
  144. package/esm2022/wizard/wizard.component.mjs +2 -2
  145. package/fesm2022/fundamental-ngx-core-action-bar.mjs +2 -2
  146. package/fesm2022/fundamental-ngx-core-action-sheet.mjs +2 -2
  147. package/fesm2022/fundamental-ngx-core-avatar-group.mjs +10 -6
  148. package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  149. package/fesm2022/fundamental-ngx-core-avatar.mjs +2 -2
  150. package/fesm2022/fundamental-ngx-core-bar.mjs +2 -2
  151. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +2 -2
  152. package/fesm2022/fundamental-ngx-core-busy-indicator.mjs +2 -2
  153. package/fesm2022/fundamental-ngx-core-button.mjs +2 -2
  154. package/fesm2022/fundamental-ngx-core-calendar.mjs +538 -133
  155. package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
  156. package/fesm2022/fundamental-ngx-core-card.mjs +2 -2
  157. package/fesm2022/fundamental-ngx-core-carousel.mjs +2 -2
  158. package/fesm2022/fundamental-ngx-core-checkbox.mjs +2 -2
  159. package/fesm2022/fundamental-ngx-core-date-picker.mjs +17 -3
  160. package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
  161. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +19 -9
  162. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  163. package/fesm2022/fundamental-ngx-core-datetime.mjs +185 -6
  164. package/fesm2022/fundamental-ngx-core-datetime.mjs.map +1 -1
  165. package/fesm2022/fundamental-ngx-core-dialog.mjs +37 -41
  166. package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
  167. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +4 -4
  168. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  169. package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs +2 -2
  170. package/fesm2022/fundamental-ngx-core-facets.mjs +4 -4
  171. package/fesm2022/fundamental-ngx-core-facets.mjs.map +1 -1
  172. package/fesm2022/fundamental-ngx-core-feed-input.mjs +2 -2
  173. package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +2 -2
  174. package/fesm2022/fundamental-ngx-core-file-uploader.mjs +2 -2
  175. package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs +2 -2
  176. package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs +2 -2
  177. package/fesm2022/fundamental-ngx-core-form.mjs +14 -14
  178. package/fesm2022/fundamental-ngx-core-generic-tag.mjs +2 -2
  179. package/fesm2022/fundamental-ngx-core-grid-list.mjs +203 -50
  180. package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
  181. package/fesm2022/fundamental-ngx-core-icon.mjs +2 -2
  182. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +2 -2
  183. package/fesm2022/fundamental-ngx-core-info-label.mjs +2 -2
  184. package/fesm2022/fundamental-ngx-core-input-group.mjs +2 -2
  185. package/fesm2022/fundamental-ngx-core-layout-grid.mjs +2 -2
  186. package/fesm2022/fundamental-ngx-core-layout-panel.mjs +2 -2
  187. package/fesm2022/fundamental-ngx-core-link.mjs +2 -2
  188. package/fesm2022/fundamental-ngx-core-list.mjs +4 -4
  189. package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
  190. package/fesm2022/fundamental-ngx-core-menu.mjs +2 -2
  191. package/fesm2022/fundamental-ngx-core-message-box.mjs +2 -2
  192. package/fesm2022/fundamental-ngx-core-message-page.mjs +2 -2
  193. package/fesm2022/fundamental-ngx-core-message-strip.mjs +2 -2
  194. package/fesm2022/fundamental-ngx-core-message-toast.mjs +2 -2
  195. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +2 -2
  196. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +25 -20
  197. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  198. package/fesm2022/fundamental-ngx-core-multi-input.mjs +6 -4
  199. package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
  200. package/fesm2022/fundamental-ngx-core-notification.mjs +2 -2
  201. package/fesm2022/fundamental-ngx-core-object-attribute.mjs +2 -2
  202. package/fesm2022/fundamental-ngx-core-object-identifier.mjs +2 -2
  203. package/fesm2022/fundamental-ngx-core-object-marker.mjs +2 -2
  204. package/fesm2022/fundamental-ngx-core-object-number.mjs +2 -2
  205. package/fesm2022/fundamental-ngx-core-object-status.mjs +2 -2
  206. package/fesm2022/fundamental-ngx-core-pagination.mjs +2 -2
  207. package/fesm2022/fundamental-ngx-core-panel.mjs +2 -2
  208. package/fesm2022/fundamental-ngx-core-popover.mjs +50 -3
  209. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  210. package/fesm2022/fundamental-ngx-core-product-switch.mjs +2 -2
  211. package/fesm2022/fundamental-ngx-core-progress-indicator.mjs +2 -2
  212. package/fesm2022/fundamental-ngx-core-quick-view.mjs +2 -2
  213. package/fesm2022/fundamental-ngx-core-radio.mjs +2 -2
  214. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +2 -2
  215. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +4 -4
  216. package/fesm2022/fundamental-ngx-core-segmented-button.mjs +2 -2
  217. package/fesm2022/fundamental-ngx-core-select.mjs +2 -2
  218. package/fesm2022/fundamental-ngx-core-shared.mjs +19 -1
  219. package/fesm2022/fundamental-ngx-core-shared.mjs.map +1 -1
  220. package/fesm2022/fundamental-ngx-core-shellbar.mjs +2 -2
  221. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  222. package/fesm2022/fundamental-ngx-core-side-navigation.mjs +2 -2
  223. package/fesm2022/fundamental-ngx-core-skeleton.mjs +2 -2
  224. package/fesm2022/fundamental-ngx-core-slider.mjs +2 -2
  225. package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
  226. package/fesm2022/fundamental-ngx-core-split-button.mjs +2 -2
  227. package/fesm2022/fundamental-ngx-core-status-indicator.mjs +2 -2
  228. package/fesm2022/fundamental-ngx-core-step-input.mjs +2 -2
  229. package/fesm2022/fundamental-ngx-core-switch.mjs +2 -2
  230. package/fesm2022/fundamental-ngx-core-table.mjs +4 -4
  231. package/fesm2022/fundamental-ngx-core-tabs.mjs +4 -4
  232. package/fesm2022/fundamental-ngx-core-text.mjs +2 -2
  233. package/fesm2022/fundamental-ngx-core-tile.mjs +2 -2
  234. package/fesm2022/fundamental-ngx-core-tile.mjs.map +1 -1
  235. package/fesm2022/fundamental-ngx-core-time-picker.mjs +8 -4
  236. package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
  237. package/fesm2022/fundamental-ngx-core-time.mjs +2 -2
  238. package/fesm2022/fundamental-ngx-core-title.mjs +2 -2
  239. package/fesm2022/fundamental-ngx-core-token.mjs +4 -4
  240. package/fesm2022/fundamental-ngx-core-toolbar.mjs +2 -2
  241. package/fesm2022/fundamental-ngx-core-tree.mjs +2 -2
  242. package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
  243. package/fesm2022/fundamental-ngx-core-upload-collection.mjs +2 -2
  244. package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs +4 -4
  245. package/fesm2022/fundamental-ngx-core-wizard.mjs +5 -5
  246. package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
  247. package/grid-list/components/grid-list/grid-list.component.d.ts +20 -0
  248. package/grid-list/components/grid-list-item/grid-list-item.component.d.ts +7 -2
  249. package/grid-list/models/grid-list-selection.models.d.ts +8 -0
  250. package/multi-combobox/base-multi-combobox.class.d.ts +1 -1
  251. package/multi-combobox/multi-combobox.component.d.ts +9 -2
  252. package/multi-input/multi-input.component.d.ts +4 -2
  253. package/package.json +4 -4
  254. package/popover/base/base-popover.class.d.ts +3 -1
  255. package/popover/popover-body/popover-body.component.d.ts +2 -0
  256. package/popover/popover-service/popover.service.d.ts +11 -0
  257. package/shared/interfaces/popover-position.d.ts +17 -0
  258. package/wizard/wizard-step/wizard-step.component.d.ts +1 -1
@@ -16,21 +16,6 @@ export declare class CalendarDayViewComponent<D> implements OnInit, OnChanges, F
16
16
  private calendarService;
17
17
  private _dateTimeFormats;
18
18
  _dateTimeAdapter: DatetimeAdapter<D>;
19
- /**
20
- * Function used to disable certain dates in the calendar.
21
- * @param date date type
22
- */
23
- disableFunction: DisableDateFunction<D>;
24
- /**
25
- * Function used to disable certain dates in the calendar for the range start selection.
26
- * @param date date representation
27
- */
28
- disableRangeStartFunction: DisableDateFunction<D>;
29
- /**
30
- * Function used to disable certain dates in the calendar for the range end selection.
31
- * @param date date representation
32
- */
33
- disableRangeEndFunction: DisableDateFunction<D>;
34
19
  /** Currently displayed month and year for days */
35
20
  set currentlyDisplayed(currentlyDisplayed: CalendarCurrent);
36
21
  get currentlyDisplayed(): CalendarCurrent;
@@ -46,34 +31,61 @@ export declare class CalendarDayViewComponent<D> implements OnInit, OnChanges, F
46
31
  /** The currently selected FdDates model start and end in multiple range mode. */
47
32
  set selectedMultipleDateRanges(dateRanges: Array<DateRange<D>>);
48
33
  get selectedMultipleDateRanges(): Array<DateRange<D>>;
34
+ /** Event emitted always, when next month is selected, by focus */
35
+ readonly nextMonthSelect: EventEmitter<void>;
36
+ /** Event emitted always, when previous month is selected, by focus */
37
+ readonly previousMonthSelect: EventEmitter<void>;
38
+ /** Event thrown every time selected date in single mode is changed */
39
+ readonly selectedDateChange: EventEmitter<D>;
40
+ /** Event thrown every time the selected dates in multiple mode are changed. */
41
+ readonly selectedMultipleDatesChange: EventEmitter<Array<D>>;
42
+ /** Event thrown every time selected first or last date in range mode is changed */
43
+ readonly selectedRangeDateChange: EventEmitter<DateRange<D>>;
44
+ /** Event thrown every time the first or last date in multiple range mode is changed. */
45
+ readonly selectedMultipleDateRangesChange: EventEmitter<Array<DateRange<D>>>;
46
+ /**
47
+ * Function used to disable certain dates in the calendar.
48
+ * @param date date type
49
+ */
50
+ disableFunction: import("@angular/core").ModelSignal<DisableDateFunction<D>>;
51
+ /**
52
+ * Function used to disable certain dates in the calendar for the range start selection.
53
+ * @param date date representation
54
+ */
55
+ disableRangeStartFunction: import("@angular/core").ModelSignal<DisableDateFunction<D>>;
56
+ /**
57
+ * Function used to disable certain dates in the calendar for the range end selection.
58
+ * @param date date representation
59
+ */
60
+ disableRangeEndFunction: import("@angular/core").ModelSignal<DisableDateFunction<D>>;
49
61
  /** The day of the week the calendar should start on. 1 represents Sunday, 2 is Monday, 3 is Tuesday, and so on. */
50
- startingDayOfWeek: DaysOfWeek;
62
+ startingDayOfWeek: import("@angular/core").ModelSignal<DaysOfWeek | undefined>;
51
63
  /** The type of calendar, 'single' for single date selection or 'range' for a range of dates. */
52
- calType: CalendarType;
64
+ calType: import("@angular/core").ModelSignal<CalendarType>;
53
65
  /** Id of the calendar. If none is provided, one will be generated. */
54
- id: string;
66
+ id: import("@angular/core").InputSignal<string | undefined>;
55
67
  /**
56
68
  * Whether user wants to mark day cells on hover.
57
69
  * Works only on range mode, when start date is selected.
58
70
  */
59
- rangeHoverEffect: boolean;
71
+ rangeHoverEffect: import("@angular/core").ModelSignal<boolean>;
60
72
  /**
61
73
  * Whether user wants to mark sunday/saturday with `fd-calendar__item--weekend` class
62
74
  */
63
- markWeekends: boolean;
75
+ markWeekends: import("@angular/core").InputSignal<boolean>;
64
76
  /**
65
77
  * Whether user wants to show week numbers next to days
66
78
  */
67
- showWeekNumbers: boolean;
79
+ showWeekNumbers: import("@angular/core").InputSignal<boolean>;
68
80
  /**
69
81
  * Whether the user wants to select multiple days or multiple range dates.
70
82
  * If `displayWeekNumbers` is true, the user can click on the week number to mark the related row.
71
83
  * The user can click on week days to mark the related column.
72
84
  * Note: Clickable selection for week row or column does not work for range selections.
73
85
  */
74
- allowMultipleSelection: boolean;
86
+ allowMultipleSelection: import("@angular/core").ModelSignal<boolean>;
75
87
  /** Function that allows to specify which function would be called, when focus wants to escape */
76
- focusEscapeFunction: EscapeFocusFunction;
88
+ focusEscapeFunction: import("@angular/core").InputSignal<EscapeFocusFunction>;
77
89
  /**
78
90
  * Special days mark, it can be used by passing array of object with
79
91
  * Special day number, list 1-20 [class:`fd-calendar__item--legend-{{number}}`] is available there:
@@ -81,19 +93,7 @@ export declare class CalendarDayViewComponent<D> implements OnInit, OnChanges, F
81
93
  * Rule accepts method with date object as a parameter. ex:
82
94
  * `rule: (date: D) => this.dateAdapter.getDay(date) === 1`, which will mark all sundays as special day.
83
95
  */
84
- specialDaysRules: SpecialDayRule<D>[];
85
- /** Event emitted always, when next month is selected, by focus */
86
- readonly nextMonthSelect: EventEmitter<void>;
87
- /** Event emitted always, when previous month is selected, by focus */
88
- readonly previousMonthSelect: EventEmitter<void>;
89
- /** Event thrown every time selected date in single mode is changed */
90
- readonly selectedDateChange: EventEmitter<D>;
91
- /** Event thrown every time the selected dates in multiple mode are changed. */
92
- readonly selectedMultipleDatesChange: EventEmitter<Array<D>>;
93
- /** Event thrown every time selected first or last date in range mode is changed */
94
- readonly selectedRangeDateChange: EventEmitter<DateRange<D>>;
95
- /** Event thrown every time the first or last date in multiple range mode is changed. */
96
- readonly selectedMultipleDateRangesChange: EventEmitter<Array<DateRange<D>>>;
96
+ specialDaysRules: import("@angular/core").InputSignal<SpecialDayRule<D>[]>;
97
97
  /**
98
98
  * @hidden
99
99
  * Actual day grid with previous/current/next month days
@@ -159,7 +159,7 @@ export declare class CalendarDayViewComponent<D> implements OnInit, OnChanges, F
159
159
  * @param day The calendar day to be selected.
160
160
  * @param event Optional mouse event for handling event propagation.
161
161
  */
162
- selectDate(day: CalendarDay<D>, event?: MouseEvent): void;
162
+ selectDate(day: CalendarDay<D>, event?: MouseEvent | KeyboardEvent): void;
163
163
  /**
164
164
  * Toggles the selection of a week on the calendar.
165
165
  * If the provided week is already fully selected, it will deselect it.
@@ -487,5 +487,5 @@ export declare class CalendarDayViewComponent<D> implements OnInit, OnChanges, F
487
487
  */
488
488
  private _handleMultiRangeHover;
489
489
  static ɵfac: i0.ɵɵFactoryDeclaration<CalendarDayViewComponent<any>, never>;
490
- static ɵcmp: i0.ɵɵComponentDeclaration<CalendarDayViewComponent<any>, "fd-calendar-day-view", never, { "disableFunction": { "alias": "disableFunction"; "required": false; }; "disableRangeStartFunction": { "alias": "disableRangeStartFunction"; "required": false; }; "disableRangeEndFunction": { "alias": "disableRangeEndFunction"; "required": false; }; "currentlyDisplayed": { "alias": "currentlyDisplayed"; "required": false; }; "selectedDate": { "alias": "selectedDate"; "required": false; }; "selectedMultipleDates": { "alias": "selectedMultipleDates"; "required": false; }; "selectedRangeDate": { "alias": "selectedRangeDate"; "required": false; }; "selectedMultipleDateRanges": { "alias": "selectedMultipleDateRanges"; "required": false; }; "startingDayOfWeek": { "alias": "startingDayOfWeek"; "required": false; }; "calType": { "alias": "calType"; "required": false; }; "id": { "alias": "id"; "required": false; }; "rangeHoverEffect": { "alias": "rangeHoverEffect"; "required": false; }; "markWeekends": { "alias": "markWeekends"; "required": false; }; "showWeekNumbers": { "alias": "showWeekNumbers"; "required": false; }; "allowMultipleSelection": { "alias": "allowMultipleSelection"; "required": false; }; "focusEscapeFunction": { "alias": "focusEscapeFunction"; "required": false; }; "specialDaysRules": { "alias": "specialDaysRules"; "required": false; }; }, { "nextMonthSelect": "nextMonthSelect"; "previousMonthSelect": "previousMonthSelect"; "selectedDateChange": "selectedDateChange"; "selectedMultipleDatesChange": "selectedMultipleDatesChange"; "selectedRangeDateChange": "selectedRangeDateChange"; "selectedMultipleDateRangesChange": "selectedMultipleDateRangesChange"; }, never, never, true, never>;
490
+ static ɵcmp: i0.ɵɵComponentDeclaration<CalendarDayViewComponent<any>, "fd-calendar-day-view", never, { "currentlyDisplayed": { "alias": "currentlyDisplayed"; "required": false; }; "selectedDate": { "alias": "selectedDate"; "required": false; }; "selectedMultipleDates": { "alias": "selectedMultipleDates"; "required": false; }; "selectedRangeDate": { "alias": "selectedRangeDate"; "required": false; }; "selectedMultipleDateRanges": { "alias": "selectedMultipleDateRanges"; "required": false; }; "disableFunction": { "alias": "disableFunction"; "required": false; "isSignal": true; }; "disableRangeStartFunction": { "alias": "disableRangeStartFunction"; "required": false; "isSignal": true; }; "disableRangeEndFunction": { "alias": "disableRangeEndFunction"; "required": false; "isSignal": true; }; "startingDayOfWeek": { "alias": "startingDayOfWeek"; "required": false; "isSignal": true; }; "calType": { "alias": "calType"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "rangeHoverEffect": { "alias": "rangeHoverEffect"; "required": false; "isSignal": true; }; "markWeekends": { "alias": "markWeekends"; "required": false; "isSignal": true; }; "showWeekNumbers": { "alias": "showWeekNumbers"; "required": false; "isSignal": true; }; "allowMultipleSelection": { "alias": "allowMultipleSelection"; "required": false; "isSignal": true; }; "focusEscapeFunction": { "alias": "focusEscapeFunction"; "required": false; "isSignal": true; }; "specialDaysRules": { "alias": "specialDaysRules"; "required": false; "isSignal": true; }; }, { "nextMonthSelect": "nextMonthSelect"; "previousMonthSelect": "previousMonthSelect"; "selectedDateChange": "selectedDateChange"; "selectedMultipleDatesChange": "selectedMultipleDatesChange"; "selectedRangeDateChange": "selectedRangeDateChange"; "selectedMultipleDateRangesChange": "selectedMultipleDateRangesChange"; "disableFunction": "disableFunctionChange"; "disableRangeStartFunction": "disableRangeStartFunctionChange"; "disableRangeEndFunction": "disableRangeEndFunctionChange"; "startingDayOfWeek": "startingDayOfWeekChange"; "calType": "calTypeChange"; "rangeHoverEffect": "rangeHoverEffectChange"; "allowMultipleSelection": "allowMultipleSelectionChange"; }, never, never, true, never>;
491
491
  }
@@ -3,6 +3,7 @@ import { DateTimeFormats, DatetimeAdapter } from '@fundamental-ngx/core/datetime
3
3
  import { CalendarService } from '../../calendar.service';
4
4
  import { CalendarMonth } from '../../models/calendar-month';
5
5
  import { EscapeFocusFunction, FocusableCalendarView } from '../../models/common';
6
+ import { DateRange } from '../../models/date-range';
6
7
  import * as i0 from "@angular/core";
7
8
  /** Component representing the month view of the calendar. */
8
9
  export declare class CalendarMonthViewComponent<D> implements OnInit, OnChanges, FocusableCalendarView {
@@ -19,13 +20,22 @@ export declare class CalendarMonthViewComponent<D> implements OnInit, OnChanges,
19
20
  focusEscapeFunction: EscapeFocusFunction;
20
21
  /** A year the month view is referring to */
21
22
  year: number;
23
+ /** Whether to pick the date range in month year format without picking days */
24
+ isDateRangeMonthYearFormat: boolean;
22
25
  /** An event fired when a new month is selected */
23
26
  readonly monthClicked: EventEmitter<number>;
27
+ /** Event thrown every time selected first or last date in range mode is changed */
28
+ readonly selectedRangeDateChange: EventEmitter<DateRange<D>>;
29
+ /**
30
+ * Whether user wants to mark month cells on hover.
31
+ * Works only on range mode, when start month is selected.
32
+ */
33
+ rangeHoverEffect: boolean;
24
34
  /**
25
35
  * @hidden
26
36
  * Month grid table
27
37
  */
28
- _calendarMonthListGrid: CalendarMonth[][];
38
+ _calendarMonthListGrid: CalendarMonth<D>[][];
29
39
  /**
30
40
  * @hidden
31
41
  * A number offset used to achieve the 1-12 representation of the calendar
@@ -42,6 +52,9 @@ export declare class CalendarMonthViewComponent<D> implements OnInit, OnChanges,
42
52
  /** @hidden */
43
53
  private _initiated;
44
54
  /** @hidden */
55
+ private _selectedRangeDate;
56
+ private _isOnRangePick;
57
+ /** @hidden */
45
58
  constructor(_eRef: ElementRef, _changeDetectorRef: ChangeDetectorRef, _calendarService: CalendarService, _dateTimeFormats: DateTimeFormats, _dateTimeAdapter: DatetimeAdapter<D>);
46
59
  /** @hidden */
47
60
  ngOnInit(): void;
@@ -63,13 +76,17 @@ export declare class CalendarMonthViewComponent<D> implements OnInit, OnChanges,
63
76
  * Selected date label ID
64
77
  */
65
78
  get _selectedDateLabelId(): string;
66
- /** Method for handling the mouse click event when a month is selected */
67
- selectMonth(monthCell: CalendarMonth, event?: MouseEvent): void;
79
+ /** The currently selected FdDates model start and end in range mode. */
80
+ set selectedRangeDate(dateRange: DateRange<D>);
81
+ get selectedRangeDate(): DateRange<D>;
68
82
  /**
69
- * Set focus on month cell.
70
- * It can be a selected cell, current month cell or first cell in the list
83
+ * @hidden
84
+ * Amount of selected months
85
+ * 0, when there is no month selected, or start month is invalid,
86
+ * 1, when there is only valid start month, or end month is same as start month,
87
+ * 2, when both dates are valid
71
88
  */
72
- setFocusOnCell(): void;
89
+ get _selectCounter(): number;
73
90
  /**
74
91
  * @hidden
75
92
  * Method for handling the keyboard events (a11y)
@@ -100,6 +117,53 @@ export declare class CalendarMonthViewComponent<D> implements OnInit, OnChanges,
100
117
  * Method that check if this is selected month
101
118
  */
102
119
  _isSelected(id: number): boolean;
120
+ /** Method for handling the mouse click event when a month is selected */
121
+ selectMonth(monthCell: CalendarMonth<D>, event?: MouseEvent | KeyboardEvent): void;
122
+ /**
123
+ * Set focus on month cell.
124
+ * It can be a selected cell, current month cell or first cell in the list
125
+ */
126
+ setFocusOnCell(): void;
127
+ /**
128
+ * @hidden
129
+ * Handles hover effect for range selection mode.
130
+ * @param month The calendar month that is hovered.
131
+ */
132
+ _handleRangeHover(month: CalendarMonth<D>): void;
133
+ /**
134
+ * @hidden
135
+ * Handles the hover effect for range selection.
136
+ * Toggles the hover effect based on the selection state and event.
137
+ * @param event Optional mouse event for handling hover effect.
138
+ */
139
+ private _handleRangeHoverEffect;
140
+ /**
141
+ * @hidden
142
+ * Selects or updates the range of dates in range mode.
143
+ * Handles the start and end dates and updates the selected range.
144
+ * @param month The calendar month to be selected or updated in the range.
145
+ */
146
+ private _selectRangeDate;
147
+ /**
148
+ * @hidden
149
+ * Orders the start and end dates for the range selection.
150
+ * Ensures the start date is before or equal to the end date.
151
+ * @param date1 The first date.
152
+ * @param date2 The second date.
153
+ * @returns An object containing the ordered start and end dates.
154
+ */
155
+ private _getOrderedRange;
156
+ /**
157
+ * @hidden
158
+ * Change properties of range months, this method is called, to not rebuild whole grid from scratch,
159
+ * it just changes properties of newly selected/unselected months.
160
+ */
161
+ private _changeSelectedRangeMonths;
162
+ /**
163
+ * @hidden
164
+ * Check if dates are equal
165
+ */
166
+ private _isSameDate;
103
167
  /**
104
168
  * @hidden
105
169
  * Method that create month grid with required meta data
@@ -118,5 +182,5 @@ export declare class CalendarMonthViewComponent<D> implements OnInit, OnChanges,
118
182
  /** @hidden */
119
183
  private _focusOnCellByIndex;
120
184
  static ɵfac: i0.ɵɵFactoryDeclaration<CalendarMonthViewComponent<any>, never>;
121
- static ɵcmp: i0.ɵɵComponentDeclaration<CalendarMonthViewComponent<any>, "fd-calendar-month-view", never, { "id": { "alias": "id"; "required": false; }; "monthSelected": { "alias": "monthSelected"; "required": false; }; "focusEscapeFunction": { "alias": "focusEscapeFunction"; "required": false; }; "year": { "alias": "year"; "required": false; }; }, { "monthClicked": "monthClicked"; }, never, never, true, never>;
185
+ static ɵcmp: i0.ɵɵComponentDeclaration<CalendarMonthViewComponent<any>, "fd-calendar-month-view", never, { "id": { "alias": "id"; "required": false; }; "monthSelected": { "alias": "monthSelected"; "required": false; }; "focusEscapeFunction": { "alias": "focusEscapeFunction"; "required": false; }; "year": { "alias": "year"; "required": false; }; "isDateRangeMonthYearFormat": { "alias": "isDateRangeMonthYearFormat"; "required": false; }; "rangeHoverEffect": { "alias": "rangeHoverEffect"; "required": false; }; "selectedRangeDate": { "alias": "selectedRangeDate"; "required": false; }; }, { "monthClicked": "monthClicked"; "selectedRangeDateChange": "selectedRangeDateChange"; }, never, never, true, never>;
122
186
  }
@@ -3,6 +3,7 @@ import { DateTimeFormats, DatetimeAdapter } from '@fundamental-ngx/core/datetime
3
3
  import { CalendarService } from '../../calendar.service';
4
4
  import { CalendarYear, CalendarYearGrid } from '../../models/calendar-year-grid';
5
5
  import { EscapeFocusFunction, FocusableCalendarView } from '../../models/common';
6
+ import { DateRange } from '../../models/date-range';
6
7
  import * as i0 from "@angular/core";
7
8
  /** Component representing the YearView of the Calendar Component. */
8
9
  export declare class CalendarYearViewComponent<D> implements OnInit, OnChanges, FocusableCalendarView {
@@ -21,8 +22,17 @@ export declare class CalendarYearViewComponent<D> implements OnInit, OnChanges,
21
22
  * Object to customize year grid
22
23
  */
23
24
  yearViewGrid: CalendarYearGrid;
25
+ /** Whether the date range is year format only excluding month and day */
26
+ isDateRangeYearFormat: boolean;
27
+ /**
28
+ * Whether user wants to mark year cells on hover.
29
+ * Works only on range mode, when start year is selected.
30
+ */
31
+ rangeHoverEffect: boolean;
24
32
  /** Event fired when a year is selected. */
25
33
  readonly yearClicked: EventEmitter<number>;
34
+ /** Event thrown every time selected first or last date in range mode is changed */
35
+ readonly selectedRangeDateChange: EventEmitter<DateRange<D>>;
26
36
  /**
27
37
  * @hidden
28
38
  * This variable is used to define which year from calendarYearList should be focusable by tab key
@@ -32,7 +42,7 @@ export declare class CalendarYearViewComponent<D> implements OnInit, OnChanges,
32
42
  * @hidden
33
43
  * Parameter that stores the dozen of years that are currently being displayed.
34
44
  */
35
- _calendarYearListGrid: CalendarYear[][];
45
+ _calendarYearListGrid: CalendarYear<D>[][];
36
46
  /**
37
47
  * @hidden
38
48
  * Parameter storing the year of the present day.
@@ -62,17 +72,32 @@ export declare class CalendarYearViewComponent<D> implements OnInit, OnChanges,
62
72
  /** @hidden */
63
73
  private _initiated;
64
74
  /** @hidden */
75
+ private _selectedRangeDate;
76
+ /** @hidden */
77
+ private _isOnRangePick;
78
+ /** @hidden */
65
79
  constructor(_eRef: ElementRef, _changeDetectorRef: ChangeDetectorRef, _calendarService: CalendarService, _dateTimeAdapter: DatetimeAdapter<D>, _dateTimeFormats: DateTimeFormats);
66
80
  /** @hidden */
67
81
  ngOnInit(): void;
68
82
  /** @hidden */
69
83
  ngOnChanges(changes: SimpleChanges): void;
84
+ /** The currently selected FdDates model start and end in range mode. */
85
+ set selectedRangeDate(dateRange: DateRange<D>);
86
+ get selectedRangeDate(): DateRange<D>;
87
+ /**
88
+ * @hidden
89
+ * Amount of selected years
90
+ * 0, when there is no year selected, or start year is invalid,
91
+ * 1, when there is only valid start year, or end year is same as start year,
92
+ * 2, when both dates are valid
93
+ */
94
+ get _selectCounter(): number;
70
95
  /** Method used to load the previous {{col * row}} years to be displayed. */
71
96
  loadNextYearList(): void;
72
97
  /** Method used to load the next {{col * row}} years to be displayed. */
73
98
  loadPreviousYearList(): void;
74
99
  /** Method that sends the year to the parent component when it is clicked. */
75
- selectYear(selectedYear: CalendarYear, event?: MouseEvent): void;
100
+ selectYear(selectedYear: CalendarYear<D>, event?: MouseEvent | KeyboardEvent): void;
76
101
  /**
77
102
  * Set focus on month cell.
78
103
  * It can be a selected cell, current month cell or first cell in the list
@@ -99,6 +124,12 @@ export declare class CalendarYearViewComponent<D> implements OnInit, OnChanges,
99
124
  * @param index
100
125
  */
101
126
  _getId(index: number): string;
127
+ /**
128
+ * @hidden
129
+ * Handles hover effect for range selection mode.
130
+ * @param year The calendar year that is hovered.
131
+ */
132
+ _handleRangeHover(year: CalendarYear<D>): void;
102
133
  /**
103
134
  * @hidden
104
135
  * Method that returns active cell, which means:
@@ -109,6 +140,40 @@ export declare class CalendarYearViewComponent<D> implements OnInit, OnChanges,
109
140
  private _getActiveYear;
110
141
  /** @hidden */
111
142
  private _constructYearGrid;
143
+ /**
144
+ * @hidden
145
+ * Handles the hover effect for range selection.
146
+ * Toggles the hover effect based on the selection state and event.
147
+ * @param event Optional mouse event for handling hover effect.
148
+ */
149
+ private _handleRangeHoverEffect;
150
+ /**
151
+ * @hidden
152
+ * Change properties of range years, this method is called, to not rebuild whole grid from scratch,
153
+ * it just changes properties of newly selected/unselected years.
154
+ */
155
+ private _changeSelectedRangeYears;
156
+ /**
157
+ * @hidden
158
+ * Check if dates are equal
159
+ */
160
+ private _isSameDate;
161
+ /**
162
+ * @hidden
163
+ * Selects or updates the range of years in range mode.
164
+ * Handles the start and end years and updates the selected range.
165
+ * @param year The calendar year to be selected or updated in the range.
166
+ */
167
+ private _selectRangeDate;
168
+ /**
169
+ * @hidden
170
+ * Orders the start and end dates for the range selection.
171
+ * Ensures the start date is before or equal to the end date.
172
+ * @param date1 The first date.
173
+ * @param date2 The second date.
174
+ * @returns An object containing the ordered start and end dates.
175
+ */
176
+ private _getOrderedRange;
112
177
  /**
113
178
  * @hidden
114
179
  * Returns year name as a string.
@@ -142,5 +207,5 @@ export declare class CalendarYearViewComponent<D> implements OnInit, OnChanges,
142
207
  /** @hidden */
143
208
  private _focusOnCellByIndex;
144
209
  static ɵfac: i0.ɵɵFactoryDeclaration<CalendarYearViewComponent<any>, never>;
145
- static ɵcmp: i0.ɵɵComponentDeclaration<CalendarYearViewComponent<any>, "fd-calendar-year-view", never, { "id": { "alias": "id"; "required": false; }; "focusEscapeFunction": { "alias": "focusEscapeFunction"; "required": false; }; "yearSelected": { "alias": "yearSelected"; "required": false; }; "yearViewGrid": { "alias": "yearViewGrid"; "required": false; }; }, { "yearClicked": "yearClicked"; }, never, never, true, never>;
210
+ static ɵcmp: i0.ɵɵComponentDeclaration<CalendarYearViewComponent<any>, "fd-calendar-year-view", never, { "id": { "alias": "id"; "required": false; }; "focusEscapeFunction": { "alias": "focusEscapeFunction"; "required": false; }; "yearSelected": { "alias": "yearSelected"; "required": false; }; "yearViewGrid": { "alias": "yearViewGrid"; "required": false; }; "isDateRangeYearFormat": { "alias": "isDateRangeYearFormat"; "required": false; }; "rangeHoverEffect": { "alias": "rangeHoverEffect"; "required": false; }; "selectedRangeDate": { "alias": "selectedRangeDate"; "required": false; }; }, { "yearClicked": "yearClicked"; "selectedRangeDateChange": "selectedRangeDateChange"; }, never, never, true, never>;
146
211
  }
@@ -94,6 +94,13 @@ export declare class CalendarComponent<D> implements OnInit, OnChanges, ControlV
94
94
  * Works only on range mode, when start date is selected on Day View.
95
95
  */
96
96
  rangeHoverEffect: boolean;
97
+ /** Whether to pick the date range in month or year or days format
98
+ * Day format will have a month and year including day
99
+ * Month format will have year including month
100
+ * Year format will have just year
101
+ * Values can be 'month' for Month format, 'year' for Year format or nothing for day format
102
+ */
103
+ dateRangeFormat: string;
97
104
  /** Event thrown every time active view is changed */
98
105
  readonly activeViewChange: EventEmitter<FdCalendarView>;
99
106
  /** Event thrown every time selected date in single mode is changed */
@@ -267,6 +274,10 @@ export declare class CalendarComponent<D> implements OnInit, OnChanges, ControlV
267
274
  onYearsRangeViewSelected(): void;
268
275
  /** Method that provides information if model selected date/dates have properly types and are valid */
269
276
  isModelValid(): boolean;
277
+ /** Whether the date range format is month */
278
+ isDateRangeMonthFormat(): boolean;
279
+ /** Whether the date range format is year */
280
+ isDateRangeYearFormat(): boolean;
270
281
  /** @hidden */
271
282
  private _listenToLocaleChanges;
272
283
  /**
@@ -284,5 +295,5 @@ export declare class CalendarComponent<D> implements OnInit, OnChanges, ControlV
284
295
  /** @hidden */
285
296
  private _isNavigationButtonDisabled;
286
297
  static ɵfac: i0.ɵɵFactoryDeclaration<CalendarComponent<any>, [null, null, null, { optional: true; }, { optional: true; }]>;
287
- static ɵcmp: i0.ɵɵComponentDeclaration<CalendarComponent<any>, "fd-calendar", never, { "selectedDate": { "alias": "selectedDate"; "required": false; }; "selectedMultipleDates": { "alias": "selectedMultipleDates"; "required": false; }; "selectedRangeDate": { "alias": "selectedRangeDate"; "required": false; }; "selectedMultipleDateRanges": { "alias": "selectedMultipleDateRanges"; "required": false; }; "markWeekends": { "alias": "markWeekends"; "required": false; }; "showWeekNumbers": { "alias": "showWeekNumbers"; "required": false; }; "allowMultipleSelection": { "alias": "allowMultipleSelection"; "required": false; }; "mobileLandscape": { "alias": "mobileLandscape"; "required": false; }; "mobilePortrait": { "alias": "mobilePortrait"; "required": false; }; "activeView": { "alias": "activeView"; "required": false; }; "startingDayOfWeek": { "alias": "startingDayOfWeek"; "required": false; }; "calType": { "alias": "calType"; "required": false; }; "id": { "alias": "id"; "required": false; }; "specialDaysRules": { "alias": "specialDaysRules"; "required": false; }; "yearGrid": { "alias": "yearGrid"; "required": false; }; "aggregatedYearGrid": { "alias": "aggregatedYearGrid"; "required": false; }; "rangeHoverEffect": { "alias": "rangeHoverEffect"; "required": false; }; "previousButtonDisableFunction": { "alias": "previousButtonDisableFunction"; "required": false; }; "nextButtonDisableFunction": { "alias": "nextButtonDisableFunction"; "required": false; }; "escapeFocusFunction": { "alias": "escapeFocusFunction"; "required": false; }; "disableFunction": { "alias": "disableFunction"; "required": false; }; "disableRangeStartFunction": { "alias": "disableRangeStartFunction"; "required": false; }; "disableRangeEndFunction": { "alias": "disableRangeEndFunction"; "required": false; }; }, { "activeViewChange": "activeViewChange"; "selectedDateChange": "selectedDateChange"; "selectedMultipleDatesChange": "selectedMultipleDatesChange"; "selectedRangeDateChange": "selectedRangeDateChange"; "selectedMultipleDateRangesChange": "selectedMultipleDateRangesChange"; "isValidDateChange": "isValidDateChange"; "closeCalendar": "closeCalendar"; "closeClicked": "closeClicked"; }, never, never, true, never>;
298
+ static ɵcmp: i0.ɵɵComponentDeclaration<CalendarComponent<any>, "fd-calendar", never, { "selectedDate": { "alias": "selectedDate"; "required": false; }; "selectedMultipleDates": { "alias": "selectedMultipleDates"; "required": false; }; "selectedRangeDate": { "alias": "selectedRangeDate"; "required": false; }; "selectedMultipleDateRanges": { "alias": "selectedMultipleDateRanges"; "required": false; }; "markWeekends": { "alias": "markWeekends"; "required": false; }; "showWeekNumbers": { "alias": "showWeekNumbers"; "required": false; }; "allowMultipleSelection": { "alias": "allowMultipleSelection"; "required": false; }; "mobileLandscape": { "alias": "mobileLandscape"; "required": false; }; "mobilePortrait": { "alias": "mobilePortrait"; "required": false; }; "activeView": { "alias": "activeView"; "required": false; }; "startingDayOfWeek": { "alias": "startingDayOfWeek"; "required": false; }; "calType": { "alias": "calType"; "required": false; }; "id": { "alias": "id"; "required": false; }; "specialDaysRules": { "alias": "specialDaysRules"; "required": false; }; "yearGrid": { "alias": "yearGrid"; "required": false; }; "aggregatedYearGrid": { "alias": "aggregatedYearGrid"; "required": false; }; "rangeHoverEffect": { "alias": "rangeHoverEffect"; "required": false; }; "dateRangeFormat": { "alias": "dateRangeFormat"; "required": false; }; "previousButtonDisableFunction": { "alias": "previousButtonDisableFunction"; "required": false; }; "nextButtonDisableFunction": { "alias": "nextButtonDisableFunction"; "required": false; }; "escapeFocusFunction": { "alias": "escapeFocusFunction"; "required": false; }; "disableFunction": { "alias": "disableFunction"; "required": false; }; "disableRangeStartFunction": { "alias": "disableRangeStartFunction"; "required": false; }; "disableRangeEndFunction": { "alias": "disableRangeEndFunction"; "required": false; }; }, { "activeViewChange": "activeViewChange"; "selectedDateChange": "selectedDateChange"; "selectedMultipleDatesChange": "selectedMultipleDatesChange"; "selectedRangeDateChange": "selectedRangeDateChange"; "selectedMultipleDateRangesChange": "selectedMultipleDateRangesChange"; "isValidDateChange": "isValidDateChange"; "closeCalendar": "closeCalendar"; "closeClicked": "closeClicked"; }, never, never, true, never>;
288
299
  }
@@ -9,7 +9,10 @@ export declare class CalendarService {
9
9
  /** Column amount */
10
10
  colAmount: number;
11
11
  /** Event thrown, when the element is selected by space or enter keys */
12
- onKeySelect: Subject<number>;
12
+ onKeySelect: Subject<{
13
+ index: number;
14
+ event: KeyboardEvent;
15
+ }>;
13
16
  /** Event thrown, when the focus goes after list of elements */
14
17
  onListEndApproach: Subject<number>;
15
18
  /** Event thrown, when the focus goes before list of elements */
@@ -1,6 +1,11 @@
1
1
  import { BaseCalendarCell } from './common';
2
- export interface CalendarMonth extends BaseCalendarCell {
2
+ export interface CalendarMonth<D> extends BaseCalendarCell {
3
3
  /** 1 - 12 */
4
4
  month: number;
5
5
  index: number;
6
+ date: D;
7
+ selectedFirst?: boolean;
8
+ selectedLast?: boolean;
9
+ selectedRange?: boolean;
10
+ hoverRange?: boolean;
6
11
  }
@@ -9,7 +9,12 @@ export interface CalendarYearGrid {
9
9
  */
10
10
  yearMapping?: (year: number) => string;
11
11
  }
12
- export interface CalendarYear extends BaseCalendarCell {
12
+ export interface CalendarYear<D> extends BaseCalendarCell {
13
13
  year: number;
14
14
  index: number;
15
+ date: D;
16
+ selectedFirst?: boolean;
17
+ selectedLast?: boolean;
18
+ selectedRange?: boolean;
19
+ hoverRange?: boolean;
15
20
  }
@@ -155,6 +155,11 @@ export declare class DatePickerComponent<D> implements DatePicker<D>, OnInit, On
155
155
  mobileLandscape: boolean;
156
156
  /** Whether calendar is used inside mobile in portrait mode */
157
157
  mobilePortrait: boolean;
158
+ /** Whether to select and display the date range in MM/YYYY or YYYY format
159
+ * For month and year format value is 'month'
160
+ * For year format value is 'year'
161
+ */
162
+ dateRangeFormat: string;
158
163
  /** Event emitted when the state of the isOpen property changes. */
159
164
  readonly isOpenChange: EventEmitter<boolean>;
160
165
  /** Event thrown every time selected date in single mode is changed */
@@ -407,6 +412,6 @@ export declare class DatePickerComponent<D> implements DatePicker<D>, OnInit, On
407
412
  /** Helper method to compare two arrays of date ranges */
408
413
  private _areDateRangesEqual;
409
414
  static ɵfac: i0.ɵɵFactoryDeclaration<DatePickerComponent<any>, [null, { optional: true; }, { optional: true; }, null]>;
410
- static ɵcmp: i0.ɵɵComponentDeclaration<DatePickerComponent<any>, "fd-date-picker", never, { "type": { "alias": "type"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "required": { "alias": "required"; "required": false; }; "customDateTimeFormat": { "alias": "customDateTimeFormat"; "required": false; }; "message": { "alias": "message"; "required": false; }; "messageTriggers": { "alias": "messageTriggers"; "required": false; }; "selectedDate": { "alias": "selectedDate"; "required": false; }; "selectedMultipleDates": { "alias": "selectedMultipleDates"; "required": false; }; "selectedRangeDate": { "alias": "selectedRangeDate"; "required": false; }; "selectedMultipleDateRanges": { "alias": "selectedMultipleDateRanges"; "required": false; }; "startingDayOfWeek": { "alias": "startingDayOfWeek"; "required": false; }; "rangeHoverEffect": { "alias": "rangeHoverEffect"; "required": false; }; "useValidation": { "alias": "useValidation"; "required": false; }; "allowNull": { "alias": "allowNull"; "required": false; }; "activeView": { "alias": "activeView"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "closeOnDateChoose": { "alias": "closeOnDateChoose"; "required": false; }; "showTodayButton": { "alias": "showTodayButton"; "required": false; }; "todayButtonLabel": { "alias": "todayButtonLabel"; "required": false; }; "previousButtonDisableFunction": { "alias": "previousButtonDisableFunction"; "required": false; }; "nextButtonDisableFunction": { "alias": "nextButtonDisableFunction"; "required": false; }; "state": { "alias": "state"; "required": false; }; "buttonFocusable": { "alias": "buttonFocusable"; "required": false; }; "specialDaysRules": { "alias": "specialDaysRules"; "required": false; }; "yearGrid": { "alias": "yearGrid"; "required": false; }; "aggregatedYearGrid": { "alias": "aggregatedYearGrid"; "required": false; }; "markWeekends": { "alias": "markWeekends"; "required": false; }; "showWeekNumbers": { "alias": "showWeekNumbers"; "required": false; }; "allowMultipleSelection": { "alias": "allowMultipleSelection"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "processInputOnBlur": { "alias": "processInputOnBlur"; "required": false; }; "preventScrollOnFocus": { "alias": "preventScrollOnFocus"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "mobileConfig": { "alias": "mobileConfig"; "required": false; }; "mobileLandscape": { "alias": "mobileLandscape"; "required": false; }; "mobilePortrait": { "alias": "mobilePortrait"; "required": false; }; "disableFunction": { "alias": "disableFunction"; "required": false; }; "disableRangeStartFunction": { "alias": "disableRangeStartFunction"; "required": false; }; "disableRangeEndFunction": { "alias": "disableRangeEndFunction"; "required": false; }; }, { "isOpenChange": "isOpenChange"; "selectedDateChange": "selectedDateChange"; "selectedMultipleDatesChange": "selectedMultipleDatesChange"; "selectedRangeDateChange": "selectedRangeDateChange"; "selectedMultipleDateRangesChange": "selectedMultipleDateRangesChange"; "activeViewChange": "activeViewChange"; }, never, ["*"], true, never>;
415
+ static ɵcmp: i0.ɵɵComponentDeclaration<DatePickerComponent<any>, "fd-date-picker", never, { "type": { "alias": "type"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "required": { "alias": "required"; "required": false; }; "customDateTimeFormat": { "alias": "customDateTimeFormat"; "required": false; }; "message": { "alias": "message"; "required": false; }; "messageTriggers": { "alias": "messageTriggers"; "required": false; }; "selectedDate": { "alias": "selectedDate"; "required": false; }; "selectedMultipleDates": { "alias": "selectedMultipleDates"; "required": false; }; "selectedRangeDate": { "alias": "selectedRangeDate"; "required": false; }; "selectedMultipleDateRanges": { "alias": "selectedMultipleDateRanges"; "required": false; }; "startingDayOfWeek": { "alias": "startingDayOfWeek"; "required": false; }; "rangeHoverEffect": { "alias": "rangeHoverEffect"; "required": false; }; "useValidation": { "alias": "useValidation"; "required": false; }; "allowNull": { "alias": "allowNull"; "required": false; }; "activeView": { "alias": "activeView"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "closeOnDateChoose": { "alias": "closeOnDateChoose"; "required": false; }; "showTodayButton": { "alias": "showTodayButton"; "required": false; }; "todayButtonLabel": { "alias": "todayButtonLabel"; "required": false; }; "previousButtonDisableFunction": { "alias": "previousButtonDisableFunction"; "required": false; }; "nextButtonDisableFunction": { "alias": "nextButtonDisableFunction"; "required": false; }; "state": { "alias": "state"; "required": false; }; "buttonFocusable": { "alias": "buttonFocusable"; "required": false; }; "specialDaysRules": { "alias": "specialDaysRules"; "required": false; }; "yearGrid": { "alias": "yearGrid"; "required": false; }; "aggregatedYearGrid": { "alias": "aggregatedYearGrid"; "required": false; }; "markWeekends": { "alias": "markWeekends"; "required": false; }; "showWeekNumbers": { "alias": "showWeekNumbers"; "required": false; }; "allowMultipleSelection": { "alias": "allowMultipleSelection"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "processInputOnBlur": { "alias": "processInputOnBlur"; "required": false; }; "preventScrollOnFocus": { "alias": "preventScrollOnFocus"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "mobileConfig": { "alias": "mobileConfig"; "required": false; }; "mobileLandscape": { "alias": "mobileLandscape"; "required": false; }; "mobilePortrait": { "alias": "mobilePortrait"; "required": false; }; "dateRangeFormat": { "alias": "dateRangeFormat"; "required": false; }; "disableFunction": { "alias": "disableFunction"; "required": false; }; "disableRangeStartFunction": { "alias": "disableRangeStartFunction"; "required": false; }; "disableRangeEndFunction": { "alias": "disableRangeEndFunction"; "required": false; }; }, { "isOpenChange": "isOpenChange"; "selectedDateChange": "selectedDateChange"; "selectedMultipleDatesChange": "selectedMultipleDatesChange"; "selectedRangeDateChange": "selectedRangeDateChange"; "selectedMultipleDateRangesChange": "selectedMultipleDateRangesChange"; "activeViewChange": "activeViewChange"; }, never, ["*"], true, never>;
411
416
  static ngAcceptInputType_processInputOnBlur: unknown;
412
417
  }
@@ -1,4 +1,6 @@
1
1
  import { PipeTransform } from '@angular/core';
2
+ import { FdLanguage } from '@fundamental-ngx/i18n';
3
+ import { Observable } from 'rxjs';
2
4
  import { DatetimeAdapter } from './datetime-adapter';
3
5
  import { DateTimeFormats } from './datetime-formats';
4
6
  import * as i0 from "@angular/core";
@@ -31,3 +33,26 @@ export declare class DateFromNowPipe<D> implements PipeTransform {
31
33
  static ɵfac: i0.ɵɵFactoryDeclaration<DateFromNowPipe<any>, never>;
32
34
  static ɵpipe: i0.ɵɵPipeDeclaration<DateFromNowPipe<any>, "dateFromNow", true>;
33
35
  }
36
+ export declare class DayPeriodFormatPipe<D> implements PipeTransform {
37
+ private _dateTimeAdapter;
38
+ private _dateTimeFormats;
39
+ /** @hidden */
40
+ constructor(_dateTimeAdapter: DatetimeAdapter<D>, _dateTimeFormats: DateTimeFormats);
41
+ /** Format date object for day period */
42
+ transform(date: D, customFormat?: any, noDateMessage?: string): string;
43
+ static ɵfac: i0.ɵɵFactoryDeclaration<DayPeriodFormatPipe<any>, [null, { optional: true; }]>;
44
+ static ɵpipe: i0.ɵɵPipeDeclaration<DayPeriodFormatPipe<any>, "dayPeriodFormat", true>;
45
+ }
46
+ export declare class TranslateDayPeriodPipe implements PipeTransform {
47
+ private _language$;
48
+ /** @hidden */
49
+ private readonly _translationResolver;
50
+ /** Signal that will hold the current language */
51
+ private readonly _currentLanguageSignal;
52
+ /** @hidden */
53
+ constructor(_language$: Observable<FdLanguage>);
54
+ /** Format date object for day period */
55
+ transform(value: string | null): string | null;
56
+ static ɵfac: i0.ɵɵFactoryDeclaration<TranslateDayPeriodPipe, never>;
57
+ static ɵpipe: i0.ɵɵPipeDeclaration<TranslateDayPeriodPipe, "translateDayPeriod", true>;
58
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Converts a given time string to a desired format.
3
+ *
4
+ * @param {string} inputStr - The input time string to be converted.
5
+ * @returns {string} - The converted time string in the desired format.
6
+ */
7
+ export declare function convertToDesiredFormat(inputStr: string): string;
@@ -2,6 +2,9 @@ import { Platform } from '@angular/cdk/platform';
2
2
  import { DatetimeAdapter } from './datetime-adapter';
3
3
  import { FdDate } from './fd-date';
4
4
  import * as i0 from "@angular/core";
5
+ type CustomDateTimeFormatOptions = Omit<Intl.DateTimeFormatOptions, 'dayPeriod'> & {
6
+ dayPeriod?: boolean;
7
+ };
5
8
  /**
6
9
  * DatetimeAdapter implementation based on FdDate.
7
10
  *
@@ -76,7 +79,7 @@ export declare class FdDatetimeAdapter extends DatetimeAdapter<FdDate> {
76
79
  /** Parse any value to date object */
77
80
  parse(value: any, parseFormat?: Intl.DateTimeFormatOptions): FdDate | null;
78
81
  /** Format date object to string */
79
- format(date: FdDate, displayFormat: Intl.DateTimeFormatOptions): string;
82
+ format(date: FdDate, displayFormat: CustomDateTimeFormatOptions): string;
80
83
  /** Add years to a date */
81
84
  addCalendarYears(date: FdDate, years: number): FdDate;
82
85
  /** Add months to a date */
@@ -96,13 +99,21 @@ export declare class FdDatetimeAdapter extends DatetimeAdapter<FdDate> {
96
99
  /** Format date object to ISO8601 string */
97
100
  toIso8601(fdDate: FdDate): string;
98
101
  /** Check if a time format includes a day period */
99
- isTimeFormatIncludesDayPeriod(displayFormat: Intl.DateTimeFormatOptions): boolean;
102
+ isTimeFormatIncludesDayPeriod(displayFormat: CustomDateTimeFormatOptions): boolean;
100
103
  /** Check if a time format includes hours */
101
104
  isTimeFormatIncludesHours(displayFormat: Intl.DateTimeFormatOptions): boolean;
102
105
  /** Check if a time format includes minutes */
103
106
  isTimeFormatIncludesMinutes(displayFormat: Intl.DateTimeFormatOptions): boolean;
104
107
  /** Check if a time format includes seconds */
105
108
  isTimeFormatIncludesSeconds(displayFormat: Intl.DateTimeFormatOptions): boolean;
109
+ /** Format with custom pattern including day period names */
110
+ private _formatWithDayPeriod;
111
+ /** Insert day period into the formatted string */
112
+ private _insertDayPeriod;
113
+ /** Get day period name based on the hour */
114
+ private _getDayPeriodName;
115
+ /** Format date using Intl.DateTimeFormat */
116
+ private _formatWithIntl;
106
117
  /**
107
118
  * @hidden
108
119
  * Strip out unicode LTR and RTL characters. Edge and IE insert these into formatted dates while
@@ -150,3 +161,4 @@ export declare class FdDatetimeAdapter extends DatetimeAdapter<FdDate> {
150
161
  static ɵfac: i0.ɵɵFactoryDeclaration<FdDatetimeAdapter, [{ optional: true; }, null]>;
151
162
  static ɵprov: i0.ɵɵInjectableDeclaration<FdDatetimeAdapter>;
152
163
  }
164
+ export {};
@@ -6,6 +6,6 @@ import * as i1 from "./datetime-format.pipes";
6
6
  */
7
7
  export declare class FdDatetimePipesModule {
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<FdDatetimePipesModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<FdDatetimePipesModule, never, [typeof i1.DateFormatPipe, typeof i1.DateTimeFormatPipe, typeof i1.DateFromNowPipe], [typeof i1.DateFormatPipe, typeof i1.DateTimeFormatPipe, typeof i1.DateFromNowPipe]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FdDatetimePipesModule, never, [typeof i1.DateFormatPipe, typeof i1.DateTimeFormatPipe, typeof i1.DateFromNowPipe, typeof i1.DayPeriodFormatPipe, typeof i1.TranslateDayPeriodPipe], [typeof i1.DateFormatPipe, typeof i1.DateTimeFormatPipe, typeof i1.DateFromNowPipe, typeof i1.DayPeriodFormatPipe, typeof i1.TranslateDayPeriodPipe]>;
10
10
  static ɵinj: i0.ɵɵInjectorDeclaration<FdDatetimePipesModule>;
11
11
  }
@@ -1,6 +1,7 @@
1
1
  export * from './datetime-adapter';
2
2
  export * from './datetime-format.pipes';
3
3
  export * from './datetime-formats';
4
+ export * from './datetime-utils';
4
5
  export * from './fd-date';
5
6
  export * from './fd-date-formats';
6
7
  export * from './fd-date.utils';