@vaadin/vaadin-grid 22.0.0-alpha6 → 22.0.0-beta1

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 (84) hide show
  1. package/package.json +24 -34
  2. package/src/vaadin-grid-column-group.d.ts +14 -57
  3. package/src/vaadin-grid-column-group.js +4 -311
  4. package/src/vaadin-grid-column.d.ts +14 -142
  5. package/src/vaadin-grid-column.js +4 -759
  6. package/src/vaadin-grid-filter-column.d.ts +14 -30
  7. package/src/vaadin-grid-filter-column.js +4 -111
  8. package/src/vaadin-grid-filter.d.ts +11 -60
  9. package/src/vaadin-grid-filter.js +4 -116
  10. package/src/vaadin-grid-selection-column.d.ts +12 -75
  11. package/src/vaadin-grid-selection-column.js +4 -276
  12. package/src/vaadin-grid-sort-column.d.ts +12 -56
  13. package/src/vaadin-grid-sort-column.js +4 -109
  14. package/src/vaadin-grid-sorter.d.ts +11 -82
  15. package/src/vaadin-grid-sorter.js +4 -221
  16. package/src/vaadin-grid-tree-column.d.ts +14 -31
  17. package/src/vaadin-grid-tree-column.js +4 -110
  18. package/src/vaadin-grid-tree-toggle.d.ts +11 -91
  19. package/src/vaadin-grid-tree-toggle.js +4 -196
  20. package/src/vaadin-grid.d.ts +10 -422
  21. package/src/vaadin-grid.js +4 -1026
  22. package/theme/lumo/vaadin-grid-column-group.js +1 -1
  23. package/theme/lumo/vaadin-grid-column.js +1 -1
  24. package/theme/lumo/vaadin-grid-filter-column.js +1 -2
  25. package/theme/lumo/vaadin-grid-filter.js +1 -2
  26. package/theme/lumo/vaadin-grid-selection-column.js +1 -2
  27. package/theme/lumo/vaadin-grid-sort-column.js +1 -2
  28. package/theme/lumo/vaadin-grid-sorter.js +1 -2
  29. package/theme/lumo/vaadin-grid-tree-column.js +1 -2
  30. package/theme/lumo/vaadin-grid-tree-toggle.js +1 -2
  31. package/theme/lumo/vaadin-grid.js +1 -9
  32. package/theme/material/vaadin-grid-column-group.js +1 -1
  33. package/theme/material/vaadin-grid-column.js +1 -1
  34. package/theme/material/vaadin-grid-filter-column.js +1 -2
  35. package/theme/material/vaadin-grid-filter.js +1 -2
  36. package/theme/material/vaadin-grid-selection-column.js +1 -2
  37. package/theme/material/vaadin-grid-sort-column.js +1 -2
  38. package/theme/material/vaadin-grid-sorter.js +1 -2
  39. package/theme/material/vaadin-grid-tree-column.js +1 -2
  40. package/theme/material/vaadin-grid-tree-toggle.js +1 -2
  41. package/theme/material/vaadin-grid.js +1 -2
  42. package/vaadin-grid.d.ts +0 -1
  43. package/src/array-data-provider.js +0 -145
  44. package/src/interfaces.d.ts +0 -78
  45. package/src/vaadin-grid-a11y-mixin.d.ts +0 -27
  46. package/src/vaadin-grid-a11y-mixin.js +0 -158
  47. package/src/vaadin-grid-active-item-mixin.d.ts +0 -28
  48. package/src/vaadin-grid-active-item-mixin.js +0 -117
  49. package/src/vaadin-grid-array-data-provider-mixin.d.ts +0 -20
  50. package/src/vaadin-grid-array-data-provider-mixin.js +0 -75
  51. package/src/vaadin-grid-column-reordering-mixin.d.ts +0 -47
  52. package/src/vaadin-grid-column-reordering-mixin.js +0 -387
  53. package/src/vaadin-grid-column-resizing-mixin.d.ts +0 -11
  54. package/src/vaadin-grid-column-resizing-mixin.js +0 -111
  55. package/src/vaadin-grid-data-provider-mixin.d.ts +0 -126
  56. package/src/vaadin-grid-data-provider-mixin.js +0 -520
  57. package/src/vaadin-grid-drag-and-drop-mixin.d.ts +0 -73
  58. package/src/vaadin-grid-drag-and-drop-mixin.js +0 -435
  59. package/src/vaadin-grid-dynamic-columns-mixin.d.ts +0 -27
  60. package/src/vaadin-grid-dynamic-columns-mixin.js +0 -180
  61. package/src/vaadin-grid-event-context-mixin.d.ts +0 -33
  62. package/src/vaadin-grid-event-context-mixin.js +0 -57
  63. package/src/vaadin-grid-filter-mixin.d.ts +0 -13
  64. package/src/vaadin-grid-filter-mixin.js +0 -76
  65. package/src/vaadin-grid-helpers.js +0 -23
  66. package/src/vaadin-grid-keyboard-navigation-mixin.d.ts +0 -31
  67. package/src/vaadin-grid-keyboard-navigation-mixin.js +0 -891
  68. package/src/vaadin-grid-row-details-mixin.d.ts +0 -54
  69. package/src/vaadin-grid-row-details-mixin.js +0 -200
  70. package/src/vaadin-grid-scroll-mixin.d.ts +0 -22
  71. package/src/vaadin-grid-scroll-mixin.js +0 -202
  72. package/src/vaadin-grid-selection-mixin.d.ts +0 -39
  73. package/src/vaadin-grid-selection-mixin.js +0 -93
  74. package/src/vaadin-grid-sort-mixin.d.ts +0 -21
  75. package/src/vaadin-grid-sort-mixin.js +0 -139
  76. package/src/vaadin-grid-styles.js +0 -297
  77. package/src/vaadin-grid-styling-mixin.d.ts +0 -37
  78. package/src/vaadin-grid-styling-mixin.js +0 -71
  79. package/theme/lumo/vaadin-grid-sorter-styles.js +0 -54
  80. package/theme/lumo/vaadin-grid-styles.js +0 -380
  81. package/theme/lumo/vaadin-grid-tree-toggle-styles.js +0 -112
  82. package/theme/material/vaadin-grid-sorter-styles.js +0 -72
  83. package/theme/material/vaadin-grid-styles.js +0 -252
  84. package/theme/material/vaadin-grid-tree-toggle-styles.js +0 -42
