// #region Imports
import { ElementIntlBase } from '../../../../../Intl/Abstracts/ElementIntlBase';
// #endregion
/**
 * The `TableElementIntl` class.
 *
 * @public
 */
export class TableElementIntl extends ElementIntlBase {
    // #region Fields
    _sortAscendingLabel;
    _sortDescendingLabel;
    _clearSortingLabel;
    _pinColumnsLabel;
    _noPinLabel;
    _pinLeftLabel;
    _pinRightLabel;
    _autoSizeColumnLabel;
    _chooseColumnsLabel;
    _hideColumnLabel;
    _searchPlaceholder;
    _allColumnsHiddenLabel;
    _allColumnsHiddenSubLabel;
    // #endregion
    // #region Ctor
    /**
     * Constructs a new instance of the `TableElementIntl` class.
     *
     * @public
     */
    constructor() {
        super();
        this._sortAscendingLabel = 'Sort ascending';
        this._sortDescendingLabel = 'Sort descending';
        this._clearSortingLabel = 'Clear sorting';
        this._pinColumnsLabel = 'Pin columns';
        this._noPinLabel = 'No Pin';
        this._pinLeftLabel = 'Pin Left';
        this._pinRightLabel = 'Pin Right';
        this._autoSizeColumnLabel = 'Auto size column';
        this._chooseColumnsLabel = 'Choose Columns';
        this._hideColumnLabel = 'Hide column';
        this._searchPlaceholder = 'Search...';
        this._allColumnsHiddenLabel = 'No columns are visible';
        this._allColumnsHiddenSubLabel = 'Choose Columns to select which columns to display';
    }
    // #endregion
    // #region Properties
    /**
     * A label for sorting in ascending order.
     * Gets or sets the `sortAscendingLabel` property.
     *
     * @public
     */
    get sortAscendingLabel() {
        return this._sortAscendingLabel;
    }
    set sortAscendingLabel(value) {
        this._sortAscendingLabel = value;
    }
    /**
     * A label for sorting in descending order.
     * Gets or sets the `sortDescendingLabel` property.
     *
     * @public
     */
    get sortDescendingLabel() {
        return this._sortDescendingLabel;
    }
    set sortDescendingLabel(value) {
        this._sortDescendingLabel = value;
    }
    /**
     * A label for clearing sorting.
     * Gets or sets the `clearSortingLabel` property.
     *
     * @public
     */
    get clearSortingLabel() {
        return this._clearSortingLabel;
    }
    set clearSortingLabel(value) {
        this._clearSortingLabel = value;
    }
    /**
     * A label for pinning columns.
     * Gets or sets the `pinColumnsLabel` property.
     *
     * @public
     */
    get pinColumnsLabel() {
        return this._pinColumnsLabel;
    }
    set pinColumnsLabel(value) {
        this._pinColumnsLabel = value;
    }
    /**
     * A label for no pin.
     * Gets or sets the `noPinLabel` property.
     *
     * @public
     */
    get noPinLabel() {
        return this._noPinLabel;
    }
    set noPinLabel(value) {
        this._noPinLabel = value;
    }
    /**
     * A label for pinning columns to the left.
     * Gets or sets the `pinLeftLabel` property.
     *
     * @public
     */
    get pinLeftLabel() {
        return this._pinLeftLabel;
    }
    set pinLeftLabel(value) {
        this._pinLeftLabel = value;
    }
    /**
     * A label for pinning columns to the right.
     * Gets or sets the `pinRightLabel` property.
     *
     * @public
     */
    get pinRightLabel() {
        return this._pinRightLabel;
    }
    set pinRightLabel(value) {
        this._pinRightLabel = value;
    }
    /**
     * A label for auto-sizing columns.
     * Gets or sets the `autoSizeColumnLabel` property.
     *
     * @public
     */
    get autoSizeColumnLabel() {
        return this._autoSizeColumnLabel;
    }
    set autoSizeColumnLabel(value) {
        this._autoSizeColumnLabel = value;
    }
    /**
     * A label for choosing columns.
     * Gets or sets the `chooseColumnsLabel` property.
     *
     * @public
     */
    get chooseColumnsLabel() {
        return this._chooseColumnsLabel;
    }
    set chooseColumnsLabel(value) {
        this._chooseColumnsLabel = value;
    }
    /**
     * A label for hiding a column.
     * Gets or sets the `hideColumnLabel` property.
     *
     * @public
     */
    get hideColumnLabel() {
        return this._hideColumnLabel;
    }
    set hideColumnLabel(value) {
        this._hideColumnLabel = value;
    }
    /**
     * A placeholder text for the column search input.
     * Gets or sets the `searchPlaceholder` property.
     *
     * @public
     */
    get searchPlaceholder() {
        return this._searchPlaceholder;
    }
    set searchPlaceholder(value) {
        this._searchPlaceholder = value;
    }
    /**
     * A label shown when all columns are hidden.
     * Gets or sets the `allColumnsHiddenLabel` property.
     *
     * @public
     */
    get allColumnsHiddenLabel() {
        return this._allColumnsHiddenLabel;
    }
    set allColumnsHiddenLabel(value) {
        this._allColumnsHiddenLabel = value;
    }
    /**
     * A sub-label shown when all columns are hidden.
     * Gets or sets the `allColumnsHiddenSubLabel` property.
     *
     * @public
     */
    get allColumnsHiddenSubLabel() {
        return this._allColumnsHiddenSubLabel;
    }
    set allColumnsHiddenSubLabel(value) {
        this._allColumnsHiddenSubLabel = value;
    }
}
//# sourceMappingURL=TableElementIntl.js.map