Linearly interpolate between two lists of box shadows.
If the lists differ in length, excess items are lerped with null.
Source
static List<BoxShadow> lerpList(List<BoxShadow> a, List<BoxShadow> b, double t) { if (a == null && b == null) return null; if (a == null) a = new List<BoxShadow>(); if (b == null) b = new List<BoxShadow>(); List<BoxShadow> result = new List<BoxShadow>(); int commonLength = math.min(a.length, b.length); for (int i = 0; i < commonLength; ++i) result.add(BoxShadow.lerp(a[i], b[i], t)); for (int i = commonLength; i < a.length; ++i) result.add(a[i].scale(1.0 - t)); for (int i = commonLength; i < b.length; ++i) result.add(b[i].scale(t)); return result; }