Skip to content

Commit 8e0da98

Browse files
feat(BModal): ✨ Add modal-header slot and rename footer slot
1 parent 276ee04 commit 8e0da98

File tree

1 file changed

+27
-25
lines changed

1 file changed

+27
-25
lines changed

packages/bootstrap-vue-3/src/components/BModal.vue

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -19,35 +19,37 @@
1919
:class="contentClass"
2020
>
2121
<div v-if="!hideHeaderBoolean" class="modal-header" :class="computedHeaderClasses">
22-
<component :is="titleTag" class="modal-title" :class="computedTitleClasses">
23-
<slot name="title">
24-
{{ title }}
25-
</slot>
26-
</component>
27-
<template v-if="!hideHeaderCloseBoolean">
28-
<button
29-
v-if="$slots['header-close']"
30-
type="button"
31-
data-bs-dismiss="modal"
32-
@click="hide()"
33-
>
34-
<slot name="header-close" />
35-
</button>
36-
<b-close-button
37-
v-else
38-
type="button"
39-
:aria-label="headerCloseLabel"
40-
data-bs-dismiss="modal"
41-
:white="headerCloseWhiteBoolean"
42-
@click="hide()"
43-
/>
44-
</template>
22+
<slot name="modal-header">
23+
<component :is="titleTag" class="modal-title" :class="computedTitleClasses">
24+
<slot name="title">
25+
{{ title }}
26+
</slot>
27+
</component>
28+
<template v-if="!hideHeaderCloseBoolean">
29+
<button
30+
v-if="$slots['header-close']"
31+
type="button"
32+
data-bs-dismiss="modal"
33+
@click="hide()"
34+
>
35+
<slot name="header-close" />
36+
</button>
37+
<b-close-button
38+
v-else
39+
type="button"
40+
:aria-label="headerCloseLabel"
41+
data-bs-dismiss="modal"
42+
:white="headerCloseWhiteBoolean"
43+
@click="hide()"
44+
/>
45+
</template>
46+
</slot>
4547
</div>
4648
<div class="modal-body" :class="computedBodyClasses">
4749
<slot />
4850
</div>
4951
<div v-if="!hideFooterBoolean" class="modal-footer" :class="computedFooterClasses">
50-
<slot name="footer">
52+
<slot name="modal-footer">
5153
<b-button
5254
v-if="!okOnlyBoolean"
5355
type="button"
@@ -85,7 +87,7 @@
8587
<script setup lang="ts">
8688
// import type {BModalEmits, BModalProps} from '../types/components'
8789
import {Modal} from 'bootstrap'
88-
import { computed, nextTick, onBeforeUnmount, onMounted, ref, toRef, watch} from 'vue'
90+
import {computed, nextTick, onBeforeUnmount, onMounted, ref, toRef, watch} from 'vue'
8991
import {useBooleanish, useEventListener, useId} from '../composables'
9092
import type {Booleanish, ClassValue, ColorVariant, InputSize} from '../types'
9193
import BButton from './BButton/BButton.vue'

0 commit comments

Comments
 (0)