def css_classes(self, extra_classes=None):
if hasattr(extra_classes, '<STR_LIT>'):<EOL><INDENT>extra_classes = extra_classes.split()<EOL><DEDENT>extra_classes = set(extra_classes or [])<EOL>field_css_classes = getattr(self.form, '<STR_LIT>', None)<EOL>if hasattr(field_css_classes, '<STR_LIT>'):<EOL><INDENT>extra_classes.update(field_css_classes.split())<EOL><DEDENT>elif isinstance(field_css_classes, (list, tuple)):<EOL><INDENT>extra_classes.update(field_css_classes)<EOL><DEDENT>elif isinstance(field_css_classes, dict):<EOL><INDENT>extra_field_classes = []<EOL>for key in ('<STR_LIT:*>', self.name):<EOL><INDENT>css_classes = field_css_classes.get(key)<EOL>if hasattr(css_classes, '<STR_LIT>'):<EOL><INDENT>extra_field_classes = css_classes.split()<EOL><DEDENT>elif isinstance(css_classes, (list, tuple)):<EOL><INDENT>if '<STR_LIT>' in css_classes:<EOL><INDENT>css_classes.remove('<STR_LIT>')<EOL>extra_field_classes.extend(css_classes)<EOL><DEDENT>else:<EOL><INDENT>extra_field_classes = css_classes<EOL><DEDENT><DEDENT><DEDENT>extra_classes.update(extra_field_classes)<EOL><DEDENT>return super(NgBoundField, self).css_classes(extra_classes)<EOL>
Returns a string of space-separated CSS classes for the wrapping element of this input field.