@rhinestone/deposit-modal 0.0.0-dev-20260710200610 → 0.0.0-dev-20260714145510
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/styles.css +98 -0
- package/package.json +1 -1
package/dist/styles.css
CHANGED
|
@@ -5565,3 +5565,101 @@
|
|
|
5565
5565
|
border-color: #fafafa;
|
|
5566
5566
|
color: #18181b;
|
|
5567
5567
|
}
|
|
5568
|
+
|
|
5569
|
+
/* =============================================================================
|
|
5570
|
+
Mobile bottom sheet (<= 639px)
|
|
5571
|
+
=============================================================================
|
|
5572
|
+
Below the 640px breakpoint the modal docks to the bottom of the viewport and
|
|
5573
|
+
slides up as a full-width sheet — matching the 1auth dialog (bottom sheet on
|
|
5574
|
+
mobile, centered card on desktop). Everything here is scoped under
|
|
5575
|
+
`.rs-modal-overlay` so inline mode (`.rs-modal-content--inline`, which has no
|
|
5576
|
+
overlay ancestor) is untouched, and desktop (>= 640px) keeps the centered
|
|
5577
|
+
card verbatim. */
|
|
5578
|
+
@media (max-width: 639px) {
|
|
5579
|
+
.rs-modal-overlay {
|
|
5580
|
+
/* Dock the sheet to the bottom edge (desktop centers it). */
|
|
5581
|
+
align-items: flex-end;
|
|
5582
|
+
/* Fade the scrim in as the sheet rises. Animating background-color rather
|
|
5583
|
+
than opacity keeps the sheet itself fully opaque while it slides — the
|
|
5584
|
+
overlay is both scrim and flex parent, so an opacity fade would dim the
|
|
5585
|
+
sheet too. */
|
|
5586
|
+
animation: rs-backdrop-fade-in 0.2s ease-out;
|
|
5587
|
+
}
|
|
5588
|
+
|
|
5589
|
+
.rs-modal-overlay .rs-modal-content {
|
|
5590
|
+
width: 100%;
|
|
5591
|
+
max-width: none;
|
|
5592
|
+
margin: 0;
|
|
5593
|
+
/* Top corners only; the bottom sits flush against the viewport edge. */
|
|
5594
|
+
border-radius: 16px 16px 0 0;
|
|
5595
|
+
/* Cap below full height so a strip of scrim shows above the sheet (the
|
|
5596
|
+
bottom-sheet "peek"); taller content scrolls inside .rs-modal-body. */
|
|
5597
|
+
max-height: min(92dvh, calc(100dvh - 24px));
|
|
5598
|
+
/* Slide up from below the fold — iOS-sheet easing, matching 1auth's
|
|
5599
|
+
dialog-slide-up. When it ends the content rests at its --open transform
|
|
5600
|
+
(scale(1) == identity), so the settled position is unchanged. */
|
|
5601
|
+
animation: rs-sheet-slide-up 0.3s cubic-bezier(0.32, 0.72, 0, 1);
|
|
5602
|
+
}
|
|
5603
|
+
|
|
5604
|
+
/* Swapped/fiat/exchange flows pre-reserve a tall desktop iframe height
|
|
5605
|
+
(min-height 585-699px) plus a 445px max-width. On a phone that would force
|
|
5606
|
+
the sheet taller than the screen and push its top chrome out of reach, so
|
|
5607
|
+
cap it to the sheet height and let the body scroll. Specificity (0,4,0)
|
|
5608
|
+
matches the tallest :has() sizing rule and, appended last, wins the tie. */
|
|
5609
|
+
.rs-modal-overlay .rs-modal-content:has(.rs-modal-body[data-flow-mode="fiat-onramp"]),
|
|
5610
|
+
.rs-modal-overlay .rs-modal-content:has(.rs-modal-body[data-flow-mode="exchange-connect"]) {
|
|
5611
|
+
max-width: none;
|
|
5612
|
+
min-height: 0;
|
|
5613
|
+
max-height: min(92dvh, calc(100dvh - 24px));
|
|
5614
|
+
}
|
|
5615
|
+
|
|
5616
|
+
/* The history panel is a long, scrollable list overlaid position:absolute, so
|
|
5617
|
+
it can't grow the sheet itself — left alone the sheet stays as short as the
|
|
5618
|
+
screen behind it and crams the list into a sliver at the bottom. When the
|
|
5619
|
+
panel is mounted, give the sheet a tall min-height so the list uses most of
|
|
5620
|
+
the phone screen. Placed after the fiat/exchange reset above so it wins when
|
|
5621
|
+
history is opened over one of those flows. */
|
|
5622
|
+
.rs-modal-overlay .rs-modal-content:has(.rs-history-panel) {
|
|
5623
|
+
min-height: min(85dvh, calc(100dvh - 24px));
|
|
5624
|
+
}
|
|
5625
|
+
|
|
5626
|
+
/* Clear the iOS home indicator. Excludes the immersive Swapped iframe, which
|
|
5627
|
+
is intentionally full-bleed to the sheet edges. */
|
|
5628
|
+
.rs-modal-overlay .rs-modal:not(.rs-modal--swapped-iframe) {
|
|
5629
|
+
padding-bottom: calc(16px + env(safe-area-inset-bottom));
|
|
5630
|
+
}
|
|
5631
|
+
|
|
5632
|
+
/* iOS Safari zooms the page in when a focused input's font is < 16px. Bump
|
|
5633
|
+
the small text inputs (the deposit amount input is 64px, so it is
|
|
5634
|
+
unaffected) to kill the zoom-on-focus jump. */
|
|
5635
|
+
.rs-modal-overlay .rs-modal .rs-input,
|
|
5636
|
+
.rs-modal-overlay .rs-modal .rs-withdraw-input {
|
|
5637
|
+
font-size: 16px;
|
|
5638
|
+
}
|
|
5639
|
+
}
|
|
5640
|
+
|
|
5641
|
+
@keyframes rs-sheet-slide-up {
|
|
5642
|
+
from {
|
|
5643
|
+
transform: translate3d(0, 100%, 0);
|
|
5644
|
+
}
|
|
5645
|
+
to {
|
|
5646
|
+
transform: translate3d(0, 0, 0);
|
|
5647
|
+
}
|
|
5648
|
+
}
|
|
5649
|
+
|
|
5650
|
+
@keyframes rs-backdrop-fade-in {
|
|
5651
|
+
from {
|
|
5652
|
+
background-color: rgba(0, 0, 0, 0);
|
|
5653
|
+
}
|
|
5654
|
+
to {
|
|
5655
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
5656
|
+
}
|
|
5657
|
+
}
|
|
5658
|
+
|
|
5659
|
+
/* Honour "Reduce motion": snap the sheet + scrim to their settled state. */
|
|
5660
|
+
@media (prefers-reduced-motion: reduce) {
|
|
5661
|
+
.rs-modal-overlay,
|
|
5662
|
+
.rs-modal-overlay .rs-modal-content {
|
|
5663
|
+
animation: none !important;
|
|
5664
|
+
}
|
|
5665
|
+
}
|
package/package.json
CHANGED