var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { LitElement, property } from '../../../external/lit/index.js';
import { UmbElementMixin } from '../../../libs/element-api/index.js';
/**
 * The base class for all Umbraco LitElement elements.
 * @abstract
 * @remarks This class is a wrapper around the LitElement class.
 * @remarks The `dir` and `lang` properties are defined here as reactive properties so they react to language changes.
 */
export class UmbLitElement extends UmbElementMixin(LitElement) {
    constructor() {
        super(...arguments);
        /**
         * The direction of the element.
         * @attr
         * @remarks This is the direction of the element, not the direction of the backoffice.
         * @example 'ltr'
         * @example 'rtl'
         */
        this.dir = '';
        /**
         * The language of the element.
         * @attr
         * @remarks This is the language of the element, not the language of the backoffice.
         * @example 'en-us'
         * @example 'en'
         */
        this.lang = '';
    }
}
__decorate([
    property()
], UmbLitElement.prototype, "dir", void 0);
__decorate([
    property()
], UmbLitElement.prototype, "lang", void 0);
