refactor: refactored accordion

This commit is contained in:
victor
2022-12-11 00:05:01 +04:00
parent beb6efaa8a
commit 93e863f02c
11 changed files with 467 additions and 208 deletions

View File

@@ -0,0 +1,27 @@
import { onBeforeMount, onBeforeUnmount, reactive } from 'vue'
import type { tAccordionMode, tState } from '@/components/Accordion/types'
const accordionsStates = reactive<tState>({})
export function useAccordionState(id?: string, mode?: tAccordionMode): {
accordionsStates: tState
} {
onBeforeMount(() => {
if (!id) return
accordionsStates[id] = {
id: id,
mode: mode ? mode : 'default',
panels: {},
}
})
onBeforeUnmount(() => {
if (!id) return
delete accordionsStates[id]
})
return {
accordionsStates,
}
}