@fairmint/ui 0.3.1 → 0.3.2

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.
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
- const _commonjsHelpers = require("./_commonjsHelpers.cjs");
3
- const index = require("../node_modules/fast-deep-equal/index.cjs");
4
- var fastDeepEqualExports = index.__require();
5
- const isEqual = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(fastDeepEqualExports);
6
- module.exports = isEqual;
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ var propTypes = { exports: {} };
4
+ exports.__module = propTypes;
7
5
  //# sourceMappingURL=index3.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index3.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
1
+ {"version":3,"file":"index3.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,8 +1,5 @@
1
- import { getDefaultExportFromCjs } from "./_commonjsHelpers.js";
2
- import { __require as requireFastDeepEqual } from "../node_modules/fast-deep-equal/index.js";
3
- var fastDeepEqualExports = requireFastDeepEqual();
4
- const isEqual = /* @__PURE__ */ getDefaultExportFromCjs(fastDeepEqualExports);
1
+ var propTypes = { exports: {} };
5
2
  export {
6
- isEqual as default
3
+ propTypes as __module
7
4
  };
8
5
  //# sourceMappingURL=index3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"index3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- var propTypes = { exports: {} };
4
- exports.__module = propTypes;
2
+ const _commonjsHelpers = require("./_commonjsHelpers.cjs");
3
+ const index = require("../node_modules/fast-deep-equal/index.cjs");
4
+ var fastDeepEqualExports = index.__require();
5
+ const isEqual = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(fastDeepEqualExports);
6
+ module.exports = isEqual;
5
7
  //# sourceMappingURL=index4.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index4.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"index4.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,5 +1,8 @@
1
- var propTypes = { exports: {} };
1
+ import { getDefaultExportFromCjs } from "./_commonjsHelpers.js";
2
+ import { __require as requireFastDeepEqual } from "../node_modules/fast-deep-equal/index.js";
3
+ var fastDeepEqualExports = requireFastDeepEqual();
4
+ const isEqual = /* @__PURE__ */ getDefaultExportFromCjs(fastDeepEqualExports);
2
5
  export {
3
- propTypes as __module
6
+ isEqual as default
4
7
  };
5
8
  //# sourceMappingURL=index4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index4.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index4.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,297 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const index = require("../../../theme/index.cjs");
5
+ const colors = require("../../../theme/colors.cjs");
6
+ const Loader = require("../../primitives/Loader/Loader.cjs");
7
+ const layout = require("../../primitives/layout.cjs");
8
+ const Group = require("../../../node_modules/@mantine/core/esm/components/Group/Group.cjs");
9
+ const Text = require("../../../node_modules/@mantine/core/esm/components/Text/Text.cjs");
10
+ const UnstyledButton = require("../../../node_modules/@mantine/core/esm/components/UnstyledButton/UnstyledButton.cjs");
11
+ const ThemeIcon = require("../../../node_modules/@mantine/core/esm/components/ThemeIcon/ThemeIcon.cjs");
12
+ function DefaultFileIcon() {
13
+ return /* @__PURE__ */ jsxRuntime.jsxs(
14
+ "svg",
15
+ {
16
+ "aria-hidden": "true",
17
+ width: "14",
18
+ height: "14",
19
+ viewBox: "0 0 24 24",
20
+ fill: "none",
21
+ stroke: "currentColor",
22
+ strokeWidth: "1.75",
23
+ strokeLinecap: "round",
24
+ strokeLinejoin: "round",
25
+ children: [
26
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z" }),
27
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M14 2v6h6" })
28
+ ]
29
+ }
30
+ );
31
+ }
32
+ function DefaultCheckIcon() {
33
+ return /* @__PURE__ */ jsxRuntime.jsx(
34
+ "svg",
35
+ {
36
+ "aria-hidden": "true",
37
+ width: "12",
38
+ height: "12",
39
+ viewBox: "0 0 24 24",
40
+ fill: "none",
41
+ stroke: "currentColor",
42
+ strokeWidth: "2.5",
43
+ strokeLinecap: "round",
44
+ strokeLinejoin: "round",
45
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M20 6 9 17l-5-5" })
46
+ }
47
+ );
48
+ }
49
+ function DefaultClockIcon() {
50
+ return /* @__PURE__ */ jsxRuntime.jsxs(
51
+ "svg",
52
+ {
53
+ "aria-hidden": "true",
54
+ width: "14",
55
+ height: "14",
56
+ viewBox: "0 0 24 24",
57
+ fill: "none",
58
+ stroke: "currentColor",
59
+ strokeWidth: "1.75",
60
+ strokeLinecap: "round",
61
+ strokeLinejoin: "round",
62
+ children: [
63
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10" }),
64
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 6v6l4 2" })
65
+ ]
66
+ }
67
+ );
68
+ }
69
+ function DefaultAlertIcon() {
70
+ return /* @__PURE__ */ jsxRuntime.jsxs(
71
+ "svg",
72
+ {
73
+ "aria-hidden": "true",
74
+ width: "12",
75
+ height: "12",
76
+ viewBox: "0 0 24 24",
77
+ fill: "none",
78
+ stroke: "currentColor",
79
+ strokeWidth: "2",
80
+ strokeLinecap: "round",
81
+ strokeLinejoin: "round",
82
+ children: [
83
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3" }),
84
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 9v4" }),
85
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 17h.01" })
86
+ ]
87
+ }
88
+ );
89
+ }
90
+ function statusIconColor(status) {
91
+ switch (status) {
92
+ case "complete":
93
+ return colors.colors.success;
94
+ case "attention":
95
+ return colors.colors.warning;
96
+ case "error":
97
+ return colors.colors.error;
98
+ case "uploading":
99
+ case "processing":
100
+ return colors.colors.primary;
101
+ default:
102
+ return colors.colors.neutral;
103
+ }
104
+ }
105
+ function statusLabelColor(status, selected) {
106
+ if (selected) return index.semanticColors.info;
107
+ switch (status) {
108
+ case "complete":
109
+ return index.semanticColors.success;
110
+ case "attention":
111
+ return index.semanticColors.warning;
112
+ case "error":
113
+ return index.semanticColors.error;
114
+ case "uploading":
115
+ case "processing":
116
+ return index.brandColors.indigo;
117
+ default:
118
+ return index.neutralColors[500];
119
+ }
120
+ }
121
+ function DefaultStatusIcon({ status }) {
122
+ if (status === "uploading" || status === "processing") {
123
+ return /* @__PURE__ */ jsxRuntime.jsx(Loader.Loader, { size: 14, color: colors.colors.primary, "aria-hidden": true });
124
+ }
125
+ if (status === "complete") {
126
+ return /* @__PURE__ */ jsxRuntime.jsx(ThemeIcon.ThemeIcon, { size: 20, radius: "xl", variant: "light", color: colors.colors.success, "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx(DefaultCheckIcon, {}) });
127
+ }
128
+ if (status === "attention") {
129
+ return /* @__PURE__ */ jsxRuntime.jsx(ThemeIcon.ThemeIcon, { size: 20, radius: "xl", variant: "light", color: colors.colors.warning, "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx(DefaultAlertIcon, {}) });
130
+ }
131
+ if (status === "error") {
132
+ return /* @__PURE__ */ jsxRuntime.jsx(ThemeIcon.ThemeIcon, { size: 20, radius: "xl", variant: "light", color: colors.colors.error, "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx(DefaultAlertIcon, {}) });
133
+ }
134
+ if (status === "queued") {
135
+ return /* @__PURE__ */ jsxRuntime.jsx(layout.Box, { c: index.neutralColors[400], style: { display: "flex", flexShrink: 0 }, "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx(DefaultClockIcon, {}) });
136
+ }
137
+ return /* @__PURE__ */ jsxRuntime.jsx(ThemeIcon.ThemeIcon, { size: 20, radius: "md", variant: "light", color: statusIconColor(status), "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx(DefaultFileIcon, {}) });
138
+ }
139
+ function ProcessingLabelStyles() {
140
+ return /* @__PURE__ */ jsxRuntime.jsx("style", { children: `
141
+ .document-row-status--live {
142
+ display: inline-block;
143
+ background-image: linear-gradient(90deg, ${index.brandColors.indigo}, ${index.brandColors.purple}, ${index.brandColors.indigo});
144
+ background-size: 200% auto;
145
+ -webkit-background-clip: text;
146
+ background-clip: text;
147
+ color: transparent;
148
+ font-weight: 500;
149
+ animation: gradientFlow 2.2s linear infinite;
150
+ }
151
+ @media (prefers-reduced-motion: reduce) {
152
+ .document-row-status--live {
153
+ animation: none;
154
+ background-image: none;
155
+ color: ${index.neutralColors[600]};
156
+ }
157
+ }
158
+ ` });
159
+ }
160
+ function DocumentStatusRow({
161
+ fileName,
162
+ status,
163
+ statusLabel,
164
+ description,
165
+ icon,
166
+ selected = false,
167
+ onClick,
168
+ actions,
169
+ detail,
170
+ disabled = false,
171
+ ariaLabel
172
+ }) {
173
+ const hasActivationTarget = Boolean(onClick);
174
+ const isClickable = hasActivationTarget && !disabled;
175
+ const isLive = status === "uploading" || status === "processing";
176
+ const borderColor = selected ? index.semanticColors.info : status === "error" ? `${index.semanticColors.error}55` : status === "attention" ? `${index.semanticColors.warning}66` : index.neutralColors[200];
177
+ const background = selected ? `${index.semanticColors.info}0a` : status === "error" ? `${index.semanticColors.error}08` : void 0;
178
+ const resolvedAriaLabel = ariaLabel ?? `${fileName}. ${statusLabel}`;
179
+ const statusAnnouncement = `${fileName}: ${statusLabel}`;
180
+ const hasDescription = description != null && description !== "";
181
+ const rowAlign = hasDescription ? "flex-start" : "center";
182
+ const activate = () => {
183
+ if (!isClickable) return;
184
+ onClick?.();
185
+ };
186
+ const primaryContent = /* @__PURE__ */ jsxRuntime.jsxs(Group.Group, { gap: "sm", wrap: "nowrap", align: rowAlign, style: { minWidth: 0, flex: 1 }, miw: 0, children: [
187
+ /* @__PURE__ */ jsxRuntime.jsx(layout.Box, { style: { flexShrink: 0, display: "flex", alignItems: "center" }, children: icon ?? /* @__PURE__ */ jsxRuntime.jsx(DefaultStatusIcon, { status }) }),
188
+ /* @__PURE__ */ jsxRuntime.jsxs(layout.Stack, { gap: 2, style: { minWidth: 0, flex: 1 }, miw: 0, children: [
189
+ /* @__PURE__ */ jsxRuntime.jsx(
190
+ Text.Text,
191
+ {
192
+ size: "sm",
193
+ fw: 500,
194
+ c: index.neutralColors[900],
195
+ lineClamp: 1,
196
+ title: fileName,
197
+ style: { minWidth: 0 },
198
+ children: fileName
199
+ }
200
+ ),
201
+ hasDescription ? typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Text.Text, { size: "xs", c: index.neutralColors[500], lineClamp: 2, style: { minWidth: 0 }, children: description }) : description : null
202
+ ] })
203
+ ] });
204
+ const statusAndActions = /* @__PURE__ */ jsxRuntime.jsxs(Group.Group, { gap: "xs", wrap: "nowrap", style: { flexShrink: 0 }, children: [
205
+ isLive ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
206
+ /* @__PURE__ */ jsxRuntime.jsx(
207
+ Text.Text,
208
+ {
209
+ size: "xs",
210
+ className: "document-row-status--live",
211
+ role: "status",
212
+ "aria-label": statusAnnouncement,
213
+ style: { whiteSpace: "nowrap" },
214
+ children: statusLabel
215
+ }
216
+ ),
217
+ /* @__PURE__ */ jsxRuntime.jsx(ProcessingLabelStyles, {})
218
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx(
219
+ Text.Text,
220
+ {
221
+ size: "xs",
222
+ fw: selected ? 500 : 400,
223
+ c: statusLabelColor(status, selected),
224
+ role: "status",
225
+ "aria-label": statusAnnouncement,
226
+ style: { whiteSpace: "nowrap" },
227
+ children: statusLabel
228
+ }
229
+ ),
230
+ actions
231
+ ] });
232
+ return /* @__PURE__ */ jsxRuntime.jsxs(
233
+ layout.Box,
234
+ {
235
+ "data-testid": "document-row",
236
+ "data-status": status,
237
+ "data-selected": selected || void 0,
238
+ "data-disabled": disabled || void 0,
239
+ className: "document-row",
240
+ w: "100%",
241
+ miw: 0,
242
+ style: {
243
+ borderRadius: 10,
244
+ border: `1px solid ${borderColor}`,
245
+ background: background ?? "transparent",
246
+ opacity: disabled ? 0.6 : 1,
247
+ transition: "border-color 0.18s ease, background-color 0.18s ease"
248
+ },
249
+ children: [
250
+ /* @__PURE__ */ jsxRuntime.jsxs(
251
+ Group.Group,
252
+ {
253
+ justify: "space-between",
254
+ wrap: "nowrap",
255
+ gap: "sm",
256
+ px: "sm",
257
+ py: 8,
258
+ align: rowAlign,
259
+ style: { minWidth: 0 },
260
+ children: [
261
+ hasActivationTarget ? /* @__PURE__ */ jsxRuntime.jsx(
262
+ UnstyledButton.UnstyledButton,
263
+ {
264
+ onClick: activate,
265
+ disabled,
266
+ "aria-label": resolvedAriaLabel,
267
+ "aria-expanded": selected,
268
+ style: {
269
+ cursor: disabled ? "not-allowed" : "pointer",
270
+ minWidth: 0,
271
+ flex: 1,
272
+ textAlign: "left"
273
+ },
274
+ children: primaryContent
275
+ }
276
+ ) : primaryContent,
277
+ statusAndActions
278
+ ]
279
+ }
280
+ ),
281
+ detail != null ? /* @__PURE__ */ jsxRuntime.jsx(
282
+ layout.Box,
283
+ {
284
+ px: "sm",
285
+ pb: "sm",
286
+ pt: 0,
287
+ onClick: (event) => event.stopPropagation(),
288
+ onKeyDown: (event) => event.stopPropagation(),
289
+ children: detail
290
+ }
291
+ ) : null
292
+ ]
293
+ }
294
+ );
295
+ }
296
+ exports.DocumentStatusRow = DocumentStatusRow;
297
+ //# sourceMappingURL=DocumentRow.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentRow.cjs","sources":["../../../../src/components/generic/DocumentRow/DocumentRow.tsx"],"sourcesContent":["import type { ReactNode, SyntheticEvent } from \"react\";\nimport { brandColors, neutralColors, semanticColors } from \"../../../theme\";\nimport { colors } from \"../../../theme/colors\";\nimport { Loader } from \"../../primitives/Loader/Loader\";\nimport { Box, Group, Stack, Text, ThemeIcon, UnstyledButton } from \"../../primitives/layout\";\n\n/** Visual processing vocabulary for a source document after selection. */\nexport type DocumentStatusRowStatus =\n | \"staged\"\n | \"uploading\"\n | \"queued\"\n | \"processing\"\n | \"complete\"\n | \"attention\"\n | \"error\";\n\nexport interface DocumentStatusRowProps {\n /** Source document filename. */\n fileName: string;\n /**\n * Neutral visual state. Product meaning (classified, approved, needs review)\n * belongs in `statusLabel`, not in this enum.\n */\n status: DocumentStatusRowStatus;\n /**\n * Caller-supplied status word or short phrase. Required so status is never\n * communicated by color or animation alone.\n */\n statusLabel: string;\n /** Optional secondary description or metadata beneath the filename. */\n description?: ReactNode;\n /** Leading icon override. Defaults to a status-appropriate glyph. */\n icon?: ReactNode;\n /** Open / disclosed appearance (independent of `status`). Exposed as `aria-expanded` when `onClick` is set. @default false */\n selected?: boolean;\n /** Makes the primary row activatable (mouse + keyboard). */\n onClick?: () => void;\n /**\n * Trailing actions (remove, retry, download, open). Rendered outside the\n * clickable hit target so action clicks do not also activate the row.\n */\n actions?: ReactNode;\n /** Optional detail content beneath the primary row. */\n detail?: ReactNode;\n /** Softens chrome and, with `onClick`, renders a disabled button that blocks activation. @default false */\n disabled?: boolean;\n /** Accessible name when `onClick` is set. Defaults to fileName + statusLabel. */\n ariaLabel?: string;\n}\n\nfunction DefaultFileIcon() {\n return (\n <svg\n aria-hidden=\"true\"\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.75\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z\" />\n <path d=\"M14 2v6h6\" />\n </svg>\n );\n}\n\nfunction DefaultCheckIcon() {\n return (\n <svg\n aria-hidden=\"true\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M20 6 9 17l-5-5\" />\n </svg>\n );\n}\n\nfunction DefaultClockIcon() {\n return (\n <svg\n aria-hidden=\"true\"\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.75\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M12 6v6l4 2\" />\n </svg>\n );\n}\n\nfunction DefaultAlertIcon() {\n return (\n <svg\n aria-hidden=\"true\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\" />\n <path d=\"M12 9v4\" />\n <path d=\"M12 17h.01\" />\n </svg>\n );\n}\n\nfunction statusIconColor(status: DocumentStatusRowStatus): string {\n switch (status) {\n case \"complete\":\n return colors.success;\n case \"attention\":\n return colors.warning;\n case \"error\":\n return colors.error;\n case \"uploading\":\n case \"processing\":\n return colors.primary;\n default:\n return colors.neutral;\n }\n}\n\nfunction statusLabelColor(status: DocumentStatusRowStatus, selected: boolean): string {\n if (selected) return semanticColors.info;\n switch (status) {\n case \"complete\":\n return semanticColors.success;\n case \"attention\":\n return semanticColors.warning;\n case \"error\":\n return semanticColors.error;\n case \"uploading\":\n case \"processing\":\n return brandColors.indigo;\n default:\n return neutralColors[500];\n }\n}\n\nfunction DefaultStatusIcon({ status }: { status: DocumentStatusRowStatus }) {\n if (status === \"uploading\" || status === \"processing\") {\n return <Loader size={14} color={colors.primary} aria-hidden />;\n }\n if (status === \"complete\") {\n return (\n <ThemeIcon size={20} radius=\"xl\" variant=\"light\" color={colors.success} aria-hidden>\n <DefaultCheckIcon />\n </ThemeIcon>\n );\n }\n if (status === \"attention\") {\n return (\n <ThemeIcon size={20} radius=\"xl\" variant=\"light\" color={colors.warning} aria-hidden>\n <DefaultAlertIcon />\n </ThemeIcon>\n );\n }\n if (status === \"error\") {\n return (\n <ThemeIcon size={20} radius=\"xl\" variant=\"light\" color={colors.error} aria-hidden>\n <DefaultAlertIcon />\n </ThemeIcon>\n );\n }\n if (status === \"queued\") {\n return (\n <Box c={neutralColors[400]} style={{ display: \"flex\", flexShrink: 0 }} aria-hidden>\n <DefaultClockIcon />\n </Box>\n );\n }\n return (\n <ThemeIcon size={20} radius=\"md\" variant=\"light\" color={statusIconColor(status)} aria-hidden>\n <DefaultFileIcon />\n </ThemeIcon>\n );\n}\n\nfunction ProcessingLabelStyles() {\n return (\n <style>{`\n .document-row-status--live {\n display: inline-block;\n background-image: linear-gradient(90deg, ${brandColors.indigo}, ${brandColors.purple}, ${brandColors.indigo});\n background-size: 200% auto;\n -webkit-background-clip: text;\n background-clip: text;\n color: transparent;\n font-weight: 500;\n animation: gradientFlow 2.2s linear infinite;\n }\n @media (prefers-reduced-motion: reduce) {\n .document-row-status--live {\n animation: none;\n background-image: none;\n color: ${neutralColors[600]};\n }\n }\n `}</style>\n );\n}\n\n/**\n * Neutral source-document row for upload → process → settle flows.\n *\n * Owns visual state and accessibility for one uploaded file. Does not own OCR,\n * classification, extraction, approval, polling, or product retry logic — the\n * caller supplies `statusLabel`, actions, and meaning.\n *\n * Layout: a single row with minimal separation. Do not wrap lists of these in\n * an extra card/panel unless the app owns that composition (e.g. a processing\n * container pattern).\n */\nexport function DocumentStatusRow({\n fileName,\n status,\n statusLabel,\n description,\n icon,\n selected = false,\n onClick,\n actions,\n detail,\n disabled = false,\n ariaLabel,\n}: DocumentStatusRowProps) {\n const hasActivationTarget = Boolean(onClick);\n const isClickable = hasActivationTarget && !disabled;\n const isLive = status === \"uploading\" || status === \"processing\";\n const borderColor = selected\n ? semanticColors.info\n : status === \"error\"\n ? `${semanticColors.error}55`\n : status === \"attention\"\n ? `${semanticColors.warning}66`\n : neutralColors[200];\n const background = selected\n ? `${semanticColors.info}0a`\n : status === \"error\"\n ? `${semanticColors.error}08`\n : undefined;\n const resolvedAriaLabel = ariaLabel ?? `${fileName}. ${statusLabel}`;\n /** Accessible status announcement includes filename so lists of rows stay distinct. */\n const statusAnnouncement = `${fileName}: ${statusLabel}`;\n const hasDescription = description != null && description !== \"\";\n /** Single-line rows center icon/title/actions; multi-line keeps icon top-aligned with the title. */\n const rowAlign = hasDescription ? \"flex-start\" : \"center\";\n\n const activate = () => {\n if (!isClickable) return;\n onClick?.();\n };\n\n const primaryContent = (\n <Group gap=\"sm\" wrap=\"nowrap\" align={rowAlign} style={{ minWidth: 0, flex: 1 }} miw={0}>\n <Box style={{ flexShrink: 0, display: \"flex\", alignItems: \"center\" }}>\n {icon ?? <DefaultStatusIcon status={status} />}\n </Box>\n <Stack gap={2} style={{ minWidth: 0, flex: 1 }} miw={0}>\n <Text\n size=\"sm\"\n fw={500}\n c={neutralColors[900]}\n lineClamp={1}\n title={fileName}\n style={{ minWidth: 0 }}\n >\n {fileName}\n </Text>\n {hasDescription ? (\n typeof description === \"string\" ? (\n <Text size=\"xs\" c={neutralColors[500]} lineClamp={2} style={{ minWidth: 0 }}>\n {description}\n </Text>\n ) : (\n description\n )\n ) : null}\n </Stack>\n </Group>\n );\n\n const statusAndActions = (\n <Group gap=\"xs\" wrap=\"nowrap\" style={{ flexShrink: 0 }}>\n {isLive ? (\n <>\n <Text\n size=\"xs\"\n className=\"document-row-status--live\"\n role=\"status\"\n aria-label={statusAnnouncement}\n style={{ whiteSpace: \"nowrap\" }}\n >\n {statusLabel}\n </Text>\n <ProcessingLabelStyles />\n </>\n ) : (\n <Text\n size=\"xs\"\n fw={selected ? 500 : 400}\n c={statusLabelColor(status, selected)}\n role=\"status\"\n aria-label={statusAnnouncement}\n style={{ whiteSpace: \"nowrap\" }}\n >\n {statusLabel}\n </Text>\n )}\n {actions}\n </Group>\n );\n\n return (\n <Box\n data-testid=\"document-row\"\n data-status={status}\n data-selected={selected || undefined}\n data-disabled={disabled || undefined}\n className=\"document-row\"\n w=\"100%\"\n miw={0}\n style={{\n borderRadius: 10,\n border: `1px solid ${borderColor}`,\n background: background ?? \"transparent\",\n opacity: disabled ? 0.6 : 1,\n transition: \"border-color 0.18s ease, background-color 0.18s ease\",\n }}\n >\n <Group\n justify=\"space-between\"\n wrap=\"nowrap\"\n gap=\"sm\"\n px=\"sm\"\n py={8}\n align={rowAlign}\n style={{ minWidth: 0 }}\n >\n {hasActivationTarget ? (\n <UnstyledButton\n onClick={activate}\n disabled={disabled}\n aria-label={resolvedAriaLabel}\n aria-expanded={selected}\n style={{\n cursor: disabled ? \"not-allowed\" : \"pointer\",\n minWidth: 0,\n flex: 1,\n textAlign: \"left\",\n }}\n >\n {primaryContent}\n </UnstyledButton>\n ) : (\n primaryContent\n )}\n {statusAndActions}\n </Group>\n\n {detail != null ? (\n <Box\n px=\"sm\"\n pb=\"sm\"\n pt={0}\n onClick={(event: SyntheticEvent) => event.stopPropagation()}\n onKeyDown={(event: SyntheticEvent) => event.stopPropagation()}\n >\n {detail}\n </Box>\n ) : null}\n </Box>\n );\n}\n"],"names":["jsxs","jsx","colors","semanticColors","brandColors","neutralColors","Loader","ThemeIcon","Box","Group","Stack","Text","Fragment","UnstyledButton"],"mappings":";;;;;;;;;;;AAkDA,SAAS,kBAAkB;AACzB,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,eAAY;AAAA,MACZ,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,QAAO;AAAA,MACP,aAAY;AAAA,MACZ,eAAc;AAAA,MACd,gBAAe;AAAA,MAEf,UAAA;AAAA,QAAAC,2BAAAA,IAAC,QAAA,EAAK,GAAE,6DAAA,CAA6D;AAAA,QACrEA,2BAAAA,IAAC,QAAA,EAAK,GAAE,YAAA,CAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG1B;AAEA,SAAS,mBAAmB;AAC1B,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,eAAY;AAAA,MACZ,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,QAAO;AAAA,MACP,aAAY;AAAA,MACZ,eAAc;AAAA,MACd,gBAAe;AAAA,MAEf,UAAAA,2BAAAA,IAAC,QAAA,EAAK,GAAE,kBAAA,CAAkB;AAAA,IAAA;AAAA,EAAA;AAGhC;AAEA,SAAS,mBAAmB;AAC1B,SACED,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,eAAY;AAAA,MACZ,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,QAAO;AAAA,MACP,aAAY;AAAA,MACZ,eAAc;AAAA,MACd,gBAAe;AAAA,MAEf,UAAA;AAAA,QAAAC,+BAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,MAAK;AAAA,QAC/BA,2BAAAA,IAAC,QAAA,EAAK,GAAE,cAAA,CAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG5B;AAEA,SAAS,mBAAmB;AAC1B,SACED,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,eAAY;AAAA,MACZ,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,QAAO;AAAA,MACP,aAAY;AAAA,MACZ,eAAc;AAAA,MACd,gBAAe;AAAA,MAEf,UAAA;AAAA,QAAAC,2BAAAA,IAAC,QAAA,EAAK,GAAE,2EAAA,CAA2E;AAAA,QACnFA,2BAAAA,IAAC,QAAA,EAAK,GAAE,UAAA,CAAU;AAAA,QAClBA,2BAAAA,IAAC,QAAA,EAAK,GAAE,aAAA,CAAa;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG3B;AAEA,SAAS,gBAAgB,QAAyC;AAChE,UAAQ,QAAA;AAAA,IACN,KAAK;AACH,aAAOC,OAAAA,OAAO;AAAA,IAChB,KAAK;AACH,aAAOA,OAAAA,OAAO;AAAA,IAChB,KAAK;AACH,aAAOA,OAAAA,OAAO;AAAA,IAChB,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,OAAAA,OAAO;AAAA,IAChB;AACE,aAAOA,OAAAA,OAAO;AAAA,EAAA;AAEpB;AAEA,SAAS,iBAAiB,QAAiC,UAA2B;AACpF,MAAI,iBAAiBC,MAAAA,eAAe;AACpC,UAAQ,QAAA;AAAA,IACN,KAAK;AACH,aAAOA,MAAAA,eAAe;AAAA,IACxB,KAAK;AACH,aAAOA,MAAAA,eAAe;AAAA,IACxB,KAAK;AACH,aAAOA,MAAAA,eAAe;AAAA,IACxB,KAAK;AAAA,IACL,KAAK;AACH,aAAOC,MAAAA,YAAY;AAAA,IACrB;AACE,aAAOC,MAAAA,cAAc,GAAG;AAAA,EAAA;AAE9B;AAEA,SAAS,kBAAkB,EAAE,UAA+C;AAC1E,MAAI,WAAW,eAAe,WAAW,cAAc;AACrD,WAAOJ,+BAACK,OAAAA,UAAO,MAAM,IAAI,OAAOJ,OAAAA,OAAO,SAAS,eAAW,MAAC;AAAA,EAC9D;AACA,MAAI,WAAW,YAAY;AACzB,WACED,2BAAAA,IAACM,UAAAA,WAAA,EAAU,MAAM,IAAI,QAAO,MAAK,SAAQ,SAAQ,OAAOL,cAAO,SAAS,eAAW,MACjF,UAAAD,+BAAC,oBAAiB,GACpB;AAAA,EAEJ;AACA,MAAI,WAAW,aAAa;AAC1B,WACEA,2BAAAA,IAACM,UAAAA,WAAA,EAAU,MAAM,IAAI,QAAO,MAAK,SAAQ,SAAQ,OAAOL,cAAO,SAAS,eAAW,MACjF,UAAAD,+BAAC,oBAAiB,GACpB;AAAA,EAEJ;AACA,MAAI,WAAW,SAAS;AACtB,WACEA,2BAAAA,IAACM,UAAAA,WAAA,EAAU,MAAM,IAAI,QAAO,MAAK,SAAQ,SAAQ,OAAOL,cAAO,OAAO,eAAW,MAC/E,UAAAD,+BAAC,oBAAiB,GACpB;AAAA,EAEJ;AACA,MAAI,WAAW,UAAU;AACvB,0CACGO,OAAAA,KAAA,EAAI,GAAGH,MAAAA,cAAc,GAAG,GAAG,OAAO,EAAE,SAAS,QAAQ,YAAY,EAAA,GAAK,eAAW,MAChF,UAAAJ,+BAAC,oBAAiB,GACpB;AAAA,EAEJ;AACA,wCACGM,UAAAA,WAAA,EAAU,MAAM,IAAI,QAAO,MAAK,SAAQ,SAAQ,OAAO,gBAAgB,MAAM,GAAG,eAAW,MAC1F,UAAAN,+BAAC,mBAAgB,GACnB;AAEJ;AAEA,SAAS,wBAAwB;AAC/B,wCACG,SAAA,EAAO,UAAA;AAAA;AAAA;AAAA,mDAGuCG,MAAAA,YAAY,MAAM,KAAKA,MAAAA,YAAY,MAAM,KAAKA,MAAAA,YAAY,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAYhGC,MAAAA,cAAc,GAAG,CAAC;AAAA;AAAA;AAAA,OAG/B;AAEN;AAaO,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AACF,GAA2B;AACzB,QAAM,sBAAsB,QAAQ,OAAO;AAC3C,QAAM,cAAc,uBAAuB,CAAC;AAC5C,QAAM,SAAS,WAAW,eAAe,WAAW;AACpD,QAAM,cAAc,WAChBF,qBAAe,OACf,WAAW,UACT,GAAGA,MAAAA,eAAe,KAAK,OACvB,WAAW,cACT,GAAGA,MAAAA,eAAe,OAAO,OACzBE,MAAAA,cAAc,GAAG;AACzB,QAAM,aAAa,WACf,GAAGF,MAAAA,eAAe,IAAI,OACtB,WAAW,UACT,GAAGA,MAAAA,eAAe,KAAK,OACvB;AACN,QAAM,oBAAoB,aAAa,GAAG,QAAQ,KAAK,WAAW;AAElE,QAAM,qBAAqB,GAAG,QAAQ,KAAK,WAAW;AACtD,QAAM,iBAAiB,eAAe,QAAQ,gBAAgB;AAE9D,QAAM,WAAW,iBAAiB,eAAe;AAEjD,QAAM,WAAW,MAAM;AACrB,QAAI,CAAC,YAAa;AAClB,cAAA;AAAA,EACF;AAEA,QAAM,iBACJH,2BAAAA,KAACS,aAAA,EAAM,KAAI,MAAK,MAAK,UAAS,OAAO,UAAU,OAAO,EAAE,UAAU,GAAG,MAAM,KAAK,KAAK,GACnF,UAAA;AAAA,IAAAR,2BAAAA,IAACO,OAAAA,KAAA,EAAI,OAAO,EAAE,YAAY,GAAG,SAAS,QAAQ,YAAY,SAAA,GACvD,UAAA,QAAQP,2BAAAA,IAAC,mBAAA,EAAkB,QAAgB,GAC9C;AAAA,IACAD,2BAAAA,KAACU,OAAAA,OAAA,EAAM,KAAK,GAAG,OAAO,EAAE,UAAU,GAAG,MAAM,EAAA,GAAK,KAAK,GACnD,UAAA;AAAA,MAAAT,2BAAAA;AAAAA,QAACU,KAAAA;AAAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,IAAI;AAAA,UACJ,GAAGN,MAAAA,cAAc,GAAG;AAAA,UACpB,WAAW;AAAA,UACX,OAAO;AAAA,UACP,OAAO,EAAE,UAAU,EAAA;AAAA,UAElB,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,MAEF,iBACC,OAAO,gBAAgB,0CACpBM,WAAA,EAAK,MAAK,MAAK,GAAGN,oBAAc,GAAG,GAAG,WAAW,GAAG,OAAO,EAAE,UAAU,EAAA,GACrE,UAAA,aACH,IAEA,cAEA;AAAA,IAAA,EAAA,CACN;AAAA,EAAA,GACF;AAGF,QAAM,mBACJL,2BAAAA,KAACS,aAAA,EAAM,KAAI,MAAK,MAAK,UAAS,OAAO,EAAE,YAAY,EAAA,GAChD,UAAA;AAAA,IAAA,SACCT,2BAAAA,KAAAY,qBAAA,EACE,UAAA;AAAA,MAAAX,2BAAAA;AAAAA,QAACU,KAAAA;AAAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,WAAU;AAAA,UACV,MAAK;AAAA,UACL,cAAY;AAAA,UACZ,OAAO,EAAE,YAAY,SAAA;AAAA,UAEpB,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,qCAEF,uBAAA,CAAA,CAAsB;AAAA,IAAA,EAAA,CACzB,IAEAV,2BAAAA;AAAAA,MAACU,KAAAA;AAAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,IAAI,WAAW,MAAM;AAAA,QACrB,GAAG,iBAAiB,QAAQ,QAAQ;AAAA,QACpC,MAAK;AAAA,QACL,cAAY;AAAA,QACZ,OAAO,EAAE,YAAY,SAAA;AAAA,QAEpB,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAGJ;AAAA,EAAA,GACH;AAGF,SACEX,2BAAAA;AAAAA,IAACQ,OAAAA;AAAAA,IAAA;AAAA,MACC,eAAY;AAAA,MACZ,eAAa;AAAA,MACb,iBAAe,YAAY;AAAA,MAC3B,iBAAe,YAAY;AAAA,MAC3B,WAAU;AAAA,MACV,GAAE;AAAA,MACF,KAAK;AAAA,MACL,OAAO;AAAA,QACL,cAAc;AAAA,QACd,QAAQ,aAAa,WAAW;AAAA,QAChC,YAAY,cAAc;AAAA,QAC1B,SAAS,WAAW,MAAM;AAAA,QAC1B,YAAY;AAAA,MAAA;AAAA,MAGd,UAAA;AAAA,QAAAR,2BAAAA;AAAAA,UAACS,MAAAA;AAAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,KAAI;AAAA,YACJ,IAAG;AAAA,YACH,IAAI;AAAA,YACJ,OAAO;AAAA,YACP,OAAO,EAAE,UAAU,EAAA;AAAA,YAElB,UAAA;AAAA,cAAA,sBACCR,2BAAAA;AAAAA,gBAACY,eAAAA;AAAAA,gBAAA;AAAA,kBACC,SAAS;AAAA,kBACT;AAAA,kBACA,cAAY;AAAA,kBACZ,iBAAe;AAAA,kBACf,OAAO;AAAA,oBACL,QAAQ,WAAW,gBAAgB;AAAA,oBACnC,UAAU;AAAA,oBACV,MAAM;AAAA,oBACN,WAAW;AAAA,kBAAA;AAAA,kBAGZ,UAAA;AAAA,gBAAA;AAAA,cAAA,IAGH;AAAA,cAED;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAGF,UAAU,OACTZ,2BAAAA;AAAAA,UAACO,OAAAA;AAAAA,UAAA;AAAA,YACC,IAAG;AAAA,YACH,IAAG;AAAA,YACH,IAAI;AAAA,YACJ,SAAS,CAAC,UAA0B,MAAM,gBAAA;AAAA,YAC1C,WAAW,CAAC,UAA0B,MAAM,gBAAA;AAAA,YAE3C,UAAA;AAAA,UAAA;AAAA,QAAA,IAED;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGV;;"}
@@ -0,0 +1,49 @@
1
+ import { ReactNode } from 'react';
2
+ /** Visual processing vocabulary for a source document after selection. */
3
+ export type DocumentStatusRowStatus = "staged" | "uploading" | "queued" | "processing" | "complete" | "attention" | "error";
4
+ export interface DocumentStatusRowProps {
5
+ /** Source document filename. */
6
+ fileName: string;
7
+ /**
8
+ * Neutral visual state. Product meaning (classified, approved, needs review)
9
+ * belongs in `statusLabel`, not in this enum.
10
+ */
11
+ status: DocumentStatusRowStatus;
12
+ /**
13
+ * Caller-supplied status word or short phrase. Required so status is never
14
+ * communicated by color or animation alone.
15
+ */
16
+ statusLabel: string;
17
+ /** Optional secondary description or metadata beneath the filename. */
18
+ description?: ReactNode;
19
+ /** Leading icon override. Defaults to a status-appropriate glyph. */
20
+ icon?: ReactNode;
21
+ /** Open / disclosed appearance (independent of `status`). Exposed as `aria-expanded` when `onClick` is set. @default false */
22
+ selected?: boolean;
23
+ /** Makes the primary row activatable (mouse + keyboard). */
24
+ onClick?: () => void;
25
+ /**
26
+ * Trailing actions (remove, retry, download, open). Rendered outside the
27
+ * clickable hit target so action clicks do not also activate the row.
28
+ */
29
+ actions?: ReactNode;
30
+ /** Optional detail content beneath the primary row. */
31
+ detail?: ReactNode;
32
+ /** Softens chrome and, with `onClick`, renders a disabled button that blocks activation. @default false */
33
+ disabled?: boolean;
34
+ /** Accessible name when `onClick` is set. Defaults to fileName + statusLabel. */
35
+ ariaLabel?: string;
36
+ }
37
+ /**
38
+ * Neutral source-document row for upload → process → settle flows.
39
+ *
40
+ * Owns visual state and accessibility for one uploaded file. Does not own OCR,
41
+ * classification, extraction, approval, polling, or product retry logic — the
42
+ * caller supplies `statusLabel`, actions, and meaning.
43
+ *
44
+ * Layout: a single row with minimal separation. Do not wrap lists of these in
45
+ * an extra card/panel unless the app owns that composition (e.g. a processing
46
+ * container pattern).
47
+ */
48
+ export declare function DocumentStatusRow({ fileName, status, statusLabel, description, icon, selected, onClick, actions, detail, disabled, ariaLabel, }: DocumentStatusRowProps): import("react/jsx-runtime").JSX.Element;
49
+ //# sourceMappingURL=DocumentRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentRow.d.ts","sourceRoot":"","sources":["../../../../src/components/generic/DocumentRow/DocumentRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,OAAO,CAAC;AAMvD,0EAA0E;AAC1E,MAAM,MAAM,uBAAuB,GAC/B,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,WAAW,GACX,OAAO,CAAC;AAEZ,MAAM,WAAW,sBAAsB;IACrC,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,MAAM,EAAE,uBAAuB,CAAC;IAChC;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,qEAAqE;IACrE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,8HAA8H;IAC9H,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,uDAAuD;IACvD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,2GAA2G;IAC3G,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA8KD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,MAAM,EACN,WAAW,EACX,WAAW,EACX,IAAI,EACJ,QAAgB,EAChB,OAAO,EACP,OAAO,EACP,MAAM,EACN,QAAgB,EAChB,SAAS,GACV,EAAE,sBAAsB,2CAoJxB"}
@@ -0,0 +1,297 @@
1
+ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
+ import { semanticColors, neutralColors, brandColors } from "../../../theme/index.js";
3
+ import { colors } from "../../../theme/colors.js";
4
+ import { Loader } from "../../primitives/Loader/Loader.js";
5
+ import { Box, Stack } from "../../primitives/layout.js";
6
+ import { Group } from "../../../node_modules/@mantine/core/esm/components/Group/Group.js";
7
+ import { Text } from "../../../node_modules/@mantine/core/esm/components/Text/Text.js";
8
+ import { UnstyledButton } from "../../../node_modules/@mantine/core/esm/components/UnstyledButton/UnstyledButton.js";
9
+ import { ThemeIcon } from "../../../node_modules/@mantine/core/esm/components/ThemeIcon/ThemeIcon.js";
10
+ function DefaultFileIcon() {
11
+ return /* @__PURE__ */ jsxs(
12
+ "svg",
13
+ {
14
+ "aria-hidden": "true",
15
+ width: "14",
16
+ height: "14",
17
+ viewBox: "0 0 24 24",
18
+ fill: "none",
19
+ stroke: "currentColor",
20
+ strokeWidth: "1.75",
21
+ strokeLinecap: "round",
22
+ strokeLinejoin: "round",
23
+ children: [
24
+ /* @__PURE__ */ jsx("path", { d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z" }),
25
+ /* @__PURE__ */ jsx("path", { d: "M14 2v6h6" })
26
+ ]
27
+ }
28
+ );
29
+ }
30
+ function DefaultCheckIcon() {
31
+ return /* @__PURE__ */ jsx(
32
+ "svg",
33
+ {
34
+ "aria-hidden": "true",
35
+ width: "12",
36
+ height: "12",
37
+ viewBox: "0 0 24 24",
38
+ fill: "none",
39
+ stroke: "currentColor",
40
+ strokeWidth: "2.5",
41
+ strokeLinecap: "round",
42
+ strokeLinejoin: "round",
43
+ children: /* @__PURE__ */ jsx("path", { d: "M20 6 9 17l-5-5" })
44
+ }
45
+ );
46
+ }
47
+ function DefaultClockIcon() {
48
+ return /* @__PURE__ */ jsxs(
49
+ "svg",
50
+ {
51
+ "aria-hidden": "true",
52
+ width: "14",
53
+ height: "14",
54
+ viewBox: "0 0 24 24",
55
+ fill: "none",
56
+ stroke: "currentColor",
57
+ strokeWidth: "1.75",
58
+ strokeLinecap: "round",
59
+ strokeLinejoin: "round",
60
+ children: [
61
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }),
62
+ /* @__PURE__ */ jsx("path", { d: "M12 6v6l4 2" })
63
+ ]
64
+ }
65
+ );
66
+ }
67
+ function DefaultAlertIcon() {
68
+ return /* @__PURE__ */ jsxs(
69
+ "svg",
70
+ {
71
+ "aria-hidden": "true",
72
+ width: "12",
73
+ height: "12",
74
+ viewBox: "0 0 24 24",
75
+ fill: "none",
76
+ stroke: "currentColor",
77
+ strokeWidth: "2",
78
+ strokeLinecap: "round",
79
+ strokeLinejoin: "round",
80
+ children: [
81
+ /* @__PURE__ */ jsx("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3" }),
82
+ /* @__PURE__ */ jsx("path", { d: "M12 9v4" }),
83
+ /* @__PURE__ */ jsx("path", { d: "M12 17h.01" })
84
+ ]
85
+ }
86
+ );
87
+ }
88
+ function statusIconColor(status) {
89
+ switch (status) {
90
+ case "complete":
91
+ return colors.success;
92
+ case "attention":
93
+ return colors.warning;
94
+ case "error":
95
+ return colors.error;
96
+ case "uploading":
97
+ case "processing":
98
+ return colors.primary;
99
+ default:
100
+ return colors.neutral;
101
+ }
102
+ }
103
+ function statusLabelColor(status, selected) {
104
+ if (selected) return semanticColors.info;
105
+ switch (status) {
106
+ case "complete":
107
+ return semanticColors.success;
108
+ case "attention":
109
+ return semanticColors.warning;
110
+ case "error":
111
+ return semanticColors.error;
112
+ case "uploading":
113
+ case "processing":
114
+ return brandColors.indigo;
115
+ default:
116
+ return neutralColors[500];
117
+ }
118
+ }
119
+ function DefaultStatusIcon({ status }) {
120
+ if (status === "uploading" || status === "processing") {
121
+ return /* @__PURE__ */ jsx(Loader, { size: 14, color: colors.primary, "aria-hidden": true });
122
+ }
123
+ if (status === "complete") {
124
+ return /* @__PURE__ */ jsx(ThemeIcon, { size: 20, radius: "xl", variant: "light", color: colors.success, "aria-hidden": true, children: /* @__PURE__ */ jsx(DefaultCheckIcon, {}) });
125
+ }
126
+ if (status === "attention") {
127
+ return /* @__PURE__ */ jsx(ThemeIcon, { size: 20, radius: "xl", variant: "light", color: colors.warning, "aria-hidden": true, children: /* @__PURE__ */ jsx(DefaultAlertIcon, {}) });
128
+ }
129
+ if (status === "error") {
130
+ return /* @__PURE__ */ jsx(ThemeIcon, { size: 20, radius: "xl", variant: "light", color: colors.error, "aria-hidden": true, children: /* @__PURE__ */ jsx(DefaultAlertIcon, {}) });
131
+ }
132
+ if (status === "queued") {
133
+ return /* @__PURE__ */ jsx(Box, { c: neutralColors[400], style: { display: "flex", flexShrink: 0 }, "aria-hidden": true, children: /* @__PURE__ */ jsx(DefaultClockIcon, {}) });
134
+ }
135
+ return /* @__PURE__ */ jsx(ThemeIcon, { size: 20, radius: "md", variant: "light", color: statusIconColor(status), "aria-hidden": true, children: /* @__PURE__ */ jsx(DefaultFileIcon, {}) });
136
+ }
137
+ function ProcessingLabelStyles() {
138
+ return /* @__PURE__ */ jsx("style", { children: `
139
+ .document-row-status--live {
140
+ display: inline-block;
141
+ background-image: linear-gradient(90deg, ${brandColors.indigo}, ${brandColors.purple}, ${brandColors.indigo});
142
+ background-size: 200% auto;
143
+ -webkit-background-clip: text;
144
+ background-clip: text;
145
+ color: transparent;
146
+ font-weight: 500;
147
+ animation: gradientFlow 2.2s linear infinite;
148
+ }
149
+ @media (prefers-reduced-motion: reduce) {
150
+ .document-row-status--live {
151
+ animation: none;
152
+ background-image: none;
153
+ color: ${neutralColors[600]};
154
+ }
155
+ }
156
+ ` });
157
+ }
158
+ function DocumentStatusRow({
159
+ fileName,
160
+ status,
161
+ statusLabel,
162
+ description,
163
+ icon,
164
+ selected = false,
165
+ onClick,
166
+ actions,
167
+ detail,
168
+ disabled = false,
169
+ ariaLabel
170
+ }) {
171
+ const hasActivationTarget = Boolean(onClick);
172
+ const isClickable = hasActivationTarget && !disabled;
173
+ const isLive = status === "uploading" || status === "processing";
174
+ const borderColor = selected ? semanticColors.info : status === "error" ? `${semanticColors.error}55` : status === "attention" ? `${semanticColors.warning}66` : neutralColors[200];
175
+ const background = selected ? `${semanticColors.info}0a` : status === "error" ? `${semanticColors.error}08` : void 0;
176
+ const resolvedAriaLabel = ariaLabel ?? `${fileName}. ${statusLabel}`;
177
+ const statusAnnouncement = `${fileName}: ${statusLabel}`;
178
+ const hasDescription = description != null && description !== "";
179
+ const rowAlign = hasDescription ? "flex-start" : "center";
180
+ const activate = () => {
181
+ if (!isClickable) return;
182
+ onClick?.();
183
+ };
184
+ const primaryContent = /* @__PURE__ */ jsxs(Group, { gap: "sm", wrap: "nowrap", align: rowAlign, style: { minWidth: 0, flex: 1 }, miw: 0, children: [
185
+ /* @__PURE__ */ jsx(Box, { style: { flexShrink: 0, display: "flex", alignItems: "center" }, children: icon ?? /* @__PURE__ */ jsx(DefaultStatusIcon, { status }) }),
186
+ /* @__PURE__ */ jsxs(Stack, { gap: 2, style: { minWidth: 0, flex: 1 }, miw: 0, children: [
187
+ /* @__PURE__ */ jsx(
188
+ Text,
189
+ {
190
+ size: "sm",
191
+ fw: 500,
192
+ c: neutralColors[900],
193
+ lineClamp: 1,
194
+ title: fileName,
195
+ style: { minWidth: 0 },
196
+ children: fileName
197
+ }
198
+ ),
199
+ hasDescription ? typeof description === "string" ? /* @__PURE__ */ jsx(Text, { size: "xs", c: neutralColors[500], lineClamp: 2, style: { minWidth: 0 }, children: description }) : description : null
200
+ ] })
201
+ ] });
202
+ const statusAndActions = /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "nowrap", style: { flexShrink: 0 }, children: [
203
+ isLive ? /* @__PURE__ */ jsxs(Fragment, { children: [
204
+ /* @__PURE__ */ jsx(
205
+ Text,
206
+ {
207
+ size: "xs",
208
+ className: "document-row-status--live",
209
+ role: "status",
210
+ "aria-label": statusAnnouncement,
211
+ style: { whiteSpace: "nowrap" },
212
+ children: statusLabel
213
+ }
214
+ ),
215
+ /* @__PURE__ */ jsx(ProcessingLabelStyles, {})
216
+ ] }) : /* @__PURE__ */ jsx(
217
+ Text,
218
+ {
219
+ size: "xs",
220
+ fw: selected ? 500 : 400,
221
+ c: statusLabelColor(status, selected),
222
+ role: "status",
223
+ "aria-label": statusAnnouncement,
224
+ style: { whiteSpace: "nowrap" },
225
+ children: statusLabel
226
+ }
227
+ ),
228
+ actions
229
+ ] });
230
+ return /* @__PURE__ */ jsxs(
231
+ Box,
232
+ {
233
+ "data-testid": "document-row",
234
+ "data-status": status,
235
+ "data-selected": selected || void 0,
236
+ "data-disabled": disabled || void 0,
237
+ className: "document-row",
238
+ w: "100%",
239
+ miw: 0,
240
+ style: {
241
+ borderRadius: 10,
242
+ border: `1px solid ${borderColor}`,
243
+ background: background ?? "transparent",
244
+ opacity: disabled ? 0.6 : 1,
245
+ transition: "border-color 0.18s ease, background-color 0.18s ease"
246
+ },
247
+ children: [
248
+ /* @__PURE__ */ jsxs(
249
+ Group,
250
+ {
251
+ justify: "space-between",
252
+ wrap: "nowrap",
253
+ gap: "sm",
254
+ px: "sm",
255
+ py: 8,
256
+ align: rowAlign,
257
+ style: { minWidth: 0 },
258
+ children: [
259
+ hasActivationTarget ? /* @__PURE__ */ jsx(
260
+ UnstyledButton,
261
+ {
262
+ onClick: activate,
263
+ disabled,
264
+ "aria-label": resolvedAriaLabel,
265
+ "aria-expanded": selected,
266
+ style: {
267
+ cursor: disabled ? "not-allowed" : "pointer",
268
+ minWidth: 0,
269
+ flex: 1,
270
+ textAlign: "left"
271
+ },
272
+ children: primaryContent
273
+ }
274
+ ) : primaryContent,
275
+ statusAndActions
276
+ ]
277
+ }
278
+ ),
279
+ detail != null ? /* @__PURE__ */ jsx(
280
+ Box,
281
+ {
282
+ px: "sm",
283
+ pb: "sm",
284
+ pt: 0,
285
+ onClick: (event) => event.stopPropagation(),
286
+ onKeyDown: (event) => event.stopPropagation(),
287
+ children: detail
288
+ }
289
+ ) : null
290
+ ]
291
+ }
292
+ );
293
+ }
294
+ export {
295
+ DocumentStatusRow
296
+ };
297
+ //# sourceMappingURL=DocumentRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentRow.js","sources":["../../../../src/components/generic/DocumentRow/DocumentRow.tsx"],"sourcesContent":["import type { ReactNode, SyntheticEvent } from \"react\";\nimport { brandColors, neutralColors, semanticColors } from \"../../../theme\";\nimport { colors } from \"../../../theme/colors\";\nimport { Loader } from \"../../primitives/Loader/Loader\";\nimport { Box, Group, Stack, Text, ThemeIcon, UnstyledButton } from \"../../primitives/layout\";\n\n/** Visual processing vocabulary for a source document after selection. */\nexport type DocumentStatusRowStatus =\n | \"staged\"\n | \"uploading\"\n | \"queued\"\n | \"processing\"\n | \"complete\"\n | \"attention\"\n | \"error\";\n\nexport interface DocumentStatusRowProps {\n /** Source document filename. */\n fileName: string;\n /**\n * Neutral visual state. Product meaning (classified, approved, needs review)\n * belongs in `statusLabel`, not in this enum.\n */\n status: DocumentStatusRowStatus;\n /**\n * Caller-supplied status word or short phrase. Required so status is never\n * communicated by color or animation alone.\n */\n statusLabel: string;\n /** Optional secondary description or metadata beneath the filename. */\n description?: ReactNode;\n /** Leading icon override. Defaults to a status-appropriate glyph. */\n icon?: ReactNode;\n /** Open / disclosed appearance (independent of `status`). Exposed as `aria-expanded` when `onClick` is set. @default false */\n selected?: boolean;\n /** Makes the primary row activatable (mouse + keyboard). */\n onClick?: () => void;\n /**\n * Trailing actions (remove, retry, download, open). Rendered outside the\n * clickable hit target so action clicks do not also activate the row.\n */\n actions?: ReactNode;\n /** Optional detail content beneath the primary row. */\n detail?: ReactNode;\n /** Softens chrome and, with `onClick`, renders a disabled button that blocks activation. @default false */\n disabled?: boolean;\n /** Accessible name when `onClick` is set. Defaults to fileName + statusLabel. */\n ariaLabel?: string;\n}\n\nfunction DefaultFileIcon() {\n return (\n <svg\n aria-hidden=\"true\"\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.75\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z\" />\n <path d=\"M14 2v6h6\" />\n </svg>\n );\n}\n\nfunction DefaultCheckIcon() {\n return (\n <svg\n aria-hidden=\"true\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M20 6 9 17l-5-5\" />\n </svg>\n );\n}\n\nfunction DefaultClockIcon() {\n return (\n <svg\n aria-hidden=\"true\"\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.75\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M12 6v6l4 2\" />\n </svg>\n );\n}\n\nfunction DefaultAlertIcon() {\n return (\n <svg\n aria-hidden=\"true\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\" />\n <path d=\"M12 9v4\" />\n <path d=\"M12 17h.01\" />\n </svg>\n );\n}\n\nfunction statusIconColor(status: DocumentStatusRowStatus): string {\n switch (status) {\n case \"complete\":\n return colors.success;\n case \"attention\":\n return colors.warning;\n case \"error\":\n return colors.error;\n case \"uploading\":\n case \"processing\":\n return colors.primary;\n default:\n return colors.neutral;\n }\n}\n\nfunction statusLabelColor(status: DocumentStatusRowStatus, selected: boolean): string {\n if (selected) return semanticColors.info;\n switch (status) {\n case \"complete\":\n return semanticColors.success;\n case \"attention\":\n return semanticColors.warning;\n case \"error\":\n return semanticColors.error;\n case \"uploading\":\n case \"processing\":\n return brandColors.indigo;\n default:\n return neutralColors[500];\n }\n}\n\nfunction DefaultStatusIcon({ status }: { status: DocumentStatusRowStatus }) {\n if (status === \"uploading\" || status === \"processing\") {\n return <Loader size={14} color={colors.primary} aria-hidden />;\n }\n if (status === \"complete\") {\n return (\n <ThemeIcon size={20} radius=\"xl\" variant=\"light\" color={colors.success} aria-hidden>\n <DefaultCheckIcon />\n </ThemeIcon>\n );\n }\n if (status === \"attention\") {\n return (\n <ThemeIcon size={20} radius=\"xl\" variant=\"light\" color={colors.warning} aria-hidden>\n <DefaultAlertIcon />\n </ThemeIcon>\n );\n }\n if (status === \"error\") {\n return (\n <ThemeIcon size={20} radius=\"xl\" variant=\"light\" color={colors.error} aria-hidden>\n <DefaultAlertIcon />\n </ThemeIcon>\n );\n }\n if (status === \"queued\") {\n return (\n <Box c={neutralColors[400]} style={{ display: \"flex\", flexShrink: 0 }} aria-hidden>\n <DefaultClockIcon />\n </Box>\n );\n }\n return (\n <ThemeIcon size={20} radius=\"md\" variant=\"light\" color={statusIconColor(status)} aria-hidden>\n <DefaultFileIcon />\n </ThemeIcon>\n );\n}\n\nfunction ProcessingLabelStyles() {\n return (\n <style>{`\n .document-row-status--live {\n display: inline-block;\n background-image: linear-gradient(90deg, ${brandColors.indigo}, ${brandColors.purple}, ${brandColors.indigo});\n background-size: 200% auto;\n -webkit-background-clip: text;\n background-clip: text;\n color: transparent;\n font-weight: 500;\n animation: gradientFlow 2.2s linear infinite;\n }\n @media (prefers-reduced-motion: reduce) {\n .document-row-status--live {\n animation: none;\n background-image: none;\n color: ${neutralColors[600]};\n }\n }\n `}</style>\n );\n}\n\n/**\n * Neutral source-document row for upload → process → settle flows.\n *\n * Owns visual state and accessibility for one uploaded file. Does not own OCR,\n * classification, extraction, approval, polling, or product retry logic — the\n * caller supplies `statusLabel`, actions, and meaning.\n *\n * Layout: a single row with minimal separation. Do not wrap lists of these in\n * an extra card/panel unless the app owns that composition (e.g. a processing\n * container pattern).\n */\nexport function DocumentStatusRow({\n fileName,\n status,\n statusLabel,\n description,\n icon,\n selected = false,\n onClick,\n actions,\n detail,\n disabled = false,\n ariaLabel,\n}: DocumentStatusRowProps) {\n const hasActivationTarget = Boolean(onClick);\n const isClickable = hasActivationTarget && !disabled;\n const isLive = status === \"uploading\" || status === \"processing\";\n const borderColor = selected\n ? semanticColors.info\n : status === \"error\"\n ? `${semanticColors.error}55`\n : status === \"attention\"\n ? `${semanticColors.warning}66`\n : neutralColors[200];\n const background = selected\n ? `${semanticColors.info}0a`\n : status === \"error\"\n ? `${semanticColors.error}08`\n : undefined;\n const resolvedAriaLabel = ariaLabel ?? `${fileName}. ${statusLabel}`;\n /** Accessible status announcement includes filename so lists of rows stay distinct. */\n const statusAnnouncement = `${fileName}: ${statusLabel}`;\n const hasDescription = description != null && description !== \"\";\n /** Single-line rows center icon/title/actions; multi-line keeps icon top-aligned with the title. */\n const rowAlign = hasDescription ? \"flex-start\" : \"center\";\n\n const activate = () => {\n if (!isClickable) return;\n onClick?.();\n };\n\n const primaryContent = (\n <Group gap=\"sm\" wrap=\"nowrap\" align={rowAlign} style={{ minWidth: 0, flex: 1 }} miw={0}>\n <Box style={{ flexShrink: 0, display: \"flex\", alignItems: \"center\" }}>\n {icon ?? <DefaultStatusIcon status={status} />}\n </Box>\n <Stack gap={2} style={{ minWidth: 0, flex: 1 }} miw={0}>\n <Text\n size=\"sm\"\n fw={500}\n c={neutralColors[900]}\n lineClamp={1}\n title={fileName}\n style={{ minWidth: 0 }}\n >\n {fileName}\n </Text>\n {hasDescription ? (\n typeof description === \"string\" ? (\n <Text size=\"xs\" c={neutralColors[500]} lineClamp={2} style={{ minWidth: 0 }}>\n {description}\n </Text>\n ) : (\n description\n )\n ) : null}\n </Stack>\n </Group>\n );\n\n const statusAndActions = (\n <Group gap=\"xs\" wrap=\"nowrap\" style={{ flexShrink: 0 }}>\n {isLive ? (\n <>\n <Text\n size=\"xs\"\n className=\"document-row-status--live\"\n role=\"status\"\n aria-label={statusAnnouncement}\n style={{ whiteSpace: \"nowrap\" }}\n >\n {statusLabel}\n </Text>\n <ProcessingLabelStyles />\n </>\n ) : (\n <Text\n size=\"xs\"\n fw={selected ? 500 : 400}\n c={statusLabelColor(status, selected)}\n role=\"status\"\n aria-label={statusAnnouncement}\n style={{ whiteSpace: \"nowrap\" }}\n >\n {statusLabel}\n </Text>\n )}\n {actions}\n </Group>\n );\n\n return (\n <Box\n data-testid=\"document-row\"\n data-status={status}\n data-selected={selected || undefined}\n data-disabled={disabled || undefined}\n className=\"document-row\"\n w=\"100%\"\n miw={0}\n style={{\n borderRadius: 10,\n border: `1px solid ${borderColor}`,\n background: background ?? \"transparent\",\n opacity: disabled ? 0.6 : 1,\n transition: \"border-color 0.18s ease, background-color 0.18s ease\",\n }}\n >\n <Group\n justify=\"space-between\"\n wrap=\"nowrap\"\n gap=\"sm\"\n px=\"sm\"\n py={8}\n align={rowAlign}\n style={{ minWidth: 0 }}\n >\n {hasActivationTarget ? (\n <UnstyledButton\n onClick={activate}\n disabled={disabled}\n aria-label={resolvedAriaLabel}\n aria-expanded={selected}\n style={{\n cursor: disabled ? \"not-allowed\" : \"pointer\",\n minWidth: 0,\n flex: 1,\n textAlign: \"left\",\n }}\n >\n {primaryContent}\n </UnstyledButton>\n ) : (\n primaryContent\n )}\n {statusAndActions}\n </Group>\n\n {detail != null ? (\n <Box\n px=\"sm\"\n pb=\"sm\"\n pt={0}\n onClick={(event: SyntheticEvent) => event.stopPropagation()}\n onKeyDown={(event: SyntheticEvent) => event.stopPropagation()}\n >\n {detail}\n </Box>\n ) : null}\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");
@@ -174,6 +175,7 @@ exports.StackedValue = DataRow.StackedValue;
174
175
  exports.DataTable = DataTable.DataTable;
175
176
  exports.DateDisplay = DateDisplay.DateDisplay;
176
177
  exports.DetailDrawer = DetailDrawer.DetailDrawer;
178
+ exports.DocumentStatusRow = DocumentRow$1.DocumentStatusRow;
177
179
  exports.EditableSection = EditableSection.EditableSection;
178
180
  exports.EmptyState = EmptyState.EmptyState;
179
181
  exports.ErrorPage = ErrorPage.ErrorPage;
@@ -437,6 +439,7 @@ exports.Tabs = Tabs.Tabs;
437
439
  exports.Textarea = Textarea.Textarea;
438
440
  exports.TextInput = TextInput.TextInput;
439
441
  exports.Tooltip = Tooltip.Tooltip;
442
+ exports.DocumentListRow = DocumentRow.DocumentRow;
440
443
  exports.DocumentRow = DocumentRow.DocumentRow;
441
444
  exports.EquityGrantCard = EquityGrantCard.EquityGrantCard;
442
445
  exports.InvestmentCard = InvestmentCard.InvestmentCard;
@@ -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,7 +75,7 @@ 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";
@@ -240,7 +241,9 @@ export {
240
241
  DialogContent,
241
242
  DialogTitle,
242
243
  Divider,
243
- DocumentRow,
244
+ DocumentRow as DocumentListRow,
245
+ DocumentRow2 as DocumentRow,
246
+ DocumentStatusRow,
244
247
  DownloadIcon,
245
248
  DrawOutlinedIcon,
246
249
  Drawer,
@@ -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';
@@ -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":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,YAAY,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AACxG,OAAO,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AAC9F,YAAY,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,YAAY,EACV,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,YAAY,EACV,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,YAAY,EACV,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,YAAY,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,YAAY,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AACvG,OAAO,EAAE,kBAAkB,EAAE,MAAM,yDAAyD,CAAC;AAC7F,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACvE,YAAY,EAAE,yBAAyB,EAAE,MAAM,6DAA6D,CAAC;AAC7G,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,6DAA6D,CAAC;AACrE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,YAAY,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAChF,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,WAAW,GACZ,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACpG,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AACtF,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAC3F,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AACrE,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,UAAU,GACX,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,YAAY,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AACjF,YAAY,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AACjF,YAAY,EAAE,0BAA0B,EAAE,MAAM,kEAAkE,CAAC;AACnH,OAAO,EAAE,qBAAqB,EAAE,MAAM,kEAAkE,CAAC;AACzG,YAAY,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AACjF,YAAY,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAC5F,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAChG,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AACrE,YAAY,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAC3E,YAAY,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AAC9E,YAAY,EACV,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,YAAY,EAAE,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AACjG,OAAO,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AACvF,YAAY,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AACrE,YAAY,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAC/D,YAAY,EACV,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,+BAA+B,EAC/B,qCAAqC,EACrC,YAAY,GACb,MAAM,gDAAgD,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAC/D,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0DAA0D,CAAC;AAC7F,YAAY,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAC/D,YAAY,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AACpF,YAAY,EAAE,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AACjG,OAAO,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AACvF,YAAY,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AACrE,YAAY,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAC3E,YAAY,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,YAAY,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAC3E,YAAY,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,YAAY,EAAE,sBAAsB,EAAE,MAAM,0DAA0D,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,0DAA0D,CAAC;AAC7F,YAAY,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,YAAY,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,YAAY,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,YAAY,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AACvE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAC3E,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EACL,MAAM,EACN,QAAQ,EACR,KAAK,aAAa,EAClB,GAAG,EACH,KAAK,QAAQ,EACb,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,EACT,KAAK,cAAc,EACnB,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,UAAU,EACf,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,WAAW,EACX,KAAK,gBAAgB,EACrB,UAAU,EACV,KAAK,EACL,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,KAAK,EACL,KAAK,EACL,KAAK,UAAU,EACf,OAAO,EACP,IAAI,EACJ,KAAK,SAAS,EACd,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,EACL,KAAK,UAAU,EACf,cAAc,EACd,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,KAAK,EACL,eAAe,EACf,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,eAAe,GAChB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,GACtB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,KAAK,EACL,WAAW,EACX,eAAe,EACf,WAAW,EACX,WAAW,EACX,UAAU,EACV,IAAI,EACJ,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,MAAM,EACN,WAAW,EACX,UAAU,EACV,MAAM,EACN,aAAa,EACb,aAAa,EACb,WAAW,EACX,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,OAAO,EACP,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,YAAY,EACZ,mBAAmB,EACnB,OAAO,EACP,KAAK,OAAO,EACZ,MAAM,EACN,SAAS,EACT,SAAS,EACT,SAAS,EACT,eAAe,EACf,QAAQ,EACR,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,KAAK,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,QAAQ,GACT,MAAM,mCAAmC,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC;AACpF,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,EACrB,OAAO,EACP,KAAK,YAAY,GAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAClE,YAAY,EACV,gBAAgB,EAChB,gBAAgB,IAAI,oBAAoB,GACzC,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACL,WAAW,EACX,WAAW,IAAI,eAAe,GAC/B,MAAM,+CAA+C,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,uDAAuD,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,MAAM,uDAAuD,CAAC;AACxF,YAAY,EACV,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,GACb,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,yCAAyC,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AACrF,YAAY,EAAE,wBAAwB,EAAE,MAAM,+DAA+D,CAAC;AAC9G,OAAO,EAAE,mBAAmB,EAAE,MAAM,+DAA+D,CAAC;AACpG,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/E,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACpG,OAAO,EACL,cAAc,EACd,WAAW,EACX,MAAM,EACN,YAAY,EACZ,kCAAkC,EAClC,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACT,aAAa,EACb,KAAK,EACL,cAAc,EACd,WAAW,EACX,OAAO,EACP,KAAK,EACL,UAAU,GACX,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC5D,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,GACV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,cAAc,CAAC;AACtB,OAAO,+DAA+D,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const React = require("react");
4
- const index = require("../../../../../../_virtual/index3.cjs");
4
+ const index = require("../../../../../../_virtual/index4.cjs");
5
5
  const getStatus = require("../../get-status/get-status.cjs");
6
6
  const clearListState = require("../../lists/clear-list-state.cjs");
7
7
  const getPath = require("../../paths/get-path.cjs");
@@ -1,5 +1,5 @@
1
1
  import { useState, useRef, useCallback } from "react";
2
- import isEqual from "../../../../../../_virtual/index3.js";
2
+ import isEqual from "../../../../../../_virtual/index4.js";
3
3
  import { getStatus } from "../../get-status/get-status.js";
4
4
  import { clearListState } from "../../lists/clear-list-state.js";
5
5
  import { getPath } from "../../paths/get-path.js";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index$1 = require("../../_virtual/index4.cjs");
3
+ const index$1 = require("../../_virtual/index3.cjs");
4
4
  const index = require("./node_modules/react-is/index.cjs");
5
5
  const factoryWithTypeCheckers = require("./factoryWithTypeCheckers.cjs");
6
6
  const factoryWithThrowingShims = require("./factoryWithThrowingShims.cjs");
@@ -1,4 +1,4 @@
1
- import { __module as propTypes } from "../../_virtual/index4.js";
1
+ import { __module as propTypes } from "../../_virtual/index3.js";
2
2
  import { __require as requireReactIs } from "./node_modules/react-is/index.js";
3
3
  import { __require as requireFactoryWithTypeCheckers } from "./factoryWithTypeCheckers.js";
4
4
  import { __require as requireFactoryWithThrowingShims } from "./factoryWithThrowingShims.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fairmint/ui",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "type": "module",
5
5
  "description": "Fairmint design system and UI component library",
6
6
  "license": "UNLICENSED",