igniteui-angular 22.1.0-beta.0 → 22.1.0-beta.1
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.
- package/fesm2022/igniteui-angular-carousel.mjs +2 -2
- package/fesm2022/igniteui-angular-carousel.mjs.map +1 -1
- package/fesm2022/igniteui-angular-core.mjs +83 -24
- package/fesm2022/igniteui-angular-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-grid.mjs +9 -0
- package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-list.mjs +14 -1
- package/fesm2022/igniteui-angular-list.mjs.map +1 -1
- package/fesm2022/igniteui-angular-navigation-drawer.mjs +6 -1
- package/fesm2022/igniteui-angular-navigation-drawer.mjs.map +1 -1
- package/package.json +1 -1
- package/skills/igniteui-angular-components/SKILL.md +9 -29
- package/skills/igniteui-angular-components/references/charts.md +3 -33
- package/skills/igniteui-angular-components/references/data-display.md +8 -94
- package/skills/igniteui-angular-components/references/directives.md +13 -114
- package/skills/igniteui-angular-components/references/feedback.md +1 -4
- package/skills/igniteui-angular-components/references/form-controls.md +10 -75
- package/skills/igniteui-angular-components/references/layout-manager.md +15 -198
- package/skills/igniteui-angular-components/references/layout.md +1 -4
- package/skills/igniteui-angular-components/references/mcp-setup.md +28 -29
- package/skills/igniteui-angular-components/references/setup.md +6 -4
- package/skills/igniteui-angular-figma-to-app/SKILL.md +37 -25
- package/skills/igniteui-angular-figma-to-app/references/figma-component-map.md +25 -26
- package/skills/igniteui-angular-figma-to-app/references/mcp-setup.md +13 -9
- package/skills/igniteui-angular-figma-to-app/references/validation-patterns.md +2 -2
- package/skills/igniteui-angular-generate-from-image-design/SKILL.md +22 -7
- package/skills/igniteui-angular-generate-from-image-design/references/component-mapping.md +1 -1
- package/skills/igniteui-angular-grids/SKILL.md +21 -25
- package/skills/igniteui-angular-grids/references/data-operations.md +10 -11
- package/skills/igniteui-angular-grids/references/editing.md +3 -4
- package/skills/igniteui-angular-grids/references/features.md +16 -38
- package/skills/igniteui-angular-grids/references/grid-migration.md +6 -8
- package/skills/igniteui-angular-grids/references/paging-remote.md +2 -4
- package/skills/igniteui-angular-grids/references/state.md +4 -5
- package/skills/igniteui-angular-grids/references/structure.md +16 -9
- package/skills/igniteui-angular-grids/references/types.md +19 -33
- package/skills/igniteui-angular-theming/SKILL.md +12 -65
- package/skills/igniteui-angular-theming/references/mcp-setup.md +28 -31
- package/types/igniteui-angular-core.d.ts +32 -5
- package/types/igniteui-angular-list.d.ts +5 -0
|
@@ -11,9 +11,6 @@
|
|
|
11
11
|
- [Tooltip](#tooltip)
|
|
12
12
|
- [Drag and Drop](#drag-and-drop)
|
|
13
13
|
|
|
14
|
-
## Overview
|
|
15
|
-
This reference gives high-level guidance on when to use each directive, their key features, and common API members. For detailed documentation, call `get_doc` and `get_api_reference` from `igniteui-cli` with the specific directive or feature you're interested in.
|
|
16
|
-
|
|
17
14
|
## Button & Icon Button
|
|
18
15
|
|
|
19
16
|
```typescript
|
|
@@ -56,104 +53,19 @@ import { IgxIconComponent } from 'igniteui-angular/icon';
|
|
|
56
53
|
```
|
|
57
54
|
|
|
58
55
|
```html
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
<button igxButton>
|
|
62
|
-
<button igxButton [selected]="true">Center</button>
|
|
63
|
-
<button igxButton>Right</button>
|
|
64
|
-
</igx-buttongroup>
|
|
65
|
-
|
|
66
|
-
<!-- Multi-selection -->
|
|
67
|
-
<igx-buttongroup selectionMode="multi">
|
|
68
|
-
<button igxButton><igx-icon>format_bold</igx-icon></button>
|
|
56
|
+
<igx-buttongroup selectionMode="multi" alignment="horizontal"
|
|
57
|
+
(selected)="onSelected($event)" (deselected)="onDeselected($event)">
|
|
58
|
+
<button igxButton [selected]="true"><igx-icon>format_bold</igx-icon></button>
|
|
69
59
|
<button igxButton><igx-icon>format_italic</igx-icon></button>
|
|
70
|
-
<button igxButton><igx-icon>format_underlined</igx-icon></button>
|
|
71
|
-
</igx-buttongroup>
|
|
72
|
-
|
|
73
|
-
<!-- singleRequired — always keeps one button selected, cannot deselect -->
|
|
74
|
-
<igx-buttongroup selectionMode="singleRequired">
|
|
75
|
-
<button igxButton [selected]="true">Day</button>
|
|
76
|
-
<button igxButton>Week</button>
|
|
77
|
-
<button igxButton>Month</button>
|
|
78
|
-
</igx-buttongroup>
|
|
79
|
-
|
|
80
|
-
<!-- Vertical alignment -->
|
|
81
|
-
<igx-buttongroup alignment="vertical">
|
|
82
|
-
<button igxButton>Top</button>
|
|
83
|
-
<button igxButton>Middle</button>
|
|
84
|
-
<button igxButton>Bottom</button>
|
|
85
|
-
</igx-buttongroup>
|
|
86
|
-
|
|
87
|
-
<!-- Disabled group -->
|
|
88
|
-
<igx-buttongroup [disabled]="true">
|
|
89
|
-
<button igxButton>A</button>
|
|
90
|
-
<button igxButton>B</button>
|
|
91
|
-
</igx-buttongroup>
|
|
92
|
-
|
|
93
|
-
<!-- React to selection / deselection events -->
|
|
94
|
-
<igx-buttongroup (selected)="onSelected($event)" (deselected)="onDeselected($event)">
|
|
95
|
-
<button igxButton>One</button>
|
|
96
|
-
<button igxButton>Two</button>
|
|
97
|
-
<button igxButton>Three</button>
|
|
60
|
+
<button igxButton [disabled]="true"><igx-icon>format_underlined</igx-icon></button>
|
|
98
61
|
</igx-buttongroup>
|
|
99
62
|
```
|
|
100
63
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
onDeselected(event: IButtonGroupEventArgs) {
|
|
109
|
-
console.log('Deselected index:', event.index);
|
|
110
|
-
}
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
**Key inputs on `igx-buttongroup`:**
|
|
114
|
-
|
|
115
|
-
| Input | Type | Default | Description |
|
|
116
|
-
|---|---|---|---|
|
|
117
|
-
| `selectionMode` | `'single' \| 'singleRequired' \| 'multi'` | `'single'` | Selection behaviour. `singleRequired` prevents full deselection. |
|
|
118
|
-
| `alignment` | `'horizontal' \| 'vertical'` | `'horizontal'` | Layout direction of the buttons. |
|
|
119
|
-
| `disabled` | `boolean` | `false` | Disables every button in the group. |
|
|
120
|
-
|
|
121
|
-
**Key outputs on `igx-buttongroup`:**
|
|
122
|
-
|
|
123
|
-
| Output | Payload | Emits when |
|
|
124
|
-
|---|---|---|
|
|
125
|
-
| `(selected)` | `IButtonGroupEventArgs` | A button is selected. |
|
|
126
|
-
| `(deselected)` | `IButtonGroupEventArgs` | A button is deselected. |
|
|
127
|
-
|
|
128
|
-
`IButtonGroupEventArgs`: `{ owner: IgxButtonGroupComponent; button: IgxButtonDirective; index: number }`, where `IgxButtonGroupComponent` is from `igniteui-angular/button-group` and `IgxButtonDirective` is from `igniteui-angular/directives` (see **Button & Icon Button** section above).
|
|
129
|
-
|
|
130
|
-
**Key inputs on each `<button igxButton>` child:**
|
|
131
|
-
|
|
132
|
-
| Input | Type | Description |
|
|
133
|
-
|---|---|---|
|
|
134
|
-
| `[selected]` | `boolean` | Sets the initial selected state of the button. |
|
|
135
|
-
| `[disabled]` | `boolean` | Disables a specific button within the group. |
|
|
136
|
-
|
|
137
|
-
**Programmatic control:**
|
|
138
|
-
|
|
139
|
-
```typescript
|
|
140
|
-
import { viewChild } from '@angular/core';
|
|
141
|
-
import { IgxButtonGroupComponent } from 'igniteui-angular/button-group';
|
|
142
|
-
|
|
143
|
-
buttonGroup = viewChild.required<IgxButtonGroupComponent>('myGroup');
|
|
144
|
-
|
|
145
|
-
selectSecond() { this.buttonGroup().selectButton(1); }
|
|
146
|
-
deselectSecond() { this.buttonGroup().deselectButton(1); }
|
|
147
|
-
getSelected() { return this.buttonGroup().selectedButtons; }
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
```html
|
|
151
|
-
<igx-buttongroup #myGroup selectionMode="multi">
|
|
152
|
-
<button igxButton>A</button>
|
|
153
|
-
<button igxButton>B</button>
|
|
154
|
-
<button igxButton>C</button>
|
|
155
|
-
</igx-buttongroup>
|
|
156
|
-
```
|
|
64
|
+
- `selectionMode`: `'single'` (default) | `'singleRequired'` (one always stays selected) | `'multi'`
|
|
65
|
+
- `alignment`: `'horizontal'` (default) | `'vertical'`; `[disabled]` on the group disables all buttons
|
|
66
|
+
- `(selected)`/`(deselected)` emit `IButtonGroupEventArgs` (`{ owner, button, index }`, from `igniteui-angular/button-group`)
|
|
67
|
+
- Programmatic: `selectButton(index)`, `deselectButton(index)`, `selectedButtons` on `IgxButtonGroupComponent`
|
|
68
|
+
- Further members: `search_api({ framework: "angular", query: "IgxButtonGroupComponent" })`
|
|
157
69
|
|
|
158
70
|
## Ripple Effect
|
|
159
71
|
|
|
@@ -175,28 +87,15 @@ Inputs: `[igxRipple]` (ripple color), `[igxRippleCentered]` (always start from c
|
|
|
175
87
|
|
|
176
88
|
## Tooltip
|
|
177
89
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
90
|
+
> **Full doc in the MCP:** `get_doc({ framework: "angular", name: "tooltip" })` covers triggers, overlay behavior, sticky/arrowed tooltips, styling, and accessibility.
|
|
91
|
+
|
|
92
|
+
The at-a-glance pairing — `igxTooltipTarget` on the host references the `igxTooltip` element (both from `igniteui-angular/directives`):
|
|
181
93
|
|
|
182
94
|
```html
|
|
183
|
-
<button igxButton [igxTooltipTarget]="myTooltip" [showDelay]="500">
|
|
184
|
-
Hover or focus me
|
|
185
|
-
</button>
|
|
95
|
+
<button igxButton [igxTooltipTarget]="myTooltip" [showDelay]="500">Hover or focus me</button>
|
|
186
96
|
<div igxTooltip #myTooltip="tooltip">Helpful tooltip text</div>
|
|
187
97
|
```
|
|
188
98
|
|
|
189
|
-
Inputs on `[igxTooltipTarget]`: `[showDelay]` (ms), `[hideDelay]` (ms), `[tooltipDisabled]`.
|
|
190
|
-
|
|
191
|
-
Programmatic control via the target directive:
|
|
192
|
-
|
|
193
|
-
```typescript
|
|
194
|
-
tooltipTarget = viewChild.required(IgxTooltipTargetDirective);
|
|
195
|
-
|
|
196
|
-
show() { this.tooltipTarget().showTooltip(); }
|
|
197
|
-
hide() { this.tooltipTarget().hideTooltip(); }
|
|
198
|
-
```
|
|
199
|
-
|
|
200
99
|
## Drag and Drop
|
|
201
100
|
|
|
202
101
|
```typescript
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
> **Part of the [`igniteui-angular-components`](../SKILL.md) skill hub.**
|
|
4
4
|
> For app setup, providers, and import patterns — see [`setup.md`](./setup.md).
|
|
5
5
|
|
|
6
|
-
> **
|
|
6
|
+
> **Important:** All components in this file rely on Angular animations and the Ignite UI overlay system. Before using any of them, ensure `provideAnimations()` (or `provideAnimationsAsync()`) is present in `app.config.ts`. If it is missing, add it — these components will throw runtime errors or silently fail to animate without it.
|
|
7
7
|
|
|
8
8
|
## Contents
|
|
9
9
|
|
|
@@ -13,9 +13,6 @@
|
|
|
13
13
|
- [Banner](#banner)
|
|
14
14
|
- [Key Rules](#key-rules)
|
|
15
15
|
|
|
16
|
-
## Overview
|
|
17
|
-
This reference gives high-level guidance on when to use each feedback and overlay component, their key features, and common API members. For detailed documentation, call `get_doc` and `get_api_reference` from `igniteui-cli` with the specific component or feature you're interested in.
|
|
18
|
-
|
|
19
16
|
## Dialog
|
|
20
17
|
|
|
21
18
|
```typescript
|
|
@@ -19,9 +19,6 @@
|
|
|
19
19
|
- [Reactive Forms Integration](#reactive-forms-integration)
|
|
20
20
|
- [Key Rules](#key-rules)
|
|
21
21
|
|
|
22
|
-
## Overview
|
|
23
|
-
This reference gives high-level guidance on when to use each form control component, their key features, and common API members. For detailed documentation, call `get_doc` and `get_api_reference` from `igniteui-cli` with the specific component or feature you're interested in.
|
|
24
|
-
|
|
25
22
|
## Input Group
|
|
26
23
|
|
|
27
24
|
```typescript
|
|
@@ -43,43 +40,21 @@ Types: `line` (default), `border`, `box`, `search`.
|
|
|
43
40
|
|
|
44
41
|
## Combo (Multi-Select Dropdown)
|
|
45
42
|
|
|
43
|
+
> **Full doc in the MCP:** `get_doc({ framework: "angular", name: "combo" })` covers data binding, selection APIs, forms support, keyboard behavior, and known issues. Prefer it over this snippet when available.
|
|
44
|
+
|
|
46
45
|
```typescript
|
|
47
46
|
import { IgxComboComponent } from 'igniteui-angular/combo';
|
|
48
47
|
```
|
|
49
48
|
|
|
50
49
|
```html
|
|
51
|
-
<igx-combo
|
|
52
|
-
[data]="cities"
|
|
53
|
-
[valueKey]="'id'"
|
|
54
|
-
[displayKey]="'name'"
|
|
55
|
-
[groupKey]="'region'"
|
|
56
|
-
placeholder="Select cities"
|
|
57
|
-
[allowCustomValues]="false"
|
|
58
|
-
[(ngModel)]="selectedCityIds">
|
|
59
|
-
</igx-combo>
|
|
50
|
+
<igx-combo [data]="cities" [valueKey]="'id'" [displayKey]="'name'" [(ngModel)]="selectedCityIds"></igx-combo>
|
|
60
51
|
```
|
|
61
52
|
|
|
62
|
-
Key inputs: `[data]`, `[valueKey]`, `[displayKey]`, `[groupKey]`, `[placeholder]`, `[allowCustomValues]`, `[filterFunction]`, `[itemsMaxHeight]`, `[type]`.
|
|
63
|
-
|
|
64
|
-
Events: `(opening)`, `(opened)`, `(closing)`, `(closed)`, `(selectionChanging)`, `(addition)`, `(searchInputUpdate)`.
|
|
65
|
-
|
|
66
53
|
## Simple Combo (Single-Select)
|
|
67
54
|
|
|
68
|
-
|
|
69
|
-
import { IgxSimpleComboComponent } from 'igniteui-angular/simple-combo';
|
|
70
|
-
```
|
|
55
|
+
> **Full doc in the MCP:** `get_doc({ framework: "angular", name: "simple-combo" })`.
|
|
71
56
|
|
|
72
|
-
|
|
73
|
-
<igx-simple-combo
|
|
74
|
-
[data]="countries"
|
|
75
|
-
[valueKey]="'code'"
|
|
76
|
-
[displayKey]="'name'"
|
|
77
|
-
placeholder="Select country"
|
|
78
|
-
[(ngModel)]="selectedCountry">
|
|
79
|
-
</igx-simple-combo>
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
Same API as `igx-combo` but restricted to single selection.
|
|
57
|
+
`IgxSimpleComboComponent` from `igniteui-angular/simple-combo` (its own entry point, not `/combo`). Same API as `igx-combo` but restricted to single selection.
|
|
83
58
|
|
|
84
59
|
## Select
|
|
85
60
|
|
|
@@ -123,59 +98,21 @@ import { IgxIconComponent } from 'igniteui-angular/icon';
|
|
|
123
98
|
import { IgxPickerToggleComponent, IgxPickerClearComponent } from 'igniteui-angular/core';
|
|
124
99
|
```
|
|
125
100
|
|
|
126
|
-
|
|
127
|
-
<igx-date-range-picker [(ngModel)]="dateRange">
|
|
128
|
-
<igx-date-range-start>
|
|
129
|
-
<input igxInput igxDateTimeEditor type="text" />
|
|
130
|
-
</igx-date-range-start>
|
|
131
|
-
<igx-date-range-end>
|
|
132
|
-
<input igxInput igxDateTimeEditor type="text" />
|
|
133
|
-
</igx-date-range-end>
|
|
134
|
-
</igx-date-range-picker>
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
`IgxDateRangePickerComponent` is imported from `igniteui-angular/date-picker`.
|
|
139
|
-
|
|
140
|
-
In the two-input configuration:
|
|
141
|
-
|
|
142
|
-
- place the `input` directly inside `igx-date-range-start` and `igx-date-range-end`
|
|
143
|
-
- use `igx-picker-toggle igxPrefix` for the calendar action
|
|
144
|
-
- use `igx-picker-clear igxSuffix` for the clear action
|
|
145
|
-
|
|
146
|
-
A plain `igx-prefix` or `igx-suffix` with an `igx-icon` is decorative only and does not trigger picker actions.
|
|
147
|
-
Do not wrap the inputs in an additional `igx-input-group`.
|
|
148
|
-
|
|
149
|
-
**Avoid these patterns in two-input mode:**
|
|
150
|
-
|
|
151
|
-
- `<igx-prefix><igx-icon>calendar_today</igx-icon></igx-prefix>`
|
|
152
|
-
|
|
153
|
-
- placing the toggle on only one input unless explicitly requested
|
|
154
|
-
|
|
155
|
-
Common two-input configuration with calendar toggles:
|
|
101
|
+
Two-input configuration rules — place the `input` directly inside `igx-date-range-start`/`igx-date-range-end` (no extra `igx-input-group` wrapper); use `igx-picker-toggle igxPrefix` for the calendar action and `igx-picker-clear igxSuffix` for the clear action on **both** inputs. A plain `igx-prefix`/`igx-suffix` icon is decorative only and does not trigger picker actions.
|
|
156
102
|
|
|
157
103
|
```html
|
|
158
104
|
<igx-date-range-picker [(ngModel)]="dateRange">
|
|
159
105
|
<igx-date-range-start>
|
|
160
|
-
<igx-picker-toggle igxPrefix>
|
|
161
|
-
<igx-icon>calendar_today</igx-icon>
|
|
162
|
-
</igx-picker-toggle>
|
|
106
|
+
<igx-picker-toggle igxPrefix><igx-icon>calendar_today</igx-icon></igx-picker-toggle>
|
|
163
107
|
<label igxLabel>Start Date</label>
|
|
164
108
|
<input igxInput igxDateTimeEditor type="text" />
|
|
165
|
-
<igx-picker-clear igxSuffix>
|
|
166
|
-
<igx-icon>clear</igx-icon>
|
|
167
|
-
</igx-picker-clear>
|
|
109
|
+
<igx-picker-clear igxSuffix><igx-icon>clear</igx-icon></igx-picker-clear>
|
|
168
110
|
</igx-date-range-start>
|
|
169
|
-
|
|
170
111
|
<igx-date-range-end>
|
|
171
|
-
<igx-picker-toggle igxPrefix>
|
|
172
|
-
<igx-icon>calendar_today</igx-icon>
|
|
173
|
-
</igx-picker-toggle>
|
|
112
|
+
<igx-picker-toggle igxPrefix><igx-icon>calendar_today</igx-icon></igx-picker-toggle>
|
|
174
113
|
<label igxLabel>End Date</label>
|
|
175
114
|
<input igxInput igxDateTimeEditor type="text" />
|
|
176
|
-
<igx-picker-clear igxSuffix>
|
|
177
|
-
<igx-icon>clear</igx-icon>
|
|
178
|
-
</igx-picker-clear>
|
|
115
|
+
<igx-picker-clear igxSuffix><igx-icon>clear</igx-icon></igx-picker-clear>
|
|
179
116
|
</igx-date-range-end>
|
|
180
117
|
</igx-date-range-picker>
|
|
181
118
|
```
|
|
@@ -357,8 +294,6 @@ export class MyFormComponent {
|
|
|
357
294
|
- **Always check `app.config.ts` first** — add `provideAnimations()` before using Combo, Select, Date Picker, or any overlay component
|
|
358
295
|
- **Import from specific entry points** — avoid the root `igniteui-angular` barrel
|
|
359
296
|
- Date/Time pickers implement both `ControlValueAccessor` and `Validator` — they integrate with reactive forms natively
|
|
360
|
-
- For `igx-date-range-picker` with separate start and end inputs, use this structure for both inputs: `igx-picker-toggle igxPrefix`, then `input igxInput igxDateTimeEditor`, then optional `igx-picker-clear igxSuffix`.
|
|
361
|
-
- Do not use a plain `igx-prefix` / `igx-suffix` icon for calendar or clear actions.
|
|
362
297
|
- How to choose between Combo, Simple Combo, Select, and Auto-complete:
|
|
363
298
|
- Use `igx-combo` for multi-select dropdowns with built-in filtering and grouping
|
|
364
299
|
- Use `igx-simple-combo` for single-select dropdowns with built-in filtering and grouping
|
|
@@ -9,9 +9,6 @@
|
|
|
9
9
|
- [Dock Manager](#dock-manager)
|
|
10
10
|
- [Tile Manager](#tile-manager)
|
|
11
11
|
|
|
12
|
-
## Overview
|
|
13
|
-
This reference gives high-level guidance on when to use each layout manager component, their key features, and common API members. For detailed documentation, call `get_doc` and `get_api_reference` from `igniteui-cli` with the specific component or feature you're interested in.
|
|
14
|
-
|
|
15
12
|
---
|
|
16
13
|
|
|
17
14
|
## Layout Manager Directives
|
|
@@ -62,26 +59,7 @@ import { IgxLayoutDirective, IgxFlexDirective } from 'igniteui-angular/directive
|
|
|
62
59
|
</div>
|
|
63
60
|
```
|
|
64
61
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
```html
|
|
68
|
-
<div igxLayout igxLayoutDir="row" igxLayoutJustify="center" igxLayoutItemAlign="center"
|
|
69
|
-
style="height: 100vh;">
|
|
70
|
-
<div igxFlex igxFlexGrow="0">Centered content</div>
|
|
71
|
-
</div>
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
#### Wrapping Tiles
|
|
75
|
-
|
|
76
|
-
```html
|
|
77
|
-
<div igxLayout igxLayoutDir="row" igxLayoutWrap="wrap" igxLayoutJustify="flex-start">
|
|
78
|
-
@for (item of items; track item.id) {
|
|
79
|
-
<div igxFlex igxFlexBasis="200px" igxFlexGrow="0" class="tile">
|
|
80
|
-
{{ item.title }}
|
|
81
|
-
</div>
|
|
82
|
-
}
|
|
83
|
-
</div>
|
|
84
|
-
```
|
|
62
|
+
Other patterns (centering, wrapping tile grids) follow directly from the directive inputs below — e.g. `igxLayoutJustify="center" igxLayoutItemAlign="center"` to center, `igxLayoutWrap="wrap"` + fixed `igxFlexBasis` children for tile grids.
|
|
85
63
|
|
|
86
64
|
### `igxLayout` Directive Inputs
|
|
87
65
|
|
|
@@ -252,114 +230,6 @@ export class DockManagerComponent {
|
|
|
252
230
|
</igc-dockmanager>
|
|
253
231
|
```
|
|
254
232
|
|
|
255
|
-
### Full Example (from user-provided code)
|
|
256
|
-
|
|
257
|
-
```typescript
|
|
258
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
259
|
-
import {
|
|
260
|
-
IgcDockManagerLayout,
|
|
261
|
-
IgcDockManagerPaneType,
|
|
262
|
-
IgcSplitPaneOrientation
|
|
263
|
-
} from 'igniteui-dockmanager';
|
|
264
|
-
|
|
265
|
-
@Component({
|
|
266
|
-
selector: 'app-dock-manager',
|
|
267
|
-
templateUrl: './dock-manager.component.html',
|
|
268
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
269
|
-
})
|
|
270
|
-
export class DockManagerComponent {
|
|
271
|
-
layout: IgcDockManagerLayout = {
|
|
272
|
-
rootPane: {
|
|
273
|
-
type: IgcDockManagerPaneType.splitPane,
|
|
274
|
-
orientation: IgcSplitPaneOrientation.horizontal,
|
|
275
|
-
panes: [
|
|
276
|
-
{
|
|
277
|
-
type: IgcDockManagerPaneType.splitPane,
|
|
278
|
-
orientation: IgcSplitPaneOrientation.vertical,
|
|
279
|
-
panes: [
|
|
280
|
-
{ type: IgcDockManagerPaneType.contentPane, contentId: 'content1', header: 'Content Pane 1' },
|
|
281
|
-
{ type: IgcDockManagerPaneType.contentPane, contentId: 'content2', header: 'Unpinned Pane 1', isPinned: false }
|
|
282
|
-
]
|
|
283
|
-
},
|
|
284
|
-
{
|
|
285
|
-
type: IgcDockManagerPaneType.splitPane,
|
|
286
|
-
orientation: IgcSplitPaneOrientation.vertical,
|
|
287
|
-
size: 200,
|
|
288
|
-
panes: [
|
|
289
|
-
{
|
|
290
|
-
type: IgcDockManagerPaneType.documentHost,
|
|
291
|
-
size: 200,
|
|
292
|
-
rootPane: {
|
|
293
|
-
type: IgcDockManagerPaneType.splitPane,
|
|
294
|
-
orientation: IgcSplitPaneOrientation.horizontal,
|
|
295
|
-
allowEmpty: true,
|
|
296
|
-
panes: [
|
|
297
|
-
{
|
|
298
|
-
type: IgcDockManagerPaneType.tabGroupPane,
|
|
299
|
-
panes: [
|
|
300
|
-
{ type: IgcDockManagerPaneType.contentPane, header: 'Document 1', contentId: 'content3', documentOnly: true },
|
|
301
|
-
{ type: IgcDockManagerPaneType.contentPane, header: 'Document 2', contentId: 'content4', documentOnly: true }
|
|
302
|
-
]
|
|
303
|
-
}
|
|
304
|
-
]
|
|
305
|
-
}
|
|
306
|
-
},
|
|
307
|
-
{ type: IgcDockManagerPaneType.contentPane, contentId: 'content5', header: 'Unpinned Pane 2', isPinned: false }
|
|
308
|
-
]
|
|
309
|
-
},
|
|
310
|
-
{
|
|
311
|
-
type: IgcDockManagerPaneType.splitPane,
|
|
312
|
-
orientation: IgcSplitPaneOrientation.vertical,
|
|
313
|
-
panes: [
|
|
314
|
-
{
|
|
315
|
-
type: IgcDockManagerPaneType.tabGroupPane,
|
|
316
|
-
size: 200,
|
|
317
|
-
panes: [
|
|
318
|
-
{ type: IgcDockManagerPaneType.contentPane, contentId: 'content6', header: 'Tab 1' },
|
|
319
|
-
{ type: IgcDockManagerPaneType.contentPane, contentId: 'content7', header: 'Tab 2' },
|
|
320
|
-
{ type: IgcDockManagerPaneType.contentPane, contentId: 'content8', header: 'Tab 3' },
|
|
321
|
-
{ type: IgcDockManagerPaneType.contentPane, contentId: 'content9', header: 'Tab 4' },
|
|
322
|
-
{ type: IgcDockManagerPaneType.contentPane, contentId: 'content10', header: 'Tab 5' }
|
|
323
|
-
]
|
|
324
|
-
},
|
|
325
|
-
{ type: IgcDockManagerPaneType.contentPane, contentId: 'content11', header: 'Content Pane 2' }
|
|
326
|
-
]
|
|
327
|
-
}
|
|
328
|
-
]
|
|
329
|
-
},
|
|
330
|
-
floatingPanes: [
|
|
331
|
-
{
|
|
332
|
-
type: IgcDockManagerPaneType.splitPane,
|
|
333
|
-
orientation: IgcSplitPaneOrientation.horizontal,
|
|
334
|
-
floatingHeight: 150,
|
|
335
|
-
floatingWidth: 250,
|
|
336
|
-
floatingLocation: { x: 300, y: 200 },
|
|
337
|
-
panes: [
|
|
338
|
-
{ type: IgcDockManagerPaneType.contentPane, contentId: 'content12', header: 'Floating Pane' }
|
|
339
|
-
]
|
|
340
|
-
}
|
|
341
|
-
]
|
|
342
|
-
};
|
|
343
|
-
}
|
|
344
|
-
```
|
|
345
|
-
|
|
346
|
-
```html
|
|
347
|
-
<igc-dockmanager [layout]="layout" style="height: 600px;">
|
|
348
|
-
<div slot="content1" class="dockManagerContent">Content 1</div>
|
|
349
|
-
<div slot="content2" class="dockManagerContent">Content 2</div>
|
|
350
|
-
<div slot="content3" class="dockManagerContent">Content 3</div>
|
|
351
|
-
<div slot="content4" class="dockManagerContent">Content 4</div>
|
|
352
|
-
<div slot="content5" class="dockManagerContent">Content 5</div>
|
|
353
|
-
<div slot="content6" class="dockManagerContent">Content 6</div>
|
|
354
|
-
<div slot="content7" class="dockManagerContent">Content 7</div>
|
|
355
|
-
<div slot="content8" class="dockManagerContent">Content 8</div>
|
|
356
|
-
<div slot="content9" class="dockManagerContent">Content 9</div>
|
|
357
|
-
<div slot="content10" class="dockManagerContent">Content 10</div>
|
|
358
|
-
<div slot="content11" class="dockManagerContent">Content 11</div>
|
|
359
|
-
<div slot="content12" class="dockManagerContent">Content 12</div>
|
|
360
|
-
</igc-dockmanager>
|
|
361
|
-
```
|
|
362
|
-
|
|
363
233
|
### Key Rules for Dock Manager
|
|
364
234
|
|
|
365
235
|
1. **Separate package** — `igniteui-dockmanager` is installed independently of `igniteui-angular`
|
|
@@ -407,86 +277,33 @@ import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
|
407
277
|
export class TileManagerComponent { }
|
|
408
278
|
```
|
|
409
279
|
|
|
410
|
-
###
|
|
280
|
+
### Usage
|
|
411
281
|
|
|
412
282
|
```html
|
|
413
|
-
<igc-tile-manager
|
|
414
|
-
|
|
415
|
-
<span slot="title">Tile 1 header</span>
|
|
416
|
-
<p>Tile 1 content</p>
|
|
417
|
-
</igc-tile>
|
|
418
|
-
<igc-tile>
|
|
419
|
-
<span slot="title">Tile 2 header</span>
|
|
420
|
-
<p>Tile 2 content</p>
|
|
421
|
-
</igc-tile>
|
|
422
|
-
</igc-tile-manager>
|
|
423
|
-
```
|
|
424
|
-
|
|
425
|
-
### Layout Properties
|
|
426
|
-
|
|
427
|
-
Key `igc-tile-manager` properties:
|
|
428
|
-
|
|
429
|
-
- **`column-count`**: number of grid columns; if omitted or \<1, as many columns as fit with a minimum width (200px) are created.
|
|
430
|
-
- **`gap`**: space between tiles (e.g., `"20px"`, `"1rem"`).
|
|
431
|
-
- **`min-column-width`**: minimum width per column (e.g., `"200px"`).
|
|
432
|
-
- **`min-row-height`**: minimum height per row (e.g., `"150px"`).
|
|
433
|
-
|
|
434
|
-
```html
|
|
435
|
-
<igc-tile-manager
|
|
436
|
-
column-count="2"
|
|
437
|
-
gap="20px"
|
|
438
|
-
min-column-width="220px"
|
|
439
|
-
min-row-height="160px">
|
|
440
|
-
<igc-tile>
|
|
441
|
-
<span slot="title">Tile 1 header</span>
|
|
442
|
-
<p>Tile 1 content</p>
|
|
443
|
-
</igc-tile>
|
|
444
|
-
<igc-tile>
|
|
445
|
-
<span slot="title">Tile 2 header</span>
|
|
446
|
-
<p>Tile 2 content</p>
|
|
447
|
-
</igc-tile>
|
|
448
|
-
</igc-tile-manager>
|
|
449
|
-
```
|
|
450
|
-
|
|
451
|
-
### Tile Properties
|
|
452
|
-
|
|
453
|
-
Each `igc-tile` can configure its own size and behavior:
|
|
454
|
-
|
|
455
|
-
- **`row-start` / `col-start`**: starting row/column for the tile
|
|
456
|
-
- **`row-span` / `col-span`**: how many rows/columns the tile spans
|
|
457
|
-
- **`disable-resize`**: prevents the tile from being resized
|
|
458
|
-
- **`disable-maximize`** / **`disable-fullscreen`**: hide default header actions
|
|
459
|
-
|
|
460
|
-
```html
|
|
461
|
-
<igc-tile-manager>
|
|
283
|
+
<igc-tile-manager column-count="2" gap="20px" min-column-width="220px" min-row-height="160px"
|
|
284
|
+
resize-mode="hover" drag-mode="tile-header">
|
|
462
285
|
<igc-tile col-span="2" disable-resize>
|
|
463
286
|
<span slot="title">Wide tile</span>
|
|
464
|
-
<p>Content</p>
|
|
287
|
+
<p>Content spanning two columns</p>
|
|
465
288
|
</igc-tile>
|
|
466
289
|
<igc-tile row-span="2">
|
|
467
290
|
<span slot="title">Tall tile</span>
|
|
468
|
-
<p>Content
|
|
291
|
+
<p>Content spanning two rows</p>
|
|
469
292
|
</igc-tile>
|
|
470
293
|
</igc-tile-manager>
|
|
471
294
|
```
|
|
472
295
|
|
|
473
|
-
|
|
296
|
+
`igc-tile-manager` properties:
|
|
474
297
|
|
|
475
|
-
-
|
|
476
|
-
-
|
|
298
|
+
- **`column-count`**: number of grid columns; if omitted or \<1, as many columns as fit with a minimum width (200px) are created
|
|
299
|
+
- **`gap`** / **`min-column-width`** / **`min-row-height`**: spacing and minimum track sizes (e.g., `"20px"`)
|
|
300
|
+
- **`resize-mode`**: `"none"` | `"hover"` | `"always"` — controls tile resizing
|
|
301
|
+
- **`drag-mode`**: `"tile"` | `"tile-header"` — enables reordering
|
|
477
302
|
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
<p>Content</p>
|
|
483
|
-
</igc-tile>
|
|
484
|
-
<igc-tile>
|
|
485
|
-
<span slot="title">Tile 2</span>
|
|
486
|
-
<p>Content</p>
|
|
487
|
-
</igc-tile>
|
|
488
|
-
</igc-tile-manager>
|
|
489
|
-
```
|
|
303
|
+
`igc-tile` properties:
|
|
304
|
+
|
|
305
|
+
- **`row-start` / `col-start`** and **`row-span` / `col-span`**: grid placement and spanning
|
|
306
|
+
- **`disable-resize`**, **`disable-maximize`** / **`disable-fullscreen`**: opt out of resize / default header actions
|
|
490
307
|
|
|
491
308
|
### Key Rules for Tile Manager
|
|
492
309
|
|
|
@@ -12,9 +12,6 @@
|
|
|
12
12
|
- [Splitter](#splitter)
|
|
13
13
|
- [Navigation Drawer](#navigation-drawer)
|
|
14
14
|
|
|
15
|
-
## Overview
|
|
16
|
-
This reference gives high-level guidance on when to use each layout component, their key features, and common API members. For detailed documentation, call `get_doc` and `get_api_reference` from `igniteui-cli` with the specific component or feature you're interested in.
|
|
17
|
-
|
|
18
15
|
## Tabs
|
|
19
16
|
|
|
20
17
|
```typescript
|
|
@@ -201,7 +198,7 @@ Key inputs: `[isOpen]`, `[pin]` (dock to content), `[pinThreshold]` (auto-pin at
|
|
|
201
198
|
|
|
202
199
|
Events: `(opened)`, `(closed)`, `(pinChange)`.
|
|
203
200
|
|
|
204
|
-
> **
|
|
201
|
+
> **Important:** The Navigation Drawer uses the Ignite UI overlay/animation system — ensure `provideAnimations()` is in `app.config.ts`.
|
|
205
202
|
|
|
206
203
|
## See Also
|
|
207
204
|
|