@@ -3,228 +3,11 @@
3
3
  * Copyright (c) 2021 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
- import { PolymerElement, html } from '@polymer/polymer/polymer-element.js';
7
- import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
8
- import { DirMixin } from '@vaadin/vaadin-element-mixin/vaadin-dir-mixin.js';
9
-
10
- const $_documentContainer = document.createElement('template');
11
-
12
- $_documentContainer.innerHTML = `
13
- <style>
14
- @font-face {
15
- font-family: 'vaadin-grid-sorter-icons';
16
- src: url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAQwAA0AAAAABuwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEFAAAABkAAAAcfep+mUdERUYAAAP4AAAAHAAAAB4AJwAOT1MvMgAAAZgAAAA/AAAAYA8TBPpjbWFwAAAB7AAAAFUAAAFeF1fZ4mdhc3AAAAPwAAAACAAAAAgAAAAQZ2x5ZgAAAlgAAABcAAAAnMvguMloZWFkAAABMAAAAC8AAAA2C5Ap72hoZWEAAAFgAAAAHQAAACQGbQPHaG10eAAAAdgAAAAUAAAAHAoAAABsb2NhAAACRAAAABIAAAASAIwAYG1heHAAAAGAAAAAFgAAACAACwAKbmFtZQAAArQAAAECAAACZxWCgKhwb3N0AAADuAAAADUAAABZCrApUXicY2BkYGAA4rDECVrx/DZfGbhZGEDgyqNPOxH0/wNMq5kPALkcDEwgUQBWRA0dAHicY2BkYGA+8P8AAwMLAwgwrWZgZEAFbABY4QM8AAAAeJxjYGRgYOAAQiYGEICQSAAAAi8AFgAAeJxjYGY6yziBgZWBgWkm0xkGBoZ+CM34msGYkZMBFTAKoAkwODAwvmRiPvD/AIMDMxCD1CDJKjAwAgBktQsXAHicY2GAAMZQCM0EwqshbAALxAEKeJxjYGBgZoBgGQZGBhCIAPIYwXwWBhsgzcXAwcAEhIwMCi+Z/v/9/x+sSuElA4T9/4k4K1gHFwMMMILMY2QDYmaoABOQYGJABUA7WBiGNwAAJd4NIQAAAAAAAAAACAAIABAAGAAmAEAATgAAeJyNjLENgDAMBP9tIURJwQCMQccSZgk2i5fIYBDAidJjycXr7x5EPwE2wY8si7jmyBNXGo/bNBerxJNrpxhbO3/fEFpx8ZICpV+ghxJ74fAMe+h7Ox14AbrsHB14nK2QQWrDMBRER4mTkhQK3ZRQKOgCNk7oGQqhhEIX2WSlWEI1BAlkJ5CDdNsj5Ey9Rncdi38ES+jzNJo/HwTgATcoDEthhY3wBHc4CE+pfwsX5F/hGe7Vo/AcK/UhvMSz+mGXKhZU6pww8ISz3oWn1BvhgnwTnuEJf8Jz1OpFeIlX9YULDLdFi4ASHolkSR0iuYdjLak1vAequBhj21D61Nqyi6l3qWybGPjySbPHGScGJl6dP58MYcQRI0bts7mjebBqrFENH7t3qWtj0OuqHnXcW7b0HOTZFnKryRGW2hFX1m0O2vEM3opNMfTau+CS6Z3Vx6veNnEXY6jwDxhsc2gAAHicY2BiwA84GBgYmRiYGJkZmBlZGFkZ2djScyoLMgzZS/MyDQwMwLSrpYEBlIbxjQDrzgsuAAAAAAEAAf//AA94nGNgZGBg4AFiMSBmYmAEQnYgZgHzGAAD6wA2eJxjYGBgZACCKyoz1cD0o087YTQATOcIewAAAA==) format('woff');
17
- font-weight: normal;
18
- font-style: normal;
19
- }
20
- </style>
21
- `;
22
-
23
- document.head.appendChild($_documentContainer.content);
6
+ import { GridSorter } from '@vaadin/grid/src/vaadin-grid-sorter.js';
24
7
 
