Returns the completed progress bar. Every time this is called the animation moves.

        Positional arguments:
        width -- the width of the entire bar (including borders).

def bar(self, width, **_):
        """Returns the completed progress bar. Every time this is called the animation moves.

        Positional arguments:
        width -- the width of the entire bar (including borders).
        """
        width -= self._width_offset
        self._position += self._direction

        # Change direction.
        if self._position <= 0 and self._direction < 0:
            self._position = 0
            self._direction = 1
        elif self._position > width:
            self._position = width - 1
            self._direction = -1

        final_bar = (
            self.CHAR_LEFT_BORDER +
            self.CHAR_EMPTY * self._position +
            self.CHAR_ANIMATED +
            self.CHAR_EMPTY * (width - self._position) +
            self.CHAR_RIGHT_BORDER
        )
        return final_bar