@oslokommune/punkt-elements
Version:
Komponentbiblioteket til Punkt, et designsystem laget av Oslo Origo
13 lines (12 loc) • 1.62 kB
JavaScript
const e=require(`./element-DjtxO-1r.cjs`),t=require(`./element-with-slot-CWoTGA1B.cjs`);require(`./icon-Dr8sfT2X.cjs`);const n=require(`./if-defined-XKOD_t_V.cjs`);var r=class extends t.t{constructor(...e){super(...e),this.title=``,this.href=`#`,this.iconName=``,this.external=!1,this.openInNewTab=!1,this.skin=`normal`}render(){let r=[`pkt-linkcard`,this.skin&&`pkt-linkcard--${this.skin}`].filter(Boolean).join(` `),i=[`pkt-linkcard__title`,this.external&&`pkt-link pkt-link--external`].filter(Boolean).join(` `);return e.d`
<a
href=${this.href}
class=${r}
target=${this.openInNewTab?`_blank`:`_self`}
rel=${n.t(this.openInNewTab?`noopener noreferrer`:void 0)}
>
${this.iconName&&e.d`<pkt-icon class="pkt-link__icon" name="${this.iconName}" />`}
${this.title&&e.d`<div class=${i}>${this.title}</div>`}
<div class="pkt-linkcard__text">${t.n(this)}</div>
</a>
`}};e.r([e.s({type:String,reflect:!0})],r.prototype,`title`,void 0),e.r([e.s({type:String,reflect:!0})],r.prototype,`href`,void 0),e.r([e.s({type:String,reflect:!0})],r.prototype,`iconName`,void 0),e.r([e.s({type:Boolean,reflect:!0})],r.prototype,`external`,void 0),e.r([e.s({type:Boolean,reflect:!0})],r.prototype,`openInNewTab`,void 0),e.r([e.s({type:String,reflect:!0})],r.prototype,`skin`,void 0);try{e.c(`pkt-linkcard`)(r)}catch{console.warn(`Forsøker å definere <pkt-linkcard>, men den er allerede definert`)}var i=r;Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});