vue-final / vue-final-modal

🍕Vue Final Modal is a tiny, renderless, mobile-friendly, feature-rich modal component for Vue.js.
https://vue-final-modal.org
MIT License
931 stars 99 forks source link

vue-final-modal@5.x is work in progress, please let me know if you have any practical suggestions 😉 #421

Open hunterliu1003 opened 10 months ago

hunterliu1003 commented 10 months ago

vue-final-modal@5

First of all, I would like to thank all users of vue-final-modal. I learned a lot through creating and maintaining this component library. I am planing to implement v5 recently. If you have any practical suggestions, please leave a message below.

Roadmap

Features

Breaking Change

Compatibility

1. For Option API

vue-final-modal@2.x is for Vue 2, vue-final-modal@3.x is for Vue 3.

2.x and 3.x have pretty much the same API.

2. For Composition API

vue-final-modal@4.x introduce the useModal() composable and fully rewrite with Typescript.

However it's not support Vue 2.

cooper667 commented 9 months ago

Make vue-final-modal@5.x support both Vue 2 and Vue 3

Why is this the aim? Vue 2 reached end of life at the end of last year so supporting it seems like a completely unnecessary overhead?

https://v2.vuejs.org/lts/

hunterliu1003 commented 9 months ago

Make vue-final-modal@5.x support both Vue 2 and Vue 3

Why is this the aim? Vue 2 reached end of life at the end of last year so supporting it seems like a completely unnecessary overhead?

https://v2.vuejs.org/lts/

I just want to try it out and play with vue-demi vue-final-modal@2 supports Vue 2, vue-final-modal@3 supports Vue 3 and their syntax is exactly the same. But vue-final-modal@4 only supports Vue 3 and the syntax has breaking change. I understand that Vue 2 has reached end of life, but if the new syntax of vue-final-modal@5 can both support Vue 2 and 3, Vue 2 users can upgrade to vue-final-modal@5 before migrating to Vue 3 to reduce the complexity of migration.

After some research, vue-demi is not aimed at component compatibility but is purely logical composable. So if vue-final-modal@5 needs to support both Vue 2 and Vue 3, there may be a lot of duplicate code in the project. I'm not sure if it's worth it.

ZWkang commented 8 months ago

Does it still in progress? useTemplate looks great and looking forward to the custom dialog container. Thanks your contribution

a982246809 commented 6 months ago

与vue-router绑定?

negezor commented 5 months ago

Hi. What's the status of the 5.x? I just see a lot of potential places for performance improvements, like reducing the amount of WatchEffect. But I'm not sure if it's worth doing a PR for version 4 now, since a lot of things have already been changed in 5.

Also about Vue 2 support, it's clearly not worth it, I'd even say it's better to support Vue from 3.3+ to get toRef() and toValue() for getters.

lilkimo commented 4 months ago

It would be nice if the onBeforeClose()/onClosed() event provides more information on how the modal was closed (by clicking the overlay, esc key, swipe, useModal().close())

AmitJoki commented 2 months ago

In nested modals, it would be nice if we could hide the parent modal so the child modal appears alone but when it is closed, the parent modal is shown again.

beard7 commented 4 days ago

If multiple modals are open it would be good to have the option of automatically raising the z-index of the 'active' modal so it appears above other modals.