code: function resizeTransition(elementClipper, element, args) {
                  if (args.to.total > args.from.total) {
                      return growTransition(elementClipper, element, args);
                  } else if (args.to.total < args.from.total) {
                      return shrinkTransition(elementClipper, element, args);
                  } else {
                      return Promise.as();
                  }
              }
docs: Plays an animation which makes an element look like it is resizing in 1 dimension. Arguments: - elementClipper: The parent of *element*. It shouldn't have any margin, border, or padding and its size should match element's size. Its purpose is to clip *element* during the animation to give it the illusion that it is resizing. - element: The element that should look like it's resizing. - args: An object with the following required properties: - from: An object representing the old width/height of the element. - to: An object representing the new width/height of the element. from/to are objects of the form { content: number; total: number; }. "content" is the width/height of *element*'s content box (e.g. getContentWidth). "total" is the width/height of *element*'s margin box (e.g. getTotalWidth). - duration: The CSS transition duration property. - timing: The CSS transition timing property. - dimension: The dimension on which *element* is resizing. Either "width" or "height". - anchorTrailingEdge: During the resize animation, one edge will move and the other edge will remain where it is. This flag specifies which edge is anchored (i.e. won't move).