UNPKG

@postnord/web-components

Version:
35 lines (31 loc) 2.18 kB
/*! * Built with Stencil * By PostNord. */ import { t as transformTag, r as registerInstance, c as createEvent, g as getElement, h, a as Host } from './index-CAEP792y.js'; const pnPageNavItemCss = () => `${transformTag("pn-page-nav-item")}{position:relative;color:#ffffff;margin-right:0.5em;z-index:2;white-space:nowrap;scroll-snap-align:center;outline:none;-webkit-tap-highlight-color:transparent;transform:translateZ(0)}${transformTag("pn-page-nav-item")} a{text-decoration:none;color:#ffffff;height:100%;width:100%;padding:0.5em;font-weight:500;border-radius:3em;border:0.0625em solid transparent;display:inline-flex;align-items:center;cursor:pointer;outline:none;transition:box-shadow 0.15s}${transformTag("pn-page-nav-item")} a:focus{box-shadow:0 0 0 0.1em #d3cecb}${transformTag("pn-page-nav-item")} a>${transformTag("pn-icon")}{margin-right:0.5em}${transformTag("pn-page-nav-item")}:last-of-type{margin-right:0}`; const PnPageNavItem = class { constructor(hostRef) { registerInstance(this, hostRef); this.itemselection = createEvent(this, "itemselection"); } get hostElement() { return getElement(this); } /** The item value. Used by `pn-page-nav` to determine pre-selected item. */ value; /** Pass an href to the items if you want to have links that lead outside of your app. */ href; /** The SVG content of the icon you want. */ icon; /** Event is emitted when you select an item. */ itemselection; select(e) { if (this.value && !this.href) e.preventDefault(); this.itemselection.emit(this.value); } render() { return (h(Host, { key: '43346d6ed6211b3e6c4ee7c6dfd261112028445f' }, h("li", { key: '8a191825d21ae79f3c8bf69381151b8d258a7c64' }, h("a", { key: '3dab24d14cb027916343ae3b1f86ded224907ab6', href: this.href || '#', class: "pn-page-nav-item", onClick: e => this.select(e) }, this.icon && h("pn-icon", { key: 'fa382f49cb1602908dd53af48044826f934679cd', icon: this.icon, color: "white" }), h("slot", { key: '576b22e87a530ac0a8a19eaf8a094937ab227b67' }))))); } }; PnPageNavItem.style = pnPageNavItemCss(); export { PnPageNavItem as pn_page_nav_item };