mirror of
https://github.com/tale/headplane.git
synced 2026-08-19 17:36:19 +00:00
feat: replace button and toast provider with base-ui
This commit is contained in:
@@ -78,6 +78,106 @@
|
||||
height: 100% !important;
|
||||
}
|
||||
|
||||
.toast-viewport {
|
||||
position: fixed;
|
||||
z-index: 50;
|
||||
bottom: 2rem;
|
||||
right: 1rem;
|
||||
left: auto;
|
||||
top: auto;
|
||||
width: 20rem;
|
||||
}
|
||||
|
||||
.toast-root {
|
||||
--gap: 0.75rem;
|
||||
--peek: 0.75rem;
|
||||
--scale: calc(max(0, 1 - (var(--toast-index) * 0.1)));
|
||||
--shrink: calc(1 - var(--scale));
|
||||
--height: var(--toast-frontmost-height, var(--toast-height));
|
||||
--offset-y: calc(
|
||||
var(--toast-offset-y) * -1 + (var(--toast-index) * var(--gap) * -1) +
|
||||
var(--toast-swipe-movement-y)
|
||||
);
|
||||
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: auto;
|
||||
width: 100%;
|
||||
height: var(--height);
|
||||
z-index: calc(1000 - var(--toast-index));
|
||||
transform-origin: bottom center;
|
||||
user-select: none;
|
||||
|
||||
transform: translateX(var(--toast-swipe-movement-x))
|
||||
translateY(
|
||||
calc(
|
||||
var(--toast-swipe-movement-y) - (var(--toast-index) * var(--peek)) -
|
||||
(var(--shrink) * var(--height))
|
||||
)
|
||||
)
|
||||
scale(var(--scale));
|
||||
|
||||
transition:
|
||||
transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
|
||||
opacity 0.5s,
|
||||
height 0.15s;
|
||||
|
||||
&[data-expanded] {
|
||||
transform: translateX(var(--toast-swipe-movement-x)) translateY(var(--offset-y));
|
||||
height: var(--toast-height);
|
||||
}
|
||||
|
||||
&[data-starting-style] {
|
||||
transform: translateY(150%);
|
||||
}
|
||||
|
||||
&[data-ending-style] {
|
||||
opacity: 0;
|
||||
transform: translateY(150%);
|
||||
|
||||
&[data-swipe-direction="up"] {
|
||||
transform: translateY(calc(var(--toast-swipe-movement-y) - 150%));
|
||||
}
|
||||
&[data-swipe-direction="down"] {
|
||||
transform: translateY(calc(var(--toast-swipe-movement-y) + 150%));
|
||||
}
|
||||
&[data-swipe-direction="left"] {
|
||||
transform: translateX(calc(var(--toast-swipe-movement-x) - 150%)) translateY(var(--offset-y));
|
||||
}
|
||||
&[data-swipe-direction="right"] {
|
||||
transform: translateX(calc(var(--toast-swipe-movement-x) + 150%)) translateY(var(--offset-y));
|
||||
}
|
||||
}
|
||||
|
||||
&[data-limited] {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
/* Invisible hit area to bridge hover gap between toasts */
|
||||
&::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: calc(var(--gap) + 1px);
|
||||
}
|
||||
}
|
||||
|
||||
.toast-content {
|
||||
overflow: hidden;
|
||||
transition: opacity 0.25s;
|
||||
|
||||
&[data-behind] {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
&[data-expanded] {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* Weirdest class name characters but ok */
|
||||
.cm-mergeView .ͼ1 .cm-scroller,
|
||||
.cm-mergeView .ͼ1 {
|
||||
|
||||
Reference in New Issue
Block a user