@fairmint/ui 0.3.1 → 0.3.3
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/dist/components/generic/DocumentRow/DocumentRow.cjs +297 -0
- package/dist/components/generic/DocumentRow/DocumentRow.cjs.map +1 -0
- package/dist/components/generic/DocumentRow/DocumentRow.d.ts +49 -0
- package/dist/components/generic/DocumentRow/DocumentRow.d.ts.map +1 -0
- package/dist/components/generic/DocumentRow/DocumentRow.js +297 -0
- package/dist/components/generic/DocumentRow/DocumentRow.js.map +1 -0
- package/dist/components/specific/WalletList/WalletList.cjs +129 -141
- package/dist/components/specific/WalletList/WalletList.cjs.map +1 -1
- package/dist/components/specific/WalletList/WalletList.d.ts +2 -10
- package/dist/components/specific/WalletList/WalletList.d.ts.map +1 -1
- package/dist/components/specific/WalletList/WalletList.js +131 -143
- package/dist/components/specific/WalletList/WalletList.js.map +1 -1
- package/dist/components/specific/WalletListItem/WalletListItem.cjs +161 -0
- package/dist/components/specific/WalletListItem/WalletListItem.cjs.map +1 -0
- package/dist/components/specific/WalletListItem/WalletListItem.d.ts +32 -0
- package/dist/components/specific/WalletListItem/WalletListItem.d.ts.map +1 -0
- package/dist/components/specific/WalletListItem/WalletListItem.js +161 -0
- package/dist/components/specific/WalletListItem/WalletListItem.js.map +1 -0
- package/dist/fairmint-ui.cjs +6 -0
- package/dist/fairmint-ui.cjs.map +1 -1
- package/dist/fairmint-ui.js +9 -3
- package/dist/fairmint-ui.js.map +1 -1
- package/dist/index.d.ts +9 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/styles.css +2 -1
- package/dist/utils/wallets.cjs +18 -2
- package/dist/utils/wallets.cjs.map +1 -1
- package/dist/utils/wallets.d.ts +13 -0
- package/dist/utils/wallets.d.ts.map +1 -1
- package/dist/utils/wallets.js +18 -2
- package/dist/utils/wallets.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const React = require("react");
|
|
5
|
+
const index = require("../../../theme/index.cjs");
|
|
6
|
+
const address = require("../../../utils/address.cjs");
|
|
7
|
+
const wallets = require("../../../utils/wallets.cjs");
|
|
8
|
+
const Badge = require("../../primitives/Badge/Badge.cjs");
|
|
9
|
+
const layout = require("../../primitives/layout.cjs");
|
|
10
|
+
const Group = require("../../../node_modules/@mantine/core/esm/components/Group/Group.cjs");
|
|
11
|
+
const ThemeIcon = require("../../../node_modules/@mantine/core/esm/components/ThemeIcon/ThemeIcon.cjs");
|
|
12
|
+
const Text = require("../../../node_modules/@mantine/core/esm/components/Text/Text.cjs");
|
|
13
|
+
const colors = require("../../../theme/colors.cjs");
|
|
14
|
+
const UnstyledButton = require("../../../node_modules/@mantine/core/esm/components/UnstyledButton/UnstyledButton.cjs");
|
|
15
|
+
function moveRadioSelection(current, delta) {
|
|
16
|
+
const group = current.closest('[role="radiogroup"]');
|
|
17
|
+
if (!group) return;
|
|
18
|
+
const radios = Array.from(group.querySelectorAll('[role="radio"]'));
|
|
19
|
+
const index2 = radios.indexOf(current);
|
|
20
|
+
if (index2 < 0 || radios.length === 0) return;
|
|
21
|
+
const next = radios[(index2 + delta + radios.length) % radios.length];
|
|
22
|
+
next.focus();
|
|
23
|
+
next.click();
|
|
24
|
+
}
|
|
25
|
+
function handleRadioKeyDown(event) {
|
|
26
|
+
switch (event.key) {
|
|
27
|
+
case "ArrowDown":
|
|
28
|
+
case "ArrowRight":
|
|
29
|
+
event.preventDefault();
|
|
30
|
+
moveRadioSelection(event.currentTarget, 1);
|
|
31
|
+
break;
|
|
32
|
+
case "ArrowUp":
|
|
33
|
+
case "ArrowLeft":
|
|
34
|
+
event.preventDefault();
|
|
35
|
+
moveRadioSelection(event.currentTarget, -1);
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function radioTabIndex(radio, selected) {
|
|
40
|
+
if (!radio) return 0;
|
|
41
|
+
const group = radio.closest('[role="radiogroup"]');
|
|
42
|
+
if (!group) return 0;
|
|
43
|
+
if (selected) return 0;
|
|
44
|
+
const radios = Array.from(group.querySelectorAll('[role="radio"]'));
|
|
45
|
+
const anySelected = radios.some((item) => item.getAttribute("aria-checked") === "true");
|
|
46
|
+
if (!anySelected && radios[0] === radio) return 0;
|
|
47
|
+
return -1;
|
|
48
|
+
}
|
|
49
|
+
function WalletListItem({
|
|
50
|
+
wallet,
|
|
51
|
+
addressChars = 6,
|
|
52
|
+
density = "comfortable",
|
|
53
|
+
selected = false,
|
|
54
|
+
rightSection,
|
|
55
|
+
walletIcon,
|
|
56
|
+
typeLabels,
|
|
57
|
+
onClick,
|
|
58
|
+
ariaLabel
|
|
59
|
+
}) {
|
|
60
|
+
const isCompact = density === "compact";
|
|
61
|
+
const displayName = wallets.getWalletDisplayName(wallet, typeLabels);
|
|
62
|
+
const kindPill = wallets.getWalletKindPill(wallet.type, typeLabels);
|
|
63
|
+
const displayAddress = isCompact ? address.truncateAddress(wallet.address, addressChars) : wallet.address;
|
|
64
|
+
const padding = isCompact ? "xs" : "md";
|
|
65
|
+
const alignment = isCompact ? "center" : "flex-start";
|
|
66
|
+
const isClickable = Boolean(onClick);
|
|
67
|
+
const radioRef = React.useRef(null);
|
|
68
|
+
const [tabIndex, setTabIndex] = React.useState(0);
|
|
69
|
+
React.useLayoutEffect(() => {
|
|
70
|
+
if (!isClickable) return;
|
|
71
|
+
const radio = radioRef.current;
|
|
72
|
+
if (!radio) return;
|
|
73
|
+
const updateTabIndex = () => {
|
|
74
|
+
setTabIndex(radioTabIndex(radio, selected));
|
|
75
|
+
};
|
|
76
|
+
updateTabIndex();
|
|
77
|
+
const group = radio.closest('[role="radiogroup"]');
|
|
78
|
+
if (!group) return;
|
|
79
|
+
const observer = new MutationObserver(updateTabIndex);
|
|
80
|
+
observer.observe(group, {
|
|
81
|
+
subtree: true,
|
|
82
|
+
childList: true,
|
|
83
|
+
attributes: true,
|
|
84
|
+
attributeFilter: ["aria-checked", "role"]
|
|
85
|
+
});
|
|
86
|
+
return () => observer.disconnect();
|
|
87
|
+
}, [isClickable, selected]);
|
|
88
|
+
const mainContent = /* @__PURE__ */ jsxRuntime.jsxs(Group.Group, { gap: "sm", align: alignment, wrap: "nowrap", style: { flex: 1, minWidth: 0 }, children: [
|
|
89
|
+
walletIcon && /* @__PURE__ */ jsxRuntime.jsx(
|
|
90
|
+
ThemeIcon.ThemeIcon,
|
|
91
|
+
{
|
|
92
|
+
size: isCompact ? 32 : 40,
|
|
93
|
+
radius: "xl",
|
|
94
|
+
variant: "light",
|
|
95
|
+
color: wallets.getWalletIconColor(wallet.type),
|
|
96
|
+
style: { flexShrink: 0 },
|
|
97
|
+
children: walletIcon
|
|
98
|
+
}
|
|
99
|
+
),
|
|
100
|
+
/* @__PURE__ */ jsxRuntime.jsxs(layout.Stack, { gap: isCompact ? 2 : 4, style: { flex: 1, minWidth: 0 }, children: [
|
|
101
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Group.Group, { gap: "xs", align: "center", wrap: "wrap", children: [
|
|
102
|
+
/* @__PURE__ */ jsxRuntime.jsx(Text.Text, { size: "sm", fw: 600, style: { wordBreak: "break-word" }, children: displayName }),
|
|
103
|
+
wallet.defaultRecipient && /* @__PURE__ */ jsxRuntime.jsx(Badge.Badge, { size: "xs", color: colors.colors.warning, variant: "light", tt: "uppercase", children: "Default" }),
|
|
104
|
+
/* @__PURE__ */ jsxRuntime.jsx(Badge.Badge, { size: "xs", variant: "light", color: colors.colors.neutral, children: kindPill })
|
|
105
|
+
] }),
|
|
106
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
107
|
+
Text.Text,
|
|
108
|
+
{
|
|
109
|
+
size: "xs",
|
|
110
|
+
ff: "monospace",
|
|
111
|
+
c: index.fairmintVars.colorTextSecondary,
|
|
112
|
+
title: wallet.address,
|
|
113
|
+
...isClickable ? { "aria-hidden": true } : { "aria-label": `Wallet address ${wallet.address}` },
|
|
114
|
+
style: { overflowWrap: "anywhere" },
|
|
115
|
+
children: displayAddress
|
|
116
|
+
}
|
|
117
|
+
)
|
|
118
|
+
] })
|
|
119
|
+
] });
|
|
120
|
+
const trailing = rightSection ? /* @__PURE__ */ jsxRuntime.jsx(layout.Box, { style: { flexShrink: 0 }, children: rightSection }) : null;
|
|
121
|
+
const style = {
|
|
122
|
+
borderRadius: index.radii.lg,
|
|
123
|
+
border: selected ? `1px solid ${index.brandColors.indigo}` : isCompact ? "1px solid transparent" : `1px solid ${index.neutralColors[200]}`
|
|
124
|
+
};
|
|
125
|
+
const radioLabel = ariaLabel ?? `${displayName}, ${wallet.address}`;
|
|
126
|
+
if (isClickable) {
|
|
127
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
128
|
+
layout.Box,
|
|
129
|
+
{
|
|
130
|
+
"data-selected": selected || void 0,
|
|
131
|
+
className: "fairmint-list-row",
|
|
132
|
+
w: "100%",
|
|
133
|
+
p: padding,
|
|
134
|
+
style,
|
|
135
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(Group.Group, { justify: "space-between", align: alignment, wrap: "nowrap", gap: "xs", w: "100%", children: [
|
|
136
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
137
|
+
UnstyledButton.UnstyledButton,
|
|
138
|
+
{
|
|
139
|
+
ref: radioRef,
|
|
140
|
+
onClick,
|
|
141
|
+
onKeyDown: handleRadioKeyDown,
|
|
142
|
+
role: "radio",
|
|
143
|
+
"aria-checked": selected,
|
|
144
|
+
"aria-label": radioLabel,
|
|
145
|
+
tabIndex,
|
|
146
|
+
style: { flex: 1, minWidth: 0, textAlign: "left" },
|
|
147
|
+
children: mainContent
|
|
148
|
+
}
|
|
149
|
+
),
|
|
150
|
+
trailing
|
|
151
|
+
] })
|
|
152
|
+
}
|
|
153
|
+
);
|
|
154
|
+
}
|
|
155
|
+
return /* @__PURE__ */ jsxRuntime.jsx(layout.Box, { "data-selected": selected || void 0, w: "100%", p: padding, style, children: /* @__PURE__ */ jsxRuntime.jsxs(Group.Group, { justify: "space-between", align: alignment, wrap: "nowrap", gap: "xs", w: "100%", children: [
|
|
156
|
+
mainContent,
|
|
157
|
+
trailing
|
|
158
|
+
] }) });
|
|
159
|
+
}
|
|
160
|
+
exports.WalletListItem = WalletListItem;
|
|
161
|
+
//# sourceMappingURL=WalletListItem.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletListItem.cjs","sources":["../../../../src/components/specific/WalletListItem/WalletListItem.tsx"],"sourcesContent":["import { type KeyboardEvent, type ReactNode, useLayoutEffect, useRef, useState } from \"react\";\nimport { brandColors, colors, fairmintVars, neutralColors, radii } from \"../../../theme\";\nimport { truncateAddress } from \"../../../utils/address\";\nimport {\n getWalletDisplayName,\n getWalletIconColor,\n getWalletKindPill,\n type Wallet,\n} from \"../../../utils/wallets\";\nimport { Badge } from \"../../primitives/Badge/Badge\";\nimport { Box, Group, Stack, Text, ThemeIcon, UnstyledButton } from \"../../primitives/layout\";\n\nexport interface WalletListItemProps {\n /** Wallet data used to derive the name, kind badge, and address. */\n wallet: Wallet;\n /** Number of address characters shown on each side of the ellipsis in compact density. */\n addressChars?: number;\n /** Row density. Compact is intended for picker/dropdown options. */\n density?: \"comfortable\" | \"compact\";\n /** Applies the indigo outline selected treatment. */\n selected?: boolean;\n /** Content rendered at the trailing edge of the row. */\n rightSection?: ReactNode;\n /** Leading wallet visual. Apps provide the icon so the library stays icon-package agnostic. */\n walletIcon?: ReactNode;\n /** Optional override for wallet type labels. */\n typeLabels?: Record<string, string>;\n /** Makes the primary row content a selectable radio option when supplied. */\n onClick?: () => void;\n /**\n * Accessible name for a clickable row.\n * Defaults to `{displayName}, {address}` so unlabeled wallets stay distinguishable.\n */\n ariaLabel?: string;\n}\n\nfunction moveRadioSelection(current: HTMLElement, delta: number): void {\n const group = current.closest('[role=\"radiogroup\"]');\n if (!group) return;\n const radios = Array.from(group.querySelectorAll<HTMLElement>('[role=\"radio\"]'));\n const index = radios.indexOf(current);\n if (index < 0 || radios.length === 0) return;\n const next = radios[(index + delta + radios.length) % radios.length];\n next.focus();\n next.click();\n}\n\nfunction handleRadioKeyDown(event: KeyboardEvent<HTMLButtonElement>): void {\n switch (event.key) {\n case \"ArrowDown\":\n case \"ArrowRight\":\n event.preventDefault();\n moveRadioSelection(event.currentTarget, 1);\n break;\n case \"ArrowUp\":\n case \"ArrowLeft\":\n event.preventDefault();\n moveRadioSelection(event.currentTarget, -1);\n break;\n default:\n break;\n }\n}\n\nfunction radioTabIndex(radio: HTMLElement | null, selected: boolean): number {\n if (!radio) return 0;\n const group = radio.closest('[role=\"radiogroup\"]');\n if (!group) return 0;\n if (selected) return 0;\n const radios = Array.from(group.querySelectorAll<HTMLElement>('[role=\"radio\"]'));\n const anySelected = radios.some((item) => item.getAttribute(\"aria-checked\") === \"true\");\n if (!anySelected && radios[0] === radio) return 0;\n return -1;\n}\n\n/**\n * Reusable wallet display shell for lists, pickers, and read-only review rows.\n * Management actions such as rename, remove, and connect remain owned by the\n * composing flow.\n */\nexport function WalletListItem({\n wallet,\n addressChars = 6,\n density = \"comfortable\",\n selected = false,\n rightSection,\n walletIcon,\n typeLabels,\n onClick,\n ariaLabel,\n}: WalletListItemProps) {\n const isCompact = density === \"compact\";\n const displayName = getWalletDisplayName(wallet, typeLabels);\n const kindPill = getWalletKindPill(wallet.type, typeLabels);\n const displayAddress = isCompact ? truncateAddress(wallet.address, addressChars) : wallet.address;\n const padding = isCompact ? \"xs\" : \"md\";\n const alignment = isCompact ? \"center\" : \"flex-start\";\n const isClickable = Boolean(onClick);\n const radioRef = useRef<HTMLButtonElement>(null);\n const [tabIndex, setTabIndex] = useState(0);\n\n useLayoutEffect(() => {\n if (!isClickable) return;\n const radio = radioRef.current;\n if (!radio) return;\n\n const updateTabIndex = () => {\n setTabIndex(radioTabIndex(radio, selected));\n };\n updateTabIndex();\n\n const group = radio.closest('[role=\"radiogroup\"]');\n if (!group) return;\n\n const observer = new MutationObserver(updateTabIndex);\n observer.observe(group, {\n subtree: true,\n childList: true,\n attributes: true,\n attributeFilter: [\"aria-checked\", \"role\"],\n });\n return () => observer.disconnect();\n }, [isClickable, selected]);\n\n const mainContent = (\n <Group gap=\"sm\" align={alignment} wrap=\"nowrap\" style={{ flex: 1, minWidth: 0 }}>\n {walletIcon && (\n <ThemeIcon\n size={isCompact ? 32 : 40}\n radius=\"xl\"\n variant=\"light\"\n color={getWalletIconColor(wallet.type)}\n style={{ flexShrink: 0 }}\n >\n {walletIcon}\n </ThemeIcon>\n )}\n <Stack gap={isCompact ? 2 : 4} style={{ flex: 1, minWidth: 0 }}>\n <Group gap=\"xs\" align=\"center\" wrap=\"wrap\">\n <Text size=\"sm\" fw={600} style={{ wordBreak: \"break-word\" }}>\n {displayName}\n </Text>\n {wallet.defaultRecipient && (\n <Badge size=\"xs\" color={colors.warning} variant=\"light\" tt=\"uppercase\">\n Default\n </Badge>\n )}\n <Badge size=\"xs\" variant=\"light\" color={colors.neutral}>\n {kindPill}\n </Badge>\n </Group>\n <Text\n size=\"xs\"\n ff=\"monospace\"\n c={fairmintVars.colorTextSecondary}\n title={wallet.address}\n {...(isClickable\n ? { \"aria-hidden\": true }\n : { \"aria-label\": `Wallet address ${wallet.address}` })}\n style={{ overflowWrap: \"anywhere\" }}\n >\n {displayAddress}\n </Text>\n </Stack>\n </Group>\n );\n\n const trailing = rightSection ? <Box style={{ flexShrink: 0 }}>{rightSection}</Box> : null;\n\n const style = {\n borderRadius: radii.lg,\n border: selected\n ? `1px solid ${brandColors.indigo}`\n : isCompact\n ? \"1px solid transparent\"\n : `1px solid ${neutralColors[200]}`,\n } as const;\n\n const radioLabel = ariaLabel ?? `${displayName}, ${wallet.address}`;\n\n if (isClickable) {\n return (\n <Box\n data-selected={selected || undefined}\n className=\"fairmint-list-row\"\n w=\"100%\"\n p={padding}\n style={style}\n >\n <Group justify=\"space-between\" align={alignment} wrap=\"nowrap\" gap=\"xs\" w=\"100%\">\n <UnstyledButton\n ref={radioRef}\n onClick={onClick}\n onKeyDown={handleRadioKeyDown}\n role=\"radio\"\n aria-checked={selected}\n aria-label={radioLabel}\n tabIndex={tabIndex}\n style={{ flex: 1, minWidth: 0, textAlign: \"left\" }}\n >\n {mainContent}\n </UnstyledButton>\n {trailing}\n </Group>\n </Box>\n );\n }\n\n return (\n <Box data-selected={selected || undefined} w=\"100%\" p={padding} style={style}>\n <Group justify=\"space-between\" align={alignment} wrap=\"nowrap\" gap=\"xs\" w=\"100%\">\n {mainContent}\n {trailing}\n </Group>\n </Box>\n );\n}\n"],"names":["index","getWalletDisplayName","getWalletKindPill","truncateAddress","useRef","useState","useLayoutEffect","jsxs","Group","jsx","ThemeIcon","getWalletIconColor","Stack","Text","Badge","colors","fairmintVars","Box","radii","brandColors","neutralColors","UnstyledButton"],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { Wallet } from '../../../utils/wallets';
|
|
3
|
+
export interface WalletListItemProps {
|
|
4
|
+
/** Wallet data used to derive the name, kind badge, and address. */
|
|
5
|
+
wallet: Wallet;
|
|
6
|
+
/** Number of address characters shown on each side of the ellipsis in compact density. */
|
|
7
|
+
addressChars?: number;
|
|
8
|
+
/** Row density. Compact is intended for picker/dropdown options. */
|
|
9
|
+
density?: "comfortable" | "compact";
|
|
10
|
+
/** Applies the indigo outline selected treatment. */
|
|
11
|
+
selected?: boolean;
|
|
12
|
+
/** Content rendered at the trailing edge of the row. */
|
|
13
|
+
rightSection?: ReactNode;
|
|
14
|
+
/** Leading wallet visual. Apps provide the icon so the library stays icon-package agnostic. */
|
|
15
|
+
walletIcon?: ReactNode;
|
|
16
|
+
/** Optional override for wallet type labels. */
|
|
17
|
+
typeLabels?: Record<string, string>;
|
|
18
|
+
/** Makes the primary row content a selectable radio option when supplied. */
|
|
19
|
+
onClick?: () => void;
|
|
20
|
+
/**
|
|
21
|
+
* Accessible name for a clickable row.
|
|
22
|
+
* Defaults to `{displayName}, {address}` so unlabeled wallets stay distinguishable.
|
|
23
|
+
*/
|
|
24
|
+
ariaLabel?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Reusable wallet display shell for lists, pickers, and read-only review rows.
|
|
28
|
+
* Management actions such as rename, remove, and connect remain owned by the
|
|
29
|
+
* composing flow.
|
|
30
|
+
*/
|
|
31
|
+
export declare function WalletListItem({ wallet, addressChars, density, selected, rightSection, walletIcon, typeLabels, onClick, ariaLabel, }: WalletListItemProps): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
//# sourceMappingURL=WalletListItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletListItem.d.ts","sourceRoot":"","sources":["../../../../src/components/specific/WalletListItem/WalletListItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,SAAS,EAAqC,MAAM,OAAO,CAAC;AAG9F,OAAO,EAIL,KAAK,MAAM,EACZ,MAAM,wBAAwB,CAAC;AAIhC,MAAM,WAAW,mBAAmB;IAClC,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACpC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,+FAA+F;IAC/F,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAyCD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,YAAgB,EAChB,OAAuB,EACvB,QAAgB,EAChB,YAAY,EACZ,UAAU,EACV,UAAU,EACV,OAAO,EACP,SAAS,GACV,EAAE,mBAAmB,2CA8HrB"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useRef, useState, useLayoutEffect } from "react";
|
|
3
|
+
import { fairmintVars, brandColors, neutralColors, radii } from "../../../theme/index.js";
|
|
4
|
+
import { truncateAddress } from "../../../utils/address.js";
|
|
5
|
+
import { getWalletDisplayName, getWalletKindPill, getWalletIconColor } from "../../../utils/wallets.js";
|
|
6
|
+
import { Badge } from "../../primitives/Badge/Badge.js";
|
|
7
|
+
import { Stack, Box } from "../../primitives/layout.js";
|
|
8
|
+
import { Group } from "../../../node_modules/@mantine/core/esm/components/Group/Group.js";
|
|
9
|
+
import { ThemeIcon } from "../../../node_modules/@mantine/core/esm/components/ThemeIcon/ThemeIcon.js";
|
|
10
|
+
import { Text } from "../../../node_modules/@mantine/core/esm/components/Text/Text.js";
|
|
11
|
+
import { colors } from "../../../theme/colors.js";
|
|
12
|
+
import { UnstyledButton } from "../../../node_modules/@mantine/core/esm/components/UnstyledButton/UnstyledButton.js";
|
|
13
|
+
function moveRadioSelection(current, delta) {
|
|
14
|
+
const group = current.closest('[role="radiogroup"]');
|
|
15
|
+
if (!group) return;
|
|
16
|
+
const radios = Array.from(group.querySelectorAll('[role="radio"]'));
|
|
17
|
+
const index = radios.indexOf(current);
|
|
18
|
+
if (index < 0 || radios.length === 0) return;
|
|
19
|
+
const next = radios[(index + delta + radios.length) % radios.length];
|
|
20
|
+
next.focus();
|
|
21
|
+
next.click();
|
|
22
|
+
}
|
|
23
|
+
function handleRadioKeyDown(event) {
|
|
24
|
+
switch (event.key) {
|
|
25
|
+
case "ArrowDown":
|
|
26
|
+
case "ArrowRight":
|
|
27
|
+
event.preventDefault();
|
|
28
|
+
moveRadioSelection(event.currentTarget, 1);
|
|
29
|
+
break;
|
|
30
|
+
case "ArrowUp":
|
|
31
|
+
case "ArrowLeft":
|
|
32
|
+
event.preventDefault();
|
|
33
|
+
moveRadioSelection(event.currentTarget, -1);
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function radioTabIndex(radio, selected) {
|
|
38
|
+
if (!radio) return 0;
|
|
39
|
+
const group = radio.closest('[role="radiogroup"]');
|
|
40
|
+
if (!group) return 0;
|
|
41
|
+
if (selected) return 0;
|
|
42
|
+
const radios = Array.from(group.querySelectorAll('[role="radio"]'));
|
|
43
|
+
const anySelected = radios.some((item) => item.getAttribute("aria-checked") === "true");
|
|
44
|
+
if (!anySelected && radios[0] === radio) return 0;
|
|
45
|
+
return -1;
|
|
46
|
+
}
|
|
47
|
+
function WalletListItem({
|
|
48
|
+
wallet,
|
|
49
|
+
addressChars = 6,
|
|
50
|
+
density = "comfortable",
|
|
51
|
+
selected = false,
|
|
52
|
+
rightSection,
|
|
53
|
+
walletIcon,
|
|
54
|
+
typeLabels,
|
|
55
|
+
onClick,
|
|
56
|
+
ariaLabel
|
|
57
|
+
}) {
|
|
58
|
+
const isCompact = density === "compact";
|
|
59
|
+
const displayName = getWalletDisplayName(wallet, typeLabels);
|
|
60
|
+
const kindPill = getWalletKindPill(wallet.type, typeLabels);
|
|
61
|
+
const displayAddress = isCompact ? truncateAddress(wallet.address, addressChars) : wallet.address;
|
|
62
|
+
const padding = isCompact ? "xs" : "md";
|
|
63
|
+
const alignment = isCompact ? "center" : "flex-start";
|
|
64
|
+
const isClickable = Boolean(onClick);
|
|
65
|
+
const radioRef = useRef(null);
|
|
66
|
+
const [tabIndex, setTabIndex] = useState(0);
|
|
67
|
+
useLayoutEffect(() => {
|
|
68
|
+
if (!isClickable) return;
|
|
69
|
+
const radio = radioRef.current;
|
|
70
|
+
if (!radio) return;
|
|
71
|
+
const updateTabIndex = () => {
|
|
72
|
+
setTabIndex(radioTabIndex(radio, selected));
|
|
73
|
+
};
|
|
74
|
+
updateTabIndex();
|
|
75
|
+
const group = radio.closest('[role="radiogroup"]');
|
|
76
|
+
if (!group) return;
|
|
77
|
+
const observer = new MutationObserver(updateTabIndex);
|
|
78
|
+
observer.observe(group, {
|
|
79
|
+
subtree: true,
|
|
80
|
+
childList: true,
|
|
81
|
+
attributes: true,
|
|
82
|
+
attributeFilter: ["aria-checked", "role"]
|
|
83
|
+
});
|
|
84
|
+
return () => observer.disconnect();
|
|
85
|
+
}, [isClickable, selected]);
|
|
86
|
+
const mainContent = /* @__PURE__ */ jsxs(Group, { gap: "sm", align: alignment, wrap: "nowrap", style: { flex: 1, minWidth: 0 }, children: [
|
|
87
|
+
walletIcon && /* @__PURE__ */ jsx(
|
|
88
|
+
ThemeIcon,
|
|
89
|
+
{
|
|
90
|
+
size: isCompact ? 32 : 40,
|
|
91
|
+
radius: "xl",
|
|
92
|
+
variant: "light",
|
|
93
|
+
color: getWalletIconColor(wallet.type),
|
|
94
|
+
style: { flexShrink: 0 },
|
|
95
|
+
children: walletIcon
|
|
96
|
+
}
|
|
97
|
+
),
|
|
98
|
+
/* @__PURE__ */ jsxs(Stack, { gap: isCompact ? 2 : 4, style: { flex: 1, minWidth: 0 }, children: [
|
|
99
|
+
/* @__PURE__ */ jsxs(Group, { gap: "xs", align: "center", wrap: "wrap", children: [
|
|
100
|
+
/* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, style: { wordBreak: "break-word" }, children: displayName }),
|
|
101
|
+
wallet.defaultRecipient && /* @__PURE__ */ jsx(Badge, { size: "xs", color: colors.warning, variant: "light", tt: "uppercase", children: "Default" }),
|
|
102
|
+
/* @__PURE__ */ jsx(Badge, { size: "xs", variant: "light", color: colors.neutral, children: kindPill })
|
|
103
|
+
] }),
|
|
104
|
+
/* @__PURE__ */ jsx(
|
|
105
|
+
Text,
|
|
106
|
+
{
|
|
107
|
+
size: "xs",
|
|
108
|
+
ff: "monospace",
|
|
109
|
+
c: fairmintVars.colorTextSecondary,
|
|
110
|
+
title: wallet.address,
|
|
111
|
+
...isClickable ? { "aria-hidden": true } : { "aria-label": `Wallet address ${wallet.address}` },
|
|
112
|
+
style: { overflowWrap: "anywhere" },
|
|
113
|
+
children: displayAddress
|
|
114
|
+
}
|
|
115
|
+
)
|
|
116
|
+
] })
|
|
117
|
+
] });
|
|
118
|
+
const trailing = rightSection ? /* @__PURE__ */ jsx(Box, { style: { flexShrink: 0 }, children: rightSection }) : null;
|
|
119
|
+
const style = {
|
|
120
|
+
borderRadius: radii.lg,
|
|
121
|
+
border: selected ? `1px solid ${brandColors.indigo}` : isCompact ? "1px solid transparent" : `1px solid ${neutralColors[200]}`
|
|
122
|
+
};
|
|
123
|
+
const radioLabel = ariaLabel ?? `${displayName}, ${wallet.address}`;
|
|
124
|
+
if (isClickable) {
|
|
125
|
+
return /* @__PURE__ */ jsx(
|
|
126
|
+
Box,
|
|
127
|
+
{
|
|
128
|
+
"data-selected": selected || void 0,
|
|
129
|
+
className: "fairmint-list-row",
|
|
130
|
+
w: "100%",
|
|
131
|
+
p: padding,
|
|
132
|
+
style,
|
|
133
|
+
children: /* @__PURE__ */ jsxs(Group, { justify: "space-between", align: alignment, wrap: "nowrap", gap: "xs", w: "100%", children: [
|
|
134
|
+
/* @__PURE__ */ jsx(
|
|
135
|
+
UnstyledButton,
|
|
136
|
+
{
|
|
137
|
+
ref: radioRef,
|
|
138
|
+
onClick,
|
|
139
|
+
onKeyDown: handleRadioKeyDown,
|
|
140
|
+
role: "radio",
|
|
141
|
+
"aria-checked": selected,
|
|
142
|
+
"aria-label": radioLabel,
|
|
143
|
+
tabIndex,
|
|
144
|
+
style: { flex: 1, minWidth: 0, textAlign: "left" },
|
|
145
|
+
children: mainContent
|
|
146
|
+
}
|
|
147
|
+
),
|
|
148
|
+
trailing
|
|
149
|
+
] })
|
|
150
|
+
}
|
|
151
|
+
);
|
|
152
|
+
}
|
|
153
|
+
return /* @__PURE__ */ jsx(Box, { "data-selected": selected || void 0, w: "100%", p: padding, style, children: /* @__PURE__ */ jsxs(Group, { justify: "space-between", align: alignment, wrap: "nowrap", gap: "xs", w: "100%", children: [
|
|
154
|
+
mainContent,
|
|
155
|
+
trailing
|
|
156
|
+
] }) });
|
|
157
|
+
}
|
|
158
|
+
export {
|
|
159
|
+
WalletListItem
|
|
160
|
+
};
|
|
161
|
+
//# sourceMappingURL=WalletListItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletListItem.js","sources":["../../../../src/components/specific/WalletListItem/WalletListItem.tsx"],"sourcesContent":["import { type KeyboardEvent, type ReactNode, useLayoutEffect, useRef, useState } from \"react\";\nimport { brandColors, colors, fairmintVars, neutralColors, radii } from \"../../../theme\";\nimport { truncateAddress } from \"../../../utils/address\";\nimport {\n getWalletDisplayName,\n getWalletIconColor,\n getWalletKindPill,\n type Wallet,\n} from \"../../../utils/wallets\";\nimport { Badge } from \"../../primitives/Badge/Badge\";\nimport { Box, Group, Stack, Text, ThemeIcon, UnstyledButton } from \"../../primitives/layout\";\n\nexport interface WalletListItemProps {\n /** Wallet data used to derive the name, kind badge, and address. */\n wallet: Wallet;\n /** Number of address characters shown on each side of the ellipsis in compact density. */\n addressChars?: number;\n /** Row density. Compact is intended for picker/dropdown options. */\n density?: \"comfortable\" | \"compact\";\n /** Applies the indigo outline selected treatment. */\n selected?: boolean;\n /** Content rendered at the trailing edge of the row. */\n rightSection?: ReactNode;\n /** Leading wallet visual. Apps provide the icon so the library stays icon-package agnostic. */\n walletIcon?: ReactNode;\n /** Optional override for wallet type labels. */\n typeLabels?: Record<string, string>;\n /** Makes the primary row content a selectable radio option when supplied. */\n onClick?: () => void;\n /**\n * Accessible name for a clickable row.\n * Defaults to `{displayName}, {address}` so unlabeled wallets stay distinguishable.\n */\n ariaLabel?: string;\n}\n\nfunction moveRadioSelection(current: HTMLElement, delta: number): void {\n const group = current.closest('[role=\"radiogroup\"]');\n if (!group) return;\n const radios = Array.from(group.querySelectorAll<HTMLElement>('[role=\"radio\"]'));\n const index = radios.indexOf(current);\n if (index < 0 || radios.length === 0) return;\n const next = radios[(index + delta + radios.length) % radios.length];\n next.focus();\n next.click();\n}\n\nfunction handleRadioKeyDown(event: KeyboardEvent<HTMLButtonElement>): void {\n switch (event.key) {\n case \"ArrowDown\":\n case \"ArrowRight\":\n event.preventDefault();\n moveRadioSelection(event.currentTarget, 1);\n break;\n case \"ArrowUp\":\n case \"ArrowLeft\":\n event.preventDefault();\n moveRadioSelection(event.currentTarget, -1);\n break;\n default:\n break;\n }\n}\n\nfunction radioTabIndex(radio: HTMLElement | null, selected: boolean): number {\n if (!radio) return 0;\n const group = radio.closest('[role=\"radiogroup\"]');\n if (!group) return 0;\n if (selected) return 0;\n const radios = Array.from(group.querySelectorAll<HTMLElement>('[role=\"radio\"]'));\n const anySelected = radios.some((item) => item.getAttribute(\"aria-checked\") === \"true\");\n if (!anySelected && radios[0] === radio) return 0;\n return -1;\n}\n\n/**\n * Reusable wallet display shell for lists, pickers, and read-only review rows.\n * Management actions such as rename, remove, and connect remain owned by the\n * composing flow.\n */\nexport function WalletListItem({\n wallet,\n addressChars = 6,\n density = \"comfortable\",\n selected = false,\n rightSection,\n walletIcon,\n typeLabels,\n onClick,\n ariaLabel,\n}: WalletListItemProps) {\n const isCompact = density === \"compact\";\n const displayName = getWalletDisplayName(wallet, typeLabels);\n const kindPill = getWalletKindPill(wallet.type, typeLabels);\n const displayAddress = isCompact ? truncateAddress(wallet.address, addressChars) : wallet.address;\n const padding = isCompact ? \"xs\" : \"md\";\n const alignment = isCompact ? \"center\" : \"flex-start\";\n const isClickable = Boolean(onClick);\n const radioRef = useRef<HTMLButtonElement>(null);\n const [tabIndex, setTabIndex] = useState(0);\n\n useLayoutEffect(() => {\n if (!isClickable) return;\n const radio = radioRef.current;\n if (!radio) return;\n\n const updateTabIndex = () => {\n setTabIndex(radioTabIndex(radio, selected));\n };\n updateTabIndex();\n\n const group = radio.closest('[role=\"radiogroup\"]');\n if (!group) return;\n\n const observer = new MutationObserver(updateTabIndex);\n observer.observe(group, {\n subtree: true,\n childList: true,\n attributes: true,\n attributeFilter: [\"aria-checked\", \"role\"],\n });\n return () => observer.disconnect();\n }, [isClickable, selected]);\n\n const mainContent = (\n <Group gap=\"sm\" align={alignment} wrap=\"nowrap\" style={{ flex: 1, minWidth: 0 }}>\n {walletIcon && (\n <ThemeIcon\n size={isCompact ? 32 : 40}\n radius=\"xl\"\n variant=\"light\"\n color={getWalletIconColor(wallet.type)}\n style={{ flexShrink: 0 }}\n >\n {walletIcon}\n </ThemeIcon>\n )}\n <Stack gap={isCompact ? 2 : 4} style={{ flex: 1, minWidth: 0 }}>\n <Group gap=\"xs\" align=\"center\" wrap=\"wrap\">\n <Text size=\"sm\" fw={600} style={{ wordBreak: \"break-word\" }}>\n {displayName}\n </Text>\n {wallet.defaultRecipient && (\n <Badge size=\"xs\" color={colors.warning} variant=\"light\" tt=\"uppercase\">\n Default\n </Badge>\n )}\n <Badge size=\"xs\" variant=\"light\" color={colors.neutral}>\n {kindPill}\n </Badge>\n </Group>\n <Text\n size=\"xs\"\n ff=\"monospace\"\n c={fairmintVars.colorTextSecondary}\n title={wallet.address}\n {...(isClickable\n ? { \"aria-hidden\": true }\n : { \"aria-label\": `Wallet address ${wallet.address}` })}\n style={{ overflowWrap: \"anywhere\" }}\n >\n {displayAddress}\n </Text>\n </Stack>\n </Group>\n );\n\n const trailing = rightSection ? <Box style={{ flexShrink: 0 }}>{rightSection}</Box> : null;\n\n const style = {\n borderRadius: radii.lg,\n border: selected\n ? `1px solid ${brandColors.indigo}`\n : isCompact\n ? \"1px solid transparent\"\n : `1px solid ${neutralColors[200]}`,\n } as const;\n\n const radioLabel = ariaLabel ?? `${displayName}, ${wallet.address}`;\n\n if (isClickable) {\n return (\n <Box\n data-selected={selected || undefined}\n className=\"fairmint-list-row\"\n w=\"100%\"\n p={padding}\n style={style}\n >\n <Group justify=\"space-between\" align={alignment} wrap=\"nowrap\" gap=\"xs\" w=\"100%\">\n <UnstyledButton\n ref={radioRef}\n onClick={onClick}\n onKeyDown={handleRadioKeyDown}\n role=\"radio\"\n aria-checked={selected}\n aria-label={radioLabel}\n tabIndex={tabIndex}\n style={{ flex: 1, minWidth: 0, textAlign: \"left\" }}\n >\n {mainContent}\n </UnstyledButton>\n {trailing}\n </Group>\n </Box>\n );\n }\n\n return (\n <Box data-selected={selected || undefined} w=\"100%\" p={padding} style={style}>\n <Group justify=\"space-between\" align={alignment} wrap=\"nowrap\" gap=\"xs\" w=\"100%\">\n {mainContent}\n {trailing}\n </Group>\n </Box>\n );\n}\n"],"names":[],"mappings":"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"}
|
package/dist/fairmint-ui.cjs
CHANGED
|
@@ -27,6 +27,7 @@ const DataRow = require("./components/generic/DataRow/DataRow.cjs");
|
|
|
27
27
|
const DataTable = require("./components/generic/DataTable/DataTable.cjs");
|
|
28
28
|
const DateDisplay = require("./components/generic/DateDisplay/DateDisplay.cjs");
|
|
29
29
|
const DetailDrawer = require("./components/generic/DetailDrawer/DetailDrawer.cjs");
|
|
30
|
+
const DocumentRow$1 = require("./components/generic/DocumentRow/DocumentRow.cjs");
|
|
30
31
|
const EditableSection = require("./components/generic/EditableSection/EditableSection.cjs");
|
|
31
32
|
const EmptyState = require("./components/generic/EmptyState/EmptyState.cjs");
|
|
32
33
|
const ErrorPage = require("./components/generic/ErrorPage/ErrorPage.cjs");
|
|
@@ -81,6 +82,7 @@ const EquityGrantCard = require("./components/specific/EquityGrantCard/EquityGra
|
|
|
81
82
|
const InvestmentCard = require("./components/specific/InvestmentCard/InvestmentCard.cjs");
|
|
82
83
|
const InvestorProfileCard = require("./components/specific/InvestorProfileCard/InvestorProfileCard.cjs");
|
|
83
84
|
const WalletList = require("./components/specific/WalletList/WalletList.cjs");
|
|
85
|
+
const WalletListItem = require("./components/specific/WalletListItem/WalletListItem.cjs");
|
|
84
86
|
const useDebouncedCallback = require("./hooks/useDebouncedCallback.cjs");
|
|
85
87
|
const useForm = require("./hooks/useForm.cjs");
|
|
86
88
|
const useIsMobile = require("./hooks/useIsMobile.cjs");
|
|
@@ -174,6 +176,7 @@ exports.StackedValue = DataRow.StackedValue;
|
|
|
174
176
|
exports.DataTable = DataTable.DataTable;
|
|
175
177
|
exports.DateDisplay = DateDisplay.DateDisplay;
|
|
176
178
|
exports.DetailDrawer = DetailDrawer.DetailDrawer;
|
|
179
|
+
exports.DocumentStatusRow = DocumentRow$1.DocumentStatusRow;
|
|
177
180
|
exports.EditableSection = EditableSection.EditableSection;
|
|
178
181
|
exports.EmptyState = EmptyState.EmptyState;
|
|
179
182
|
exports.ErrorPage = ErrorPage.ErrorPage;
|
|
@@ -437,11 +440,13 @@ exports.Tabs = Tabs.Tabs;
|
|
|
437
440
|
exports.Textarea = Textarea.Textarea;
|
|
438
441
|
exports.TextInput = TextInput.TextInput;
|
|
439
442
|
exports.Tooltip = Tooltip.Tooltip;
|
|
443
|
+
exports.DocumentListRow = DocumentRow.DocumentRow;
|
|
440
444
|
exports.DocumentRow = DocumentRow.DocumentRow;
|
|
441
445
|
exports.EquityGrantCard = EquityGrantCard.EquityGrantCard;
|
|
442
446
|
exports.InvestmentCard = InvestmentCard.InvestmentCard;
|
|
443
447
|
exports.InvestorProfileCard = InvestorProfileCard.InvestorProfileCard;
|
|
444
448
|
exports.WalletList = WalletList.WalletList;
|
|
449
|
+
exports.WalletListItem = WalletListItem.WalletListItem;
|
|
445
450
|
exports.useDebouncedCallback = useDebouncedCallback.useDebouncedCallback;
|
|
446
451
|
exports.useForm = useForm.useForm;
|
|
447
452
|
exports.MOBILE_BREAKPOINT = useIsMobile.MOBILE_BREAKPOINT;
|
|
@@ -481,6 +486,7 @@ exports.formatPercent = format.formatPercent;
|
|
|
481
486
|
exports.formatPreciseWithCurrency = format.formatPreciseWithCurrency;
|
|
482
487
|
exports.localeForCountry = format.localeForCountry;
|
|
483
488
|
exports.getWalletDisplayName = wallets.getWalletDisplayName;
|
|
489
|
+
exports.getWalletIconColor = wallets.getWalletIconColor;
|
|
484
490
|
exports.getWalletKindPill = wallets.getWalletKindPill;
|
|
485
491
|
exports.getWalletLabel = wallets.getWalletLabel;
|
|
486
492
|
exports.isRemovableWalletType = wallets.isRemovableWalletType;
|
package/dist/fairmint-ui.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fairmint-ui.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fairmint-ui.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/fairmint-ui.js
CHANGED
|
@@ -25,6 +25,7 @@ import { DataRow, RedactedValue, StackedValue } from "./components/generic/DataR
|
|
|
25
25
|
import { DataTable } from "./components/generic/DataTable/DataTable.js";
|
|
26
26
|
import { DateDisplay } from "./components/generic/DateDisplay/DateDisplay.js";
|
|
27
27
|
import { DetailDrawer } from "./components/generic/DetailDrawer/DetailDrawer.js";
|
|
28
|
+
import { DocumentStatusRow } from "./components/generic/DocumentRow/DocumentRow.js";
|
|
28
29
|
import { EditableSection } from "./components/generic/EditableSection/EditableSection.js";
|
|
29
30
|
import { EmptyState } from "./components/generic/EmptyState/EmptyState.js";
|
|
30
31
|
import { ErrorPage } from "./components/generic/ErrorPage/ErrorPage.js";
|
|
@@ -74,11 +75,12 @@ import { Tab, Tabs } from "./components/primitives/Tabs/Tabs.js";
|
|
|
74
75
|
import { Textarea } from "./components/primitives/Textarea/Textarea.js";
|
|
75
76
|
import { TextInput } from "./components/primitives/TextInput/TextInput.js";
|
|
76
77
|
import { Tooltip } from "./components/primitives/Tooltip/Tooltip.js";
|
|
77
|
-
import { DocumentRow } from "./components/specific/DocumentRow/DocumentRow.js";
|
|
78
|
+
import { DocumentRow, DocumentRow as DocumentRow2 } from "./components/specific/DocumentRow/DocumentRow.js";
|
|
78
79
|
import { EquityGrantCard } from "./components/specific/EquityGrantCard/EquityGrantCard.js";
|
|
79
80
|
import { InvestmentCard } from "./components/specific/InvestmentCard/InvestmentCard.js";
|
|
80
81
|
import { InvestorProfileCard } from "./components/specific/InvestorProfileCard/InvestorProfileCard.js";
|
|
81
82
|
import { WalletList } from "./components/specific/WalletList/WalletList.js";
|
|
83
|
+
import { WalletListItem } from "./components/specific/WalletListItem/WalletListItem.js";
|
|
82
84
|
import { useDebouncedCallback } from "./hooks/useDebouncedCallback.js";
|
|
83
85
|
import { useForm } from "./hooks/useForm.js";
|
|
84
86
|
import { MOBILE_BREAKPOINT, useIsMobile } from "./hooks/useIsMobile.js";
|
|
@@ -90,7 +92,7 @@ import { ETHEREUM_ADDRESS_REGEX, ZERO_ETHEREUM_ADDRESS, isEthereumAddress, trunc
|
|
|
90
92
|
import { getAvatarColor, getInitials } from "./utils/avatar.js";
|
|
91
93
|
import { getLogoFilter, isLightColor } from "./utils/color.js";
|
|
92
94
|
import { formatCurrency, formatCurrencyPrecise, formatDate, formatMonetary, formatNumber, formatPercent, formatPreciseWithCurrency, localeForCountry } from "./utils/format.js";
|
|
93
|
-
import { getWalletDisplayName, getWalletKindPill, getWalletLabel, isRemovableWalletType, isSystemWalletType, normalizeWalletType, walletKey } from "./utils/wallets.js";
|
|
95
|
+
import { getWalletDisplayName, getWalletIconColor, getWalletKindPill, getWalletLabel, isRemovableWalletType, isSystemWalletType, normalizeWalletType, walletKey } from "./utils/wallets.js";
|
|
94
96
|
/* empty css */
|
|
95
97
|
/* empty css */
|
|
96
98
|
import { AVATAR_PALETTE, colors } from "./theme/colors.js";
|
|
@@ -240,7 +242,9 @@ export {
|
|
|
240
242
|
DialogContent,
|
|
241
243
|
DialogTitle,
|
|
242
244
|
Divider,
|
|
243
|
-
DocumentRow,
|
|
245
|
+
DocumentRow as DocumentListRow,
|
|
246
|
+
DocumentRow2 as DocumentRow,
|
|
247
|
+
DocumentStatusRow,
|
|
244
248
|
DownloadIcon,
|
|
245
249
|
DrawOutlinedIcon,
|
|
246
250
|
Drawer,
|
|
@@ -445,6 +449,7 @@ export {
|
|
|
445
449
|
UsersIcon,
|
|
446
450
|
ValidationWarning,
|
|
447
451
|
WalletList,
|
|
452
|
+
WalletListItem,
|
|
448
453
|
WarningAmberIcon,
|
|
449
454
|
WorkspacePremiumOutlinedIcon,
|
|
450
455
|
YouTubeIcon,
|
|
@@ -483,6 +488,7 @@ export {
|
|
|
483
488
|
getInitials,
|
|
484
489
|
getLogoFilter,
|
|
485
490
|
getWalletDisplayName,
|
|
491
|
+
getWalletIconColor,
|
|
486
492
|
getWalletKindPill,
|
|
487
493
|
getWalletLabel,
|
|
488
494
|
inputLabelClasses,
|
package/dist/fairmint-ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fairmint-ui.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fairmint-ui.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -54,6 +54,8 @@ export type { DateDisplayProps } from './components/generic/DateDisplay/DateDisp
|
|
|
54
54
|
export { DateDisplay } from './components/generic/DateDisplay/DateDisplay';
|
|
55
55
|
export type { DetailDrawerProps } from './components/generic/DetailDrawer/DetailDrawer';
|
|
56
56
|
export { DetailDrawer } from './components/generic/DetailDrawer/DetailDrawer';
|
|
57
|
+
export type { DocumentStatusRowProps, DocumentStatusRowStatus, } from './components/generic/DocumentRow/DocumentRow';
|
|
58
|
+
export { DocumentStatusRow } from './components/generic/DocumentRow/DocumentRow';
|
|
57
59
|
export type { EditableSectionProps } from './components/generic/EditableSection/EditableSection';
|
|
58
60
|
export { EditableSection } from './components/generic/EditableSection/EditableSection';
|
|
59
61
|
export type { EmptyStateProps } from './components/generic/EmptyState/EmptyState';
|
|
@@ -126,8 +128,8 @@ export { Tab, Tabs } from './components/primitives/Tabs/Tabs';
|
|
|
126
128
|
export { Textarea, type TextareaProps } from './components/primitives/Textarea/Textarea';
|
|
127
129
|
export { TextInput } from './components/primitives/TextInput/TextInput';
|
|
128
130
|
export { Tooltip } from './components/primitives/Tooltip/Tooltip';
|
|
129
|
-
export type { DocumentRowProps } from './components/specific/DocumentRow/DocumentRow';
|
|
130
|
-
export { DocumentRow } from './components/specific/DocumentRow/DocumentRow';
|
|
131
|
+
export type { DocumentRowProps, DocumentRowProps as DocumentListRowProps, } from './components/specific/DocumentRow/DocumentRow';
|
|
132
|
+
export { DocumentRow, DocumentRow as DocumentListRow, } from './components/specific/DocumentRow/DocumentRow';
|
|
131
133
|
export type { EquityGrantCardProps } from './components/specific/EquityGrantCard/EquityGrantCard';
|
|
132
134
|
export { EquityGrantCard } from './components/specific/EquityGrantCard/EquityGrantCard';
|
|
133
135
|
export type { EquityRibbonChartProps, FairmintRibbonMarkProps, RibbonBackground, RibbonGradientStop, RibbonLayout, } from './components/specific/EquityRibbonChart';
|
|
@@ -136,8 +138,10 @@ export type { InvestmentCardProps } from './components/specific/InvestmentCard/I
|
|
|
136
138
|
export { InvestmentCard } from './components/specific/InvestmentCard/InvestmentCard';
|
|
137
139
|
export type { InvestorProfileCardProps } from './components/specific/InvestorProfileCard/InvestorProfileCard';
|
|
138
140
|
export { InvestorProfileCard } from './components/specific/InvestorProfileCard/InvestorProfileCard';
|
|
139
|
-
export type {
|
|
141
|
+
export type { WalletListProps } from './components/specific/WalletList/WalletList';
|
|
140
142
|
export { WalletList } from './components/specific/WalletList/WalletList';
|
|
143
|
+
export type { WalletListItemProps } from './components/specific/WalletListItem/WalletListItem';
|
|
144
|
+
export { WalletListItem } from './components/specific/WalletListItem/WalletListItem';
|
|
141
145
|
export { useDebouncedCallback } from './hooks/useDebouncedCallback';
|
|
142
146
|
export { useForm } from './hooks/useForm';
|
|
143
147
|
export { MOBILE_BREAKPOINT, useIsMobile } from './hooks/useIsMobile';
|
|
@@ -151,5 +155,6 @@ export { getAvatarColor, getInitials } from './utils/avatar';
|
|
|
151
155
|
export { getLogoFilter, isLightColor } from './utils/color';
|
|
152
156
|
export type { FormatMonetaryOptions, MonetaryLike } from './utils/format';
|
|
153
157
|
export { formatCurrency, formatCurrencyPrecise, formatDate, formatMonetary, formatNumber, formatPercent, formatPreciseWithCurrency, localeForCountry, } from './utils/format';
|
|
154
|
-
export {
|
|
158
|
+
export type { Wallet } from './utils/wallets';
|
|
159
|
+
export { getWalletDisplayName, getWalletIconColor, getWalletKindPill, getWalletLabel, isRemovableWalletType, isSystemWalletType, normalizeWalletType, walletKey, } from './utils/wallets';
|
|
155
160
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/styles.css
CHANGED
|
@@ -9178,7 +9178,8 @@ fieldset:disabled .m_38aeed47:where(:not([data-inverted])),
|
|
|
9178
9178
|
background-color: var(--fairmint-interactive-hover-bg, #f8f9fa);
|
|
9179
9179
|
}
|
|
9180
9180
|
|
|
9181
|
-
.fairmint-list-row:focus-visible
|
|
9181
|
+
.fairmint-list-row:focus-visible,
|
|
9182
|
+
.fairmint-list-row:has(:focus-visible) {
|
|
9182
9183
|
outline: 2px solid var(--fairmint-interactive-focus-ring, #6366f1);
|
|
9183
9184
|
outline-offset: -2px;
|
|
9184
9185
|
}
|