ダイアログは、重要な情報を提供したり、意思決定を促すために、アプリのコンテンツの前面に表示されるモーダルウィンドウの一種です。
以下のコンポーネントが含まれています。
Dialog - ダイアログ要素DialogButton - ダイアログボタン要素| 名前 | 型 | デフォルト | 説明 |
|---|---|---|---|
| backdrop | boolean | true | ポップアップの背景(背後の暗い半透明のレイヤー)を有効にします。 |
| buttons | string | ダイアログボタンの内容 | |
| colors | object | Tailwind CSSカラークラスを持つオブジェクト | |
| colors.bgIos | string | 'bg-white dark:bg-neutral-800' | iOSテーマでのダイアログの背景色 |
| colors.bgMaterial | string | 'bg-md-light-surface-3 dark:bg-md-dark-surface-3' | iOSテーマでのダイアログの背景色 |
| colors.contentTextIos | string | '' | iOSテーマでのコンテンツのテキストカラー |
| colors.contentTextMaterial | string | 'text-md-light-on-surface-variant dark:text-md-dark-on-surface-variant' | Materialテーマでのコンテンツのテキストカラー |
| colors.titleIos | string | '' | iOSテーマでのタイトルのテキストカラー |
| colors.titleMaterial | string | 'text-md-light-on-surface dark:text-md-dark-on-surface' | Materialテーマでのタイトルのテキストカラー |
| content | string | ダイアログのメインコンテンツ | |
| opened | boolean | false | ポップアップを開閉し、初期状態を設定できます。 |
| sizeIos | string | 'w-[16.875rem]' | iOSテーマのTailwind CSSサイズクラス |
| sizeMaterial | string | 'w-[19.5rem]' | MaterialテーマのTailwind CSSサイズクラス |
| title | string | ダイアログのタイトルコンテンツ | |
| titleFontSizeIos | string | 'text-[18px]' | iOSテーマのタイトルフォントサイズのTailwind CSSクラス |
| titleFontSizeMaterial | string | 'text-[24px]' | MaterialテーマのタイトルフォントサイズのTailwind CSSクラス |
| translucent | boolean | true | iOSテーマでダイアログの背景を半透明にします( |
| onBackdropClick | function(e) | 背景要素のクリックハンドラー |
| 名前 | 型 | デフォルト | 説明 |
|---|---|---|---|
| colors | object | Tailwind CSSカラークラスを持つオブジェクト | |
| colors.activeBgIos | string | 'active:bg-black active:bg-opacity-10 dark:active:bg-white dark:active:bg-opacity-10' | iOSテーマでのアクティブ/押下状態の背景色 |
| colors.disabledTextIos | string | 'text-black text-opacity-30 dark:text-white dark:text-opacity-30' | iOSテーマでの無効なボタンのテキストカラー |
| colors.textIos | string | ''text-primary | iOSテーマでのテキストカラー |
| disabled | boolean | false | ボタンを無効にします。 |
| strong | boolean | false | iOSテーマでボタンを太字にし、Materialテーマで塗りつぶします。 |
| strongIos | boolean | false | iOSテーマでボタンを太字にします。 |
| strongMaterial | boolean | false | Materialテーマでボタンを塗りつぶします。 |
| onClick | function(e) | DialogButtonのクリックハンドラー |
| 名前 | 説明 |
|---|---|
| buttons | ダイアログボタンの内容 |
| content | ダイアログのメインコンテンツ |
| title | ダイアログのタイトルコンテンツ |
<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 toprovide 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 providecritical 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><Dialogopened={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"><Radiocomponent="div"value="batman"checked={radioValue === 'batman'}onChange={() => (radioValue = 'batman')}/></svelte:fragment></ListItem><ListItem label title="Spider-man"><svelte:fragment slot="after"><Radiocomponent="div"value="spiderman"checked={radioValue === 'spiderman'}onChange={() => (radioValue = 'spiderman')}/></svelte:fragment></ListItem><ListItem label title="Hulk"><svelte:fragment slot="after"><Radiocomponent="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>