* Housekeeping
* Resolve placeholder bug + hide from choice list
* Restructure test folder
* Update cypress test to assert one placeholder
* Fix breaking e2e test
* Remove ability to pass placeholder via config for select boxes
* Add further e2e tests covering placeholders
* Add unit tests for _generatePlaceholderValue
* Display placeholder choice for select one
* Add further e2e test to assert on placeholder ordering
* Add labels to exclude from draft releases
* Add failure case to e2e test workflow
* Resolve broken e2e test
* Update puppeteer snapshot baseline
* breaking test
* Remove ablity to pass multiple elements + tests
* Update readme
* Update README.md
* 🔖 Version 8.0.0
* Remove type definition hack
* Update coverage command
* Add some missing list tests
* Remove .only
* Update demo page to loop over elements
* Update constructor to set initialised flag if already active
* Make templates private
* Throw type error once if element is invalid
* Fix list children bug
* Re-add generic examples to index.html
* Housekeeping
* Use typeof instead of isType where applicable
* Remove isElement
* Add test for isIE11
* run actions on dependencies change
* add bundlesize token to master run
* fix bundlesize commit number
* add cypress env
* also run on - '.browserslistrc' changes
* update node-sass to allow install on Node 12 and trigger events
* use script
* add group
* skip husky on cypress
* upgrade csso dependency to make it trim sourcemaps
* fix run-p / run-s use
* remove commited assets on check
* commit assets
* remove cypress record
* restore recording
* reduce bundlesize limits
* try to specify key implicity
* remove Cypress recording
* restore build in bundlesize
* regenerate package-json.lock
* commit generated assets
* handle no-js case in lint
* fix lint error
Instead of attaching a new root-level event listener for bubbling events
for every choices instance, use a simple event delegation script to
handle each event type.
Each event callback function already is coded as if it were fully
delegated, since the events are attached at the document level, so
no changes are needed to detect which element is being called.
Note that focus and blur event do not bubble, so they have been left as
they are.
Also note that the event delegation uses an IIFE purposely instead of
ES6 modules, since the event list should be globally cached, and it
doesn't make sense to instantiate a new scope for each instance (then
we're back where we started!)
fix#643
Fixes scrollbar issue in IE11. There is an EDGE-CASE where-by if a user were to select the same option twice, the dropdown doesn't go away. This is, however a very extreme case and we are on the right track