File tree Expand file tree Collapse file tree 3 files changed +48
-0
lines changed Expand file tree Collapse file tree 3 files changed +48
-0
lines changed Original file line number Diff line number Diff line change @@ -46,4 +46,5 @@ export const componentNames = [
46
46
"Dropdown" ,
47
47
"Table" ,
48
48
"Slider" ,
49
+ "Collapse" ,
49
50
] as const ;
Original file line number Diff line number Diff line change
1
+ <template >
2
+ <nav class =" list" >
3
+ <BaseInput v-if =" title" v-slot =" { id }" type =" checkbox" :checked =" checked" :theme =" theme" >
4
+ <label :for =" id" class =" toggle--list" :class =" `--txtColor-${themeValues[0]}`" >
5
+ <span >{{ title }}</span >
6
+ <IconFa name =" angle-down" size =" 20" />
7
+ </label >
8
+ </BaseInput >
9
+ <component :is =" el || 'ul'" class =" list-group" >
10
+ <slot ></slot >
11
+ </component >
12
+ </nav >
13
+ </template >
14
+ <script setup lang="ts">
15
+ import {
16
+ type Component as VueComponent ,
17
+ type DefineComponent ,
18
+ type FunctionalComponent ,
19
+ } from " vue" ;
20
+
21
+ import BaseInput from " ./base/Input.vue" ;
22
+ import IconFa from " ./icon/Fa.vue" ;
23
+
24
+ import type { iUseThemeProps } from " ../types/props" ;
25
+ import useTheme from " ../composables/theme" ;
26
+
27
+ interface Collapse extends iUseThemeProps {
28
+ title? : string ;
29
+ checked? : boolean ;
30
+ el? : VueComponent | FunctionalComponent | DefineComponent | string ;
31
+ }
32
+
33
+ /**
34
+ * Collapse component
35
+ *
36
+ * Collapses contents leaving only the given title behind
37
+ *
38
+ * @component
39
+ */
40
+
41
+ defineOptions ({ name: " CollapseSimple" , inheritAttrs: false });
42
+
43
+ const props = defineProps <Collapse >();
44
+
45
+ const { themeValues } = useTheme (props );
46
+ </script >
Original file line number Diff line number Diff line change @@ -52,6 +52,7 @@ export { default as Modal } from "./components/Modal.vue";
52
52
export { default as Dropdown } from "./components/Dropdown.vue" ;
53
53
export { default as Table } from "./components/Table.vue" ;
54
54
export { default as Slider } from "./components/Slider.vue" ;
55
+ export { default as Collapse } from "./components/Collapse.vue" ;
55
56
56
57
// composables
57
58
export { default as useTheme } from "./composables/theme" ;
You can’t perform that action at this time.
0 commit comments