import { __decorate } from "tslib";
import { attr, nullableNumberConverter } from '@ni/fast-element';
import { DesignSystem, Anchor as FoundationAnchor } from '@ni/fast-foundation';
import { AnchorBase } from '../anchor-base';
import { styles } from './styles';
import { template } from './template';
/**
 * A nimble-styled anchor
 */
export class Anchor extends AnchorBase {
    constructor() {
        super(...arguments);
        /**
         * @public
         * @remarks
         * HTML Attribute: underline-hidden
         */
        this.underlineHidden = false;
    }
}
__decorate([
    attr({ attribute: 'underline-hidden', mode: 'boolean' })
], Anchor.prototype, "underlineHidden", void 0);
__decorate([
    attr
], Anchor.prototype, "appearance", void 0);
__decorate([
    attr({ attribute: 'tabindex', converter: nullableNumberConverter })
], Anchor.prototype, "tabIndex", void 0);
__decorate([
    attr({ attribute: 'contenteditable' })
], Anchor.prototype, "contentEditable", void 0);
// FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.
const nimbleAnchor = Anchor.compose({
    baseName: 'anchor',
    baseClass: FoundationAnchor,
    template,
    styles,
    shadowOptions: {
        delegatesFocus: true
    }
});
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchor());
export const anchorTag = 'nimble-anchor';
//# sourceMappingURL=index.js.map