🔥 新しいプロジェクトをご紹介 t0ggles - 究極のプロジェクト管理ツール! 🔥

ダイアログ Svelte コンポーネント

ダイアログは、重要な情報を提供したり、意思決定を促すために、アプリのコンテンツの前面に表示されるモーダルウィンドウの一種です。

ダイアログコンポーネント

以下のコンポーネントが含まれています。

  • Dialog - ダイアログ要素
  • DialogButton - ダイアログボタン要素

ダイアログプロパティ

名前デフォルト説明
backdropbooleantrue

ポップアップの背景(背後の暗い半透明のレイヤー)を有効にします。

buttonsstring

ダイアログボタンの内容

colorsobject

Tailwind CSSカラークラスを持つオブジェクト

colors.bgIosstring'bg-white dark:bg-neutral-800'

iOSテーマでのダイアログの背景色

colors.bgMaterialstring'bg-md-light-surface-3 dark:bg-md-dark-surface-3'

iOSテーマでのダイアログの背景色

colors.contentTextIosstring''

iOSテーマでのコンテンツのテキストカラー

colors.contentTextMaterialstring'text-md-light-on-surface-variant dark:text-md-dark-on-surface-variant'

Materialテーマでのコンテンツのテキストカラー

colors.titleIosstring''

iOSテーマでのタイトルのテキストカラー

colors.titleMaterialstring'text-md-light-on-surface dark:text-md-dark-on-surface'

Materialテーマでのタイトルのテキストカラー

contentstring

ダイアログのメインコンテンツ

openedbooleanfalse

ポップアップを開閉し、初期状態を設定できます。

sizeIosstring'w-[16.875rem]'

iOSテーマのTailwind CSSサイズクラス

sizeMaterialstring'w-[19.5rem]'

MaterialテーマのTailwind CSSサイズクラス

titlestring

ダイアログのタイトルコンテンツ

titleFontSizeIosstring'text-[18px]'

iOSテーマのタイトルフォントサイズのTailwind CSSクラス

titleFontSizeMaterialstring'text-[24px]'

MaterialテーマのタイトルフォントサイズのTailwind CSSクラス

translucentbooleantrue

iOSテーマでダイアログの背景を半透明にします(backdrop-filter: blurを使用)。

onBackdropClickfunction(e)

背景要素のクリックハンドラー

DialogButtonプロパティ

名前デフォルト説明
colorsobject

Tailwind CSSカラークラスを持つオブジェクト

colors.activeBgIosstring'active:bg-black active:bg-opacity-10 dark:active:bg-white dark:active:bg-opacity-10'

iOSテーマでのアクティブ/押下状態の背景色

colors.disabledTextIosstring'text-black text-opacity-30 dark:text-white dark:text-opacity-30'

iOSテーマでの無効なボタンのテキストカラー

colors.textIosstring''text-primary

iOSテーマでのテキストカラー

disabledbooleanfalse

ボタンを無効にします。

strongbooleanfalse

iOSテーマでボタンを太字にし、Materialテーマで塗りつぶします。strongIosstrongMaterialを上書きします。

strongIosbooleanfalse

iOSテーマでボタンを太字にします。

strongMaterialbooleanfalse

Materialテーマでボタンを塗りつぶします。

onClickfunction(e)

DialogButtonのクリックハンドラー

ダイアログスロット

名前説明
buttons

ダイアログボタンの内容

content

ダイアログのメインコンテンツ

title

ダイアログのタイトルコンテンツ

Dialog.svelte
<script>
import {
Page,
Navbar,
NavbarBackLink,
Block,
Button,
Dialog,
DialogButton,
List,
ListItem,
Radio,
} from 'konsta/svelte';
let basicOpened = false;
let alertOpened = false;
let confirmOpened = false;
let listOpened = false;
let radioValue = 'batman';
</script>
<Page>
<Navbar title="Dialog" />
<Block strong inset class="space-y-4">
<p>
Dialog is a type of modal window that appears in front of app content to
provide critical information, or prompt for a decision to be made.
</p>
</Block>
<Block strong inset>
<p class="grid grid-cols-2 md:grid-cols-4 gap-4">
<Button rounded onClick={() => (basicOpened = true)}>Basic</Button>
<Button rounded onClick={() => (alertOpened = true)}>Alert</Button>
<Button rounded onClick={() => (confirmOpened = true)}>Confirm</Button>
<Button rounded onClick={() => (listOpened = true)}>List</Button>
</p>
</Block>
<Dialog opened={basicOpened} onBackdropClick={() => (basicOpened = false)}>
<svelte:fragment slot="title">Dialog Title</svelte:fragment>
Dialog is a type of modal window that appears in front of app content to provide
critical information, or prompt for a decision to be made.
<svelte:fragment slot="buttons">
<DialogButton onClick={() => (basicOpened = false)}>
Action 2
</DialogButton>
<DialogButton onClick={() => (basicOpened = false)}>
Action 1
</DialogButton>
</svelte:fragment>
</Dialog>
<Dialog opened={alertOpened} onBackdropClick={() => (alertOpened = false)}>
<svelte:fragment slot="title">Konsta UI</svelte:fragment>
Hello world!
<svelte:fragment slot="buttons">
<DialogButton onClick={() => (alertOpened = false)}>Ok</DialogButton>
</svelte:fragment>
</Dialog>
<Dialog
opened={confirmOpened}
onBackdropClick={() => (confirmOpened = false)}
>
<svelte:fragment slot="title">Konsta UI</svelte:fragment>
All good today?
<svelte:fragment slot="buttons">
<DialogButton onClick={() => (confirmOpened = false)}>No</DialogButton>
<DialogButton strong onClick={() => (confirmOpened = false)}>
Yes
</DialogButton>
</svelte:fragment>
</Dialog>
<Dialog opened={listOpened} onBackdropClick={() => (listOpened = false)}>
<svelte:fragment slot="title">Your super hero</svelte:fragment>
<List nested class="-mx-4">
<ListItem label title="Batman">
<svelte:fragment slot="after">
<Radio
component="div"
value="batman"
checked={radioValue === 'batman'}
onChange={() => (radioValue = 'batman')}
/>
</svelte:fragment>
</ListItem>
<ListItem label title="Spider-man">
<svelte:fragment slot="after">
<Radio
component="div"
value="spiderman"
checked={radioValue === 'spiderman'}
onChange={() => (radioValue = 'spiderman')}
/>
</svelte:fragment>
</ListItem>
<ListItem label title="Hulk">
<svelte:fragment slot="after">
<Radio
component="div"
value="hulk"
checked={radioValue === 'hulk'}
onChange={() => (radioValue = 'hulk')}
/>
</svelte:fragment>
</ListItem>
</List>
<svelte:fragment slot="buttons">
<DialogButton onClick={() => (listOpened = false)}>Confirm</DialogButton>
</svelte:fragment>
</Dialog>
</Page>
コードは以下のもとでライセンスされています。 MIT.
2022 © Konsta UI by nolimits4web.