whole_func_string: function updateInkBarStyles () {
      var elements = getElements();
  
      if (!elements.tabs[ ctrl.selectedIndex ]) {
        angular.element(elements.inkBar).css({ left: 'auto', right: 'auto' });
        return;
      }
  
      if (!ctrl.tabs.length) return queue.push(ctrl.updateInkBarStyles);
      // if the element is not visible, we will not be able to calculate sizes until it is
      // we should treat that as a resize event rather than just updating the ink bar
      if (!$element.prop('offsetParent')) return handleResizeWhenVisible();
  
      var index      = ctrl.selectedIndex,
          totalWidth = elements.paging.offsetWidth,
          tab        = elements.tabs[ index ],
          left       = tab.offsetLeft,
          right      = totalWidth - left - tab.offsetWidth;
  
      if (ctrl.shouldCenterTabs) {
        // We need to use the same calculate process as in the pagination wrapper, to avoid rounding deviations.
        var tabWidth = calcTabsWidth(elements.tabs);
  
        if (totalWidth > tabWidth) {
          $mdUtil.nextTick(updateInkBarStyles, false);
        }
      }
      updateInkBarClassName();
      angular.element(elements.inkBar).css({ left: left + 'px', right: right + 'px' });
    }
func_code_string: function updateInkBarStyles () {
      var elements = getElements();
  
      if (!elements.tabs[ ctrl.selectedIndex ]) {
        angular.element(elements.inkBar).css({ left: 'auto', right: 'auto' });
        return;
      }
  
      if (!ctrl.tabs.length) return queue.push(ctrl.updateInkBarStyles);
      // if the element is not visible, we will not be able to calculate sizes until it is
      // we should treat that as a resize event rather than just updating the ink bar
      if (!$element.prop('offsetParent')) return handleResizeWhenVisible();
  
      var index      = ctrl.selectedIndex,
          totalWidth = elements.paging.offsetWidth,
          tab        = elements.tabs[ index ],
          left       = tab.offsetLeft,
          right      = totalWidth - left - tab.offsetWidth;
  
      if (ctrl.shouldCenterTabs) {
        // We need to use the same calculate process as in the pagination wrapper, to avoid rounding deviations.
        var tabWidth = calcTabsWidth(elements.tabs);
  
        if (totalWidth > tabWidth) {
          $mdUtil.nextTick(updateInkBarStyles, false);
        }
      }
      updateInkBarClassName();
      angular.element(elements.inkBar).css({ left: left + 'px', right: right + 'px' });
    }
func_documentation_string: Repositions the ink bar to the selected tab.
  @returns {*}