@vaadin/grid 25.3.0-alpha6 → 25.3.0-alpha8

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.
@@ -497,7 +497,7 @@
497
497
  "type": {
498
498
  "text": "string"
499
499
  },
500
- "description": "Aligns the columns cell content horizontally.\nSupported values: \"start\", \"center\" and \"end\".",
500
+ "description": "Aligns the columns cell content horizontally.",
501
501
  "attribute": "text-align",
502
502
  "inheritedFrom": {
503
503
  "name": "ColumnBaseMixin",
@@ -651,7 +651,7 @@
651
651
  "type": {
652
652
  "text": "string"
653
653
  },
654
- "description": "Aligns the columns cell content horizontally.\nSupported values: \"start\", \"center\" and \"end\".",
654
+ "description": "Aligns the columns cell content horizontally.",
655
655
  "fieldName": "textAlign",
656
656
  "inheritedFrom": {
657
657
  "name": "ColumnBaseMixin",
@@ -863,7 +863,7 @@
863
863
  "type": {
864
864
  "text": "string"
865
865
  },
866
- "description": "Aligns the columns cell content horizontally.\nSupported values: \"start\", \"center\" and \"end\".",
866
+ "description": "Aligns the columns cell content horizontally.",
867
867
  "attribute": "text-align",
868
868
  "inheritedFrom": {
869
869
  "name": "ColumnBaseMixin",
@@ -1041,7 +1041,7 @@
1041
1041
  "type": {
1042
1042
  "text": "string"
1043
1043
  },
1044
- "description": "Aligns the columns cell content horizontally.\nSupported values: \"start\", \"center\" and \"end\".",
1044
+ "description": "Aligns the columns cell content horizontally.",
1045
1045
  "fieldName": "textAlign",
1046
1046
  "inheritedFrom": {
1047
1047
  "name": "ColumnBaseMixin",
@@ -1200,7 +1200,7 @@
1200
1200
  "type": {
1201
1201
  "text": "string"
1202
1202
  },
1203
- "description": "Aligns the columns cell content horizontally.\nSupported values: \"start\", \"center\" and \"end\".",
1203
+ "description": "Aligns the columns cell content horizontally.",
1204
1204
  "attribute": "text-align"
1205
1205
  }
1206
1206
  ],
@@ -1291,7 +1291,7 @@
1291
1291
  "type": {
1292
1292
  "text": "string"
1293
1293
  },
1294
- "description": "Aligns the columns cell content horizontally.\nSupported values: \"start\", \"center\" and \"end\".",
1294
+ "description": "Aligns the columns cell content horizontally.",
1295
1295
  "fieldName": "textAlign"
1296
1296
  }
1297
1297
  ],
@@ -1494,7 +1494,7 @@
1494
1494
  "type": {
1495
1495
  "text": "string"
1496
1496
  },
1497
- "description": "Aligns the columns cell content horizontally.\nSupported values: \"start\", \"center\" and \"end\".",
1497
+ "description": "Aligns the columns cell content horizontally.",
1498
1498
  "attribute": "text-align",
