import { __esDecorate, __runInitializers } from "tslib";
import { customElement } from 'lit/decorators.js';
import Element from './internals/focus-ring.js';
import styles from './internals/focus-ring.styles.js';
/**
 * A focus ring component that provides a visible focus indicator.
 *
 * This component replaces the Material Design `md-focus-ring` component
 * and provides the same functionality with customizable styling.
 *
 * @example
 * ```html
 * <!-- Basic usage -->
 * <ui-focus-ring></ui-focus-ring>
 *
 * <!-- With specific control -->
 * <ui-focus-ring .control="${buttonElement}"></ui-focus-ring>
 *
 * <!-- Using for attribute -->
 * <ui-focus-ring for="my-button"></ui-focus-ring>
 *
 * <!-- Inward focus ring -->
 * <ui-focus-ring inward></ui-focus-ring>
 * ```
 *
 * @cssprop --ui-focus-ring-color - The color of the focus ring border.
 * @cssprop --ui-focus-ring-width - The width of the focus ring border.
 * @cssprop --ui-focus-ring-style - The style of the focus ring border (solid, dashed, etc.).
 * @cssprop --ui-focus-ring-shape-start-start - The start-start corner radius.
 * @cssprop --ui-focus-ring-shape-start-end - The start-end corner radius.
 * @cssprop --ui-focus-ring-shape-end-end - The end-end corner radius.
 * @cssprop --ui-focus-ring-shape-end-start - The end-start corner radius.
 *
 * @csspart focus-ring - The focus ring element.
 */
let UiFocusRingElement = (() => {
    let _classDecorators = [customElement('ui-focus-ring')];
    let _classDescriptor;
    let _classExtraInitializers = [];
    let _classThis;
    let _classSuper = Element;
    var UiFocusRingElement = class extends _classSuper {
        static { _classThis = this; }
        static {
            const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
            __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
            UiFocusRingElement = _classThis = _classDescriptor.value;
            if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
        }
        static styles = [styles];
        static {
            __runInitializers(_classThis, _classExtraInitializers);
        }
    };
    return UiFocusRingElement = _classThis;
})();
export { UiFocusRingElement };
//# sourceMappingURL=ui-focus-ring.js.map