* site: tree-select route
* refactor(internal-selection): remove useless remote prop & on-delete-last-option
* refactor(dropdown, popselect): set slots stable mark from true to 1
* fix(scrollbar): attributes applied multiple times
* wip(tree-select): add exports
* fix(tree): misses `on-update-expanded-keys`, `on-update-selected-keys`, `on-update-checked-keys` prop
* feat(tree): support keyboard operations
* feat(tree): scroll with keyboard target node
* fix(tree): `selected-keys` prop influences original array
* feat(tree): pending on selected node at first
* feat(tree): follow tree-select's pending status
* feat(tree): `internalCheckboxFocusable` prop
* refactor(tree): split treeMate to displayTreeMate & dataTreeMate to work with tree-select
* fix(tree): scrollbar won't sync in virtual scroll mode
* feat(tree-select)
* docs: changelog
* docs(tree-select)
* feat(tree-select): stricter type
* fix: typo
* fix(select): input blinks in filterable mode when click at menu and input has value
* fix(tree): multiple line style
* docs(tree-select)
* refactor(tree-select): disable tree expand animation on tree select
* feat(tree-select): change expanded keys on filter
* chore(tree): add comment about animation
* chore
* feat(tree-select): close on single select
* fix(base-selection): input has useless empty row in multiple filterable mode
* docs(tree-select): add clearable in filterable demo
Note that current scroll impl doesn't work well on safari. Since it is tooooo slow.
Use onWheel may alleviate the problem.
However safari has new bug when use onWheel. The overflow scroll behavior will be wired.
****!
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body style="height: 2000px; background: green;">
<div style="background: red; height:300px;overflow: auto;">
<div id="x" style="height: 600px;
width: 50%;
background: blue;
"></div>
</div>
<script>
// document.getElementById('x').addEventListener('wheel', (e) => {
// e.stopImmediatePropagation()
// }, true)
</script>
</body>
</html>
* wip(theme-editor)
* chore: make theme editor looks better
* feat(theme-editor): use controlled overrides
* fix(theme-editor): no invalid color
* chore: update seemly to support keywords color
* feat(theme-editor): add filter
* refactor(theme-editor): use popover
* fix(site): package bundled twice due to src code reference
* docs(back-top): avoid collision with theme-editor