@roochnetwork/rooch-sdk-kit
Version:
Rooch SDK Kit
88 lines (82 loc) • 3.58 kB
JavaScript
// 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