25
8
  /**
26
- * `<vaadin-grid-sorter>` is a helper element for the `<vaadin-grid>` that provides out-of-the-box UI controls,
27
- * visual feedback, and handlers for sorting the grid data.
28
- *
29
- * #### Example:
30
- * ```html
31
- * <vaadin-grid-column id="column"></vaadin-grid-column>
32
- * ```
33
- * ```js
34
- * const column = document.querySelector('#column');
35
- * column.renderer = (root, column, model) => {
36
- * let sorter = root.firstElementChild;
37
- * if (!sorter) {
38
- * sorter = document.createElement('vaadin-grid-sorter');
39
- * root.appendChild(sorter);
40
- * }
41
- * sorter.path = 'name.first';
42
- * };
43
- * ```
44
- *
45
- * ### Styling
46
- *
47
- * The following shadow DOM parts are available for styling:
48
- *
49
- * Part name | Description
50
- * ----------------|----------------
51
- * `content` | The slotted content wrapper
52
- * `indicators` | The internal sorter indicators.
53
- * `order` | The internal sorter order
54
- *
55
- * The following state attributes are available for styling:
56
- *
57
- * Attribute | Description | Part name
58
- * -------------|-------------|------------
59
- * `direction` | Sort direction of a sorter | :host
60
- *
61
- * @fires {CustomEvent} direction-changed - Fired when the `direction` property changes.
62
- * @fires {CustomEvent} sorter-changed - Fired when the `path` or `direction` property changes.
63
- *
64
- * @extends HTMLElement
9
+ * @deprecated Import `GridSorter` from `@vaadin/grid/vaadin-grid-sorter` instead.
65
10
  */
