import { ButtonVariantProps } from '@sixbell-telco/sdk/components/button'; /** * Configuration for a single data-table action. */ export interface DataTableActionConfig { /** Unique identifier for the action. */ id: string; /** SVG icon string (from ng-icons). */ icon?: string; /** Display label (supports i18n translation keys, used in dropdown mode). */ label?: string; /** Tooltip text for inline mode (supports i18n translation keys). */ tooltip?: string; /** Button variant style. */ variant?: ButtonVariantProps; /** Whether the action is disabled. */ disabled?: boolean; } /** * Rendering mode for data-table actions. * - `inline`: Renders action buttons in a row (default). * - `dropdown`: Renders a kebab menu (3-dot) that opens a dropdown with action items. */ export type DataTableActionsMode = 'inline' | 'dropdown'; /** * Size options for data-table actions. */ export type DataTableActionsSizeProps = 'xs' | 'sm' | 'md' | 'lg' | 'xl'; /** * Event emitted when a data-table action is triggered. * Bundles the action config and the row data together. */ export interface DataTableActionEvent { /** The action that was triggered. */ action: DataTableActionConfig; /** The row data associated with the action. */ row: T; }