File tree Expand file tree Collapse file tree 10 files changed +60
-25
lines changed
src/components/VueFinalModal Expand file tree Collapse file tree 10 files changed +60
-25
lines changed Original file line number Diff line number Diff line change 1616 "dependencies" : {
1717 "@vorms/core" : " ^1.1.0" ,
1818 "@vue-final-modal/nuxt" : " workspace:1.0.3" ,
19- "vue-final-modal" : " workspace:4.5.2 " ,
19+ "vue-final-modal" : " workspace:4.5.3 " ,
2020 "vue3-drag-resize" : " ^2.0.5"
2121 }
2222}
Original file line number Diff line number Diff line change 1515 },
1616 "dependencies" : {
1717 "@vue-final-modal/nuxt" : " ^1.0.3" ,
18- "vue-final-modal" : " ^4.5.2 "
18+ "vue-final-modal" : " ^4.5.3 "
1919 }
2020}
Original file line number Diff line number Diff line change 1010 },
1111 "dependencies" : {
1212 "vue" : " ^3.3.7" ,
13- "vue-final-modal" : " ^4.5.2 "
13+ "vue-final-modal" : " ^4.5.3 "
1414 },
1515 "devDependencies" : {
1616 "@iconify/vue" : " ^4.1.1" ,
Original file line number Diff line number Diff line change 2424 },
2525 "dependencies" : {
2626 "@nuxt/kit" : " ^3.8.2" ,
27- "vue-final-modal" : " ^4.5.2 "
27+ "vue-final-modal" : " ^4.5.3 "
2828 },
2929 "devDependencies" : {
3030 "@nuxt/module-builder" : " ^0.5.4" ,
Original file line number Diff line number Diff line change 1+ <script setup lang="ts">
2+ import { VueFinalModal } from ' ~/index'
3+ </script >
4+
5+ <template >
6+ <VueFinalModal v-slot =" { close }" >
7+ <button @click =" () => close()" >
8+ Close
9+ </button >
10+ </VueFinalModal >
11+ </template >
Original file line number Diff line number Diff line change 1+ import App from './App.vue'
2+ import ModalCloseByScopedSlot from './ModalCloseByScopedSlot.vue'
3+ import { createVfm , useModal } from '~/index'
4+
5+ describe ( 'Test scopedSlot' , ( ) => {
6+ it ( 'close() scoped slot ' , ( ) => {
7+ const vfm = createVfm ( )
8+ const modalName = 'modal-close-by-scoped-slot'
9+ useModal ( {
10+ defaultModelValue : true ,
11+ component : ModalCloseByScopedSlot ,
12+ attrs : { class : modalName } ,
13+ } )
14+
15+ cy . mount ( App , {
16+ global : {
17+ plugins : [ vfm ] ,
18+ stubs : { transition : false } ,
19+ } ,
20+ } ) . as ( 'app' )
21+
22+ cy . get ( `.${ modalName } ` ) . should ( 'exist' )
23+ cy . get ( `.${ modalName } ` ) . find ( 'button' ) . click ( )
24+ cy . get ( `.${ modalName } ` ) . should ( 'not.exist' )
25+ } )
26+ } )
Original file line number Diff line number Diff line change 3838 "@cypress/vue" : " ^5.0.5" ,
3939 "@release-it/conventional-changelog" : " ^5.1.1" ,
4040 "@vue-macros/volar" : " ^0.8.4" ,
41- "cypress" : " ^13.6.0 " ,
41+ "cypress" : " ^13.6.4 " ,
4242 "release-it" : " ^16.1.3" ,
4343 "unplugin-vue-define-options" : " ^1.3.8" ,
4444 "unplugin-vue-macros" : " ^2.3.0" ,
Original file line number Diff line number Diff line change @@ -35,7 +35,7 @@ defineOptions({ inheritAttrs: false })
3535const instance = getCurrentInstance ()
3636
3737defineSlots <{
38- ' default' ? (props : { close: () => boolean }): void
38+ ' default' ? (props : { close: () => void }): void
3939 ' swipe-banner' ? (): void
4040}>()
4141
@@ -135,6 +135,11 @@ function close(): boolean {
135135 return true
136136}
137137
138+ /** Close function for scoped slot */
139+ function _close() {
140+ modelValueLocal .value = false
141+ }
142+
138143onBeforeUnmount (() => {
139144 enableBodyScroll ()
140145 arrayRemoveItem (modals , instance )
@@ -223,7 +228,7 @@ defineExpose({
223228 v-bind =" bindSwipe"
224229 @mousedown =" () => onMousedown()"
225230 >
226- <slot v-bind =" { close }" />
231+ <slot v-bind =" { close: _close }" />
227232
228233 <div
229234 v-if =" showSwipeBanner"
Original file line number Diff line number Diff line change 88 },
99 "dependencies" : {
1010 "vue" : " ^3.3.7" ,
11- "vue-final-modal" : " workspace:4.5.2 " ,
11+ "vue-final-modal" : " workspace:4.5.3 " ,
1212 "vue-router" : " ^4.2.5"
1313 },
1414 "devDependencies" : {
You can’t perform that action at this time.
0 commit comments