igniteui-angular 21.0.2 → 21.0.4

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 (51) hide show
  1. package/chat/README.md +93 -0
  2. package/fesm2022/igniteui-angular-calendar.mjs +30 -3
  3. package/fesm2022/igniteui-angular-calendar.mjs.map +1 -1
  4. package/fesm2022/igniteui-angular-directives.mjs +6 -3
  5. package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
  6. package/fesm2022/igniteui-angular-grids-core.mjs +7 -4
  7. package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
  8. package/fesm2022/igniteui-angular-grids-grid.mjs +266 -42
  9. package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
  10. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +235 -2
  11. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
  12. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +3384 -3188
  13. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
  14. package/fesm2022/igniteui-angular-grids-tree-grid.mjs +238 -2
  15. package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
  16. package/lib/core/styles/components/calendar/_calendar-theme.scss +2 -0
  17. package/lib/core/styles/components/grid/_grid-theme.scss +2 -1
  18. package/lib/core/styles/components/slider/_slider-theme.scss +0 -1
  19. package/package.json +1 -1
  20. package/styles/igniteui-angular-dark.css +1 -1
  21. package/styles/igniteui-angular.css +1 -1
  22. package/styles/igniteui-bootstrap-dark.css +1 -1
  23. package/styles/igniteui-bootstrap-light.css +1 -1
  24. package/styles/igniteui-dark-green.css +1 -1
  25. package/styles/igniteui-fluent-dark-excel.css +1 -1
  26. package/styles/igniteui-fluent-dark-word.css +1 -1
  27. package/styles/igniteui-fluent-dark.css +1 -1
  28. package/styles/igniteui-fluent-light-excel.css +1 -1
  29. package/styles/igniteui-fluent-light-word.css +1 -1
  30. package/styles/igniteui-fluent-light.css +1 -1
  31. package/styles/igniteui-indigo-dark.css +1 -1
  32. package/styles/igniteui-indigo-light.css +1 -1
  33. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  34. package/styles/maps/igniteui-angular.css.map +1 -1
  35. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  36. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  37. package/styles/maps/igniteui-dark-green.css.map +1 -1
  38. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  39. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  40. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  41. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  42. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  43. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  44. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  45. package/styles/maps/igniteui-indigo-light.css.map +1 -1
  46. package/types/igniteui-angular-directives.d.ts +4 -2
  47. package/types/igniteui-angular-grids-core.d.ts +1 -1
  48. package/types/igniteui-angular-grids-grid.d.ts +13 -7
  49. package/types/igniteui-angular-grids-hierarchical-grid.d.ts +23 -13
  50. package/types/igniteui-angular-grids-pivot-grid.d.ts +501 -492
  51. package/types/igniteui-angular-grids-tree-grid.d.ts +12 -1
