braid-ui 1.0.98 → 1.0.99

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/README.md +44 -327
  2. package/components.json +20 -0
  3. package/eslint.config.js +29 -0
  4. package/index.html +24 -0
  5. package/package.json +55 -115
  6. package/postcss.config.js +6 -0
  7. package/public/favicon.ico +0 -0
  8. package/public/placeholder.svg +1 -0
  9. package/public/robots.txt +14 -0
  10. package/src/App.css +42 -0
  11. package/src/App.tsx +94 -0
  12. package/src/components/MainLayout.tsx +15 -0
  13. package/src/components/alerts/AlertDocuments.tsx +320 -0
  14. package/src/components/alerts/AlertNotes.tsx +185 -0
  15. package/src/components/alerts/AlertTimeline.tsx +79 -0
  16. package/src/components/alerts/ContextSection.tsx +155 -0
  17. package/src/components/app-sidebar.tsx +341 -0
  18. package/src/components/form-sections/ACHBankCard.tsx +78 -0
  19. package/src/components/form-sections/ACHBasicInfoCard.tsx +100 -0
  20. package/src/components/form-sections/ACHTransferSection.tsx +64 -0
  21. package/src/components/form-sections/AddressForm.tsx +94 -0
  22. package/src/components/form-sections/BankAddressCard.tsx +95 -0
  23. package/src/components/form-sections/BankingDetailsCard.tsx +46 -0
  24. package/src/components/form-sections/BasicInfoCard.tsx +103 -0
  25. package/src/components/form-sections/BasicInfoSection.tsx +34 -0
  26. package/src/components/form-sections/BeneficiaryAddress.tsx +19 -0
  27. package/src/components/form-sections/BeneficiaryCard.tsx +41 -0
  28. package/src/components/form-sections/BeneficiaryDomesticWire.tsx +23 -0
  29. package/src/components/form-sections/BusinessProfileCard.tsx +131 -0
  30. package/src/components/form-sections/BusinessStatusCard.tsx +53 -0
  31. package/src/components/form-sections/ContactInfoCard.tsx +63 -0
  32. package/src/components/form-sections/CounterpartyBasicInfo.tsx +101 -0
  33. package/src/components/form-sections/CounterpartyProfileCard.tsx +104 -0
  34. package/src/components/form-sections/CounterpartyRecordsCard.tsx +41 -0
  35. package/src/components/form-sections/IntermediaryCard.tsx +77 -0
  36. package/src/components/form-sections/IntermediaryFI.tsx +41 -0
  37. package/src/components/form-sections/IntermediaryFIAddress.tsx +14 -0
  38. package/src/components/form-sections/OriginatorCard.tsx +49 -0
  39. package/src/components/form-sections/OriginatorFI.tsx +42 -0
  40. package/src/components/form-sections/OriginatorFIAddress.tsx +14 -0
  41. package/src/components/form-sections/PaymentInformationSection.tsx +163 -0
  42. package/src/components/form-sections/ReceiverCard.tsx +94 -0
  43. package/src/components/form-sections/WireTransferSection.tsx +75 -0
  44. package/src/components/layouts/list-page.tsx +103 -0
  45. package/src/components/transaction/ACHDetailsSection.tsx +95 -0
  46. package/src/components/transaction/WireDetailsSection.tsx +112 -0
  47. package/src/components/ui/account-card.tsx +94 -0
  48. package/src/components/ui/badge.tsx +75 -0
  49. package/src/components/ui/breadcrumb.tsx +78 -0
  50. package/src/components/ui/business-type-badge.tsx +42 -0
  51. package/src/components/ui/button.tsx +56 -0
  52. package/src/components/ui/calendar.tsx +49 -0
  53. package/src/components/ui/card.tsx +223 -0
  54. package/src/components/ui/container.tsx +45 -0
  55. package/src/components/ui/counterparty-type-badge.tsx +53 -0
  56. package/src/components/ui/data-grid.tsx +99 -0
  57. package/src/components/ui/data-table.tsx +152 -0
  58. package/src/components/ui/detail-page-layout.tsx +83 -0
  59. package/src/components/ui/dialog.tsx +120 -0
  60. package/src/components/ui/dropdown-menu.tsx +82 -0
  61. package/src/components/ui/editable-form-card.tsx +106 -0
  62. package/src/components/ui/editable-info-field.tsx +67 -0
  63. package/src/components/ui/enhanced-input.tsx +78 -0
  64. package/src/components/ui/enhanced-select.tsx +101 -0
  65. package/src/components/ui/enhanced-textarea.tsx +64 -0
  66. package/src/components/ui/entity-card.tsx +140 -0
  67. package/src/components/ui/form-card.tsx +40 -0
  68. package/src/components/ui/form-field.tsx +50 -0
  69. package/src/components/ui/form-input.tsx +29 -0
  70. package/src/components/ui/form-provider.tsx +18 -0
  71. package/src/components/ui/form-section.tsx +66 -0
  72. package/src/components/ui/form-select.tsx +35 -0
  73. package/src/components/ui/info-field.tsx +36 -0
  74. package/src/components/ui/json-viewer.tsx +146 -0
  75. package/src/components/ui/label.tsx +24 -0
  76. package/src/components/ui/metric-card.tsx +80 -0
  77. package/src/components/ui/page-layout.tsx +183 -0
  78. package/src/components/ui/popover.tsx +29 -0
  79. package/src/components/ui/responsive-grid.tsx +46 -0
  80. package/src/components/ui/separator.tsx +31 -0
  81. package/src/components/ui/sheet.tsx +140 -0
  82. package/src/components/ui/sidebar.tsx +775 -0
  83. package/src/components/ui/sonner.tsx +29 -0
  84. package/src/components/ui/stack.tsx +77 -0
  85. package/src/components/ui/status-badge.tsx +68 -0
  86. package/src/components/ui/tabs.tsx +52 -0
  87. package/src/components/ui/toast.tsx +127 -0
  88. package/src/components/ui/toaster.tsx +33 -0
  89. package/src/components/ui/tooltip.tsx +28 -0
  90. package/src/components/ui/use-toast.ts +3 -0
  91. package/src/components/ui-kit/dashboard-demo.tsx +156 -0
  92. package/src/components/ui-kit/pattern-library.tsx +248 -0
  93. package/src/components/ui-kit/showcase.tsx +211 -0
  94. package/src/hooks/use-mobile.tsx +19 -0
  95. package/src/hooks/use-toast.ts +191 -0
  96. package/src/hooks/useEditState.ts +70 -0
  97. package/src/hooks/useFormWithEditState.ts +115 -0
  98. package/src/{styles.css → index.css} +10 -4
  99. package/src/lib/constants.ts +25 -0
  100. package/src/lib/mock-data/alert-data.ts +275 -0
  101. package/src/lib/mock-data/banking-data.ts +72 -0
  102. package/src/lib/mock-data/business-data.ts +71 -0
  103. package/src/lib/mock-data/counterparty-data.ts +70 -0
  104. package/src/lib/mock-data/index.ts +5 -0
  105. package/src/lib/mock-data/transaction-data.ts +283 -0
  106. package/src/lib/mock-data/wire-data.ts +103 -0
  107. package/src/lib/mock-data.tsx +180 -0
  108. package/src/lib/schemas/banking-schemas.ts +30 -0
  109. package/src/lib/schemas/business-schemas.ts +36 -0
  110. package/src/lib/schemas/counterparty-schemas.ts +43 -0
  111. package/src/lib/schemas/index.ts +5 -0
  112. package/src/lib/schemas/wire-schemas.ts +44 -0
  113. package/src/lib/utils.ts +6 -0
  114. package/src/main.tsx +10 -0
  115. package/src/pages/Cases.tsx +16 -0
  116. package/src/pages/Dashboard.tsx +16 -0
  117. package/src/pages/NotFound.tsx +27 -0
  118. package/src/pages/TransactionHistory.tsx +532 -0
  119. package/src/pages/UIKit.tsx +51 -0
  120. package/src/pages/alerts/AlertDetail.tsx +193 -0
  121. package/src/pages/alerts/Alerts.tsx +373 -0
  122. package/src/pages/business/Business.tsx +48 -0
  123. package/src/pages/business/Create.tsx +173 -0
  124. package/src/pages/counterparty/Create.tsx +48 -0
  125. package/src/pages/counterparty/DomesticWire.tsx +78 -0
  126. package/src/pages/counterparty/Manage.tsx +79 -0
  127. package/src/pages/transactions/NewTransaction.tsx +527 -0
  128. package/src/pages/transactions/TransactionDetail.tsx +192 -0
  129. package/src/vite-env.d.ts +1 -0
  130. package/tailwind.config.ts +124 -0
  131. package/tsconfig.app.json +30 -0
  132. package/tsconfig.json +19 -0
  133. package/tsconfig.node.json +22 -0
  134. package/vite.config.ts +22 -0
  135. package/dist/css/braid-ui-variables.css +0 -88
  136. package/dist/css/braid-ui.css +0 -4484
  137. package/dist/css/braid-ui.min.css +0 -1
  138. package/dist/index.cjs +0 -4
  139. package/dist/index.cjs.map +0 -1
  140. package/dist/index.d.cts +0 -2429
  141. package/dist/index.d.ts +0 -2429
  142. package/dist/index.js +0 -4
  143. package/dist/index.js.map +0 -1
  144. package/src/styles-only.css +0 -121
  145. /package/{dist/braid-logo-343BOQZ2.png → src/assets/braid-logo.png} +0 -0
