Line data Source code
1 : import 'package:widgetbook_generator/code_generators/instances/app_info_instance.dart'; 2 : import 'package:widgetbook_generator/code_generators/instances/category_instance.dart'; 3 : import 'package:widgetbook_generator/code_generators/instances/device_instance.dart'; 4 : import 'package:widgetbook_generator/code_generators/instances/instance.dart'; 5 : import 'package:widgetbook_generator/code_generators/instances/list_instance.dart'; 6 : import 'package:widgetbook_generator/code_generators/instances/theme_instance.dart'; 7 : import 'package:widgetbook_generator/code_generators/properties/property.dart'; 8 : 9 : /// An instance for Widgetbook 10 : class WidgetbookInstance extends Instance { 11 : /// Creates a new instance of [WidgetbookInstance] 12 1 : WidgetbookInstance({ 13 : required AppInfoInstance appInfoInstance, 14 : required List<CategoryInstance> categories, 15 : ThemeInstance? lightThemeInstance, 16 : ThemeInstance? darkThemeInstance, 17 : List<DeviceInstance> devices = const <DeviceInstance>[], 18 1 : }) : super( 19 : name: 'Widgetbook', 20 1 : properties: [ 21 1 : Property(key: 'appInfo', instance: appInfoInstance), 22 : if (lightThemeInstance != null) 23 1 : Property(key: 'lightTheme', instance: lightThemeInstance), 24 : if (darkThemeInstance != null) 25 1 : Property(key: 'darkTheme', instance: darkThemeInstance), 26 1 : if (devices.isNotEmpty) 27 1 : Property( 28 : key: 'devices', 29 1 : instance: ListInstance(instances: devices), 30 : ), 31 1 : Property( 32 : key: 'categories', 33 1 : instance: ListInstance(instances: categories), 34 : ), 35 : ], 36 : ); 37 : }