// Generated by dts-bundle-generator v7.2.0 import React from 'react'; import { HTMLAttributes, ReactNode } from 'react'; export interface Conditions { xs?: T; md?: T; lg?: T; xl?: T; xxl?: T; } declare const propertiesTable: { backgroundColor: { transparent: string; "neutral-background": `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`; "neutral-surface": `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`; "neutral-surfaceHighlight": `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`; "primary-surface": `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`; "primary-surfaceHighlight": `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`; }; padding: { base: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`; small: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`; none: string; }; }; declare const propertiesWrapper: { borderRadius: { none: string; "2": `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`; }; }; export type TablePaddingProperties = keyof typeof propertiesTable.padding; export type TableRowBackgroundColorProperties = keyof typeof propertiesTable.backgroundColor; export type TableBorderRadiusProperties = keyof typeof propertiesWrapper.borderRadius; export interface TableConditions extends Conditions { rest?: T; focus?: T; active?: T; hover?: T; } export interface TableSprinkle { /** * The width property specifies the width of a table's content area. */ width?: string | TableConditions; /** * The maxWidth property specifies the maxWidth of a table's content area. */ maxWidth?: string | TableConditions; /** * The minWidth property specifies the minWidth of a table's content area. */ minWidth?: string | TableConditions; /** * The backgroundColor property sets the background color of the table. */ backgroundColor?: TableRowBackgroundColorProperties | TableConditions; /** * The padding properties are used to generate space around an table's content area. */ padding?: TablePaddingProperties | TableConditions; } export interface TableWrapperSprinkle { /** * Controls the border radius of the table wrapper. * Use "none" for no border radius or "2" for the default token value. * @default "2" */ borderRadius?: TableBorderRadiusProperties; } export interface TableBodyProperties { /** * The content of the table body. * @TJS-type React.ReactNode */ children: ReactNode; } export type TableBodyProps = TableBodyProperties & HTMLAttributes; export declare const TableBody: React.FC; export interface TableCellProperties extends TableSprinkle { /** * The content of the table cell. * @TJS-type React.ReactNode */ children: ReactNode; /** * Type of html tag to create for the table cell. * @default td */ as?: "td" | "th"; /** * Column index (0-based) to apply minWidth constraint from the Table's columnLayout. * When provided, the cell will inherit minWidth from the corresponding column definition. */ column?: number; } export type TableCellProps = TableCellProperties & HTMLAttributes; export declare const TableCell: React.FC; export interface TableHeadProperties { /** * The content of the table head. * @TJS-type React.ReactNode */ children: ReactNode; } export type TableHeadProps = TableHeadProperties & HTMLAttributes; export declare const TableHead: React.FC; export interface TableRowProperties extends TableSprinkle { /** * The content of the table row. * @TJS-type React.ReactNode */ children: ReactNode; /** * The ID of the table row. */ id?: string; /** * Function to be passed when clicking on the table row. * @TJS-type () => void; */ onClick?: () => void; } export type TableRowProps = TableRowProperties & HTMLAttributes; export declare const TableRow: React.FC; export interface TableComponents { Body: typeof TableBody; Cell: typeof TableCell; Head: typeof TableHead; Row: typeof TableRow; } export interface TableColumnLayout { /** * Unique identifier for the column. */ id: string; /** * Fixed width applied to the column. Accepts any valid CSS width value in pixels. */ width?: string; /** * Growth factor that distributes remaining space among columns without a fixed width. * Must be a positive number greater than 0. */ grow?: number; /** * Minimum width constraint for the column. The column will not shrink below this value. * Only applies when using `grow`. Accepts any valid CSS width value in pixels. */ minWidth?: string; /** * Determines which side the column will be fixed (sticky) to during horizontal scrolling. * Fixed columns use CSS `position: sticky` and stay visible on the specified side. * Only contiguous columns can be fixed (i.e. no 'normal' columns between fixed columns on the same side). * Requires a defined `width` to calculate proper offsets. * - 'left': Column sticks to the left side of the table * - 'right': Column sticks to the right side of the table */ fixed?: "left" | "right"; } export interface TableProperties extends TableWrapperSprinkle { /** * The content of the table. * @TJS-type React.ReactNode */ children: ReactNode; /** * Column sizing definitions applied from left to right. Use `width` for fixed columns and `grow` to distribute the remaining space proportionally. */ columnLayout?: TableColumnLayout[]; /** * Minimum width of the table. When the container is smaller, horizontal scrolling is enabled. * Accepts any valid CSS width value (e.g., "600px", "50rem"). */ minWidth?: string; /** * Maximum width of the table. The table will not exceed this width. * Accepts any valid CSS width value (e.g., "1200px", "80rem"). */ maxWidth?: string; /** * Shows a sticky scrollbar at the bottom of the viewport when the table overflows horizontally. * The scrollbar stays visible while scrolling vertically, making it easier to navigate wide tables. * @default false */ stickyScrollbar?: boolean; } export type TableProps = TableProperties & HTMLAttributes; export declare const Table: React.FC & TableComponents; export {};