1499
1499
  "inheritedFrom": {
1500
1500
  "name": "ColumnBaseMixin",
@@ -1671,7 +1671,7 @@
1671
1671
  "type": {
1672
1672
  "text": "string"
1673
1673
  },
1674
- "description": "Aligns the columns cell content horizontally.\nSupported values: \"start\", \"center\" and \"end\".",
1674
+ "description": "Aligns the columns cell content horizontally.",
1675
1675
  "fieldName": "textAlign",
1676
1676
  "inheritedFrom": {
1677
1677
  "name": "ColumnBaseMixin",
@@ -2027,7 +2027,7 @@
2027
2027
  "type": {
2028
2028
  "text": "string"
2029
2029
  },
2030
- "description": "Aligns the columns cell content horizontally.\nSupported values: \"start\", \"center\" and \"end\".",
2030
+ "description": "Aligns the columns cell content horizontally.",
2031
2031
  "attribute": "text-align",
2032
2032
  "inheritedFrom": {
2033
2033
  "name": "ColumnBaseMixin",
@@ -2240,7 +2240,7 @@
2240
2240
  "type": {
2241
2241
  "text": "string"
2242
2242
  },
2243
- "description": "Aligns the columns cell content horizontally.\nSupported values: \"start\", \"center\" and \"end\".",
2243
+ "description": "Aligns the columns cell content horizontally.",
2244
2244
  "fieldName": "textAlign",
2245
2245
  "inheritedFrom": {
2246
2246
  "name": "ColumnBaseMixin",
@@ -2954,7 +2954,7 @@
2954
2954
  "type": {
2955
2955
  "text": "string"
2956
2956
  },
2957
- "description": "Aligns the columns cell content horizontally.\nSupported values: \"start\", \"center\" and \"end\".",
2957
+ "description": "Aligns the columns cell content horizontally.",
2958
2958
  "attribute": "text-align",
2959
2959
  "inheritedFrom": {
2960
2960
  "name": "GridColumn",
@@ -3163,7 +3163,7 @@
3163
3163
  "type": {
3164
3164
  "text": "string"
3165
3165
  },
3166
- "description": "Aligns the columns cell content horizontally.\nSupported values: \"start\", \"center\" and \"end\".",
3166
+ "description": "Aligns the columns cell content horizontally.",
3167
3167
  "fieldName": "textAlign",
3168
3168
  "inheritedFrom": {
3169
3169
  "name": "GridColumn",
@@ -3350,30 +3350,6 @@
3350
3350
  "name": "value-changed"
3351
3351
  }
3352
3352
  ],
3353
- "mixins": [
3354
- {
3355
- "name": "GridFilterElementMixin",
3356
- "module": "src/vaadin-grid-filter-element-mixin.js"
3357
- },
3358
- {
3359
- "name": "ThemableMixin",
3360
- "package": "@vaadin/vaadin-themable-mixin"
3361
- },
3362
- {
3363
- "name": "PolylitMixin",
3364
- "package": "@vaadin/component-base/src/polylit-mixin.js"
3365
- },
3366
- {
3367
- "name": "LumoInjectionMixin",
3368
- "package": "@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js"
3369
- }
3370
- ],
3371
- "superclass": {
3372
- "name": "LitElement",
3373
- "package": "lit"
3374
- },
3375
- "tagName": "vaadin-grid-filter",
3376
- "customElement": true,
3377
3353
  "attributes": [
3378
3354
  {
3379
3355
  "name": "path",
@@ -3387,6 +3363,13 @@
3387
3363
  "module": "src/vaadin-grid-filter-element-mixin.js"
3388
3364
  }
3389
3365
  },
3366
+ {
3367
+ "type": {
3368
+ "text": "string"
3369
+ },
3370
+ "description": "The theme variants to apply to the component.",
3371
+ "name": "theme"
3372
+ },
3390
3373
  {
3391
3374
  "name": "value",
3392
3375
  "type": {
@@ -3399,7 +3382,31 @@
3399
3382
  "module": "src/vaadin-grid-filter-element-mixin.js"
3400
3383
  }
3401
3384
  }
3402
- ]
3385
+ ],
3386
+ "mixins": [
3387
+ {
3388
+ "name": "GridFilterElementMixin",
3389
+ "module": "src/vaadin-grid-filter-element-mixin.js"
3390
+ },
3391
+ {
3392
+ "name": "ThemableMixin",
3393
+ "package": "@vaadin/vaadin-themable-mixin"
3394
+ },
3395
+ {
3396
+ "name": "PolylitMixin",
3397
+ "package": "@vaadin/component-base/src/polylit-mixin.js"
3398
+ },
3399
+ {
3400
+ "name": "LumoInjectionMixin",
3401
+ "package": "@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js"
3402
+ }
3403
+ ],
3404
+ "superclass": {
3405
+ "name": "LitElement",
3406
+ "package": "lit"
3407
+ },
3408
+ "tagName": "vaadin-grid-filter",
3409
+ "customElement": true
3403
3410
  }
3404
3411
  ],
3405
3412
  "exports": [
@@ -3413,6 +3420,33 @@
3413
3420
  }
