chore: lift components folder

This commit is contained in:
Eric Liu 2020-07-19 09:06:08 -07:00
commit 2200b29b92
301 changed files with 57 additions and 76 deletions

View file

@ -1,58 +0,0 @@
<script>
export let selectedIndex = 0;
import { afterUpdate, createEventDispatcher, setContext } from "svelte";
import { writable } from "svelte/store";
const dispatch = createEventDispatcher();
const currentId = writable(null);
$: currentIndex = -1;
$: switches = [];
$: if (switches[currentIndex]) {
dispatch("change", currentIndex);
currentId.set(switches[currentIndex].id);
}
setContext("ContentSwitcher", {
currentId,
add: ({ id, text, selected }) => {
if (selected) {
selectedIndex = switches.length;
}
switches = [...switches, { id, text, selected }];
},
update: id => {
selectedIndex = switches.map(({ id }) => id).indexOf(id);
},
change: direction => {
let index = currentIndex + direction;
if (index < 0) {
index = switches.length - 1;
} else if (index >= switches.length) {
index = 0;
}
selectedIndex = index;
}
});
afterUpdate(() => {
if (selectedIndex !== currentIndex) {
currentIndex = selectedIndex;
}
});
</script>
<div
role="tablist"
class:bx--content-switcher={true}
{...$$restProps}
on:click
on:mouseover
on:mouseenter
on:mouseleave>
<slot />
</div>