@paro.io/expert-shared-components 1.14.66 → 1.14.68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/DocumentCenter/MultiFileUploadSection.js +220 -121
- package/lib/components/TaxAxis/TaxAxisApi.d.ts +0 -1
- package/lib/components/TaxAxis/TaxAxisShell.js +5 -80
- package/lib/components/shared/UploadClient.d.ts +2 -1
- package/lib/components/shared/UploadClient.js +6 -2
- package/lib/index.d.ts +1 -13
- package/lib/index.js +1 -27
- package/lib/tax-axis/components/clientReport/ExecutiveSummary.d.ts +4 -1
- package/lib/tax-axis/components/clientReport/ExecutiveSummary.js +10 -6
- package/lib/tax-axis/components/clientReport/Methodology.js +2 -2
- package/lib/tax-axis/components/clientReport/RecommendedStrategies.d.ts +6 -1
- package/lib/tax-axis/components/clientReport/RecommendedStrategies.js +26 -24
- package/lib/tax-axis/components/clientReport/StrategyCard.d.ts +1 -1
- package/lib/tax-axis/components/clientReport/StrategyCard.js +39 -23
- package/lib/tax-axis/components/clientReport/TaxAxisClientReport.d.ts +5 -2
- package/lib/tax-axis/components/clientReport/TaxAxisClientReport.js +9 -7
- package/lib/tax-axis/components/dashboard/DashboardActions.js +6 -5
- package/lib/tax-axis/components/dashboard/DashboardSummary.d.ts +6 -1
- package/lib/tax-axis/components/dashboard/DashboardSummary.js +19 -10
- package/lib/tax-axis/components/dashboard/StrategyDetailPanel.d.ts +1 -1
- package/lib/tax-axis/components/dashboard/StrategyDetailPanel.js +122 -95
- package/lib/tax-axis/components/dashboard/TaxAxisDashboard.d.ts +58 -4
- package/lib/tax-axis/components/dashboard/TaxAxisDashboard.js +375 -56
- package/lib/tax-axis/components/documents/DocumentCard.d.ts +6 -3
- package/lib/tax-axis/components/documents/DocumentCard.js +72 -15
- package/lib/tax-axis/components/documents/DocumentReviewModal.d.ts +3 -2
- package/lib/tax-axis/components/documents/DocumentReviewModal.js +109 -295
- package/lib/tax-axis/components/documents/DocumentTier.d.ts +5 -4
- package/lib/tax-axis/components/documents/DocumentTier.js +2 -2
- package/lib/tax-axis/components/documents/TaxAxisDocuments.d.ts +28 -8
- package/lib/tax-axis/components/documents/TaxAxisDocuments.js +335 -172
- package/lib/tax-axis/components/documents/qbo/QboAvailableReportsModal.d.ts +13 -0
- package/lib/tax-axis/components/documents/qbo/QboAvailableReportsModal.js +180 -0
- package/lib/tax-axis/components/documents/qbo/QboClientSelectorModal.d.ts +10 -0
- package/lib/tax-axis/components/documents/qbo/QboClientSelectorModal.js +155 -0
- package/lib/tax-axis/components/documents/qbo/QboConnectBanner.d.ts +9 -0
- package/lib/tax-axis/components/documents/qbo/QboConnectBanner.js +55 -0
- package/lib/tax-axis/components/documents/qbo/QboDocumentMappingModal.d.ts +10 -0
- package/lib/tax-axis/components/documents/qbo/QboDocumentMappingModal.js +202 -0
- package/lib/tax-axis/components/documents/qbo/QboImportingModal.d.ts +8 -0
- package/lib/tax-axis/components/documents/qbo/QboImportingModal.js +75 -0
- package/lib/tax-axis/components/documents/qbo/QboPermissionsModal.d.ts +8 -0
- package/lib/tax-axis/components/documents/qbo/QboPermissionsModal.js +126 -0
- package/lib/tax-axis/components/documents/qbo/index.d.ts +8 -0
- package/lib/tax-axis/components/documents/qbo/index.js +17 -0
- package/lib/tax-axis/components/documents/qbo/qboConstants.d.ts +24 -0
- package/lib/tax-axis/components/documents/qbo/qboConstants.js +71 -0
- package/lib/tax-axis/components/documents/qbo/types.d.ts +43 -0
- package/lib/tax-axis/components/documents/qbo/types.js +3 -0
- package/lib/tax-axis/components/documents/qbo/useQboFlow.d.ts +19 -0
- package/lib/tax-axis/components/documents/qbo/useQboFlow.js +207 -0
- package/lib/tax-axis/components/intake/ClientParametersSection.js +11 -30
- package/lib/tax-axis/components/intake/CpaIntakeQuestionsSection.js +3 -3
- package/lib/tax-axis/components/intake/IntakeCtaCards.d.ts +1 -2
- package/lib/tax-axis/components/intake/IntakeCtaCards.js +6 -13
- package/lib/tax-axis/components/intake/RefineAnalysisSection.js +7 -7
- package/lib/tax-axis/components/intake/StrategyRadar.js +25 -4
- package/lib/tax-axis/components/intake/TaxAxisIntake.js +7 -95
- package/lib/tax-axis/components/intake/intakeSchema.d.ts +3 -3
- package/lib/tax-axis/components/intake/intakeSchema.js +4 -4
- package/lib/tax-axis/components/preparerWorkpaper/TaxAxisPreparerWorkpaper.d.ts +23 -4
- package/lib/tax-axis/components/preparerWorkpaper/TaxAxisPreparerWorkpaper.js +15 -4
- package/lib/tax-axis/components/processing/TaxAxisProcessing.d.ts +2 -1
- package/lib/tax-axis/components/processing/TaxAxisProcessing.js +102 -31
- package/lib/tax-axis/components/prospectReport/ProspectPrintView.js +0 -2
- package/lib/tax-axis/components/prospectReport/ProspectStrategyCard.d.ts +1 -8
- package/lib/tax-axis/components/prospectReport/ProspectStrategyCard.js +5 -5
- package/lib/tax-axis/components/prospectReport/TaxAxisProspectReport.d.ts +1 -27
- package/lib/tax-axis/components/prospectReport/TaxAxisProspectReport.js +25 -43
- package/lib/tax-axis/index.d.ts +3 -1
- package/lib/tax-axis/index.js +4 -3
- package/lib/tax-axis/lib/adapters/useEngineOutput.d.ts +60 -21
- package/lib/tax-axis/lib/adapters/useEngineOutput.js +51 -7
- package/lib/tax-axis/lib/compute/index.js +6 -0
- package/lib/tax-axis/lib/data/documents.d.ts +3 -2
- package/lib/tax-axis/lib/data/documents.js +225 -25
- package/lib/tax-axis/lib/data/strategies.js +53 -55
- package/lib/tax-axis/lib/documentFieldCatalog.d.ts +5 -10
- package/lib/tax-axis/lib/documentFieldCatalog.js +193 -8
- package/lib/tax-axis/lib/types/index.d.ts +14 -2
- package/package.json +1 -1
- package/lib/README.md +0 -2
- package/lib/package.json +0 -68
|
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.DocumentCard = DocumentCard;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const TaxAxisBadge_1 = require("../shared/TaxAxisBadge");
|
|
9
|
-
// Inline style values per status — mock T hex values for SVG strokes and
|
|
10
|
-
// rgba borders that don't have direct Tailwind token equivalents.
|
|
11
9
|
const STATUS_STYLES = {
|
|
12
10
|
empty: {
|
|
13
11
|
iconBg: "#171B44",
|
|
@@ -19,44 +17,79 @@ const STATUS_STYLES = {
|
|
|
19
17
|
iconBorder: "rgba(251,154,29,0.25)",
|
|
20
18
|
cardBorder: "rgba(251,154,29,0.25)",
|
|
21
19
|
},
|
|
20
|
+
parsing: {
|
|
21
|
+
iconBg: "rgba(36,131,132,0.08)",
|
|
22
|
+
iconBorder: "rgba(36,131,132,0.25)",
|
|
23
|
+
cardBorder: "rgba(36,131,132,0.25)",
|
|
24
|
+
},
|
|
25
|
+
failed: {
|
|
26
|
+
iconBg: "rgba(197,48,48,0.08)",
|
|
27
|
+
iconBorder: "rgba(197,48,48,0.25)",
|
|
28
|
+
cardBorder: "rgba(197,48,48,0.25)",
|
|
29
|
+
},
|
|
22
30
|
valid: {
|
|
23
31
|
iconBg: "rgba(15,110,86,0.08)",
|
|
24
32
|
iconBorder: "rgba(15,110,86,0.25)",
|
|
25
33
|
cardBorder: "rgba(15,110,86,0.25)",
|
|
26
34
|
},
|
|
27
35
|
};
|
|
28
|
-
function DocumentCard({ doc, tierBorderColor, tierBadgeColor, tierBadgeText, helpOverride, fieldCount, onUpload, onClear, onReview, }) {
|
|
29
|
-
var _a;
|
|
36
|
+
function DocumentCard({ doc, tierBorderColor, tierBadgeColor, tierBadgeText, helpOverride, fieldCount, onUpload, onClear, onRemove, onReview, }) {
|
|
37
|
+
var _a, _b, _c;
|
|
30
38
|
const ss = STATUS_STYLES[doc.status];
|
|
31
39
|
const leftBorder = doc.status === "valid" ? "rgba(15,110,86,0.6)" : tierBorderColor;
|
|
40
|
+
const fileInputId = `tax-axis-upload-${doc.id}`;
|
|
41
|
+
const reuploadInputId = `tax-axis-reupload-${doc.id}`;
|
|
32
42
|
return (react_1.default.createElement("div", { className: "bg-tax-axis-surface overflow-hidden", style: {
|
|
33
43
|
border: `1px solid ${ss.cardBorder}`,
|
|
34
44
|
borderLeft: `3px solid ${leftBorder}`,
|
|
35
45
|
borderRadius: "0 10px 10px 0",
|
|
36
46
|
boxShadow: "0 2px 12px rgba(6,8,33,0.5)",
|
|
37
47
|
} },
|
|
38
|
-
react_1.default.createElement("div", { className: "px-4 py-3 flex gap-3 items-center" },
|
|
48
|
+
react_1.default.createElement("div", { className: "px-4 py-3 flex flex-col sm:flex-row gap-3 items-start sm:items-center" },
|
|
39
49
|
react_1.default.createElement("div", { className: "w-9 h-9 rounded-lg flex items-center justify-center flex-shrink-0", style: {
|
|
40
50
|
background: ss.iconBg,
|
|
41
51
|
border: `1px solid ${ss.iconBorder}`,
|
|
42
52
|
} }, doc.status === "validating" ? (react_1.default.createElement("div", { className: "w-3.5 h-3.5 rounded-full animate-spin", style: {
|
|
43
53
|
border: "2px solid transparent",
|
|
44
54
|
borderTopColor: "#FB9A1D",
|
|
45
|
-
} })) : doc.status === "
|
|
55
|
+
} })) : doc.status === "parsing" ? (react_1.default.createElement("div", { className: "w-3.5 h-3.5 rounded-full animate-spin", style: {
|
|
56
|
+
border: "2px solid transparent",
|
|
57
|
+
borderTopColor: "#248384",
|
|
58
|
+
} })) : doc.status === "failed" ? (react_1.default.createElement("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none" },
|
|
59
|
+
react_1.default.createElement("path", { d: "M4 4l6 6M10 4L4 10", stroke: "#C53030", strokeWidth: "2", strokeLinecap: "round" }))) : doc.status === "valid" ? (react_1.default.createElement("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none" },
|
|
46
60
|
react_1.default.createElement("path", { d: "M2.5 7l3.5 3.5 5.5-6", stroke: "#0F6E56", strokeWidth: "2", strokeLinecap: "round" }))) : (react_1.default.createElement("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none" },
|
|
47
61
|
react_1.default.createElement("circle", { cx: "7", cy: "7", r: "5", stroke: "#9498B8", strokeWidth: "1.5", strokeDasharray: "3 3" })))),
|
|
48
62
|
react_1.default.createElement("div", { className: "flex-1 min-w-0" },
|
|
49
63
|
react_1.default.createElement("div", { className: "flex items-center gap-1.5" },
|
|
50
64
|
react_1.default.createElement("span", { className: "text-[13px] font-medium text-white font-tax-axis-body" }, doc.name),
|
|
51
|
-
doc.status === "empty" && (react_1.default.createElement(TaxAxisBadge_1.TaxAxisBadge, { color: tierBadgeColor, size: "xs" }, tierBadgeText))
|
|
65
|
+
doc.status === "empty" && (react_1.default.createElement(TaxAxisBadge_1.TaxAxisBadge, { color: tierBadgeColor, size: "xs" }, tierBadgeText)),
|
|
66
|
+
doc.status === "failed" && (react_1.default.createElement(TaxAxisBadge_1.TaxAxisBadge, { color: "red", size: "xs" }, "FAILED")),
|
|
67
|
+
doc.status === "valid" && doc.qboSource && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
68
|
+
react_1.default.createElement("span", { style: {
|
|
69
|
+
fontSize: 9,
|
|
70
|
+
fontWeight: 700,
|
|
71
|
+
letterSpacing: "0.05em",
|
|
72
|
+
padding: "1px 6px",
|
|
73
|
+
borderRadius: 3,
|
|
74
|
+
background: "rgba(44,160,28,0.1)",
|
|
75
|
+
border: "1px solid rgba(44,160,28,0.2)",
|
|
76
|
+
color: "#2CA01C",
|
|
77
|
+
} }, "QUICKBOOKS"),
|
|
78
|
+
react_1.default.createElement("span", { style: {
|
|
79
|
+
fontSize: 9,
|
|
80
|
+
fontWeight: 600,
|
|
81
|
+
color: "#2CA01C",
|
|
82
|
+
} }, "Synced")))),
|
|
52
83
|
react_1.default.createElement("div", { className: "text-[11px] text-tax-axis-text-3 font-tax-axis-body mt-0.5" }, doc.status === "valid" && doc.fileName
|
|
53
84
|
? `${doc.fileName}${fieldCount ? ` \u00b7 ${fieldCount} fields extracted` : ""}`
|
|
54
|
-
:
|
|
55
|
-
|
|
85
|
+
: doc.status === "failed" && doc.parseError
|
|
86
|
+
? doc.parseError
|
|
87
|
+
: ((_a = doc.fileName) !== null && _a !== void 0 ? _a : (helpOverride !== null && helpOverride !== void 0 ? helpOverride : doc.help)))),
|
|
88
|
+
react_1.default.createElement("div", { className: "flex items-center gap-2 flex-shrink-0 w-full sm:w-auto" },
|
|
56
89
|
doc.status === "valid" && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
57
90
|
react_1.default.createElement("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none" },
|
|
58
91
|
react_1.default.createElement("path", { d: "M2.5 7l3.5 3.5 5.5-6", stroke: "#0F6E56", strokeWidth: "2", strokeLinecap: "round" })),
|
|
59
|
-
react_1.default.createElement("button", { onClick: onReview, className: "rounded-md px-3 py-1 text-[11px] font-semibold font-tax-axis-mono cursor-pointer flex items-center gap-1.5", style: {
|
|
92
|
+
onReview && (react_1.default.createElement("button", { onClick: onReview, className: "rounded-md px-3 py-1 text-[11px] font-semibold font-tax-axis-mono cursor-pointer flex items-center gap-1.5", style: {
|
|
60
93
|
background: "rgba(99,102,241,0.12)",
|
|
61
94
|
border: "1px solid rgba(99,102,241,0.30)",
|
|
62
95
|
color: "#a5b4fc",
|
|
@@ -64,10 +97,34 @@ function DocumentCard({ doc, tierBorderColor, tierBadgeColor, tierBadgeText, hel
|
|
|
64
97
|
react_1.default.createElement("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none" },
|
|
65
98
|
react_1.default.createElement("rect", { x: "2", y: "1.5", width: "8", height: "9", rx: "1.5", stroke: "#a5b4fc", strokeWidth: "1.2" }),
|
|
66
99
|
react_1.default.createElement("path", { d: "M4 4.5h4M4 6.5h4M4 8.5h2", stroke: "#a5b4fc", strokeWidth: "0.9", strokeLinecap: "round" })),
|
|
67
|
-
"Review"),
|
|
100
|
+
"Review")),
|
|
68
101
|
react_1.default.createElement("button", { onClick: onClear, className: "bg-transparent border-none p-1 text-tax-axis-text-4 text-sm cursor-pointer" }, "\u00D7"))),
|
|
69
|
-
doc.status === "
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
102
|
+
(doc.status === "parsing" || doc.status === "validating") && (react_1.default.createElement("span", { className: "text-[10px] font-semibold font-tax-axis-mono", style: { color: doc.status === "parsing" ? "#248384" : "#FB9A1D" } }, doc.status === "parsing" ? "Parsing…" : "Uploading…")),
|
|
103
|
+
doc.status === "failed" && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
104
|
+
react_1.default.createElement("input", { id: reuploadInputId, type: "file", className: "hidden", accept: (_b = doc.accept) === null || _b === void 0 ? void 0 : _b.join(","), onChange: (event) => {
|
|
105
|
+
var _a;
|
|
106
|
+
const file = (_a = event.target.files) === null || _a === void 0 ? void 0 : _a[0];
|
|
107
|
+
if (file) {
|
|
108
|
+
onUpload(file);
|
|
109
|
+
}
|
|
110
|
+
event.currentTarget.value = "";
|
|
111
|
+
} }),
|
|
112
|
+
react_1.default.createElement("label", { htmlFor: reuploadInputId, className: "rounded-md px-2.5 py-1 text-[10px] font-semibold text-tax-axis-teal-light font-tax-axis-mono cursor-pointer", style: {
|
|
113
|
+
background: "rgba(36,131,132,0.10)",
|
|
114
|
+
border: "1px solid rgba(36,131,132,0.2)",
|
|
115
|
+
} }, "Re-upload"),
|
|
116
|
+
react_1.default.createElement("button", { onClick: onRemove || onClear, className: "bg-transparent border-none p-1 text-tax-axis-text-4 text-sm cursor-pointer", title: "Remove document" }, "\u00D7"))),
|
|
117
|
+
doc.status === "empty" && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
118
|
+
react_1.default.createElement("input", { id: fileInputId, type: "file", className: "hidden", accept: (_c = doc.accept) === null || _c === void 0 ? void 0 : _c.join(","), onChange: (event) => {
|
|
119
|
+
var _a;
|
|
120
|
+
const file = (_a = event.target.files) === null || _a === void 0 ? void 0 : _a[0];
|
|
121
|
+
if (file) {
|
|
122
|
+
onUpload(file);
|
|
123
|
+
}
|
|
124
|
+
event.currentTarget.value = "";
|
|
125
|
+
} }),
|
|
126
|
+
react_1.default.createElement("label", { htmlFor: fileInputId, className: "rounded-md px-3.5 py-1.5 text-[11px] font-semibold text-tax-axis-teal-light font-tax-axis-mono cursor-pointer", style: {
|
|
127
|
+
background: "rgba(36,131,132,0.10)",
|
|
128
|
+
border: "1px solid rgba(36,131,132,0.2)",
|
|
129
|
+
} }, "Upload")))))));
|
|
73
130
|
}
|
|
@@ -6,7 +6,8 @@ export interface DocumentReviewModalProps {
|
|
|
6
6
|
documentName: string;
|
|
7
7
|
fileName: string;
|
|
8
8
|
jobId: string;
|
|
9
|
-
onClose: () => void;
|
|
10
9
|
parsedData?: Record<string, unknown> | null;
|
|
10
|
+
onSaveReviewedData?: (fields: Record<string, string>) => Promise<void>;
|
|
11
|
+
onClose: () => void;
|
|
11
12
|
}
|
|
12
|
-
export declare function DocumentReviewModal({ documentId, documentName, fileName, jobId: _jobId,
|
|
13
|
+
export declare function DocumentReviewModal({ documentId, documentName, fileName, jobId: _jobId, parsedData, onSaveReviewedData, onClose, }: DocumentReviewModalProps): React.JSX.Element;
|