@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.
Files changed (32) hide show
  1. package/dist/components/generic/DocumentRow/DocumentRow.cjs +297 -0
  2. package/dist/components/generic/DocumentRow/DocumentRow.cjs.map +1 -0
  3. package/dist/components/generic/DocumentRow/DocumentRow.d.ts +49 -0
  4. package/dist/components/generic/DocumentRow/DocumentRow.d.ts.map +1 -0
  5. package/dist/components/generic/DocumentRow/DocumentRow.js +297 -0
  6. package/dist/components/generic/DocumentRow/DocumentRow.js.map +1 -0
  7. package/dist/components/specific/WalletList/WalletList.cjs +129 -141
  8. package/dist/components/specific/WalletList/WalletList.cjs.map +1 -1
  9. package/dist/components/specific/WalletList/WalletList.d.ts +2 -10
  10. package/dist/components/specific/WalletList/WalletList.d.ts.map +1 -1
  11. package/dist/components/specific/WalletList/WalletList.js +131 -143
  12. package/dist/components/specific/WalletList/WalletList.js.map +1 -1
  13. package/dist/components/specific/WalletListItem/WalletListItem.cjs +161 -0
  14. package/dist/components/specific/WalletListItem/WalletListItem.cjs.map +1 -0
  15. package/dist/components/specific/WalletListItem/WalletListItem.d.ts +32 -0
  16. package/dist/components/specific/WalletListItem/WalletListItem.d.ts.map +1 -0
  17. package/dist/components/specific/WalletListItem/WalletListItem.js +161 -0
  18. package/dist/components/specific/WalletListItem/WalletListItem.js.map +1 -0
  19. package/dist/fairmint-ui.cjs +6 -0
  20. package/dist/fairmint-ui.cjs.map +1 -1
  21. package/dist/fairmint-ui.js +9 -3
  22. package/dist/fairmint-ui.js.map +1 -1
  23. package/dist/index.d.ts +9 -4
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/styles.css +2 -1
  26. package/dist/utils/wallets.cjs +18 -2
  27. package/dist/utils/wallets.cjs.map +1 -1
  28. package/dist/utils/wallets.d.ts +13 -0
  29. package/dist/utils/wallets.d.ts.map +1 -1
  30. package/dist/utils/wallets.js +18 -2
  31. package/dist/utils/wallets.js.map +1 -1
  32. 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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"}
@@ -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;
@@ -1 +1 @@
1
- {"version":3,"file":"fairmint-ui.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"fairmint-ui.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -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,
@@ -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 { Wallet, WalletListProps } from './components/specific/WalletList/WalletList';
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 { getWalletDisplayName, getWalletKindPill, getWalletLabel, isRemovableWalletType, isSystemWalletType, normalizeWalletType, walletKey, } from './utils/wallets';
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
@@ -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
  }