66
- class GridSorterElement extends ThemableMixin(DirMixin(PolymerElement)) {
67
- static get template() {
68
- return html`
69
- <style>
70
- :host {
71
- display: inline-flex;
72
- cursor: pointer;
73
- max-width: 100%;
74
- }
75
-
76
- [part='content'] {
77
- flex: 1 1 auto;
78
- }
79
-
80
- [part='indicators'] {
81
- position: relative;
82
- align-self: center;
83
- flex: none;
84
- }
85
-
86
- [part='order'] {
87
- display: inline;
88
- vertical-align: super;
89
- }
90
-
91
- [part='indicators']::before {
92
- font-family: 'vaadin-grid-sorter-icons';
93
- display: inline-block;
94
- }
95
-
96
- :host(:not([direction])) [part='indicators']::before {
97
- content: '\\e901';
98
- }
99
-
100
- :host([direction='asc']) [part='indicators']::before {
101
- content: '\\e900';
102
- }
103
-
104
- :host([direction='desc']) [part='indicators']::before {
105
- content: '\\e902';
106
- }
107
- </style>
108
-
109
- <div part="content">
110
- <slot></slot>
111
- </div>
112
- <div part="indicators">
113
- <span part="order">[[_getDisplayOrder(_order)]]</span>
114
- </div>
115
- `;
116
- }
117
-
118
- static get is() {
119
- return 'vaadin-grid-sorter';
120
- }
121
-
122
- static get properties() {
123
- return {
124
- /**
125
- * JS Path of the property in the item used for sorting the data.
126
- */
127
- path: String,
128
-
129
- /**
130
- * How to sort the data.
131
- * Possible values are `asc` to use an ascending algorithm, `desc` to sort the data in
132
- * descending direction, or `null` for not sorting the data.
133
- * @type {GridSorterDirection | undefined}
134
- */
135
- direction: {
136
- type: String,
137
- reflectToAttribute: true,
138
- notify: true,
139
- value: null
140
- },
141
-
142
- /**
143
- * @type {number | null}
144
- * @protected
145
- */
146
- _order: {
147
- type: Number,
148
- value: null
149
- },
150
-
151
- /** @private */
152
- _isConnected: {
153
- type: Boolean,
154
- observer: '__isConnectedChanged'
155
- }
156
- };
157
- }
158
-
159
- static get observers() {
160
- return ['_pathOrDirectionChanged(path, direction)'];
161
- }
162
-
163
- /** @protected */
164
- ready() {
165
- super.ready();
166
- this.addEventListener('click', this._onClick.bind(this));
167
- }
168
-
169
- /** @protected */
170
- connectedCallback() {
171
- super.connectedCallback();
172
- this._isConnected = true;
173
- }
174
-
175
- /** @protected */
176
- disconnectedCallback() {
177
- super.disconnectedCallback();
178
- this._isConnected = false;
179
- }
180
-
181
- /** @private */
182
- _pathOrDirectionChanged() {
183
- this.__dispatchSorterChangedEvenIfPossible();
184
- }
185
-
186
- /** @private */
187
- __isConnectedChanged(newValue, oldValue) {
188
- if (oldValue === false) {
189
- return;
190
- }
191
-
192
- this.__dispatchSorterChangedEvenIfPossible();
193
- }
194
-
195
- /** @private */
196
- __dispatchSorterChangedEvenIfPossible() {
197
- if (this.path === undefined || this.direction === undefined || !this._isConnected) {
198
- return;
199
- }
200
-
201
- this.dispatchEvent(new CustomEvent('sorter-changed', { bubbles: true, composed: true }));
202
- }
203
-
204
- /** @private */
205
- _getDisplayOrder(order) {
206
- return order === null ? '' : order + 1;
207
- }
208
-
209
- /** @private */
210
- _onClick(e) {
211
- const activeElement = this.getRootNode().activeElement;
212
- if (this !== activeElement && this.contains(activeElement)) {
213
- // Some focusable content inside the sorter was clicked, do nothing.
214
- return;
215
- }
216
-
217
- e.preventDefault();
218
- if (this.direction === 'asc') {
219
- this.direction = 'desc';
220
- } else if (this.direction === 'desc') {
221
- this.direction = null;
222
- } else {
223
- this.direction = 'asc';
224
- }
225
- }
226
- }
227
-
228
- customElements.define(GridSorterElement.is, GridSorterElement);
11
+ export const GridSorterElement = GridSorter;
229
12
 
