AuthShell constructor

AuthShell({
  1. Object? brand,
  2. String? title,
  3. String? description,
  4. Object? child,
  5. List<Object?> children = const [],
  6. Object? footer,
  7. Object maxWidth = 420,
  8. String? className,
  9. Map<String, Object?> props = const {},
  10. Map<String, Object?> style = const {},
  11. DartStyle? dartStyle,
  12. DartStyle? cardDartStyle,
})

Creates an auth shell for login, register, and recovery screens.

Implementation

AuthShell({
  Object? brand,
  String? title,
  String? description,
  Object? child,
  List<Object?> children = const [],
  Object? footer,
  Object maxWidth = 420,
  String? className,
  Map<String, Object?> props = const {},
  Map<String, Object?> style = const {},
  DartStyle? dartStyle,
  DartStyle? cardDartStyle,
}) : super(
       'div',
       props: mergeComponentProps(
         props,
         className: className,
         dartStyle: DartStyle(
           minHeight: '100vh',
           display: Display.grid,
           alignItems: AlignItems.center,
           background: ThemeToken.color(
             'authBackground',
             fallback: '#f8fafc',
           ).toCss(),
           padding: const EdgeInsets.all(24),
         ).merge(dartStyle),
         style: style,
       ),
       children: [
         SafeArea(
           child: ConstrainedBox(
             maxWidth: maxWidth,
             center: true,
             child: Box(
               tag: 'main',
               dartStyle: DartStyle(
                 display: Display.grid,
                 gap: 20,
                 padding: const EdgeInsets.all(24),
                 radius: ThemeToken.radius('lg', fallback: '12px').toCss(),
                 background: ThemeToken.color(
                   'surface',
                   fallback: '#ffffff',
                 ).toCss(),
                 border: Border.all(
                   color: ThemeToken.color(
                     'surfaceBorder',
                     fallback: '#e4e7ec',
                   ).toCss(),
                 ),
                 shadow: Shadow(
                   y: 18,
                   blur: 44,
                   spread: -18,
                   color: ThemeToken.shadow(
                     'authCard',
                     fallback: 'rgba(16, 24, 40, 0.22)',
                   ).toCss(),
                 ),
               ).merge(cardDartStyle),
               children: [
                 if (brand != null) brand,
                 if (title != null || description != null)
                   _ShellHeading(
                     title: title,
                     description: description,
                     centered: true,
                   ),
                 ...normalizeChildren(child, children),
                 if (footer != null) footer,
               ],
             ),
           ),
         ),
       ],
     );