import type { DragRef, DropListRef } from '../../../../DragDrop'; import { CustomElement } from '../../Abstracts/CustomElement'; import { FlowBoardColumnItemElement } from './FlowBoardColumnItemElement'; import { IFlowBoardColumnElementProps } from './IFlowBoardColumnElementProps'; declare const FlowBoardColumnElement_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Slottable").ISlottableProps & import("../../../Behaviors/Slottable").ISlottable) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor; /** * FlowBoardColumn - A column in a FlowBoard. * * Represents a single column in a FlowBoard, containing items and optional header/footer. * Supports reordering, pinning, and empty state rendering. * * @name FlowBoardColumnElement * @element mosaik-flow-board-column * @category Layouts * * @slot - Default slot for FlowBoardColumnItem elements * @slot actions - Action buttons for the column * @slot empty - Content to show when the column has no items * @slot footer - Footer content (usually contains a composer) * @slot meta - Metadata content (badges, counts, KPIs) * @slot title - The title content of the column header * * @csspart actions - The actions wrapper * @csspart body - The main body containing items * @csspart container - The main container element * @csspart empty - The empty state container * @csspart footer - The footer section * @csspart header - The column header section * @csspart meta - The meta information wrapper * @csspart title - The title wrapper * * @cssprop {Color} --flow-board-column-background-color - Background color of the column * @cssprop {String} --flow-board-column-body-padding - The board column body padding CSS custom property. * @cssprop {String} --flow-board-column-border-radius - Border radius of the column * @cssprop {String} --flow-board-column-font-family - The board column font family CSS custom property. * @cssprop {String} --flow-board-column-font-letter-spacing - The board column font letter spacing CSS custom property. * @cssprop {String} --flow-board-column-font-line-height - The board column font line height CSS custom property. * @cssprop {String} --flow-board-column-font-size - The board column font size CSS custom property. * @cssprop {String} --flow-board-column-font-text-decoration - The board column font text decoration CSS custom property. * @cssprop {String} --flow-board-column-font-text-transform - The board column font text transform CSS custom property. * @cssprop {String} --flow-board-column-font-weight - The board column font weight CSS custom property. * @cssprop {String} --flow-board-column-footer-padding - The board column footer padding CSS custom property. * @cssprop {String} --flow-board-column-gap - Gap between items * @cssprop {String} --flow-board-column-header-background-color - The board column header background color CSS custom property. * @cssprop {String} --flow-board-column-header-padding - The board column header padding CSS custom property. * @cssprop {String} --flow-board-column-max-width - Maximum width of the column * @cssprop {String} --flow-board-column-min-width - Minimum width of the column * @cssprop {String} --flow-board-column-padding - Internal padding * @cssprop {String} --flow-board-column-padding-bottom - The board column padding bottom CSS custom property. * @cssprop {String} --flow-board-column-padding-left - The board column padding left CSS custom property. * @cssprop {String} --flow-board-column-padding-right - The board column padding right CSS custom property. * @cssprop {String} --flow-board-column-padding-top - The board column padding top CSS custom property. * @cssprop {String} --flow-board-column-shadow - The board column shadow CSS custom property. * @cssprop {String} --flow-board-column-shadow-blur - The board column shadow blur CSS custom property. * @cssprop {String} --flow-board-column-shadow-color - The board column shadow color CSS custom property. * @cssprop {String} --flow-board-column-shadow-offset-x - The board column shadow offset x CSS custom property. * @cssprop {String} --flow-board-column-shadow-offset-y - The board column shadow offset y CSS custom property. * @cssprop {String} --flow-board-column-shadow-spread - The board column shadow spread CSS custom property. * @cssprop {String} --flow-board-column-transition-duration - The board column transition duration CSS custom property. * @cssprop {String} --flow-board-column-transition-mode - The board column transition mode CSS custom property. * @cssprop {String} --flow-board-column-transition-property - The board column transition property CSS custom property. * @cssprop {String} --flow-board-column-translate - The board column translate CSS custom property. * * @fires flowBoardBeforeColumnPinChange {FlowBoardBeforeColumnPinChangeEvent} - Fired before pin state changes * @fires flowBoardColumnPinChange {FlowBoardColumnPinChangeEvent} - Fired when pin state changes * * @example * ```html * *
To Do
* * Task 1 * * * Task 2 * * *
* ``` * * @public */ export declare class FlowBoardColumnElement extends FlowBoardColumnElement_base implements IFlowBoardColumnElementProps { private _columnKey; private _reorderable; private _pinned; private _hasItems; private readonly _flowBoardBeforeColumnPinChange; private readonly _flowBoardColumnPinChange; private readonly _slotController; private readonly _inheritance; private readonly _provider; private readonly _dragCtrl; private readonly _itemDropList; /** * Constructs a new instance of the `FlowBoardColumnElement` class. * * @public */ constructor(); /** * Returns the `is` property. * * @public * @static * @readonly */ static get is(): string; /** * Gets or sets the unique key for the column. * If not provided, a key will be generated on connect. * * @public * @attr column-key */ get columnKey(): string; set columnKey(value: string); /** * Gets or sets whether the column can be reordered. * Column can only be dragged if this is true, board has dragdrop, and column is not pinned. * * @public * @attr */ get reorderable(): boolean; set reorderable(value: boolean); /** * Gets or sets whether the column is pinned (fixed position). * Pinned columns cannot be dragged and their index is preserved during reordering. * * @public * @attr */ get pinned(): boolean; set pinned(value: boolean); /** * Whether the column has any items in the default slot. * * @public * @readonly */ get hasItems(): boolean; /** * Whether drag and drop is enabled from the parent board. * * @public * @readonly */ get isDragEnabled(): boolean; /** * Whether the column can currently be dragged. * Returns true only if reorderable, not pinned, and drag is enabled on the board. * * @public * @readonly */ get canDrag(): boolean; /** * @public * @override */ connectedCallback(): void; /** * Gets all item elements in this column. * * @public * @returns Array of FlowBoardColumnItemElement. */ getItems(): Array; /** * Returns this column's DragRef for registration with a parent DropList. * * @public * @returns The DragRef or null. */ getDragRef(): DragRef | null; /** * Returns this column's item DropListRef for cross-column connectivity. * * @public * @returns The DropListRef or null. */ getDropListRef(): DropListRef | null; /** * Discovers item DragRefs and registers them with this column's DropList. * Should be called after slot changes when items are added/removed. * * @public */ syncItemDragRefs(): void; /** * Gets the pinned items in this column. * * @public * @returns Array of pinned FlowBoardColumnItemElement. */ getPinnedItems(): Array; /** * Gets the non-pinned items in this column. * * @public * @returns Array of non-pinned FlowBoardColumnItemElement. */ getNonPinnedItems(): Array; /** * Sets the pinned state with event support. * * @public * @param pinned The new pinned state. */ setPinned(pinned: boolean): void; protected onPinnedChanged(_prev: boolean, _next: boolean): void; private updateHasItems; } /** * @public */ export declare namespace FlowBoardColumnElement { type Props = IFlowBoardColumnElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-flow-board-column': FlowBoardColumnElement; } } export {}; //# sourceMappingURL=FlowBoardColumnElement.d.ts.map