@moon-x/react-sdk 0.8.1 → 0.9.0
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 +3042 -2546
- package/dist/index.mjs +385 -246
- 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
|
|
@@ -3328,18 +3580,20 @@ function RootCard(param) {
|
|
|
3328
3580
|
var cardStyle = {
|
|
3329
3581
|
minHeight: minHeight,
|
|
3330
3582
|
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)",
|
|
3583
|
+
borderRadius: "var(--moonx-radius-card, var(--moonkey-border-radius-lg))",
|
|
3584
|
+
boxShadow: "var(--moonx-card-shadow, 0 25px 50px -12px rgb(0 0 0 / 0.25))",
|
|
3585
|
+
border: "var(--moonx-card-border-width, 1px) solid var(--moonx-card-border-color, var(--moonkey-color-border))",
|
|
3334
3586
|
position: "relative",
|
|
3335
3587
|
backgroundColor: "var(--moonkey-color-background)",
|
|
3588
|
+
color: "var(--moonx-card-fg, inherit)",
|
|
3336
3589
|
display: "flex",
|
|
3337
|
-
flexDirection: "column"
|
|
3590
|
+
flexDirection: "column",
|
|
3591
|
+
overflow: "hidden"
|
|
3338
3592
|
};
|
|
3339
3593
|
var contentStyle = _object_spread({
|
|
3340
3594
|
display: "flex",
|
|
3341
3595
|
flexDirection: "column",
|
|
3342
|
-
padding: "1rem 1.5rem",
|
|
3596
|
+
padding: "var(--moonx-card-padding, 1rem 1.5rem)",
|
|
3343
3597
|
flex: 1
|
|
3344
3598
|
}, centerContent ? {
|
|
3345
3599
|
justifyContent: "center",
|
|
@@ -3354,8 +3608,8 @@ function RootCard(param) {
|
|
|
3354
3608
|
width: "100vw",
|
|
3355
3609
|
height: "100dvh",
|
|
3356
3610
|
// Use dynamic viewport height for mobile keyboard handling
|
|
3357
|
-
backgroundColor: "rgba(0, 0, 0, 0.3)",
|
|
3358
|
-
backdropFilter: "blur(4px)",
|
|
3611
|
+
backgroundColor: "var(--moonx-backdrop-color, rgba(0, 0, 0, 0.3))",
|
|
3612
|
+
backdropFilter: "blur(var(--moonx-backdrop-blur, 4px))",
|
|
3359
3613
|
zIndex: 50,
|
|
3360
3614
|
overflow: "hidden"
|
|
3361
3615
|
};
|
|
@@ -3385,7 +3639,7 @@ function RootCard(param) {
|
|
|
3385
3639
|
};
|
|
3386
3640
|
var modalCardStyle = _object_spread_props(_object_spread({}, cardStyle), {
|
|
3387
3641
|
width: "100%",
|
|
3388
|
-
maxWidth: "28rem"
|
|
3642
|
+
maxWidth: "var(--moonx-card-max-width, 28rem)"
|
|
3389
3643
|
});
|
|
3390
3644
|
if (embedded) {
|
|
3391
3645
|
return /* @__PURE__ */ jsx6(ScopedContainer, {
|
|
@@ -4695,7 +4949,7 @@ var EmailOtpInput = function EmailOtpInput(param) {
|
|
|
4695
4949
|
paddingRight: "5.3rem",
|
|
4696
4950
|
paddingTop: "0.75rem",
|
|
4697
4951
|
paddingBottom: "0.75rem",
|
|
4698
|
-
borderRadius: "var(--moonkey-border-radius-lg)",
|
|
4952
|
+
borderRadius: "var(--moonx-radius-input, var(--moonkey-border-radius-lg))",
|
|
4699
4953
|
fontSize: "1rem"
|
|
4700
4954
|
},
|
|
4701
4955
|
required: true
|
|
@@ -5608,6 +5862,44 @@ import { flattenPresenceTokens as flattenPresenceTokens5, getInternalPresenceTok
|
|
|
5608
5862
|
import { createWebAuthnPasskey as createWebAuthnPasskey6 } from "@moon-x/core/web";
|
|
5609
5863
|
import { KeyRound as KeyRound2, ShieldOff, X } from "lucide-react";
|
|
5610
5864
|
import { useEffect as useEffect13, useRef as useRef6, useState as useState16 } from "react";
|
|
5865
|
+
// src/lib/theme-bridge.ts
|
|
5866
|
+
import { FONT_URLS_KEY } from "@moon-x/core/utils";
|
|
5867
|
+
function serializeThemeVars(theme) {
|
|
5868
|
+
var _theme_colors, _theme_borderRadius;
|
|
5869
|
+
var vars = {};
|
|
5870
|
+
if (!theme) return vars;
|
|
5871
|
+
var sparse = {
|
|
5872
|
+
colors: (_theme_colors = theme.colors) !== null && _theme_colors !== void 0 ? _theme_colors : {},
|
|
5873
|
+
borderRadius: (_theme_borderRadius = theme.borderRadius) !== null && _theme_borderRadius !== void 0 ? _theme_borderRadius : {},
|
|
5874
|
+
fontFamily: theme.fontFamily
|
|
5875
|
+
};
|
|
5876
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
5877
|
+
try {
|
|
5878
|
+
for(var _iterator = Object.entries(themeToCSS(sparse))[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
5879
|
+
var _step_value = _sliced_to_array(_step.value, 2), key = _step_value[0], value = _step_value[1];
|
|
5880
|
+
if (typeof value === "string" && value) vars[key] = value;
|
|
5881
|
+
}
|
|
5882
|
+
} catch (err) {
|
|
5883
|
+
_didIteratorError = true;
|
|
5884
|
+
_iteratorError = err;
|
|
5885
|
+
} finally{
|
|
5886
|
+
try {
|
|
5887
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
5888
|
+
_iterator.return();
|
|
5889
|
+
}
|
|
5890
|
+
} finally{
|
|
5891
|
+
if (_didIteratorError) {
|
|
5892
|
+
throw _iteratorError;
|
|
5893
|
+
}
|
|
5894
|
+
}
|
|
5895
|
+
}
|
|
5896
|
+
if (theme.moonxVars) Object.assign(vars, theme.moonxVars);
|
|
5897
|
+
if (theme.fontUrls && theme.fontUrls.length > 0) {
|
|
5898
|
+
vars[FONT_URLS_KEY] = JSON.stringify(theme.fontUrls);
|
|
5899
|
+
}
|
|
5900
|
+
return vars;
|
|
5901
|
+
}
|
|
5902
|
+
// src/components/flows/export-key/export-key.tsx
|
|
5611
5903
|
import { Fragment as Fragment3, jsx as jsx22, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
5612
5904
|
var ExportKey = function ExportKey(param) {
|
|
5613
5905
|
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 +5926,8 @@ var ExportKey = function ExportKey(param) {
|
|
|
5634
5926
|
appConfig
|
|
5635
5927
|
]);
|
|
5636
5928
|
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;
|
|
5929
|
+
var _config_config;
|
|
5930
|
+
return serializeThemeVars(config === null || config === void 0 ? void 0 : (_config_config = config.config) === null || _config_config === void 0 ? void 0 : _config_config.theme);
|
|
5724
5931
|
};
|
|
5725
5932
|
var getfinalIframeUrl = function getfinalIframeUrl(entropyType2, userHandleB64url, credentialIdB64url, keyshareReadToken) {
|
|
5726
5933
|
var baseUrl = getIframeUrl2("/export-key");
|
|
@@ -7538,16 +7745,17 @@ var SocialLoginButton = function SocialLoginButton(param) {
|
|
|
7538
7745
|
var icon = param.icon, text = param.text, provider = param.provider, onSocialLoginClick = param.onSocialLoginClick;
|
|
7539
7746
|
var _useState23 = _sliced_to_array(useState23(false), 2), isHovered = _useState23[0], setIsHovered = _useState23[1];
|
|
7540
7747
|
var buttonStyle = {
|
|
7541
|
-
borderRadius: "var(--moonkey-border-radius-lg)",
|
|
7542
|
-
borderWidth: "1px",
|
|
7748
|
+
borderRadius: "var(--moonx-radius-button, var(--moonkey-border-radius-lg))",
|
|
7749
|
+
borderWidth: "var(--moonx-button-border-width, 1px)",
|
|
7543
7750
|
borderStyle: "solid",
|
|
7544
|
-
borderColor: isHovered ? "var(--moonkey-color-accent)" : "var(--moonkey-color-border)",
|
|
7751
|
+
borderColor: isHovered ? "var(--moonx-button-border-color-hover, var(--moonkey-color-accent))" : "var(--moonx-button-border-color, var(--moonkey-color-border))",
|
|
7752
|
+
color: "var(--moonx-button-fg, var(--moonkey-color-foreground))",
|
|
7545
7753
|
paddingTop: "0.75rem",
|
|
7546
7754
|
paddingBottom: "0.75rem",
|
|
7547
7755
|
paddingLeft: "0.25rem",
|
|
7548
7756
|
paddingRight: "0.25rem",
|
|
7549
7757
|
cursor: "pointer",
|
|
7550
|
-
backgroundColor: isHovered ? "var(--moonkey-color-background-2)" : "transparent",
|
|
7758
|
+
backgroundColor: isHovered ? "var(--moonx-button-bg-hover, var(--moonkey-color-background-2))" : "var(--moonx-button-bg, transparent)",
|
|
7551
7759
|
marginTop: "0.75rem",
|
|
7552
7760
|
transition: "all 0.2s ease-in-out"
|
|
7553
7761
|
};
|
|
@@ -12452,7 +12660,7 @@ var TermsAndPrivacy = function TermsAndPrivacy(param) {
|
|
|
12452
12660
|
import { jsx as jsx51, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
12453
12661
|
var LoginLanding = function LoginLanding(param) {
|
|
12454
12662
|
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,
|
|
12663
|
+
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
12664
|
var _useAppConfig = useAppConfig(propsAppConfig ? void 0 : config === null || config === void 0 ? void 0 : config.publishableKey), fetchedAppConfig = _useAppConfig.appConfig;
|
|
12457
12665
|
var appConfig = propsAppConfig || fetchedAppConfig;
|
|
12458
12666
|
var t = useTranslation().t;
|
|
@@ -12580,11 +12788,12 @@ var LoginLanding = function LoginLanding(param) {
|
|
|
12580
12788
|
});
|
|
12581
12789
|
})();
|
|
12582
12790
|
};
|
|
12791
|
+
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
12792
|
return /* @__PURE__ */ jsxs41(RootCard, {
|
|
12584
12793
|
embedded: embedded,
|
|
12585
12794
|
isDark: isDark,
|
|
12586
|
-
theme: config === null || config === void 0 ? void 0 : (
|
|
12587
|
-
appearance: config === null || config === void 0 ? void 0 : (
|
|
12795
|
+
theme: config === null || config === void 0 ? void 0 : (_config_config6 = config.config) === null || _config_config6 === void 0 ? void 0 : _config_config6.theme,
|
|
12796
|
+
appearance: config === null || config === void 0 ? void 0 : (_config_config7 = config.config) === null || _config_config7 === void 0 ? void 0 : _config_config7.appearance,
|
|
12588
12797
|
children: [
|
|
12589
12798
|
!hideClose && /* @__PURE__ */ jsx51("div", {
|
|
12590
12799
|
className: "moonkey-flow-close",
|
|
@@ -12611,7 +12820,7 @@ var LoginLanding = function LoginLanding(param) {
|
|
|
12611
12820
|
className: "moonkey-header",
|
|
12612
12821
|
children: /* @__PURE__ */ jsx51("div", {
|
|
12613
12822
|
className: "moonkey-header__inner",
|
|
12614
|
-
children: (config === null || config === void 0 ? void 0 : (
|
|
12823
|
+
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
12824
|
})
|
|
12616
12825
|
}),
|
|
12617
12826
|
/* @__PURE__ */ jsxs41("div", {
|
|
@@ -12624,7 +12833,9 @@ var LoginLanding = function LoginLanding(param) {
|
|
|
12624
12833
|
className: "moonkey-logo-section__inner",
|
|
12625
12834
|
children: /* @__PURE__ */ jsx51(AppLogo, {
|
|
12626
12835
|
appConfig: appConfig,
|
|
12627
|
-
src:
|
|
12836
|
+
src: logo === null || logo === void 0 ? void 0 : logo.src,
|
|
12837
|
+
height: logo === null || logo === void 0 ? void 0 : logo.height,
|
|
12838
|
+
align: logo === null || logo === void 0 ? void 0 : logo.align
|
|
12628
12839
|
})
|
|
12629
12840
|
}),
|
|
12630
12841
|
(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 +18372,10 @@ var AuthProvider = function AuthProvider(param) {
|
|
|
18161
18372
|
]);
|
|
18162
18373
|
var isReadyRef = useRef18(isReady);
|
|
18163
18374
|
var configWithCSSOverrides = useMemo4(function() {
|
|
18164
|
-
var
|
|
18165
|
-
var
|
|
18375
|
+
var _BORDER_RADIUS_PRESETS_appearance_borderRadius, _tokens_fontFamily;
|
|
18376
|
+
var _tokens_borderRadius, _tokens_borderRadius1, _tokens_borderRadius2, _tokens_borderRadius3;
|
|
18166
18377
|
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
|
-
};
|
|
18378
|
+
var baseThemeColors = (useDarkTheme ? darkTheme : lightTheme).colors;
|
|
18210
18379
|
var derived = {};
|
|
18211
18380
|
if (appearance === null || appearance === void 0 ? void 0 : appearance.accentColor) {
|
|
18212
18381
|
var a = appearance.accentColor;
|
|
@@ -18219,8 +18388,9 @@ var AuthProvider = function AuthProvider(param) {
|
|
|
18219
18388
|
derived.foregroundAccent = darken(a, 0.04);
|
|
18220
18389
|
}
|
|
18221
18390
|
if (appearance === null || appearance === void 0 ? void 0 : appearance.backgroundColor) {
|
|
18391
|
+
var _isColorDark;
|
|
18222
18392
|
var bg = appearance.backgroundColor;
|
|
18223
|
-
var isDarkBg =
|
|
18393
|
+
var isDarkBg = (_isColorDark = isColorDark(bg)) !== null && _isColorDark !== void 0 ? _isColorDark : useDarkTheme;
|
|
18224
18394
|
derived.background = bg;
|
|
18225
18395
|
derived.background2 = isDarkBg ? lighten(bg, 0.08) : darken(bg, 0.03);
|
|
18226
18396
|
derived.background3 = isDarkBg ? lighten(bg, 0.14) : darken(bg, 0.06);
|
|
@@ -18237,58 +18407,30 @@ var AuthProvider = function AuthProvider(param) {
|
|
|
18237
18407
|
derived.foreground4 = "#d1d5db";
|
|
18238
18408
|
}
|
|
18239
18409
|
}
|
|
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
|
-
}();
|
|
18410
|
+
var tokens = resolveAppearanceTokens(appearance, useDarkTheme);
|
|
18411
|
+
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
18412
|
var defaultFont = 'Sons, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif';
|
|
18413
|
+
var moonxVars = _object_spread({}, appearanceToMoonxVars(appearance, useDarkTheme), appearanceToComponentVars(appearance));
|
|
18414
|
+
var fontUrls = resolveFontUrls(appearance);
|
|
18282
18415
|
return _object_spread_props(_object_spread({}, config), {
|
|
18283
18416
|
theme: {
|
|
18284
|
-
colors: _object_spread({}, baseThemeColors, derived,
|
|
18417
|
+
colors: _object_spread({}, baseThemeColors, derived, definedOnly(tokens.colors)),
|
|
18285
18418
|
borderRadius: _object_spread({
|
|
18286
18419
|
sm: "0.375rem",
|
|
18287
18420
|
md: "0.5rem",
|
|
18288
18421
|
lg: "0.75rem",
|
|
18289
18422
|
full: "9999px"
|
|
18290
|
-
},
|
|
18291
|
-
|
|
18423
|
+
}, presetRadius, definedOnly({
|
|
18424
|
+
// explicit appearance radii (+ per-mode), legacy keys
|
|
18425
|
+
sm: (_tokens_borderRadius = tokens.borderRadius) === null || _tokens_borderRadius === void 0 ? void 0 : _tokens_borderRadius.sm,
|
|
18426
|
+
md: (_tokens_borderRadius1 = tokens.borderRadius) === null || _tokens_borderRadius1 === void 0 ? void 0 : _tokens_borderRadius1.md,
|
|
18427
|
+
lg: (_tokens_borderRadius2 = tokens.borderRadius) === null || _tokens_borderRadius2 === void 0 ? void 0 : _tokens_borderRadius2.lg,
|
|
18428
|
+
full: (_tokens_borderRadius3 = tokens.borderRadius) === null || _tokens_borderRadius3 === void 0 ? void 0 : _tokens_borderRadius3.full
|
|
18429
|
+
})),
|
|
18430
|
+
fontFamily: (_tokens_fontFamily = tokens.fontFamily) !== null && _tokens_fontFamily !== void 0 ? _tokens_fontFamily : defaultFont,
|
|
18431
|
+
// appearance.fontFamily (+ per-mode)
|
|
18432
|
+
moonxVars: moonxVars,
|
|
18433
|
+
fontUrls: fontUrls
|
|
18292
18434
|
},
|
|
18293
18435
|
appearance: appearance
|
|
18294
18436
|
});
|
|
@@ -18435,10 +18577,10 @@ var MoonKeyContext = createContext(null);
|
|
|
18435
18577
|
var MoonKeyProvider = function MoonKeyProvider(param) {
|
|
18436
18578
|
var publishableKey = param.publishableKey, embeddableId = param.embeddableId, config = param.config, children = param.children;
|
|
18437
18579
|
var _config_walletConnect, _config_emailConfig, _config_emailConfig1, _config_emailConfig2, _config_emailConfig3, _config_emailConfig4;
|
|
18438
|
-
if ((config === null || config === void 0 ? void 0 : config.
|
|
18580
|
+
if ((config === null || config === void 0 ? void 0 : config.chains) || (config === null || config === void 0 ? void 0 : config.defaultChain)) {
|
|
18439
18581
|
validateChainConfig({
|
|
18440
|
-
|
|
18441
|
-
|
|
18582
|
+
chains: config.chains,
|
|
18583
|
+
defaultChain: config.defaultChain
|
|
18442
18584
|
});
|
|
18443
18585
|
}
|
|
18444
18586
|
var _useState53 = _sliced_to_array(useState53(null), 2), walletConnectClient = _useState53[0], setWalletConnectClient2 = _useState53[1];
|
|
@@ -18532,7 +18674,6 @@ var MoonKeyProvider = function MoonKeyProvider(param) {
|
|
|
18532
18674
|
prefill: config === null || config === void 0 ? void 0 : config.prefill,
|
|
18533
18675
|
walletChainType: config === null || config === void 0 ? void 0 : config.walletChainType,
|
|
18534
18676
|
isDark: config === null || config === void 0 ? void 0 : config.isDark,
|
|
18535
|
-
theme: config === null || config === void 0 ? void 0 : config.theme,
|
|
18536
18677
|
emailConfig: {
|
|
18537
18678
|
skipVerifiedSuccess: (config === null || config === void 0 ? void 0 : (_config_emailConfig = config.emailConfig) === null || _config_emailConfig === void 0 ? void 0 : _config_emailConfig.skipVerifiedSuccess) || false,
|
|
18538
18679
|
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 +18686,9 @@ var MoonKeyProvider = function MoonKeyProvider(param) {
|
|
|
18545
18686
|
exportKeyConfig: config === null || config === void 0 ? void 0 : config.exportKeyConfig,
|
|
18546
18687
|
signTransactionConfig: config === null || config === void 0 ? void 0 : config.signTransactionConfig,
|
|
18547
18688
|
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
|
-
}
|
|
18689
|
+
// Unified chain config passes straight through — no flat→nested remap.
|
|
18690
|
+
chains: config === null || config === void 0 ? void 0 : config.chains,
|
|
18691
|
+
defaultChain: config === null || config === void 0 ? void 0 : config.defaultChain
|
|
18553
18692
|
},
|
|
18554
18693
|
hideIframe: true
|
|
18555
18694
|
};
|
|
@@ -18617,7 +18756,7 @@ var getReconnectionInfo = function getReconnectionInfo(error) {
|
|
|
18617
18756
|
return null;
|
|
18618
18757
|
};
|
|
18619
18758
|
// src/index.ts
|
|
18620
|
-
import { estimateEvmGas, estimateEvmGasReserve, getChainById,
|
|
18759
|
+
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
18760
|
import { Network } from "@moon-x/core/types";
|
|
18622
18761
|
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,
|
|
18762
|
+
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 };
|