* chore: add storybook * chore: unify FE codeabse * chore: update eslint rules * chore: harmonize the use of "subtle" color * chore: remove an extra sidebar rail * refactor: make panel items more consistent * chore: cleanups after merging new code from base * refactor: refine composables * fix: add lost import * chore: make icon style consistent * fix: don't show empty "supported" methods * refactor: solidify select items
31 lines
768 B
Vue
31 lines
768 B
Vue
<script setup lang="ts">
|
|
/**
|
|
* @component AppCollapsible
|
|
* @description An interactive component that expands/collapses content.
|
|
*/
|
|
import type { CollapsibleRootEmits, CollapsibleRootProps } from 'reka-ui';
|
|
import { CollapsibleRoot, useForwardPropsEmits } from 'reka-ui';
|
|
|
|
/*
|
|
* Types & Interfaces.
|
|
*/
|
|
|
|
export interface AppCollapsibleProps extends CollapsibleRootProps {}
|
|
|
|
/*
|
|
* Component Setup.
|
|
*/
|
|
|
|
const props = defineProps<AppCollapsibleProps>();
|
|
const emits = defineEmits<CollapsibleRootEmits>();
|
|
|
|
const forwarded = useForwardPropsEmits(props, emits);
|
|
</script>
|
|
|
|
<template>
|
|
<!-- eslint-disable-next-line vue/no-template-shadow -->
|
|
<CollapsibleRoot v-slot="{ open }" v-bind="forwarded">
|
|
<slot :open="open" />
|
|
</CollapsibleRoot>
|
|
</template>
|