feat(library): Exposed expand and contract methods

Methods for expanding and contracting the drop down menu have been made public
Also added a check in each method to not run if it's already in that state
i.e if already expanded don't run expand