import type { BuiltInRendererDefinition, LongTextRendererOptions } from '../../types/built-in-renderer.types'; /** * A truncated cell that can open its full value in a panel. * * The column holding a ticket body, a shipping note or an audit comment: too * long for any sensible column width, but the whole of it still has to be * reachable without widening the column or opening an editor. * * ### The cell always holds the complete string * Truncation here is purely visual — an ellipsis or a line clamp, both CSS. The * text node carries the untruncated value, which is what lets the panel read * what to show straight out of the DOM instead of re-resolving the row and * re-running the column's `valueFormatter`. One source of truth, and no way for * the panel to disagree with the cell it came from. * * ### The toggle carries no listener * `GridCore` delegates one `pointerdown` handler on the grid root, the same way * the `button` renderer and the avatar group's counter are wired. A viewport of * a thousand long-text cells costs one listener rather than a thousand. * * `pointerdown` rather than `click` because a click requires press and release * on the same element, and a cell can be re-rendered, re-positioned or recycled * between the two — see the handler for the full reasoning. * * @packageDocumentation */ /** Marks the toggle so the grid's delegated click handler can find it. */ export declare const LONG_TEXT_TOGGLE_ATTR = "data-long-text"; /** Class on the element carrying the untruncated text. The panel reads from it. */ export declare const LONG_TEXT_TEXT_CLASS = "pg-long-text__text"; /** Class on the renderer's root, so the handler can scope its lookup to one cell. */ export declare const LONG_TEXT_VALUE_CLASS = "pg-cell__value--long-text"; /** * Long text, truncated in the cell and expandable into a panel. * * Not `textOnly`: the cell holds a button beside its text, and the Virtual * DOM's text patch writes `textContent`, which would destroy it. {@link patch} * covers the common update instead — see its note for the one case it refuses. */ export declare const longTextRenderer: BuiltInRendererDefinition; //# sourceMappingURL=long-text.d.ts.map