@vaadin/grid 25.0.0-alpha2 → 25.0.0-alpha4

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 (33) hide show
  1. package/package.json +13 -11
  2. package/src/array-data-provider.js +6 -0
  3. package/src/lit/column-renderer-directives.d.ts +0 -1
  4. package/src/styles/vaadin-grid-base-styles.d.ts +8 -0
  5. package/src/styles/vaadin-grid-base-styles.js +505 -0
  6. package/src/styles/vaadin-grid-core-styles.d.ts +8 -0
  7. package/src/{vaadin-grid-styles.js → styles/vaadin-grid-core-styles.js} +2 -1
  8. package/src/styles/vaadin-grid-filter-base-styles.d.ts +8 -0
  9. package/src/styles/vaadin-grid-filter-base-styles.js +20 -0
  10. package/src/styles/vaadin-grid-filter-core-styles.d.ts +8 -0
  11. package/src/styles/vaadin-grid-filter-core-styles.js +18 -0
  12. package/src/styles/vaadin-grid-sorter-base-styles.d.ts +8 -0
  13. package/src/styles/vaadin-grid-sorter-base-styles.js +65 -0
  14. package/src/styles/vaadin-grid-sorter-core-styles.d.ts +8 -0
  15. package/src/styles/vaadin-grid-sorter-core-styles.js +61 -0
  16. package/src/styles/vaadin-grid-tree-toggle-base-styles.d.ts +8 -0
  17. package/src/styles/vaadin-grid-tree-toggle-base-styles.js +78 -0
  18. package/src/styles/vaadin-grid-tree-toggle-core-styles.d.ts +8 -0
  19. package/src/styles/vaadin-grid-tree-toggle-core-styles.js +78 -0
  20. package/src/vaadin-grid-data-provider-mixin.js +0 -29
  21. package/src/vaadin-grid-drag-and-drop-mixin.js +3 -0
  22. package/src/vaadin-grid-filter-element-mixin.js +0 -17
  23. package/src/vaadin-grid-filter.js +5 -0
  24. package/src/vaadin-grid-mixin.js +5 -17
  25. package/src/vaadin-grid-scroll-mixin.js +20 -4
  26. package/src/vaadin-grid-sorter-mixin.js +0 -60
  27. package/src/vaadin-grid-sorter.js +5 -0
  28. package/src/vaadin-grid-tree-toggle-mixin.js +0 -77
  29. package/src/vaadin-grid-tree-toggle.js +5 -0
  30. package/src/vaadin-grid.js +1 -1
  31. package/theme/lumo/vaadin-grid-styles.js +1 -1
  32. package/web-types.json +4 -4
  33. package/web-types.lit.json +4 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/grid",
3
- "version": "25.0.0-alpha2",
3
+ "version": "25.0.0-alpha4",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -25,6 +25,8 @@
25
25
  "lit.d.ts",
26
26
  "lit.js",
27
27
  "src",
28
+ "!src/styles/*-base-styles.d.ts",
29
+ "!src/styles/*-base-styles.js",
28
30
  "theme",
29
31
  "vaadin-*.d.ts",
30
32
  "vaadin-*.js",
@@ -45,18 +47,18 @@
45
47
  ],
46
48
  "dependencies": {
47
49
  "@open-wc/dedupe-mixin": "^1.3.0",
48
- "@vaadin/a11y-base": "25.0.0-alpha2",
49
- "@vaadin/checkbox": "25.0.0-alpha2",
50
- "@vaadin/component-base": "25.0.0-alpha2",
51
- "@vaadin/lit-renderer": "25.0.0-alpha2",
52
- "@vaadin/text-field": "25.0.0-alpha2",
53
- "@vaadin/vaadin-lumo-styles": "25.0.0-alpha2",
54
- "@vaadin/vaadin-themable-mixin": "25.0.0-alpha2",
50
+ "@vaadin/a11y-base": "25.0.0-alpha4",
51
+ "@vaadin/checkbox": "25.0.0-alpha4",
52
+ "@vaadin/component-base": "25.0.0-alpha4",
53
+ "@vaadin/lit-renderer": "25.0.0-alpha4",
54
+ "@vaadin/text-field": "25.0.0-alpha4",
55
+ "@vaadin/vaadin-lumo-styles": "25.0.0-alpha4",
56
+ "@vaadin/vaadin-themable-mixin": "25.0.0-alpha4",
55
57
  "lit": "^3.0.0"
56
58
  },
