UNPKG

@digital-realty/grid

Version:

A free, flexible and high-quality Web Component for showing large amounts of tabular data

51 lines (46 loc) 1.74 kB
/** * @license * Copyright (c) 2016 - 2025 Vaadin Ltd. * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/ */ import type { GridDefaultItem } from './vaadin-grid.js'; import type { GridColumnGroupMixin } from './vaadin-grid-column-group-mixin.js'; export * from './vaadin-grid-column-group-mixin.js'; /** * A `<vaadin-grid-column-group>` is used to make groups of columns in `<vaadin-grid>` and * to configure additional headers and footers. * * Groups can be nested to create complex header and footer configurations. * * #### Example: * ```html * <vaadin-grid-column-group resizable id="columnGroup"> * <vaadin-grid-column id="column1"></vaadin-grid-column> * <vaadin-grid-column id="column2"></vaadin-grid-column> * </vaadin-grid-column-group> * ``` * * ```js * const columnGroup = document.querySelector('#columnGroup'); * columnGroup.headerRenderer = (root, columnGroup) => { * root.textContent = 'header'; * } * * const column1 = document.querySelector('#column1'); * column1.headerRenderer = (root, column) => { ... }; * column1.renderer = (root, column, model) => { ... }; * * const column2 = document.querySelector('#column2'); * column2.headerRenderer = (root, column) => { ... }; * column2.renderer = (root, column, model) => { ... }; * ``` */ declare class GridColumnGroup extends HTMLElement {} // eslint-disable-next-line @typescript-eslint/no-empty-object-type interface GridColumnGroup<TItem = GridDefaultItem> extends GridColumnGroupMixin<TItem, GridColumnGroup<TItem>> {} declare global { interface HTMLElementTagNameMap { 'vaadin-grid-column-group': GridColumnGroup<GridDefaultItem>; } } export { GridColumnGroup };