crates/web/src/components/ was a byte-for-byte copy of the DioxusLabs/components "preview" registry (a shadcn-style copy-into- your-project source, not something published as a dependency). Move it wholesale into a new feedsignal-dioxus-components crate so it reads as vendored code we depend on rather than application source, and future app-specific styling should layer on via the class/attributes props each component already accepts instead of editing the vendored files. No component logic changed — this is a pure move plus import-path updates in the four app files that consumed it. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
253 lines
4.4 KiB
CSS
253 lines
4.4 KiB
CSS
/* Sheet Root */
|
|
.dx-sheet-root {
|
|
position: fixed;
|
|
z-index: 1000;
|
|
background: rgb(0 0 0 / 50%);
|
|
inset: 0;
|
|
opacity: 0;
|
|
will-change: opacity;
|
|
}
|
|
|
|
.dx-sheet-root[data-state="closed"] {
|
|
animation: dx-sheet-root-out 150ms ease-in forwards;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.dx-sheet-root[data-state="open"] {
|
|
animation: dx-sheet-root-in 200ms ease-out forwards;
|
|
}
|
|
|
|
@keyframes dx-sheet-root-in {
|
|
from {
|
|
opacity: 0;
|
|
}
|
|
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@keyframes dx-sheet-root-out {
|
|
from {
|
|
opacity: 1;
|
|
}
|
|
|
|
to {
|
|
opacity: 0;
|
|
}
|
|
}
|
|
|
|
.dx-sheet {
|
|
position: fixed;
|
|
z-index: 1001;
|
|
display: flex;
|
|
box-sizing: border-box;
|
|
flex-direction: column;
|
|
border: none;
|
|
background: var(--primary-color-2);
|
|
box-shadow: 0 4px 20px rgb(0 0 0 / 20%);
|
|
color: var(--secondary-color-4);
|
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
gap: 1rem;
|
|
will-change: transform;
|
|
}
|
|
|
|
.dx-sheet[data-side="right"],
|
|
.dx-sheet[data-side="left"] {
|
|
top: 0;
|
|
bottom: 0;
|
|
width: 75%;
|
|
max-width: 24rem;
|
|
}
|
|
|
|
.dx-sheet[data-side="right"] {
|
|
right: 0;
|
|
border-left: 1px solid var(--primary-color-6);
|
|
transform: translateX(100%);
|
|
}
|
|
|
|
.dx-sheet[data-side="left"] {
|
|
left: 0;
|
|
border-right: 1px solid var(--primary-color-6);
|
|
transform: translateX(-100%);
|
|
}
|
|
|
|
.dx-sheet[data-side="top"],
|
|
.dx-sheet[data-side="bottom"] {
|
|
right: 0;
|
|
left: 0;
|
|
}
|
|
|
|
.dx-sheet[data-side="top"] {
|
|
top: 0;
|
|
border-bottom: 1px solid var(--primary-color-6);
|
|
transform: translateY(-100%);
|
|
}
|
|
|
|
.dx-sheet[data-side="bottom"] {
|
|
bottom: 0;
|
|
border-top: 1px solid var(--primary-color-6);
|
|
transform: translateY(100%);
|
|
}
|
|
|
|
.dx-sheet-root[data-state="open"] .dx-sheet[data-side="right"] {
|
|
animation: dx-slide-in-right 200ms ease-out forwards;
|
|
}
|
|
|
|
.dx-sheet-root[data-state="open"] .dx-sheet[data-side="left"] {
|
|
animation: dx-slide-in-left 200ms ease-out forwards;
|
|
}
|
|
|
|
.dx-sheet-root[data-state="open"] .dx-sheet[data-side="top"] {
|
|
animation: dx-slide-in-top 200ms ease-out forwards;
|
|
}
|
|
|
|
.dx-sheet-root[data-state="open"] .dx-sheet[data-side="bottom"] {
|
|
animation: dx-slide-in-bottom 200ms ease-out forwards;
|
|
}
|
|
|
|
.dx-sheet-root[data-state="closed"] .dx-sheet[data-side="right"] {
|
|
animation: dx-slide-out-right 150ms ease-in forwards;
|
|
}
|
|
|
|
.dx-sheet-root[data-state="closed"] .dx-sheet[data-side="left"] {
|
|
animation: dx-slide-out-left 150ms ease-in forwards;
|
|
}
|
|
|
|
.dx-sheet-root[data-state="closed"] .dx-sheet[data-side="top"] {
|
|
animation: dx-slide-out-top 150ms ease-in forwards;
|
|
}
|
|
|
|
.dx-sheet-root[data-state="closed"] .dx-sheet[data-side="bottom"] {
|
|
animation: dx-slide-out-bottom 150ms ease-in forwards;
|
|
}
|
|
|
|
@keyframes dx-slide-in-right {
|
|
from {
|
|
transform: translateX(100%);
|
|
}
|
|
|
|
to {
|
|
transform: translateX(0);
|
|
}
|
|
}
|
|
|
|
@keyframes dx-slide-out-right {
|
|
from {
|
|
transform: translateX(0);
|
|
}
|
|
|
|
to {
|
|
transform: translateX(100%);
|
|
}
|
|
}
|
|
|
|
@keyframes dx-slide-in-left {
|
|
from {
|
|
transform: translateX(-100%);
|
|
}
|
|
|
|
to {
|
|
transform: translateX(0);
|
|
}
|
|
}
|
|
|
|
@keyframes dx-slide-out-left {
|
|
from {
|
|
transform: translateX(0);
|
|
}
|
|
|
|
to {
|
|
transform: translateX(-100%);
|
|
}
|
|
}
|
|
|
|
@keyframes dx-slide-in-top {
|
|
from {
|
|
transform: translateY(-100%);
|
|
}
|
|
|
|
to {
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
@keyframes dx-slide-out-top {
|
|
from {
|
|
transform: translateY(0);
|
|
}
|
|
|
|
to {
|
|
transform: translateY(-100%);
|
|
}
|
|
}
|
|
|
|
@keyframes dx-slide-in-bottom {
|
|
from {
|
|
transform: translateY(100%);
|
|
}
|
|
|
|
to {
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
@keyframes dx-slide-out-bottom {
|
|
from {
|
|
transform: translateY(0);
|
|
}
|
|
|
|
to {
|
|
transform: translateY(100%);
|
|
}
|
|
}
|
|
|
|
.dx-sheet-header {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 1rem;
|
|
gap: 0.375rem;
|
|
}
|
|
|
|
.dx-sheet-footer {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 1rem;
|
|
margin-top: auto;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.dx-sheet-title {
|
|
margin: 0;
|
|
color: var(--secondary-color-4);
|
|
font-size: 1.125rem;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.dx-sheet-description {
|
|
margin: 0;
|
|
color: var(--secondary-color-5);
|
|
font-size: 0.875rem;
|
|
}
|
|
|
|
.dx-sheet-close {
|
|
position: absolute;
|
|
top: 1rem;
|
|
right: 1rem;
|
|
display: flex;
|
|
width: 24px;
|
|
height: 24px;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 0;
|
|
border: none;
|
|
border-radius: 4px;
|
|
background: none;
|
|
color: var(--primary-color-7);
|
|
cursor: pointer;
|
|
transition: color 150ms ease, background-color 150ms ease;
|
|
}
|
|
|
|
.dx-sheet-close:hover {
|
|
color: var(--secondary-color-4);
|
|
}
|