2022-06-23 11:09:18 +00:00
|
|
|
<script lang="ts">
|
2023-05-23 10:19:35 +00:00
|
|
|
import TabList from './TabList.svelte'
|
2023-05-17 08:14:58 +00:00
|
|
|
import { IModeSelector } from '../utils'
|
2022-06-23 11:09:18 +00:00
|
|
|
|
2023-05-17 08:14:58 +00:00
|
|
|
export let props: IModeSelector
|
2022-06-23 11:09:18 +00:00
|
|
|
|
2023-05-17 08:14:58 +00:00
|
|
|
$: modeList = props.config.map((c) => {
|
2023-04-23 17:37:24 +00:00
|
|
|
return {
|
|
|
|
id: c[0],
|
|
|
|
labelIntl: c[1],
|
2023-04-27 15:05:44 +00:00
|
|
|
labelParams: c[2],
|
2023-05-17 08:14:58 +00:00
|
|
|
action: () => props.onChange(c[0])
|
2022-06-23 11:09:18 +00:00
|
|
|
}
|
2023-04-23 17:37:24 +00:00
|
|
|
})
|
2022-06-23 11:09:18 +00:00
|
|
|
</script>
|
|
|
|
|
2023-09-08 04:37:31 +00:00
|
|
|
<div class="ac-header withoutBackground tabs-start full">
|
2023-05-10 17:16:40 +00:00
|
|
|
<TabList
|
|
|
|
items={modeList}
|
2023-05-17 08:14:58 +00:00
|
|
|
selected={props.mode}
|
|
|
|
kind={'separated'}
|
2023-07-11 10:27:49 +00:00
|
|
|
adaptiveShrink={'sm'}
|
2023-05-10 17:16:40 +00:00
|
|
|
on:select={(result) => {
|
|
|
|
if (result.detail !== undefined && result.detail.action) result.detail.action()
|
|
|
|
}}
|
|
|
|
/>
|
2022-06-23 11:09:18 +00:00
|
|
|
</div>
|