@scania/tegel
Version:
Tegel Design System
46 lines (40 loc) • 2.34 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
const index = require('./index-ca8040ad.js');
const linkCss = ":host{display:inline}:host ::slotted(*){all:unset;cursor:pointer;outline:none;color:var(--tds-link);text-decoration:underline}:host ::slotted(*:focus-visible){color:var(--tds-link-focus);text-decoration:none;outline:2px solid var(--tds-link-focus);outline-offset:-2px}:host ::slotted(*:active){color:var(--tds-link);text-decoration:underline;text-decoration-color:var(--tds-link)}:host ::slotted(*:hover){color:var(--tds-link-hover);text-decoration:underline;text-decoration-color:var(--tds-link-hover)}:host ::slotted(*:visited){color:var(--tds-link-visited);text-decoration-color:var(--tds-link-visited)}.disabled ::slotted(*),.disabled ::slotted(*:visited){color:var(--tds-link-disabled);text-decoration-color:var(--tds-link-disabled);pointer-events:none}.no-underline ::slotted(*){text-decoration:none}.no-underline:hover ::slotted(*){text-decoration:none}.standalone ::slotted(*){font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls)}";
const TdsLinkStyle0 = linkCss;
const TdsLink = class {
constructor(hostRef) {
index.registerInstance(this, hostRef);
this.disabled = false;
this.underline = true;
this.standalone = false;
}
connectedCallback() {
const links = this.host.querySelectorAll('a');
if (links.length > 1) {
console.warn('tds-link is only intended to wrap one <a> tag');
}
const link = links[0];
if (link) {
if (this.disabled) {
link.setAttribute('tabindex', '-1');
link.setAttribute('aria-disabled', 'true');
}
else {
link.removeAttribute('tabindex');
link.removeAttribute('aria-disabled');
}
}
}
render() {
return (index.h("span", { key: '7f0f25738cc23b6f1cb77be9dd80ea14b9b399bc', class: {
'disabled': this.disabled,
'no-underline': !this.underline,
'standalone': this.standalone,
} }, index.h("slot", { key: '73203886b4064a43a2b3ede33ce650f280ebe9c5' })));
}
get host() { return index.getElement(this); }
};
TdsLink.style = TdsLinkStyle0;
exports.tds_link = TdsLink;