Line data Source code
1 : import 'package:widgetbook_generator/code_generators/instances/folder_instance.dart'; 2 : import 'package:widgetbook_generator/code_generators/instances/instance.dart'; 3 : import 'package:widgetbook_generator/code_generators/instances/list_instance.dart'; 4 : import 'package:widgetbook_generator/code_generators/instances/widget_element_instance.dart'; 5 : import 'package:widgetbook_generator/code_generators/properties/property.dart'; 6 : import 'package:widgetbook_generator/services/tree_service.dart'; 7 : 8 : /// An instance for Category 9 : class CategoryInstance extends Instance { 10 : /// Creates a new instance of [CategoryInstance] 11 1 : CategoryInstance({ 12 : required String name, 13 : List<Folder> folders = const <Folder>[], 14 : List<Widget> widgets = const <Widget>[], 15 1 : }) : super( 16 : name: 'Category', 17 1 : properties: [ 18 1 : Property.string(key: 'name', value: name), 19 1 : Property( 20 : key: 'folders', 21 1 : instance: ListInstance( 22 : instances: folders 23 3 : .map((folder) => FolderInstance(folder: folder)) 24 1 : .toList(), 25 : ), 26 : ), 27 1 : Property( 28 : key: 'widgets', 29 1 : instance: ListInstance( 30 : instances: widgets 31 3 : .map((widget) => WidgetElementInstance( 32 1 : name: widget.name, 33 1 : stories: widget.stories, 34 : )) 35 1 : .toList(), 36 : ), 37 : ), 38 : ], 39 : ); 40 : }