ModalOverlay constructor
ModalOverlay({})
Creates a ModalOverlay widget that traps focus within its bounds.
Implementation
ModalOverlay({
required super.title,
required super.bounds,
required this.dialogBounds,
required super.child,
required this.modalFocusNodes,
this.onDismiss,
this.scrimStyle = const Style(modifiers: Modifier.dim),
super.focusNode,
super.zIndex = 10,
void Function(KeyEvent event)? onKeyEvent,
}) : customOnKeyEvent = onKeyEvent,
super(borderChars: ['┌', '─', '┐', '│', ' ', '│', '└', '─', '┘']) {
for (final node in modalFocusNodes) {
focusNode.addChild(node);
}
bool anyFocused = false;
for (final node in modalFocusNodes) {
if (node.isFocused) {
anyFocused = true;
break;
}
}
if (!anyFocused && modalFocusNodes.isNotEmpty) {
modalFocusNodes.first.requestFocus();
}
}