ldThemeWrapper function

Widget ldThemeWrapper({
  1. LdThemeBrightnessMode brightnessMode = LdThemeBrightnessMode.auto,
  2. LdThemeSize? size,
  3. List<LocalizationsDelegate> localizationsDelegates = const [],
  4. required Widget child,
})

Wraps the child with a LdThemeProvider and Localizations widget as required by the Liquid Design System.

Implementation

Widget ldThemeWrapper({
  LdThemeBrightnessMode brightnessMode = LdThemeBrightnessMode.auto,
  LdThemeSize? size,
  List<LocalizationsDelegate> localizationsDelegates = const [],
  required Widget child,
}) {
  final theme = LdTheme();
  if (size != null) {
    theme.setThemeSize(size);
  }
  return Localizations(
    delegates: [
      ...localizationsDelegates,
      GlobalMaterialLocalizations.delegate,
      GlobalWidgetsLocalizations.delegate,
      LiquidLocalizations.delegate,
    ],
    locale: const Locale('en'),
    child: Directionality(
      textDirection: TextDirection.ltr,
      child: LdThemeProvider(
        theme: theme,
        autoSize: size == null,
        brightnessMode: brightnessMode,
        child: child,
      ),
    ),
  );
}