import { BootstrapElement, type Variant } from '@bootstrap-wc/core'; export type TableSize = 'sm'; /** * Responsive breakpoint values. The empty string (presence-only attribute, * e.g. ``) means "always wrap" (`.table-responsive`). * A breakpoint name wraps only below that breakpoint * (`.table-responsive-{bp}`). */ export type TableResponsive = '' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl'; /** * `` — Bootstrap table styling wrapper. * * Because the HTML parser drops `` / `` / `` outside a * `` ancestor (HTML5 spec: "in body" mode ignores those start tags), * authors must nest a real `
` inside ``. The component * applies `.table` + all the configured modifier classes to that inner * table, and (when `responsive` is set) gives the host the * `.table-responsive[-{bp}]` class so the table scrolls horizontally * inside it. * * ```html * *
* * * * * * *
#Name
1Mark
*
* ``` * * Light-DOM render — Bootstrap's table CSS lives in the document scope and * applies directly to the inner `` and the host. * * @csspart table - The inner `
` element after class management. */ export declare class BsTable extends BootstrapElement { /** Contextual color variant for the whole table (`primary`, `dark`, …). */ variant?: Variant; /** Zebra-striped rows (`.table-striped`). */ striped: boolean; /** Striped columns (`.table-striped-columns`). */ stripedColumns: boolean; /** Borders on the table and every cell (`.table-bordered`). */ bordered: boolean; /** Strip all borders (`.table-borderless`). */ borderless: boolean; /** * Color the border via `border-{variant}` — typically paired with * `bordered`. e.g. ``. */ borderVariant?: Variant; /** Hoverable rows (`.table-hover`). */ hover: boolean; /** Compact (`.table-sm`). */ size?: TableSize; /** * Wrap in a horizontally-scrollable container. * - presence-only (``) → `.table-responsive` (always) * - `responsive="sm"` … `"xxl"` → `.table-responsive-{bp}` (below bp) */ responsive?: TableResponsive; /** Move the caption to the top of the table (`.caption-top`). */ captionTop: boolean; /** * Add `.table-group-divider` to the inner `` for a thicker * divider between header and body — Bootstrap's recommended pattern * for separating the head from the body. */ groupDivider: boolean; private _observer?; /** Render into light DOM — the inner `
` is authored by the user * and we just apply CSS classes; no shadow tree needed. */ protected createRenderRoot(): HTMLElement; protected hostClasses(): string; connectedCallback(): void; disconnectedCallback(): void; updated(changed: Map): void; /** Resolve `.table` + modifier classes on the inner `
` and * `.table-group-divider` on its ``. Idempotent — safe to call * on every render and on every mutation. */ private _applyTableClasses; /** Manage a prefix-N class group (e.g. `table-*`) so changing the * variant strips the previous value before adding the new one. */ private _toggleVariantClass; private _isColorVariant; render(): symbol; } declare global { interface HTMLElementTagNameMap { 'bs-table': BsTable; } } //# sourceMappingURL=table.d.ts.map