## Description
TL;DR
This is a complete architectural change of of List widget works to
support all widgets we currently have and should automatically support
any future widgets.
It also introduces nested List widgets i.e a list widget can have a
another list widget which in turn can have another list widget.
Fixes#18206Fixes#6775Fixes#13211Fixes#16582Fixes#11739Fixes#15094Fixes#6840Fixes#10841Fixes#17386Fixes#18340Fixes#16898Fixes#17555Fixes#6858Fixes#9568Fixes#17480Fixes#18523Fixes#18206Fixes#16586Fixes#18106Fixes#16576Fixes#14697Fixes#9607Fixes#19648Fixes#19739Fixes#19652Fixes#18730Fixes#19503Fixes#19498Fixes#19437Fixes#5245Fixes#19150Fixes#18638Fixes#11332Fixes#17901Fixes#19043Fixes#17777Fixes#8237Fixes#15487Fixes#15988Fixes#18621Fixes#16788Fixes#18110Fixes#18382Fixes#17427Fixes#18105Fixes#18287Fixes#19808Fixes#14655
## Type of change
- New feature (non-breaking change which adds functionality)
## How Has This Been Tested?
- Cypress
- Jest
- Manual
## Checklist:
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
---------
Co-authored-by: Tolulope Adetula <31691737+Tooluloope@users.noreply.github.com>
Co-authored-by: Favour Ohanekwu <fohanekwu@gmail.com>