230
- export { GridSorterElement };
13
+ export * from '@vaadin/grid/src/vaadin-grid-sorter.js';
@@ -1,36 +1,19 @@
1
- import { GridDefaultItem } from './interfaces';
2
- import { GridColumnElement } from './vaadin-grid-column.js';
3
-
4
1
  /**
5
- * `<vaadin-grid-tree-column>` is a helper element for the `<vaadin-grid>`
6
- * that provides default renderer and functionality for toggling tree/hierarchical items.
7
- *
8
- * #### Example:
9
- * ```html
10
- * <vaadin-grid items="[[items]]">
11
- * <vaadin-grid-tree-column path="name.first"></vaadin-grid-tree-column>
12
- *
13
- * <vaadin-grid-column>
14
- * ...
15
- * ```
2
+ * @license
3
+ * Copyright (c) 2021 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
16
5
  */
17
- declare class GridTreeColumnElement<TItem = GridDefaultItem> extends GridColumnElement<TItem> {
18
- /**
19
- * JS Path of the property in the item used as text content for the tree toggle.
20
- */
21
- path: string | null | undefined;
6
+ import { GridDefaultItem } from '@vaadin/grid/src/vaadin-grid.js';
7
+ import { GridTreeColumn } from '@vaadin/grid/src/vaadin-grid-tree-column.js';
22
8
 
23
- /**
24
- * JS Path of the property in the item that indicates whether the item has child items.
25
- * @attr {string} item-has-children-path
26
- */
27
- itemHasChildrenPath: string | null | undefined;
28
- }
9
+ /**
10
+ * @deprecated Import `GridTreeColumn` from `@vaadin/grid/vaadin-grid-tree-column` instead.
11
+ */
12
+ export type GridTreeColumnElement<TItem = GridDefaultItem> = GridTreeColumn<TItem>;
29
13
 
30
- declare global {
31
- interface HTMLElementTagNameMap {
32
- 'vaadin-grid-tree-column': GridTreeColumnElement<GridDefaultItem>;
33
- }
34
- }
14
+ /**
15
+ * @deprecated Import `GridTreeColumn` from `@vaadin/grid/vaadin-grid-tree-column` instead.
16
+ */
17
+ export const GridTreeColumnElement: typeof GridTreeColumn;
35
18
 
36
- export { GridTreeColumnElement };
19
+ export * from '@vaadin/grid/src/vaadin-grid-tree-column.js';
@@ -3,117 +3,11 @@
3
3
  * Copyright (c) 2021 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
- import { GridColumnElement } from './vaadin-grid-column.js';
7
- import './vaadin-grid-tree-toggle.js';
6
+ import { GridTreeColumn } from '@vaadin/grid/src/vaadin-grid-tree-column.js';
8
7
 
9
8
  /**
10
- * `<vaadin-grid-tree-column>` is a helper element for the `<vaadin-grid>`
11
- * that provides default renderer and functionality for toggling tree/hierarchical items.
12
- *
13
- * #### Example:
14
- * ```html
15
- * <vaadin-grid items="[[items]]">
16
- * <vaadin-grid-tree-column path="name.first"></vaadin-grid-tree-column>
17
- *
18
- * <vaadin-grid-column>
19
- * ...
20
- * ```
9
+ * @deprecated Import `GridTreeColumn` from `@vaadin/grid/vaadin-grid-tree-column` instead.
21
10
  */
