Implement custom lightweight modal #230
Introduce a brand new lightweight and efficient modal component. It is designed to be visually similar to the previous one to not introduce a change in feel of the application in a patch release, but behind the scenes it features: - Enhanced application speed and reduced bundle size. - New flexbox-driven layout, eliminating JS calculations. - Composition API ready for Vue 3.0 #230. Other changes: - Adopt idiomatic Vue via `v-modal` binding. - Add unit tests for both the modal and dialog. - Remove `vue-js-modal` dependency in favor of the new implementation. - Adjust modal shadow color to better match theme. - Add `@vue/test-utils` for unit testing.
This commit is contained in:
@@ -27,3 +27,21 @@
|
||||
*/
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
|
||||
@mixin fade-slide-transition($name, $duration, $offset-upward: null) {
|
||||
.#{$name}-enter-active,
|
||||
.#{$name}-leave-active {
|
||||
transition: all $duration;
|
||||
}
|
||||
|
||||
.#{$name}-leave-active,
|
||||
.#{$name}-enter, // Vue 2.X compatibility
|
||||
.#{$name}-enter-from // Vue 3.X compatibility
|
||||
{
|
||||
opacity: 0;
|
||||
|
||||
@if $offset-upward {
|
||||
transform: translateY($offset-upward);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user