Skip to content

Commit 68adfa8

Browse files
authored
feat(#93): add tag prop to customise component tag (#144)
* feat(#93): add tag prop to customise component tag * chore(#93): add validator
1 parent 8f05f78 commit 68adfa8

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

src/components/Popover.vue

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<template>
2-
<div
2+
<component
3+
:is="tag"
34
:class="`ct-popover ${themeClass}`"
45
data-collapsible="1"
56
data-collapsible-collapsed=""
@@ -18,16 +19,17 @@
1819
</slot>
1920
</a>
2021

21-
<div
22+
<component
23+
:is="tag"
2224
class="ct-popover__content"
2325
data-collapsible-panel
2426
data-collapsible-trigger-no-icon
2527
>
26-
<div class="ct-popover__content__inner">
28+
<component :is="tag" class="ct-popover__content__inner">
2729
<slot />
28-
</div>
29-
</div>
30-
</div>
30+
</component>
31+
</component>
32+
</component>
3133
</template>
3234

3335
<script>
@@ -37,6 +39,11 @@ export default {
3739
mixins: [ThemeMixin],
3840
3941
props: {
42+
tag: {
43+
type: String,
44+
validator: (value) => ['div', 'span'].includes(value),
45+
default: 'div'
46+
},
4047
trigger: {
4148
type: String,
4249
default: 'Click me'

0 commit comments

Comments
 (0)