igniteui-angular 21.2.0-rc.0 → 21.2.0-rc.2
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-accordion.mjs +7 -7
- package/fesm2022/igniteui-angular-action-strip.mjs +10 -10
- package/fesm2022/igniteui-angular-avatar.mjs +7 -7
- package/fesm2022/igniteui-angular-badge.mjs +7 -8
- package/fesm2022/igniteui-angular-badge.mjs.map +1 -1
- package/fesm2022/igniteui-angular-banner.mjs +10 -10
- package/fesm2022/igniteui-angular-bottom-nav.mjs +22 -22
- package/fesm2022/igniteui-angular-button-group.mjs +7 -7
- package/fesm2022/igniteui-angular-calendar.mjs +61 -61
- package/fesm2022/igniteui-angular-card.mjs +31 -31
- package/fesm2022/igniteui-angular-carousel.mjs +32 -33
- package/fesm2022/igniteui-angular-carousel.mjs.map +1 -1
- package/fesm2022/igniteui-angular-chat-extras.mjs +6 -6
- package/fesm2022/igniteui-angular-chat.mjs +12 -12
- package/fesm2022/igniteui-angular-checkbox.mjs +7 -7
- package/fesm2022/igniteui-angular-chips.mjs +10 -10
- package/fesm2022/igniteui-angular-combo.mjs +52 -52
- package/fesm2022/igniteui-angular-core.mjs +63 -110
- package/fesm2022/igniteui-angular-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-date-picker.mjs +38 -38
- package/fesm2022/igniteui-angular-dialog.mjs +13 -13
- package/fesm2022/igniteui-angular-directives.mjs +191 -191
- package/fesm2022/igniteui-angular-drop-down.mjs +29 -29
- package/fesm2022/igniteui-angular-expansion-panel.mjs +28 -28
- package/fesm2022/igniteui-angular-grids-core.mjs +454 -453
- package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-grid.mjs +49 -49
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +37 -37
- package/fesm2022/igniteui-angular-grids-lite.mjs +12 -12
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +79 -79
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs +55 -55
- package/fesm2022/igniteui-angular-icon.mjs +10 -10
- package/fesm2022/igniteui-angular-input-group.mjs +25 -25
- package/fesm2022/igniteui-angular-list.mjs +40 -40
- package/fesm2022/igniteui-angular-navbar.mjs +13 -13
- package/fesm2022/igniteui-angular-navigation-drawer.mjs +16 -16
- package/fesm2022/igniteui-angular-paginator.mjs +19 -19
- package/fesm2022/igniteui-angular-progressbar.mjs +19 -19
- package/fesm2022/igniteui-angular-query-builder.mjs +22 -22
- package/fesm2022/igniteui-angular-radio.mjs +14 -14
- package/fesm2022/igniteui-angular-radio.mjs.map +1 -1
- package/fesm2022/igniteui-angular-select.mjs +25 -25
- package/fesm2022/igniteui-angular-simple-combo.mjs +7 -7
- package/fesm2022/igniteui-angular-slider.mjs +39 -42
- package/fesm2022/igniteui-angular-slider.mjs.map +1 -1
- package/fesm2022/igniteui-angular-snackbar.mjs +7 -7
- package/fesm2022/igniteui-angular-splitter.mjs +13 -13
- package/fesm2022/igniteui-angular-stepper.mjs +38 -38
- package/fesm2022/igniteui-angular-stepper.mjs.map +1 -1
- package/fesm2022/igniteui-angular-switch.mjs +7 -7
- package/fesm2022/igniteui-angular-tabs.mjs +44 -43
- package/fesm2022/igniteui-angular-tabs.mjs.map +1 -1
- package/fesm2022/igniteui-angular-time-picker.mjs +19 -19
- package/fesm2022/igniteui-angular-toast.mjs +7 -7
- package/fesm2022/igniteui-angular-tree.mjs +28 -28
- package/lib/core/styles/components/badge/_badge-theme.scss +6 -1
- package/lib/core/styles/components/button-group/_button-group-theme.scss +78 -324
- package/lib/core/styles/components/chip/_chip-theme.scss +6 -2
- package/lib/core/styles/components/grid/_excel-filtering-theme.scss +16 -118
- package/lib/core/styles/components/grid/_grid-theme-builder.scss +391 -0
- package/lib/core/styles/components/grid/_grid-theme.scss +37 -39
- package/lib/core/styles/components/input/_input-group-theme.scss +1 -1
- package/lib/core/styles/components/progress/circular/_circular-theme.scss +1 -1
- package/lib/core/styles/components/query-builder/_query-builder-theme.scss +8 -8
- package/lib/core/styles/components/select/_select-theme.scss +1 -1
- package/migrations/common/ServerHost.js +35 -2
- package/migrations/common/UpdateChanges.js +37 -4
- package/migrations/common/tsLogger.js +34 -1
- package/migrations/common/tsUtils.js +35 -2
- package/migrations/common/util.d.ts +1 -1
- package/migrations/common/util.js +34 -1
- package/migrations/migration-collection.json +5 -0
- package/migrations/update-11_0_0/index.js +2 -3
- package/migrations/update-12_0_0/index.d.ts +1 -1
- package/migrations/update-12_0_0/index.js +2 -3
- package/migrations/update-12_1_0/index.js +2 -3
- package/migrations/update-13_0_0/index.js +2 -3
- package/migrations/update-13_1_0/index.js +2 -3
- package/migrations/update-15_1_0/index.js +2 -3
- package/migrations/update-16_1_0/index.js +2 -3
- package/migrations/update-17_0_0/index.js +36 -4
- package/migrations/update-17_1_0/index.js +2 -3
- package/migrations/update-18_0_0/index.js +2 -2
- package/migrations/update-20_0_6/index.js +3 -4
- package/migrations/update-21_0_0_import-migration/index.js +34 -1
- package/migrations/update-21_1_0_import-migration/index.js +34 -1
- package/migrations/update-21_2_0/changes/theme-changes.json +11 -0
- package/migrations/update-21_2_0/index.d.ts +3 -0
- package/migrations/update-21_2_0/index.js +18 -0
- package/package.json +2 -2
- package/schematics/ng-add/add-normalize.js +34 -1
- package/schematics/ng-add/index.spec.js +34 -1
- package/schematics/tsconfig.tsbuildinfo +1 -1
- package/skills/igniteui-angular-components/references/charts.md +4 -4
- package/skills/igniteui-angular-grids/SKILL.md +2 -0
- package/skills/igniteui-angular-grids/references/data-operations.md +3 -2
- package/skills/igniteui-angular-grids/references/sizing.md +204 -0
- package/skills/igniteui-angular-theming/SKILL.md +0 -3
- package/styles/igniteui-angular-dark.css +1 -1
- package/styles/igniteui-angular.css +1 -1
- package/styles/igniteui-bootstrap-dark.css +1 -1
- package/styles/igniteui-bootstrap-light.css +1 -1
- package/styles/igniteui-dark-green.css +1 -1
- package/styles/igniteui-fluent-dark-excel.css +1 -1
- package/styles/igniteui-fluent-dark-word.css +1 -1
- package/styles/igniteui-fluent-dark.css +1 -1
- package/styles/igniteui-fluent-light-excel.css +1 -1
- package/styles/igniteui-fluent-light-word.css +1 -1
- package/styles/igniteui-fluent-light.css +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/igniteui-indigo-light.css +1 -1
- package/styles/maps/igniteui-angular-dark.css.map +1 -1
- package/styles/maps/igniteui-angular.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
- package/styles/maps/igniteui-dark-green.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-light.css.map +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
- package/types/igniteui-angular-badge.d.ts +0 -2
- package/types/igniteui-angular-carousel.d.ts +0 -2
- package/types/igniteui-angular-core.d.ts +8 -35
- package/types/igniteui-angular-grids-core.d.ts +5 -0
- package/types/igniteui-angular-radio.d.ts +1 -1
- package/types/igniteui-angular-slider.d.ts +0 -2
- package/types/igniteui-angular-stepper.d.ts +0 -1
- package/types/igniteui-angular-tabs.d.ts +2 -4
- package/migrations/common/import-helper.js +0 -14
- package/skills/igniteui-angular-theming/references/contributing.md +0 -471
|
@@ -56,16 +56,16 @@ chartComponent.itemsSource = dataArray;
|
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
### Chart Type Selection
|
|
59
|
-
- **Category Chart**: `chartType` property (
|
|
59
|
+
- **Category Chart**: `chartType` property (Auto, Area, Column, Line, Point, etc.)
|
|
60
60
|
- **Financial Chart**: `chartType` property (Line, Candlestick, OHLC Bar)
|
|
61
|
-
- **Data Chart**: Configure explicit series (IgxAreaSeriesComponent, IgxBarSeriesComponent, etc.)
|
|
61
|
+
- **Data Chart**: Configure explicit series (IgxAreaSeriesComponent, IgxBarSeriesComponent, IgxBarSeries, etc.)
|
|
62
62
|
- **Pie Chart**: No chartType needed; inherent pie structure
|
|
63
63
|
|
|
64
64
|
### Required Properties
|
|
65
65
|
|
|
66
66
|
**IgxCategoryChartComponent** (simplest API; auto-detects numeric & string columns):
|
|
67
67
|
- `dataSource` — Data array (required)
|
|
68
|
-
- `chartType` — Chart type (
|
|
68
|
+
- `chartType` — Chart type (Auto, Area, Column, Line, Point, etc.)
|
|
69
69
|
- Component auto-detects: first string column → X-axis labels, numeric columns → Y-axis data
|
|
70
70
|
|
|
71
71
|
**IgxDataChartComponent** (advanced; requires explicit configuration):
|
|
@@ -233,7 +233,7 @@ chartComponent.itemsSource = dataArray;
|
|
|
233
233
|
```typescript
|
|
234
234
|
// Required
|
|
235
235
|
dataSource: any[]; // Data array (auto-detects numeric fields)
|
|
236
|
-
chartType:
|
|
236
|
+
chartType: CategoryChartType; // Auto, Area, Column, Line, Point, etc.
|
|
237
237
|
|
|
238
238
|
// Common optional inputs
|
|
239
239
|
xAxisTitle: string; // X-axis label
|
|
@@ -38,6 +38,7 @@ Base your code and explanation exclusively on what you read in Step 3. If the re
|
|
|
38
38
|
| Cell editing, row editing, batch editing, transactions, validation, summaries | [`references/editing.md`](./references/editing.md) |
|
|
39
39
|
| Paging, remote data, server-side ops, noop strategies, virtual scroll, multi-grid coordination | [`references/paging-remote.md`](./references/paging-remote.md) |
|
|
40
40
|
| State persistence, Tree Grid / Hierarchical Grid / Pivot Grid data operations | [`references/state.md`](./references/state.md) |
|
|
41
|
+
| Grid sizing (width, height, column sizing, null/px/% modes, cell spacing CSS variables) | [`references/sizing.md`](./references/sizing.md) |
|
|
41
42
|
|
|
42
43
|
> **When in doubt, read more rather than fewer reference files.** The cost of an unnecessary file read is negligible; the cost of hallucinated API usage is a broken application.
|
|
43
44
|
|
|
@@ -82,6 +83,7 @@ After choosing the grid type, **you must still complete Steps 2–4 from the man
|
|
|
82
83
|
Replace `igniteui-angular` with `@infragistics/igniteui-angular` for the licensed package — entry-point paths are identical.
|
|
83
84
|
|
|
84
85
|
> **AGENT INSTRUCTION — Documentation URL Pattern**: For grid-specific topics (sorting, filtering, editing, paging, etc.), docs URLs follow this naming pattern per grid type:
|
|
86
|
+
> - Grid Lite: `.../components/grid-lite/{topic}`
|
|
85
87
|
> - Flat Grid: `.../components/grid/{topic}`
|
|
86
88
|
> - Tree Grid: `.../components/treegrid/{topic}`
|
|
87
89
|
> - Hierarchical Grid: `.../components/hierarchicalgrid/{topic}`
|
|
@@ -111,7 +111,7 @@ export class CompanyGridComponent {
|
|
|
111
111
|
<igx-hierarchical-grid #hGrid
|
|
112
112
|
[data]="companies()"
|
|
113
113
|
primaryKey="id"
|
|
114
|
-
height="
|
|
114
|
+
height="800px">
|
|
115
115
|
<igx-column field="name" [sortable]="true"></igx-column>
|
|
116
116
|
<igx-row-island key="orders" primaryKey="orderId">
|
|
117
117
|
<igx-column field="orderId" [sortable]="true"></igx-column>
|
|
@@ -139,7 +139,8 @@ Enable sorting on individual columns and optionally bind the sorting state:
|
|
|
139
139
|
<igx-grid #grid
|
|
140
140
|
[data]="data()"
|
|
141
141
|
[(sortingExpressions)]="sortExprs"
|
|
142
|
-
[sortingOptions]="{ mode: 'single' }"
|
|
142
|
+
[sortingOptions]="{ mode: 'single' }"
|
|
143
|
+
height="500px">
|
|
143
144
|
<igx-column field="name" [sortable]="true"></igx-column>
|
|
144
145
|
<igx-column field="date" dataType="date" [sortable]="true"></igx-column>
|
|
145
146
|
<igx-column field="amount" dataType="number" [sortable]="true"></igx-column>
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
# Grid Sizing — Width, Height, Column Sizing & Spacing
|
|
2
|
+
|
|
3
|
+
> **Part of the [`igniteui-angular-grids`](../SKILL.md) skill hub.**
|
|
4
|
+
> For grid setup, column config, sorting, filtering, selection — see [`structure.md`](./structure.md).
|
|
5
|
+
> For virtualization and performance — see [`features.md`](./features.md).
|
|
6
|
+
|
|
7
|
+
## Contents
|
|
8
|
+
|
|
9
|
+
- [Overview](#overview)
|
|
10
|
+
- [Grid Width](#grid-width)
|
|
11
|
+
- [Grid Height](#grid-height)
|
|
12
|
+
- [Column Sizing](#column-sizing)
|
|
13
|
+
- [Grid Cell Spacing Control](#grid-cell-spacing-control)
|
|
14
|
+
- [Key Rules](#key-rules)
|
|
15
|
+
|
|
16
|
+
## Overview
|
|
17
|
+
|
|
18
|
+
The grid uses **border-box sizing** — border and padding are included in the width/height calculations. Do **not** override `box-sizing` on the grid element; doing so will break size calculations.
|
|
19
|
+
|
|
20
|
+
The grid supports both component inputs (`width`/`height`) and regular CSS/layout sizing from the host or wrapping container (including flex/grid layouts). Use the inputs when you need explicit fixed or percentage grid sizing.
|
|
21
|
+
|
|
22
|
+
## Grid Width
|
|
23
|
+
|
|
24
|
+
> **Docs:** [Grid Sizing — Width](https://www.infragistics.com/products/ignite-ui-angular/angular/components/grid/sizing#width)
|
|
25
|
+
|
|
26
|
+
**Default:** `100%` — the grid fills available width of the parent/window.
|
|
27
|
+
|
|
28
|
+
### Pixel Width
|
|
29
|
+
|
|
30
|
+
```html
|
|
31
|
+
<igx-grid width="1200px" ...></igx-grid>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
- Grid is fixed at the specified size and does not react to browser/DOM resizing.
|
|
35
|
+
- A horizontal scrollbar appears inside the grid when the combined column widths exceed the grid `width`.
|
|
36
|
+
- If a parent element is narrower than the grid and has `overflow: auto | scroll`, the parent scrolls — the grid itself remains at its specified width.
|
|
37
|
+
|
|
38
|
+
### Percentage Width
|
|
39
|
+
|
|
40
|
+
```html
|
|
41
|
+
<igx-grid width="100%" ...></igx-grid>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
- Grid sizes relative to its parent element (or the browser window if there is no parent with explicit width).
|
|
45
|
+
- Resizes responsively when the browser or parent is resized.
|
|
46
|
+
- Setting `width` above `100%` (e.g. `150%`) makes the grid wider than the parent; the parent renders a scrollbar only if it has `overflow: auto | scroll`.
|
|
47
|
+
|
|
48
|
+
## Grid Height
|
|
49
|
+
|
|
50
|
+
> **Docs:** [Grid Sizing — Height](https://www.infragistics.com/products/ignite-ui-angular/angular/components/grid/sizing#height)
|
|
51
|
+
|
|
52
|
+
**Default:** `100%` — see the Percentage Height section for how this behaves depending on the DOM structure.
|
|
53
|
+
|
|
54
|
+
### `null` Height
|
|
55
|
+
|
|
56
|
+
```html
|
|
57
|
+
<igx-grid [height]="null" ...></igx-grid>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
- All rows are rendered — **row virtualization is disabled**.
|
|
61
|
+
- Grid height expands to show every row with no vertical scrollbar inside the grid.
|
|
62
|
+
- If rows overflow the viewport, the browser renders a native scrollbar.
|
|
63
|
+
- A parent element with `overflow: auto | scroll` will scroll while the grid itself remains unshrunk.
|
|
64
|
+
- **Warning:** large data sets with `null` height can significantly impact browser performance due to no virtualization.
|
|
65
|
+
|
|
66
|
+
### Pixel Height
|
|
67
|
+
|
|
68
|
+
```html
|
|
69
|
+
<igx-grid height="500px" ...></igx-grid>
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
- Grid is fixed at the specified height.
|
|
73
|
+
- A vertical scrollbar appears when rows exceed the visible area.
|
|
74
|
+
- If the grid is taller than a parent with `overflow: auto | scroll`, the parent scrolls.
|
|
75
|
+
|
|
76
|
+
### Percentage Height
|
|
77
|
+
|
|
78
|
+
```html
|
|
79
|
+
<igx-grid height="100%" ...></igx-grid>
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
- Grid sizes relative to the **parent element's height**.
|
|
83
|
+
- **Parent has explicit height** (px or %): grid sizes to that percentage of the parent's height.
|
|
84
|
+
- **Parent has NO explicit height**: the browser cannot resolve a percentage, so the grid falls back to rendering a maximum of **10 rows** with a vertical scrollbar if there are more rows, or fits all rows if there are fewer.
|
|
85
|
+
- To fill the entire browser window: set both `body` and the parent container `height: 100%`, then use `height="100%"` on the grid.
|
|
86
|
+
|
|
87
|
+
```css
|
|
88
|
+
/* Full-window grid */
|
|
89
|
+
html, body, .grid-container {
|
|
90
|
+
height: 100%;
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
```html
|
|
95
|
+
<div class="grid-container">
|
|
96
|
+
<igx-grid height="100%" ...></igx-grid>
|
|
97
|
+
</div>
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Column Sizing
|
|
101
|
+
|
|
102
|
+
> **Docs:** [Grid Sizing — Column Sizing](https://www.infragistics.com/products/ignite-ui-angular/angular/components/grid/sizing#column-sizing)
|
|
103
|
+
|
|
104
|
+
### Default (no `width` set — auto-sized)
|
|
105
|
+
|
|
106
|
+
- Auto-sized columns share the available grid width equally.
|
|
107
|
+
- Minimum column width is **`136px`**; if the equal share is less than `136px`, all auto-sized columns default to `136px` and the grid renders a horizontal scrollbar.
|
|
108
|
+
- Feature columns (row selector checkbox, etc.) consume space that reduces what is available for auto-sized columns.
|
|
109
|
+
|
|
110
|
+
```html
|
|
111
|
+
<!-- No width on these columns — they auto-fill available space -->
|
|
112
|
+
<igx-column field="name" header="Name"></igx-column>
|
|
113
|
+
<igx-column field="email" header="Email"></igx-column>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Pixel Width
|
|
117
|
+
|
|
118
|
+
```html
|
|
119
|
+
<igx-column field="name" width="200px"></igx-column>
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
- Column is fixed at the specified width regardless of grid size.
|
|
123
|
+
- If the combined column widths are less than the grid width, empty space appears on the right — this is expected.
|
|
124
|
+
- If the combined column widths exceed the grid width, a horizontal scrollbar is rendered.
|
|
125
|
+
|
|
126
|
+
### `auto` Width
|
|
127
|
+
|
|
128
|
+
```html
|
|
129
|
+
<igx-column field="description" width="auto"></igx-column>
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
- Column sizes to fit the longest visible cell value.
|
|
133
|
+
- May leave empty space if most values are short but one is very long.
|
|
134
|
+
|
|
135
|
+
### Percentage Width
|
|
136
|
+
|
|
137
|
+
```html
|
|
138
|
+
<igx-column field="name" width="20%"></igx-column>
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
- Column width is calculated as a percentage of the grid width.
|
|
142
|
+
- Responsive — resizes when the grid resizes.
|
|
143
|
+
- Combined percentages less than `100%` leave an empty area; greater than `100%` triggers a horizontal scrollbar.
|
|
144
|
+
|
|
145
|
+
## Grid Cell Spacing Control
|
|
146
|
+
|
|
147
|
+
> **Docs:** [Grid Sizing — Cell Spacing](https://www.infragistics.com/products/ignite-ui-angular/angular/components/grid/sizing#grid-cell-spacing-control)
|
|
148
|
+
|
|
149
|
+
The grid automatically adapts internal cell spacing based on the `size` (display density) setting. Fine-grained control is available through CSS custom properties.
|
|
150
|
+
|
|
151
|
+
### Global Spacing (all grids in the app)
|
|
152
|
+
|
|
153
|
+
```css
|
|
154
|
+
igx-grid {
|
|
155
|
+
--ig-spacing: 0.8; /* multiplier — reduces all grid spacing by 20% */
|
|
156
|
+
}
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Instance-Specific Spacing
|
|
160
|
+
|
|
161
|
+
```css
|
|
162
|
+
.my-compact-grid {
|
|
163
|
+
--ig-spacing: 0.6;
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Directional Spacing (horizontal vs vertical independently)
|
|
168
|
+
|
|
169
|
+
```css
|
|
170
|
+
.my-grid {
|
|
171
|
+
--ig-spacing-inline: 0.5; /* horizontal padding */
|
|
172
|
+
--ig-spacing-block: 1.0; /* vertical padding */
|
|
173
|
+
}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### Density-Level Spacing
|
|
177
|
+
|
|
178
|
+
```css
|
|
179
|
+
.my-grid {
|
|
180
|
+
--ig-spacing-small: 0.5; /* compact density */
|
|
181
|
+
--ig-spacing-medium: 1.0; /* medium density */
|
|
182
|
+
--ig-spacing-large: 1.3; /* comfortable density */
|
|
183
|
+
}
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Header vs Body Cell Spacing
|
|
187
|
+
|
|
188
|
+
```css
|
|
189
|
+
.my-grid igx-grid-header {
|
|
190
|
+
--ig-spacing: 0.7;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.my-grid igx-grid-cell {
|
|
194
|
+
--ig-spacing: 0.9;
|
|
195
|
+
}
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
## Key Rules
|
|
199
|
+
|
|
200
|
+
- Grid sizing can come from CSS/layout context (host/container sizing) or from `[width]`/`[height]` inputs.
|
|
201
|
+
- **Never** override `box-sizing` on the grid — it uses border-box and relies on this.
|
|
202
|
+
- Use `null` for height only when the data set is small; row virtualization is disabled and large data will hurt performance.
|
|
203
|
+
- When using percentage height, the parent **must** have an explicit height for the percentage to resolve correctly. Without it, the grid falls back to 10 visible rows.
|
|
204
|
+
- A mix of fixed-width and auto-sized columns is valid — auto-sized columns fill the remaining space after fixed-width columns are laid out.
|
|
@@ -414,9 +414,6 @@ Raw hex values are acceptable **only** in these contexts:
|
|
|
414
414
|
|
|
415
415
|
Everything else must use `var(--ig-<family>-<shade>)` tokens.
|
|
416
416
|
|
|
417
|
-
## Contributing to Component Themes
|
|
418
|
-
> **Contributing to the in-repo SCSS source (component theme files, structural SCSS, base functions, and the component registry) is covered in [`references/contributing.md`](./references/contributing.md).** Read that file when modifying or creating `_*-theme.scss` or `_*-component.scss` files, wiring a new component into the theme system, or writing style tests.
|
|
419
|
-
|
|
420
417
|
## Common Patterns
|
|
421
418
|
|
|
422
419
|
> **Light/dark theme switching, scoped themes, and licensed package configuration are in [`references/common-patterns.md`](./references/common-patterns.md).** Read that file for ready-to-use Sass patterns.
|