File tree Expand file tree Collapse file tree 5 files changed +57
-67
lines changed Expand file tree Collapse file tree 5 files changed +57
-67
lines changed Original file line number Diff line number Diff line change @@ -7,8 +7,8 @@ import {createBreadcrumb} from './composables/useBreadcrumb'
7
7
import './styles/styles.scss'
8
8
9
9
// export available components
10
- export { default as BAccordion } from './components/BAccordion.vue'
11
- export { default as BAccordionItem } from './components/BAccordionItem.vue'
10
+ export { default as BAccordion } from './components/BAccordion/BAccordion .vue'
11
+ export { default as BAccordionItem } from './components/BAccordion/ BAccordionItem.vue'
12
12
export { default as BAlert } from './components/BAlert.vue'
13
13
export { default as BAvatar } from './components/BAvatar/BAvatar.vue'
14
14
export { default as BAvatarGroup } from './components/BAvatar/BAvatarGroup.vue'
Load Diff This file was deleted.
Original file line number Diff line number Diff line change
1
+ <template >
2
+ <div :id =" computedId" class =" accordion" :class =" classes" >
3
+ <slot />
4
+ </div >
5
+ </template >
6
+
7
+ <script setup lang="ts">
8
+ // https://vuejs.org/guide/typescript/composition-api.html#syntax-limitations , may be possible in a future release
9
+ // import type {BAccordionProps} from '@/types/components'
10
+ import {computed , InjectionKey , provide } from ' vue'
11
+ import useId from ' @/composables/useId'
12
+
13
+ interface BAccordionProps {
14
+ flush? : boolean
15
+ free? : boolean
16
+ id? : string
17
+ }
18
+
19
+ const props = withDefaults (defineProps <BAccordionProps >(), {
20
+ flush: false ,
21
+ free: false ,
22
+ id: undefined ,
23
+ })
24
+
25
+ const computedId = useId (props .id , ' accordion' )
26
+
27
+ const classes = computed (() => ({
28
+ ' accordion-flush' : props .flush ,
29
+ }))
30
+
31
+ if (! props .free ) {
32
+ provide (injectionKey , computedId .value .toString ())
33
+ }
34
+ </script >
35
+
36
+ <script lang="ts">
37
+ export const injectionKey: InjectionKey <string > = Symbol ()
38
+ </script >
Original file line number Diff line number Diff line change 28
28
</div >
29
29
</template >
30
30
31
- <script lang="ts">
32
- import {defineComponent , inject } from ' vue'
31
+ <script setup lang="ts">
32
+ import {inject } from ' vue'
33
+ import BCollapse from ' ../BCollapse.vue'
34
+ import vBToggle from ' @/directives/BToggle'
35
+ import useId from ' @/composables/useId'
33
36
import {injectionKey } from ' ./BAccordion.vue'
34
- import BCollapse from ' ./BCollapse.vue'
35
- import BToggle from ' ../directives/BToggle'
36
- import useId from ' ../composables/useId'
37
+ // import type {BAccordionItemProps} from '@/types/components'
37
38
38
- export default defineComponent ({
39
- name: ' BAccordionItem' ,
40
- components: {
41
- BCollapse ,
42
- },
43
- directives: {
44
- BToggle ,
45
- },
46
- props: {
47
- title: {type: String },
48
- id: {type: String },
49
- visible: {type: Boolean , default: false },
50
- },
51
- setup(props ) {
52
- const computedId = useId (props .id , ' accordion_item' )
53
- const parent = inject (injectionKey , ' ' )
39
+ interface BAccordionItemProps {
40
+ id: string
41
+ title: string
42
+ visible? : boolean
43
+ }
54
44
55
- return {
56
- parent ,
57
- computedId ,
58
- }
59
- },
60
- })
45
+ const props = withDefaults (defineProps <BAccordionItemProps >(), {visible: false })
46
+
47
+ const computedId = useId (props .id , ' accordion_item' )
48
+ const parent = inject (injectionKey , ' ' )
61
49
</script >
Original file line number Diff line number Diff line change 1
- import BAccordion from './BAccordion.vue'
2
- import BAccordionItem from './BAccordionItem.vue'
1
+ import BAccordion from './BAccordion/BAccordion .vue'
2
+ import BAccordionItem from './BAccordion/ BAccordionItem.vue'
3
3
import BAlert from './BAlert.vue'
4
4
import BAvatar from './BAvatar/BAvatar.vue'
5
5
import BAvatarGroup from './BAvatar/BAvatarGroup.vue'
You can’t perform that action at this time.
0 commit comments