package/chat/README.md ADDED
@@ -0,0 +1,93 @@
1
+
2
+ # IgxChat
3
+
4
+ **IgxChat** is a component that provides a chat interface, wrapping the **IgcChat** web component.
5
+
6
+ A walkthrough of how to get started can be found [here](https://www.infragistics.com/products/ignite-ui-angular/angular/components/chat)
7
+
8
+ # Usage
9
+
10
+ ```html
11
+ <igx-chat
12
+ [messages]="messages"
13
+ [draftMessage]="draft"
14
+ [options]="chatOptions"
15
+ [templates]="chatTemplates"
16
+ (messageCreated)="onMessageCreated($event)">
17
+ </igx-chat>
18
+ ```
19
+
20
+ # API Summary
21
+ The following tables summarize the **igx-chat** inputs, outputs and directives.
22
+
23
+ ### Inputs
24
+ The following inputs are available in the **igx-chat** component:
25
+
26
+ | Name | Type | Description |
27
+ | :--- | :--- | :--- |
28
+ | `messages` | `IgcChatMessage[]` | Array of chat messages to display |
29
+ | `draftMessage` | `{ text: string; attachments?: IgcChatMessageAttachment[] } \| undefined` | Draft message with text and optional attachments |
30
+ | `options` | `IgxChatOptions` | Configuration options for the chat component |
31
+ | `templates` | `IgxChatTemplates` | Custom templates for rendering chat elements |
32
+
33
+ ### Outputs
34
+ The following outputs are available in the **igx-chat** component:
35
+
36
+ | Name | Description | Parameters |
37
+ | :--- | :--- | :--- |
38
+ | `messageCreated` | Emitted when a new message is created | `IgcChatMessage` |
39
+ | `messageReact` | Emitted when a user reacts to a message | `IgcChatMessageReaction` |
40
+ | `attachmentClick` | Emitted when an attachment is clicked | `IgcChatMessageAttachment` |
41
+ | `attachmentDrag` | Emitted when attachment drag starts | `void` |
42
+ | `attachmentDrop` | Emitted when attachment is dropped | `void` |
43
+ | `typingChange` | Emitted when typing indicator state changes | `boolean` |
44
+ | `inputFocus` | Emitted when the input receives focus | `void` |
45
+ | `inputBlur` | Emitted when the input loses focus | `void` |
46
+ | `inputChange` | Emitted when the input value changes | `string` |
47
+
48
+ ### Directives
49
+ The following directives are available for type checking in templates:
50
+
51
+ | Name | Selector | Description |
52
+ | :--- | :--- | :--- |
53
+ | `IgxChatMessageContextDirective` | `[igxChatMessageContext]` | Provides type information for chat message template contexts |
54
+ | `IgxChatAttachmentContextDirective` | `[igxChatAttachmentContext]` | Provides type information for chat attachment template contexts |
55
+ | `IgxChatInputContextDirective` | `[igxChatInputContext]` | Provides type information for chat input template contexts |
56
+
57
+ # Chat Extras
58
+
59
+ The **chat-extras** module provides additional utilities for enhancing chat functionality.
60
+
61
+ ## MarkdownPipe
62
+
63
+ The `MarkdownPipe` transforms markdown text into HTML, allowing you to render formatted messages in the chat.
64
+
65
+ ### Usage
66
+
67
+ ```typescript
68
+ import { MarkdownPipe } from 'igniteui-angular/chat-extras';
69
+
70
+ @Component({
71
+ standalone: true,
72
+ imports: [IgxChatComponent, MarkdownPipe, AsyncPipe],
73
+ template: `
74
+ <igx-chat [messages]="messages" [templates]="templates">
75
+ <ng-template #renderer igxChatMessageContext let-message>
76
+ <div [innerHTML]="message.text | fromMarkdown | async"></div>
77
+ </ng-template>
78
+ </igx-chat>
79
+ `
80
+ })
81
+ ```
82
+
83
+ ### Supported Markdown Features
84
+
85
+ The pipe supports common markdown syntax including:
86
+ - **Bold** text (`**text**`)
87
+ - *Italic* text (`*text*`)
88
+ - Headings (`# H1`, `## H2`, etc.)
89
+ - Lists (ordered and unordered)
90
+ - Links (`[text](url)`)
91
+ - Code blocks and inline code
92
+ - Blockquotes
93
+ - And more...
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, ElementRef, EventEmitter, HostListener, Output, Input, Directive, HostBinding, TemplateRef, NgZone, booleanAttribute, ViewChildren, Component, ChangeDetectionStrategy, Injectable, LOCALE_ID, ChangeDetectorRef, DestroyRef, Pipe, forwardRef, ContentChild, ViewChild, NgModule } from '@angular/core';
2
+ import { InjectionToken, inject, ElementRef, EventEmitter, HostListener, Output, Input, Directive, HostBinding, TemplateRef, NgZone, booleanAttribute, ViewChildren, Component, ChangeDetectionStrategy, Injectable, LOCALE_ID, ChangeDetectorRef, Pipe, DestroyRef, forwardRef, ContentChild, ViewChild, NgModule } from '@angular/core';
3
3
  import { TitleCasePipe, getLocaleFirstDayOfWeek, NgTemplateOutlet, DatePipe } from '@angular/common';
4
4
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
5
  import { Subject, fromEvent, interval, noop } from 'rxjs';
