@loafmarkets/ui 0.1.378 → 0.1.380
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/index.js +30 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +30 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -6674,6 +6674,20 @@ var LoginPopup = ({
|
|
|
6674
6674
|
const [signInMode, setSignInMode] = React5.useState(false);
|
|
6675
6675
|
const [loading, setLoading] = React5.useState(false);
|
|
6676
6676
|
const [isSignUp, setIsSignUp] = React5.useState(false);
|
|
6677
|
+
const [gateViewportH, setGateViewportH] = React5.useState(void 0);
|
|
6678
|
+
React5.useEffect(() => {
|
|
6679
|
+
if (!gate || typeof window === "undefined") return;
|
|
6680
|
+
const vv = window.visualViewport;
|
|
6681
|
+
if (!vv) return;
|
|
6682
|
+
const sync = () => setGateViewportH(vv.height);
|
|
6683
|
+
sync();
|
|
6684
|
+
vv.addEventListener("resize", sync);
|
|
6685
|
+
vv.addEventListener("scroll", sync);
|
|
6686
|
+
return () => {
|
|
6687
|
+
vv.removeEventListener("resize", sync);
|
|
6688
|
+
vv.removeEventListener("scroll", sync);
|
|
6689
|
+
};
|
|
6690
|
+
}, [gate]);
|
|
6677
6691
|
const [fundingAmount] = React5.useState("");
|
|
6678
6692
|
const [kycLoading, setKycLoading] = React5.useState(false);
|
|
6679
6693
|
const [showKycWidget, setShowKycWidget] = React5.useState(false);
|
|
@@ -7195,7 +7209,7 @@ var LoginPopup = ({
|
|
|
7195
7209
|
}
|
|
7196
7210
|
if (view === "otp") {
|
|
7197
7211
|
if (gate) {
|
|
7198
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(GateShell, { children: [
|
|
7212
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(GateShell, { $h: gateViewportH, children: [
|
|
7199
7213
|
/* @__PURE__ */ jsxRuntime.jsx(GateTint, { $reveal: otpStatus === "valid" ? 3 : 2 }),
|
|
7200
7214
|
/* @__PURE__ */ jsxRuntime.jsxs(GateForm, { children: [
|
|
7201
7215
|
/* @__PURE__ */ jsxRuntime.jsxs(GateBrand, { children: [
|
|
@@ -7576,7 +7590,7 @@ var LoginPopup = ({
|
|
|
7576
7590
|
if (gate) {
|
|
7577
7591
|
const codeAccepted = codeStatus === "valid";
|
|
7578
7592
|
const showSignIn = signInMode || signInRevealed;
|
|
7579
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(GateShell, { children: [
|
|
7593
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(GateShell, { $h: gateViewportH, children: [
|
|
7580
7594
|
/* @__PURE__ */ jsxRuntime.jsx(GateTint, { $reveal: showSignIn ? 1 : 0 }),
|
|
7581
7595
|
/* @__PURE__ */ jsxRuntime.jsxs(GateForm, { children: [
|
|
7582
7596
|
/* @__PURE__ */ jsxRuntime.jsxs(GateBrand, { children: [
|
|
@@ -8144,6 +8158,10 @@ var CodeSuffixInput = styled10__default.default.input`
|
|
|
8144
8158
|
letter-spacing: 0.22em;
|
|
8145
8159
|
text-transform: uppercase;
|
|
8146
8160
|
font-family: 'Space Grotesk', monospace;
|
|
8161
|
+
/* Explicit line-height so iOS in-app WebViews size the caret to the text
|
|
8162
|
+
box instead of rendering a short, top-aligned caret (line-height: normal
|
|
8163
|
+
+ webfont + letter-spacing miscomputes it in some WebViews). */
|
|
8164
|
+
line-height: 1.5;
|
|
8147
8165
|
|
|
8148
8166
|
&:focus {
|
|
8149
8167
|
outline: none;
|
|
@@ -8199,12 +8217,21 @@ var GateForm = styled10__default.default.div`
|
|
|
8199
8217
|
`;
|
|
8200
8218
|
var GateShell = styled10__default.default.div`
|
|
8201
8219
|
position: fixed;
|
|
8202
|
-
|
|
8220
|
+
top: 0;
|
|
8221
|
+
left: 0;
|
|
8222
|
+
right: 0;
|
|
8223
|
+
/* Visual-viewport height when available (see gateViewportH) so the gate ends
|
|
8224
|
+
at the keyboard top with nothing hidden below it to scroll to; 100% else. */
|
|
8225
|
+
height: ${(props) => props.$h ? `${props.$h}px` : "100%"};
|
|
8203
8226
|
display: flex;
|
|
8204
8227
|
align-items: center;
|
|
8205
8228
|
justify-content: center;
|
|
8206
8229
|
z-index: 10000;
|
|
8207
8230
|
background-color: rgba(10, 10, 12, 0.66);
|
|
8231
|
+
/* If content can't fit the visible area (very short screen + keyboard), scroll
|
|
8232
|
+
WITHIN the gate only — never chain to the platform underneath. */
|
|
8233
|
+
overflow-y: auto;
|
|
8234
|
+
overscroll-behavior: contain;
|
|
8208
8235
|
`;
|
|
8209
8236
|
var GateTint = styled10__default.default.div`
|
|
8210
8237
|
position: absolute;
|