3414
3421
  ]
3415
3422
  },
3423
+ {
3424
+ "kind": "javascript-module",
3425
+ "path": "src/vaadin-grid-header-footer-rendering-mixin.js",
3426
+ "declarations": [
3427
+ {
3428
+ "kind": "mixin",
3429
+ "description": "A mixin providing rendering of header and footer rows based on the column tree.",
3430
+ "name": "HeaderFooterRenderingMixin",
3431
+ "members": [],
3432
+ "parameters": [
3433
+ {
3434
+ "name": "superClass"
3435
+ }
3436
+ ]
3437
+ }
3438
+ ],
3439
+ "exports": [
3440
+ {
3441
+ "kind": "js",
3442
+ "name": "HeaderFooterRenderingMixin",
3443
+ "declaration": {
3444
+ "name": "HeaderFooterRenderingMixin",
3445
+ "module": "src/vaadin-grid-header-footer-rendering-mixin.js"
3446
+ }
3447
+ }
3448
+ ]
3449
+ },
3416
3450
  {
3417
3451
  "kind": "javascript-module",
3418
3452
  "path": "src/vaadin-grid-helpers.js",
@@ -4739,6 +4773,10 @@
4739
4773
  "name": "DynamicColumnsMixin",
4740
4774
  "module": "src/vaadin-grid-dynamic-columns-mixin.js"
4741
4775
  },