22
- class GridTreeColumnElement extends GridColumnElement {
23
- static get is() {
24
- return 'vaadin-grid-tree-column';
25
- }
11
+ export const GridTreeColumnElement = GridTreeColumn;
26
12
 
27
- static get properties() {
28
- return {
29
- /**
30
- * JS Path of the property in the item used as text content for the tree toggle.
31
- */
32
- path: String,
33
-
34
- /**
35
- * JS Path of the property in the item that indicates whether the item has child items.
36
- * @attr {string} item-has-children-path
37
- */
38
- itemHasChildrenPath: {
39
- type: String,
40
- value: 'children'
41
- }
42
- };
43
- }
44
-
45
- static get observers() {
46
- return ['_onRendererOrBindingChanged(_renderer, _cells, _cells.*, path, itemHasChildrenPath)'];
47
- }
48
-
49
- constructor() {
50
- super();
51
-
52
- this.__boundOnExpandedChanged = this.__onExpandedChanged.bind(this);
53
- }
54
-
55
- /**
56
- * Renders the grid tree toggle to the body cell
57
- *
58
- * @private
59
- */
60
- __defaultRenderer(root, _column, { item, expanded, level }) {
61
- let toggle = root.firstElementChild;
62
- if (!toggle) {
63
- toggle = document.createElement('vaadin-grid-tree-toggle');
64
- toggle.addEventListener('expanded-changed', this.__boundOnExpandedChanged);
65
- root.appendChild(toggle);
66
- }
67
-
68
- toggle.__item = item;
69
- toggle.__rendererExpanded = expanded;
70
- toggle.expanded = expanded;
71
- toggle.leaf = this.__isLeafItem(item, this.itemHasChildrenPath);
72
- toggle.textContent = this.__getToggleContent(this.path, item);
73
- toggle.level = level;
74
- }
75
-
76
- /**
77
- * The tree column doesn't allow to use a custom renderer
78
- * to override the content of body cells.
79
- * It always renders the grid tree toggle to body cells.
80
- *
81
- * @override
82
- */
83
- _computeRenderer() {
84
- return this.__defaultRenderer;
85
- }
86
-
87
- /**
88
- * Expands or collapses the row once the tree toggle is switched.
89
- * The listener handles only user-fired events.
90
- *
91
- * @private
92
- */
93
- __onExpandedChanged(e) {
94
- // Skip if the state is changed by the renderer.
95
- if (e.detail.value === e.target.__rendererExpanded) {
96
- return;
97
- }
98
-
99
- if (e.detail.value) {
100
- this._grid.expandItem(e.target.__item);
101
- } else {
102
- this._grid.collapseItem(e.target.__item);
103
- }
104
- }
105
-
106
- /** @private */
107
- __isLeafItem(item, itemHasChildrenPath) {
108
- return !item || !item[itemHasChildrenPath];
109
- }
110
-
111
- /** @private */
112
- __getToggleContent(path, item) {
113
- return path && this.get(path, item);
114
- }
115
- }
116
-
117
- customElements.define(GridTreeColumnElement.is, GridTreeColumnElement);
118
-
119
- export { GridTreeColumnElement };
13
+ export * from '@vaadin/grid/src/vaadin-grid-tree-column.js';
@@ -1,98 +1,18 @@
1
- import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
2
-
3
1
  /**
4
- * Fired when the `expanded` property changes.
2
+ * @license
3
+ * Copyright (c) 2021 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
- export type GridTreeToggleExpandedChangedEvent = CustomEvent<{ value: boolean }>;
7
-
8
- export interface GridTreeToggleElementEventMap {
9
- 'expanded-changed': GridTreeToggleExpandedChangedEvent;
10
- }
11
-
12
- export interface GridTreeToggleEventMap extends HTMLElementEventMap, GridTreeToggleElementEventMap {}
6
+ import { GridTreeToggle } from '@vaadin/grid/src/vaadin-grid-tree-toggle.js';
13
7
 
14
8
  /**
15
- * `<vaadin-grid-tree-toggle>` is a helper element for the `<vaadin-grid>`
16
- * that provides toggle and level display functionality for the item tree.
17
- *
18
- * #### Example:
19
- * ```html
20
- * <vaadin-grid-column id="column"></vaadin-grid-column>
21
- * ```
22
- * ```js
23
- * const column = document.querySelector('#column');
24
- * column.renderer = (root, column, model) => {
25
- * let treeToggle = root.firstElementChild;
26
- * if (!treeToggle) {
27
- * treeToggle = document.createElement('vaadin-grid-tree-toggle');
28
- * treeToggle.addEventListener('expanded-changed', () => { ... });
29
- * root.appendChild(treeToggle);
30
- * }
31
- * treeToggle.leaf = !model.item.hasChildren;
32
- * treeToggle.level = level;
33
- * treeToggle.expanded = expanded;
34
- * treeToggle.textContent = model.item.name;
35
- * };
36
- * ```
37
- *
38
- * ### Styling
39
- *
40
- * The following shadow DOM parts are available for styling:
41
- *
42
- * Part name | Description
43
- * ---|---
44
- * `toggle` | The tree toggle icon
45
- *
46
- * The following state attributes are available for styling:
47
- *
48
- * Attribute | Description | Part name
49
- * ---|---|---
50
- * `expanded` | When present, the toggle is expanded | :host
51
- * `leaf` | When present, the toggle is not expandable, i. e., the current item is a leaf | :host
52
- *
53
- * The following custom CSS properties are available on
54
- * the `<vaadin-grid-tree-toggle>` element:
55
- *
56
- * Custom CSS property | Description | Default
57
- * ---|---|---
58
- * `--vaadin-grid-tree-toggle-level-offset` | Visual offset step for each tree sublevel | `1em`
59
- *
60
- * @fires {CustomEvent} expanded-changed - Fired when the `expanded` property changes.
9
+ * @deprecated Import `GridTreeToggle` from `@vaadin/grid/vaadin-grid-tree-toggle` instead.
61
10
  */