57
59
  "devDependencies": {
58
- "@vaadin/chai-plugins": "25.0.0-alpha2",
59
- "@vaadin/test-runner-commands": "25.0.0-alpha2",
60
+ "@vaadin/chai-plugins": "25.0.0-alpha4",
61
+ "@vaadin/test-runner-commands": "25.0.0-alpha4",
60
62
  "@vaadin/testing-helpers": "^2.0.0",
61
63
  "sinon": "^18.0.0"
62
64
  },
@@ -64,5 +66,5 @@
64
66
  "web-types.json",
65
67
  "web-types.lit.json"
66
68
  ],
67
- "gitHead": "67ffcd5355cf21ce1b5039c598525109fc4c164b"
69
+ "gitHead": "ce4421f0daf26027b863b91787a474e4cc264344"
68
70
  }
@@ -1,3 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2000 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+
1
7
  /**
2
8
  * Returns a sub-property of an object
3
9
  *
@@ -3,7 +3,6 @@
3
3
  * Copyright (c) 2017 - 2025 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
- /* eslint-disable max-classes-per-file */
7
6
  import type { DirectiveResult } from 'lit/directive.js';
8
7
  import type { LitRenderer, LitRendererResult } from '@vaadin/lit-renderer';
9
8
  import { LitRendererDirective } from '@vaadin/lit-renderer';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2016 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ import type { CSSResult } from 'lit';
