ActionDialog
ユーザーに入力や選択などの操作を求めるためのダイアログです。ユーザーは操作内容をシステムに送信できます。
モーダルなダイアログです。ダイアログの表示中、ダイアログの裏側の領域はスクリム(幕)で隠され、操作を受け付けません。
モーダルなUIの使いどころもあわせて参照してください。
ActionDialogの表示中、ユーザーの操作範囲は強制的に制限されます。
ダイアログが表示されることによってユーザーの操作を妨げてしまわないか、ダイアログとして表示する・操作させるべき内容なのか、慎重にユースケースを定義し、使用を検討してください。
モーダルダイアログ(ActionDialogやMessageDialog)を1つの操作で複数個表示したり、モーダルダイアログ上の操作によって2つ目のモーダルダイアログを表示したりすることは、原則として推奨されません。3つの画面が重なり、画面どうしの関係性や、どんな操作をすれば何が起こるのかが予測しづらくなるためです。
なお、モーダルダイアログ上の操作によってModelessDialogを表示したり、ModelessDialogが開いている状態でモーダルダイアログを開いたりすることは問題ありません。
ダイアログの横幅の基準値は幅のセマンティックトークンを参照してください。
SmartHR UIでは、サイズ(sizeprops)で指定できます。
表示位置は、画面の天地左右中央に表示されます。
ESCキーを押すことでダイアログを閉じることができます。
削除操作をする際の確認のダイアログについては、削除ダイアログを参照してください。
それ以外のパターンについては、モーダルなUIを参照してください。
title必須
string number false true ReactElement<any, string | JSXElementConstructor<any>> Iterable<ReactNode> ReactPortal
decorators
DecoratorsType<"closeButtonLabel">
"h1" "h2" "h3" "h4" "h5" "h6"
ダイアログヘッダーの HTML タグ
@deprecated SectioningContent(Article, Aside, Nav, Section)でDialog全体をラップして、ダイアログタイトルのHeadingレベルを設定してください
subActionArea
string number false true ReactElement<any, string | JSXElementConstructor<any>> Iterable<ReactNode> ReactPortal
responseStatus
ResponseStatusWithoutProcessing { status: "processing"; }
contentBgColor
"GREY_5" "GREY_6" "GREY_7" "GREY_9" "GREY_20" "WHITE" "BACKGROUND" "COLUMN" "BASE_GREY" "OVER_BACKGROUND" "HEAD" "BORDER" "ACTION_BACKGROUND"
contentPadding
0 0.25 0.5 0.75 1 1.25 1.5 2 2.5 3 3.5 4 8 -0.25 -0.5 -0.75 -1 -1.25 -1.5 -2 -2.5 -3 -3.5 -4 -8 "X3S" "XXS" "XS" "S" "M" "L" "XL" "XXL" "X3L" { block?: Gap; inline?: Gap; }
subtitle
string number false true ReactElement<any, string | JSXElementConstructor<any>> Iterable<ReactNode> ReactPortal
actionTheme
"primary" "danger" "secondary"
actionDisabled
false true
onClickClose必須
() => void
actionText必須
string number false true ReactElement<any, string | JSXElementConstructor<any>> Iterable<ReactNode> ReactPortal
onClickAction必須
(closeDialog: () => void) => void
アクションボタンをクリックした時に発火するコールバック関数
@param closeDialog - ダイアログを閉じる関数
size
"XS" "S" "M" "L" "XL" "XXL" "FULL"
string number
@deprecated ダイアログの幅を指定する場合は、width ではなく size を使用してください。
ダイアログの幅
firstFocusTarget
RefObject<HTMLElement>
onClickOverlay
() => void
オーバーレイをクリックした時に発火するコールバック関数
onPressEscape
() => void
エスケープキーを押下した時に発火するコールバック関数
portalParent
HTMLElement RefObject<HTMLElement>
title必須
string number false true ReactElement<any, string | JSXElementConstructor<any>> Iterable<ReactNode> ReactPortal
onSubmit必須
(closeDialog: () => void, e: FormEvent<HTMLFormElement>) => void
アクションボタンをクリックした時に発火するコールバック関数
@param closeDialog ダイアログを閉じる関数
decorators
DecoratorsType<"closeButtonLabel">
"h1" "h2" "h3" "h4" "h5" "h6"
ダイアログヘッダーの HTML タグ
@deprecated SectioningContent(Article, Aside, Nav, Section)でDialog全体をラップして、ダイアログタイトルのHeadingレベルを設定してください
subActionArea
string number false true ReactElement<any, string | JSXElementConstructor<any>> Iterable<ReactNode> ReactPortal
responseStatus
ResponseStatusWithoutProcessing { status: "processing"; }
contentBgColor
"GREY_5" "GREY_6" "GREY_7" "GREY_9" "GREY_20" "WHITE" "BACKGROUND" "COLUMN" "BASE_GREY" "OVER_BACKGROUND" "HEAD" "BORDER" "ACTION_BACKGROUND"
contentPadding
0 0.25 0.5 0.75 1 1.25 1.5 2 2.5 3 3.5 4 8 -0.25 -0.5 -0.75 -1 -1.25 -1.5 -2 -2.5 -3 -3.5 -4 -8 "X3S" "XXS" "XS" "S" "M" "L" "XL" "XXL" "X3L" { block?: Gap; inline?: Gap; }
subtitle
string number false true ReactElement<any, string | JSXElementConstructor<any>> Iterable<ReactNode> ReactPortal
actionTheme
"primary" "danger" "secondary"
actionDisabled
false true
onClickClose必須
() => void
actionText必須
string number false true ReactElement<any, string | JSXElementConstructor<any>> Iterable<ReactNode> ReactPortal
size
"XS" "S" "M" "L" "XL" "XXL" "FULL"
string number
@deprecated ダイアログの幅を指定する場合は、width ではなく size を使用してください。
ダイアログの幅
firstFocusTarget
RefObject<HTMLElement>
onClickOverlay
() => void
オーバーレイをクリックした時に発火するコールバック関数
onPressEscape
() => void
エスケープキーを押下した時に発火するコールバック関数
portalParent
HTMLElement RefObject<HTMLElement>