code: function updateClassWithValue(element, className) {
      var lastClass;
  
      return function updateClassFn(newValue) {
        var value = validateAttributeValue(className, newValue || "");
        if (angular.isDefined(value)) {
          if (lastClass) element.removeClass(lastClass);
          lastClass = !value ? className : className + "-" + value.trim().replace(WHITESPACE, "-");
          element.addClass(lastClass);
        }
      };
    }
docs: After link-phase, do NOT remove deprecated layout attribute selector.
  Instead watch the attribute so interpolated data-bindings to layout
  selectors will continue to be supported.
  
  $observe() the className and update with new class (after removing the last one)
  
  e.g. `layout="{{layoutDemo.direction}}"` will update...
  
  NOTE: The value must match one of the specified styles in the CSS.
  For example `flex-gt-md="{{size}}`  where `scope.size == 47` will NOT work since
  only breakpoints for 0, 5, 10, 15... 100, 33, 34, 66, 67 are defined.