/**
 * @license
 * Copyright Google LLC All Rights Reserved.
 *
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file at https://angular.io/license
 */
import { Directive, Input } from '@angular/core';
import { CdkCell, CdkCellDef, CdkColumnDef, CdkFooterCell, CdkFooterCellDef, CdkHeaderCell, CdkHeaderCellDef, } from '@angular/cdk/table';
/**
 * Cell definition for the r-table.
 * Captures the template of a column's data row cell as well as cell-specific properties.
 */
export class RCellDef extends CdkCellDef {
}
RCellDef.decorators = [
    { type: Directive, args: [{
                selector: '[rCellDef]',
                providers: [{ provide: CdkCellDef, useExisting: RCellDef }]
            },] }
];
/**
 * Header cell definition for the r-table.
 * Captures the template of a column's header cell and as well as cell-specific properties.
 */
export class RHeaderCellDef extends CdkHeaderCellDef {
}
RHeaderCellDef.decorators = [
    { type: Directive, args: [{
                selector: '[rHeaderCellDef]',
                providers: [{ provide: CdkHeaderCellDef, useExisting: RHeaderCellDef }]
            },] }
];
/**
 * Footer cell definition for the r-table.
 * Captures the template of a column's footer cell and as well as cell-specific properties.
 */
export class RFooterCellDef extends CdkFooterCellDef {
}
RFooterCellDef.decorators = [
    { type: Directive, args: [{
                selector: '[rFooterCellDef]',
                providers: [{ provide: CdkFooterCellDef, useExisting: RFooterCellDef }]
            },] }
];
/**
 * Column definition for the r-table.
 * Defines a set of cells available for a table column.
 */
export class RColumnDef extends CdkColumnDef {
    /** Unique name for this column. */
    get name() { return this._name; }
    set name(name) { this._setNameInput(name); }
    /**
     * Add "r-column-" prefix in addition to "cdk-column-" prefix.
     * In the future, this will only add "r-column-" and columnCssClassName
     * will change from type string[] to string.
     * @docs-private
     */
    _updateColumnCssClassName() {
        super._updateColumnCssClassName();
        this._columnCssClassName.push(`r-column-${this.cssClassFriendlyName}`);
    }
}
RColumnDef.decorators = [
    { type: Directive, args: [{
                selector: '[rColumnDef]',
                inputs: ['sticky'],
                providers: [
                    { provide: CdkColumnDef, useExisting: RColumnDef },
                    { provide: 'R_SORT_HEADER_COLUMN_DEF', useExisting: RColumnDef }
                ],
            },] }
];
RColumnDef.propDecorators = {
    name: [{ type: Input, args: ['rColumnDef',] }]
};
/** Header cell template container that adds the right classes and role. */
export class RHeaderCell extends CdkHeaderCell {
}
RHeaderCell.decorators = [
    { type: Directive, args: [{
                selector: 'r-header-cell, th[r-header-cell]',
                host: {
                    'class': 'r-header-cell',
                    'role': 'columnheader',
                },
            },] }
];
/** Footer cell template container that adds the right classes and role. */
export class RFooterCell extends CdkFooterCell {
}
RFooterCell.decorators = [
    { type: Directive, args: [{
                selector: 'r-footer-cell, td[r-footer-cell]',
                host: {
                    'class': 'r-footer-cell',
                    'role': 'gridcell',
                },
            },] }
];
/** Cell template container that adds the right classes and role. */
export class RCell extends CdkCell {
}
RCell.decorators = [
    { type: Directive, args: [{
                selector: 'r-cell, td[r-cell]',
                host: {
                    'class': 'r-cell',
                    'role': 'gridcell',
                },
            },] }
];
//# sourceMappingURL=cell.js.map