@@ -2011,6 +2011,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImpor
2011
2011
  args: ['pointerdown', ['$event']]
2012
2012
  }] } });
2013
2013
 
2014
+ class DayDigitPipe {
2015
+ transform(value, formatViews) {
2016
+ if (!value) {
2017
+ return '';
2018
+ }
2019
+ // strip non-numeric characters that might have been added by the locale formatter (e.g., "25日" -> "25").
2020
+ if (formatViews.day) {
2021
+ // Use regex to extract the numeric day value.
2022
+ // This handles locales that include non-numeric characters (e.g. '25日' in zh-CN).
2023
+ // match(/\d+/) is preferred over parseInt() as it robustly finds the digits regardless
2024
+ // of their position (prefix/suffix) in the localized string.
2025
+ const match = value.match(/\d+/);
2026
+ return match ? match[0] : value;
2027
+ }
2028
+ return value;
2029
+ }
2030
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: DayDigitPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2031
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.2", ngImport: i0, type: DayDigitPipe, isStandalone: true, name: "dayDigit" }); }
2032
+ }
2033
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: DayDigitPipe, decorators: [{
2034
+ type: Pipe,
2035
+ args: [{
2036
+ name: 'dayDigit',
2037
+ standalone: true
2038
+ }]
2039
+ }] });
2040
+
2014
2041
  let NEXT_ID$2 = 0;
