mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-18 11:36:36 +00:00
* chore(deps-dev): upgrade svelte to 3.57
* chore(deps-dev): upgrade svelte-check
* chore(a11y): silence new a11y warnings from svelte@3.57
* Revert "chore(deps-dev): upgrade svelte-check"
This reverts commit 78106587a2
.
* fix(progress-step): remove unnecessary `aria-disabled`
https://github.com/carbon-design-system/carbon-components-svelte/pull/1703#pullrequestreview-1357928713
59 lines
1.4 KiB
Svelte
59 lines
1.4 KiB
Svelte
<script>
|
|
/** Set to `true` to toggle the expanded state */
|
|
export let expanded = false;
|
|
|
|
/**
|
|
* Specify the text
|
|
* @type {string}
|
|
*/
|
|
export let text = undefined;
|
|
|
|
/**
|
|
* Specify the icon to render
|
|
* @type {typeof import("svelte").SvelteComponent}
|
|
*/
|
|
export let icon = undefined;
|
|
|
|
/** Obtain a reference to the HTML button element */
|
|
export let ref = null;
|
|
|
|
import ChevronDown from "../icons/ChevronDown.svelte";
|
|
</script>
|
|
|
|
<li class:bx--side-nav__item="{true}" class:bx--side-nav__item--icon="{icon}">
|
|
<button
|
|
type="button"
|
|
bind:this="{ref}"
|
|
aria-expanded="{expanded}"
|
|
class:bx--side-nav__submenu="{true}"
|
|
{...$$restProps}
|
|
on:click
|
|
on:click="{() => {
|
|
expanded = !expanded;
|
|
}}"
|
|
>
|
|
{#if $$slots.icon || icon}
|
|
<div class:bx--side-nav__icon="{true}">
|
|
<slot name="icon">
|
|
<svelte:component this="{icon}" />
|
|
</slot>
|
|
</div>
|
|
{/if}
|
|
<span class:bx--side-nav__submenu-title="{true}">{text}</span>
|
|
<div
|
|
class:bx--side-nav__icon="{true}"
|
|
class:bx--side-nav__icon--small="{true}"
|
|
class:bx--side-nav__submenu-chevron="{true}"
|
|
>
|
|
<ChevronDown />
|
|
</div>
|
|
</button>
|
|
<!-- svelte-ignore a11y-no-noninteractive-element-to-interactive-role -->
|
|
<ul
|
|
role="menu"
|
|
class:bx--side-nav__menu="{true}"
|
|
style="{expanded && 'max-height: none'}"
|
|
>
|
|
<slot />
|
|
</ul>
|
|
</li>
|