StepFormDialog
複数ステップに分けたフォームを内包するダイアログコンポーネントです。ウィザード形式で複数の操作を順に進めるタスクをダイアログで提供するときに使います。
モーダルなダイアログです。ダイアログの表示中、ダイアログの裏側の領域はスクリム(幕)で隠され、操作を受け付けません。
拡大したStepFormDialogはsmarthr-uiに実装予定です。
モバイルでは、通常のダイアログに加えて、拡大したダイアログを使用できます。
デスクトップに比べて、モバイルでは表示できる情報量に限りがあります。
拡大したダイアログを利用することで、モバイルの表示領域を最大限使って情報を表示できます。
例えば、次のような場合に拡大したダイアログが有効です。
- ダイアログ内で多くのスクロールを伴う場合
- 入力や編集など、キーボードでの入力操作が多い場合
モバイルで通常のダイアログを使用する場合、余白は以下の通りです。

拡大したダイアログの画面や、コンポーネント内の余白は以下のとおりです。
基本的には、代表的なダイアログ内レイアウトのパディングに従って配置しますが、ダイアログの左右と裏側の領域(スクリムで隠されている領域)のパディングは0(0px)とします。

[戻る]ボタンとPrimaryボタンをClusterで横いっぱいに並べます。
[キャンセル]ボタンは、上記のButton群の下部に配置します。

StepFormDialog
参照元:モバイル > レイアウト > 余白 「モバイル > レイアウト > 余白」の本文へ移動Must拡大したダイアログの左右と裏側の領域(スクリムで隠されている領域)のパディングは `0(0px)` とする- 基本的には代表的なダイアログ内レイアウトのパディングに従って配置する
size
"XS""S""M""L""XL""XXL""FULL"
stringnumber
@deprecated ダイアログの幅を指定する場合は、width ではなく size を使用してください。
ダイアログの幅
onSubmit必須
(e: FormEvent<HTMLFormElement>, helpers: StepFormHelpers) => void
アクションボタンをクリックした時に発火するコールバック関数
@param e フォームイベント
@param helpers ステップ操作用のヘルパー関数群
heading必須
stringnumberfalsetrueReactElement<any, string | JSXElementConstructor<any>>Iterable<ReactNode>ReactPortal{ sub?: ReactNode; text: ReactNode; }
closeButton
stringnumberfalsetrueReactElement<any, string | JSXElementConstructor<any>>Iterable<ReactNode>ReactPortal(currentStep: { id: string; stepNumber: number; }, defaultText: ReactNode) => ReactNodeObjectButtonType
responseStatus
ResponseStatusWithoutProcessing{ status: "processing"; }
firstFocusTarget
RefObject<HTMLElement>
onClickOverlay
() => void
オーバーレイをクリックした時に発火するコールバック関数
onPressEscape
(() => void) & ((close: () => void) => void)
エスケープキーを押下した時に発火するコールバック関数
portalParent
HTMLElementRefObject<HTMLElement>
contentBgColor
"BACKGROUND""COLUMN""BASE_GREY""OVER_BACKGROUND""HEAD""BORDER""ACTION_BACKGROUND""WHITE""GREY_5""GREY_6""GREY_7""GREY_9""GREY_20"
contentPadding
0120.250.50.751.251.52.533.548-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; }
submitButton必須
stringnumberfalsetrueReactElement<any, string | JSXElementConstructor<any>>Iterable<ReactNode>ReactPortal(currentStep: { id: string; stepNumber: number; }, defaultText: ReactNode) => ReactNodeObjectButtonType
backButton
stringnumberfalsetrueReactElement<any, string | JSXElementConstructor<any>>Iterable<ReactNode>ReactPortal(currentStep: { id: string; stepNumber: number; }, defaultText: ReactNode) => ReactNodeObjectButtonType
firstStep必須
{ id: string; stepNumber: number; }
onClickClose
(close: () => void) => void
onToggle
(isOpen: boolean) => void
onSubmit必須
(e: FormEvent<HTMLFormElement>, helpers: StepFormHelpers) => void
アクションボタンをクリックした時に発火するコールバック関数
@param e フォームイベント
@param helpers ステップ操作用のヘルパー関数群
responseStatus
ResponseStatusWithoutProcessing{ status: "processing"; }
contentBgColor
"BACKGROUND""COLUMN""BASE_GREY""OVER_BACKGROUND""HEAD""BORDER""ACTION_BACKGROUND""WHITE""GREY_5""GREY_6""GREY_7""GREY_9""GREY_20"
contentPadding
0120.250.50.751.251.52.533.548-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; }
firstStep必須
{ id: string; stepNumber: number; }
size
"XS""S""M""L""XL""XXL""FULL"
stringnumber
@deprecated ダイアログの幅を指定する場合は、width ではなく size を使用してください。
ダイアログの幅
firstFocusTarget
RefObject<HTMLElement>
onClickOverlay
() => void
オーバーレイをクリックした時に発火するコールバック関数
onPressEscape
() => void
エスケープキーを押下した時に発火するコールバック関数
portalParent
HTMLElementRefObject<HTMLElement>
heading必須
stringnumberfalsetrueReactElement<any, string | JSXElementConstructor<any>>Iterable<ReactNode>ReactPortal{ sub?: ReactNode; text: ReactNode; }
submitButton必須
stringnumberfalsetrueReactElement<any, string | JSXElementConstructor<any>>Iterable<ReactNode>ReactPortal(currentStep: { id: string; stepNumber: number; }, defaultText: ReactNode) => ReactNodeObjectButtonType
closeButton
stringnumberfalsetrueReactElement<any, string | JSXElementConstructor<any>>Iterable<ReactNode>ReactPortal(currentStep: { id: string; stepNumber: number; }, defaultText: ReactNode) => ReactNodeObjectButtonType
backButton
stringnumberfalsetrueReactElement<any, string | JSXElementConstructor<any>>Iterable<ReactNode>ReactPortal(currentStep: { id: string; stepNumber: number; }, defaultText: ReactNode) => ReactNodeObjectButtonType