docs: 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