@moon-x/react-sdk 0.8.1 → 0.9.1
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/README.md +98 -19
- package/dist/{chunk-Y6HSLN2H.mjs → chunk-7XFCJAFG.mjs} +75 -74
- package/dist/{chunk-4YS67FSE.js → chunk-F345C4FX.js} +107 -102
- package/dist/{chunk-RFAKWGRF.mjs → chunk-OAG4S5VJ.mjs} +20 -19
- package/dist/{chunk-YFGHPPR5.js → chunk-VBAVYDWQ.js} +236 -241
- package/dist/{ethereum-CWhbeptv.d.ts → ethereum-Eg3cJKce.d.ts} +20 -6
- package/dist/{ethereum-CGSlkQOw.d.mts → ethereum-lovLlqC2.d.mts} +20 -6
- package/dist/index.d.mts +146 -17
- package/dist/index.d.ts +146 -17
- package/dist/index.js +3044 -2547
- package/dist/index.mjs +387 -247
- package/dist/{solana-Cr7r3wi8.d.mts → solana-BVrNImZ1.d.mts} +13 -4
- package/dist/{solana-nUvZo4Zp.d.ts → solana-C9rN8lxH.d.ts} +13 -4
- package/dist/wallets/ethereum.d.mts +1 -1
- package/dist/wallets/ethereum.d.ts +1 -1
- package/dist/wallets/ethereum.js +15 -15
- package/dist/wallets/ethereum.mjs +1 -1
- package/dist/wallets/solana.d.mts +1 -1
- package/dist/wallets/solana.d.ts +1 -1
- package/dist/wallets/solana.js +11 -11
- package/dist/wallets/solana.mjs +1 -1
- package/package.json +6 -3
package/dist/index.mjs
CHANGED
|
@@ -389,8 +389,8 @@ function _ts_generator(thisArg, body) {
|
|
|
389
389
|
};
|
|
390
390
|
}
|
|
391
391
|
}
|
|
392
|
-
import { ethereum_exports } from "./chunk-
|
|
393
|
-
import { solana_exports } from "./chunk-
|
|
392
|
+
import { ethereum_exports } from "./chunk-7XFCJAFG.mjs";
|
|
393
|
+
import { solana_exports } from "./chunk-OAG4S5VJ.mjs";
|
|
394
394
|
import { AuthContext, useAuthSDK } from "./chunk-PCEN5CH6.mjs";
|
|
395
395
|
// src/index.ts
|
|
396
396
|
import { useAddPasskey, useEphemeralSigner, useLoginWithEmail, usePasskeyStatus, useRegisterPasskey, useRemovePasskey, useUser } from "@moon-x/core/react";
|
|
@@ -3038,29 +3038,60 @@ function themeToCSS(theme) {
|
|
|
3038
3038
|
"--moonkey-font-family": theme.fontFamily
|
|
3039
3039
|
};
|
|
3040
3040
|
}
|
|
3041
|
+
function isColorDark(color) {
|
|
3042
|
+
var c = color.trim().toLowerCase();
|
|
3043
|
+
if (c.startsWith("#")) {
|
|
3044
|
+
var h = c.slice(1);
|
|
3045
|
+
if (h.length === 3 || h.length === 4) {
|
|
3046
|
+
h = h.split("").map(function(ch) {
|
|
3047
|
+
return ch + ch;
|
|
3048
|
+
}).join("");
|
|
3049
|
+
}
|
|
3050
|
+
if (h.length !== 6 && h.length !== 8) return void 0;
|
|
3051
|
+
var r = parseInt(h.substring(0, 2), 16);
|
|
3052
|
+
var g = parseInt(h.substring(2, 4), 16);
|
|
3053
|
+
var b = parseInt(h.substring(4, 6), 16);
|
|
3054
|
+
if (Number.isNaN(r) || Number.isNaN(g) || Number.isNaN(b)) return void 0;
|
|
3055
|
+
return 0.299 * r + 0.587 * g + 0.114 * b < 128;
|
|
3056
|
+
}
|
|
3057
|
+
var rgb = c.match(/^rgba?\(([^)]+)\)$/);
|
|
3058
|
+
if (rgb) {
|
|
3059
|
+
var parts = rgb[1].split(/[\s,/]+/).filter(Boolean).slice(0, 3);
|
|
3060
|
+
if (parts.length < 3) return void 0;
|
|
3061
|
+
var _parts_map = _sliced_to_array(parts.map(function(p) {
|
|
3062
|
+
return p.endsWith("%") ? parseFloat(p) / 100 * 255 : parseFloat(p);
|
|
3063
|
+
}), 3), r1 = _parts_map[0], g1 = _parts_map[1], b1 = _parts_map[2];
|
|
3064
|
+
if (Number.isNaN(r1) || Number.isNaN(g1) || Number.isNaN(b1)) return void 0;
|
|
3065
|
+
return 0.299 * r1 + 0.587 * g1 + 0.114 * b1 < 128;
|
|
3066
|
+
}
|
|
3067
|
+
return void 0;
|
|
3068
|
+
}
|
|
3041
3069
|
function isDarkMode(theme, displayMode, backgroundColor) {
|
|
3070
|
+
var _isColorDark;
|
|
3042
3071
|
var _theme_colors;
|
|
3043
3072
|
if (displayMode === "dark") return true;
|
|
3044
3073
|
if (displayMode === "light") return false;
|
|
3074
|
+
if (displayMode === "auto" && typeof window !== "undefined" && typeof window.matchMedia === "function") {
|
|
3075
|
+
return window.matchMedia("(prefers-color-scheme: dark)").matches;
|
|
3076
|
+
}
|
|
3045
3077
|
var bgToCheck = backgroundColor || (theme === null || theme === void 0 ? void 0 : (_theme_colors = theme.colors) === null || _theme_colors === void 0 ? void 0 : _theme_colors.background);
|
|
3046
3078
|
if (!bgToCheck) return false;
|
|
3047
|
-
|
|
3048
|
-
if (hex.length !== 6) return false;
|
|
3049
|
-
var r = parseInt(hex.substring(0, 2), 16);
|
|
3050
|
-
var g = parseInt(hex.substring(2, 4), 16);
|
|
3051
|
-
var b = parseInt(hex.substring(4, 6), 16);
|
|
3052
|
-
return 0.299 * r + 0.587 * g + 0.114 * b < 128;
|
|
3079
|
+
return (_isColorDark = isColorDark(bgToCheck)) !== null && _isColorDark !== void 0 ? _isColorDark : false;
|
|
3053
3080
|
}
|
|
3054
3081
|
// src/components/app-logo.tsx
|
|
3055
3082
|
import { useState as useState7 } from "react";
|
|
3056
3083
|
import { jsx } from "react/jsx-runtime";
|
|
3057
3084
|
var AppLogo = function AppLogo(param) {
|
|
3058
|
-
var src = param.src, appConfig = param.appConfig, className = param.className, style = param.style;
|
|
3085
|
+
var src = param.src, appConfig = param.appConfig, className = param.className, style = param.style, height = param.height, _param_align = param.align, align = _param_align === void 0 ? "center" : _param_align;
|
|
3059
3086
|
var _useState7 = _sliced_to_array(useState7(false), 2), imageError = _useState7[0], setImageError = _useState7[1];
|
|
3060
3087
|
var logoSrc = src || (appConfig === null || appConfig === void 0 ? void 0 : appConfig.public_logo_url) || "";
|
|
3061
3088
|
var defaultStyle = _object_spread({
|
|
3062
|
-
|
|
3063
|
-
|
|
3089
|
+
display: "block",
|
|
3090
|
+
// Truthy check (not `!= null`): a 0 height is degenerate (invisible logo),
|
|
3091
|
+
// so fall back to the 4rem default rather than rendering "0px".
|
|
3092
|
+
height: height ? "".concat(height, "px") : "4rem",
|
|
3093
|
+
// center → auto/auto; left → 0/auto.
|
|
3094
|
+
marginLeft: align === "left" ? 0 : "auto",
|
|
3064
3095
|
marginRight: "auto"
|
|
3065
3096
|
}, style);
|
|
3066
3097
|
var handleImageError = function handleImageError() {
|
|
@@ -3189,17 +3220,17 @@ function hslToHex(h, s, l) {
|
|
|
3189
3220
|
}).join(""));
|
|
3190
3221
|
}
|
|
3191
3222
|
function darken(hex, amount) {
|
|
3192
|
-
if (!/^#[0-9a-fA-F]{6}
|
|
3223
|
+
if (!/^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$/.test(hex)) return hex;
|
|
3193
3224
|
var _hexToHsl = _sliced_to_array(hexToHsl(hex), 3), h = _hexToHsl[0], s = _hexToHsl[1], l = _hexToHsl[2];
|
|
3194
3225
|
return hslToHex(h, s, Math.max(0, l - amount));
|
|
3195
3226
|
}
|
|
3196
3227
|
function lighten(hex, amount) {
|
|
3197
|
-
if (!/^#[0-9a-fA-F]{6}
|
|
3228
|
+
if (!/^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$/.test(hex)) return hex;
|
|
3198
3229
|
var _hexToHsl = _sliced_to_array(hexToHsl(hex), 3), h = _hexToHsl[0], s = _hexToHsl[1], l = _hexToHsl[2];
|
|
3199
3230
|
return hslToHex(h, s, Math.min(1, l + amount));
|
|
3200
3231
|
}
|
|
3201
3232
|
function contrastForeground(hex) {
|
|
3202
|
-
if (!/^#[0-9a-fA-F]{6}
|
|
3233
|
+
if (!/^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$/.test(hex)) return "#000000";
|
|
3203
3234
|
var h = hex.replace("#", "");
|
|
3204
3235
|
var r = parseInt(h.substring(0, 2), 16);
|
|
3205
3236
|
var g = parseInt(h.substring(2, 4), 16);
|
|
@@ -3208,35 +3239,101 @@ function contrastForeground(hex) {
|
|
|
3208
3239
|
}
|
|
3209
3240
|
function isDarkAppearance(appearance) {
|
|
3210
3241
|
var _ref = appearance !== null && appearance !== void 0 ? appearance : {}, displayMode = _ref.displayMode, backgroundColor = _ref.backgroundColor;
|
|
3211
|
-
|
|
3212
|
-
if (displayMode === "light") return false;
|
|
3213
|
-
if (!backgroundColor) return false;
|
|
3214
|
-
return contrastForeground(backgroundColor) === "#ffffff";
|
|
3242
|
+
return isDarkMode(void 0, displayMode, backgroundColor);
|
|
3215
3243
|
}
|
|
3216
3244
|
var BORDER_RADIUS_PRESETS = {
|
|
3217
3245
|
none: {
|
|
3218
3246
|
sm: "0",
|
|
3219
3247
|
md: "0",
|
|
3220
|
-
lg: "0"
|
|
3248
|
+
lg: "0",
|
|
3249
|
+
full: "0"
|
|
3221
3250
|
},
|
|
3222
3251
|
sm: {
|
|
3223
3252
|
sm: "0.125rem",
|
|
3224
3253
|
md: "0.25rem",
|
|
3225
|
-
lg: "0.375rem"
|
|
3254
|
+
lg: "0.375rem",
|
|
3255
|
+
full: "9999px"
|
|
3226
3256
|
},
|
|
3227
3257
|
md: {
|
|
3228
3258
|
sm: "0.375rem",
|
|
3229
3259
|
md: "0.5rem",
|
|
3230
|
-
lg: "0.75rem"
|
|
3260
|
+
lg: "0.75rem",
|
|
3261
|
+
full: "9999px"
|
|
3231
3262
|
},
|
|
3232
3263
|
lg: {
|
|
3233
3264
|
sm: "0.5rem",
|
|
3234
3265
|
md: "0.75rem",
|
|
3235
|
-
lg: "1rem"
|
|
3266
|
+
lg: "1rem",
|
|
3267
|
+
full: "9999px"
|
|
3268
|
+
},
|
|
3269
|
+
full: {
|
|
3270
|
+
sm: "9999px",
|
|
3271
|
+
md: "9999px",
|
|
3272
|
+
lg: "9999px",
|
|
3273
|
+
full: "9999px"
|
|
3236
3274
|
}
|
|
3237
3275
|
};
|
|
3276
|
+
function definedOnly(src) {
|
|
3277
|
+
var out = {};
|
|
3278
|
+
if (!src) return out;
|
|
3279
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
3280
|
+
try {
|
|
3281
|
+
for(var _iterator = Object.keys(src)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
3282
|
+
var key = _step.value;
|
|
3283
|
+
var v = src[key];
|
|
3284
|
+
if (v !== void 0 && v !== null && v !== "") out[key] = v;
|
|
3285
|
+
}
|
|
3286
|
+
} catch (err) {
|
|
3287
|
+
_didIteratorError = true;
|
|
3288
|
+
_iteratorError = err;
|
|
3289
|
+
} finally{
|
|
3290
|
+
try {
|
|
3291
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
3292
|
+
_iterator.return();
|
|
3293
|
+
}
|
|
3294
|
+
} finally{
|
|
3295
|
+
if (_didIteratorError) {
|
|
3296
|
+
throw _iteratorError;
|
|
3297
|
+
}
|
|
3298
|
+
}
|
|
3299
|
+
}
|
|
3300
|
+
return out;
|
|
3301
|
+
}
|
|
3302
|
+
function resolveAppearanceTokens(appearance, isDark) {
|
|
3303
|
+
var _ref, _perMode_fontFamily;
|
|
3304
|
+
var _appearance_typography, _perMode_typography, _appearance_typography1, _perMode_typography1;
|
|
3305
|
+
if (!appearance) return {};
|
|
3306
|
+
var baseRadius = _type_of(appearance.borderRadius) === "object" ? appearance.borderRadius : void 0;
|
|
3307
|
+
var perMode = (_ref = isDark ? appearance.dark : appearance.light) !== null && _ref !== void 0 ? _ref : {};
|
|
3308
|
+
return {
|
|
3309
|
+
colors: _object_spread({}, appearance.colors, perMode.colors),
|
|
3310
|
+
borderRadius: _object_spread({}, baseRadius, perMode.borderRadius),
|
|
3311
|
+
fontFamily: (_perMode_fontFamily = perMode.fontFamily) !== null && _perMode_fontFamily !== void 0 ? _perMode_fontFamily : appearance.fontFamily,
|
|
3312
|
+
typography: _object_spread_props(_object_spread({}, appearance.typography, perMode.typography), {
|
|
3313
|
+
fontSize: _object_spread({}, (_appearance_typography = appearance.typography) === null || _appearance_typography === void 0 ? void 0 : _appearance_typography.fontSize, (_perMode_typography = perMode.typography) === null || _perMode_typography === void 0 ? void 0 : _perMode_typography.fontSize),
|
|
3314
|
+
fontWeight: _object_spread({}, (_appearance_typography1 = appearance.typography) === null || _appearance_typography1 === void 0 ? void 0 : _appearance_typography1.fontWeight, (_perMode_typography1 = perMode.typography) === null || _perMode_typography1 === void 0 ? void 0 : _perMode_typography1.fontWeight)
|
|
3315
|
+
}),
|
|
3316
|
+
card: _object_spread({}, appearance.card, perMode.card),
|
|
3317
|
+
backdrop: _object_spread({}, appearance.backdrop, perMode.backdrop)
|
|
3318
|
+
};
|
|
3319
|
+
}
|
|
3320
|
+
function resolveLogo(logo, isDark) {
|
|
3321
|
+
if (!logo) return void 0;
|
|
3322
|
+
if (typeof logo === "string") return {
|
|
3323
|
+
src: logo
|
|
3324
|
+
};
|
|
3325
|
+
var src = isDark && logo.srcDark ? logo.srcDark : logo.src;
|
|
3326
|
+
return {
|
|
3327
|
+
src: src,
|
|
3328
|
+
height: logo.height,
|
|
3329
|
+
align: logo.align
|
|
3330
|
+
};
|
|
3331
|
+
}
|
|
3238
3332
|
function appearanceToTheme(appearance) {
|
|
3333
|
+
var isDark = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
|
|
3334
|
+
var _tokens_borderRadius, _tokens_fontFamily;
|
|
3239
3335
|
if (!appearance) return {};
|
|
3336
|
+
var tokens = resolveAppearanceTokens(appearance, isDark);
|
|
3240
3337
|
var colors = {};
|
|
3241
3338
|
if (appearance.accentColor) {
|
|
3242
3339
|
var a = appearance.accentColor;
|
|
@@ -3249,8 +3346,9 @@ function appearanceToTheme(appearance) {
|
|
|
3249
3346
|
colors.foregroundAccent = darken(a, 0.04);
|
|
3250
3347
|
}
|
|
3251
3348
|
if (appearance.backgroundColor) {
|
|
3349
|
+
var _isColorDark;
|
|
3252
3350
|
var bg = appearance.backgroundColor;
|
|
3253
|
-
var isBgDark =
|
|
3351
|
+
var isBgDark = (_isColorDark = isColorDark(bg)) !== null && _isColorDark !== void 0 ? _isColorDark : isDark;
|
|
3254
3352
|
colors.background = bg;
|
|
3255
3353
|
colors.background2 = isBgDark ? lighten(bg, 0.08) : darken(bg, 0.03);
|
|
3256
3354
|
colors.background3 = isBgDark ? lighten(bg, 0.14) : darken(bg, 0.06);
|
|
@@ -3267,43 +3365,191 @@ function appearanceToTheme(appearance) {
|
|
|
3267
3365
|
colors.foreground4 = "#d1d5db";
|
|
3268
3366
|
}
|
|
3269
3367
|
}
|
|
3270
|
-
|
|
3271
|
-
Object.assign(colors, appearance.colors);
|
|
3272
|
-
}
|
|
3368
|
+
Object.assign(colors, definedOnly(tokens.colors));
|
|
3273
3369
|
var result = {};
|
|
3274
|
-
if (Object.keys(colors).length > 0)
|
|
3275
|
-
|
|
3276
|
-
|
|
3277
|
-
|
|
3278
|
-
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3370
|
+
if (Object.keys(colors).length > 0) {
|
|
3371
|
+
result.colors = colors;
|
|
3372
|
+
}
|
|
3373
|
+
var radius = {};
|
|
3374
|
+
if (typeof appearance.borderRadius === "string") {
|
|
3375
|
+
var _BORDER_RADIUS_PRESETS_appearance_borderRadius;
|
|
3376
|
+
Object.assign(radius, (_BORDER_RADIUS_PRESETS_appearance_borderRadius = BORDER_RADIUS_PRESETS[appearance.borderRadius]) !== null && _BORDER_RADIUS_PRESETS_appearance_borderRadius !== void 0 ? _BORDER_RADIUS_PRESETS_appearance_borderRadius : BORDER_RADIUS_PRESETS.md);
|
|
3377
|
+
}
|
|
3378
|
+
var _ref = (_tokens_borderRadius = tokens.borderRadius) !== null && _tokens_borderRadius !== void 0 ? _tokens_borderRadius : {}, sm = _ref.sm, md = _ref.md, lg = _ref.lg, full = _ref.full;
|
|
3379
|
+
Object.assign(radius, definedOnly({
|
|
3380
|
+
sm: sm,
|
|
3381
|
+
md: md,
|
|
3382
|
+
lg: lg,
|
|
3383
|
+
full: full
|
|
3384
|
+
}));
|
|
3385
|
+
if (Object.keys(radius).length > 0) {
|
|
3386
|
+
result.borderRadius = radius;
|
|
3283
3387
|
}
|
|
3388
|
+
var fontFamily = (_tokens_fontFamily = tokens.fontFamily) !== null && _tokens_fontFamily !== void 0 ? _tokens_fontFamily : appearance.fontFamily;
|
|
3389
|
+
if (fontFamily) result.fontFamily = fontFamily;
|
|
3284
3390
|
return result;
|
|
3285
3391
|
}
|
|
3392
|
+
function appearanceToMoonxVars(appearance, isDark) {
|
|
3393
|
+
var _t_colors, _t_colors1, _t_colors2, _t_colors3, _t_borderRadius, _t_borderRadius1, _t_borderRadius2, _t_typography, _t_typography1, _t_typography2, _t_typography3, _t_typography4, _t_typography5, _t_typography_fontSize, _t_typography6, _t_typography_fontSize1, _t_typography7, _t_typography_fontSize2, _t_typography8, _t_typography_fontWeight, _t_typography9, _t_typography_fontWeight1, _t_typography10, _t_card, _t_card1, _t_card2, _t_card3, _t_backdrop, _t_backdrop1;
|
|
3394
|
+
var vars = {};
|
|
3395
|
+
if (!appearance) return vars;
|
|
3396
|
+
var t = resolveAppearanceTokens(appearance, isDark);
|
|
3397
|
+
var set = function set(name, value) {
|
|
3398
|
+
if (value !== void 0 && value !== null && value !== "") {
|
|
3399
|
+
vars[name] = String(value);
|
|
3400
|
+
}
|
|
3401
|
+
};
|
|
3402
|
+
set("--moonx-color-warning", (_t_colors = t.colors) === null || _t_colors === void 0 ? void 0 : _t_colors.warning);
|
|
3403
|
+
set("--moonx-color-info", (_t_colors1 = t.colors) === null || _t_colors1 === void 0 ? void 0 : _t_colors1.info);
|
|
3404
|
+
set("--moonx-color-link", (_t_colors2 = t.colors) === null || _t_colors2 === void 0 ? void 0 : _t_colors2.link);
|
|
3405
|
+
set("--moonx-color-ring", (_t_colors3 = t.colors) === null || _t_colors3 === void 0 ? void 0 : _t_colors3.ring);
|
|
3406
|
+
set("--moonx-radius-button", (_t_borderRadius = t.borderRadius) === null || _t_borderRadius === void 0 ? void 0 : _t_borderRadius.button);
|
|
3407
|
+
set("--moonx-radius-card", (_t_borderRadius1 = t.borderRadius) === null || _t_borderRadius1 === void 0 ? void 0 : _t_borderRadius1.card);
|
|
3408
|
+
set("--moonx-radius-input", (_t_borderRadius2 = t.borderRadius) === null || _t_borderRadius2 === void 0 ? void 0 : _t_borderRadius2.input);
|
|
3409
|
+
set("--moonx-font-family-heading", (_t_typography = t.typography) === null || _t_typography === void 0 ? void 0 : _t_typography.fontFamilyHeading);
|
|
3410
|
+
set("--moonx-font-size-heading", (_t_typography1 = t.typography) === null || _t_typography1 === void 0 ? void 0 : _t_typography1.fontSizeHeading);
|
|
3411
|
+
set("--moonx-font-weight-heading", (_t_typography2 = t.typography) === null || _t_typography2 === void 0 ? void 0 : _t_typography2.fontWeightHeading);
|
|
3412
|
+
set("--moonx-color-heading", (_t_typography3 = t.typography) === null || _t_typography3 === void 0 ? void 0 : _t_typography3.colorHeading);
|
|
3413
|
+
set("--moonx-letter-spacing-heading", (_t_typography4 = t.typography) === null || _t_typography4 === void 0 ? void 0 : _t_typography4.letterSpacingHeading);
|
|
3414
|
+
set("--moonx-letter-spacing", (_t_typography5 = t.typography) === null || _t_typography5 === void 0 ? void 0 : _t_typography5.letterSpacing);
|
|
3415
|
+
set("--moonx-font-size-sm", (_t_typography6 = t.typography) === null || _t_typography6 === void 0 ? void 0 : (_t_typography_fontSize = _t_typography6.fontSize) === null || _t_typography_fontSize === void 0 ? void 0 : _t_typography_fontSize.sm);
|
|
3416
|
+
set("--moonx-font-size-lg", (_t_typography7 = t.typography) === null || _t_typography7 === void 0 ? void 0 : (_t_typography_fontSize1 = _t_typography7.fontSize) === null || _t_typography_fontSize1 === void 0 ? void 0 : _t_typography_fontSize1.lg);
|
|
3417
|
+
set("--moonx-font-size-xl", (_t_typography8 = t.typography) === null || _t_typography8 === void 0 ? void 0 : (_t_typography_fontSize2 = _t_typography8.fontSize) === null || _t_typography_fontSize2 === void 0 ? void 0 : _t_typography_fontSize2.xl);
|
|
3418
|
+
set("--moonx-font-weight-medium", (_t_typography9 = t.typography) === null || _t_typography9 === void 0 ? void 0 : (_t_typography_fontWeight = _t_typography9.fontWeight) === null || _t_typography_fontWeight === void 0 ? void 0 : _t_typography_fontWeight.medium);
|
|
3419
|
+
set("--moonx-font-weight-bold", (_t_typography10 = t.typography) === null || _t_typography10 === void 0 ? void 0 : (_t_typography_fontWeight1 = _t_typography10.fontWeight) === null || _t_typography_fontWeight1 === void 0 ? void 0 : _t_typography_fontWeight1.bold);
|
|
3420
|
+
set("--moonx-card-padding", (_t_card = t.card) === null || _t_card === void 0 ? void 0 : _t_card.padding);
|
|
3421
|
+
set("--moonx-card-shadow", (_t_card1 = t.card) === null || _t_card1 === void 0 ? void 0 : _t_card1.shadow);
|
|
3422
|
+
set("--moonx-card-border-width", (_t_card2 = t.card) === null || _t_card2 === void 0 ? void 0 : _t_card2.borderWidth);
|
|
3423
|
+
set("--moonx-card-max-width", (_t_card3 = t.card) === null || _t_card3 === void 0 ? void 0 : _t_card3.maxWidth);
|
|
3424
|
+
set("--moonx-backdrop-color", (_t_backdrop = t.backdrop) === null || _t_backdrop === void 0 ? void 0 : _t_backdrop.color);
|
|
3425
|
+
set("--moonx-backdrop-blur", (_t_backdrop1 = t.backdrop) === null || _t_backdrop1 === void 0 ? void 0 : _t_backdrop1.blur);
|
|
3426
|
+
return vars;
|
|
3427
|
+
}
|
|
3428
|
+
var COMPONENT_RADIUS_VAR = {
|
|
3429
|
+
card: "--moonx-radius-card",
|
|
3430
|
+
button: "--moonx-radius-button",
|
|
3431
|
+
input: "--moonx-radius-input"
|
|
3432
|
+
};
|
|
3433
|
+
function appearanceToComponentVars(appearance) {
|
|
3434
|
+
var vars = {};
|
|
3435
|
+
var components = appearance === null || appearance === void 0 ? void 0 : appearance.components;
|
|
3436
|
+
if (!components) return vars;
|
|
3437
|
+
var set = function set(name, value) {
|
|
3438
|
+
if (value !== void 0 && value !== null && value !== "") vars[name] = value;
|
|
3439
|
+
};
|
|
3440
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
3441
|
+
try {
|
|
3442
|
+
for(var _iterator = Object.entries(components)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
3443
|
+
var _step_value = _sliced_to_array(_step.value, 2), comp = _step_value[0], style = _step_value[1];
|
|
3444
|
+
if (!style) continue;
|
|
3445
|
+
set("--moonx-".concat(comp, "-bg"), style.background);
|
|
3446
|
+
set("--moonx-".concat(comp, "-fg"), style.text);
|
|
3447
|
+
set("--moonx-".concat(comp, "-border-color"), style.border);
|
|
3448
|
+
set("--moonx-".concat(comp, "-border-width"), style.borderWidth);
|
|
3449
|
+
var radiusVar = COMPONENT_RADIUS_VAR[comp];
|
|
3450
|
+
if (radiusVar) set(radiusVar, style.radius);
|
|
3451
|
+
if (comp === "button") {
|
|
3452
|
+
var shade = function shade(c) {
|
|
3453
|
+
return isColorDark(c) ? lighten(c, 0.08) : darken(c, 0.08);
|
|
3454
|
+
};
|
|
3455
|
+
if (style.background) {
|
|
3456
|
+
var hover = shade(style.background);
|
|
3457
|
+
if (hover !== style.background) set("--moonx-button-bg-hover", hover);
|
|
3458
|
+
}
|
|
3459
|
+
if (style.border) {
|
|
3460
|
+
var hover1 = shade(style.border);
|
|
3461
|
+
if (hover1 !== style.border) set("--moonx-button-border-color-hover", hover1);
|
|
3462
|
+
}
|
|
3463
|
+
}
|
|
3464
|
+
}
|
|
3465
|
+
} catch (err) {
|
|
3466
|
+
_didIteratorError = true;
|
|
3467
|
+
_iteratorError = err;
|
|
3468
|
+
} finally{
|
|
3469
|
+
try {
|
|
3470
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
3471
|
+
_iterator.return();
|
|
3472
|
+
}
|
|
3473
|
+
} finally{
|
|
3474
|
+
if (_didIteratorError) {
|
|
3475
|
+
throw _iteratorError;
|
|
3476
|
+
}
|
|
3477
|
+
}
|
|
3478
|
+
}
|
|
3479
|
+
return vars;
|
|
3480
|
+
}
|
|
3481
|
+
function resolveFontUrls(appearance) {
|
|
3482
|
+
if (!appearance) return [];
|
|
3483
|
+
var urls = /* @__PURE__ */ new Set();
|
|
3484
|
+
for(var _i = 0, _iter = [
|
|
3485
|
+
appearance,
|
|
3486
|
+
appearance.light,
|
|
3487
|
+
appearance.dark
|
|
3488
|
+
]; _i < _iter.length; _i++){
|
|
3489
|
+
var tokens = _iter[_i];
|
|
3490
|
+
var _tokens_typography;
|
|
3491
|
+
var fontUrl = tokens === null || tokens === void 0 ? void 0 : (_tokens_typography = tokens.typography) === null || _tokens_typography === void 0 ? void 0 : _tokens_typography.fontUrl;
|
|
3492
|
+
if (!fontUrl) continue;
|
|
3493
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
3494
|
+
try {
|
|
3495
|
+
for(var _iterator = (Array.isArray(fontUrl) ? fontUrl : [
|
|
3496
|
+
fontUrl
|
|
3497
|
+
])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
3498
|
+
var url = _step.value;
|
|
3499
|
+
if (url) urls.add(url);
|
|
3500
|
+
}
|
|
3501
|
+
} catch (err) {
|
|
3502
|
+
_didIteratorError = true;
|
|
3503
|
+
_iteratorError = err;
|
|
3504
|
+
} finally{
|
|
3505
|
+
try {
|
|
3506
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
3507
|
+
_iterator.return();
|
|
3508
|
+
}
|
|
3509
|
+
} finally{
|
|
3510
|
+
if (_didIteratorError) {
|
|
3511
|
+
throw _iteratorError;
|
|
3512
|
+
}
|
|
3513
|
+
}
|
|
3514
|
+
}
|
|
3515
|
+
}
|
|
3516
|
+
return Array.from(urls);
|
|
3517
|
+
}
|
|
3518
|
+
function appearanceToCssVars(appearance, isDark) {
|
|
3519
|
+
var _derived_fontFamily;
|
|
3520
|
+
var baseTheme = isDark ? darkTheme : lightTheme;
|
|
3521
|
+
var derived = appearanceToTheme(appearance, isDark);
|
|
3522
|
+
var merged = {
|
|
3523
|
+
colors: _object_spread({}, baseTheme.colors, derived.colors),
|
|
3524
|
+
borderRadius: _object_spread({}, baseTheme.borderRadius, derived.borderRadius),
|
|
3525
|
+
fontFamily: (_derived_fontFamily = derived.fontFamily) !== null && _derived_fontFamily !== void 0 ? _derived_fontFamily : baseTheme.fontFamily
|
|
3526
|
+
};
|
|
3527
|
+
return _object_spread({}, themeToCSS(merged), appearanceToMoonxVars(appearance, isDark), appearanceToComponentVars(appearance));
|
|
3528
|
+
}
|
|
3286
3529
|
// src/styles/sdk-stylesheet.ts
|
|
3287
|
-
var SDK_STYLES = '\n/* === Reset === */\n.moonkey-sdk-root * { box-sizing: border-box; }\n.moonkey-sdk-root *:focus-visible { outline: 2px solid var(--moonkey-color-accent); outline-offset: 2px; }\n.moonkey-sdk-root input::placeholder { color: var(--moonkey-color-foreground-3); opacity: 1; }\n\n/* === Animations === */\n@keyframes moonkey-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }\n@keyframes moonkey-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }\n\n/* === Button === */\n.moonkey-sdk-root .moonkey-btn {\n display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;\n font-weight: 500; font-size: 0.875rem; border: none; cursor: pointer;\n user-select: none; -webkit-user-select: none; white-space: nowrap;\n transition: background-color 0.2s, color 0.2s, border-color 0.2s, opacity 0.2s;\n font-family: inherit; text-decoration: none;\n}\n.moonkey-sdk-root .moonkey-btn:disabled { opacity: 0.5; cursor: not-allowed; pointer-events: none; }\n\n/* Sizes */\n.moonkey-sdk-root .moonkey-btn--sm { height: 2.25rem; padding: 0 0.75rem; border-radius: var(--moonkey-border-radius-md); }\n.moonkey-sdk-root .moonkey-btn--md, .moonkey-sdk-root .moonkey-btn--default { height: 2.75rem; padding: 0 1rem; border-radius: var(--moonkey-border-radius-md); }\n.moonkey-sdk-root .moonkey-btn--lg { height: 3rem; padding: 0 2rem; font-size: 1rem; border-radius: var(--moonkey-border-radius-md); }\n.moonkey-sdk-root .moonkey-btn--icon { width: 2rem; height: 2rem; padding: 0; border-radius: var(--moonkey-border-radius-md); }\n.moonkey-sdk-root .moonkey-btn--full { width: 100%; justify-content: center; }\n\n/* Variants */\n.moonkey-sdk-root .moonkey-btn--primary, .moonkey-sdk-root .moonkey-btn--default {\n background-color: var(--moonkey-color-accent); color: var(--moonkey-color-accent-foreground);\n}\n.moonkey-sdk-root .moonkey-btn--primary:hover:not(:disabled), .moonkey-sdk-root .moonkey-btn--default:hover:not(:disabled) {\n background-color: var(--moonkey-color-accent-dark);\n}\n.moonkey-sdk-root .moonkey-btn--primary.moonkey-state--success { background-color: var(--moonkey-color-success); color: var(--moonkey-color-success-foreground); }\n.moonkey-sdk-root .moonkey-btn--primary.moonkey-state--error { background-color: var(--moonkey-color-error); color: var(--moonkey-color-error-foreground); }\n\n.moonkey-sdk-root .moonkey-btn--outline {\n background-color: transparent; border: 1px solid var(--moonkey-color-border); color: var(--moonkey-color-foreground);\n}\n.moonkey-sdk-root .moonkey-btn--outline:hover:not(:disabled) { background-color: var(--moonkey-color-background-2); border-color: var(--moonkey-color-accent); }\n\n.moonkey-sdk-root .moonkey-btn--ghost { background-color: transparent; color: var(--moonkey-color-foreground); }\n.moonkey-sdk-root .moonkey-btn--ghost:hover:not(:disabled) { background-color: var(--moonkey-color-background-2); }\n\n.moonkey-sdk-root .moonkey-btn--secondary { background-color: var(--moonkey-color-background-2); color: var(--moonkey-color-foreground); }\n.moonkey-sdk-root .moonkey-btn--secondary:hover:not(:disabled) { background-color: var(--moonkey-color-background-3); }\n\n.moonkey-sdk-root .moonkey-btn--destructive { background-color: var(--moonkey-color-error); color: var(--moonkey-color-error-foreground); }\n.moonkey-sdk-root .moonkey-btn--destructive:hover:not(:disabled) { opacity: 0.9; }\n\n.moonkey-sdk-root .moonkey-btn--link { background: transparent; color: var(--moonkey-color-accent); text-decoration: underline; text-underline-offset: 4px; height: auto; padding: 0; }\n\n/* === Input === */\n.moonkey-sdk-root .moonkey-input {\n display: flex; width: 100%; height: 2.75rem; padding: 0 0.75rem;\n font-size: 0.875rem; font-family: inherit; color: var(--moonkey-color-foreground);\n background-color: var(--moonkey-color-background); border: 1px solid var(--moonkey-color-border);\n border-radius: var(--moonkey-border-radius-md); outline: none;\n transition: border-color 0.2s, box-shadow 0.2s; box-sizing: border-box;\n}\n.moonkey-sdk-root .moonkey-input:focus { border-color: var(--moonkey-color-accent); box-shadow: 0 0 0 1px var(--moonkey-color-accent); }\n.moonkey-sdk-root .moonkey-input:disabled { opacity: 0.5; cursor: not-allowed; }\n.moonkey-sdk-root .moonkey-input--error { border-color: var(--moonkey-color-error); }\n\n/* === Label === */\n.moonkey-sdk-root .moonkey-label { display: block; font-size: 0.875rem; font-weight: 500; color: var(--moonkey-color-foreground); line-height: 1; }\n.moonkey-sdk-root .moonkey-label--secondary { color: var(--moonkey-color-foreground-3); }\n.moonkey-sdk-root .moonkey-label--tertiary { color: var(--moonkey-color-foreground-4); font-size: 0.75rem; }\n.moonkey-sdk-root .moonkey-label--error { color: var(--moonkey-color-error); }\n.moonkey-sdk-root .moonkey-label--success { color: var(--moonkey-color-success); }\n\n/* === Detail Row === */\n.moonkey-sdk-root .moonkey-detail-row { display: flex; justify-content: space-between; align-items: center; padding: 0.25rem 0; }\n.moonkey-sdk-root .moonkey-detail-row__label { font-size: 0.875rem; color: var(--moonkey-color-foreground-3); }\n.moonkey-sdk-root .moonkey-detail-row__value { font-size: 0.875rem; font-weight: 500; color: var(--moonkey-color-foreground); text-align: right; }\n\n/* === Divider === */\n.moonkey-sdk-root .moonkey-divider { border-top: 1px solid var(--moonkey-color-border); margin: 1rem 0; }\n\n/* === Boxes === */\n.moonkey-sdk-root .moonkey-box { padding: 0.75rem; border-radius: var(--moonkey-border-radius-lg); }\n.moonkey-sdk-root .moonkey-box--surface { background-color: var(--moonkey-color-background-2); }\n.moonkey-sdk-root .moonkey-box--error { background-color: var(--moonkey-color-background-2); border: 1px solid var(--moonkey-color-error); }\n.moonkey-sdk-root .moonkey-box--success { background-color: var(--moonkey-color-background-2); border: 1px solid var(--moonkey-color-success); }\n.moonkey-sdk-root .moonkey-box--info { background-color: var(--moonkey-color-background-2); border: 1px solid var(--moonkey-color-border); }\n.moonkey-sdk-root .moonkey-box--warning { background-color: var(--moonkey-color-background-2); border: 1px solid var(--moonkey-color-error); display: flex; align-items: flex-start; gap: 0.5rem; }\n.moonkey-sdk-root .moonkey-box--scrollable { overflow-y: auto; font-size: 0.875rem; white-space: pre-wrap; word-break: break-word; }\n\n/* === Address Pill === */\n.moonkey-sdk-root .moonkey-address-pill {\n display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.25rem 0.75rem;\n background-color: var(--moonkey-color-background-3); color: var(--moonkey-color-foreground);\n border: 1px solid var(--moonkey-color-border); border-radius: var(--moonkey-border-radius-md);\n font-size: 0.875rem; font-family: monospace; cursor: pointer;\n transition: background-color 0.2s, border-color 0.2s;\n}\n.moonkey-sdk-root .moonkey-address-pill:hover { background-color: var(--moonkey-color-background-2); }\n.moonkey-sdk-root .moonkey-address-pill--copied { border-color: var(--moonkey-color-success); }\n\n/* === Mono Text === */\n.moonkey-sdk-root .moonkey-mono { font-family: monospace; font-size: 0.875rem; color: var(--moonkey-color-foreground); }\n\n/* === Spinner === */\n.moonkey-sdk-root .moonkey-spinner {\n display: inline-block; flex-shrink: 0;\n border: 2px solid currentColor; border-top-color: transparent;\n border-radius: 9999px; animation: moonkey-spin 1s linear infinite;\n}\n.moonkey-sdk-root .moonkey-spinner--sm { width: 0.875rem; height: 0.875rem; }\n.moonkey-sdk-root .moonkey-spinner--md { width: 1rem; height: 1rem; }\n.moonkey-sdk-root .moonkey-spinner--lg { width: 1.5rem; height: 1.5rem; }\n.moonkey-sdk-root .moonkey-spinner--xl { width: 2rem; height: 2rem; }\n\n/* === Pulse skeleton === */\n.moonkey-sdk-root .moonkey-skeleton { background-color: var(--moonkey-color-background-2); border-radius: 0.25rem; animation: moonkey-pulse 2s cubic-bezier(0.4,0,0.6,1) infinite; }\n\n/* === Flow layout === */\n.moonkey-sdk-root .moonkey-flow-close { position: absolute; top: 1rem; right: 1.5rem; display: flex; align-items: center; flex-shrink: 0; z-index: 1; }\n.moonkey-sdk-root .moonkey-flow-header { display: flex; flex-direction: column; text-align: center; padding: 0 0.5rem 0.25rem; gap: 0.5rem; }\n.moonkey-sdk-root .moonkey-flow-content { display: flex; flex-direction: column; flex: 1; margin-top: 1rem; padding: 0 0.5rem; }\n.moonkey-sdk-root .moonkey-flow-footer {\n position: absolute; bottom: 0; left: 0; right: 0;\n background-color: var(--moonkey-color-background); padding: 1rem 2rem 3rem;\n margin: 0 0.125rem 0.125rem;\n border-bottom-left-radius: var(--moonkey-border-radius-lg);\n border-bottom-right-radius: var(--moonkey-border-radius-lg);\n}\n.moonkey-sdk-root .moonkey-flow-footer__actions { display: flex; gap: 0.75rem; }\n/* Buttons inside footer actions auto-stretch to fill space */\n.moonkey-sdk-root .moonkey-flow-footer__actions > .moonkey-btn { flex: 1; height: 3rem; font-size: 1rem; }\n\n/* === Flow text utilities === */\n.moonkey-sdk-root .moonkey-text--heading { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--moonkey-color-foreground); }\n.moonkey-sdk-root .moonkey-text--title { font-size: 1rem; font-weight: 600; color: var(--moonkey-color-foreground); }\n.moonkey-sdk-root .moonkey-text--secondary { font-size: 0.875rem; color: var(--moonkey-color-foreground-3); }\n.moonkey-sdk-root .moonkey-text--error { font-size: 0.875rem; color: var(--moonkey-color-error); }\n.moonkey-sdk-root .moonkey-text--success { font-size: 0.875rem; color: var(--moonkey-color-success); }\n.moonkey-sdk-root .moonkey-flow-logo { display: flex; align-items: center; justify-content: center; }\n\n/* === Terms link row (accept-terms) === */\n.moonkey-sdk-root .moonkey-terms-link {\n display: flex; flex-direction: row; align-items: center; justify-content: space-between;\n border-radius: var(--moonkey-border-radius-lg); padding: 0.75rem;\n margin-left: 0.75rem; margin-right: 0.75rem;\n border: 1px solid var(--moonkey-color-border); cursor: pointer;\n transition: background-color 0.2s ease;\n}\n.moonkey-sdk-root .moonkey-terms-link:hover { background-color: var(--moonkey-color-background-2); }\n\n/* === Wallet item === */\n.moonkey-sdk-root .moonkey-wallet-item {\n display: flex; align-items: center; justify-content: space-between; padding: 0.5rem 1rem;\n border: 1px solid var(--moonkey-color-border); border-radius: var(--moonkey-border-radius-lg);\n background-color: var(--moonkey-color-background); cursor: pointer;\n transition: border-color 0.2s, background-color 0.2s;\n}\n.moonkey-sdk-root .moonkey-wallet-item:hover { border-color: var(--moonkey-color-accent); background-color: var(--moonkey-color-background-2); }\n.moonkey-sdk-root .moonkey-wallet-item--selected { border-color: var(--moonkey-color-accent); background-color: var(--moonkey-color-background-2); }\n\n/* === Flow overlay (z-index stack wrapper) === */\n.moonkey-sdk-root .moonkey-flow-overlay { position: relative; z-index: 100; }\n\n/* === Wallet connection state container === */\n.moonkey-sdk-root .moonkey-connect-state { display: flex; flex-direction: column; align-items: center; justify-content: center; padding-top: 3rem; padding-bottom: 3rem; }\n\n/* === Large wallet icon spinner === */\n.moonkey-sdk-root .moonkey-wallet-spinner { position: relative; width: 5rem; height: 5rem; display: flex; align-items: center; justify-content: center; }\n.moonkey-sdk-root .moonkey-wallet-spinner__ring { position: absolute; inset: 0; width: 5rem; height: 5rem; border-radius: 50%; border: 4px solid var(--moonkey-color-border); }\n.moonkey-sdk-root .moonkey-wallet-spinner__ring--error { border-color: var(--moonkey-color-error); }\n.moonkey-sdk-root .moonkey-wallet-spinner__spin { position: absolute; inset: 0; width: 5rem; height: 5rem; border-radius: 50%; border: 4px solid transparent; border-top-color: var(--moonkey-color-accent); animation: moonkey-spin 1s linear infinite; }\n.moonkey-sdk-root .moonkey-wallet-spinner__center { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }\n\n/* === Data preview box (sign typed-data / transactions) === */\n.moonkey-sdk-root .moonkey-data-preview { margin-top: 0.25rem; padding: 0.75rem; background-color: var(--moonkey-color-background-2); border-radius: var(--moonkey-border-radius-md); font-size: 0.875rem; font-family: monospace; word-break: break-all; white-space: pre-line; user-select: none; -webkit-user-select: none; }\n\n/* === Scrollable data container (signing flows) === */\n.moonkey-sdk-root .moonkey-data-scroll { display: flex; flex-direction: column; max-height: 390px; overflow-y: auto; padding-bottom: 5rem; position: relative; }\n\n/* === Expand/collapse trigger === */\n.moonkey-sdk-root .moonkey-expand-toggle { display: inline-flex; align-items: center; cursor: pointer; user-select: none; -webkit-user-select: none; }\n\n/* === Scrollable bordered list (transaction detail panels) === */\n.moonkey-sdk-root .moonkey-scrollable-list { display: flex; flex-direction: column; overflow-y: auto; border: 1px solid var(--moonkey-color-border); border-radius: var(--moonkey-border-radius-md); scrollbar-width: none; }\n.moonkey-sdk-root .moonkey-scrollable-list::-webkit-scrollbar { display: none; }\n\n/* === Modal content column (passkey-enroll, add-passkey) === */\n.moonkey-sdk-root .moonkey-modal-content { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 1rem 1.5rem; gap: 1rem; }\n\n/* === Back nav button (absolute top-left) === */\n.moonkey-sdk-root .moonkey-back-btn { position: absolute; top: 1rem; left: 0.5rem; width: 2.5rem; height: 2.5rem; display: flex; align-items: center; justify-content: center; border-radius: var(--moonkey-border-radius-full); }\n\n/* === Centered inline row (resend, action links) === */\n.moonkey-sdk-root .moonkey-center-row { display: flex; justify-content: center; align-items: center; gap: 0.25rem; }\n\n/* === Stacked button column (modal CTAs) === */\n.moonkey-sdk-root .moonkey-btn-stack { display: flex; flex-direction: column; gap: 0.5rem; width: 100%; padding-top: 0.5rem; }\n\n/* === Legal footer text (terms & privacy) === */\n.moonkey-sdk-root .moonkey-legal-text { font-size: 0.75rem; color: var(--moonkey-color-foreground-3); text-align: center; line-height: 1.5; margin-top: 1rem; }\n.moonkey-sdk-root .moonkey-legal-text a { color: var(--moonkey-color-accent); cursor: pointer; }\n/* Inline-checkbox variant: same typography, but flex layout aligned left so the checkbox sits beside the link text. */\n.moonkey-sdk-root .moonkey-legal-checkbox { display: flex; align-items: flex-start; justify-content: flex-start; text-align: left; gap: 0.5rem; }\n.moonkey-sdk-root .moonkey-legal-checkbox input[type="checkbox"] { margin-top: 0.15rem; cursor: pointer; }\n\n/* === Login gating (require_users_accept_terms) === */\n/* Wraps the email/social/wallet buttons so they can be visually disabled until the terms checkbox is ticked. The default state is unaffected. */\n.moonkey-sdk-root .moonkey-login-gateable { transition: opacity 0.15s ease-out; }\n.moonkey-sdk-root .moonkey-login-gated { opacity: 0.5; pointer-events: none; }\n\n/* === Shared entry animations === */\n@keyframes moonkey-slide-in { from { opacity: 0; transform: translateX(-20px); } to { opacity: 1; transform: translateX(0); } }\n@keyframes moonkey-success-bounce { from { opacity: 0; transform: translateY(-50px) rotate(-60deg); } to { opacity: 1; transform: translateY(20px) rotate(0deg); } }\n@keyframes moonkey-error-bounce { from { opacity: 0; transform: translateY(-50px) rotate(-60deg); } to { opacity: 1; transform: translateY(20px) rotate(0deg); } }\n@keyframes moonkey-error-shake { 0%, 100% { transform: translateX(0); } 10%, 30%, 50%, 70%, 90% { transform: translateX(-10px); } 20%, 40%, 60%, 80% { transform: translateX(10px); } }\n@keyframes moonkey-mail-slide-in { from { opacity: 0; transform: translateX(-50px) rotate(-15deg); } to { opacity: 1; transform: translateX(0) rotate(0deg); } }\n@keyframes moonkey-verified-slide-in { from { opacity: 0; transform: translateX(100px); } to { opacity: 1; transform: translateX(0); } }\n\n/* === Icon size utilities === */\n.moonkey-sdk-root .moonkey-icon--xs { width: 0.75rem; height: 0.75rem; }\n.moonkey-sdk-root .moonkey-icon--sm { width: 1rem; height: 1rem; }\n.moonkey-sdk-root .moonkey-icon--md { width: 1.5rem; height: 1.5rem; }\n.moonkey-sdk-root .moonkey-icon--lg { width: 2rem; height: 2rem; }\n.moonkey-sdk-root .moonkey-icon--xl { width: 2.5rem; height: 2.5rem; }\n.moonkey-sdk-root .moonkey-icon--2xl { width: 3rem; height: 3rem; }\n.moonkey-sdk-root .moonkey-icon--mr-xs { margin-right: 0.25rem; }\n.moonkey-sdk-root .moonkey-icon--mr-sm { margin-right: 0.5rem; }\n.moonkey-sdk-root .moonkey-icon--accent { color: var(--moonkey-color-accent); }\n.moonkey-sdk-root .moonkey-icon--success { color: var(--moonkey-color-success, #16a34a); }\n.moonkey-sdk-root .moonkey-icon--error { color: var(--moonkey-color-error); }\n.moonkey-sdk-root .moonkey-icon--muted { color: var(--moonkey-color-foreground-3); }\n.moonkey-sdk-root .moonkey-icon--fg { color: var(--moonkey-color-foreground); }\n\n/* === Layout utilities === */\n.moonkey-sdk-root .moonkey-flex-center { display: flex; align-items: center; justify-content: center; }\n.moonkey-sdk-root .moonkey-flex-between { display: flex; align-items: center; justify-content: space-between; }\n.moonkey-sdk-root .moonkey-flex-col { display: flex; flex-direction: column; }\n.moonkey-sdk-root .moonkey-flex-col-center { display: flex; flex-direction: column; align-items: center; }\n\n/* === Text modifiers === */\n.moonkey-sdk-root .moonkey-text--semibold { font-weight: 500; }\n.moonkey-sdk-root .moonkey-text--bold { font-weight: 600; }\n.moonkey-sdk-root .moonkey-text--center { text-align: center; }\n.moonkey-sdk-root .moonkey-text--sm { font-size: 0.875rem; }\n.moonkey-sdk-root .moonkey-text--lg { font-size: 1.125rem; }\n.moonkey-sdk-root .moonkey-text--xl { font-size: 1.25rem; }\n\n/* === Transaction detail card (success receipt) === */\n.moonkey-sdk-root .moonkey-detail-card { display: flex; flex-direction: column; border: 1px solid var(--moonkey-color-border); border-radius: var(--moonkey-border-radius-lg); padding: 1rem 0.5rem; margin: 2rem 0.5rem 0; }\n.moonkey-sdk-root .moonkey-detail-card__rows { flex: 1; display: flex; flex-direction: column; gap: 0.25rem; }\n\n/* === Failed-transaction error scroll box === */\n.moonkey-sdk-root .moonkey-error-scroll { display: flex; flex-direction: column; background-color: var(--moonkey-color-background-2); border: 1px solid var(--moonkey-color-border); border-radius: var(--moonkey-border-radius-lg); padding: 1rem 0.5rem; margin: 0.5rem; height: 150px; overflow: auto; }\n\n/* === Network logo badge (ethereum/solana pair) === */\n.moonkey-sdk-root .moonkey-network-badge { width: 32px; height: 32px; border-radius: 16px; border: 1px solid var(--moonkey-color-border); background-color: var(--moonkey-color-background-2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }\n.moonkey-sdk-root .moonkey-network-badge--overlap { margin-left: -8px; }\n\n/* === Positioned icons inside inputs === */\n.moonkey-sdk-root .moonkey-search-icon { position: absolute; left: 0.75rem; top: 0.875rem; color: var(--moonkey-color-foreground-3); }\n.moonkey-sdk-root .moonkey-input-icon--left { position: absolute; left: 0.75rem; top: 50%; transform: translateY(-50%); color: var(--moonkey-color-foreground-3); pointer-events: none; }\n\n/* === Step indicator (N of M) === */\n.moonkey-sdk-root .moonkey-step-label { font-size: 0.75rem; font-weight: 600; color: var(--moonkey-color-accent); letter-spacing: 0.05em; text-transform: uppercase; }\n\n/* === Feature bullet item (passkey enroll) === */\n.moonkey-sdk-root .moonkey-feature-item { display: flex; align-items: flex-start; gap: 0.75rem; text-align: left; font-size: 0.875rem; color: var(--moonkey-color-foreground); }\n\n/* === Monospace textarea (import wallet) === */\n.moonkey-sdk-root .moonkey-mono-textarea { width: 100%; min-height: 100px; padding: 0.75rem; font-family: monospace; font-size: 0.75rem; background-color: var(--moonkey-color-background-2); color: var(--moonkey-color-foreground); border: 1px solid var(--moonkey-color-border); border-radius: var(--moonkey-border-radius-md); outline: none; resize: vertical; }\n\n/* === Sign-flow inner section and row === */\n.moonkey-sdk-root .moonkey-sign-section { padding: 0.5rem; }\n.moonkey-sdk-root .moonkey-sign-row { display: flex; align-items: center; justify-content: space-between; }\n\n/* === External wallet connect button (login flow) === */\n.moonkey-sdk-root .moonkey-external-wallet-btn { border-radius: var(--moonkey-border-radius-lg); border: 1px solid var(--moonkey-color-border); padding: 0.75rem 0.25rem; cursor: pointer; margin-top: 0.75rem; transition: all 0.2s ease-in-out; background-color: transparent; }\n.moonkey-sdk-root .moonkey-external-wallet-btn:hover { border-color: var(--moonkey-color-accent); background-color: var(--moonkey-color-background-2); }\n.moonkey-sdk-root .moonkey-external-wallet-btn--accent-hover:hover { background-color: var(--moonkey-color-accent); }\n.moonkey-sdk-root .moonkey-external-wallet-btn__inner { display: flex; flex-direction: row; align-items: center; gap: 0.5rem; animation: moonkey-slide-in 0.3s ease-out 0.1s both; }\n\n/* === Flex row utility (icon + label pairs) === */\n.moonkey-sdk-root .moonkey-flex-row { display: flex; flex-direction: row; align-items: center; gap: 0.5rem; }\n\n/* === Login landing layout === */\n.moonkey-sdk-root .moonkey-header { position: absolute; top: 1.5rem; left: 0; right: 0; text-align: center; font-size: 0.875rem; color: var(--moonkey-color-foreground); margin-bottom: 0.5rem; padding-left: 3rem; padding-right: 3rem; }\n.moonkey-sdk-root .moonkey-header__inner { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.moonkey-sdk-root .moonkey-content-wrapper { padding-top: 1rem; padding-bottom: 1rem; width: 100%; }\n.moonkey-sdk-root .moonkey-logo-section { text-align: center; margin-bottom: 1rem; }\n.moonkey-sdk-root .moonkey-logo-section__inner { padding-top: 1rem; padding-bottom: 1rem; }\n.moonkey-sdk-root .moonkey-description { padding-left: 1.25rem; padding-right: 1.25rem; text-align: center; color: var(--moonkey-color-foreground-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.moonkey-sdk-root .moonkey-form-section { padding: 0.5rem 1rem; }\n\n/* === Email OTP content fill === */\n.moonkey-sdk-root .moonkey-otp-content { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; }\n\n/* === Wallet icon status overlay badge === */\n.moonkey-sdk-root .moonkey-wallet-status-badge { position: absolute; bottom: -4px; right: -4px; background-color: var(--moonkey-color-background); border-radius: 50%; display: flex; align-items: center; justify-content: center; }\n\n/* === Wallet connect success animation === */\n@keyframes fadeInScale { from { opacity: 0; transform: scale(0.8); } to { opacity: 1; transform: scale(1); } }\n';
|
|
3530
|
+
var SDK_STYLES = '\n/* === Reset === */\n.moonkey-sdk-root * { box-sizing: border-box; }\n.moonkey-sdk-root *:focus-visible { outline: 2px solid var(--moonx-color-ring, var(--moonkey-color-accent)); outline-offset: 2px; }\n.moonkey-sdk-root input::placeholder { color: var(--moonkey-color-foreground-3); opacity: 1; }\n\n/* === Animations === */\n@keyframes moonkey-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }\n@keyframes moonkey-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }\n\n/* === Button === */\n.moonkey-sdk-root .moonkey-btn {\n display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;\n font-weight: var(--moonx-font-weight-medium, 500); font-size: 0.875rem; border: none; cursor: pointer;\n user-select: none; -webkit-user-select: none; white-space: nowrap;\n transition: background-color 0.2s, color 0.2s, border-color 0.2s, opacity 0.2s;\n font-family: inherit; text-decoration: none;\n}\n.moonkey-sdk-root .moonkey-btn:disabled { opacity: 0.5; cursor: not-allowed; pointer-events: none; }\n\n/* Sizes */\n.moonkey-sdk-root .moonkey-btn--sm { height: 2.25rem; padding: 0 0.75rem; border-radius: var(--moonx-radius-button, var(--moonkey-border-radius-md)); }\n.moonkey-sdk-root .moonkey-btn--md, .moonkey-sdk-root .moonkey-btn--default { height: 2.75rem; padding: 0 1rem; border-radius: var(--moonx-radius-button, var(--moonkey-border-radius-md)); }\n.moonkey-sdk-root .moonkey-btn--lg { height: 3rem; padding: 0 2rem; font-size: 1rem; border-radius: var(--moonx-radius-button, var(--moonkey-border-radius-md)); }\n.moonkey-sdk-root .moonkey-btn--icon { width: 2rem; height: 2rem; padding: 0; border-radius: var(--moonx-radius-button, var(--moonkey-border-radius-md)); }\n.moonkey-sdk-root .moonkey-btn--full { width: 100%; justify-content: center; }\n\n/* Variants */\n.moonkey-sdk-root .moonkey-btn--primary, .moonkey-sdk-root .moonkey-btn--default {\n background-color: var(--moonx-button-bg, var(--moonkey-color-accent)); color: var(--moonx-button-fg, var(--moonkey-color-accent-foreground));\n border: var(--moonx-button-border-width, 0px) solid var(--moonx-button-border-color, transparent);\n}\n.moonkey-sdk-root .moonkey-btn--primary:hover:not(:disabled), .moonkey-sdk-root .moonkey-btn--default:hover:not(:disabled) {\n background-color: var(--moonkey-color-accent-dark);\n}\n.moonkey-sdk-root .moonkey-btn--primary.moonkey-state--success { background-color: var(--moonkey-color-success); color: var(--moonkey-color-success-foreground); }\n.moonkey-sdk-root .moonkey-btn--primary.moonkey-state--error { background-color: var(--moonkey-color-error); color: var(--moonkey-color-error-foreground); }\n\n.moonkey-sdk-root .moonkey-btn--outline {\n background-color: transparent; border: 1px solid var(--moonkey-color-border); color: var(--moonkey-color-foreground);\n}\n.moonkey-sdk-root .moonkey-btn--outline:hover:not(:disabled) { background-color: var(--moonkey-color-background-2); border-color: var(--moonkey-color-accent); }\n\n.moonkey-sdk-root .moonkey-btn--ghost { background-color: transparent; color: var(--moonkey-color-foreground); }\n.moonkey-sdk-root .moonkey-btn--ghost:hover:not(:disabled) { background-color: var(--moonkey-color-background-2); }\n\n.moonkey-sdk-root .moonkey-btn--secondary { background-color: var(--moonkey-color-background-2); color: var(--moonkey-color-foreground); }\n.moonkey-sdk-root .moonkey-btn--secondary:hover:not(:disabled) { background-color: var(--moonkey-color-background-3); }\n\n.moonkey-sdk-root .moonkey-btn--destructive { background-color: var(--moonkey-color-error); color: var(--moonkey-color-error-foreground); }\n.moonkey-sdk-root .moonkey-btn--destructive:hover:not(:disabled) { opacity: 0.9; }\n\n.moonkey-sdk-root .moonkey-btn--link { background: transparent; color: var(--moonx-color-link, var(--moonkey-color-accent)); text-decoration: underline; text-underline-offset: 4px; height: auto; padding: 0; }\n\n/* === Input === */\n.moonkey-sdk-root .moonkey-input {\n display: flex; width: 100%; height: 2.75rem; padding: 0 0.75rem;\n font-size: 0.875rem; font-family: inherit; color: var(--moonx-input-fg, var(--moonkey-color-foreground));\n background-color: var(--moonx-input-bg, transparent); border: var(--moonx-input-border-width, 1px) solid var(--moonx-input-border-color, var(--moonkey-color-border));\n border-radius: var(--moonx-radius-input, var(--moonkey-border-radius-md)); outline: none;\n transition: border-color 0.2s, box-shadow 0.2s; box-sizing: border-box;\n}\n.moonkey-sdk-root .moonkey-input:focus { border-color: var(--moonx-color-ring, var(--moonkey-color-accent)); box-shadow: 0 0 0 1px var(--moonx-color-ring, var(--moonkey-color-accent)); }\n.moonkey-sdk-root .moonkey-input:disabled { opacity: 0.5; cursor: not-allowed; }\n.moonkey-sdk-root .moonkey-input--error { border-color: var(--moonkey-color-error); }\n\n/* === Label === */\n.moonkey-sdk-root .moonkey-label { display: block; font-size: 0.875rem; font-weight: var(--moonx-font-weight-medium, 500); color: var(--moonkey-color-foreground); line-height: 1; }\n.moonkey-sdk-root .moonkey-label--secondary { color: var(--moonkey-color-foreground-3); }\n.moonkey-sdk-root .moonkey-label--tertiary { color: var(--moonkey-color-foreground-4); font-size: 0.75rem; }\n.moonkey-sdk-root .moonkey-label--error { color: var(--moonkey-color-error); }\n.moonkey-sdk-root .moonkey-label--success { color: var(--moonkey-color-success); }\n\n/* === Detail Row === */\n.moonkey-sdk-root .moonkey-detail-row { display: flex; justify-content: space-between; align-items: center; padding: 0.25rem 0; }\n.moonkey-sdk-root .moonkey-detail-row__label { font-size: 0.875rem; color: var(--moonkey-color-foreground-3); }\n.moonkey-sdk-root .moonkey-detail-row__value { font-size: 0.875rem; font-weight: 500; color: var(--moonkey-color-foreground); text-align: right; }\n\n/* === Divider === */\n.moonkey-sdk-root .moonkey-divider { border-top: 1px solid var(--moonkey-color-border); margin: 1rem 0; }\n\n/* === Boxes === */\n.moonkey-sdk-root .moonkey-box { padding: 0.75rem; border-radius: var(--moonkey-border-radius-lg); }\n.moonkey-sdk-root .moonkey-box--surface { background-color: var(--moonkey-color-background-2); }\n.moonkey-sdk-root .moonkey-box--error { background-color: var(--moonkey-color-background-2); border: 1px solid var(--moonkey-color-error); }\n.moonkey-sdk-root .moonkey-box--success { background-color: var(--moonkey-color-background-2); border: 1px solid var(--moonkey-color-success); }\n.moonkey-sdk-root .moonkey-box--info { background-color: var(--moonkey-color-background-2); border: 1px solid var(--moonx-color-info, var(--moonkey-color-border)); }\n.moonkey-sdk-root .moonkey-box--warning { background-color: var(--moonkey-color-background-2); border: 1px solid var(--moonx-color-warning, var(--moonkey-color-error)); display: flex; align-items: flex-start; gap: 0.5rem; }\n.moonkey-sdk-root .moonkey-box--scrollable { overflow-y: auto; font-size: 0.875rem; white-space: pre-wrap; word-break: break-word; }\n\n/* === Address Pill === */\n.moonkey-sdk-root .moonkey-address-pill {\n display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.25rem 0.75rem;\n background-color: var(--moonkey-color-background-3); color: var(--moonkey-color-foreground);\n border: 1px solid var(--moonkey-color-border); border-radius: var(--moonkey-border-radius-md);\n font-size: 0.875rem; font-family: monospace; cursor: pointer;\n transition: background-color 0.2s, border-color 0.2s;\n}\n.moonkey-sdk-root .moonkey-address-pill:hover { background-color: var(--moonkey-color-background-2); }\n.moonkey-sdk-root .moonkey-address-pill--copied { border-color: var(--moonkey-color-success); }\n\n/* === Mono Text === */\n.moonkey-sdk-root .moonkey-mono { font-family: monospace; font-size: 0.875rem; color: var(--moonkey-color-foreground); }\n\n/* === Spinner === */\n.moonkey-sdk-root .moonkey-spinner {\n display: inline-block; flex-shrink: 0;\n border: 2px solid currentColor; border-top-color: transparent;\n border-radius: 9999px; animation: moonkey-spin 1s linear infinite;\n}\n.moonkey-sdk-root .moonkey-spinner--sm { width: 0.875rem; height: 0.875rem; }\n.moonkey-sdk-root .moonkey-spinner--md { width: 1rem; height: 1rem; }\n.moonkey-sdk-root .moonkey-spinner--lg { width: 1.5rem; height: 1.5rem; }\n.moonkey-sdk-root .moonkey-spinner--xl { width: 2rem; height: 2rem; }\n\n/* === Pulse skeleton === */\n.moonkey-sdk-root .moonkey-skeleton { background-color: var(--moonkey-color-background-2); border-radius: 0.25rem; animation: moonkey-pulse 2s cubic-bezier(0.4,0,0.6,1) infinite; }\n\n/* === Flow layout === */\n.moonkey-sdk-root .moonkey-flow-close { position: absolute; top: 1rem; right: 1.5rem; display: flex; align-items: center; flex-shrink: 0; z-index: 1; }\n.moonkey-sdk-root .moonkey-flow-header { display: flex; flex-direction: column; text-align: center; padding: 0 0.5rem 0.25rem; gap: 0.5rem; }\n.moonkey-sdk-root .moonkey-flow-content { display: flex; flex-direction: column; flex: 1; margin-top: 1rem; padding: 0 0.5rem; }\n.moonkey-sdk-root .moonkey-flow-footer {\n position: absolute; bottom: 0; left: 0; right: 0;\n background-color: var(--moonkey-color-background); padding: 1rem 2rem 3rem;\n margin: 0 0.125rem 0.125rem;\n border-bottom-left-radius: var(--moonkey-border-radius-lg);\n border-bottom-right-radius: var(--moonkey-border-radius-lg);\n}\n.moonkey-sdk-root .moonkey-flow-footer__actions { display: flex; gap: 0.75rem; }\n/* Buttons inside footer actions auto-stretch to fill space */\n.moonkey-sdk-root .moonkey-flow-footer__actions > .moonkey-btn { flex: 1; height: 3rem; font-size: 1rem; }\n\n/* === Flow text utilities === */\n.moonkey-sdk-root .moonkey-text--heading { font-weight: var(--moonx-font-weight-heading, var(--moonx-font-weight-medium, 500)); font-family: var(--moonx-font-family-heading, inherit); letter-spacing: var(--moonx-letter-spacing-heading, inherit); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--moonx-color-heading, var(--moonkey-color-foreground)); }\n.moonkey-sdk-root .moonkey-text--title { font-size: var(--moonx-font-size-heading, var(--moonx-font-size-lg, 1rem)); font-weight: var(--moonx-font-weight-heading, var(--moonx-font-weight-bold, 600)); font-family: var(--moonx-font-family-heading, inherit); letter-spacing: var(--moonx-letter-spacing-heading, inherit); color: var(--moonx-color-heading, var(--moonkey-color-foreground)); }\n.moonkey-sdk-root .moonkey-text--secondary { font-size: var(--moonx-font-size-sm, 0.875rem); color: var(--moonkey-color-foreground-3); }\n.moonkey-sdk-root .moonkey-text--error { font-size: 0.875rem; color: var(--moonkey-color-error); }\n.moonkey-sdk-root .moonkey-text--success { font-size: 0.875rem; color: var(--moonkey-color-success); }\n.moonkey-sdk-root .moonkey-flow-logo { display: flex; align-items: center; justify-content: center; }\n\n/* === Terms link row (accept-terms) === */\n.moonkey-sdk-root .moonkey-terms-link {\n display: flex; flex-direction: row; align-items: center; justify-content: space-between;\n border-radius: var(--moonkey-border-radius-lg); padding: 0.75rem;\n margin-left: 0.75rem; margin-right: 0.75rem;\n border: 1px solid var(--moonkey-color-border); cursor: pointer;\n transition: background-color 0.2s ease;\n}\n.moonkey-sdk-root .moonkey-terms-link:hover { background-color: var(--moonkey-color-background-2); }\n\n/* === Wallet item === */\n.moonkey-sdk-root .moonkey-wallet-item {\n display: flex; align-items: center; justify-content: space-between; padding: 0.5rem 1rem;\n border: 1px solid var(--moonkey-color-border); border-radius: var(--moonx-radius-button, var(--moonkey-border-radius-lg));\n background-color: var(--moonkey-color-background); cursor: pointer;\n transition: border-color 0.2s, background-color 0.2s;\n}\n.moonkey-sdk-root .moonkey-wallet-item:hover { border-color: var(--moonkey-color-accent); background-color: var(--moonkey-color-background-2); }\n.moonkey-sdk-root .moonkey-wallet-item--selected { border-color: var(--moonkey-color-accent); background-color: var(--moonkey-color-background-2); }\n\n/* === Flow overlay (z-index stack wrapper) === */\n.moonkey-sdk-root .moonkey-flow-overlay { position: relative; z-index: 100; }\n\n/* === Wallet connection state container === */\n.moonkey-sdk-root .moonkey-connect-state { display: flex; flex-direction: column; align-items: center; justify-content: center; padding-top: 3rem; padding-bottom: 3rem; }\n\n/* === Large wallet icon spinner === */\n.moonkey-sdk-root .moonkey-wallet-spinner { position: relative; width: 5rem; height: 5rem; display: flex; align-items: center; justify-content: center; }\n.moonkey-sdk-root .moonkey-wallet-spinner__ring { position: absolute; inset: 0; width: 5rem; height: 5rem; border-radius: 50%; border: 4px solid var(--moonkey-color-border); }\n.moonkey-sdk-root .moonkey-wallet-spinner__ring--error { border-color: var(--moonkey-color-error); }\n.moonkey-sdk-root .moonkey-wallet-spinner__spin { position: absolute; inset: 0; width: 5rem; height: 5rem; border-radius: 50%; border: 4px solid transparent; border-top-color: var(--moonkey-color-accent); animation: moonkey-spin 1s linear infinite; }\n.moonkey-sdk-root .moonkey-wallet-spinner__center { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }\n\n/* === Data preview box (sign typed-data / transactions) === */\n.moonkey-sdk-root .moonkey-data-preview { margin-top: 0.25rem; padding: 0.75rem; background-color: var(--moonkey-color-background-2); border-radius: var(--moonkey-border-radius-md); font-size: 0.875rem; font-family: monospace; word-break: break-all; white-space: pre-line; user-select: none; -webkit-user-select: none; }\n\n/* === Scrollable data container (signing flows) === */\n.moonkey-sdk-root .moonkey-data-scroll { display: flex; flex-direction: column; max-height: 390px; overflow-y: auto; padding-bottom: 5rem; position: relative; }\n\n/* === Expand/collapse trigger === */\n.moonkey-sdk-root .moonkey-expand-toggle { display: inline-flex; align-items: center; cursor: pointer; user-select: none; -webkit-user-select: none; }\n\n/* === Scrollable bordered list (transaction detail panels) === */\n.moonkey-sdk-root .moonkey-scrollable-list { display: flex; flex-direction: column; overflow-y: auto; border: 1px solid var(--moonkey-color-border); border-radius: var(--moonkey-border-radius-md); scrollbar-width: none; }\n.moonkey-sdk-root .moonkey-scrollable-list::-webkit-scrollbar { display: none; }\n\n/* === Modal content column (passkey-enroll, add-passkey) === */\n.moonkey-sdk-root .moonkey-modal-content { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 1rem 1.5rem; gap: 1rem; }\n\n/* === Back nav button (absolute top-left) === */\n.moonkey-sdk-root .moonkey-back-btn { position: absolute; top: 1rem; left: 0.5rem; width: 2.5rem; height: 2.5rem; display: flex; align-items: center; justify-content: center; border-radius: var(--moonkey-border-radius-full); }\n\n/* === Centered inline row (resend, action links) === */\n.moonkey-sdk-root .moonkey-center-row { display: flex; justify-content: center; align-items: center; gap: 0.25rem; }\n\n/* === Stacked button column (modal CTAs) === */\n.moonkey-sdk-root .moonkey-btn-stack { display: flex; flex-direction: column; gap: 0.5rem; width: 100%; padding-top: 0.5rem; }\n\n/* === Legal footer text (terms & privacy) === */\n.moonkey-sdk-root .moonkey-legal-text { font-size: 0.75rem; color: var(--moonkey-color-foreground-3); text-align: center; line-height: 1.5; margin-top: 1rem; }\n.moonkey-sdk-root .moonkey-legal-text a { color: var(--moonx-color-link, var(--moonkey-color-accent)); cursor: pointer; }\n/* Inline-checkbox variant: same typography, but flex layout aligned left so the checkbox sits beside the link text. */\n.moonkey-sdk-root .moonkey-legal-checkbox { display: flex; align-items: flex-start; justify-content: flex-start; text-align: left; gap: 0.5rem; }\n.moonkey-sdk-root .moonkey-legal-checkbox input[type="checkbox"] { margin-top: 0.15rem; cursor: pointer; }\n\n/* === Login gating (require_users_accept_terms) === */\n/* Wraps the email/social/wallet buttons so they can be visually disabled until the terms checkbox is ticked. The default state is unaffected. */\n.moonkey-sdk-root .moonkey-login-gateable { transition: opacity 0.15s ease-out; }\n.moonkey-sdk-root .moonkey-login-gated { opacity: 0.5; pointer-events: none; }\n\n/* === Shared entry animations === */\n@keyframes moonkey-slide-in { from { opacity: 0; transform: translateX(-20px); } to { opacity: 1; transform: translateX(0); } }\n@keyframes moonkey-success-bounce { from { opacity: 0; transform: translateY(-50px) rotate(-60deg); } to { opacity: 1; transform: translateY(20px) rotate(0deg); } }\n@keyframes moonkey-error-bounce { from { opacity: 0; transform: translateY(-50px) rotate(-60deg); } to { opacity: 1; transform: translateY(20px) rotate(0deg); } }\n@keyframes moonkey-error-shake { 0%, 100% { transform: translateX(0); } 10%, 30%, 50%, 70%, 90% { transform: translateX(-10px); } 20%, 40%, 60%, 80% { transform: translateX(10px); } }\n@keyframes moonkey-mail-slide-in { from { opacity: 0; transform: translateX(-50px) rotate(-15deg); } to { opacity: 1; transform: translateX(0) rotate(0deg); } }\n@keyframes moonkey-verified-slide-in { from { opacity: 0; transform: translateX(100px); } to { opacity: 1; transform: translateX(0); } }\n\n/* === Icon size utilities === */\n.moonkey-sdk-root .moonkey-icon--xs { width: 0.75rem; height: 0.75rem; }\n.moonkey-sdk-root .moonkey-icon--sm { width: 1rem; height: 1rem; }\n.moonkey-sdk-root .moonkey-icon--md { width: 1.5rem; height: 1.5rem; }\n.moonkey-sdk-root .moonkey-icon--lg { width: 2rem; height: 2rem; }\n.moonkey-sdk-root .moonkey-icon--xl { width: 2.5rem; height: 2.5rem; }\n.moonkey-sdk-root .moonkey-icon--2xl { width: 3rem; height: 3rem; }\n.moonkey-sdk-root .moonkey-icon--mr-xs { margin-right: 0.25rem; }\n.moonkey-sdk-root .moonkey-icon--mr-sm { margin-right: 0.5rem; }\n.moonkey-sdk-root .moonkey-icon--accent { color: var(--moonkey-color-accent); }\n.moonkey-sdk-root .moonkey-icon--success { color: var(--moonkey-color-success, #16a34a); }\n.moonkey-sdk-root .moonkey-icon--error { color: var(--moonkey-color-error); }\n.moonkey-sdk-root .moonkey-icon--muted { color: var(--moonkey-color-foreground-3); }\n.moonkey-sdk-root .moonkey-icon--fg { color: var(--moonkey-color-foreground); }\n\n/* === Layout utilities === */\n.moonkey-sdk-root .moonkey-flex-center { display: flex; align-items: center; justify-content: center; }\n.moonkey-sdk-root .moonkey-flex-between { display: flex; align-items: center; justify-content: space-between; }\n.moonkey-sdk-root .moonkey-flex-col { display: flex; flex-direction: column; }\n.moonkey-sdk-root .moonkey-flex-col-center { display: flex; flex-direction: column; align-items: center; }\n\n/* === Text modifiers === */\n.moonkey-sdk-root .moonkey-text--semibold { font-weight: var(--moonx-font-weight-medium, 500); }\n.moonkey-sdk-root .moonkey-text--bold { font-weight: var(--moonx-font-weight-bold, 600); }\n.moonkey-sdk-root .moonkey-text--center { text-align: center; }\n.moonkey-sdk-root .moonkey-text--sm { font-size: var(--moonx-font-size-sm, 0.875rem); }\n.moonkey-sdk-root .moonkey-text--lg { font-size: var(--moonx-font-size-lg, 1.125rem); }\n.moonkey-sdk-root .moonkey-text--xl { font-size: var(--moonx-font-size-xl, 1.25rem); }\n\n/* === Transaction detail card (success receipt) === */\n.moonkey-sdk-root .moonkey-detail-card { display: flex; flex-direction: column; border: 1px solid var(--moonkey-color-border); border-radius: var(--moonkey-border-radius-lg); padding: 1rem 0.5rem; margin: 2rem 0.5rem 0; }\n.moonkey-sdk-root .moonkey-detail-card__rows { flex: 1; display: flex; flex-direction: column; gap: 0.25rem; }\n\n/* === Failed-transaction error scroll box === */\n.moonkey-sdk-root .moonkey-error-scroll { display: flex; flex-direction: column; background-color: var(--moonkey-color-background-2); border: 1px solid var(--moonkey-color-border); border-radius: var(--moonkey-border-radius-lg); padding: 1rem 0.5rem; margin: 0.5rem; height: 150px; overflow: auto; }\n\n/* === Network logo badge (ethereum/solana pair) === */\n.moonkey-sdk-root .moonkey-network-badge { width: 32px; height: 32px; border-radius: 16px; border: 1px solid var(--moonkey-color-border); background-color: var(--moonkey-color-background-2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }\n.moonkey-sdk-root .moonkey-network-badge--overlap { margin-left: -8px; }\n\n/* === Positioned icons inside inputs === */\n.moonkey-sdk-root .moonkey-search-icon { position: absolute; left: 0.75rem; top: 0.875rem; color: var(--moonkey-color-foreground-3); }\n.moonkey-sdk-root .moonkey-input-icon--left { position: absolute; left: 0.75rem; top: 50%; transform: translateY(-50%); color: var(--moonkey-color-foreground-3); pointer-events: none; }\n\n/* === Step indicator (N of M) === */\n.moonkey-sdk-root .moonkey-step-label { font-size: 0.75rem; font-weight: 600; color: var(--moonkey-color-accent); letter-spacing: 0.05em; text-transform: uppercase; }\n\n/* === Feature bullet item (passkey enroll) === */\n.moonkey-sdk-root .moonkey-feature-item { display: flex; align-items: flex-start; gap: 0.75rem; text-align: left; font-size: 0.875rem; color: var(--moonkey-color-foreground); }\n\n/* === Monospace textarea (import wallet) === */\n.moonkey-sdk-root .moonkey-mono-textarea { width: 100%; min-height: 100px; padding: 0.75rem; font-family: monospace; font-size: 0.75rem; background-color: var(--moonkey-color-background-2); color: var(--moonkey-color-foreground); border: 1px solid var(--moonkey-color-border); border-radius: var(--moonx-radius-input, var(--moonkey-border-radius-md)); outline: none; resize: vertical; }\n\n/* === Sign-flow inner section and row === */\n.moonkey-sdk-root .moonkey-sign-section { padding: 0.5rem; }\n.moonkey-sdk-root .moonkey-sign-row { display: flex; align-items: center; justify-content: space-between; }\n\n/* === External wallet connect button (login flow) === */\n.moonkey-sdk-root .moonkey-external-wallet-btn { border-radius: var(--moonx-radius-button, var(--moonkey-border-radius-lg)); border: var(--moonx-button-border-width, 1px) solid var(--moonx-button-border-color, var(--moonkey-color-border)); color: var(--moonx-button-fg, var(--moonkey-color-foreground)); padding: 0.75rem 0.25rem; cursor: pointer; margin-top: 0.75rem; transition: all 0.2s ease-in-out; background-color: var(--moonx-button-bg, transparent); }\n.moonkey-sdk-root .moonkey-external-wallet-btn:hover { border-color: var(--moonx-button-border-color-hover, var(--moonkey-color-accent)); background-color: var(--moonx-button-bg-hover, var(--moonkey-color-background-2)); }\n.moonkey-sdk-root .moonkey-external-wallet-btn--accent-hover:hover { background-color: var(--moonkey-color-accent); }\n.moonkey-sdk-root .moonkey-external-wallet-btn__inner { display: flex; flex-direction: row; align-items: center; gap: 0.5rem; animation: moonkey-slide-in 0.3s ease-out 0.1s both; }\n\n/* === Flex row utility (icon + label pairs) === */\n.moonkey-sdk-root .moonkey-flex-row { display: flex; flex-direction: row; align-items: center; gap: 0.5rem; }\n\n/* === Login landing layout === */\n.moonkey-sdk-root .moonkey-header { position: absolute; top: 1.5rem; left: 0; right: 0; text-align: center; font-family: var(--moonx-font-family-heading, inherit); font-size: var(--moonx-font-size-heading, 0.875rem); font-weight: var(--moonx-font-weight-heading, 500); letter-spacing: var(--moonx-letter-spacing-heading, inherit); color: var(--moonx-color-heading, var(--moonkey-color-foreground)); margin-bottom: 0.5rem; padding-left: 3rem; padding-right: 3rem; }\n.moonkey-sdk-root .moonkey-header__inner { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.moonkey-sdk-root .moonkey-content-wrapper { padding-top: 1rem; padding-bottom: 1rem; width: 100%; }\n.moonkey-sdk-root .moonkey-logo-section { text-align: center; margin-bottom: 1rem; }\n.moonkey-sdk-root .moonkey-logo-section__inner { padding-top: 1rem; padding-bottom: 1rem; }\n.moonkey-sdk-root .moonkey-description { padding-left: 1.25rem; padding-right: 1.25rem; text-align: center; color: var(--moonkey-color-foreground-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.moonkey-sdk-root .moonkey-form-section { padding: 0.5rem 1rem; }\n\n/* === Email OTP content fill === */\n.moonkey-sdk-root .moonkey-otp-content { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; }\n\n/* === Wallet icon status overlay badge === */\n.moonkey-sdk-root .moonkey-wallet-status-badge { position: absolute; bottom: -4px; right: -4px; background-color: var(--moonkey-color-background); border-radius: 50%; display: flex; align-items: center; justify-content: center; }\n\n/* === Wallet connect success animation === */\n@keyframes fadeInScale { from { opacity: 0; transform: scale(0.8); } to { opacity: 1; transform: scale(1); } }\n';
|
|
3288
3531
|
// src/components/scoped-container.tsx
|
|
3289
3532
|
import { jsx as jsx5, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
3290
3533
|
function ScopedContainer(param) {
|
|
3291
3534
|
var children = param.children, _param_isDark = param.isDark, isDark = _param_isDark === void 0 ? false : _param_isDark, customTheme = param.theme, appearance = param.appearance, className = param.className;
|
|
3292
|
-
var _ref, _ref1;
|
|
3535
|
+
var _ref, _ref1, _ref2, _ref3;
|
|
3293
3536
|
var baseTheme = isDark ? darkTheme : lightTheme;
|
|
3294
|
-
var appearanceDerived = appearanceToTheme(appearance);
|
|
3537
|
+
var appearanceDerived = appearanceToTheme(appearance, isDark);
|
|
3538
|
+
var moonxVars = (_ref = customTheme === null || customTheme === void 0 ? void 0 : customTheme.moonxVars) !== null && _ref !== void 0 ? _ref : {};
|
|
3539
|
+
var fontUrls = (_ref1 = customTheme === null || customTheme === void 0 ? void 0 : customTheme.fontUrls) !== null && _ref1 !== void 0 ? _ref1 : [];
|
|
3295
3540
|
var mergedTheme = {
|
|
3296
3541
|
colors: _object_spread({}, baseTheme.colors, appearanceDerived.colors, customTheme === null || customTheme === void 0 ? void 0 : customTheme.colors),
|
|
3297
3542
|
borderRadius: _object_spread({}, baseTheme.borderRadius, appearanceDerived.borderRadius, customTheme === null || customTheme === void 0 ? void 0 : customTheme.borderRadius),
|
|
3298
|
-
fontFamily: (
|
|
3543
|
+
fontFamily: (_ref2 = (_ref3 = customTheme === null || customTheme === void 0 ? void 0 : customTheme.fontFamily) !== null && _ref3 !== void 0 ? _ref3 : appearanceDerived.fontFamily) !== null && _ref2 !== void 0 ? _ref2 : baseTheme.fontFamily
|
|
3299
3544
|
};
|
|
3300
|
-
var containerStyles = _object_spread_props(_object_spread({}, themeToCSS(mergedTheme)), {
|
|
3545
|
+
var containerStyles = _object_spread_props(_object_spread({}, themeToCSS(mergedTheme), moonxVars), {
|
|
3301
3546
|
isolation: "isolate",
|
|
3302
3547
|
contain: "layout style",
|
|
3303
3548
|
boxSizing: "border-box",
|
|
3304
3549
|
WebkitFontSmoothing: "antialiased",
|
|
3305
3550
|
MozOsxFontSmoothing: "grayscale",
|
|
3306
3551
|
fontFamily: "var(--moonkey-font-family)",
|
|
3552
|
+
letterSpacing: "var(--moonx-letter-spacing, normal)",
|
|
3307
3553
|
color: mergedTheme.colors.foreground
|
|
3308
3554
|
});
|
|
3309
3555
|
return /* @__PURE__ */ jsxs2("div", {
|
|
@@ -3311,6 +3557,12 @@ function ScopedContainer(param) {
|
|
|
3311
3557
|
style: containerStyles,
|
|
3312
3558
|
"data-theme": isDark ? "dark" : "light",
|
|
3313
3559
|
children: [
|
|
3560
|
+
fontUrls.map(function(href) {
|
|
3561
|
+
return /* @__PURE__ */ jsx5("link", {
|
|
3562
|
+
rel: "stylesheet",
|
|
3563
|
+
href: href
|
|
3564
|
+
}, href);
|
|
3565
|
+
}),
|
|
3314
3566
|
/* @__PURE__ */ jsx5("style", {
|
|
3315
3567
|
dangerouslySetInnerHTML: {
|
|
3316
3568
|
__html: SDK_STYLES
|
|
@@ -3322,24 +3574,27 @@ function ScopedContainer(param) {
|
|
|
3322
3574
|
}
|
|
3323
3575
|
// src/components/vanilla-ui/root-card.tsx
|
|
3324
3576
|
import { jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
3577
|
+
var MODAL_PORTAL_Z_INDEX = 2147483646;
|
|
3325
3578
|
function RootCard(param) {
|
|
3326
3579
|
var children = param.children, _param_centerContent = param.centerContent, centerContent = _param_centerContent === void 0 ? true : _param_centerContent, _param_embedded = param.embedded, embedded = _param_embedded === void 0 ? false : _param_embedded, _param_isDark = param.isDark, isDark = _param_isDark === void 0 ? false : _param_isDark, theme = param.theme, appearance = param.appearance;
|
|
3327
3580
|
var minHeight = "500px";
|
|
3328
3581
|
var cardStyle = {
|
|
3329
3582
|
minHeight: minHeight,
|
|
3330
3583
|
width: "100%",
|
|
3331
|
-
borderRadius: "var(--moonkey-border-radius-lg)",
|
|
3332
|
-
boxShadow: "0 25px 50px -12px rgb(0 0 0 / 0.25)",
|
|
3333
|
-
border: "1px solid var(--moonkey-color-border)",
|
|
3584
|
+
borderRadius: "var(--moonx-radius-card, var(--moonkey-border-radius-lg))",
|
|
3585
|
+
boxShadow: "var(--moonx-card-shadow, 0 25px 50px -12px rgb(0 0 0 / 0.25))",
|
|
3586
|
+
border: "var(--moonx-card-border-width, 1px) solid var(--moonx-card-border-color, var(--moonkey-color-border))",
|
|
3334
3587
|
position: "relative",
|
|
3335
3588
|
backgroundColor: "var(--moonkey-color-background)",
|
|
3589
|
+
color: "var(--moonx-card-fg, inherit)",
|
|
3336
3590
|
display: "flex",
|
|
3337
|
-
flexDirection: "column"
|
|
3591
|
+
flexDirection: "column",
|
|
3592
|
+
overflow: "hidden"
|
|
3338
3593
|
};
|
|
3339
3594
|
var contentStyle = _object_spread({
|
|
3340
3595
|
display: "flex",
|
|
3341
3596
|
flexDirection: "column",
|
|
3342
|
-
padding: "1rem 1.5rem",
|
|
3597
|
+
padding: "var(--moonx-card-padding, 1rem 1.5rem)",
|
|
3343
3598
|
flex: 1
|
|
3344
3599
|
}, centerContent ? {
|
|
3345
3600
|
justifyContent: "center",
|
|
@@ -3354,8 +3609,8 @@ function RootCard(param) {
|
|
|
3354
3609
|
width: "100vw",
|
|
3355
3610
|
height: "100dvh",
|
|
3356
3611
|
// Use dynamic viewport height for mobile keyboard handling
|
|
3357
|
-
backgroundColor: "rgba(0, 0, 0, 0.3)",
|
|
3358
|
-
backdropFilter: "blur(4px)",
|
|
3612
|
+
backgroundColor: "var(--moonx-backdrop-color, rgba(0, 0, 0, 0.3))",
|
|
3613
|
+
backdropFilter: "blur(var(--moonx-backdrop-blur, 4px))",
|
|
3359
3614
|
zIndex: 50,
|
|
3360
3615
|
overflow: "hidden"
|
|
3361
3616
|
};
|
|
@@ -3385,7 +3640,7 @@ function RootCard(param) {
|
|
|
3385
3640
|
};
|
|
3386
3641
|
var modalCardStyle = _object_spread_props(_object_spread({}, cardStyle), {
|
|
3387
3642
|
width: "100%",
|
|
3388
|
-
maxWidth: "28rem"
|
|
3643
|
+
maxWidth: "var(--moonx-card-max-width, 28rem)"
|
|
3389
3644
|
});
|
|
3390
3645
|
if (embedded) {
|
|
3391
3646
|
return /* @__PURE__ */ jsx6(ScopedContainer, {
|
|
@@ -3410,7 +3665,7 @@ function RootCard(param) {
|
|
|
3410
3665
|
if (typeof window === "undefined") return;
|
|
3411
3666
|
var portalDiv = document.createElement("div");
|
|
3412
3667
|
portalDiv.id = "moonkey-modal-portal";
|
|
3413
|
-
portalDiv.style.cssText = "\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index:
|
|
3668
|
+
portalDiv.style.cssText = "\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: ".concat(MODAL_PORTAL_Z_INDEX, ";\n pointer-events: none;\n ");
|
|
3414
3669
|
document.body.appendChild(portalDiv);
|
|
3415
3670
|
setPortalContainer(portalDiv);
|
|
3416
3671
|
return function() {
|
|
@@ -4695,7 +4950,7 @@ var EmailOtpInput = function EmailOtpInput(param) {
|
|
|
4695
4950
|
paddingRight: "5.3rem",
|
|
4696
4951
|
paddingTop: "0.75rem",
|
|
4697
4952
|
paddingBottom: "0.75rem",
|
|
4698
|
-
borderRadius: "var(--moonkey-border-radius-lg)",
|
|
4953
|
+
borderRadius: "var(--moonx-radius-input, var(--moonkey-border-radius-lg))",
|
|
4699
4954
|
fontSize: "1rem"
|
|
4700
4955
|
},
|
|
4701
4956
|
required: true
|
|
@@ -5608,6 +5863,44 @@ import { flattenPresenceTokens as flattenPresenceTokens5, getInternalPresenceTok
|
|
|
5608
5863
|
import { createWebAuthnPasskey as createWebAuthnPasskey6 } from "@moon-x/core/web";
|
|
5609
5864
|
import { KeyRound as KeyRound2, ShieldOff, X } from "lucide-react";
|
|
5610
5865
|
import { useEffect as useEffect13, useRef as useRef6, useState as useState16 } from "react";
|
|
5866
|
+
// src/lib/theme-bridge.ts
|
|
5867
|
+
import { FONT_URLS_KEY } from "@moon-x/core/utils";
|
|
5868
|
+
function serializeThemeVars(theme) {
|
|
5869
|
+
var _theme_colors, _theme_borderRadius;
|
|
5870
|
+
var vars = {};
|
|
5871
|
+
if (!theme) return vars;
|
|
5872
|
+
var sparse = {
|
|
5873
|
+
colors: (_theme_colors = theme.colors) !== null && _theme_colors !== void 0 ? _theme_colors : {},
|
|
5874
|
+
borderRadius: (_theme_borderRadius = theme.borderRadius) !== null && _theme_borderRadius !== void 0 ? _theme_borderRadius : {},
|
|
5875
|
+
fontFamily: theme.fontFamily
|
|
5876
|
+
};
|
|
5877
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
5878
|
+
try {
|
|
5879
|
+
for(var _iterator = Object.entries(themeToCSS(sparse))[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
5880
|
+
var _step_value = _sliced_to_array(_step.value, 2), key = _step_value[0], value = _step_value[1];
|
|
5881
|
+
if (typeof value === "string" && value) vars[key] = value;
|
|
5882
|
+
}
|
|
5883
|
+
} catch (err) {
|
|
5884
|
+
_didIteratorError = true;
|
|
5885
|
+
_iteratorError = err;
|
|
5886
|
+
} finally{
|
|
5887
|
+
try {
|
|
5888
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
5889
|
+
_iterator.return();
|
|
5890
|
+
}
|
|
5891
|
+
} finally{
|
|
5892
|
+
if (_didIteratorError) {
|
|
5893
|
+
throw _iteratorError;
|
|
5894
|
+
}
|
|
5895
|
+
}
|
|
5896
|
+
}
|
|
5897
|
+
if (theme.moonxVars) Object.assign(vars, theme.moonxVars);
|
|
5898
|
+
if (theme.fontUrls && theme.fontUrls.length > 0) {
|
|
5899
|
+
vars[FONT_URLS_KEY] = JSON.stringify(theme.fontUrls);
|
|
5900
|
+
}
|
|
5901
|
+
return vars;
|
|
5902
|
+
}
|
|
5903
|
+
// src/components/flows/export-key/export-key.tsx
|
|
5611
5904
|
import { Fragment as Fragment3, jsx as jsx22, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
5612
5905
|
var ExportKey = function ExportKey(param) {
|
|
5613
5906
|
var uiConfig = param.uiConfig, walletId = param.walletId, publishableKey = param.publishableKey, walletType = param.walletType, onCancel = param.onCancel, propsIsDark = param.isDark, propsAppConfig = param.appConfig, config = param.config;
|
|
@@ -5634,93 +5927,8 @@ var ExportKey = function ExportKey(param) {
|
|
|
5634
5927
|
appConfig
|
|
5635
5928
|
]);
|
|
5636
5929
|
var buildThemeParams = function buildThemeParams() {
|
|
5637
|
-
var
|
|
5638
|
-
|
|
5639
|
-
var c = config === null || config === void 0 ? void 0 : (_config_config = config.config) === null || _config_config === void 0 ? void 0 : (_config_config_theme = _config_config.theme) === null || _config_config_theme === void 0 ? void 0 : _config_config_theme.colors;
|
|
5640
|
-
if (!c) return themeVars;
|
|
5641
|
-
var map = [
|
|
5642
|
-
[
|
|
5643
|
-
"--moonkey-color-accent",
|
|
5644
|
-
c.accent
|
|
5645
|
-
],
|
|
5646
|
-
[
|
|
5647
|
-
"--moonkey-color-accent-foreground",
|
|
5648
|
-
c.accentForeground
|
|
5649
|
-
],
|
|
5650
|
-
[
|
|
5651
|
-
"--moonkey-color-accent-dark",
|
|
5652
|
-
c.accentDark
|
|
5653
|
-
],
|
|
5654
|
-
[
|
|
5655
|
-
"--moonkey-color-accent-light",
|
|
5656
|
-
c.accentLight
|
|
5657
|
-
],
|
|
5658
|
-
[
|
|
5659
|
-
"--moonkey-color-accent-lightest",
|
|
5660
|
-
c.accentLightest
|
|
5661
|
-
],
|
|
5662
|
-
[
|
|
5663
|
-
"--moonkey-color-background",
|
|
5664
|
-
c.background
|
|
5665
|
-
],
|
|
5666
|
-
[
|
|
5667
|
-
"--moonkey-color-background-2",
|
|
5668
|
-
c.background2
|
|
5669
|
-
],
|
|
5670
|
-
[
|
|
5671
|
-
"--moonkey-color-foreground",
|
|
5672
|
-
c.foreground
|
|
5673
|
-
],
|
|
5674
|
-
[
|
|
5675
|
-
"--moonkey-color-foreground-2",
|
|
5676
|
-
c.foreground2
|
|
5677
|
-
],
|
|
5678
|
-
[
|
|
5679
|
-
"--moonkey-color-foreground-3",
|
|
5680
|
-
c.foreground3
|
|
5681
|
-
],
|
|
5682
|
-
[
|
|
5683
|
-
"--moonkey-color-success",
|
|
5684
|
-
c.success
|
|
5685
|
-
],
|
|
5686
|
-
[
|
|
5687
|
-
"--moonkey-color-success-foreground",
|
|
5688
|
-
c.successForeground
|
|
5689
|
-
],
|
|
5690
|
-
[
|
|
5691
|
-
"--moonkey-color-error",
|
|
5692
|
-
c.error
|
|
5693
|
-
],
|
|
5694
|
-
[
|
|
5695
|
-
"--moonkey-color-error-foreground",
|
|
5696
|
-
c.errorForeground
|
|
5697
|
-
],
|
|
5698
|
-
[
|
|
5699
|
-
"--moonkey-color-border",
|
|
5700
|
-
c.border
|
|
5701
|
-
]
|
|
5702
|
-
];
|
|
5703
|
-
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
5704
|
-
try {
|
|
5705
|
-
for(var _iterator = map[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
5706
|
-
var _step_value = _sliced_to_array(_step.value, 2), varName = _step_value[0], val = _step_value[1];
|
|
5707
|
-
if (val) themeVars[varName] = val;
|
|
5708
|
-
}
|
|
5709
|
-
} catch (err) {
|
|
5710
|
-
_didIteratorError = true;
|
|
5711
|
-
_iteratorError = err;
|
|
5712
|
-
} finally{
|
|
5713
|
-
try {
|
|
5714
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
5715
|
-
_iterator.return();
|
|
5716
|
-
}
|
|
5717
|
-
} finally{
|
|
5718
|
-
if (_didIteratorError) {
|
|
5719
|
-
throw _iteratorError;
|
|
5720
|
-
}
|
|
5721
|
-
}
|
|
5722
|
-
}
|
|
5723
|
-
return themeVars;
|
|
5930
|
+
var _config_config;
|
|
5931
|
+
return serializeThemeVars(config === null || config === void 0 ? void 0 : (_config_config = config.config) === null || _config_config === void 0 ? void 0 : _config_config.theme);
|
|
5724
5932
|
};
|
|
5725
5933
|
var getfinalIframeUrl = function getfinalIframeUrl(entropyType2, userHandleB64url, credentialIdB64url, keyshareReadToken) {
|
|
5726
5934
|
var baseUrl = getIframeUrl2("/export-key");
|
|
@@ -7538,16 +7746,17 @@ var SocialLoginButton = function SocialLoginButton(param) {
|
|
|
7538
7746
|
var icon = param.icon, text = param.text, provider = param.provider, onSocialLoginClick = param.onSocialLoginClick;
|
|
7539
7747
|
var _useState23 = _sliced_to_array(useState23(false), 2), isHovered = _useState23[0], setIsHovered = _useState23[1];
|
|
7540
7748
|
var buttonStyle = {
|
|
7541
|
-
borderRadius: "var(--moonkey-border-radius-lg)",
|
|
7542
|
-
borderWidth: "1px",
|
|
7749
|
+
borderRadius: "var(--moonx-radius-button, var(--moonkey-border-radius-lg))",
|
|
7750
|
+
borderWidth: "var(--moonx-button-border-width, 1px)",
|
|
7543
7751
|
borderStyle: "solid",
|
|
7544
|
-
borderColor: isHovered ? "var(--moonkey-color-accent)" : "var(--moonkey-color-border)",
|
|
7752
|
+
borderColor: isHovered ? "var(--moonx-button-border-color-hover, var(--moonkey-color-accent))" : "var(--moonx-button-border-color, var(--moonkey-color-border))",
|
|
7753
|
+
color: "var(--moonx-button-fg, var(--moonkey-color-foreground))",
|
|
7545
7754
|
paddingTop: "0.75rem",
|
|
7546
7755
|
paddingBottom: "0.75rem",
|
|
7547
7756
|
paddingLeft: "0.25rem",
|
|
7548
7757
|
paddingRight: "0.25rem",
|
|
7549
7758
|
cursor: "pointer",
|
|
7550
|
-
backgroundColor: isHovered ? "var(--moonkey-color-background-2)" : "transparent",
|
|
7759
|
+
backgroundColor: isHovered ? "var(--moonx-button-bg-hover, var(--moonkey-color-background-2))" : "var(--moonx-button-bg, transparent)",
|
|
7551
7760
|
marginTop: "0.75rem",
|
|
7552
7761
|
transition: "all 0.2s ease-in-out"
|
|
7553
7762
|
};
|
|
@@ -12452,7 +12661,7 @@ var TermsAndPrivacy = function TermsAndPrivacy(param) {
|
|
|
12452
12661
|
import { jsx as jsx51, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
12453
12662
|
var LoginLanding = function LoginLanding(param) {
|
|
12454
12663
|
var config = param.config, onCancel = param.onCancel, onMethodSelect = param.onMethodSelect, _param_embedded = param.embedded, embedded = _param_embedded === void 0 ? false : _param_embedded, _param_hideClose = param.hideClose, hideClose = _param_hideClose === void 0 ? false : _param_hideClose, propsIsDark = param.isDark, propsAppConfig = param.appConfig;
|
|
12455
|
-
var _config_config, _config_config_appearance, _config_config1, _config_config_appearance1, _config_config2, _config_config3, _config_config4, _appConfig_privacy_policy_url, _appConfig_terms_of_service_url, _config_config5, _config_config6,
|
|
12664
|
+
var _config_config, _config_config_appearance, _config_config1, _config_config_appearance1, _config_config2, _config_config3, _config_config4, _appConfig_privacy_policy_url, _appConfig_terms_of_service_url, _config_config_appearance2, _config_config5, _config_config6, _config_config7, _config_config_appearance_loginHeaderTitle, _config_config_appearance3, _config_config8, _config_config_appearance4, _config_config9, _config_config_appearance5, _config_config10, _config_config_prefill, _config_config11, _config_config_prefill1, _config_config12;
|
|
12456
12665
|
var _useAppConfig = useAppConfig(propsAppConfig ? void 0 : config === null || config === void 0 ? void 0 : config.publishableKey), fetchedAppConfig = _useAppConfig.appConfig;
|
|
12457
12666
|
var appConfig = propsAppConfig || fetchedAppConfig;
|
|
12458
12667
|
var t = useTranslation().t;
|
|
@@ -12580,11 +12789,12 @@ var LoginLanding = function LoginLanding(param) {
|
|
|
12580
12789
|
});
|
|
12581
12790
|
})();
|
|
12582
12791
|
};
|
|
12792
|
+
var logo = resolveLogo(config === null || config === void 0 ? void 0 : (_config_config5 = config.config) === null || _config_config5 === void 0 ? void 0 : (_config_config_appearance2 = _config_config5.appearance) === null || _config_config_appearance2 === void 0 ? void 0 : _config_config_appearance2.logo, isDark);
|
|
12583
12793
|
return /* @__PURE__ */ jsxs41(RootCard, {
|
|
12584
12794
|
embedded: embedded,
|
|
12585
12795
|
isDark: isDark,
|
|
12586
|
-
theme: config === null || config === void 0 ? void 0 : (
|
|
12587
|
-
appearance: config === null || config === void 0 ? void 0 : (
|
|
12796
|
+
theme: config === null || config === void 0 ? void 0 : (_config_config6 = config.config) === null || _config_config6 === void 0 ? void 0 : _config_config6.theme,
|
|
12797
|
+
appearance: config === null || config === void 0 ? void 0 : (_config_config7 = config.config) === null || _config_config7 === void 0 ? void 0 : _config_config7.appearance,
|
|
12588
12798
|
children: [
|
|
12589
12799
|
!hideClose && /* @__PURE__ */ jsx51("div", {
|
|
12590
12800
|
className: "moonkey-flow-close",
|
|
@@ -12611,7 +12821,7 @@ var LoginLanding = function LoginLanding(param) {
|
|
|
12611
12821
|
className: "moonkey-header",
|
|
12612
12822
|
children: /* @__PURE__ */ jsx51("div", {
|
|
12613
12823
|
className: "moonkey-header__inner",
|
|
12614
|
-
children: (config === null || config === void 0 ? void 0 : (
|
|
12824
|
+
children: (config === null || config === void 0 ? void 0 : (_config_config8 = config.config) === null || _config_config8 === void 0 ? void 0 : (_config_config_appearance3 = _config_config8.appearance) === null || _config_config_appearance3 === void 0 ? void 0 : (_config_config_appearance_loginHeaderTitle = _config_config_appearance3.loginHeaderTitle) === null || _config_config_appearance_loginHeaderTitle === void 0 ? void 0 : _config_config_appearance_loginHeaderTitle.toString()) || t("loginLanding.title")
|
|
12615
12825
|
})
|
|
12616
12826
|
}),
|
|
12617
12827
|
/* @__PURE__ */ jsxs41("div", {
|
|
@@ -12624,7 +12834,9 @@ var LoginLanding = function LoginLanding(param) {
|
|
|
12624
12834
|
className: "moonkey-logo-section__inner",
|
|
12625
12835
|
children: /* @__PURE__ */ jsx51(AppLogo, {
|
|
12626
12836
|
appConfig: appConfig,
|
|
12627
|
-
src:
|
|
12837
|
+
src: logo === null || logo === void 0 ? void 0 : logo.src,
|
|
12838
|
+
height: logo === null || logo === void 0 ? void 0 : logo.height,
|
|
12839
|
+
align: logo === null || logo === void 0 ? void 0 : logo.align
|
|
12628
12840
|
})
|
|
12629
12841
|
}),
|
|
12630
12842
|
(config === null || config === void 0 ? void 0 : (_config_config9 = config.config) === null || _config_config9 === void 0 ? void 0 : (_config_config_appearance4 = _config_config9.appearance) === null || _config_config_appearance4 === void 0 ? void 0 : _config_config_appearance4.loginHeaderDescription) && /* @__PURE__ */ jsx51("div", {
|
|
@@ -18161,52 +18373,10 @@ var AuthProvider = function AuthProvider(param) {
|
|
|
18161
18373
|
]);
|
|
18162
18374
|
var isReadyRef = useRef18(isReady);
|
|
18163
18375
|
var configWithCSSOverrides = useMemo4(function() {
|
|
18164
|
-
var
|
|
18165
|
-
var
|
|
18376
|
+
var _BORDER_RADIUS_PRESETS_appearance_borderRadius, _tokens_fontFamily;
|
|
18377
|
+
var _tokens_borderRadius, _tokens_borderRadius1, _tokens_borderRadius2, _tokens_borderRadius3;
|
|
18166
18378
|
var useDarkTheme = isDarkAppearance(appearance);
|
|
18167
|
-
var baseThemeColors = useDarkTheme ?
|
|
18168
|
-
accent: "#818cf8",
|
|
18169
|
-
accentForeground: "#ffffff",
|
|
18170
|
-
accentDark: "#6366f1",
|
|
18171
|
-
accentDarkest: "#4f46e5",
|
|
18172
|
-
accentLight: "#a5b4fc",
|
|
18173
|
-
accentLightest: "#e0e7ff",
|
|
18174
|
-
background: "#09090b",
|
|
18175
|
-
background2: "#18181b",
|
|
18176
|
-
background3: "#27272a",
|
|
18177
|
-
foreground: "#fafafa",
|
|
18178
|
-
foreground2: "#e4e4e7",
|
|
18179
|
-
foreground3: "#a1a1aa",
|
|
18180
|
-
foreground4: "#71717a",
|
|
18181
|
-
foregroundAccent: "#a78bfa",
|
|
18182
|
-
success: "#22c55e",
|
|
18183
|
-
successForeground: "#ffffff",
|
|
18184
|
-
error: "#ef4444",
|
|
18185
|
-
errorForeground: "#ffffff",
|
|
18186
|
-
errorLight: "#fca5a5",
|
|
18187
|
-
border: "#3f3f46"
|
|
18188
|
-
} : {
|
|
18189
|
-
accent: "#6366f1",
|
|
18190
|
-
accentForeground: "#ffffff",
|
|
18191
|
-
accentDark: "#4338ca",
|
|
18192
|
-
accentDarkest: "#3730a3",
|
|
18193
|
-
accentLight: "#818cf8",
|
|
18194
|
-
accentLightest: "#c7d2fe",
|
|
18195
|
-
background: "#ffffff",
|
|
18196
|
-
background2: "#f9fafb",
|
|
18197
|
-
background3: "#f3f4f6",
|
|
18198
|
-
foreground: "#09090b",
|
|
18199
|
-
foreground2: "#18181b",
|
|
18200
|
-
foreground3: "#71717a",
|
|
18201
|
-
foreground4: "#a1a1aa",
|
|
18202
|
-
foregroundAccent: "#4f46e5",
|
|
18203
|
-
success: "#10b981",
|
|
18204
|
-
successForeground: "#ffffff",
|
|
18205
|
-
error: "#ef4444",
|
|
18206
|
-
errorForeground: "#ffffff",
|
|
18207
|
-
errorLight: "#fca5a5",
|
|
18208
|
-
border: "#e5e7eb"
|
|
18209
|
-
};
|
|
18379
|
+
var baseThemeColors = (useDarkTheme ? darkTheme : lightTheme).colors;
|
|
18210
18380
|
var derived = {};
|
|
18211
18381
|
if (appearance === null || appearance === void 0 ? void 0 : appearance.accentColor) {
|
|
18212
18382
|
var a = appearance.accentColor;
|
|
@@ -18219,8 +18389,9 @@ var AuthProvider = function AuthProvider(param) {
|
|
|
18219
18389
|
derived.foregroundAccent = darken(a, 0.04);
|
|
18220
18390
|
}
|
|
18221
18391
|
if (appearance === null || appearance === void 0 ? void 0 : appearance.backgroundColor) {
|
|
18392
|
+
var _isColorDark;
|
|
18222
18393
|
var bg = appearance.backgroundColor;
|
|
18223
|
-
var isDarkBg =
|
|
18394
|
+
var isDarkBg = (_isColorDark = isColorDark(bg)) !== null && _isColorDark !== void 0 ? _isColorDark : useDarkTheme;
|
|
18224
18395
|
derived.background = bg;
|
|
18225
18396
|
derived.background2 = isDarkBg ? lighten(bg, 0.08) : darken(bg, 0.03);
|
|
18226
18397
|
derived.background3 = isDarkBg ? lighten(bg, 0.14) : darken(bg, 0.06);
|
|
@@ -18237,58 +18408,30 @@ var AuthProvider = function AuthProvider(param) {
|
|
|
18237
18408
|
derived.foreground4 = "#d1d5db";
|
|
18238
18409
|
}
|
|
18239
18410
|
}
|
|
18240
|
-
var
|
|
18241
|
-
var
|
|
18242
|
-
none: {
|
|
18243
|
-
sm: "0",
|
|
18244
|
-
md: "0",
|
|
18245
|
-
lg: "0",
|
|
18246
|
-
full: "0"
|
|
18247
|
-
},
|
|
18248
|
-
sm: {
|
|
18249
|
-
sm: "0.125rem",
|
|
18250
|
-
md: "0.25rem",
|
|
18251
|
-
lg: "0.375rem",
|
|
18252
|
-
full: "9999px"
|
|
18253
|
-
},
|
|
18254
|
-
md: {
|
|
18255
|
-
sm: "0.375rem",
|
|
18256
|
-
md: "0.5rem",
|
|
18257
|
-
lg: "0.75rem",
|
|
18258
|
-
full: "9999px"
|
|
18259
|
-
},
|
|
18260
|
-
lg: {
|
|
18261
|
-
sm: "0.5rem",
|
|
18262
|
-
md: "0.75rem",
|
|
18263
|
-
lg: "1rem",
|
|
18264
|
-
full: "9999px"
|
|
18265
|
-
},
|
|
18266
|
-
full: {
|
|
18267
|
-
sm: "9999px",
|
|
18268
|
-
md: "9999px",
|
|
18269
|
-
lg: "9999px",
|
|
18270
|
-
full: "9999px"
|
|
18271
|
-
}
|
|
18272
|
-
};
|
|
18273
|
-
var appearanceBorderRadius = function() {
|
|
18274
|
-
if (!(appearance === null || appearance === void 0 ? void 0 : appearance.borderRadius)) return {};
|
|
18275
|
-
if (typeof appearance.borderRadius === "string") {
|
|
18276
|
-
var _BORDER_RADIUS_PRESETS2_appearance_borderRadius;
|
|
18277
|
-
return (_BORDER_RADIUS_PRESETS2_appearance_borderRadius = BORDER_RADIUS_PRESETS2[appearance.borderRadius]) !== null && _BORDER_RADIUS_PRESETS2_appearance_borderRadius !== void 0 ? _BORDER_RADIUS_PRESETS2_appearance_borderRadius : {};
|
|
18278
|
-
}
|
|
18279
|
-
return appearance.borderRadius;
|
|
18280
|
-
}();
|
|
18411
|
+
var tokens = resolveAppearanceTokens(appearance, useDarkTheme);
|
|
18412
|
+
var presetRadius = typeof (appearance === null || appearance === void 0 ? void 0 : appearance.borderRadius) === "string" ? (_BORDER_RADIUS_PRESETS_appearance_borderRadius = BORDER_RADIUS_PRESETS[appearance.borderRadius]) !== null && _BORDER_RADIUS_PRESETS_appearance_borderRadius !== void 0 ? _BORDER_RADIUS_PRESETS_appearance_borderRadius : {} : {};
|
|
18281
18413
|
var defaultFont = 'Sons, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif';
|
|
18414
|
+
var moonxVars = _object_spread({}, appearanceToMoonxVars(appearance, useDarkTheme), appearanceToComponentVars(appearance));
|
|
18415
|
+
var fontUrls = resolveFontUrls(appearance);
|
|
18282
18416
|
return _object_spread_props(_object_spread({}, config), {
|
|
18283
18417
|
theme: {
|
|
18284
|
-
colors: _object_spread({}, baseThemeColors, derived,
|
|
18418
|
+
colors: _object_spread({}, baseThemeColors, derived, definedOnly(tokens.colors)),
|
|
18285
18419
|
borderRadius: _object_spread({
|
|
18286
18420
|
sm: "0.375rem",
|
|
18287
18421
|
md: "0.5rem",
|
|
18288
18422
|
lg: "0.75rem",
|
|
18289
18423
|
full: "9999px"
|
|
18290
|
-
},
|
|
18291
|
-
|
|
18424
|
+
}, presetRadius, definedOnly({
|
|
18425
|
+
// explicit appearance radii (+ per-mode), legacy keys
|
|
18426
|
+
sm: (_tokens_borderRadius = tokens.borderRadius) === null || _tokens_borderRadius === void 0 ? void 0 : _tokens_borderRadius.sm,
|
|
18427
|
+
md: (_tokens_borderRadius1 = tokens.borderRadius) === null || _tokens_borderRadius1 === void 0 ? void 0 : _tokens_borderRadius1.md,
|
|
18428
|
+
lg: (_tokens_borderRadius2 = tokens.borderRadius) === null || _tokens_borderRadius2 === void 0 ? void 0 : _tokens_borderRadius2.lg,
|
|
18429
|
+
full: (_tokens_borderRadius3 = tokens.borderRadius) === null || _tokens_borderRadius3 === void 0 ? void 0 : _tokens_borderRadius3.full
|
|
18430
|
+
})),
|
|
18431
|
+
fontFamily: (_tokens_fontFamily = tokens.fontFamily) !== null && _tokens_fontFamily !== void 0 ? _tokens_fontFamily : defaultFont,
|
|
18432
|
+
// appearance.fontFamily (+ per-mode)
|
|
18433
|
+
moonxVars: moonxVars,
|
|
18434
|
+
fontUrls: fontUrls
|
|
18292
18435
|
},
|
|
18293
18436
|
appearance: appearance
|
|
18294
18437
|
});
|
|
@@ -18435,10 +18578,10 @@ var MoonKeyContext = createContext(null);
|
|
|
18435
18578
|
var MoonKeyProvider = function MoonKeyProvider(param) {
|
|
18436
18579
|
var publishableKey = param.publishableKey, embeddableId = param.embeddableId, config = param.config, children = param.children;
|
|
18437
18580
|
var _config_walletConnect, _config_emailConfig, _config_emailConfig1, _config_emailConfig2, _config_emailConfig3, _config_emailConfig4;
|
|
18438
|
-
if ((config === null || config === void 0 ? void 0 : config.
|
|
18581
|
+
if ((config === null || config === void 0 ? void 0 : config.chains) || (config === null || config === void 0 ? void 0 : config.defaultChain)) {
|
|
18439
18582
|
validateChainConfig({
|
|
18440
|
-
|
|
18441
|
-
|
|
18583
|
+
chains: config.chains,
|
|
18584
|
+
defaultChain: config.defaultChain
|
|
18442
18585
|
});
|
|
18443
18586
|
}
|
|
18444
18587
|
var _useState53 = _sliced_to_array(useState53(null), 2), walletConnectClient = _useState53[0], setWalletConnectClient2 = _useState53[1];
|
|
@@ -18532,7 +18675,6 @@ var MoonKeyProvider = function MoonKeyProvider(param) {
|
|
|
18532
18675
|
prefill: config === null || config === void 0 ? void 0 : config.prefill,
|
|
18533
18676
|
walletChainType: config === null || config === void 0 ? void 0 : config.walletChainType,
|
|
18534
18677
|
isDark: config === null || config === void 0 ? void 0 : config.isDark,
|
|
18535
|
-
theme: config === null || config === void 0 ? void 0 : config.theme,
|
|
18536
18678
|
emailConfig: {
|
|
18537
18679
|
skipVerifiedSuccess: (config === null || config === void 0 ? void 0 : (_config_emailConfig = config.emailConfig) === null || _config_emailConfig === void 0 ? void 0 : _config_emailConfig.skipVerifiedSuccess) || false,
|
|
18538
18680
|
verifiedDisplayTime: (config === null || config === void 0 ? void 0 : (_config_emailConfig1 = config.emailConfig) === null || _config_emailConfig1 === void 0 ? void 0 : _config_emailConfig1.verifiedDisplayTime) || 3e3,
|
|
@@ -18545,11 +18687,9 @@ var MoonKeyProvider = function MoonKeyProvider(param) {
|
|
|
18545
18687
|
exportKeyConfig: config === null || config === void 0 ? void 0 : config.exportKeyConfig,
|
|
18546
18688
|
signTransactionConfig: config === null || config === void 0 ? void 0 : config.signTransactionConfig,
|
|
18547
18689
|
sendTransactionConfig: config === null || config === void 0 ? void 0 : config.sendTransactionConfig,
|
|
18548
|
-
|
|
18549
|
-
|
|
18550
|
-
|
|
18551
|
-
supportedChains: config === null || config === void 0 ? void 0 : config.supportedChains
|
|
18552
|
-
}
|
|
18690
|
+
// Unified chain config passes straight through — no flat→nested remap.
|
|
18691
|
+
chains: config === null || config === void 0 ? void 0 : config.chains,
|
|
18692
|
+
defaultChain: config === null || config === void 0 ? void 0 : config.defaultChain
|
|
18553
18693
|
},
|
|
18554
18694
|
hideIframe: true
|
|
18555
18695
|
};
|
|
@@ -18617,7 +18757,7 @@ var getReconnectionInfo = function getReconnectionInfo(error) {
|
|
|
18617
18757
|
return null;
|
|
18618
18758
|
};
|
|
18619
18759
|
// src/index.ts
|
|
18620
|
-
import { estimateEvmGas, estimateEvmGasReserve, getChainById,
|
|
18760
|
+
import { buildChainIndex, estimateEvmGas, estimateEvmGasReserve, getChainById, getEvmGasPrice, getEvmMaxPriorityFeePerGas, getEvmNonce, getRpcUrl, isChainSupported, isEvmEntry, normalizeChainKey, resolveChainEntry, resolveRpcUrl, resolveSolanaChainEntry, resolveWsUrl, validateChainConfig as validateChainConfig2 } from "@moon-x/core/lib";
|
|
18621
18761
|
import { Network } from "@moon-x/core/types";
|
|
18622
18762
|
import { arbitrum, arbitrumSepolia, avalanche, avalancheFuji, base, baseSepolia, bsc, bscTestnet, goerli, holesky, mainnet, optimism, optimismSepolia, polygon, polygonAmoy, sepolia } from "viem/chains";
|
|
18623
|
-
export { MoonKeyProvider, Network, SessionExpiredError, SessionNotFoundError, arbitrum, arbitrumSepolia, avalanche, avalancheFuji, base, baseSepolia, bsc, bscTestnet, estimateEvmGas, estimateEvmGasReserve, ethereum_exports as ethereum, getChainById,
|
|
18763
|
+
export { MoonKeyProvider, Network, SessionExpiredError, SessionNotFoundError, appearanceToComponentVars, appearanceToCssVars, appearanceToMoonxVars, appearanceToTheme, arbitrum, arbitrumSepolia, avalanche, avalancheFuji, base, baseSepolia, bsc, bscTestnet, buildChainIndex, darkTheme, definedOnly, estimateEvmGas, estimateEvmGasReserve, ethereum_exports as ethereum, getChainById, getEvmGasPrice, getEvmMaxPriorityFeePerGas, getEvmNonce, getReconnectionInfo, getRpcUrl, goerli, holesky, isChainSupported, isColorDark, isDarkAppearance, isDarkMode, isEvmEntry, lightTheme, mainnet, normalizeChainKey, optimism, optimismSepolia, polygon, polygonAmoy, requiresReconnection, resolveAppearanceTokens, resolveChainEntry, resolveFontUrls, resolveLogo, resolveRpcUrl, resolveSolanaChainEntry, resolveWsUrl, sepolia, solana_exports as solana, themeToCSS, useAddPasskey, useAttachOAuth, useConnectWallet, useDetachOAuth, useEphemeralSigner, useLoginWithEmail, useLoginWithOAuth, useMoonKey, useOAuthCompletion, usePasskeyStatus, useRegisterPasskey, useRemovePasskey, useUser, validateChainConfig2 as validateChainConfig };
|