@paro.io/expert-shared-components 1.14.43 → 1.14.46
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/LICENSE +21 -21
- package/README.md +2 -2
- package/lib/README.md +2 -0
- package/lib/components/ClientReferencesSection/DeleteButton.js +11 -11
- package/lib/components/ClientReferencesSection/ParoError.js +10 -10
- package/lib/components/ClientReferencesSection/TagsSection.js +2 -2
- package/lib/components/ClientReferencesSection/styles/BrandedTypography.js +2 -2
- package/lib/components/ClientReferencesSection/styles/Buttons.js +15 -15
- package/lib/components/ClientReferencesSection/styles/Name.js +5 -5
- package/lib/components/ClientReferencesSection/styles/NullContentConditionalColor.js +4 -4
- package/lib/components/ClientReferencesSection/styles/SectionBody.js +11 -11
- package/lib/components/ClientReferencesSection/styles/SectionTitle.js +6 -6
- package/lib/components/ClientReferencesSection/styles/Tags.js +2 -2
- package/lib/components/DiscussionThread/DiscussionThread.d.ts +25 -25
- package/lib/components/DiscussionThread/DiscussionThread.js +137 -137
- package/lib/components/DiscussionThread/chat.d.ts +22 -22
- package/lib/components/DiscussionThread/chat.js +106 -106
- package/lib/components/DiscussionThread/index.d.ts +1 -1
- package/lib/components/DiscussionThread/index.js +5 -5
- package/lib/components/DocumentCenter/DocumentTable.d.ts +15 -15
- package/lib/components/DocumentCenter/DocumentTable.js +350 -350
- package/lib/components/DocumentCenter/DragDropUpload.js +4 -4
- package/lib/components/DocumentCenter/UploadFilesButton.d.ts +6 -6
- package/lib/components/DocumentCenter/UploadFilesButton.js +29 -29
- package/lib/components/EarningsTracker/ActiveProjectCard.d.ts +52 -52
- package/lib/components/EarningsTracker/ActiveProjectCard.js +161 -161
- package/lib/components/EarningsTracker/CenterCardUI.d.ts +13 -13
- package/lib/components/EarningsTracker/CenterCardUI.js +134 -134
- package/lib/components/EarningsTracker/EarningsTracker.d.ts +52 -52
- package/lib/components/EarningsTracker/EarningsTracker.js +508 -508
- package/lib/components/EarningsTracker/EditDateModal.d.ts +22 -22
- package/lib/components/EarningsTracker/EditDateModal.js +149 -149
- package/lib/components/EarningsTracker/EmailModal.d.ts +14 -14
- package/lib/components/EarningsTracker/EmailModal.js +79 -79
- package/lib/components/EarningsTracker/EndProjectModal.d.ts +56 -56
- package/lib/components/EarningsTracker/EndProjectModal.js +221 -221
- package/lib/components/EarningsTracker/LeftCardUI.d.ts +18 -18
- package/lib/components/EarningsTracker/LeftCardUI.js +189 -189
- package/lib/components/EarningsTracker/LogTimeModalAuthenticated.d.ts +52 -52
- package/lib/components/EarningsTracker/LogTimeModalAuthenticated.js +358 -358
- package/lib/components/EarningsTracker/ProgressBar.d.ts +4 -4
- package/lib/components/EarningsTracker/ProgressBar.js +66 -66
- package/lib/components/EarningsTracker/ReviewRequestModal.d.ts +17 -17
- package/lib/components/EarningsTracker/ReviewRequestModal.js +135 -135
- package/lib/components/EarningsTracker/RightCardUI.d.ts +46 -46
- package/lib/components/EarningsTracker/RightCardUI.js +231 -231
- package/lib/components/EarningsTracker/index.d.ts +1 -1
- package/lib/components/EarningsTracker/index.js +5 -5
- package/lib/components/Escalations/CustomTag.d.ts +3 -3
- package/lib/components/Escalations/CustomTag.js +25 -25
- package/lib/components/Escalations/ViewReponseModal.d.ts +8 -8
- package/lib/components/Escalations/ViewReponseModal.js +27 -27
- package/lib/components/ExpertProfileHeader/ActionButtonSection.js +6 -6
- package/lib/components/ExpertProfileHeader/ProfileSection.js +7 -7
- package/lib/components/Invoices/TestDecisionSection.d.ts +1 -1
- package/lib/components/Invoices/TestDecisionSection.js +126 -126
- package/lib/components/OrganizationChart/OrganizationChart.d.ts +15 -15
- package/lib/components/OrganizationChart/OrganizationChart.js +312 -312
- package/lib/components/OrganizationChart/PersonCard.js +5 -5
- package/lib/components/OrganizationChart/utils.js +79 -79
- package/lib/components/ProjectCard/ProgressBar.js +4 -4
- package/lib/components/ProjectCard/ReviewRequestModal.js +5 -5
- package/lib/components/ProjectIntelligence/MissingInformation/index.js +1 -1
- package/lib/components/Reviews/Pagination.js +6 -6
- package/lib/components/ReviewsTab/RatingHeader.js +6 -6
- package/lib/components/ReviewsTab/expert-shared-components.code-workspace +20 -20
- package/lib/components/ReviewsTab/reviewRequestModal.js +5 -5
- package/lib/components/shared/Image.js +13 -13
- package/lib/components/shared/ProfileTextField.d.ts +18 -18
- package/lib/components/shared/ProfileTextField.js +16 -16
- package/lib/components/shared/StyledActionButtons.d.ts +7 -7
- package/lib/components/shared/StyledActionButtons.js +15 -15
- package/lib/components/shared/ToastNotification.d.ts +10 -10
- package/lib/components/shared/ToastNotification.js +63 -63
- package/lib/index.d.ts +13 -0
- package/lib/index.js +27 -1
- package/lib/package.json +68 -0
- package/lib/tax-axis/components/clientReport/ClientReportCover.d.ts +9 -0
- package/lib/tax-axis/components/clientReport/ClientReportCover.js +39 -0
- package/lib/tax-axis/components/clientReport/ClientReportTOC.d.ts +8 -0
- package/lib/tax-axis/components/clientReport/ClientReportTOC.js +24 -0
- package/lib/tax-axis/components/clientReport/ClientReportToolbar.d.ts +2 -0
- package/lib/tax-axis/components/clientReport/ClientReportToolbar.js +6 -0
- package/lib/tax-axis/components/clientReport/ETRChart.d.ts +10 -0
- package/lib/tax-axis/components/clientReport/ETRChart.js +50 -0
- package/lib/tax-axis/components/clientReport/ExecutiveSummary.d.ts +15 -0
- package/lib/tax-axis/components/clientReport/ExecutiveSummary.js +73 -0
- package/lib/tax-axis/components/clientReport/FootnoteBlock.d.ts +11 -0
- package/lib/tax-axis/components/clientReport/FootnoteBlock.js +34 -0
- package/lib/tax-axis/components/clientReport/ImplementationRoadmap.d.ts +26 -0
- package/lib/tax-axis/components/clientReport/ImplementationRoadmap.js +51 -0
- package/lib/tax-axis/components/clientReport/ImplementationTimelineChart.d.ts +10 -0
- package/lib/tax-axis/components/clientReport/ImplementationTimelineChart.js +49 -0
- package/lib/tax-axis/components/clientReport/Methodology.d.ts +10 -0
- package/lib/tax-axis/components/clientReport/Methodology.js +40 -0
- package/lib/tax-axis/components/clientReport/QuarterlyCashChart.d.ts +10 -0
- package/lib/tax-axis/components/clientReport/QuarterlyCashChart.js +56 -0
- package/lib/tax-axis/components/clientReport/RecommendedStrategies.d.ts +13 -0
- package/lib/tax-axis/components/clientReport/RecommendedStrategies.js +51 -0
- package/lib/tax-axis/components/clientReport/SavingsStackChart.d.ts +10 -0
- package/lib/tax-axis/components/clientReport/SavingsStackChart.js +66 -0
- package/lib/tax-axis/components/clientReport/SectionOpener.d.ts +11 -0
- package/lib/tax-axis/components/clientReport/SectionOpener.js +20 -0
- package/lib/tax-axis/components/clientReport/Sidebar.d.ts +8 -0
- package/lib/tax-axis/components/clientReport/Sidebar.js +37 -0
- package/lib/tax-axis/components/clientReport/StrategyCard.d.ts +16 -0
- package/lib/tax-axis/components/clientReport/StrategyCard.js +63 -0
- package/lib/tax-axis/components/clientReport/TaxAxisClientReport.d.ts +9 -0
- package/lib/tax-axis/components/clientReport/TaxAxisClientReport.js +125 -0
- package/lib/tax-axis/components/clientReport/applyFootnotes.d.ts +12 -0
- package/lib/tax-axis/components/clientReport/applyFootnotes.js +43 -0
- package/lib/tax-axis/components/clientReport/palette.d.ts +28 -0
- package/lib/tax-axis/components/clientReport/palette.js +34 -0
- package/lib/tax-axis/components/dashboard/ConfidenceArc.d.ts +7 -0
- package/lib/tax-axis/components/dashboard/ConfidenceArc.js +20 -0
- package/lib/tax-axis/components/dashboard/DashboardActions.d.ts +13 -0
- package/lib/tax-axis/components/dashboard/DashboardActions.js +94 -0
- package/lib/tax-axis/components/dashboard/DashboardSummary.d.ts +11 -0
- package/lib/tax-axis/components/dashboard/DashboardSummary.js +98 -0
- package/lib/tax-axis/components/dashboard/DashboardTopBar.d.ts +10 -0
- package/lib/tax-axis/components/dashboard/DashboardTopBar.js +48 -0
- package/lib/tax-axis/components/dashboard/StrategyDetailPanel.d.ts +10 -0
- package/lib/tax-axis/components/dashboard/StrategyDetailPanel.js +139 -0
- package/lib/tax-axis/components/dashboard/StrategyTile.d.ts +10 -0
- package/lib/tax-axis/components/dashboard/StrategyTile.js +82 -0
- package/lib/tax-axis/components/dashboard/TaxAxisDashboard.d.ts +12 -0
- package/lib/tax-axis/components/dashboard/TaxAxisDashboard.js +285 -0
- package/lib/tax-axis/components/dashboard/useCountUp.d.ts +1 -0
- package/lib/tax-axis/components/dashboard/useCountUp.js +25 -0
- package/lib/tax-axis/components/documents/DocumentCard.d.ts +18 -0
- package/lib/tax-axis/components/documents/DocumentCard.js +61 -0
- package/lib/tax-axis/components/documents/DocumentTier.d.ts +21 -0
- package/lib/tax-axis/components/documents/DocumentTier.js +23 -0
- package/lib/tax-axis/components/documents/TaxAxisDocuments.d.ts +8 -0
- package/lib/tax-axis/components/documents/TaxAxisDocuments.js +157 -0
- package/lib/tax-axis/components/extractionReview/DocumentCard.d.ts +17 -0
- package/lib/tax-axis/components/extractionReview/DocumentCard.js +105 -0
- package/lib/tax-axis/components/extractionReview/FieldRow.d.ts +17 -0
- package/lib/tax-axis/components/extractionReview/FieldRow.js +137 -0
- package/lib/tax-axis/components/extractionReview/PurposeBlock.d.ts +7 -0
- package/lib/tax-axis/components/extractionReview/PurposeBlock.js +18 -0
- package/lib/tax-axis/components/extractionReview/RerunFooter.d.ts +8 -0
- package/lib/tax-axis/components/extractionReview/RerunFooter.js +60 -0
- package/lib/tax-axis/components/extractionReview/TaxAxisExtractionReview.d.ts +11 -0
- package/lib/tax-axis/components/extractionReview/TaxAxisExtractionReview.js +186 -0
- package/lib/tax-axis/components/intake/ClientParametersSection.d.ts +7 -0
- package/lib/tax-axis/components/intake/ClientParametersSection.js +146 -0
- package/lib/tax-axis/components/intake/CpaIntakeQuestionsSection.d.ts +7 -0
- package/lib/tax-axis/components/intake/CpaIntakeQuestionsSection.js +93 -0
- package/lib/tax-axis/components/intake/IntakeCtaCards.d.ts +9 -0
- package/lib/tax-axis/components/intake/IntakeCtaCards.js +30 -0
- package/lib/tax-axis/components/intake/RefineAnalysisSection.d.ts +7 -0
- package/lib/tax-axis/components/intake/RefineAnalysisSection.js +151 -0
- package/lib/tax-axis/components/intake/StateMultiSelect.d.ts +7 -0
- package/lib/tax-axis/components/intake/StateMultiSelect.js +90 -0
- package/lib/tax-axis/components/intake/StrategyRadar.d.ts +7 -0
- package/lib/tax-axis/components/intake/StrategyRadar.js +240 -0
- package/lib/tax-axis/components/intake/TaxAxisIntake.d.ts +8 -0
- package/lib/tax-axis/components/intake/TaxAxisIntake.js +38 -0
- package/lib/tax-axis/components/intake/intakeSchema.d.ts +97 -0
- package/lib/tax-axis/components/intake/intakeSchema.js +91 -0
- package/lib/tax-axis/components/preparerWorkpaper/CalculationTraceAccordion.d.ts +9 -0
- package/lib/tax-axis/components/preparerWorkpaper/CalculationTraceAccordion.js +19 -0
- package/lib/tax-axis/components/preparerWorkpaper/EngagementHeader.d.ts +9 -0
- package/lib/tax-axis/components/preparerWorkpaper/EngagementHeader.js +43 -0
- package/lib/tax-axis/components/preparerWorkpaper/Position6694Accordion.d.ts +9 -0
- package/lib/tax-axis/components/preparerWorkpaper/Position6694Accordion.js +25 -0
- package/lib/tax-axis/components/preparerWorkpaper/PriorityGroup.d.ts +14 -0
- package/lib/tax-axis/components/preparerWorkpaper/PriorityGroup.js +20 -0
- package/lib/tax-axis/components/preparerWorkpaper/Section6694Summary.d.ts +9 -0
- package/lib/tax-axis/components/preparerWorkpaper/Section6694Summary.js +36 -0
- package/lib/tax-axis/components/preparerWorkpaper/SourceDocumentsAccordion.d.ts +9 -0
- package/lib/tax-axis/components/preparerWorkpaper/SourceDocumentsAccordion.js +20 -0
- package/lib/tax-axis/components/preparerWorkpaper/StrategyWorkpaperCard.d.ts +14 -0
- package/lib/tax-axis/components/preparerWorkpaper/StrategyWorkpaperCard.js +53 -0
- package/lib/tax-axis/components/preparerWorkpaper/TaxAxisPreparerWorkpaper.d.ts +9 -0
- package/lib/tax-axis/components/preparerWorkpaper/TaxAxisPreparerWorkpaper.js +175 -0
- package/lib/tax-axis/components/presentationMode/TaxAxisPresentationMode.d.ts +7 -0
- package/lib/tax-axis/components/presentationMode/TaxAxisPresentationMode.js +245 -0
- package/lib/tax-axis/components/processing/ProcessingStages.d.ts +7 -0
- package/lib/tax-axis/components/processing/ProcessingStages.js +17 -0
- package/lib/tax-axis/components/processing/TaxAxisProcessing.d.ts +7 -0
- package/lib/tax-axis/components/processing/TaxAxisProcessing.js +105 -0
- package/lib/tax-axis/components/prospectReport/ProspectCover.d.ts +10 -0
- package/lib/tax-axis/components/prospectReport/ProspectCover.js +47 -0
- package/lib/tax-axis/components/prospectReport/ProspectDocuments.d.ts +9 -0
- package/lib/tax-axis/components/prospectReport/ProspectDocuments.js +31 -0
- package/lib/tax-axis/components/prospectReport/ProspectNextSteps.d.ts +13 -0
- package/lib/tax-axis/components/prospectReport/ProspectNextSteps.js +37 -0
- package/lib/tax-axis/components/prospectReport/ProspectPrintView.d.ts +26 -0
- package/lib/tax-axis/components/prospectReport/ProspectPrintView.js +185 -0
- package/lib/tax-axis/components/prospectReport/ProspectStrategyCard.d.ts +10 -0
- package/lib/tax-axis/components/prospectReport/ProspectStrategyCard.js +52 -0
- package/lib/tax-axis/components/prospectReport/SampleAnalysisPreview.d.ts +7 -0
- package/lib/tax-axis/components/prospectReport/SampleAnalysisPreview.js +120 -0
- package/lib/tax-axis/components/prospectReport/TaxAxisProspectReport.d.ts +9 -0
- package/lib/tax-axis/components/prospectReport/TaxAxisProspectReport.js +173 -0
- package/lib/tax-axis/components/prospectReport/TaxPositionGap.d.ts +15 -0
- package/lib/tax-axis/components/prospectReport/TaxPositionGap.js +45 -0
- package/lib/tax-axis/components/prospectReport/theme.d.ts +26 -0
- package/lib/tax-axis/components/prospectReport/theme.js +33 -0
- package/lib/tax-axis/components/shared/ReportToolbar.d.ts +12 -0
- package/lib/tax-axis/components/shared/ReportToolbar.js +81 -0
- package/lib/tax-axis/components/shared/SectionHeader.d.ts +8 -0
- package/lib/tax-axis/components/shared/SectionHeader.js +15 -0
- package/lib/tax-axis/components/shared/TaxAxisBadge.d.ts +12 -0
- package/lib/tax-axis/components/shared/TaxAxisBadge.js +34 -0
- package/lib/tax-axis/components/shared/TaxAxisButton.d.ts +12 -0
- package/lib/tax-axis/components/shared/TaxAxisButton.js +17 -0
- package/lib/tax-axis/components/shared/TaxAxisCard.d.ts +9 -0
- package/lib/tax-axis/components/shared/TaxAxisCard.js +13 -0
- package/lib/tax-axis/index.d.ts +25 -0
- package/lib/tax-axis/index.js +51 -0
- package/lib/tax-axis/lib/compute/index.d.ts +8 -0
- package/lib/tax-axis/lib/compute/index.js +163 -0
- package/lib/tax-axis/lib/data/documents.d.ts +3 -0
- package/lib/tax-axis/lib/data/documents.js +33 -0
- package/lib/tax-axis/lib/data/extractedData.d.ts +2 -0
- package/lib/tax-axis/lib/data/extractedData.js +47 -0
- package/lib/tax-axis/lib/data/footnoteData.d.ts +2 -0
- package/lib/tax-axis/lib/data/footnoteData.js +48 -0
- package/lib/tax-axis/lib/data/index.d.ts +11 -0
- package/lib/tax-axis/lib/data/index.js +31 -0
- package/lib/tax-axis/lib/data/nextSteps.d.ts +2 -0
- package/lib/tax-axis/lib/data/nextSteps.js +35 -0
- package/lib/tax-axis/lib/data/sidebarLookup.d.ts +2 -0
- package/lib/tax-axis/lib/data/sidebarLookup.js +90 -0
- package/lib/tax-axis/lib/data/sourceDescriptions.d.ts +1 -0
- package/lib/tax-axis/lib/data/sourceDescriptions.js +32 -0
- package/lib/tax-axis/lib/data/states.d.ts +6 -0
- package/lib/tax-axis/lib/data/states.js +25 -0
- package/lib/tax-axis/lib/data/strategies.d.ts +8 -0
- package/lib/tax-axis/lib/data/strategies.js +166 -0
- package/lib/tax-axis/lib/data/strategyNarrative.d.ts +3 -0
- package/lib/tax-axis/lib/data/strategyNarrative.js +170 -0
- package/lib/tax-axis/lib/data/strategyProspect.d.ts +2 -0
- package/lib/tax-axis/lib/data/strategyProspect.js +66 -0
- package/lib/tax-axis/lib/data/workpaperInteractions.d.ts +1 -0
- package/lib/tax-axis/lib/data/workpaperInteractions.js +15 -0
- package/lib/tax-axis/lib/types/index.d.ts +183 -0
- package/lib/tax-axis/lib/types/index.js +7 -0
- package/package.json +68 -67
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import * as Yup from "yup";
|
|
2
|
+
import { ClientProfile } from "../../lib/types";
|
|
3
|
+
export declare const intakeSchema: Yup.ObjectSchema<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
|
|
4
|
+
bizName: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
5
|
+
cpaName: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
6
|
+
entity: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
7
|
+
industry: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
8
|
+
revenue: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
9
|
+
netIncome: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
10
|
+
ownerComp: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
11
|
+
employees: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
12
|
+
year: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
13
|
+
states: import("yup/lib/array").RequiredArraySchema<Yup.StringSchema<string | undefined, import("yup/lib/types").AnyObject, string | undefined>, import("yup/lib/types").AnyObject, (string | undefined)[] | undefined>;
|
|
14
|
+
filingStatus: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
15
|
+
age: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
16
|
+
sstb: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
17
|
+
ownsRealEstate: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
18
|
+
itemizesDeductions: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
19
|
+
singleOwner: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
20
|
+
equipmentPurchased: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
21
|
+
realEstateValue: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
22
|
+
capitalGains: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
23
|
+
federalRate: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
24
|
+
stateRate: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
25
|
+
taxDataYears: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
26
|
+
riskTolerance: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
27
|
+
overtimePremium: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
28
|
+
tipIncomePct: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
29
|
+
retirementContributions: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
30
|
+
hdhpEnrolled: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
31
|
+
hsaContributions: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
32
|
+
wotcHires: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
33
|
+
familyEmployed: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
34
|
+
}>, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
|
|
35
|
+
bizName: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
36
|
+
cpaName: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
37
|
+
entity: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
38
|
+
industry: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
39
|
+
revenue: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
40
|
+
netIncome: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
41
|
+
ownerComp: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
42
|
+
employees: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
43
|
+
year: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
44
|
+
states: import("yup/lib/array").RequiredArraySchema<Yup.StringSchema<string | undefined, import("yup/lib/types").AnyObject, string | undefined>, import("yup/lib/types").AnyObject, (string | undefined)[] | undefined>;
|
|
45
|
+
filingStatus: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
46
|
+
age: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
47
|
+
sstb: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
48
|
+
ownsRealEstate: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
49
|
+
itemizesDeductions: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
50
|
+
singleOwner: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
51
|
+
equipmentPurchased: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
52
|
+
realEstateValue: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
53
|
+
capitalGains: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
54
|
+
federalRate: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
55
|
+
stateRate: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
56
|
+
taxDataYears: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
57
|
+
riskTolerance: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
58
|
+
overtimePremium: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
59
|
+
tipIncomePct: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
60
|
+
retirementContributions: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
61
|
+
hdhpEnrolled: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
62
|
+
hsaContributions: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
63
|
+
wotcHires: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
64
|
+
familyEmployed: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
65
|
+
}>>, import("yup/lib/object").AssertsShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
|
|
66
|
+
bizName: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
67
|
+
cpaName: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
68
|
+
entity: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
69
|
+
industry: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
70
|
+
revenue: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
71
|
+
netIncome: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
72
|
+
ownerComp: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
73
|
+
employees: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
74
|
+
year: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
75
|
+
states: import("yup/lib/array").RequiredArraySchema<Yup.StringSchema<string | undefined, import("yup/lib/types").AnyObject, string | undefined>, import("yup/lib/types").AnyObject, (string | undefined)[] | undefined>;
|
|
76
|
+
filingStatus: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
77
|
+
age: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
78
|
+
sstb: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
79
|
+
ownsRealEstate: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
80
|
+
itemizesDeductions: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
81
|
+
singleOwner: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
82
|
+
equipmentPurchased: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
83
|
+
realEstateValue: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
84
|
+
capitalGains: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
85
|
+
federalRate: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
86
|
+
stateRate: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
87
|
+
taxDataYears: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
88
|
+
riskTolerance: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
89
|
+
overtimePremium: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
90
|
+
tipIncomePct: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
91
|
+
retirementContributions: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
92
|
+
hdhpEnrolled: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
93
|
+
hsaContributions: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
94
|
+
wotcHires: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
95
|
+
familyEmployed: Yup.StringSchema<string, import("yup/lib/types").AnyObject, string>;
|
|
96
|
+
}>>>;
|
|
97
|
+
export declare const intakeDefaultValues: Partial<ClientProfile>;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.intakeDefaultValues = exports.intakeSchema = void 0;
|
|
27
|
+
const Yup = __importStar(require("yup"));
|
|
28
|
+
exports.intakeSchema = Yup.object().shape({
|
|
29
|
+
bizName: Yup.string().required("Business name required").ensure(),
|
|
30
|
+
cpaName: Yup.string().required("Preparer name required").ensure(),
|
|
31
|
+
entity: Yup.string().required("Entity type required").ensure(),
|
|
32
|
+
industry: Yup.string().required("Industry required").ensure(),
|
|
33
|
+
revenue: Yup.string().required("Revenue required").ensure(),
|
|
34
|
+
netIncome: Yup.string().ensure(),
|
|
35
|
+
ownerComp: Yup.string().ensure(),
|
|
36
|
+
employees: Yup.string().ensure(),
|
|
37
|
+
year: Yup.string().required("Tax year required").ensure(),
|
|
38
|
+
states: Yup.array().of(Yup.string()).min(1, "Select at least one state").ensure(),
|
|
39
|
+
filingStatus: Yup.string().ensure(),
|
|
40
|
+
age: Yup.string().ensure(),
|
|
41
|
+
sstb: Yup.string().ensure(),
|
|
42
|
+
ownsRealEstate: Yup.string().ensure(),
|
|
43
|
+
itemizesDeductions: Yup.string().ensure(),
|
|
44
|
+
singleOwner: Yup.string().ensure(),
|
|
45
|
+
equipmentPurchased: Yup.string().ensure(),
|
|
46
|
+
realEstateValue: Yup.string().ensure(),
|
|
47
|
+
capitalGains: Yup.string().ensure(),
|
|
48
|
+
federalRate: Yup.string().ensure(),
|
|
49
|
+
stateRate: Yup.string().ensure(),
|
|
50
|
+
taxDataYears: Yup.string().ensure(),
|
|
51
|
+
riskTolerance: Yup.string().ensure(),
|
|
52
|
+
overtimePremium: Yup.string().ensure(),
|
|
53
|
+
tipIncomePct: Yup.string().ensure(),
|
|
54
|
+
retirementContributions: Yup.string().ensure(),
|
|
55
|
+
hdhpEnrolled: Yup.string().ensure(),
|
|
56
|
+
hsaContributions: Yup.string().ensure(),
|
|
57
|
+
wotcHires: Yup.string().ensure(),
|
|
58
|
+
familyEmployed: Yup.string().ensure(),
|
|
59
|
+
});
|
|
60
|
+
exports.intakeDefaultValues = {
|
|
61
|
+
bizName: "",
|
|
62
|
+
cpaName: "",
|
|
63
|
+
entity: "S-Corporation",
|
|
64
|
+
industry: "Professional Services",
|
|
65
|
+
revenue: "",
|
|
66
|
+
netIncome: "",
|
|
67
|
+
ownerComp: "",
|
|
68
|
+
employees: "",
|
|
69
|
+
year: "2026",
|
|
70
|
+
states: [],
|
|
71
|
+
filingStatus: "MFJ",
|
|
72
|
+
age: "",
|
|
73
|
+
sstb: "No",
|
|
74
|
+
ownsRealEstate: "No",
|
|
75
|
+
itemizesDeductions: "No",
|
|
76
|
+
singleOwner: "Yes",
|
|
77
|
+
equipmentPurchased: "0",
|
|
78
|
+
realEstateValue: "0",
|
|
79
|
+
capitalGains: "0",
|
|
80
|
+
federalRate: "24%",
|
|
81
|
+
stateRate: "",
|
|
82
|
+
taxDataYears: "1 year",
|
|
83
|
+
riskTolerance: "3",
|
|
84
|
+
overtimePremium: "0",
|
|
85
|
+
tipIncomePct: "0",
|
|
86
|
+
retirementContributions: "0",
|
|
87
|
+
hdhpEnrolled: "No",
|
|
88
|
+
hsaContributions: "0",
|
|
89
|
+
wotcHires: "No",
|
|
90
|
+
familyEmployed: "No",
|
|
91
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { StrategyTraceStep } from "../../lib/types";
|
|
3
|
+
import type { Palette } from "../clientReport/palette";
|
|
4
|
+
interface CalculationTraceAccordionProps {
|
|
5
|
+
trace: StrategyTraceStep[];
|
|
6
|
+
palette: Palette;
|
|
7
|
+
}
|
|
8
|
+
export declare function CalculationTraceAccordion({ trace, palette }: CalculationTraceAccordionProps): React.JSX.Element | null;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.CalculationTraceAccordion = CalculationTraceAccordion;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
function CalculationTraceAccordion({ trace, palette }) {
|
|
9
|
+
if (!trace || trace.length === 0)
|
|
10
|
+
return null;
|
|
11
|
+
return (react_1.default.createElement("div", { style: { padding: "12px 18px", background: palette.gray50 } }, trace.map((t, ti) => (react_1.default.createElement("div", { key: ti, style: { display: "flex", alignItems: "baseline", gap: 8, padding: "5px 0", fontSize: 12, fontFamily: palette.mono } },
|
|
12
|
+
react_1.default.createElement("span", { style: { color: palette.teal, fontWeight: 700, minWidth: 50 } }, "Step " + t.n),
|
|
13
|
+
react_1.default.createElement("span", { style: { color: palette.gray700, flex: 1 } },
|
|
14
|
+
t.step,
|
|
15
|
+
": ",
|
|
16
|
+
react_1.default.createElement("span", { style: { color: palette.gray500 } }, t.formula)),
|
|
17
|
+
react_1.default.createElement("span", { style: { fontWeight: 600, color: palette.teal, minWidth: 80, textAlign: "right" } }, t.result),
|
|
18
|
+
react_1.default.createElement("span", { style: { fontSize: 10, color: palette.gray400, minWidth: 50, textAlign: "right" } }, "[" + t.src + "]"))))));
|
|
19
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { ClientProfile } from "../../lib/types";
|
|
3
|
+
import type { Palette } from "../clientReport/palette";
|
|
4
|
+
interface EngagementHeaderProps {
|
|
5
|
+
profile: ClientProfile;
|
|
6
|
+
palette: Palette;
|
|
7
|
+
}
|
|
8
|
+
export declare function EngagementHeader({ profile, palette }: EngagementHeaderProps): React.JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.EngagementHeader = EngagementHeader;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const compute_1 = require("../../lib/compute");
|
|
9
|
+
function EngagementHeader({ profile, palette }) {
|
|
10
|
+
const bizName = profile.bizName || "Client";
|
|
11
|
+
const states = profile.states || [];
|
|
12
|
+
const rev = parseInt((profile.revenue || "0").replace(/,/g, "")) || 0;
|
|
13
|
+
const card = {
|
|
14
|
+
background: palette.white,
|
|
15
|
+
border: "1px solid " + palette.gray200,
|
|
16
|
+
borderRadius: 12,
|
|
17
|
+
padding: "24px 28px",
|
|
18
|
+
marginBottom: 16,
|
|
19
|
+
boxShadow: "0 1px 3px rgba(0,0,0,0.04)",
|
|
20
|
+
};
|
|
21
|
+
const rows = [
|
|
22
|
+
["Entity", profile.entity],
|
|
23
|
+
["Industry", profile.industry],
|
|
24
|
+
["States", states.join(", ") || "\u2014"],
|
|
25
|
+
["Tax Year", profile.year],
|
|
26
|
+
["Filing", profile.filingStatus || "MFJ"],
|
|
27
|
+
["SSTB", profile.sstb || "No"],
|
|
28
|
+
["Fed Rate", profile.federalRate || "24%"],
|
|
29
|
+
["State Rate", (profile.stateRate || "4.95") + "%"],
|
|
30
|
+
["Revenue", "$" + (rev || 0).toLocaleString()],
|
|
31
|
+
["Net Income", "$" + (0, compute_1.parseNum)(profile.netIncome).toLocaleString()],
|
|
32
|
+
["Owner Comp", "$" + (0, compute_1.parseNum)(profile.ownerComp).toLocaleString()],
|
|
33
|
+
["Data Years", profile.taxDataYears || "1 yr (\u00B130%)"],
|
|
34
|
+
];
|
|
35
|
+
return (react_1.default.createElement("div", { style: Object.assign(Object.assign({}, card), { padding: 0, overflow: "hidden", marginBottom: 24 }) },
|
|
36
|
+
react_1.default.createElement("div", { style: { height: 4, background: palette.navy } }),
|
|
37
|
+
react_1.default.createElement("div", { style: { padding: "28px 28px 24px" } },
|
|
38
|
+
react_1.default.createElement("div", { style: { fontSize: 11, fontWeight: 700, color: palette.gray400, textTransform: "uppercase", letterSpacing: 2, marginBottom: 6, fontFamily: palette.mono } }, "TAX STRATEGY WORKPAPER"),
|
|
39
|
+
react_1.default.createElement("div", { style: { fontSize: 22, fontWeight: 700, color: palette.gray900, fontFamily: palette.head, marginBottom: 20 } }, bizName),
|
|
40
|
+
react_1.default.createElement("div", { style: { display: "grid", gridTemplateColumns: "1fr 1fr 1fr 1fr", gap: "1px", background: palette.gray200, borderRadius: 8, overflow: "hidden" } }, rows.map(([k, v]) => (react_1.default.createElement("div", { key: k, style: { background: palette.white, padding: "10px 12px" } },
|
|
41
|
+
react_1.default.createElement("div", { style: { fontSize: 10, color: palette.gray400, textTransform: "uppercase", letterSpacing: ".5px", marginBottom: 2, fontFamily: palette.mono } }, k),
|
|
42
|
+
react_1.default.createElement("div", { style: { fontSize: 13, fontWeight: 600, color: palette.gray800, fontFamily: palette.body } }, v))))))));
|
|
43
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { Strategy } from "../../lib/types";
|
|
3
|
+
import type { Palette } from "../clientReport/palette";
|
|
4
|
+
interface Position6694AccordionProps {
|
|
5
|
+
strategy: Strategy;
|
|
6
|
+
palette: Palette;
|
|
7
|
+
}
|
|
8
|
+
export declare function Position6694Accordion({ strategy: s, palette }: Position6694AccordionProps): React.JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Position6694Accordion = Position6694Accordion;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
function Position6694Accordion({ strategy: s, palette }) {
|
|
9
|
+
const isObbba = s.cat === "obbba_new";
|
|
10
|
+
return (react_1.default.createElement("div", { style: { padding: "12px 18px", background: palette.gray50, fontSize: 12, color: palette.gray600, lineHeight: 1.7, fontFamily: palette.body } },
|
|
11
|
+
react_1.default.createElement("div", { style: { marginBottom: 6 } },
|
|
12
|
+
react_1.default.createElement("strong", { style: { color: palette.gray800 } }, "Authority:"),
|
|
13
|
+
" ",
|
|
14
|
+
s.authority),
|
|
15
|
+
s.warning && (react_1.default.createElement("div", { style: { marginBottom: 6, padding: "8px 12px", background: palette.orangePale, borderRadius: 6, color: "#92400E" } },
|
|
16
|
+
react_1.default.createElement("strong", null, "Flag:"),
|
|
17
|
+
" ",
|
|
18
|
+
s.warning)),
|
|
19
|
+
react_1.default.createElement("div", null,
|
|
20
|
+
react_1.default.createElement("strong", { style: { color: palette.gray800 } }, "Position:"),
|
|
21
|
+
" ",
|
|
22
|
+
isObbba
|
|
23
|
+
? "Reasonable Basis \u2014 OBBBA provision with limited IRS guidance. CPA verification required."
|
|
24
|
+
: "Substantial Authority \u2014 established IRC guidance supporting this position.")));
|
|
25
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { Strategy, ComputedMap } from "../../lib/types";
|
|
3
|
+
import type { Palette } from "../clientReport/palette";
|
|
4
|
+
interface PriorityGroupProps {
|
|
5
|
+
priority: string;
|
|
6
|
+
items: Strategy[];
|
|
7
|
+
computed: ComputedMap;
|
|
8
|
+
printMode: boolean;
|
|
9
|
+
expanded: Record<string, boolean>;
|
|
10
|
+
onToggle: (rank: number, section: string) => void;
|
|
11
|
+
palette: Palette;
|
|
12
|
+
}
|
|
13
|
+
export declare function PriorityGroup({ priority, items, computed, printMode, expanded, onToggle, palette }: PriorityGroupProps): React.JSX.Element;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.PriorityGroup = PriorityGroup;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const StrategyWorkpaperCard_1 = require("./StrategyWorkpaperCard");
|
|
9
|
+
function PriorityGroup({ priority, items, computed, printMode, expanded, onToggle, palette }) {
|
|
10
|
+
const priorityColor = priority === "HIGH" ? palette.green
|
|
11
|
+
: priority === "QUICK WIN" ? palette.teal
|
|
12
|
+
: priority === "MEDIUM" ? "#B45309"
|
|
13
|
+
: palette.gray500;
|
|
14
|
+
return (react_1.default.createElement("div", { style: { marginBottom: 24 } },
|
|
15
|
+
react_1.default.createElement("div", { style: { display: "flex", alignItems: "center", gap: 8, marginBottom: 12 } },
|
|
16
|
+
react_1.default.createElement("div", { style: { fontSize: 11, fontWeight: 700, color: priorityColor, textTransform: "uppercase", letterSpacing: 1.5, fontFamily: palette.mono } }, priority),
|
|
17
|
+
react_1.default.createElement("div", { style: { flex: 1, height: 1, background: palette.gray200 } }),
|
|
18
|
+
react_1.default.createElement("div", { style: { fontSize: 11, color: palette.gray400, fontFamily: palette.mono } }, items.length + " strateg" + (items.length === 1 ? "y" : "ies"))),
|
|
19
|
+
items.map(s => (react_1.default.createElement(StrategyWorkpaperCard_1.StrategyWorkpaperCard, { key: s.rank, strategy: s, computed: computed.get(s.rank), priority: priority, printMode: printMode, expanded: expanded, onToggle: onToggle, palette: palette })))));
|
|
20
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { Palette } from "../clientReport/palette";
|
|
3
|
+
interface Section6694SummaryProps {
|
|
4
|
+
substantialAuth: number;
|
|
5
|
+
reasonableBasis: number;
|
|
6
|
+
palette: Palette;
|
|
7
|
+
}
|
|
8
|
+
export declare function Section6694Summary({ substantialAuth, reasonableBasis, palette }: Section6694SummaryProps): React.JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Section6694Summary = Section6694Summary;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
function Section6694Summary({ substantialAuth, reasonableBasis, palette }) {
|
|
9
|
+
const card = {
|
|
10
|
+
background: palette.white,
|
|
11
|
+
border: "1px solid " + palette.gray200,
|
|
12
|
+
borderRadius: 12,
|
|
13
|
+
padding: "24px 28px",
|
|
14
|
+
marginBottom: 16,
|
|
15
|
+
boxShadow: "0 1px 3px rgba(0,0,0,0.04)",
|
|
16
|
+
};
|
|
17
|
+
const sectionTitle = {
|
|
18
|
+
fontSize: 11,
|
|
19
|
+
fontWeight: 700,
|
|
20
|
+
textTransform: "uppercase",
|
|
21
|
+
letterSpacing: "0.1em",
|
|
22
|
+
color: palette.gray500,
|
|
23
|
+
marginBottom: 16,
|
|
24
|
+
fontFamily: palette.body,
|
|
25
|
+
};
|
|
26
|
+
return (react_1.default.createElement("div", { style: Object.assign(Object.assign({}, card), { marginBottom: 24 }) },
|
|
27
|
+
react_1.default.createElement("div", { style: sectionTitle }, "\u00A76694 COMPLIANCE SUMMARY"),
|
|
28
|
+
react_1.default.createElement("div", { style: { display: "grid", gridTemplateColumns: "1fr 1fr 1fr", gap: 12, marginBottom: 12 } }, [
|
|
29
|
+
{ v: substantialAuth, l: "Substantial Authority", c: palette.green, bg: palette.greenPale },
|
|
30
|
+
{ v: reasonableBasis, l: "Reasonable Basis", c: palette.orange, bg: palette.orangePale },
|
|
31
|
+
{ v: 0, l: "Needs Disclosure", c: palette.gray600, bg: palette.gray100 },
|
|
32
|
+
].map(({ v, l, c, bg }) => (react_1.default.createElement("div", { key: l, style: { background: bg, borderRadius: 8, padding: "14px 12px", textAlign: "center" } },
|
|
33
|
+
react_1.default.createElement("div", { style: { fontSize: 24, fontWeight: 800, color: c, fontFamily: palette.head } }, v),
|
|
34
|
+
react_1.default.createElement("div", { style: { fontSize: 10, color: palette.gray600, marginTop: 2, fontFamily: palette.body } }, l))))),
|
|
35
|
+
react_1.default.createElement("div", { style: { fontSize: 11, color: palette.gray500, lineHeight: 1.6, fontFamily: palette.body } }, "All HIGH-priority strategies hold Substantial Authority. OBBBA provisions default to Reasonable Basis pending IRS guidance.")));
|
|
36
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { StrategySource } from "../../lib/types";
|
|
3
|
+
import type { Palette } from "../clientReport/palette";
|
|
4
|
+
interface SourceDocumentsAccordionProps {
|
|
5
|
+
sources: StrategySource[];
|
|
6
|
+
palette: Palette;
|
|
7
|
+
}
|
|
8
|
+
export declare function SourceDocumentsAccordion({ sources, palette }: SourceDocumentsAccordionProps): React.JSX.Element | null;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SourceDocumentsAccordion = SourceDocumentsAccordion;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
function SourceDocumentsAccordion({ sources, palette }) {
|
|
9
|
+
if (!sources || sources.length === 0)
|
|
10
|
+
return null;
|
|
11
|
+
return (react_1.default.createElement("div", { style: { padding: "12px 18px", background: palette.gray50 } },
|
|
12
|
+
react_1.default.createElement("table", { style: { width: "100%", fontSize: 12, fontFamily: palette.body, borderCollapse: "collapse" } },
|
|
13
|
+
react_1.default.createElement("thead", null,
|
|
14
|
+
react_1.default.createElement("tr", { style: { borderBottom: "1px solid " + palette.gray200 } }, ["Document", "Line", "Value", "Field"].map(h => (react_1.default.createElement("th", { key: h, style: { padding: "4px 8px", textAlign: "left", fontSize: 10, fontWeight: 600, color: palette.gray400, textTransform: "uppercase" } }, h))))),
|
|
15
|
+
react_1.default.createElement("tbody", null, sources.map((src, si) => (react_1.default.createElement("tr", { key: si, style: { borderBottom: "1px solid " + palette.gray100 } },
|
|
16
|
+
react_1.default.createElement("td", { style: { padding: "4px 8px", color: palette.gray600 } }, src.doc),
|
|
17
|
+
react_1.default.createElement("td", { style: { padding: "4px 8px", color: palette.gray500, fontFamily: palette.mono, fontSize: 11 } }, src.line),
|
|
18
|
+
react_1.default.createElement("td", { style: { padding: "4px 8px", fontWeight: 600, color: palette.gray800, fontFamily: palette.mono } }, src.value),
|
|
19
|
+
react_1.default.createElement("td", { style: { padding: "4px 8px", color: palette.gray500 } }, src.field))))))));
|
|
20
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { Strategy, ComputedSavings } from "../../lib/types";
|
|
3
|
+
import type { Palette } from "../clientReport/palette";
|
|
4
|
+
interface StrategyWorkpaperCardProps {
|
|
5
|
+
strategy: Strategy;
|
|
6
|
+
computed: ComputedSavings | undefined;
|
|
7
|
+
priority: string;
|
|
8
|
+
printMode: boolean;
|
|
9
|
+
expanded: Record<string, boolean>;
|
|
10
|
+
onToggle: (rank: number, section: string) => void;
|
|
11
|
+
palette: Palette;
|
|
12
|
+
}
|
|
13
|
+
export declare function StrategyWorkpaperCard({ strategy: s, computed: c, priority, printMode, expanded, onToggle, palette }: StrategyWorkpaperCardProps): React.JSX.Element;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.StrategyWorkpaperCard = StrategyWorkpaperCard;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const CalculationTraceAccordion_1 = require("./CalculationTraceAccordion");
|
|
9
|
+
const SourceDocumentsAccordion_1 = require("./SourceDocumentsAccordion");
|
|
10
|
+
const Position6694Accordion_1 = require("./Position6694Accordion");
|
|
11
|
+
function StrategyWorkpaperCard({ strategy: s, computed: c, priority, printMode, expanded, onToggle, palette }) {
|
|
12
|
+
var _a, _b, _c, _d;
|
|
13
|
+
const card = {
|
|
14
|
+
background: palette.white,
|
|
15
|
+
border: "1px solid " + palette.gray200,
|
|
16
|
+
borderRadius: 12,
|
|
17
|
+
padding: "24px 28px",
|
|
18
|
+
marginBottom: 16,
|
|
19
|
+
boxShadow: "0 1px 3px rgba(0,0,0,0.04)",
|
|
20
|
+
};
|
|
21
|
+
const clo = (_a = c === null || c === void 0 ? void 0 : c.lo) !== null && _a !== void 0 ? _a : s.lo;
|
|
22
|
+
const chi = (_b = c === null || c === void 0 ? void 0 : c.hi) !== null && _b !== void 0 ? _b : s.hi;
|
|
23
|
+
const mid = Math.round((clo + chi) / 2);
|
|
24
|
+
const cSources = (_c = c === null || c === void 0 ? void 0 : c.sources) !== null && _c !== void 0 ? _c : s.sources;
|
|
25
|
+
const cTrace = (_d = c === null || c === void 0 ? void 0 : c.trace) !== null && _d !== void 0 ? _d : s.trace;
|
|
26
|
+
const isObbba = s.cat === "obbba_new";
|
|
27
|
+
const isOpen = (section) => printMode || !!expanded[s.rank + "-" + section];
|
|
28
|
+
const sections = [
|
|
29
|
+
{ key: "trace", label: "Calculation Trace", content: cTrace && cTrace.length > 0 ? react_1.default.createElement(CalculationTraceAccordion_1.CalculationTraceAccordion, { trace: cTrace, palette: palette }) : null },
|
|
30
|
+
{ key: "sources", label: "Source Documents", content: cSources && cSources.length > 0 ? react_1.default.createElement(SourceDocumentsAccordion_1.SourceDocumentsAccordion, { sources: cSources, palette: palette }) : null },
|
|
31
|
+
{ key: "6694", label: "\u00A76694 Position Analysis", content: react_1.default.createElement(Position6694Accordion_1.Position6694Accordion, { strategy: s, palette: palette }) },
|
|
32
|
+
];
|
|
33
|
+
return (react_1.default.createElement("div", { style: Object.assign(Object.assign({}, card), { marginBottom: 12, padding: 0, overflow: "hidden" }) },
|
|
34
|
+
react_1.default.createElement("div", { style: { padding: "14px 18px", display: "flex", alignItems: "center", justifyContent: "space-between", gap: 12 } },
|
|
35
|
+
react_1.default.createElement("div", { style: { display: "flex", alignItems: "center", gap: 10, flex: 1 } },
|
|
36
|
+
react_1.default.createElement("span", { style: { fontSize: 12, fontWeight: 700, color: palette.teal, fontFamily: palette.mono, minWidth: 24 } }, "#" + s.rank),
|
|
37
|
+
react_1.default.createElement("span", { style: { fontSize: 14, fontWeight: 700, color: palette.gray900, fontFamily: palette.head } }, s.name),
|
|
38
|
+
react_1.default.createElement("span", { style: { fontSize: 10, fontFamily: palette.mono, color: palette.gray400, background: palette.gray100, padding: "2px 6px", borderRadius: 3 } }, s.code)),
|
|
39
|
+
react_1.default.createElement("span", { style: { fontSize: 16, fontWeight: 700, color: palette.teal, fontFamily: palette.mono, flexShrink: 0 } }, "$" + mid.toLocaleString())),
|
|
40
|
+
react_1.default.createElement("div", { style: { padding: "0 18px 10px", display: "flex", alignItems: "center", gap: 8, flexWrap: "wrap", fontSize: 11, color: palette.gray500, fontFamily: palette.body } },
|
|
41
|
+
react_1.default.createElement("span", { style: { fontWeight: 600, color: priority === "HIGH" ? palette.green : priority === "QUICK WIN" ? palette.teal : palette.gray600 } }, priority),
|
|
42
|
+
react_1.default.createElement("span", null, "\u00B7"),
|
|
43
|
+
react_1.default.createElement("span", null, "Score: " + s.score),
|
|
44
|
+
react_1.default.createElement("span", null, "\u00B7"),
|
|
45
|
+
react_1.default.createElement("span", { style: { color: isObbba ? palette.orange : palette.green } }, isObbba ? "Reasonable Basis" : "Substantial Authority"),
|
|
46
|
+
react_1.default.createElement("span", null, "\u00B7"),
|
|
47
|
+
react_1.default.createElement("span", null, s.timeline)),
|
|
48
|
+
sections.map(({ key, label, content }) => content && (react_1.default.createElement("div", { key: key, style: { borderTop: "1px solid " + palette.gray200 } },
|
|
49
|
+
react_1.default.createElement("button", { onClick: () => onToggle(s.rank, key), style: { width: "100%", padding: "8px 18px", display: "flex", alignItems: "center", gap: 6, background: "none", border: "none", fontSize: 12, fontWeight: 600, color: palette.teal, fontFamily: palette.body, cursor: "pointer" } },
|
|
50
|
+
react_1.default.createElement("span", { style: { fontSize: 10, transition: "transform .2s", display: "inline-block", transform: isOpen(key) ? "rotate(90deg)" : "none" } }, "\u25B6"),
|
|
51
|
+
label),
|
|
52
|
+
isOpen(key) && content)))));
|
|
53
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { ClientProfile } from "../../lib/types";
|
|
3
|
+
import type { TaxAxisScreenProps } from "../../lib/types";
|
|
4
|
+
export interface TaxAxisPreparerWorkpaperProps extends TaxAxisScreenProps {
|
|
5
|
+
profile: ClientProfile;
|
|
6
|
+
onBack: () => void;
|
|
7
|
+
onToggleToClient?: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function TaxAxisPreparerWorkpaper({ profile, onBack, onToggleToClient }: TaxAxisPreparerWorkpaperProps): React.JSX.Element;
|