4776
+ {
4777
+ "name": "HeaderFooterRenderingMixin",
4778
+ "module": "src/vaadin-grid-header-footer-rendering-mixin.js"
4779
+ },
4742
4780
  {
4743
4781
  "name": "ActiveItemMixin",
4744
4782
  "module": "src/vaadin-grid-active-item-mixin.js"
@@ -5609,7 +5647,7 @@
5609
5647
  "type": {
5610
5648
  "text": "string"
5611
5649
  },
5612
- "description": "Aligns the columns cell content horizontally.\nSupported values: \"start\", \"center\" and \"end\".",
5650
+ "description": "Aligns the columns cell content horizontally.",
5613
5651
  "attribute": "text-align",
5614
5652
  "inheritedFrom": {
5615
5653
  "name": "GridColumn",
@@ -5863,7 +5901,7 @@
5863
5901
  "type": {
5864
5902
  "text": "string"
5865
5903
  },
5866
- "description": "Aligns the columns cell content horizontally.\nSupported values: \"start\", \"center\" and \"end\".",
5904
+ "description": "Aligns the columns cell content horizontally.",
5867
5905
  "fieldName": "textAlign",
5868
5906
  "inheritedFrom": {
5869
5907
  "name": "GridColumn",
@@ -6275,7 +6313,7 @@
6275
6313
  "type": {
6276
6314
  "text": "string"
6277
6315
  },
6278
- "description": "Aligns the columns cell content horizontally.\nSupported values: \"start\", \"center\" and \"end\".",
6316
+ "description": "Aligns the columns cell content horizontally.",
6279
6317
  "attribute": "text-align",
6280
6318
  "inheritedFrom": {
6281
6319
  "name": "GridColumn",
@@ -6505,7 +6543,7 @@
6505
6543
  "type": {
6506
6544
  "text": "string"
6507
6545
  },
6508
- "description": "Aligns the columns cell content horizontally.\nSupported values: \"start\", \"center\" and \"end\".",
6546
+ "description": "Aligns the columns cell content horizontally.",
6509
6547
  "fieldName": "textAlign",
6510
6548
  "inheritedFrom": {
6511
6549
  "name": "GridColumn",
@@ -6768,6 +6806,39 @@
6768
6806
  }
6769
6807
  }
6770
6808
  ],
6809
+ "attributes": [
6810
+ {
6811
+ "name": "direction",
6812
+ "type": {
6813
+ "text": "string"
6814
+ },
6815
+ "description": "How to sort the data.\nPossible values are `asc` to use an ascending algorithm, `desc` to sort the data in\ndescending direction, or `null` for not sorting the data.",
6816
+ "fieldName": "direction",
6817
+ "inheritedFrom": {
6818
+ "name": "GridSorterMixin",
6819
+ "module": "src/vaadin-grid-sorter-mixin.js"
6820
+ }
6821
+ },
6822
+ {
6823
+ "name": "path",
6824
+ "type": {
6825
+ "text": "string"
6826
+ },
6827
+ "description": "JS Path of the property in the item used for sorting the data.",
6828
+ "fieldName": "path",
6829
+ "inheritedFrom": {
6830
+ "name": "GridSorterMixin",
6831
+ "module": "src/vaadin-grid-sorter-mixin.js"
6832
+ }
6833
+ },
6834
+ {
6835
+ "type": {
6836
+ "text": "string"
6837
+ },
6838
+ "description": "The theme variants to apply to the component.",
6839
+ "name": "theme"
6840
+ }
6841
+ ],
6771
6842
  "mixins": [
6772
6843
  {
6773
6844
  "name": "GridSorterMixin",
@@ -6795,33 +6866,7 @@
6795
6866
  "package": "lit"
6796
6867
  },
6797
6868
  "tagName": "vaadin-grid-sorter",
6798
- "customElement": true,
6799
- "attributes": [
6800
- {
6801
- "name": "direction",
6802
- "type": {
6803
- "text": "string"
6804
- },
6805
- "description": "How to sort the data.\nPossible values are `asc` to use an ascending algorithm, `desc` to sort the data in\ndescending direction, or `null` for not sorting the data.",
6806
- "fieldName": "direction",
6807
- "inheritedFrom": {
6808
- "name": "GridSorterMixin",
6809
- "module": "src/vaadin-grid-sorter-mixin.js"
6810
- }
6811
- },
6812
- {
6813
- "name": "path",
6814
- "type": {
6815
- "text": "string"
6816
- },
6817
- "description": "JS Path of the property in the item used for sorting the data.",
6818
- "fieldName": "path",
6819
- "inheritedFrom": {
6820
- "name": "GridSorterMixin",
6821
- "module": "src/vaadin-grid-sorter-mixin.js"
6822
- }
6823
- }
6824
- ]
6869
+ "customElement": true
6825
6870
  }
6826
6871
  ],
6827
6872
  "exports": [
@@ -7149,7 +7194,7 @@
7149
7194
  "type": {
7150
7195
  "text": "string"
7151
7196
  },
7152
- "description": "Aligns the columns cell content horizontally.\nSupported values: \"start\", \"center\" and \"end\".",
7197
+ "description": "Aligns the columns cell content horizontally.",
7153
7198
  "attribute": "text-align",
7154
7199
  "inheritedFrom": {
7155
7200
  "name": "GridColumn",
@@ -7358,7 +7403,7 @@
7358
7403
  "type": {
7359
7404
  "text": "string"
7360
7405
  },
7361
- "description": "Aligns the columns cell content horizontally.\nSupported values: \"start\", \"center\" and \"end\".",
7406
+ "description": "Aligns the columns cell content horizontally.",
7362
7407
  "fieldName": "textAlign",
7363
7408
  "inheritedFrom": {
7364
7409
  "name": "GridColumn",
@@ -7537,34 +7582,6 @@
7537
7582
  "name": "expanded-changed"
7538
7583
  }
7539
7584
  ],
7540
- "mixins": [
7541
- {
7542
- "name": "GridTreeToggleMixin",
7543
- "module": "src/vaadin-grid-tree-toggle-mixin.js"
7544
- },
7545
- {
7546
- "name": "ThemableMixin",
7547
- "package": "@vaadin/vaadin-themable-mixin"
7548
- },
7549
- {
7550
- "name": "DirMixin",
7551
- "package": "@vaadin/component-base/src/dir-mixin.js"
7552
- },
7553
- {
7554
- "name": "PolylitMixin",
7555
- "package": "@vaadin/component-base/src/polylit-mixin.js"
7556
- },
7557
- {
7558
- "name": "LumoInjectionMixin",
7559
- "package": "@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js"
7560
- }
7561
- ],
7562
- "superclass": {
7563
- "name": "LitElement",
7564
- "package": "lit"
7565
- },
7566
- "tagName": "vaadin-grid-tree-toggle",
7567
- "customElement": true,
7568
7585
  "attributes": [
7569
7586
  {
7570
7587
  "name": "expanded",
@@ -7601,8 +7618,43 @@
7601
7618
  "name": "GridTreeToggleMixin",
7602
7619
  "module": "src/vaadin-grid-tree-toggle-mixin.js"
7603
7620
  }
7621
+ },
7622
+ {
7623
+ "type": {
7624
+ "text": "string"
7625
+ },
7626
+ "description": "The theme variants to apply to the component.",
7627
+ "name": "theme"
7604
7628
  }
7605
- ]
7629
+ ],
7630
+ "mixins": [
7631
+ {
7632
+ "name": "GridTreeToggleMixin",
7633
+ "module": "src/vaadin-grid-tree-toggle-mixin.js"
7634
+ },
7635
+ {
7636
+ "name": "ThemableMixin",
7637
+ "package": "@vaadin/vaadin-themable-mixin"
7638
+ },
7639
+ {
7640
+ "name": "DirMixin",
7641
+ "package": "@vaadin/component-base/src/dir-mixin.js"
7642
+ },
7643
+ {
7644
+ "name": "PolylitMixin",
7645
+ "package": "@vaadin/component-base/src/polylit-mixin.js"
7646
+ },
7647
+ {
7648
+ "name": "LumoInjectionMixin",
7649
+ "package": "@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js"
7650
+ }
7651
+ ],
7652
+ "superclass": {
7653
+ "name": "LitElement",
7654
+ "package": "lit"
7655
+ },
7656
+ "tagName": "vaadin-grid-tree-toggle",
7657
+ "customElement": true
7606
7658
  }
