component default component

        .. Note:: default components is just an indication for user and the
            views, except if the Block is required. If required then default is
            selected if nothing explisitely selected.

def defaults(self):
        """ component default component

        .. Note:: default components is just an indication for user and the
            views, except if the Block is required. If required then default is
            selected if nothing explisitely selected.
        """
        default = self._defaults
        # if require and no default, the first component as default
        if not len(default) and self.required and len(self._components):
            default = [six.next(six.itervalues(self._components)).name]
        return default