UNPKG

@roochnetwork/rooch-sdk-kit

Version:
88 lines (82 loc) 3.58 kB
// src/components/connect-modal/wallet-list/WalletListItem.tsx import { clsx as clsx2 } from "clsx"; // src/components/ui/Heading.tsx import { Slot } from "@radix-ui/react-slot"; import clsx from "clsx"; import { forwardRef } from "react"; // src/components/ui/Heading.css.ts import { createRuntimeFn as _7a468 } from "@vanilla-extract/recipes/createRuntimeFn"; var headingVariants = _7a468({ defaultClassName: "Heading__1v58k1t0", variantClassNames: { size: { sm: "Heading_headingVariants_size_sm__1v58k1t1", md: "Heading_headingVariants_size_md__1v58k1t2", lg: "Heading_headingVariants_size_lg__1v58k1t3", xl: "Heading_headingVariants_size_xl__1v58k1t4" }, weight: { normal: "Heading_headingVariants_weight_normal__1v58k1t5", bold: "Heading_headingVariants_weight_bold__1v58k1t6" }, truncate: { true: "Heading_headingVariants_truncate_true__1v58k1t7" } }, defaultVariants: { size: "lg", weight: "bold" }, compoundVariants: [] }); // src/components/ui/Heading.tsx import { jsx } from "react/jsx-runtime"; var Heading = forwardRef( ({ children, className, asChild = false, as: Tag = "h1", size, weight, truncate, ...headingProps }, forwardedRef) => { return /* @__PURE__ */ jsx( Slot, { ...headingProps, ref: forwardedRef, className: clsx(headingVariants({ size, weight, truncate }), className), children: asChild ? children : /* @__PURE__ */ jsx(Tag, { children }) } ); } ); Heading.displayName = "Heading"; // src/components/connect-modal/wallet-list/WalletListItem.css.ts var container = "WalletListItem_container__1i3e7c00"; var detectingStatus = "WalletListItem_detectingStatus__1i3e7c07"; var installedStatus = "WalletListItem_installedStatus__1i3e7c05"; var loadingSpinner = "WalletListItem_loadingSpinner__1i3e7c09"; var notInstalledStatus = "WalletListItem_notInstalledStatus__1i3e7c06"; var selectedWalletItem = "WalletListItem_selectedWalletItem__1i3e7c02"; var walletIcon = "WalletListItem_walletIcon__1i3e7c03"; var walletItem = "WalletListItem_walletItem__1i3e7c01"; var walletStatus = "WalletListItem_walletStatus__1i3e7c04"; // src/components/connect-modal/wallet-list/WalletListItem.tsx import { Fragment, jsx as jsx2, jsxs } from "react/jsx-runtime"; function WalletListItem({ name, icon, onClick, isSelected = false, isInstalled = false, isDetecting = false }) { return /* @__PURE__ */ jsx2("li", { className: container, children: /* @__PURE__ */ jsxs( "button", { className: clsx2(walletItem, { [selectedWalletItem]: isSelected }), type: "button", onClick, children: [ icon && typeof icon === "string" ? /* @__PURE__ */ jsx2("img", { className: walletIcon, src: icon, alt: `${name} logo` }) : icon, /* @__PURE__ */ jsx2(Heading, { size: "md", truncate: true, asChild: true, children: /* @__PURE__ */ jsx2("div", { children: name }) }), /* @__PURE__ */ jsx2( "span", { className: clsx2(walletStatus, { [installedStatus]: isInstalled && !isDetecting || name === "Local", [notInstalledStatus]: !isInstalled && !isDetecting, [detectingStatus]: isDetecting && name !== "Local" }), children: isDetecting && name !== "Local" ? /* @__PURE__ */ jsx2(Fragment, { children: /* @__PURE__ */ jsx2("span", { className: loadingSpinner }) }) : isInstalled ? "Installed" : "Uninstalled" } ) ] } ) }); } export { WalletListItem }; //# sourceMappingURL=WalletListItem.js.map