2024-05-16 16:24:50 +02:00
|
|
|
<script lang="ts">
|
|
|
|
import { setContext } from 'svelte';
|
|
|
|
import { writable } from 'svelte/store';
|
|
|
|
|
2024-05-17 13:22:49 +02:00
|
|
|
export let defaultState: 'open' | 'closed' = 'open';
|
2024-05-16 18:18:42 +02:00
|
|
|
export let side: 'left' | 'right' = 'right';
|
2024-05-16 19:10:26 +02:00
|
|
|
export let nohover: boolean = false;
|
2024-06-05 14:51:32 +02:00
|
|
|
export let slotInsideTrigger: boolean = true;
|
2024-05-16 18:18:42 +02:00
|
|
|
|
2024-05-16 16:24:50 +02:00
|
|
|
let open = writable<Record<string, boolean>>({});
|
|
|
|
|
2024-05-17 12:20:46 +02:00
|
|
|
setContext('collapsible-tree-default-state', defaultState);
|
2024-05-16 16:24:50 +02:00
|
|
|
setContext('collapsible-tree-state', open);
|
2024-05-16 18:18:42 +02:00
|
|
|
setContext('collapsible-tree-side', side);
|
2024-05-16 19:10:26 +02:00
|
|
|
setContext('collapsible-tree-nohover', nohover);
|
2024-05-22 16:05:31 +02:00
|
|
|
setContext('collapsible-tree-parent-id', 'root');
|
2024-06-05 14:51:32 +02:00
|
|
|
setContext('collapsible-tree-slot-inside-trigger', slotInsideTrigger);
|
2024-05-16 16:24:50 +02:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<slot />
|