first commit

This commit is contained in:
brusnitsyn
2025-10-31 16:48:05 +09:00
commit 8b650558e2
143 changed files with 24664 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
<script setup>
import { ref, provide, onUnmounted } from 'vue'
const props = defineProps({
// ID элемента, который открыт по умолчанию
opened: {
type: [String, Number],
default: null
}
})
const activeItem = ref(props.opened)
const registeredItems = ref(new Set())
const accordionManager = {
activeItem,
open: (id) => {
activeItem.value = id
},
close: () => {
activeItem.value = null
},
registerItem: (id) => {
registeredItems.value.add(id)
},
unregisterItem: (id) => {
registeredItems.value.delete(id)
}
};
provide('accordionManager', accordionManager)
</script>
<template>
<div class="space-y-4">
<slot />
</div>
</template>