2015
2042
  class IgxDaysViewComponent extends IgxCalendarBaseDirective {
2016
2043
  #standalone;
@@ -2456,7 +2483,7 @@ class IgxDaysViewComponent extends IgxCalendarBaseDirective {
2456
2483
  useExisting: IgxDaysViewComponent
2457
2484
  },
2458
2485
  KeyboardNavigationService
2459
- ], viewQueries: [{ propertyName: "dates", predicate: IgxDayItemComponent, descendants: true, read: IgxDayItemComponent }], usesInheritance: true, ngImport: i0, template: "<div\n role=\"row\"\n class=\"igx-days-view__row\"\n [title]=\"weekNumberHeader.long | titlecase\"\n>\n @if (showWeekNumbers) {\n <div\n role=\"columnheader\"\n class=\"igx-days-view__label igx-days-view__label--week-number\"\n >\n <span>\n <i>{{ weekNumberHeader.short | titlecase }}</i>\n </span>\n </div>\n }\n @for (dayName of weekHeaderLabels; track dayName.long) {\n <span\n role=\"columnheader\"\n [attr.aria-label]=\"dayName.long\"\n class=\"igx-days-view__label\"\n >\n <span class=\"igx-days-view__label-inner\">\n {{ dayName.formatted | titlecase }}\n </span>\n </span>\n }\n</div>\n\n@for (\n week of monthWeeks; track rowTracker(i, week);\n let isLast = $last; let i = $index\n) {\n <div\n class=\"igx-days-view__row\"\n role=\"row\"\n >\n @if (showWeekNumbers) {\n <div class=\"igx-days-view__date igx-days-view__date--week-number\">\n <span\n role=\"rowheader\"\n class=\"igx-days-view__date-inner igx-days-view__date-inner--week-number\"\n >\n {{ getWeekNumber(week[0]) }}\n </span>\n </div>\n }\n @for (day of week; track dateTracker($index, day)) {\n <igx-day-item\n #item\n class=\"igx-days-view__date\"\n role=\"gridcell\"\n [attr.id]=\"item.isCurrentMonth && day.timestamp\"\n [attr.aria-selected]=\"isSelected(day)\"\n [attr.aria-disabled]=\"isDateDisabled(day.native)\"\n [attr.aria-label]=\"\n isFirstInRange(day)\n ? day.native.toDateString() +\n ', ' +\n resourceStrings.igx_calendar_range_start\n : isLastInRange(day)\n ? day.native.toDateString() +\n ', ' +\n resourceStrings.igx_calendar_range_end\n : day.native.toDateString()\n \"\n [date]=\"day\"\n [viewDate]=\"viewDate\"\n [selection]=\"selection\"\n [selected]=\"isSelected(day)\"\n [isActive]=\"isActiveDate(day)\"\n [isLastInRange]=\"isLastInRange(day)\"\n [isFirstInRange]=\"isFirstInRange(day)\"\n [isWithinRange]=\"isWithinRange(day.native, true)\"\n [isWithinPreviewRange]=\"isWithinPreviewRange(day.native)\"\n [disabledDates]=\"disabledDates\"\n [specialDates]=\"specialDates\"\n [hideLeadingDays]=\"hideLeadingDays\"\n [hideTrailingDays]=\"hideTrailingDays\"\n [attr.tabindex]=\"-1\"\n (click)=\"handleDateClick(item)\"\n (mouseEnter)=\"changePreviewRange(day.native)\"\n (mouseLeave)=\"clearPreviewRange()\"\n >\n {{ formattedDate(day.native) }}\n </igx-day-item>\n }\n </div>\n}\n", dependencies: [{ kind: "component", type: IgxDayItemComponent, selector: "igx-day-item", inputs: ["date", "viewDate", "selection", "selected", "disabledDates", "specialDates", "hideOutsideDays", "isLastInRange", "isFirstInRange", "isWithinRange", "isWithinPreviewRange", "hideLeadingDays", "hideTrailingDays", "isActive"], outputs: ["dateSelection", "mouseEnter", "mouseLeave", "mouseDown"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2486
+ ], viewQueries: [{ propertyName: "dates", predicate: IgxDayItemComponent, descendants: true, read: IgxDayItemComponent }], usesInheritance: true, ngImport: i0, template: "<div\n role=\"row\"\n class=\"igx-days-view__row\"\n [title]=\"weekNumberHeader.long | titlecase\"\n>\n @if (showWeekNumbers) {\n <div\n role=\"columnheader\"\n class=\"igx-days-view__label igx-days-view__label--week-number\"\n >\n <span>\n <i>{{ weekNumberHeader.short | titlecase }}</i>\n </span>\n </div>\n }\n @for (dayName of weekHeaderLabels; track dayName.long) {\n <span\n role=\"columnheader\"\n [attr.aria-label]=\"dayName.long\"\n class=\"igx-days-view__label\"\n >\n <span class=\"igx-days-view__label-inner\">\n {{ dayName.formatted | titlecase }}\n </span>\n </span>\n }\n</div>\n\n@for (\n week of monthWeeks; track rowTracker(i, week);\n let isLast = $last; let i = $index\n) {\n <div\n class=\"igx-days-view__row\"\n role=\"row\"\n >\n @if (showWeekNumbers) {\n <div class=\"igx-days-view__date igx-days-view__date--week-number\">\n <span\n role=\"rowheader\"\n class=\"igx-days-view__date-inner igx-days-view__date-inner--week-number\"\n >\n {{ getWeekNumber(week[0]) }}\n </span>\n </div>\n }\n @for (day of week; track dateTracker($index, day)) {\n <igx-day-item\n #item\n class=\"igx-days-view__date\"\n role=\"gridcell\"\n [attr.id]=\"item.isCurrentMonth && day.timestamp\"\n [attr.aria-selected]=\"isSelected(day)\"\n [attr.aria-disabled]=\"isDateDisabled(day.native)\"\n [attr.aria-label]=\"\n isFirstInRange(day)\n ? day.native.toDateString() +\n ', ' +\n resourceStrings.igx_calendar_range_start\n : isLastInRange(day)\n ? day.native.toDateString() +\n ', ' +\n resourceStrings.igx_calendar_range_end\n : day.native.toDateString()\n \"\n [date]=\"day\"\n [viewDate]=\"viewDate\"\n [selection]=\"selection\"\n [selected]=\"isSelected(day)\"\n [isActive]=\"isActiveDate(day)\"\n [isLastInRange]=\"isLastInRange(day)\"\n [isFirstInRange]=\"isFirstInRange(day)\"\n [isWithinRange]=\"isWithinRange(day.native, true)\"\n [isWithinPreviewRange]=\"isWithinPreviewRange(day.native)\"\n [disabledDates]=\"disabledDates\"\n [specialDates]=\"specialDates\"\n [hideLeadingDays]=\"hideLeadingDays\"\n [hideTrailingDays]=\"hideTrailingDays\"\n [attr.tabindex]=\"-1\"\n (click)=\"handleDateClick(item)\"\n (mouseEnter)=\"changePreviewRange(day.native)\"\n (mouseLeave)=\"clearPreviewRange()\"\n >\n {{ formattedDate(day.native) | dayDigit:formatViews }}\n </igx-day-item>\n }\n </div>\n}\n", dependencies: [{ kind: "component", type: IgxDayItemComponent, selector: "igx-day-item", inputs: ["date", "viewDate", "selection", "selected", "disabledDates", "specialDates", "hideOutsideDays", "isLastInRange", "isFirstInRange", "isWithinRange", "isWithinPreviewRange", "hideLeadingDays", "hideTrailingDays", "isActive"], outputs: ["dateSelection", "mouseEnter", "mouseLeave", "mouseDown"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: DayDigitPipe, name: "dayDigit" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2460
2487
  }
2461
2488
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImport: i0, type: IgxDaysViewComponent, decorators: [{
2462
2489
  type: Component,
@@ -2467,7 +2494,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImpor
2467
2494
  useExisting: IgxDaysViewComponent
2468
2495
  },
2469
2496
  KeyboardNavigationService
2470
- ], selector: 'igx-days-view', changeDetection: ChangeDetectionStrategy.OnPush, imports: [IgxDayItemComponent, TitleCasePipe], template: "<div\n role=\"row\"\n class=\"igx-days-view__row\"\n [title]=\"weekNumberHeader.long | titlecase\"\n>\n @if (showWeekNumbers) {\n <div\n role=\"columnheader\"\n class=\"igx-days-view__label igx-days-view__label--week-number\"\n >\n <span>\n <i>{{ weekNumberHeader.short | titlecase }}</i>\n </span>\n </div>\n }\n @for (dayName of weekHeaderLabels; track dayName.long) {\n <span\n role=\"columnheader\"\n [attr.aria-label]=\"dayName.long\"\n class=\"igx-days-view__label\"\n >\n <span class=\"igx-days-view__label-inner\">\n {{ dayName.formatted | titlecase }}\n </span>\n </span>\n }\n</div>\n\n@for (\n week of monthWeeks; track rowTracker(i, week);\n let isLast = $last; let i = $index\n) {\n <div\n class=\"igx-days-view__row\"\n role=\"row\"\n >\n @if (showWeekNumbers) {\n <div class=\"igx-days-view__date igx-days-view__date--week-number\">\n <span\n role=\"rowheader\"\n class=\"igx-days-view__date-inner igx-days-view__date-inner--week-number\"\n >\n {{ getWeekNumber(week[0]) }}\n </span>\n </div>\n }\n @for (day of week; track dateTracker($index, day)) {\n <igx-day-item\n #item\n class=\"igx-days-view__date\"\n role=\"gridcell\"\n [attr.id]=\"item.isCurrentMonth && day.timestamp\"\n [attr.aria-selected]=\"isSelected(day)\"\n [attr.aria-disabled]=\"isDateDisabled(day.native)\"\n [attr.aria-label]=\"\n isFirstInRange(day)\n ? day.native.toDateString() +\n ', ' +\n resourceStrings.igx_calendar_range_start\n : isLastInRange(day)\n ? day.native.toDateString() +\n ', ' +\n resourceStrings.igx_calendar_range_end\n : day.native.toDateString()\n \"\n [date]=\"day\"\n [viewDate]=\"viewDate\"\n [selection]=\"selection\"\n [selected]=\"isSelected(day)\"\n [isActive]=\"isActiveDate(day)\"\n [isLastInRange]=\"isLastInRange(day)\"\n [isFirstInRange]=\"isFirstInRange(day)\"\n [isWithinRange]=\"isWithinRange(day.native, true)\"\n [isWithinPreviewRange]=\"isWithinPreviewRange(day.native)\"\n [disabledDates]=\"disabledDates\"\n [specialDates]=\"specialDates\"\n [hideLeadingDays]=\"hideLeadingDays\"\n [hideTrailingDays]=\"hideTrailingDays\"\n [attr.tabindex]=\"-1\"\n (click)=\"handleDateClick(item)\"\n (mouseEnter)=\"changePreviewRange(day.native)\"\n (mouseLeave)=\"clearPreviewRange()\"\n >\n {{ formattedDate(day.native) }}\n </igx-day-item>\n }\n </div>\n}\n" }]
2497
+ ], selector: 'igx-days-view', changeDetection: ChangeDetectionStrategy.OnPush, imports: [IgxDayItemComponent, TitleCasePipe, DayDigitPipe], template: "<div\n role=\"row\"\n class=\"igx-days-view__row\"\n [title]=\"weekNumberHeader.long | titlecase\"\n>\n @if (showWeekNumbers) {\n <div\n role=\"columnheader\"\n class=\"igx-days-view__label igx-days-view__label--week-number\"\n >\n <span>\n <i>{{ weekNumberHeader.short | titlecase }}</i>\n </span>\n </div>\n }\n @for (dayName of weekHeaderLabels; track dayName.long) {\n <span\n role=\"columnheader\"\n [attr.aria-label]=\"dayName.long\"\n class=\"igx-days-view__label\"\n >\n <span class=\"igx-days-view__label-inner\">\n {{ dayName.formatted | titlecase }}\n </span>\n </span>\n }\n</div>\n\n@for (\n week of monthWeeks; track rowTracker(i, week);\n let isLast = $last; let i = $index\n) {\n <div\n class=\"igx-days-view__row\"\n role=\"row\"\n >\n @if (showWeekNumbers) {\n <div class=\"igx-days-view__date igx-days-view__date--week-number\">\n <span\n role=\"rowheader\"\n class=\"igx-days-view__date-inner igx-days-view__date-inner--week-number\"\n >\n {{ getWeekNumber(week[0]) }}\n </span>\n </div>\n }\n @for (day of week; track dateTracker($index, day)) {\n <igx-day-item\n #item\n class=\"igx-days-view__date\"\n role=\"gridcell\"\n [attr.id]=\"item.isCurrentMonth && day.timestamp\"\n [attr.aria-selected]=\"isSelected(day)\"\n [attr.aria-disabled]=\"isDateDisabled(day.native)\"\n [attr.aria-label]=\"\n isFirstInRange(day)\n ? day.native.toDateString() +\n ', ' +\n resourceStrings.igx_calendar_range_start\n : isLastInRange(day)\n ? day.native.toDateString() +\n ', ' +\n resourceStrings.igx_calendar_range_end\n : day.native.toDateString()\n \"\n [date]=\"day\"\n [viewDate]=\"viewDate\"\n [selection]=\"selection\"\n [selected]=\"isSelected(day)\"\n [isActive]=\"isActiveDate(day)\"\n [isLastInRange]=\"isLastInRange(day)\"\n [isFirstInRange]=\"isFirstInRange(day)\"\n [isWithinRange]=\"isWithinRange(day.native, true)\"\n [isWithinPreviewRange]=\"isWithinPreviewRange(day.native)\"\n [disabledDates]=\"disabledDates\"\n [specialDates]=\"specialDates\"\n [hideLeadingDays]=\"hideLeadingDays\"\n [hideTrailingDays]=\"hideTrailingDays\"\n [attr.tabindex]=\"-1\"\n (click)=\"handleDateClick(item)\"\n (mouseEnter)=\"changePreviewRange(day.native)\"\n (mouseLeave)=\"clearPreviewRange()\"\n >\n {{ formattedDate(day.native) | dayDigit:formatViews }}\n </igx-day-item>\n }\n </div>\n}\n" }]
2471
2498
  }], ctorParameters: () => [], propDecorators: { id: [{
2472
2499
  type: HostBinding,
2473
2500
  args: ['attr.id']