@@ -0,0 +1,70 @@
1
+ export interface CounterpartyBasicInfo {
2
+ name: string
3
+ status: string
4
+ type: string
5
+ businessType?: string
6
+ description: string
7
+ website?: string
8
+ taxId?: string
9
+ incorporationDate?: string
10
+ legalStructure?: string
11
+ }
12
+
13
+ export interface CounterpartyProfile {
14
+ primaryContact: string
15
+ contactEmail: string
16
+ contactPhone: string
17
+ secondaryContact?: string
18
+ industry?: string
19
+ region?: string
20
+ }
21
+
22
+ export interface CounterpartyAddress {
23
+ street: string
24
+ city: string
25
+ state: string
26
+ postalCode: string
27
+ country: string
28
+ apartment?: string
29
+ }
30
+
31
+ export const defaultCounterpartyBasicInfo: CounterpartyBasicInfo = {
32
+ name: "Acme Corporation",
33
+ status: "active",
34
+ type: "business",
35
+ businessType: "corporation",
36
+ description: "Leading technology solutions provider",
37
+ website: "https://acme.com",
38
+ taxId: "12-3456789",
39
+ incorporationDate: "2020-01-15",
40
+ legalStructure: "C-Corporation"
41
+ }
42
+
43
+ export const defaultCounterpartyProfile: CounterpartyProfile = {
44
+ primaryContact: "John Smith",
45
+ contactEmail: "john.smith@acme.com",
46
+ contactPhone: "+1 (555) 123-4567",
47
+ secondaryContact: "Jane Doe",
48
+ industry: "Technology",
49
+ region: "North America"
50
+ }
51
+
52
+ export const defaultCounterpartyAddress: CounterpartyAddress = {
53
+ street: "123 Business Ave",
54
+ city: "New York",
55
+ state: "NY",
56
+ postalCode: "10001",
57
+ country: "US",
58
+ apartment: "Suite 100"
59
+ }
60
+
61
+ // Combined counterparty profile data that matches the schema
62
+ export const defaultCounterpartyProfileData = {
63
+ legalName: "Acme Corporation",
64
+ dbaName: "ACME Tech",
65
+ businessType: "corporation",
66
+ taxId: "12-3456789",
67
+ businessPhone: "+1 (555) 123-4567",
68
+ businessEmail: "contact@acme.com",
69
+ website: "https://acme.com"
70
+ }
@@ -0,0 +1,5 @@
1
+ // Re-export all mock data types and defaults for easy importing
2
+ export * from './counterparty-data'
3
+ export * from './banking-data'
4
+ export * from './wire-data'
5
+ export * from './business-data'
@@ -0,0 +1,283 @@
1
+ export interface Transaction {
2
+ id: string
3
+ created: string
4
+ accountNumber: string
5
+ amount: number
6
+ customer: string
7
+ counterparty: string
8
+ description: string
9
+ transactionType: string
10
+ status: "PENDING" | "POSTED" | "FAILED" | "CANCELLED"
11
+ updated: string
12
+ wireDetails?: any
13
+ achDetails?: any
14
+ }
15
+
16
+ export const mockTransactions: Transaction[] = [
17
+ {
18
+ id: "1",
19
+ created: "2025-10-01 00:16",
20
+ accountNumber: "126713605718",
21
+ amount: -7293.32,
22
+ customer: "Rise Works Inc",
23
+ counterparty: "VEDANT JAYESHKUMAR PATI",
24
+ description: "4NnuJKyD9a8LUmkm",
25
+ transactionType: "Ach Originator Credit",
26
+ status: "PENDING",
27
+ updated: "2025-10-01 00:16",
28
+ achDetails: {
29
+ type: "ACH Credit",
30
+ originatorName: "Rise Works Inc",
31
+ originatorAccountNumber: "126713605718",
32
+ receiverName: "VEDANT JAYESHKUMAR PATI",
33
+ receiverAccountNumber: "9876543210",
34
+ receiverRoutingNumber: "021000021",
35
+ amount: 7293.32,
36
+ secCode: "CCD",
37
+ companyEntryDescription: "PAYROLL",
38
+ companyDiscretionaryData: "4NnuJKyD9a8LUmkm",
39
+ individualIdNumber: "1234567890",
40
+ individualName: "VEDANT JAYESHKUMAR PATI",
41
+ traceNumber: "021000021234567",
42
+ raw: {
43
+ recordType: "6",
44
+ transactionCode: "22",
45
+ receivingDFIIdentification: "02100002",
46
+ checkDigit: "1",
47
+ DFIAccountNumber: "9876543210",
48
+ amount: "0000729332",
49
+ individualIdentificationNumber: "1234567890",
50
+ individualName: "VEDANT JAYESHKUMAR PA",
51
+ discretionaryData: " ",
52
+ addendaRecordIndicator: "0",
53
+ traceNumber: "021000021234567",
54
+ batchHeader: {
55
+ recordType: "5",
56
+ serviceClassCode: "200",
57
+ companyName: "RISE WORKS INC",
58
+ companyDiscretionaryData: "4NnuJKyD9a8LU",
59
+ companyIdentification: "1234567890",
60
+ standardEntryClassCode: "CCD",
61
+ companyEntryDescription: "PAYROLL",
62
+ companyDescriptiveDate: "251001",
63
+ effectiveEntryDate: "251001",
64
+ settlementDate: " ",
65
+ originatorStatusCode: "1",
66
+ originatingDFIIdentification: "02100002",
67
+ batchNumber: "0000001"
68
+ }
69
+ }
70
+ }
71
+ },
72
+ {
73
+ id: "2",
74
+ created: "2025-10-01 00:09",
75
+ accountNumber: "899606565333",
76
+ amount: 0.50,
77
+ customer: "SSB Bank",
78
+ counterparty: "Maung Lwin",
79
+ description: "ACH Fee",
80
+ transactionType: "Fee Ach Transaction",
81
+ status: "POSTED",
82
+ updated: "2025-10-01 00:09"
83
+ },
84
+ {
85
+ id: "3",
86
+ created: "2025-09-30 23:45",
87
+ accountNumber: "445821903456",
88
+ amount: 15000.00,
89
+ customer: "Tech Solutions LLC",
90
+ counterparty: "Global Suppliers Inc",
91
+ description: "Invoice Payment #INV-2024-089",
92
+ transactionType: "Wire Domestic Credit",
93
+ status: "POSTED",
94
+ updated: "2025-10-01 00:12",
95
+ wireDetails: {
96
+ type: "Domestic Wire",
97
+ originatorName: "Tech Solutions LLC",
98
+ originatorAccountNumber: "445821903456",
99
+ originatorAddress: "123 Tech Street, San Francisco, CA 94105",
100
+ beneficiaryName: "Global Suppliers Inc",
101
+ beneficiaryAccountNumber: "998877665544",
102
+ beneficiaryAddress: "456 Supply Avenue, New York, NY 10001",
103
+ beneficiaryFIName: "Chase Bank",
104
+ beneficiaryFIRoutingNumber: "021000021",
105
+ beneficiaryFIAddress: "270 Park Avenue, New York, NY 10017",
106
+ originatorFIName: "Wells Fargo Bank",
107
+ originatorFIRoutingNumber: "121000248",
108
+ originatorFIAddress: "420 Montgomery Street, San Francisco, CA 94104",
109
+ intermediaryFIName: "Bank of America",
110
+ intermediaryFIRoutingNumber: "026009593",
111
+ intermediaryFIAddress: "100 Federal Street, Boston, MA 02110",
112
+ raw: {
113
+ messageType: "MT103",
114
+ sender: "WFBIUS6SXXX",
115
+ receiver: "CHASUS33XXX",
116
+ transactionReference: "INV-2024-089-TXN-001",
117
+ relatedReference: "INV-2024-089",
118
+ bankOperationCode: "CRED",
119
+ instructionCode: "CHQB",
120
+ valueDate: "2025-09-30",
121
+ currency: "USD",
122
+ amount: "15000.00",
123
+ orderingCustomer: {
124
+ account: "445821903456",
125
+ name: "Tech Solutions LLC",
126
+ address: [
127
+ "123 Tech Street",
128
+ "San Francisco, CA 94105",
129
+ "United States"
130
+ ]
131
+ },
132
+ orderingInstitution: {
133
+ bic: "WFBIUS6SXXX",
134
+ name: "Wells Fargo Bank N.A.",
135
+ address: [
136
+ "420 Montgomery Street",
137
+ "San Francisco, CA 94104"
138
+ ]
139
+ },
140
+ intermediaryInstitution: {
141
+ bic: "BOFAUS3NXXX",
142
+ name: "Bank of America N.A.",
143
+ clearingCode: "026009593",
144
+ address: [
145
+ "100 Federal Street",
146
+ "Boston, MA 02110"
147
+ ]
148
+ },
149
+ beneficiaryInstitution: {
150
+ bic: "CHASUS33XXX",
151
+ name: "JPMorgan Chase Bank N.A.",
152
+ clearingCode: "021000021",
153
+ address: [
154
+ "270 Park Avenue",
155
+ "New York, NY 10017"
156
+ ]
157
+ },
158
+ beneficiaryCustomer: {
159
+ account: "998877665544",
160
+ name: "Global Suppliers Inc",
161
+ address: [
162
+ "456 Supply Avenue",
163
+ "New York, NY 10001",
164
+ "United States"
165
+ ]
166
+ },
167
+ remittanceInformation: "Invoice Payment for INV-2024-089 - Equipment Purchase",
168
+ regulatoryReporting: {
169
+ code: "BENEFRES",
170
+ country: "US",
171
+ narrative: "Payment for goods"
172
+ },
173
+ senderToReceiverInformation: [
174
+ "Payment for invoice INV-2024-089",
175
+ "Equipment and supplies purchase",
176
+ "Net 30 terms - On time payment"
177
+ ],
178
+ chargeDetails: "OUR"
179
+ }
180
+ }
181
+ },
182
+ {
183
+ id: "4",
184
+ created: "2025-09-30 22:18",
185
+ accountNumber: "778901234567",
186
+ amount: -2500.75,
187
+ customer: "Metro Business Group",
188
+ counterparty: "Pacific Trading Co",
189
+ description: "Vendor Payment",
190
+ transactionType: "Ach Originator Debit",
191
+ status: "POSTED",
192
+ updated: "2025-09-30 23:01"
193
+ },
194
+ {
195
+ id: "5",
196
+ created: "2025-09-30 21:05",
197
+ accountNumber: "334455667788",
198
+ amount: 500.00,
199
+ customer: "Sunrise Enterprises",
200
+ counterparty: "John Mitchell",
201
+ description: "Contractor Payment",
202
+ transactionType: "Ach Originator Credit",
203
+ status: "PENDING",
204
+ updated: "2025-09-30 21:05"
205
+ },
206
+ {
207
+ id: "6",
208
+ created: "2025-09-30 19:30",
209
+ accountNumber: "998877665544",
210
+ amount: -125000.00,
211
+ customer: "Real Estate Holdings",
212
+ counterparty: "Property Management LLC",
213
+ description: "Monthly Rent Payment",
214
+ transactionType: "Wire Domestic Debit",
215
+ status: "POSTED",
216
+ updated: "2025-09-30 20:15"
217
+ },
218
+ {
219
+ id: "7",
220
+ created: "2025-09-30 17:22",
221
+ accountNumber: "556677889900",
222
+ amount: 3.00,
223
+ customer: "First National Bank",
224
+ counterparty: "Sarah Johnson",
225
+ description: "Wire Transfer Fee",
226
+ transactionType: "Fee Wire Transaction",
227
+ status: "POSTED",
228
+ updated: "2025-09-30 17:22"
229
+ },
230
+ {
231
+ id: "8",
232
+ created: "2025-09-30 15:40",
233
+ accountNumber: "223344556677",
234
+ amount: 8750.50,
235
+ customer: "Innovation Labs Inc",
236
+ counterparty: "Research Partners",
237
+ description: "R&D Funding Transfer",
238
+ transactionType: "Ach Originator Credit",
239
+ status: "FAILED",
240
+ updated: "2025-09-30 16:10"
241
+ }
242
+ ]
243
+
244
+ export const mockTransactionTimeline = [
245
+ {
246
+ id: "1",
247
+ action: "Transaction Created",
248
+ user: "System",
249
+ details: "Transaction initiated via API",
250
+ status: "Pending",
251
+ timestamp: "2025-10-01 00:16:23"
252
+ },
253
+ {
254
+ id: "2",
255
+ action: "Validation Completed",
256
+ user: "System",
257
+ details: "All validation checks passed",
258
+ timestamp: "2025-10-01 00:16:45"
259
+ },
260
+ {
261
+ id: "3",
262
+ action: "Assigned for Review",
263
+ user: "approverdev",
264
+ details: "Transaction assigned to compliance team",
265
+ status: "In Progress",
266
+ timestamp: "2025-10-01 00:17:12"
267
+ },
268
+ {
269
+ id: "4",
270
+ action: "Compliance Review",
271
+ user: "Sarah Johnson",
272
+ details: "AML and sanctions screening completed",
273
+ timestamp: "2025-10-01 00:18:30"
274
+ },
275
+ {
276
+ id: "5",
277
+ action: "Approved",
278
+ user: "Michael Chen",
279
+ details: "Transaction approved for processing",
280
+ status: "Closed",
281
+ timestamp: "2025-10-01 00:19:45"
282
+ }
283
+ ]
@@ -0,0 +1,103 @@
1
+ export interface WireTransferInfo {
2
+ transferType: string
3
+ }
4
+
5
+ export interface ReceiverInfo {
6
+ routingNumber: string
7
+ bankShortName: string
8
+ }
9
+
10
+ export interface BeneficiaryInfo {
11
+ accountNumber: string
12
+ address: {
13
+ street: string
14
+ city: string
15
+ state: string
16
+ postalCode: string
17
+ country: string
18
+ apartment?: string
19
+ }
20
+ }
21
+
22
+ export interface OriginatorFIInfo {
23
+ accountNumber: string
24
+ name: string
25
+ idType: string
26
+ idNumber: string
27
+ address: {
28
+ streetAddress: string
29
+ apartment?: string
30
+ city: string
31
+ state: string
32
+ postalCode: string
33
+ country: string
34
+ addressType?: string
35
+ }
36
+ }
37
+
38
+ export interface IntermediaryFIInfo {
39
+ accountNumber?: string
40
+ name: string
41
+ idType: string
42
+ idNumber: string
43
+ address?: {
44
+ streetAddress: string
45
+ apartment?: string
46
+ city: string
47
+ state: string
48
+ postalCode: string
49
+ country: string
50
+ addressType?: string
51
+ }
52
+ }
53
+
54
+ export const defaultWireTransferInfo: WireTransferInfo = {
55
+ transferType: "domestic"
56
+ }
57
+
58
+ export const defaultReceiverInfo: ReceiverInfo = {
59
+ routingNumber: "043087080",
60
+ bankShortName: "Bank of New York"
61
+ }
62
+
63
+ export const defaultBeneficiaryInfo: BeneficiaryInfo = {
64
+ accountNumber: "123456789012",
65
+ address: {
66
+ street: "123 Main Street",
67
+ city: "New York",
68
+ state: "NY",
69
+ postalCode: "10001",
70
+ country: "US",
71
+ apartment: "Apartment 4B"
72
+ }
73
+ }
74
+
75
+ export const defaultOriginatorFIInfo: OriginatorFIInfo = {
76
+ accountNumber: "987654321098",
77
+ name: "Originator Bank",
78
+ idType: "swift",
79
+ idNumber: "ORIGUS33XXX",
80
+ address: {
81
+ streetAddress: "270 Park Avenue",
82
+ city: "New York",
83
+ state: "NY",
84
+ postalCode: "10017",
85
+ country: "US",
86
+ addressType: "business"
87
+ }
88
+ }
89
+
90
+ export const defaultIntermediaryFIInfo: IntermediaryFIInfo = {
91
+ accountNumber: "555666777888",
92
+ name: "Intermediary Bank",
93
+ idType: "swift",
94
+ idNumber: "INTEUS33XXX",
95
+ address: {
96
+ streetAddress: "Taunusanlage 12",
97
+ city: "Frankfurt",
98
+ state: "HE",
99
+ postalCode: "60325",
100
+ country: "DE",
101
+ addressType: "business"
102
+ }
103
+ }
@@ -0,0 +1,180 @@
1
+ import { Building, Users, User, CreditCard } from "lucide-react"
2
+
3
+ export const mockCounterparties = [
4
+ {
5
+ id: "1",
6
+ name: "Acme Corporation",
7
+ type: "business",
8
+ businessType: "corporation",
9
+ status: "active",
10
+ description: "Leading technology solutions provider",
11
+ metadata: {
12
+ email: "contact@acme.com",
13
+ phone: "+1 (555) 123-4567",
14
+ country: "United States",
15
+ lastActivity: "2024-01-15"
16
+ }
17
+ },
18
+ {
19
+ id: "2",
20
+ name: "Global Tech LLC",
21
+ type: "business",
22
+ businessType: "llc",
23
+ status: "pending",
24
+ description: "Software development and consulting services",
25
+ metadata: {
26
+ email: "info@globaltech.com",
27
+ phone: "+1 (555) 987-6543",
28
+ country: "Canada",
29
+ lastActivity: "2024-01-10"
30
+ }
31
+ },
32
+ {
33
+ id: "3",
34
+ name: "John Smith",
35
+ type: "individual",
36
+ businessType: null,
37
+ status: "active",
38
+ description: "Individual contractor and consultant",
39
+ metadata: {
40
+ email: "john.smith@email.com",
41
+ phone: "+1 (555) 456-7890",
42
+ country: "United States",
43
+ lastActivity: "2024-01-20"
44
+ }
45
+ },
46
+ {
47
+ id: "4",
48
+ name: "Innovation Partners",
49
+ type: "business",
50
+ businessType: "partnership",
51
+ status: "inactive",
52
+ description: "Strategic business consulting firm",
53
+ metadata: {
54
+ email: "hello@innovation.com",
55
+ phone: "+1 (555) 321-0987",
56
+ country: "United Kingdom",
57
+ lastActivity: "2024-01-05"
58
+ }
59
+ }
60
+ ]
61
+
62
+ export const mockAccounts = [
63
+ {
64
+ id: "1",
65
+ name: "Primary Checking",
66
+ number: "****1234",
67
+ type: "checking" as const,
68
+ status: "active" as const,
69
+ balance: "$24,567.89",
70
+ currency: "USD",
71
+ institution: "JPMorgan Chase",
72
+ routingNumber: "021000021",
73
+ country: "United States"
74
+ },
75
+ {
76
+ id: "2",
77
+ name: "Business Savings",
78
+ number: "****5678",
79
+ type: "savings" as const,
80
+ status: "active" as const,
81
+ balance: "$150,000.00",
82
+ currency: "USD",
83
+ institution: "Bank of America",
84
+ routingNumber: "026009593",
85
+ country: "United States"
86
+ },
87
+ {
88
+ id: "3",
89
+ name: "Investment Account",
90
+ number: "****9012",
91
+ type: "investment" as const,
92
+ status: "pending" as const,
93
+ balance: "$75,432.10",
94
+ currency: "USD",
95
+ institution: "Fidelity Investments",
96
+ routingNumber: "011000235",
97
+ country: "United States"
98
+ }
99
+ ]
100
+
101
+ export const mockMetrics = [
102
+ {
103
+ title: "Total Counterparties",
104
+ value: "1,234",
105
+ description: "Active business relationships",
106
+ trend: {
107
+ value: 12,
108
+ label: "from last month",
109
+ direction: "up" as const
110
+ },
111
+ icon: <Building className="w-4 h-4" />,
112
+ variant: "default" as const
113
+ },
114
+ {
115
+ title: "Wire Transfers",
116
+ value: "$2.4M",
117
+ description: "This month",
118
+ trend: {
119
+ value: 8,
120
+ label: "from last month",
121
+ direction: "up" as const
122
+ },
123
+ icon: <CreditCard className="w-4 h-4" />,
124
+ variant: "success" as const
125
+ },
126
+ {
127
+ title: "ACH Transfers",
128
+ value: "567",
129
+ description: "Processed this week",
130
+ trend: {
131
+ value: -3,
132
+ label: "from last week",
133
+ direction: "down" as const
134
+ },
135
+ icon: <Users className="w-4 h-4" />,
136
+ variant: "warning" as const
137
+ },
138
+ {
139
+ title: "Pending Reviews",
140
+ value: "23",
141
+ description: "Require attention",
142
+ trend: {
143
+ value: 0,
144
+ label: "no change",
145
+ direction: "neutral" as const
146
+ },
147
+ icon: <User className="w-4 h-4" />,
148
+ variant: "destructive" as const
149
+ }
150
+ ]
151
+
152
+ export const mockTableData = [
153
+ {
154
+ id: "1",
155
+ name: "Acme Corporation",
156
+ type: "Business",
157
+ status: "Active",
158
+ amount: "$125,000",
159
+ date: "2024-01-15",
160
+ verified: true
161
+ },
162
+ {
163
+ id: "2",
164
+ name: "Global Tech LLC",
165
+ type: "Business",
166
+ status: "Pending",
167
+ amount: "$75,500",
168
+ date: "2024-01-12",
169
+ verified: false
170
+ },
171
+ {
172
+ id: "3",
173
+ name: "John Smith",
174
+ type: "Individual",
175
+ status: "Active",
176
+ amount: "$45,200",
177
+ date: "2024-01-10",
178
+ verified: true
179
+ }
180
+ ]
@@ -0,0 +1,30 @@
1
+ import { z } from "zod"
2
+
3
+ export const achBasicInfoSchema = z.object({
4
+ counterpartyName: z.string().min(1, "Counterparty name is required"),
5
+ shortName: z.string().min(1, "Short name is required"),
6
+ type: z.string().min(1, "Type is required"),
7
+ description: z.string().optional(),
8
+ })
9
+
10
+ export const achBankDetailsSchema = z.object({
11
+ gatewayRoutingNumber: z.string().min(9, "Gateway routing number must be at least 9 digits").max(9, "Gateway routing number must be 9 digits"),
12
+ rdfiNumberQualifier: z.string().min(1, "RDFI number qualifier is required"),
13
+ })
14
+
15
+ export const achTransferSchema = z.object({
16
+ basicInfo: achBasicInfoSchema,
17
+ bankDetails: achBankDetailsSchema,
18
+ })
19
+
20
+ export const bankingDetailsSchema = z.object({
21
+ primaryBank: z.string().min(1, "Primary bank is required"),
22
+ accountNumber: z.string().min(1, "Account number is required"),
23
+ routingNumber: z.string().min(9, "Routing number must be at least 9 digits").max(9, "Routing number must be 9 digits"),
24
+ accountType: z.string().min(1, "Account type is required"),
25
+ })
26
+
27
+ export type ACHBasicInfo = z.infer<typeof achBasicInfoSchema>
28
+ export type ACHBankDetails = z.infer<typeof achBankDetailsSchema>
29
+ export type ACHTransfer = z.infer<typeof achTransferSchema>
30
+ export type BankingDetails = z.infer<typeof bankingDetailsSchema>
@@ -0,0 +1,36 @@
1
+ import { z } from "zod"
2
+ import { addressSchema } from "./counterparty-schemas"
3
+
4
+ export const businessProfileSchema = z.object({
5
+ legalName: z.string().min(1, "Legal name is required"),
6
+ dbaName: z.string().optional(),
7
+ businessType: z.string().min(1, "Business type is required"),
8
+ taxId: z.string().min(1, "Tax ID is required"),
9
+ businessPhone: z.string().min(1, "Business phone is required"),
10
+ businessEmail: z.string().email("Invalid email format"),
11
+ website: z.string().url("Invalid URL format").optional().or(z.literal("")),
12
+ address: addressSchema,
13
+ })
14
+
15
+ export const businessStatusSchema = z.object({
16
+ status: z.string().min(1, "Status is required"),
17
+ cipStatus: z.string().min(1, "CIP status is required"),
18
+ createdDate: z.string(),
19
+ updatedDate: z.string(),
20
+ lastOFACDate: z.string(),
21
+ lastOFACStatus: z.string(),
22
+ })
23
+
24
+ export const businessRecordsSchema = z.object({
25
+ id: z.string(),
26
+ createdBy: z.string(),
27
+ createdAt: z.string(),
28
+ updatedBy: z.string(),
29
+ updatedAt: z.string(),
30
+ lastOFACDate: z.string(),
31
+ lastOFACStatus: z.string(),
32
+ })
33
+
34
+ export type BusinessProfile = z.infer<typeof businessProfileSchema>
35
+ export type BusinessStatus = z.infer<typeof businessStatusSchema>
36
+ export type BusinessRecords = z.infer<typeof businessRecordsSchema>