* feat(frontend): wip * wip * wip * wip * wip * add toggle * correctly handle monaco theme * wip * wip * wip * wip * wip * feat(frontend): Dark mode v0 * feat(frontend): Adap AI gen poppup * feat(frontend): Adap script metadata labels * feat(frontend): Fix unreadable texts * feat(frontend): Fix unreadable texts * feat(frontend): Fix unreadable texts * feat(frontend): Fix ressource picker * feat(frontend): Fix unreadable texts * feat(frontend): Fix unreadable texts * feat(frontend): Fix unreadable texts * feat(frontend): Add theme toggle in the login page * feat(frontend): Fix unreadable texts * feat(frontend): Fix language selection * feat(frontend): Fix FlowStatusViewer colors * feat(frontend): Fix divide colors * feat(frontend): Fix flow graph buttons * feat(frontend): add theme toggle in login modal * feat(frontend): small ui fix * feat(frontend): fix graph dark mode toggle
41 lines
1.1 KiB
Svelte
41 lines
1.1 KiB
Svelte
<script context="module" lang="ts">
|
|
export type ToggleButtonContext = {
|
|
selected: Writable<any>
|
|
select: (value: any) => void
|
|
}
|
|
</script>
|
|
|
|
<script lang="ts">
|
|
import { createEventDispatcher, setContext } from 'svelte'
|
|
import { writable, type Writable } from 'svelte/store'
|
|
import { TabGroup, TabList } from '@rgossiaux/svelte-headlessui'
|
|
import { twMerge } from 'tailwind-merge'
|
|
|
|
export let selected: any
|
|
export let noWFull: boolean = false
|
|
|
|
const dispatch = createEventDispatcher()
|
|
const selectedContent = writable(selected)
|
|
|
|
function setSelected(selected: any) {
|
|
selectedContent.set(selected)
|
|
}
|
|
|
|
$: setSelected(selected)
|
|
|
|
$: $selectedContent && dispatch('selected', $selectedContent)
|
|
setContext<ToggleButtonContext>('ToggleButtonGroup', {
|
|
selected: selectedContent,
|
|
select: (value: any) => {
|
|
selectedContent.set(value)
|
|
selected = value
|
|
}
|
|
})
|
|
</script>
|
|
|
|
<TabGroup class={twMerge(`h-8 flex ${noWFull ? '' : 'w-full'}`, $$props.class)}>
|
|
<TabList class="flex bg-surface-secondary rounded-md p-0.5 gap-1 h-full ">
|
|
<slot />
|
|
</TabList>
|
|
</TabGroup>
|