7607
7659
  ],
7608
7660
  "exports": [
@@ -8369,38 +8421,6 @@
8369
8421
  "name": "size-changed"
8370
8422
  }
8371
8423
  ],
8372
- "mixins": [
8373
- {
8374
- "name": "GridMixin",
8375
- "module": "src/vaadin-grid-mixin.js"
8376
- },
8377
- {
8378
- "name": "I18nMixin",
8379
- "package": "@vaadin/component-base/src/i18n-mixin.js"
8380
- },
8381
- {
8382
- "name": "ElementMixin",
8383
- "package": "@vaadin/component-base/src/element-mixin.js"
8384
- },
8385
- {
8386
- "name": "ThemableMixin",
8387
- "package": "@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js"
8388
- },
8389
- {
8390
- "name": "PolylitMixin",
8391
- "package": "@vaadin/component-base/src/polylit-mixin.js"
8392
- },
8393
- {
8394
- "name": "LumoInjectionMixin",
8395
- "package": "@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js"
8396
- }
8397
- ],
8398
- "superclass": {
8399
- "name": "LitElement",
8400
- "package": "lit"
8401
- },
8402
- "tagName": "vaadin-grid",
8403
- "customElement": true,
8404
8424
  "attributes": [
8405
8425
  {
8406
8426
  "name": "accessible-name",
@@ -8677,8 +8697,47 @@
8677
8697
  "name": "DataProviderMixin",
8678
8698
  "module": "src/vaadin-grid-data-provider-mixin.js"
8679
8699
  }
8700
+ },
8701
+ {
8702
+ "type": {
8703
+ "text": "string"
8704
+ },
8705
+ "description": "The theme variants to apply to the component.",
8706
+ "name": "theme"
8680
8707
  }
