Skip to content

Commit 1982608

Browse files
authored
Merge branch 'master' into didimmova/fix-input-in-grid-cell
2 parents 524853b + 3727737 commit 1982608

File tree

14 files changed

+803
-724
lines changed

14 files changed

+803
-724
lines changed

CHANGELOG.md

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,14 @@ All notable changes for each version of this project will be documented in this
44

55
## 21.0.0
66

7-
### Themes
8-
9-
- `IgxButton`
10-
- **Breaking Change**
11-
- The following shadow-related parameters were removed from the `outlined-button-theme` and `flat-button-theme`:
12-
- `resting-shadow`
13-
- `hover-shadow`
14-
- `focus-shadow`
15-
- `active-shadow`
16-
17-
## 21.0.0
18-
197
### New Features
208

9+
- **New component** `IgxChat`:
10+
- A component that provides complete solution for building conversational interfaces in your applications. Read up more information in the [ReadMe](https://github.com/IgniteUI/igniteui-angular/tree/master/projects/igniteui-angular/chat/README.md)
11+
2112
- `IgxGrid`, `IgxTreeGrid`, `IgxHierarchicalGrid`
2213
- Added PDF export functionality to grid components. Grids can now be exported to PDF format alongside the existing Excel and CSV export options.
23-
14+
2415
The new `IgxPdfExporterService` follows the same pattern as Excel and CSV exporters:
2516

2617
```ts
@@ -60,9 +51,16 @@ All notable changes for each version of this project will be documented in this
6051
- **Landscape orientation** by default (suitable for wide grids)
6152
- **Internationalization** support for all 19 supported languages
6253
- Respects all grid export options (ignoreFiltering, ignoreSorting, ignoreColumnsVisibility, etc.)
63-
54+
6455
### Breaking Changes
6556

57+
- `IgxButton`
58+
- The following shadow-related parameters were removed from the `outlined-button-theme` and `flat-button-theme`:
59+
- `resting-shadow`
60+
- `hover-shadow`
61+
- `focus-shadow`
62+
- `active-shadow`
63+
6664
#### Dependency Injection Refactor
6765
- All internal DI now uses the `inject()` API across `igniteui-angular` (no more constructor DI in library code).
6866
- If you extend our components/services or call their constructors directly, remove DI params and switch to `inject()` (e.g., `protected foo = inject(FooService);`).
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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...

projects/igniteui-angular/grids/grid/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,3 @@
66

77
// Export grid-specific components
88
export * from './src/public_api';
9-
export * from './src/grid.module';

projects/igniteui-angular/grids/grid/src/grid.module.ts

Lines changed: 186 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,190 @@
11
import { NgModule } from '@angular/core';
2-
import { IGX_GRID_DIRECTIVES } from './public_api';
2+
import { IgxGridComponent } from './grid.component';
3+
4+
/* Imports that cannot be resolved from IGX_GRID_COMMON_DIRECTIVES spread
5+
NOTE: Do not remove! Issue: https://github.com/IgniteUI/igniteui-angular/issues/13310
6+
*/
7+
import {
8+
IgxRowDirective,
9+
IgxGridFooterComponent,
10+
IgxAdvancedFilteringDialogComponent,
11+
IgxHeaderCollapsedIndicatorDirective,
12+
IgxHeaderExpandedIndicatorDirective,
13+
IgxRowCollapsedIndicatorDirective,
14+
IgxRowExpandedIndicatorDirective,
15+
IgxSortAscendingHeaderIconDirective,
16+
IgxSortDescendingHeaderIconDirective,
17+
IgxSortHeaderIconDirective,
18+
IgxGridEmptyTemplateDirective,
19+
IgxGridLoadingTemplateDirective,
20+
IgxExcelStyleHeaderIconDirective,
21+
IgxDragIndicatorIconDirective,
22+
IgxRowDragGhostDirective,
23+
IgxGridStateDirective,
24+
IgxGridHeaderComponent,
25+
IgxGridHeaderGroupComponent,
26+
IgxGridHeaderRowComponent,
27+
IgxFilterCellTemplateDirective,
28+
IgxSummaryTemplateDirective,
29+
IgxCellTemplateDirective,
30+
IgxCellValidationErrorDirective,
31+
IgxCellHeaderTemplateDirective,
32+
IgxCellFooterTemplateDirective,
33+
IgxCellEditorTemplateDirective,
34+
IgxCollapsibleIndicatorTemplateDirective,
35+
IgxColumnComponent,
36+
IgxColumnGroupComponent,
37+
IgxColumnLayoutComponent,
38+
IgxColumnRequiredValidatorDirective,
39+
IgxColumnMinValidatorDirective,
40+
IgxColumnMaxValidatorDirective,
41+
IgxColumnEmailValidatorDirective,
42+
IgxColumnMinLengthValidatorDirective,
43+
IgxColumnMaxLengthValidatorDirective,
44+
IgxColumnPatternValidatorDirective,
45+
IgxColumnActionsComponent,
46+
IgxColumnHidingDirective,
47+
IgxColumnPinningDirective,
48+
IgxRowSelectorDirective,
49+
IgxGroupByRowSelectorDirective,
50+
IgxHeadSelectorDirective,
51+
IgxCSVTextDirective,
52+
IgxExcelTextDirective,
53+
IgxGridToolbarActionsComponent,
54+
IgxGridToolbarAdvancedFilteringComponent,
55+
IgxGridToolbarComponent,
56+
IgxGridToolbarExporterComponent,
57+
IgxGridToolbarHidingComponent,
58+
IgxGridToolbarPinningComponent,
59+
IgxGridToolbarTitleComponent,
60+
IgxGridToolbarDirective,
61+
IgxGridExcelStyleFilteringComponent,
62+
IgxExcelStyleHeaderComponent,
63+
IgxExcelStyleSortingComponent,
64+
IgxExcelStylePinningComponent,
65+
IgxExcelStyleHidingComponent,
66+
IgxExcelStyleSelectingComponent,
67+
IgxExcelStyleClearFiltersComponent,
68+
IgxExcelStyleConditionalFilterComponent,
69+
IgxExcelStyleMovingComponent,
70+
IgxExcelStyleSearchComponent,
71+
IgxExcelStyleColumnOperationsTemplateDirective,
72+
IgxExcelStyleFilterOperationsTemplateDirective,
73+
IgxExcelStyleLoadingValuesTemplateDirective,
74+
IgxGridDetailTemplateDirective,
75+
IgxGroupByRowTemplateDirective,
76+
IgxRowAddTextDirective,
77+
IgxRowEditActionsDirective,
78+
IgxRowEditTabStopDirective,
79+
IgxRowEditTextDirective,
80+
IgxGridActionButtonComponent,
81+
IgxGridPinningActionsComponent,
82+
IgxGridActionsBaseDirective,
83+
IgxGridEditingActionsComponent
84+
} from "igniteui-angular/grids/core";
85+
import {
86+
IgxPaginatorComponent,
87+
IgxPageNavigationComponent,
88+
IgxPageSizeSelectorComponent,
89+
IgxPaginatorContentDirective,
90+
IgxPaginatorDirective
91+
} from 'igniteui-angular/paginator';
92+
93+
/* NOTE: Grid directives collection for ease-of-use import in standalone components scenario */
94+
export const IGX_GRID_DIRECTIVES = [
95+
IgxGridComponent,
96+
IgxGroupByRowTemplateDirective,
97+
IgxGridDetailTemplateDirective,
98+
IgxRowAddTextDirective,
99+
IgxRowEditActionsDirective,
100+
IgxRowEditTextDirective,
101+
IgxRowEditTabStopDirective,
102+
// IGX_GRID_COMMON_DIRECTIVES:
103+
IgxRowDirective,
104+
IgxGridFooterComponent,
105+
IgxAdvancedFilteringDialogComponent,
106+
IgxRowExpandedIndicatorDirective,
107+
IgxRowCollapsedIndicatorDirective,
108+
IgxHeaderExpandedIndicatorDirective,
109+
IgxHeaderCollapsedIndicatorDirective,
110+
IgxExcelStyleHeaderIconDirective,
111+
IgxSortAscendingHeaderIconDirective,
112+
IgxSortDescendingHeaderIconDirective,
113+
IgxSortHeaderIconDirective,
114+
IgxGridEmptyTemplateDirective,
115+
IgxGridLoadingTemplateDirective,
116+
IgxDragIndicatorIconDirective,
117+
IgxRowDragGhostDirective,
118+
IgxGridStateDirective,
119+
// IGX_GRID_ACTIONS
120+
IgxGridPinningActionsComponent,
121+
IgxGridEditingActionsComponent,
122+
IgxGridActionsBaseDirective,
123+
IgxGridActionButtonComponent,
124+
// IGX_GRID_HEADERS_DIRECTIVES:
125+
IgxGridHeaderComponent,
126+
IgxGridHeaderGroupComponent,
127+
IgxGridHeaderRowComponent,
128+
// IGX_GRID_COLUMN_DIRECTIVES:
129+
IgxFilterCellTemplateDirective,
130+
IgxSummaryTemplateDirective,
131+
IgxCellTemplateDirective,
132+
IgxCellValidationErrorDirective,
133+
IgxCellHeaderTemplateDirective,
134+
IgxCellFooterTemplateDirective,
135+
IgxCellEditorTemplateDirective,
136+
IgxCollapsibleIndicatorTemplateDirective,
137+
IgxColumnComponent,
138+
IgxColumnGroupComponent,
139+
IgxColumnLayoutComponent,
140+
// IGX_GRID_COLUMN_ACTIONS_DIRECTIVES:
141+
IgxColumnActionsComponent,
142+
IgxColumnHidingDirective,
143+
IgxColumnPinningDirective,
144+
// IGX_GRID_SELECTION_DIRECTIVES:
145+
IgxRowSelectorDirective,
146+
IgxGroupByRowSelectorDirective,
147+
IgxHeadSelectorDirective,
148+
// IGX_GRID_TOOLBAR_DIRECTIVES:
149+
IgxCSVTextDirective,
150+
IgxExcelTextDirective,
151+
IgxGridToolbarActionsComponent,
152+
IgxGridToolbarAdvancedFilteringComponent,
153+
IgxGridToolbarComponent,
154+
IgxGridToolbarExporterComponent,
155+
IgxGridToolbarHidingComponent,
156+
IgxGridToolbarPinningComponent,
157+
IgxGridToolbarTitleComponent,
158+
IgxGridToolbarDirective,
159+
// IGX_GRID_EXCEL_STYLE_FILTER_DIRECTIVES:
160+
IgxGridExcelStyleFilteringComponent,
161+
IgxExcelStyleHeaderComponent,
162+
IgxExcelStyleSortingComponent,
163+
IgxExcelStylePinningComponent,
164+
IgxExcelStyleHidingComponent,
165+
IgxExcelStyleSelectingComponent,
166+
IgxExcelStyleClearFiltersComponent,
167+
IgxExcelStyleConditionalFilterComponent,
168+
IgxExcelStyleMovingComponent,
169+
IgxExcelStyleSearchComponent,
170+
IgxExcelStyleColumnOperationsTemplateDirective,
171+
IgxExcelStyleFilterOperationsTemplateDirective,
172+
IgxExcelStyleLoadingValuesTemplateDirective,
173+
// IGX_GRID_VALIDATION_DIRECTIVES:
174+
IgxColumnRequiredValidatorDirective,
175+
IgxColumnMinValidatorDirective,
176+
IgxColumnMaxValidatorDirective,
177+
IgxColumnEmailValidatorDirective,
178+
IgxColumnMinLengthValidatorDirective,
179+
IgxColumnMaxLengthValidatorDirective,
180+
IgxColumnPatternValidatorDirective,
181+
// IGX_PAGINATOR_DIRECTIVES:
182+
IgxPaginatorComponent,
183+
IgxPageNavigationComponent,
184+
IgxPageSizeSelectorComponent,
185+
IgxPaginatorContentDirective,
186+
IgxPaginatorDirective
187+
] as const;
3188

4189
/**
5190
* @hidden

0 commit comments

Comments
 (0)