7
+
8
+ export const gridStyles: CSSResult;
@@ -0,0 +1,505 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2016 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ import '@vaadin/component-base/src/style-props.js';
7
+ import { css } from 'lit';
8
+
9
+ export const gridStyles = css`
10
+ @layer base {
11
+ @keyframes vaadin-grid-appear {
12
+ to {
13
+ opacity: 1;
14
+ }
15
+ }
16
+
17
+ :host {
18
+ display: flex;
19
+ animation: 1ms vaadin-grid-appear;
20
+ max-width: 100%;
21
+ height: 400px;
22
+ min-height: var(--_grid-min-height, 0);
23
+ flex: 1 1 auto;
24
+ align-self: stretch;
25
+ position: relative;
26
+ box-sizing: border-box;
27
+ -webkit-tap-highlight-color: transparent;
28
+ background: var(--vaadin-grid-background, var(--_vaadin-background));
29
+ border: var(--_border-width) solid var(--vaadin-grid-border-color, var(--_vaadin-border-color));
30
+ cursor: default;
31
+ --_border-width: 0;
32
+ --_row-border-width: var(--vaadin-grid-cell-border-width, 1px);
33
+ --_column-border-width: var(--vaadin-grid-cell-border-width, 0);
34
+ --_cell-padding: var(--vaadin-grid-cell-padding, var(--_vaadin-padding-container));
35
+ --_reorder-background-image: none;
36
+ --_selection-background-image: none;
37
+ border-radius: var(--_border-radius);
38
+ --_border-radius: 0;
39
+ }
40
+
41
+ :host([hidden]),
42
+ [hidden] {
43
+ display: none !important;
44
+ }
45
+
46
+ :host([disabled]) {
47
+ pointer-events: none;
48
+ opacity: 0.7;
49
+ }
50
+
51
+ /* Variant: No outer border */
52
+ :host(:not([theme~='no-border'])) {
53
+ --_border-width: var(--vaadin-grid-border-width, 1px);
54
+ --_border-radius: var(--vaadin-grid-border-radius, var(--_vaadin-radius-l));
55
+ }
56
+
57
+ :host([all-rows-visible]) {
58
+ height: auto;
59
+ align-self: flex-start;
60
+ min-height: auto;
61
+ flex-grow: 0;
62
+ }
63
+
64
+ #scroller {
65
+ contain: layout;
66
+ border-radius: calc(var(--_border-radius) - var(--_border-width));
67
+ position: relative;
68
+ display: flex;
69
+ width: 100%;
70
+ min-width: 0;
71
+ min-height: 0;
72
+ align-self: stretch;
73
+ overflow: hidden;
74
+ }
75
+
76
+ #items {
77
+ flex-grow: 1;
78
+ flex-shrink: 0;
79
+ display: block;
80
+ position: sticky;
81
+ width: 100%;
82
+ left: 0;
83
+ min-height: 1px;
84
+ }
85
+
86
+ #table {
87
+ display: flex;
88
+ flex-direction: column;
89
+ width: 100%;
90
+ overflow: auto;
91
+ position: relative;
92
+ border-radius: inherit;
93
+ /* Workaround for a Chrome bug: new stacking context here prevents the scrollbar from getting hidden */
94
+ z-index: 0;
95
+ }
96
+
97
+ [no-scrollbars]:is([safari], [firefox]) #table {
98
+ overflow: hidden;
99
+ }
100
+
101
+ #header,
102
+ #footer {
103
+ display: block;
104
+ position: sticky;
105
+ left: 0;
106
+ width: 100%;
107
+ z-index: 1;
108
+ }
109
+
110
+ :host([dir='rtl']) #items,
111
+ :host([dir='rtl']) #header,
112
+ :host([dir='rtl']) #footer {
113
+ left: auto;
114
+ }
115
+
116
+ #header {
117
+ top: 0;
118
+ }
119
+
120
+ #footer {
121
+ bottom: 0;
122
+ }
123
+
124
+ th {
125
+ text-align: inherit;
126
+ }
127
+
128
+ #header th,
129
+ [part~='reorder-ghost'] {
130
+ font-size: var(--vaadin-grid-header-font-size, 1em);
131
+ font-weight: var(--vaadin-grid-header-font-weight, 500);
132
+ color: var(--vaadin-grid-header-color, var(--_vaadin-color-strong));
133
+ }
134
+
135
+ [part~='row'] {
136
+ display: flex;
137
+ width: 100%;
138
+ box-sizing: border-box;
139
+ margin: 0;
140
+ position: relative;
141
+ }
142
+
143
+ [part~='row'][loading] [part~='body-cell'] ::slotted(vaadin-grid-cell-content) {
144
+ visibility: hidden;
145
+ }
146
+
147
+ [column-rendering='lazy'] [part~='body-cell']:not([frozen]):not([frozen-to-end]) {
148
+ transform: translateX(var(--_grid-lazy-columns-start));
149
+ }
150
+
151
+ #items [part~='row']:empty {
152
+ height: 100%;
153
+ }
154
+
155
+ [part~='cell'] {
156
+ box-sizing: border-box;
157
+ background:
158
+ var(--_reorder-background-image), var(--_selection-background-image),
159
+ var(--vaadin-grid-cell-background, var(--_vaadin-background));
160
+ padding: 0;
161
+ }
162
+
163
+ [part~='cell']:not([part~='details-cell']) {
164
+ flex-shrink: 0;
165
+ flex-grow: 1;
166
+ box-sizing: border-box;
167
+ display: flex;
168
+ width: 100%;
169
+ position: relative;
170
+ align-items: center;
171
+ white-space: nowrap;
172
+ }
173
+
174
+ :focus-visible,
175
+ [part~='row']::after {
176
+ outline: var(--vaadin-focus-ring-width) solid var(--vaadin-focus-ring-color);
177
+ outline-offset: calc(var(--vaadin-focus-ring-width) * -1);
178
+ }
179
+
180
+ [part~='row']:focus-visible {
181
+ z-index: 1;
182
+ }
183
+
184
+ /* Used for focus outline and drag'n'drop target indication */
185
+ [part~='row']::after {
186
+ content: '';
187
+ position: absolute;
188
+ inset: calc(var(--_row-border-width) * -1) 0;
189
+ z-index: 3;
190
+ transform: translateX(var(--_grid-horizontal-scroll-position));
191
+ pointer-events: none;
192
+ visibility: hidden;
193
+ }
194
+
195
+ [part~='row']:focus-visible::after {
196
+ visibility: visible;
197
+ }
198
+
199
+ /* Variant: wrap cell contents */
200
+
201
+ :host([theme~='wrap-cell-content']) [part~='cell']:not([part~='details-cell']) {
202
+ white-space: normal;
203
+ }
204
+
205
+ /* Variant: row & column borders */
206
+
207
+ :host([theme~='no-row-borders']) {
208
+ --_row-border-width: 0;
209
+ }
210
+
211
+ :host([theme~='column-borders']) {
212
+ --_column-border-width: var(--vaadin-grid-cell-border-width, 1px);
213
+ }
214
+
215
+ [part~='cell']:not([part~='last-column-cell'], [part~='details-cell']) {
216
+ border-inline-end: var(--_column-border-width, 0) solid
217
+ var(--vaadin-grid-cell-border-color, var(--_vaadin-border-color));
218
+ }
219
+
220
+ [part~='cell']:where(:not([part~='details-cell'], [part~='first-row-cell'])) {
221
+ border-top: var(--_row-border-width) solid var(--vaadin-grid-cell-border-color, var(--_vaadin-border-color));
222
+ }
223
+
224
+ [part~='first-header-row-cell'] {
225
+ border-top: 0;
226
+ }
227
+
228
+ [part~='last-header-row-cell'] {
229
+ border-bottom: var(--_row-border-width, 1px) solid
230
+ var(--vaadin-grid-cell-border-color, var(--_vaadin-border-color));
231
+ }
232
+
233
+ [part~='first-footer-row-cell'] {
234
+ border-top: var(--_row-border-width, 1px) solid var(--vaadin-grid-cell-border-color, var(--_vaadin-border-color));
235
+ }
236
+
237
+ /* Variant: row stripes */
238
+ :host([theme~='row-stripes']) [part~='odd-row'],
239
+ :host([theme~='row-stripes']) [part~='odd-row'] [part~='body-cell'],
240
+ :host([theme~='row-stripes']) [part~='odd-row'] [part~='details-cell'] {
241
+ background:
242
+ var(--_reorder-background-image), var(--_selection-background-image),
243
+ var(--vaadin-grid-alternate-cell-background, var(--_vaadin-background-container));
244
+ }
245
+
246
+ [part~='cell'] > [tabindex] {
247
+ display: flex;
248
+ align-items: inherit;
249
+ width: 100%;
250
+ }
251
+
252
+ [part~='details-cell'] {
253
+ position: absolute;
254
+ bottom: 0;
255
+ width: 100%;
256
+ }
257
+
258
+ [part~='cell'] ::slotted(vaadin-grid-cell-content) {
259
+ display: block;
260
+ width: 100%;
261
+ box-sizing: border-box;
262
+ overflow: hidden;
263
+ text-overflow: ellipsis;
264
+ padding: var(--_cell-padding);
265
+ }
266
+
267
+ [frozen],
268
+ [frozen-to-end] {
269
+ z-index: 2;
270
+ will-change: transform;
271
+ }
272
+
273
+ /* Selected row */
274
+ [part~='row'][selected] [part~='body-cell']:not([part~='details-cell']) {
275
+ --_selection-background-image: var(
276
+ --vaadin-grid-row-selected-background-image,
277
+ linear-gradient(rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.08))
278
+ );
279
+ }
280
+
281
+ /* Empty state */
282
+ #scroller:not([empty-state]) #emptystatebody,
283
+ #scroller[empty-state] #items {
284
+ display: none;
285
+ }
286
+
287
+ #emptystatebody {
288
+ display: flex;
289
+ position: sticky;
290
+ inset: 0;
291
+ flex: 1;
292
+ overflow: hidden;
293
+ }
294
+
295
+ #emptystaterow {
296
+ display: flex;
297
+ flex: 1;
298
+ }
299
+
300
+ #emptystatecell {
301
+ display: block;
302
+ flex: 1;
303
+ overflow: auto;
304
+ padding: var(--_cell-padding);
305
+ }
306
+
307
+ /* Reordering styles */
308
+ :host([reordering]) [part~='cell'] ::slotted(vaadin-grid-cell-content),
309
+ :host([reordering]) [part~='resize-handle'],
310
+ #scroller[no-content-pointer-events] [part~='cell'] ::slotted(vaadin-grid-cell-content) {
311
+ pointer-events: none;
312
+ }
313
+
314
+ [part~='reorder-ghost'] {
315
+ visibility: hidden;
316
+ position: fixed;
317
+ pointer-events: none;
318
+ box-shadow:
319
+ 0 0 0 1px hsla(0deg, 0%, 0%, 0.2),
320
+ 0 8px 24px -2px hsla(0deg, 0%, 0%, 0.2);
321
+ padding: var(--_cell-padding) !important;
322
+ border-radius: 3px;
323
+
324
+ /* Prevent overflowing the grid in Firefox */
325
+ top: 0;
326
+ inset-inline-start: 0;
327
+ }
328
+
329
+ :host([reordering]) {
330
+ -webkit-user-select: none;
331
+ user-select: none;
332
+ }
333
+
334
+ :host([reordering]) [part~='cell'] {
335
+ /* TODO expose a custom property to control this */
336
+ --_reorder-background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1));
337
+ }
338
+
339
+ :host([reordering]) [part~='cell'][reorder-status='allowed'] {
340
+ /* TODO expose a custom property to control this */
341
+ --_reorder-background-image: linear-gradient(rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.04));
342
+ }
343
+
344
+ :host([reordering]) [part~='cell'][reorder-status='dragging'] {
345
+ --_reorder-background-image: none;
346
+ }
347
+
348
+ /* Resizing styles */
349
+ [part~='resize-handle'] {
350
+ position: absolute;
351
+ top: 0;
352
+ inset-inline-end: 0;
353
+ height: 100%;
354
+ cursor: col-resize;
355
+ z-index: 1;
356
+ opacity: 0;
357
+ width: var(--vaadin-focus-ring-width);
358
+ background: var(--vaadin-grid-column-resize-handle-color, var(--vaadin-focus-ring-color));
359
+ transition: opacity 0.2s;
360
+ translate: var(--_column-border-width);
361
+ }
362
+
363
+ [part~='last-column-cell'] [part~='resize-handle'] {
364
+ translate: 0;
365
+ }
366
+
367
+ :host(:not([reordering])) *:not([column-resizing]) [part='resize-handle']:hover,
368
+ [part='resize-handle']:active {
369
+ opacity: 1;
370
+ transition-delay: 0.15s;
371
+ }
372
+
373
+ [part~='resize-handle']::before {
374
+ position: absolute;
375
+ content: '';
376
+ height: 100%;
377
+ width: 16px;
378
+ translate: calc(-50% + var(--vaadin-focus-ring-width) / 2);
379
+ }
380
+
381
+ :host([dir='rtl']) [part~='resize-handle']::before {
382
+ translate: calc(50% - var(--vaadin-focus-ring-width) / 2);
383
+ }
384
+
385
+ [first-frozen-to-end] [part~='resize-handle']::before,
386
+ :is([last-column], [last-frozen]) [part~='resize-handle']::before {
387
+ width: 8px;
388
+ translate: 0;
389
+ }
390
+
391
+ :is([last-column], [last-frozen]) [part~='resize-handle']::before {
392
+ inset-inline-end: 0;
393
+ }
394
+
395
+ [frozen-to-end] :is([part~='resize-handle'], [part~='resize-handle']::before) {
396
+ inset-inline: 0 auto;
397
+ }
398
+
399
+ [first-frozen-to-end] {
400
+ margin-inline-start: auto;
401
+ }
402
+
403
+ /* Hide resize handle if scrolled to end */
404
+ :host(:not([overflow~='end'])) [first-frozen-to-end] [part~='resize-handle'] {
405
+ display: none;
406
+ }
407
+
408
+ #scroller:is([column-resizing], [range-selecting]) {
409
+ -webkit-user-select: none;
410
+ user-select: none;
411
+ }
412
+
413
+ /* Drag'n'drop styles */
414
+ :host([dragover]) {
415
+ outline: var(--vaadin-focus-ring-width) solid var(--vaadin-focus-ring-color);
416
+ outline-offset: calc(var(--_border-width) * -1);
417
+ }
418
+
419
+ [part~='row'][dragover] {
420
+ z-index: 100 !important;
421
+ }
422
+
423
+ [part~='row'][dragover]::after {
424
+ visibility: visible;
425
+ }
426
+
427
+ [part~='row'][dragover='above']::after {
428
+ outline: 0;
429
+ border-top: var(--vaadin-focus-ring-width) solid var(--vaadin-focus-ring-color);
430
+ top: calc(var(--vaadin-focus-ring-width) / -2);
431
+ }
432
+
433
+ [part~='row'][dragover='below']::after {
434
+ outline: 0;
435
+ border-bottom: var(--vaadin-focus-ring-width) solid var(--vaadin-focus-ring-color);
436
+ bottom: calc(var(--vaadin-focus-ring-width) / -2);
437
+ }
438
+
439
+ :is([part~='row']:first-child, [part~='first-row'])::after {
440
+ top: 0;
441
+ }
442
+
443
+ :is([part~='row']:last-child, [part~='last-row'])::after {
444
+ bottom: 0;
445
+ }
446
+
447
+ [part~='row'][dragstart] [part~='cell'] {
448
+ border-top: 0 !important;
449
+ }
450
+
451
+ [part~='row'][dragstart] [part~='cell'][last-column] {
452
+ border-radius: 0 3px 3px 0;
453
+ }
454
+
455
+ [part~='row'][dragstart] [part~='cell'][first-column] {
456
+ border-radius: 3px 0 0 3px;
457
+ }
458
+
459
+ /* Indicates the number of dragged rows */
460
+ /* TODO export custom properties to control styles */
461
+ #scroller [part~='row'][dragstart]:not([dragstart=''])::before {
462
+ position: absolute;
463
+ left: var(--_grid-drag-start-x);
464
+ top: var(--_grid-drag-start-y);
465
+ z-index: 100;
466
+ content: attr(dragstart);
467
+ box-sizing: border-box;
468
+ padding: 0.3em;
469
+ color: white;
470
+ background-color: red;
471
+ border-radius: 1em;
472
+ font-size: 0.75rem;
473
+ line-height: 1;
474
+ font-weight: 500;
475
+ min-width: 1.6em;
476
+ text-align: center;
477
+ }
478
+
479
+ /* Sizer styles */
480
+ #sizer {
481
+ display: flex;
482
+ visibility: hidden;
483
+ }
484
+
485
+ #sizer [part~='details-cell'],
486
+ #sizer [part~='cell'] ::slotted(vaadin-grid-cell-content) {
487
+ display: none !important;
488
+ }
489
+
490
+ #sizer [part~='cell'] {
491
+ display: block;
492
+ flex-shrink: 0;
493
+ line-height: 0;
494
+ height: 0 !important;
495
+ min-height: 0 !important;
496
+ max-height: 0 !important;
497
+ padding: 0 !important;
498
+ border: none !important;
499
+ }
500
+
501
+ #sizer [part~='cell']::before {
502
+ content: '-';
503
+ }
504
+ }
505
+ `;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2016 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ import type { CSSResult } from 'lit';
7
+
8
+ export const gridStyles: CSSResult;
@@ -3,7 +3,7 @@
3
3
  * Copyright (c) 2016 - 2025 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
