props method
Returns CSS properties corresponding to this physics rule.
Implementation
Map<String, String> props(ScrollDirection direction) {
final isHoriz = direction == ScrollDirection.horizontal;
switch (type) {
case ScrollPhysicsType.neverScrollable:
return {'overflow': 'hidden'};
case ScrollPhysicsType.bouncing:
return {
'overflow-x': isHoriz ? 'auto' : 'hidden',
'overflow-y': !isHoriz ? 'auto' : 'hidden',
'overscroll-behavior': 'auto',
'-webkit-overflow-scrolling': 'touch',
};
case ScrollPhysicsType.clamping:
return {
'overflow-x': isHoriz ? 'auto' : 'hidden',
'overflow-y': !isHoriz ? 'auto' : 'hidden',
'overscroll-behavior-${isHoriz ? 'x' : 'y'}': 'none',
};
case ScrollPhysicsType.snapping:
return {
'overflow-x': isHoriz ? 'auto' : 'hidden',
'overflow-y': !isHoriz ? 'auto' : 'hidden',
'scroll-snap-type': isHoriz ? 'x mandatory' : 'y mandatory',
};
case ScrollPhysicsType.adaptive:
return {
'overflow-x': isHoriz ? 'scroll' : 'hidden',
'overflow-y': !isHoriz ? 'scroll' : 'hidden',
};
}
}