62
- declare class GridTreeToggleElement extends ThemableMixin(HTMLElement) {
63
- /**
64
- * Current level of the tree represented with a horizontal offset
65
- * of the toggle button.
66
- */
67
- level: number;
68
-
69
- /**
70
- * Hides the toggle icon and disables toggling a tree sublevel.
71
- */
72
- leaf: boolean;
73
-
74
- /**
75
- * Sublevel toggle state.
76
- */
77
- expanded: boolean;
11
+ export type GridTreeToggleElement = GridTreeToggle;
78
12
 
79
- addEventListener<K extends keyof GridTreeToggleEventMap>(
80
- type: K,
81
- listener: (this: GridTreeToggleElement, ev: GridTreeToggleEventMap[K]) => void,
82
- options?: boolean | AddEventListenerOptions
83
- ): void;
84
-
85
- removeEventListener<K extends keyof GridTreeToggleEventMap>(
86
- type: K,
87
- listener: (this: GridTreeToggleElement, ev: GridTreeToggleEventMap[K]) => void,
88
- options?: boolean | EventListenerOptions
89
- ): void;
90
- }
91
-
92
- declare global {
93
- interface HTMLElementTagNameMap {
94
- 'vaadin-grid-tree-toggle': GridTreeToggleElement;
95
- }
96
- }
13
+ /**
14
+ * @deprecated Import `GridTreeToggle` from `@vaadin/grid/vaadin-grid-tree-toggle` instead.
15
+ */
16
+ export const GridTreeToggleElement: typeof GridTreeToggle;
97
17
 
98
- export { GridTreeToggleElement };
18
+ export * from '@vaadin/grid/src/vaadin-grid-tree-toggle.js';