A lot of native mobile chat messengers, like telegram, whatsapp, etc, implement this wrapping behaviour: wrapping time label to a new line when there is no enough room for text.
Simple chat bubble consist of two parts: Text and time label. In simple case, they are almost positioned on the same baseline. Even when the text is multiline (baseline with last line). But in some cases, when there is no free space and the texts are trying to intersect, an indent is added at the bottom of bubble.
It will be simple to understand, if I show it by pictures and videos:
And 2 videos:
multiline https://youtu.be/eigLIHWaub8
singleline https://youtu.be/9GMDFYwMqdU
How to implement it on Flutter?