UIComponent.fromJson(Map<String, dynamic> json) { type = json['type']; id = json['id']; properties = json['props'] != null ? Properties.fromJson(json['props'], type!) : null; }