The viewer allows loading packages to extend the viewer's functionalities.
The viewer also supports few core packages such as a area of interest, basemap panel, geoChart,swiper, time-slider.
Creating a vanila JavaScript package
Creating a core package
You can see a core package example here