8681
- ]
8708
+ ],
8709
+ "mixins": [
8710
+ {
8711
+ "name": "GridMixin",
8712
+ "module": "src/vaadin-grid-mixin.js"
8713
+ },
8714
+ {
8715
+ "name": "I18nMixin",
8716
+ "package": "@vaadin/component-base/src/i18n-mixin.js"
8717
+ },
8718
+ {
8719
+ "name": "ElementMixin",
8720
+ "package": "@vaadin/component-base/src/element-mixin.js"
8721
+ },
8722
+ {
8723
+ "name": "ThemableMixin",
8724
+ "package": "@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js"
8725
+ },
8726
+ {
8727
+ "name": "PolylitMixin",
8728
+ "package": "@vaadin/component-base/src/polylit-mixin.js"
8729
+ },
8730
+ {
8731
+ "name": "LumoInjectionMixin",
8732
+ "package": "@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js"
8733
+ }
8734
+ ],
8735
+ "superclass": {
8736
+ "name": "LitElement",
8737
+ "package": "lit"
8738
+ },
8739
+ "tagName": "vaadin-grid",
8740
+ "customElement": true
8682
8741
  }
8683
8742
  ],
8684
8743
  "exports": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/grid",
3
- "version": "25.3.0-alpha6",
3
+ "version": "25.3.0-alpha8",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -45,20 +45,20 @@
45
45
  ],
46
46
  "dependencies": {
47
47
  "@open-wc/dedupe-mixin": "^1.3.0",
48
- "@vaadin/a11y-base": "25.3.0-alpha6",
49
- "@vaadin/checkbox": "25.3.0-alpha6",
50
- "@vaadin/component-base": "25.3.0-alpha6",
51
- "@vaadin/lit-renderer": "25.3.0-alpha6",
52
- "@vaadin/text-field": "25.3.0-alpha6",
53
- "@vaadin/vaadin-themable-mixin": "25.3.0-alpha6",
48
+ "@vaadin/a11y-base": "25.3.0-alpha8",
49
+ "@vaadin/checkbox": "25.3.0-alpha8",
50
+ "@vaadin/component-base": "25.3.0-alpha8",
51
+ "@vaadin/lit-renderer": "25.3.0-alpha8",
52
+ "@vaadin/text-field": "25.3.0-alpha8",
53
+ "@vaadin/vaadin-themable-mixin": "25.3.0-alpha8",
54
54
  "lit": "^3.0.0"
55
55
  },
56
56
  "devDependencies": {
57
- "@vaadin/aura": "25.3.0-alpha6",
58
- "@vaadin/chai-plugins": "25.3.0-alpha6",
59
- "@vaadin/test-runner-commands": "25.3.0-alpha6",
57
+ "@vaadin/aura": "25.3.0-alpha8",
58
+ "@vaadin/chai-plugins": "25.3.0-alpha8",
59
+ "@vaadin/test-runner-commands": "25.3.0-alpha8",
60
60
  "@vaadin/testing-helpers": "^2.0.0",
61
- "@vaadin/vaadin-lumo-styles": "25.3.0-alpha6",
61
+ "@vaadin/vaadin-lumo-styles": "25.3.0-alpha8",
62
62
  "sinon": "^22.0.0"
63
63
  },
64
64
  "customElements": "custom-elements.json",
@@ -66,5 +66,5 @@
66
66
  "web-types.json",
67
67
  "web-types.lit.json"
68
68
  ],
69
- "gitHead": "92c124fb9cff367bc07e734d8e65707facd0bd43"
69
+ "gitHead": "ccbb4aaffb63c745c6da0426b532d4d05e47af29"
70
70
  }
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2016 - 2026 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ import { html } from 'lit';
7
+ import { AsyncDirective, directive } from 'lit/async-directive.js';
8
+
9
+ /**
10
+ * A directive that manages the `<vaadin-grid-cell-content>` element for a cell.
11
+ */
12
+ class CellContentDirective extends AsyncDirective {
13
+ #cell;
14
+
15
+ update(part, [grid, slotName, { textAlign } = {}]) {
16
+ this.#cell = part.parentNode;
17
+ this.#cell._content ??= document.createElement('vaadin-grid-cell-content');
18
+ this.#cell._content.slot = slotName;
19
+ this.#cell._content.style.textAlign = textAlign ?? '';
20
+
21
+ if (!grid.contains(this.#cell._content)) {
22
+ grid.appendChild(this.#cell._content);
23
+ }
24
+
25
+ return html`<slot name="${slotName}"></slot>`;
26
+ }
27
+
28
+ disconnected() {
29
+ this.#cell._content?.remove();
30
+ }
31
+ }
32
+
33
+ export const cellContent = directive(CellContentDirective);
@@ -153,15 +153,6 @@ export const A11yMixin = (superClass) =>
153
153
  });
