<itemvalue="If the current action is not removing an element, update [_selectedElements] with [defaultData]. Otherwise, keep the previous value of [_selectedElements], preventing it from being updated by [defaultData]. Note: [didUpdateWidget] is called whenever the widget is updated, so it's important to control when [_selectedElements] should be updated. This is also executed if and only if we do not have any elements selected, because in this way we will only have an update if an element is selected after the widget is built. Recommendation: Over time this entire implementation should be migrated to [ValueNotifier], with a singleton abstraction."/>
@ -67,7 +68,6 @@
<itemvalue="The [opacityAnimationWeights] can be used to apply custom weights to these three stages of this animation. The default weights, `[40, 20, 40]`, are good with default [Curves.linear]. Different weights might be better for other cases. For example, if you use [Curves.easeOut], consider setting [opacityAnimationWeights] to `[20, 20, 60]`."/>
<itemvalue="1. The currently displayed list view starts scrolling. 2. Another list view, which scrolls with the same speed, fades over the first one and shows items that are close to the scroll target. 3. The second list view scrolls and stops on the target."/>
<itemvalue="When item position is not available, because it's too far, the scroll is composed into three phases:"/>
<itemvalue="The [duration] must be greater than 0; otherwise, use [jumpTo]."/>