app/components/coco/base/modal/modal.css in coveragebook_components-0.7.4 vs app/components/coco/base/modal/modal.css in coveragebook_components-0.7.5
- old
+ new
@@ -1,8 +1,8 @@
@layer components {
[data-coco][data-component="modal"] {
- @apply fixed inset-0 z-[10000] overflow-y-auto;
+ @apply fixed inset-0 z-[10000] overflow-y-auto scroll-smooth;
.modal-overlay {
@apply fixed inset-0 bg-black bg-opacity-60;
}
@@ -10,9 +10,63 @@
@apply relative flex min-h-screen justify-center items-center z-[10000] p-2 sm:p-8;
}
.modal-content {
@apply contents;
+ }
+
+ /* transitions */
+
+ .modal-overlay {
+ &.overlay-enter {
+ @apply ease-out duration-200;
+ }
+
+ &.overlay-enter-start {
+ @apply opacity-0;
+ }
+
+ &.overlay-enter-end {
+ @apply opacity-100;
+ }
+
+ &.overlay-leave {
+ @apply ease-in duration-150;
+ }
+
+ &.overlay-leave-start {
+ @apply opacity-100;
+ }
+
+ &.overlay-leave-end {
+ @apply opacity-0;
+ }
+ }
+
+ .modal-container {
+ &.container-enter {
+ @apply ease-out duration-[400ms];
+ }
+
+ &.container-enter-start {
+ @apply opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95;
+ }
+
+ &.container-enter-end {
+ @apply opacity-100 translate-y-0 sm:scale-100;
+ }
+
+ &.container-leave {
+ @apply ease-in duration-150;
+ }
+
+ &.container-leave-start {
+ @apply opacity-100 translate-y-0 sm:scale-100;
+ }
+
+ &.container-leave-end {
+ @apply opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95;
+ }
}
}
.modal-frame {
@apply contents;