@kryptogo/kryptogokit-sdk-react
Version:
KryptogoKit offers a comprehensive web3 wallet solution with seamless KryptoGO Auth integration and multi-wallet connection support. Designed for users. Built for developers.
131 lines (128 loc) • 4.16 kB
JavaScript
"use client";
// src/themes/baseTheme.ts
var systemFontStack = '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"';
var fontStacks = {
rounded: `sans-serif, SF Rounded, ui-rounded, "SF Pro Rounded", ${systemFontStack}`,
system: systemFontStack
};
var radiusScales = {
large: {
actionButton: "9999px",
connectButton: "12px",
modal: "24px",
modalMobile: "28px"
},
medium: {
actionButton: "10px",
connectButton: "8px",
modal: "16px",
modalMobile: "18px"
},
none: {
actionButton: "0px",
connectButton: "0px",
modal: "0px",
modalMobile: "0px"
},
small: {
actionButton: "4px",
connectButton: "4px",
modal: "8px",
modalMobile: "8px"
}
};
var blurs = {
large: {
modalOverlay: "blur(20px)"
},
none: {
modalOverlay: "blur(0px)"
},
small: {
modalOverlay: "blur(4px)"
}
};
var baseTheme = ({
borderRadius = "large",
fontStack = "rounded",
overlayBlur = "none"
}) => ({
blurs: {
modalOverlay: blurs[overlayBlur].modalOverlay
},
fonts: {
body: fontStacks[fontStack]
},
radii: {
actionButton: radiusScales[borderRadius].actionButton,
connectButton: radiusScales[borderRadius].connectButton,
menuButton: radiusScales[borderRadius].connectButton,
modal: radiusScales[borderRadius].modal,
modalMobile: radiusScales[borderRadius].modalMobile
}
});
// src/themes/lightTheme.ts
var accentColors = {
blue: { accentColor: "#0E76FD", accentColorForeground: "#FFF" },
green: { accentColor: "#1DB847", accentColorForeground: "#FFF" },
orange: { accentColor: "#FF801F", accentColorForeground: "#FFF" },
pink: { accentColor: "#FF5CA0", accentColorForeground: "#FFF" },
purple: { accentColor: "#5F5AFA", accentColorForeground: "#FFF" },
red: { accentColor: "#FA423C", accentColorForeground: "#FFF" },
yellow: { accentColor: "#FFC211", accentColorForeground: "#FFF" }
};
var defaultAccentColor = accentColors.yellow;
var lightTheme = ({
accentColor = defaultAccentColor.accentColor,
accentColorForeground = defaultAccentColor.accentColorForeground,
...baseThemeOptions
} = {}) => ({
...baseTheme(baseThemeOptions),
colors: {
accentColor,
accentColorForeground,
actionButtonBorder: "rgba(0, 0, 0, 0.04)",
actionButtonBorderMobile: "rgba(0, 0, 0, 0.06)",
actionButtonSecondaryBackground: "rgba(0, 0, 0, 0.06)",
backward: "#B0BBD5",
closeButton: "rgba(60, 66, 66, 0.8)",
closeButtonBackground: "rgba(0, 0, 0, 0.06)",
connectButtonBackground: "#FFF",
connectButtonBackgroundError: "#FF494A",
connectButtonInnerBackground: "linear-gradient(0deg, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.06))",
connectButtonText: "#25292E",
connectButtonTextError: "#FFF",
connectionIndicator: "#30E000",
downloadBottomCardBackground: "linear-gradient(126deg, rgba(255, 255, 255, 0) 9.49%, rgba(171, 171, 171, 0.04) 71.04%), #FFFFFF",
downloadTopCardBackground: "linear-gradient(126deg, rgba(171, 171, 171, 0.2) 9.49%, rgba(255, 255, 255, 0) 71.04%), #FFFFFF",
error: "#E31A1A",
generalBorder: "rgba(0, 0, 0, 0.06)",
generalBorderDim: "rgba(0, 0, 0, 0.03)",
menuItemBackground: "rgba(60, 66, 66, 0.1)",
modalBackdrop: "rgba(0, 0, 0, 0.3)",
modalBackground: "#FFF",
modalBorder: "transparent",
modalText: "#25292E",
modalTextDim: "rgba(60, 66, 66, 0.3)",
modalTextSecondary: "#68769F",
profileAction: "#FFF",
profileActionHover: "rgba(255, 255, 255, 0.5)",
profileForeground: "#F7F9FD",
selectedOptionBorder: "rgba(60, 66, 66, 0.1)",
standby: "#D99D04",
success: "#00B38C",
secondary: "#001F58"
},
shadows: {
connectButton: "0px 4px 12px rgba(0, 0, 0, 0.1)",
dialog: "0px 8px 32px rgba(0, 0, 0, 0.32)",
profileDetailsAction: "0px 2px 6px rgba(37, 41, 46, 0.04)",
selectedOption: "0px 2px 6px rgba(0, 0, 0, 0.24)",
selectedWallet: "0px 2px 6px rgba(0, 0, 0, 0.12)",
walletLogo: "0px 2px 16px rgba(0, 0, 0, 0.16)"
}
});
lightTheme.accentColors = accentColors;
export {
lightTheme
};