////
///
/// Table Classes
/// ===========================================================================
///
/// @group Classes.BodyMolecules.Table
/// @author Scape Agency
/// @link https://scape.style
/// @since 0.1.0 initial release
/// @access public
///
////

@use "../../../mixins/body_molecules/table/table" as *;

// ============================================================================
// Table Classes
// ============================================================================

/// Small table size
.table--sm {
    @include table--size--sm;
}

/// Large table size
.table--lg {
    @include table--size--lg;
}

/// Table header cell
.table__th {
    @include table__cell__header;
}

/// Table body cell
.table__td {
    @include table__cell__body;
}

/// Table footer cell
.table__tf {
    @include table__cell__footer;
}

/// Table caption top
.table__caption--top {
    @include table__caption--top;
}

/// Table caption bottom
.table__caption--bottom {
    @include table__caption--bottom;
}

/// Cell size variants
.table__cell--sm {
    @include table__cell--size__sm;
}

.table__cell--md {
    @include table__cell--size__md;
}

.table__cell--lg {
    @include table__cell--size__lg;
}

// ============================================================================
// Utility Classes (extracted from mixin file)
// ============================================================================

// Table size utility classes
.table--size--sm {
    @include table--size--sm;
}

.table--size--lg {
    @include table--size--lg;
}

// Caption utility classes
table.caption-top {
    @include table__caption--top--styled;
}
table.caption-bottom {
    @include table__caption--bottom--styled;
}

// Base table utility classes
.table--base {
    @include table--base;
}

.table--lined--all {
    @include table--lined--all;
}

.table--lined--horizontal {
    @include table--lined--horizontal;
}

.table--lined--vertical {
    @include table--lined--vertical;
}

.table--striped--horizontal {
    @include table--striped--horizontal;
}

.table--striped--vertical {
    @include table--striped--vertical;
}

// Default table element styling
table {
    @include table--base;
}

// Collapsible table utility class
.collapsible_table {
    @include collapsible_table--base;
}

// Data table utility class
.data_table {
    @include data_table--base;
}