154
154
  }
155
155
 
156
- /**
157
- * @param {!HTMLElement} cell
158
- * @param {number} colspan
159
- * @private
160
- */
161
- __a11yUpdateCellColspan(cell, colspan) {
162
- cell.setAttribute('aria-colspan', Number(colspan));
163
- }
164
-
165
156
  /** @private */
166
157
  __a11yUpdateSorters() {
167
158
  Array.from(this.querySelectorAll('vaadin-grid-sorter')).forEach((sorter) => {
@@ -137,11 +137,7 @@ export const ColumnAutoWidthMixin = (superClass) =>
137
137
  _recalculateColumnWidths() {
138
138
  // Flush to make sure DOM is up-to-date when measuring the column widths
139
139
  this.__virtualizer.flush();
140
- [...this.$.header.children, ...this.$.footer.children].forEach((row) => {
141
- if (row.__debounceUpdateHeaderFooterRowVisibility) {
142
- row.__debounceUpdateHeaderFooterRowVisibility.flush();
143
- }
144
- });
140
+ this.__renderHeaderFooterDebouncer?.flush();
145
141
 
146
142
  this.__hasHadRenderedRowsForColumnWidthCalculation ||= this._getRenderedRows().length > 0;
147
143
 
@@ -57,7 +57,7 @@ export const GridColumnGroupMixin = (superClass) =>
57
57
  '_groupFrozenChanged(frozen, _rootColumns)',
58
58
  '_groupFrozenToEndChanged(frozenToEnd, _rootColumns)',
59
59
  '_groupHiddenChanged(hidden)',
60
- '_colSpanChanged(_colSpan, _headerCell, _footerCell)',
60
+ '_colSpanChanged(_colSpan)',
61
61
  '_groupOrderChanged(_order, _rootColumns)',
62
62
  '_groupReorderStatusChanged(_reorderStatus, _rootColumns)',
63
63
  '_groupResizableChanged(resizable, _rootColumns)',
@@ -307,19 +307,8 @@ export const GridColumnGroupMixin = (superClass) =>
307
307
  }
308
308
 
309
309
  /** @private */
310
- _colSpanChanged(colSpan, headerCell, footerCell) {
311
- if (headerCell) {
312
- headerCell.setAttribute('colspan', colSpan);
313
- if (this._grid) {
314
- this._grid.__a11yUpdateCellColspan(headerCell, colSpan);
315
- }
316
- }
317
- if (footerCell) {
318
- footerCell.setAttribute('colspan', colSpan);
319
- if (this._grid) {
320
- this._grid.__a11yUpdateCellColspan(footerCell, colSpan);
321
- }
322
- }
310
+ _colSpanChanged() {
311
+ this._grid?.__scheduleRenderHeaderFooter?.();
323
312
  }
324
313
 
325
314
  /**
@@ -12,7 +12,7 @@ export type GridBodyRenderer<TItem, Column extends GridColumnMixin<TItem, Column
12
12
  model: GridItemModel<TItem>,
13
13
  ) => void;
14
14
 
15
- export type GridColumnTextAlign = 'center' | 'end' | 'start' | null;
15
+ export type GridColumnTextAlign = 'center' | 'end' | 'left' | 'right' | 'start' | null;
16
16
 
17
17
  export type GridHeaderFooterRenderer<TItem, Column extends ColumnBaseMixinClass<TItem, Column>> = (
18
18
  root: HTMLElement,
@@ -71,8 +71,8 @@ export declare class ColumnBaseMixinClass<TItem, Column extends ColumnBaseMixinC
71
71
 
72
72
  /**
73
73
  * Aligns the columns cell content horizontally.
74
- * Supported values: "start", "center" and "end".
75
- * @attr {start|center|end} text-align
74
+ *
75
+ * @attr {start|center|end|left|right} text-align
76
76
  */
77
77
  textAlign: GridColumnTextAlign | null | undefined;
78
78