mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-15 10:21:05 +00:00
parent
17730914d3
commit
fc366a9366
21 changed files with 518 additions and 23 deletions
43
src/components/ComposedModal/ModalHeader.svelte
Normal file
43
src/components/ComposedModal/ModalHeader.svelte
Normal file
|
@ -0,0 +1,43 @@
|
|||
<script>
|
||||
let className = undefined;
|
||||
export { className as class };
|
||||
export let labelClass = undefined;
|
||||
export let titleClass = undefined;
|
||||
export let closeClass = undefined;
|
||||
export let closeIconClass = undefined;
|
||||
export let label = undefined;
|
||||
export let title = '';
|
||||
export let iconDescription = 'Close';
|
||||
export let style = undefined;
|
||||
|
||||
import Close20 from 'carbon-icons-svelte/lib/Close20';
|
||||
import { getContext } from 'svelte';
|
||||
import { cx } from '../../lib';
|
||||
|
||||
const { closeModal } = getContext('ComposedModal');
|
||||
|
||||
const _class = cx('--modal-header', className);
|
||||
const _labelClass = cx('--modal-header__label', '--type-delta', labelClass);
|
||||
const _titleClass = cx('--modal-header__heading', '--type-beta', titleClass);
|
||||
const _closeClass = cx('--modal-close', closeClass);
|
||||
const _closeIconClass = cx('--modal-close__icon', closeIconClass);
|
||||
</script>
|
||||
|
||||
<div class={_class} {style}>
|
||||
{#if label}
|
||||
<p class={_labelClass}>{label}</p>
|
||||
{/if}
|
||||
{#if title}
|
||||
<p class={_titleClass}>{title}</p>
|
||||
{/if}
|
||||
<slot />
|
||||
<button
|
||||
type="button"
|
||||
title={iconDescription}
|
||||
aria-label={iconDescription}
|
||||
class={_closeClass}
|
||||
on:click
|
||||
on:click={closeModal}>
|
||||
<Close20 class={_closeIconClass} />
|
||||
</button>
|
||||
</div>
|
Loading…
Add table
Add a link
Reference in a new issue