- import { css } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
6
+ import { css } from 'lit';
7
7
 
8
8
  export const gridStyles = css`
9
9
  @keyframes vaadin-grid-appear {
@@ -21,6 +21,7 @@ export const gridStyles = css`
21
21
  flex: 1 1 auto;
22
22
  align-self: stretch;
23
23
  position: relative;
24
+ box-sizing: border-box;
24
25
  }
25
26
 
26
27
  :host([hidden]) {
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2016 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ import type { CSSResult } from 'lit';
7
+
8
+ export const gridFilterStyles: CSSResult;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2016 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ import { css } from 'lit';
7
+
8
+ export const gridFilterStyles = css`
9
+ @layer base {
10
+ :host {
11
+ display: inline-flex;
12
+ max-width: 100%;
13
+ }
14
+
15
+ ::slotted(*) {
16
+ width: 100%;
17
+ box-sizing: border-box;
18
+ }
19
+ }
20
+ `;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2016 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ import type { CSSResult } from 'lit';
7
+
8
+ export const gridFilterStyles: CSSResult;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2016 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ import { css } from 'lit';
7
+
8
+ export const gridFilterStyles = css`
9
+ :host {
10
+ display: inline-flex;
11
+ max-width: 100%;
12
+ }
13
+
14
+ ::slotted(*) {
15
+ width: 100%;
16
+ box-sizing: border-box;
17
+ }
18
+ `;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2016 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ import type { CSSResult } from 'lit';
7
+
8
+ export const gridSorterStyles: CSSResult;