import { IEventEmitter } from '@breadstone/mosaik-elements'; import type { ITableSortChangedEventDetail } from '../../../events'; import type { SortDirection } from '../../../Types/SortDirection'; import { TableSelectionMode } from '../../../Types/TableSelectionMode'; import { TableSelectionType } from '../../../Types/TableSelectionType'; import { CustomElement } from '../../Abstracts/CustomElement'; import { ITableCellElementProps } from './ITableCellElementProps'; declare const TableCellElement_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Selectable").ISelectableProps & import("../../../Behaviors/Selectable").ISelectableEvents & import("../../../Behaviors/Selectable").ISelectable) & (abstract new (...args: Array) => import("../../../Behaviors/Disableable").IDisableableProps) & (abstract new (...args: Array) => import("../../../Behaviors/TextFormattable").ITextFormattableProps) & (abstract new (...args: Array) => import("../../../Behaviors/TextOverflowable").ITextOverflowableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor; /** * Table Cell - A single unit within a table's row and column layout. * * @element mosaik-table-cell * * @slot - The default slot. * * @csspart icon - The icon part. * * @cssprop {String} --table-cell-background-color - The cell background color CSS custom property. * @cssprop {String} --table-cell-border-color - The cell border color CSS custom property. * @cssprop {String} --table-cell-border-radius - The cell border radius CSS custom property. * @cssprop {String} --table-cell-border-width - The cell border width CSS custom property. * @cssprop {String} --table-cell-font-family - The cell font family CSS custom property. * @cssprop {String} --table-cell-font-letter-spacing - The cell font letter spacing CSS custom property. * @cssprop {String} --table-cell-font-line-height - The cell font line height CSS custom property. * @cssprop {String} --table-cell-font-size - The cell font size CSS custom property. * @cssprop {String} --table-cell-font-text-decoration - The cell font text decoration CSS custom property. * @cssprop {String} --table-cell-font-text-transform - The cell font text transform CSS custom property. * @cssprop {String} --table-cell-font-weight - The cell font weight CSS custom property. * @cssprop {String} --table-cell-foreground-color - The cell foreground color CSS custom property. * @cssprop {String} --table-cell-gap - The cell gap CSS custom property. * @cssprop {String} --table-cell-padding-bottom - The cell padding bottom CSS custom property. * @cssprop {String} --table-cell-padding-left - The cell padding left CSS custom property. * @cssprop {String} --table-cell-padding-right - The cell padding right CSS custom property. * @cssprop {String} --table-cell-padding-top - The cell padding top CSS custom property. * @cssprop {String} --table-cell-shadow - The cell shadow CSS custom property. * @cssprop {String} --table-cell-shadow-blur - The cell shadow blur CSS custom property. * @cssprop {String} --table-cell-shadow-color - The cell shadow color CSS custom property. * @cssprop {String} --table-cell-shadow-offset-x - The cell shadow offset x CSS custom property. * @cssprop {String} --table-cell-shadow-offset-y - The cell shadow offset y CSS custom property. * @cssprop {String} --table-cell-shadow-spread - The cell shadow spread CSS custom property. * @cssprop {String} --table-cell-transition-duration - The cell transition duration CSS custom property. * @cssprop {String} --table-cell-transition-mode - The cell transition mode CSS custom property. * @cssprop {String} --table-cell-transition-property - The cell transition property CSS custom property. * @cssprop {String} --table-cell-translate - The cell translate CSS custom property. * * @fires tableSortChanged {TableSortChangedEvent} - Fired when the sort direction of the cell has changed. * @fires selected {SelectedEvent} - Fired when the cell is selected. * @fires deselected {DeselectedEvent} - Fired when the cell is deselected. * * @dependency mosaik-icon - The Icon element. * @dependency mosaik-text - The Text element. * * @example * Basic table cell with text: * ```html * * ``` * * @example * Sortable header cell: * ```html * * ``` * * @public */ export declare class TableCellElement extends TableCellElement_base implements ITableCellElementProps { private readonly _inheritance; private readonly _tableSortChanged; private _key; private _sorted; private _sortable; private _sortDirection; private _text; private _clickSubscription; private _selectionClickSubscription; private _table; /** * @public */ constructor(); /** * Returns the `is` property. * * @public * @static * @readonly */ static get is(): string; /** * Gets or sets the `key` property. * * @public * @attr */ get key(): string; set key(value: string); /** * Gets or sets the `sortable` property. * * @public * @attr */ get sortable(): boolean; set sortable(value: boolean); /** * Gets or sets the `text` property. * * @public * @attr */ get text(): string; set text(value: string); /** * Gets or sets the `sortDirection` property. * * @public * @attr */ get sortDirection(): SortDirection | 'none'; set sortDirection(value: SortDirection | 'none'); /** * Called when the sort direction changes. * Provides reference to `ITableSortChangedEventDetail` as event argument. * * @public * @readonly * @eventProperty * @type IEventEmitter */ get tableSortChanged(): IEventEmitter; /** * Sorts the cell in the specified direction. * * @public */ sort(direction: SortDirection | 'none'): void; /** * Unsorts the cell. * * @public */ unsort(): void; /** * @public * @override */ attributeChangedCallback(name: keyof TableCellElement, oldValue: string, newValue: string): void; /** * @public * @override */ disconnectedCallback(): void; /** * @protected * @override */ protected onApplyTemplate(): void; /** * @protected */ protected onSelectionModePropertyChanged(_prev: TableSelectionMode, _next: TableSelectionMode): void; /** * @protected */ protected onSelectionTypePropertyChanged(_prev: TableSelectionType, _next: TableSelectionType): void; /** * Sets up or tears down the click handler based on the inherited selection config. * * @private */ private updateSelectionClickHandler; /** * Handles click events for cell selection. * * @private */ private handleCellClick; /** * Handles click events for row selection. * * @private */ private handleSort; } /** * @public */ export declare namespace TableCellElement { type Props = ITableCellElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-table-cell': TableCellElement; } } export {}; //# sourceMappingURL=TableCellElement.d.ts.map