mirror of https://github.com/Budibase/budibase.git
5 changed files with 49 additions and 0 deletions
@ -0,0 +1,29 @@ |
|||
<script> |
|||
import { getContext } from 'svelte' |
|||
const multilevel = getContext('sidenav-type'); |
|||
export let href = ""; |
|||
export let heading = "" |
|||
export let icon = ""; |
|||
export let selected = false; |
|||
export let disabled = false; |
|||
|
|||
</script> |
|||
|
|||
<li class="spectrum-SideNav-item" class:is-selected={selected} class:is-disabled={disabled}> |
|||
{#if heading} |
|||
<h2 class="spectrum-SideNav-heading" id="nav-heading-{heading}">{heading}</h2> |
|||
{/if} |
|||
<a {href} class="spectrum-SideNav-itemLink" aria-current="page"> |
|||
{#if icon} |
|||
<svg class="spectrum-Icon spectrum-Icon--sizeM spectrum-SideNav-itemIcon" focusable="false" aria-hidden="true"> |
|||
<use xlink:href="#spectrum-icon-18-{icon}" /> |
|||
</svg> |
|||
{/if} |
|||
<slot /> |
|||
</a> |
|||
{#if multilevel && $$slots.subnav} |
|||
<ul class="spectrum-SideNav"> |
|||
<slot name="subnav" /> |
|||
</ul> |
|||
{/if} |
|||
</li> |
|||
@ -0,0 +1,12 @@ |
|||
<script> |
|||
import { setContext } from 'svelte' |
|||
import "@spectrum-css/sidenav/dist/index-vars.css" |
|||
export let multilevel = false; |
|||
setContext('sidenav-type', multilevel) |
|||
</script> |
|||
|
|||
<nav> |
|||
<ul class="spectrum-SideNav" class:spectrum-SideNav--multiLevel={multilevel}> |
|||
<slot /> |
|||
</ul> |
|||
</nav> |
|||
Loading…
Reference in new issue