mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-19 11:59:34 +00:00
* feat(types): loosen type for Carbon icons #806 * Add closeIcon option and remove stopPropagation on:click in HeaderAction (#840) * Remove stopPropagation on:click Remove stopPropagation on:click helps when you have more then one acction to switch between actions tabs * fix bug for default icon * add closeIcon attribute to HeaderAction * feat(types): loosen type for Carbon icons #806 * chore: update TreeView, HeaderAction icon types Co-authored-by: Daniel Miedzik <daniel.miedzik@gmail.com>
44 lines
1 KiB
Svelte
44 lines
1 KiB
Svelte
<script>
|
|
/**
|
|
* Set the type of notification
|
|
* @type {"toast" | "inline"}
|
|
*/
|
|
export let notificationType = "toast";
|
|
|
|
/**
|
|
* Specify the icon from `carbon-icons-svelte` to render
|
|
* @type {typeof import("svelte").SvelteComponent}
|
|
*/
|
|
export let icon = Close20;
|
|
|
|
/**
|
|
* Specify the title of the icon
|
|
* @type {string}
|
|
*/
|
|
export let title = undefined;
|
|
|
|
/** Specify the ARIA label for the icon */
|
|
export let iconDescription = "Close icon";
|
|
|
|
import Close20 from "carbon-icons-svelte/lib/Close20/Close20.svelte";
|
|
</script>
|
|
|
|
<!-- svelte-ignore a11y-mouse-events-have-key-events -->
|
|
<button
|
|
type="button"
|
|
aria-label="{iconDescription}"
|
|
title="{iconDescription}"
|
|
class:bx--toast-notification__close-button="{notificationType === 'toast'}"
|
|
class:bx--inline-notification__close-button="{notificationType === 'inline'}"
|
|
{...$$restProps}
|
|
on:click
|
|
on:mouseover
|
|
on:mouseenter
|
|
on:mouseleave
|
|
>
|
|
<svelte:component
|
|
this="{icon}"
|
|
title="{title}"
|
|
class="bx--{notificationType}-notification__close-icon"
|
|
/>
|
|
</button>
|