diff --git a/src/vaadin-grid-filter.d.ts b/src/vaadin-grid-filter.d.ts
index e0bf5fac4..e4e216ee9 100644
--- a/src/vaadin-grid-filter.d.ts
+++ b/src/vaadin-grid-filter.d.ts
@@ -22,6 +22,8 @@ export interface GridFilterEventMap extends HTMLElementEventMap, GridFilterEleme
* [[item.name.first]]
*
* ```
+ *
+ * @fires {CustomEvent} value-changed - Fired when the `value` property changes.
*/
declare class GridFilterElement extends HTMLElement {
/**
diff --git a/src/vaadin-grid-filter.js b/src/vaadin-grid-filter.js
index ae3a5c95a..a19044244 100644
--- a/src/vaadin-grid-filter.js
+++ b/src/vaadin-grid-filter.js
@@ -22,6 +22,7 @@ import '@vaadin/vaadin-text-field/src/vaadin-text-field.js';
*
* ```
*
+ * @fires {CustomEvent} value-changed - Fired when the `value` property changes.
*/
class GridFilterElement extends PolymerElement {
static get template() {
diff --git a/src/vaadin-grid-selection-column.d.ts b/src/vaadin-grid-selection-column.d.ts
index e49b63cc2..affa8ed16 100644
--- a/src/vaadin-grid-selection-column.d.ts
+++ b/src/vaadin-grid-selection-column.d.ts
@@ -32,6 +32,8 @@ export interface GridSelectionColumnEventMap extends HTMLElementEventMap, GridSe
* selection for all the items at once.
*
* __The default content can also be overridden__
+ *
+ * @fires {CustomEvent} select-all-changed - Fired when the `selectAll` property changes.
*/
declare class GridSelectionColumnElement extends GridColumnElement {
/**
diff --git a/src/vaadin-grid-selection-column.js b/src/vaadin-grid-selection-column.js
index 71b9a091c..bae63fba7 100644
--- a/src/vaadin-grid-selection-column.js
+++ b/src/vaadin-grid-selection-column.js
@@ -28,6 +28,8 @@ import '@vaadin/vaadin-checkbox/src/vaadin-checkbox.js';
* selection for all the items at once.
*
* __The default content can also be overridden__
+ *
+ * @fires {CustomEvent} select-all-changed - Fired when the `selectAll` property changes.
*/
class GridSelectionColumnElement extends GridColumnElement {
static get template() {
diff --git a/src/vaadin-grid-sort-column.d.ts b/src/vaadin-grid-sort-column.d.ts
index c82d859a0..4d68ec99d 100644
--- a/src/vaadin-grid-sort-column.d.ts
+++ b/src/vaadin-grid-sort-column.d.ts
@@ -25,6 +25,8 @@ export interface GridSortColumnEventMap extends HTMLElementEventMap, GridSortCol
*
* ...
* ```
+ *
+ * @fires {CustomEvent} direction-changed - Fired when the `direction` property changes.
*/
declare class GridSortColumnElement extends GridColumnElement {
/**
diff --git a/src/vaadin-grid-sort-column.js b/src/vaadin-grid-sort-column.js
index dd42b905e..a4d0e8c97 100644
--- a/src/vaadin-grid-sort-column.js
+++ b/src/vaadin-grid-sort-column.js
@@ -19,6 +19,8 @@ import './vaadin-grid-sorter.js';
*
* ...
* ```
+ *
+ * @fires {CustomEvent} direction-changed - Fired when the `direction` property changes.
*/
class GridSortColumnElement extends GridColumnElement {
static get template() {
diff --git a/src/vaadin-grid-sorter.d.ts b/src/vaadin-grid-sorter.d.ts
index 3d82da508..12ffcf543 100644
--- a/src/vaadin-grid-sorter.d.ts
+++ b/src/vaadin-grid-sorter.d.ts
@@ -42,6 +42,9 @@ export interface GridSorterEventMap extends HTMLElementEventMap, GridSorterEleme
* Attribute | Description | Part name
* -------------|-------------|------------
* `direction` | Sort direction of a sorter | :host
+ *
+ * @fires {CustomEvent} direction-changed - Fired when the `direction` property changes.
+ * @fires {CustomEvent} sorter-changed - Fired when the `path` or `direction` property changes.
*/
declare class GridSorterElement extends HTMLElement {
/**
diff --git a/src/vaadin-grid-sorter.js b/src/vaadin-grid-sorter.js
index f40414f4b..8d3d1ef3b 100644
--- a/src/vaadin-grid-sorter.js
+++ b/src/vaadin-grid-sorter.js
@@ -52,6 +52,9 @@ document.head.appendChild($_documentContainer.content);
* -------------|-------------|------------
* `direction` | Sort direction of a sorter | :host
*
+ * @fires {CustomEvent} direction-changed - Fired when the `direction` property changes.
+ * @fires {CustomEvent} sorter-changed - Fired when the `path` or `direction` property changes.
+ *
* @extends HTMLElement
*/
class GridSorterElement extends ThemableMixin(DirMixin(PolymerElement)) {
diff --git a/src/vaadin-grid-tree-toggle.d.ts b/src/vaadin-grid-tree-toggle.d.ts
index 59ce838cc..c64f2d649 100644
--- a/src/vaadin-grid-tree-toggle.d.ts
+++ b/src/vaadin-grid-tree-toggle.d.ts
@@ -51,6 +51,8 @@ export interface GridTreeToggleEventMap extends HTMLElementEventMap, GridTreeTog
* Custom CSS property | Description | Default
* ---|---|---
* `--vaadin-grid-tree-toggle-level-offset` | Visual offset step for each tree sublevel | `1em`
+ *
+ * @fires {CustomEvent} expanded-changed - Fired when the `expanded` property changes.
*/
declare class GridTreeToggleElement extends ThemableMixin(HTMLElement) {
/**
diff --git a/src/vaadin-grid-tree-toggle.js b/src/vaadin-grid-tree-toggle.js
index 24fb50cce..e7d61abbe 100644
--- a/src/vaadin-grid-tree-toggle.js
+++ b/src/vaadin-grid-tree-toggle.js
@@ -64,6 +64,8 @@ document.head.appendChild($_documentContainer.content);
* ---|---|---
* `--vaadin-grid-tree-toggle-level-offset` | Visual offset step for each tree sublevel | `1em`
*
+ * @fires {CustomEvent} expanded-changed - Fired when the `expanded` property changes.
+ *
* @extends HTMLElement
* @mixes ThemableMixin
*/
diff --git a/src/vaadin-grid.d.ts b/src/vaadin-grid.d.ts
index 6ce37577d..7203655cb 100644
--- a/src/vaadin-grid.d.ts
+++ b/src/vaadin-grid.d.ts
@@ -329,6 +329,17 @@ export interface GridEventMap extends HTMLElementEventMap, GridElementEventMap {
* `drop-disabled` | Set to a row that can't be dropped on top of | row
*
* See [ThemableMixin – how to apply styles for shadow parts](https://github.com/vaadin/vaadin-themable-mixin/wiki)
+ *
+ * @fires {CustomEvent} active-item-changed - Fired when the `activeItem` property changes.
+ * @fires {CustomEvent} cell-activate - Fired when the cell is activated with click or keyboard.
+ * @fires {CustomEvent} column-reorder - Fired when the columns in the grid are reordered.
+ * @fires {CustomEvent} column-resize - Fired when the grid column resize is finished.
+ * @fires {CustomEvent} expanded-items-changed - Fired when the `expandedItems` property changes.
+ * @fires {CustomEvent} grid-dragstart - Fired when starting to drag grid rows.
+ * @fires {CustomEvent} grid-dragend - Fired when the dragging of the rows ends.
+ * @fires {CustomEvent} grid-drop - Fired when a drop occurs on top of the grid.
+ * @fires {CustomEvent} loading-changed - Fired when the `loading` property changes.
+ * @fires {CustomEvent} selected-items-changed - Fired when the `selectedItems` property changes.
*/
declare class GridElement extends ElementMixin(
ThemableMixin(
diff --git a/src/vaadin-grid.js b/src/vaadin-grid.js
index 4b3a069a1..87789f274 100644
--- a/src/vaadin-grid.js
+++ b/src/vaadin-grid.js
@@ -251,6 +251,17 @@ const TOUCH_DEVICE = (() => {
*
* See [ThemableMixin – how to apply styles for shadow parts](https://github.com/vaadin/vaadin-themable-mixin/wiki)
*
+ * @fires {CustomEvent} active-item-changed - Fired when the `activeItem` property changes.
+ * @fires {CustomEvent} cell-activate - Fired when the cell is activated with click or keyboard.
+ * @fires {CustomEvent} column-reorder - Fired when the columns in the grid are reordered.
+ * @fires {CustomEvent} column-resize - Fired when the grid column resize is finished.
+ * @fires {CustomEvent} expanded-items-changed - Fired when the `expandedItems` property changes.
+ * @fires {CustomEvent} grid-dragstart - Fired when starting to drag grid rows.
+ * @fires {CustomEvent} grid-dragend - Fired when the dragging of the rows ends.
+ * @fires {CustomEvent} grid-drop - Fired when a drop occurs on top of the grid.
+ * @fires {CustomEvent} loading-changed - Fired when the `loading` property changes.
+ * @fires {CustomEvent} selected-items-changed - Fired when the `selectedItems` property changes.
+ *
* @extends ScrollerElement
* @mixes ElementMixin
* @mixes ThemableMixin