braid-ui 1.0.39 → 1.0.40
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/dist/index.cjs +627 -626
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +27 -1
- package/dist/index.d.ts +27 -1
- package/dist/index.js +627 -627
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5751,169 +5751,377 @@ var CounterpartiesView = ({
|
|
|
5751
5751
|
] });
|
|
5752
5752
|
};
|
|
5753
5753
|
|
|
5754
|
-
// src/lib/mock-data/
|
|
5755
|
-
var
|
|
5756
|
-
|
|
5757
|
-
|
|
5758
|
-
|
|
5759
|
-
|
|
5760
|
-
|
|
5761
|
-
|
|
5762
|
-
|
|
5763
|
-
|
|
5764
|
-
|
|
5765
|
-
|
|
5766
|
-
|
|
5767
|
-
|
|
5768
|
-
|
|
5769
|
-
|
|
5770
|
-
|
|
5771
|
-
description: "ACH transfer for Acme Corporation"
|
|
5772
|
-
},
|
|
5773
|
-
bankDetails: defaultACHBankDetails
|
|
5774
|
-
};
|
|
5775
|
-
var ACHBankCard = ({ data, onDataChange, isEditing, onToggleEdit, className, hideActions }) => {
|
|
5776
|
-
const form = useFormWithEditState({
|
|
5777
|
-
schema: achTransferSchema,
|
|
5778
|
-
defaultValues: { ...defaultACHTransfer, ...data },
|
|
5779
|
-
initialEditing: isEditing,
|
|
5780
|
-
onToggleEdit,
|
|
5781
|
-
onSave: onDataChange
|
|
5782
|
-
});
|
|
5783
|
-
const editContent = /* @__PURE__ */ jsx(FormProvider, { form, children: /* @__PURE__ */ jsx("div", { className: "space-y-6", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [
|
|
5784
|
-
/* @__PURE__ */ jsx(
|
|
5785
|
-
FormInput,
|
|
5786
|
-
{
|
|
5787
|
-
name: "bankDetails.gatewayRoutingNumber",
|
|
5788
|
-
label: "Gateway Routing Number",
|
|
5789
|
-
placeholder: "Enter gateway routing number",
|
|
5790
|
-
pattern: "[0-9]{9}",
|
|
5791
|
-
maxLength: 9,
|
|
5792
|
-
hint: "9-digit gateway routing number",
|
|
5793
|
-
required: true
|
|
5794
|
-
}
|
|
5795
|
-
),
|
|
5796
|
-
/* @__PURE__ */ jsx(
|
|
5797
|
-
FormInput,
|
|
5798
|
-
{
|
|
5799
|
-
name: "bankDetails.rdfiNumberQualifier",
|
|
5800
|
-
label: "RDFI Number Qualifier",
|
|
5801
|
-
placeholder: "Enter RDFI qualifier",
|
|
5802
|
-
maxLength: 2,
|
|
5803
|
-
hint: "2-digit RDFI number qualifier",
|
|
5804
|
-
required: true
|
|
5805
|
-
}
|
|
5806
|
-
)
|
|
5807
|
-
] }) }) });
|
|
5808
|
-
const viewContent = /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [
|
|
5809
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Gateway Routing Number", value: form.getValues("bankDetails.gatewayRoutingNumber"), layout: "horizontal" }),
|
|
5810
|
-
/* @__PURE__ */ jsx(InfoField, { label: "RDFI Number Qualifier", value: form.getValues("bankDetails.rdfiNumberQualifier"), layout: "horizontal" })
|
|
5811
|
-
] });
|
|
5812
|
-
return /* @__PURE__ */ jsx(
|
|
5813
|
-
EditableFormCard,
|
|
5814
|
-
{
|
|
5815
|
-
title: "ACH Bank Details",
|
|
5816
|
-
description: "ACH-specific routing and qualification information",
|
|
5817
|
-
variant: "subtle",
|
|
5818
|
-
className,
|
|
5819
|
-
isEditing: form.isEditing,
|
|
5820
|
-
onToggleEdit: form.handleToggleEdit,
|
|
5821
|
-
onSave: form.handleSave,
|
|
5822
|
-
onCancel: form.handleCancel,
|
|
5823
|
-
hideActions,
|
|
5824
|
-
isFormValid: form.isFormValid,
|
|
5825
|
-
isDirty: form.isDirty,
|
|
5826
|
-
editContent,
|
|
5827
|
-
viewContent
|
|
5828
|
-
}
|
|
5829
|
-
);
|
|
5754
|
+
// src/lib/mock-data/counterparty-data.ts
|
|
5755
|
+
var defaultCounterpartyDetail = {
|
|
5756
|
+
email: "contact@acme.com",
|
|
5757
|
+
phone: "+1 (555) 123-4567",
|
|
5758
|
+
dateOfBirth: "1985-03-15",
|
|
5759
|
+
idNumber: "ID-123456789",
|
|
5760
|
+
idType: "product_id",
|
|
5761
|
+
idValue: "PROD-001",
|
|
5762
|
+
address: {
|
|
5763
|
+
line1: "123 Business Ave",
|
|
5764
|
+
line2: "Suite 100",
|
|
5765
|
+
city: "New York",
|
|
5766
|
+
state: "NY",
|
|
5767
|
+
postalCode: "10001",
|
|
5768
|
+
countryCode: "US",
|
|
5769
|
+
type: "MAILING"
|
|
5770
|
+
}
|
|
5830
5771
|
};
|
|
5831
|
-
var
|
|
5772
|
+
var CounterpartyProfileCard = ({
|
|
5832
5773
|
data,
|
|
5833
5774
|
onDataChange,
|
|
5834
|
-
isEditing,
|
|
5775
|
+
isEditing = false,
|
|
5835
5776
|
onToggleEdit,
|
|
5836
|
-
|
|
5837
|
-
|
|
5777
|
+
hideActions = false,
|
|
5778
|
+
className
|
|
5838
5779
|
}) => {
|
|
5780
|
+
const navigate = useNavigate();
|
|
5839
5781
|
const form = useFormWithEditState({
|
|
5840
|
-
schema:
|
|
5841
|
-
defaultValues: { ...
|
|
5782
|
+
schema: counterpartyDetailSchema,
|
|
5783
|
+
defaultValues: { ...defaultCounterpartyDetail, ...data },
|
|
5842
5784
|
initialEditing: isEditing,
|
|
5843
5785
|
onToggleEdit,
|
|
5844
5786
|
onSave: onDataChange
|
|
5845
5787
|
});
|
|
5846
5788
|
const editContent = /* @__PURE__ */ jsx(FormProvider, { form, children: /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
5847
|
-
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-
|
|
5789
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [
|
|
5790
|
+
/* @__PURE__ */ jsx(
|
|
5791
|
+
FormSelect,
|
|
5792
|
+
{
|
|
5793
|
+
name: "idType",
|
|
5794
|
+
label: "Associated with",
|
|
5795
|
+
placeholder: "Select association type",
|
|
5796
|
+
options: [
|
|
5797
|
+
{ value: "product_id", label: "Product ID" },
|
|
5798
|
+
{ value: "business_id", label: "Business ID" },
|
|
5799
|
+
{ value: "individual_id", label: "Individual ID" },
|
|
5800
|
+
{ value: "account_number", label: "Account Number" }
|
|
5801
|
+
]
|
|
5802
|
+
}
|
|
5803
|
+
),
|
|
5848
5804
|
/* @__PURE__ */ jsx(
|
|
5849
5805
|
FormInput,
|
|
5850
5806
|
{
|
|
5851
|
-
name: "
|
|
5852
|
-
label: "
|
|
5853
|
-
placeholder: "Enter
|
|
5854
|
-
required: true
|
|
5807
|
+
name: "idValue",
|
|
5808
|
+
label: form.watch("idType") === "product_id" ? "Product ID" : form.watch("idType") === "business_id" ? "Business ID" : form.watch("idType") === "individual_id" ? "Individual ID" : "Account Number",
|
|
5809
|
+
placeholder: "Enter ID value"
|
|
5855
5810
|
}
|
|
5856
5811
|
),
|
|
5857
5812
|
/* @__PURE__ */ jsx(
|
|
5858
5813
|
FormInput,
|
|
5859
5814
|
{
|
|
5860
|
-
name: "
|
|
5861
|
-
label: "
|
|
5862
|
-
|
|
5863
|
-
|
|
5815
|
+
name: "email",
|
|
5816
|
+
label: "Email",
|
|
5817
|
+
type: "email",
|
|
5818
|
+
placeholder: "Enter email address"
|
|
5819
|
+
}
|
|
5820
|
+
),
|
|
5821
|
+
/* @__PURE__ */ jsx(
|
|
5822
|
+
FormInput,
|
|
5823
|
+
{
|
|
5824
|
+
name: "phone",
|
|
5825
|
+
label: "Phone Number",
|
|
5826
|
+
type: "tel",
|
|
5827
|
+
placeholder: "Enter phone number"
|
|
5828
|
+
}
|
|
5829
|
+
),
|
|
5830
|
+
/* @__PURE__ */ jsx(
|
|
5831
|
+
FormInput,
|
|
5832
|
+
{
|
|
5833
|
+
name: "dateOfBirth",
|
|
5834
|
+
label: "Date of Birth",
|
|
5835
|
+
type: "date",
|
|
5836
|
+
placeholder: "Select date of birth"
|
|
5837
|
+
}
|
|
5838
|
+
),
|
|
5839
|
+
/* @__PURE__ */ jsx(
|
|
5840
|
+
FormInput,
|
|
5841
|
+
{
|
|
5842
|
+
name: "idNumber",
|
|
5843
|
+
label: "ID Number",
|
|
5844
|
+
placeholder: "Enter ID number"
|
|
5864
5845
|
}
|
|
5865
5846
|
)
|
|
5866
5847
|
] }),
|
|
5867
|
-
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1
|
|
5848
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 gap-4", children: [
|
|
5868
5849
|
/* @__PURE__ */ jsx(
|
|
5869
|
-
|
|
5850
|
+
FormInput,
|
|
5870
5851
|
{
|
|
5871
|
-
name: "
|
|
5872
|
-
label: "
|
|
5873
|
-
placeholder: "
|
|
5874
|
-
options: [
|
|
5875
|
-
{ value: "business", label: "Business" },
|
|
5876
|
-
{ value: "individual", label: "Individual" }
|
|
5877
|
-
]
|
|
5852
|
+
name: "address.line1",
|
|
5853
|
+
label: "Street Address",
|
|
5854
|
+
placeholder: "Enter street address"
|
|
5878
5855
|
}
|
|
5879
5856
|
),
|
|
5880
5857
|
/* @__PURE__ */ jsx(
|
|
5881
5858
|
FormInput,
|
|
5882
5859
|
{
|
|
5883
|
-
name: "
|
|
5884
|
-
label: "
|
|
5885
|
-
placeholder: "Enter
|
|
5860
|
+
name: "address.line2",
|
|
5861
|
+
label: "Apartment, suite, or floor",
|
|
5862
|
+
placeholder: "Enter apartment, suite, or floor"
|
|
5863
|
+
}
|
|
5864
|
+
)
|
|
5865
|
+
] }),
|
|
5866
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [
|
|
5867
|
+
/* @__PURE__ */ jsx(
|
|
5868
|
+
FormInput,
|
|
5869
|
+
{
|
|
5870
|
+
name: "address.city",
|
|
5871
|
+
label: "City",
|
|
5872
|
+
placeholder: "Enter city"
|
|
5873
|
+
}
|
|
5874
|
+
),
|
|
5875
|
+
/* @__PURE__ */ jsx(
|
|
5876
|
+
FormInput,
|
|
5877
|
+
{
|
|
5878
|
+
name: "address.state",
|
|
5879
|
+
label: "State",
|
|
5880
|
+
placeholder: "Enter state"
|
|
5881
|
+
}
|
|
5882
|
+
),
|
|
5883
|
+
/* @__PURE__ */ jsx(
|
|
5884
|
+
FormInput,
|
|
5885
|
+
{
|
|
5886
|
+
name: "address.postalCode",
|
|
5887
|
+
label: "Postal Code",
|
|
5888
|
+
placeholder: "Enter postal code"
|
|
5889
|
+
}
|
|
5890
|
+
),
|
|
5891
|
+
/* @__PURE__ */ jsx(
|
|
5892
|
+
FormInput,
|
|
5893
|
+
{
|
|
5894
|
+
name: "address.countryCode",
|
|
5895
|
+
label: "Country Code",
|
|
5896
|
+
placeholder: "e.g., US"
|
|
5886
5897
|
}
|
|
5887
5898
|
)
|
|
5888
5899
|
] })
|
|
5889
5900
|
] }) });
|
|
5890
|
-
const
|
|
5891
|
-
|
|
5892
|
-
|
|
5893
|
-
|
|
5894
|
-
|
|
5895
|
-
|
|
5896
|
-
|
|
5897
|
-
|
|
5898
|
-
|
|
5899
|
-
|
|
5900
|
-
|
|
5901
|
-
|
|
5902
|
-
|
|
5903
|
-
onToggleEdit: form.handleToggleEdit,
|
|
5904
|
-
onSave: form.handleSave,
|
|
5905
|
-
onCancel: form.handleCancel,
|
|
5906
|
-
hideActions,
|
|
5907
|
-
isFormValid: form.isFormValid,
|
|
5908
|
-
isDirty: form.isDirty,
|
|
5909
|
-
editContent,
|
|
5910
|
-
viewContent
|
|
5901
|
+
const formValues = form.watch();
|
|
5902
|
+
const idTypeLabel = formValues?.idType === "product_id" ? "Product ID" : formValues?.idType === "business_id" ? "Business ID" : formValues?.idType === "individual_id" ? "Individual ID" : "Account Number";
|
|
5903
|
+
const getEntityLink = () => {
|
|
5904
|
+
if (!formValues?.idValue) return null;
|
|
5905
|
+
switch (formValues?.idType) {
|
|
5906
|
+
case "business_id":
|
|
5907
|
+
return `/business/${formValues.idValue}`;
|
|
5908
|
+
case "individual_id":
|
|
5909
|
+
return `/individual/${formValues.idValue}`;
|
|
5910
|
+
case "account_number":
|
|
5911
|
+
return `/account/${formValues.idValue}`;
|
|
5912
|
+
default:
|
|
5913
|
+
return null;
|
|
5911
5914
|
}
|
|
5912
|
-
|
|
5913
|
-
|
|
5914
|
-
|
|
5915
|
-
|
|
5916
|
-
|
|
5915
|
+
};
|
|
5916
|
+
const entityLink = getEntityLink();
|
|
5917
|
+
const viewContent = /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
|
|
5918
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
5919
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Associated with", value: formValues?.idType === "product_id" ? "Product ID" : formValues?.idType === "business_id" ? "Business ID" : formValues?.idType === "individual_id" ? "Individual ID" : "Account Number", layout: "horizontal" }),
|
|
5920
|
+
/* @__PURE__ */ jsx(
|
|
5921
|
+
InfoField,
|
|
5922
|
+
{
|
|
5923
|
+
label: idTypeLabel,
|
|
5924
|
+
value: entityLink ? /* @__PURE__ */ jsx(
|
|
5925
|
+
"button",
|
|
5926
|
+
{
|
|
5927
|
+
onClick: (e) => {
|
|
5928
|
+
e.preventDefault();
|
|
5929
|
+
navigate(entityLink);
|
|
5930
|
+
},
|
|
5931
|
+
className: "text-primary hover:underline font-medium text-left cursor-pointer",
|
|
5932
|
+
children: formValues?.idValue || "-"
|
|
5933
|
+
}
|
|
5934
|
+
) : formValues?.idValue || "-",
|
|
5935
|
+
layout: "horizontal"
|
|
5936
|
+
}
|
|
5937
|
+
)
|
|
5938
|
+
] }),
|
|
5939
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
5940
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Email", value: formValues?.email || "-", layout: "horizontal" }),
|
|
5941
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Phone Number", value: formValues?.phone || "-", layout: "horizontal" })
|
|
5942
|
+
] }),
|
|
5943
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
5944
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Date of Birth", value: formValues?.dateOfBirth || "-", layout: "horizontal" }),
|
|
5945
|
+
/* @__PURE__ */ jsx(InfoField, { label: "ID Number", value: formValues?.idNumber || "-", layout: "horizontal" })
|
|
5946
|
+
] }),
|
|
5947
|
+
/* @__PURE__ */ jsx(
|
|
5948
|
+
InfoField,
|
|
5949
|
+
{
|
|
5950
|
+
label: "Address",
|
|
5951
|
+
value: formValues?.address ? `${formValues.address.line1 || ""}${formValues.address.line2 ? ", " + formValues.address.line2 : ""}, ${formValues.address.city || ""}, ${formValues.address.state || ""} ${formValues.address.postalCode || ""}, ${formValues.address.countryCode || ""}` : "-",
|
|
5952
|
+
layout: "horizontal"
|
|
5953
|
+
}
|
|
5954
|
+
)
|
|
5955
|
+
] });
|
|
5956
|
+
return /* @__PURE__ */ jsx(
|
|
5957
|
+
EditableFormCard,
|
|
5958
|
+
{
|
|
5959
|
+
title: "Profile Information",
|
|
5960
|
+
variant: "subtle",
|
|
5961
|
+
className,
|
|
5962
|
+
isEditing: form.isEditing,
|
|
5963
|
+
onToggleEdit: form.handleToggleEdit,
|
|
5964
|
+
onSave: form.handleSave,
|
|
5965
|
+
onCancel: form.handleCancel,
|
|
5966
|
+
hideActions,
|
|
5967
|
+
editContent,
|
|
5968
|
+
viewContent
|
|
5969
|
+
}
|
|
5970
|
+
);
|
|
5971
|
+
};
|
|
5972
|
+
var mockCounterpartyTimeline = [
|
|
5973
|
+
{
|
|
5974
|
+
id: "1",
|
|
5975
|
+
action: "Counterparty Created",
|
|
5976
|
+
user: "admin",
|
|
5977
|
+
details: "Initial counterparty setup",
|
|
5978
|
+
status: "Active",
|
|
5979
|
+
timestamp: "2024-01-15 10:30:00"
|
|
5980
|
+
},
|
|
5981
|
+
{
|
|
5982
|
+
id: "2",
|
|
5983
|
+
action: "Profile Updated",
|
|
5984
|
+
user: "admin",
|
|
5985
|
+
details: "Updated counterparty information",
|
|
5986
|
+
timestamp: "2024-01-20 14:22:00"
|
|
5987
|
+
},
|
|
5988
|
+
{
|
|
5989
|
+
id: "3",
|
|
5990
|
+
action: "OFAC Check Completed",
|
|
5991
|
+
user: "System",
|
|
5992
|
+
details: "Automated compliance check",
|
|
5993
|
+
status: "Verified",
|
|
5994
|
+
timestamp: "2024-01-20 14:30:00"
|
|
5995
|
+
}
|
|
5996
|
+
];
|
|
5997
|
+
var CounterpartyStatusCard = ({ isEditing, onToggleEdit, className }) => {
|
|
5998
|
+
const getIcon = (action) => {
|
|
5999
|
+
if (action.includes("Created")) return /* @__PURE__ */ jsx(Circle, { className: "h-4 w-4" });
|
|
6000
|
+
if (action.includes("Assigned")) return /* @__PURE__ */ jsx(UserPlus, { className: "h-4 w-4" });
|
|
6001
|
+
if (action.includes("Updated") || action.includes("Modified") || action.includes("Check")) return /* @__PURE__ */ jsx(Edit, { className: "h-4 w-4" });
|
|
6002
|
+
if (action.includes("Completed") || action.includes("Verified")) return /* @__PURE__ */ jsx(CheckCircle, { className: "h-4 w-4" });
|
|
6003
|
+
return /* @__PURE__ */ jsx(Circle, { className: "h-4 w-4" });
|
|
6004
|
+
};
|
|
6005
|
+
const getStatusColor2 = (status) => {
|
|
6006
|
+
switch (status) {
|
|
6007
|
+
case "Active":
|
|
6008
|
+
case "Verified":
|
|
6009
|
+
return "text-success";
|
|
6010
|
+
case "Pending":
|
|
6011
|
+
return "text-warning";
|
|
6012
|
+
default:
|
|
6013
|
+
return "text-muted-foreground";
|
|
6014
|
+
}
|
|
6015
|
+
};
|
|
6016
|
+
return /* @__PURE__ */ jsx(
|
|
6017
|
+
FormCard,
|
|
6018
|
+
{
|
|
6019
|
+
title: "Timeline",
|
|
6020
|
+
className,
|
|
6021
|
+
children: /* @__PURE__ */ jsx("div", { className: "space-y-3", children: mockCounterpartyTimeline.map((event, index) => /* @__PURE__ */ jsxs("div", { className: "relative pl-6 pb-3", children: [
|
|
6022
|
+
index !== mockCounterpartyTimeline.length - 1 && /* @__PURE__ */ jsx("div", { className: "absolute left-[7px] top-5 bottom-0 w-[2px] bg-border" }),
|
|
6023
|
+
/* @__PURE__ */ jsx("div", { className: cn(
|
|
6024
|
+
"absolute left-0 top-0 flex-none",
|
|
6025
|
+
getStatusColor2(event.status)
|
|
6026
|
+
), children: /* @__PURE__ */ jsx("div", { className: "h-4 w-4", children: getIcon(event.action) }) }),
|
|
6027
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-0.5", children: [
|
|
6028
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs font-medium text-foreground", children: event.action }),
|
|
6029
|
+
/* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground", children: [
|
|
6030
|
+
"by ",
|
|
6031
|
+
event.user
|
|
6032
|
+
] }),
|
|
6033
|
+
event.details && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: event.details }),
|
|
6034
|
+
event.status && /* @__PURE__ */ jsxs("p", { className: cn("text-xs font-medium", getStatusColor2(event.status)), children: [
|
|
6035
|
+
"Status: ",
|
|
6036
|
+
event.status
|
|
6037
|
+
] }),
|
|
6038
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground/70 pt-0.5", children: event.timestamp })
|
|
6039
|
+
] })
|
|
6040
|
+
] }, event.id)) })
|
|
6041
|
+
}
|
|
6042
|
+
);
|
|
6043
|
+
};
|
|
6044
|
+
var typeConfig2 = {
|
|
6045
|
+
BUSINESS: {
|
|
6046
|
+
variant: "business",
|
|
6047
|
+
label: "Business",
|
|
6048
|
+
icon: Building2
|
|
6049
|
+
},
|
|
6050
|
+
INDIVIDUAL: {
|
|
6051
|
+
variant: "individual",
|
|
6052
|
+
label: "Individual",
|
|
6053
|
+
icon: User
|
|
6054
|
+
}
|
|
6055
|
+
};
|
|
6056
|
+
var CounterpartyTypeBadge = ({ type, className }) => {
|
|
6057
|
+
const config = typeConfig2[type];
|
|
6058
|
+
if (!config) {
|
|
6059
|
+
return /* @__PURE__ */ jsxs(Badge, { variant: "secondary", className, children: [
|
|
6060
|
+
/* @__PURE__ */ jsx(Building2, { className: "w-3 h-3 mr-1" }),
|
|
6061
|
+
type || "Unknown"
|
|
6062
|
+
] });
|
|
6063
|
+
}
|
|
6064
|
+
const Icon2 = config.icon;
|
|
6065
|
+
return /* @__PURE__ */ jsxs(Badge, { variant: config.variant, className, children: [
|
|
6066
|
+
/* @__PURE__ */ jsx(Icon2, { className: "w-3 h-3 mr-1" }),
|
|
6067
|
+
config.label
|
|
6068
|
+
] });
|
|
6069
|
+
};
|
|
6070
|
+
var PaymentMethodCard = ({
|
|
6071
|
+
type,
|
|
6072
|
+
fiId,
|
|
6073
|
+
accountNumber,
|
|
6074
|
+
bankName,
|
|
6075
|
+
accountType,
|
|
6076
|
+
beneficiaryBankName,
|
|
6077
|
+
correspondentBankId,
|
|
6078
|
+
intermediaryBankId,
|
|
6079
|
+
className
|
|
6080
|
+
}) => {
|
|
6081
|
+
const getIcon = () => {
|
|
6082
|
+
switch (type) {
|
|
6083
|
+
case "ACH":
|
|
6084
|
+
return Building2;
|
|
6085
|
+
case "Domestic Wire":
|
|
6086
|
+
return Landmark;
|
|
6087
|
+
case "International Wire":
|
|
6088
|
+
return Globe;
|
|
6089
|
+
default:
|
|
6090
|
+
return Building2;
|
|
6091
|
+
}
|
|
6092
|
+
};
|
|
6093
|
+
const Icon2 = getIcon();
|
|
6094
|
+
return /* @__PURE__ */ jsxs(Card, { className: cn("hover:bg-muted/50 transition-colors", className), children: [
|
|
6095
|
+
/* @__PURE__ */ jsxs(CardHeader, { className: "flex flex-row items-start justify-between space-y-0 pb-3", children: [
|
|
6096
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
6097
|
+
/* @__PURE__ */ jsx(Icon2, { className: "h-4 w-4 text-muted-foreground" }),
|
|
6098
|
+
/* @__PURE__ */ jsx("span", { className: "font-medium text-sm", children: type })
|
|
6099
|
+
] }),
|
|
6100
|
+
/* @__PURE__ */ jsx(Button, { variant: "ghost", size: "sm", className: "h-8 w-8 p-0", children: /* @__PURE__ */ jsx(MoreVertical, { className: "h-4 w-4" }) })
|
|
6101
|
+
] }),
|
|
6102
|
+
/* @__PURE__ */ jsxs(CardContent, { className: "space-y-3", children: [
|
|
6103
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-3", children: [
|
|
6104
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Beneficiary FI ID", value: fiId }),
|
|
6105
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Account Number", value: accountNumber })
|
|
6106
|
+
] }),
|
|
6107
|
+
type === "ACH" && /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-3", children: [
|
|
6108
|
+
bankName && /* @__PURE__ */ jsx(InfoField, { label: "Bank Name", value: bankName }),
|
|
6109
|
+
accountType && /* @__PURE__ */ jsx(InfoField, { label: "Account Type", value: accountType })
|
|
6110
|
+
] }),
|
|
6111
|
+
type === "Domestic Wire" && bankName && /* @__PURE__ */ jsx(InfoField, { label: "Bank Name", value: bankName }),
|
|
6112
|
+
type === "International Wire" && /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
|
|
6113
|
+
beneficiaryBankName && /* @__PURE__ */ jsx(InfoField, { label: "Beneficiary Bank Name", value: beneficiaryBankName }),
|
|
6114
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-3", children: [
|
|
6115
|
+
correspondentBankId && /* @__PURE__ */ jsx(InfoField, { label: "Correspondent Bank ID", value: correspondentBankId }),
|
|
6116
|
+
intermediaryBankId && /* @__PURE__ */ jsx(InfoField, { label: "Intermediary Bank ID", value: intermediaryBankId })
|
|
6117
|
+
] })
|
|
6118
|
+
] })
|
|
6119
|
+
] })
|
|
6120
|
+
] });
|
|
6121
|
+
};
|
|
6122
|
+
var typeClasses = {
|
|
6123
|
+
cards: "grid-cols-1 md:grid-cols-2 lg:grid-cols-3",
|
|
6124
|
+
forms: "grid-cols-1 lg:grid-cols-2",
|
|
5917
6125
|
data: "grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",
|
|
5918
6126
|
custom: ""
|
|
5919
6127
|
};
|
|
@@ -5942,6 +6150,242 @@ var ResponsiveGrid = React15.forwardRef(
|
|
|
5942
6150
|
}
|
|
5943
6151
|
);
|
|
5944
6152
|
ResponsiveGrid.displayName = "ResponsiveGrid";
|
|
6153
|
+
var CounterpartyDetailView = ({
|
|
6154
|
+
counterpartyName,
|
|
6155
|
+
counterpartyType,
|
|
6156
|
+
currentStatus,
|
|
6157
|
+
isEditingProfile,
|
|
6158
|
+
mockPaymentMethods: mockPaymentMethods2,
|
|
6159
|
+
documentsTable,
|
|
6160
|
+
onStatusChange,
|
|
6161
|
+
onToggleProfileEdit,
|
|
6162
|
+
onAddPaymentMethod,
|
|
6163
|
+
onAddDocument
|
|
6164
|
+
}) => {
|
|
6165
|
+
return /* @__PURE__ */ jsx(
|
|
6166
|
+
PageLayout,
|
|
6167
|
+
{
|
|
6168
|
+
title: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
6169
|
+
/* @__PURE__ */ jsx("span", { children: counterpartyName }),
|
|
6170
|
+
/* @__PURE__ */ jsx(
|
|
6171
|
+
EditableInfoField,
|
|
6172
|
+
{
|
|
6173
|
+
label: "",
|
|
6174
|
+
value: currentStatus,
|
|
6175
|
+
options: [
|
|
6176
|
+
{ value: "ACTIVE", label: "Active" },
|
|
6177
|
+
{ value: "INACTIVE", label: "Inactive" },
|
|
6178
|
+
{ value: "PENDING", label: "Pending" },
|
|
6179
|
+
{ value: "SUSPENDED", label: "Suspended" }
|
|
6180
|
+
],
|
|
6181
|
+
onChange: onStatusChange,
|
|
6182
|
+
renderValue: (value) => /* @__PURE__ */ jsx(StatusBadge, { status: value }),
|
|
6183
|
+
className: "inline-block"
|
|
6184
|
+
}
|
|
6185
|
+
),
|
|
6186
|
+
/* @__PURE__ */ jsx(CounterpartyTypeBadge, { type: counterpartyType })
|
|
6187
|
+
] }),
|
|
6188
|
+
maxWidth: "full",
|
|
6189
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col lg:flex-row items-start gap-4", children: [
|
|
6190
|
+
/* @__PURE__ */ jsxs("div", { className: "flex-1 space-y-4", children: [
|
|
6191
|
+
/* @__PURE__ */ jsx(
|
|
6192
|
+
CounterpartyProfileCard,
|
|
6193
|
+
{
|
|
6194
|
+
isEditing: isEditingProfile,
|
|
6195
|
+
onToggleEdit: onToggleProfileEdit
|
|
6196
|
+
}
|
|
6197
|
+
),
|
|
6198
|
+
/* @__PURE__ */ jsxs(Card, { children: [
|
|
6199
|
+
/* @__PURE__ */ jsxs(CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-4", children: [
|
|
6200
|
+
/* @__PURE__ */ jsx(CardTitle, { children: "Payment Methods" }),
|
|
6201
|
+
/* @__PURE__ */ jsxs(Button, { size: "sm", variant: "ghost", onClick: onAddPaymentMethod, children: [
|
|
6202
|
+
/* @__PURE__ */ jsx(Plus, { className: "h-4 w-4 mr-1" }),
|
|
6203
|
+
"Method"
|
|
6204
|
+
] })
|
|
6205
|
+
] }),
|
|
6206
|
+
/* @__PURE__ */ jsx(CardContent, { children: mockPaymentMethods2.length === 0 ? /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-center gap-2 py-4 text-sm text-muted-foreground", children: [
|
|
6207
|
+
/* @__PURE__ */ jsx(Wallet, { className: "h-5 w-5 opacity-50" }),
|
|
6208
|
+
/* @__PURE__ */ jsx("p", { children: "No payment methods configured" })
|
|
6209
|
+
] }) : /* @__PURE__ */ jsx(ResponsiveGrid, { type: "forms", gap: "md", children: mockPaymentMethods2.map((method, index) => /* @__PURE__ */ jsx(PaymentMethodCard, { ...method }, index)) }) })
|
|
6210
|
+
] }),
|
|
6211
|
+
/* @__PURE__ */ jsxs(Card, { children: [
|
|
6212
|
+
/* @__PURE__ */ jsxs(CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-4", children: [
|
|
6213
|
+
/* @__PURE__ */ jsx(CardTitle, { children: "Documents" }),
|
|
6214
|
+
/* @__PURE__ */ jsxs(Button, { size: "sm", variant: "ghost", onClick: onAddDocument, children: [
|
|
6215
|
+
/* @__PURE__ */ jsx(Plus, { className: "h-4 w-4 mr-1" }),
|
|
6216
|
+
"Document"
|
|
6217
|
+
] })
|
|
6218
|
+
] }),
|
|
6219
|
+
/* @__PURE__ */ jsx(CardContent, { children: documentsTable })
|
|
6220
|
+
] })
|
|
6221
|
+
] }),
|
|
6222
|
+
/* @__PURE__ */ jsx("div", { className: "lg:w-64", children: /* @__PURE__ */ jsx(CounterpartyStatusCard, { isEditing: false, onToggleEdit: () => {
|
|
6223
|
+
} }) })
|
|
6224
|
+
] })
|
|
6225
|
+
}
|
|
6226
|
+
);
|
|
6227
|
+
};
|
|
6228
|
+
|
|
6229
|
+
// src/lib/mock-data/banking-data.ts
|
|
6230
|
+
var defaultACHBankDetails = {
|
|
6231
|
+
gatewayRoutingNumber: "043087080",
|
|
6232
|
+
rdfiNumberQualifier: "01"
|
|
6233
|
+
};
|
|
6234
|
+
var defaultBankAddress = {
|
|
6235
|
+
street: "270 Park Avenue",
|
|
6236
|
+
city: "New York",
|
|
6237
|
+
state: "NY",
|
|
6238
|
+
postalCode: "10017",
|
|
6239
|
+
country: "US"
|
|
6240
|
+
};
|
|
6241
|
+
var defaultACHTransfer = {
|
|
6242
|
+
basicInfo: {
|
|
6243
|
+
counterpartyName: "Acme Corporation",
|
|
6244
|
+
shortName: "ACME",
|
|
6245
|
+
type: "business",
|
|
6246
|
+
description: "ACH transfer for Acme Corporation"
|
|
6247
|
+
},
|
|
6248
|
+
bankDetails: defaultACHBankDetails
|
|
6249
|
+
};
|
|
6250
|
+
var ACHBankCard = ({ data, onDataChange, isEditing, onToggleEdit, className, hideActions }) => {
|
|
6251
|
+
const form = useFormWithEditState({
|
|
6252
|
+
schema: achTransferSchema,
|
|
6253
|
+
defaultValues: { ...defaultACHTransfer, ...data },
|
|
6254
|
+
initialEditing: isEditing,
|
|
6255
|
+
onToggleEdit,
|
|
6256
|
+
onSave: onDataChange
|
|
6257
|
+
});
|
|
6258
|
+
const editContent = /* @__PURE__ */ jsx(FormProvider, { form, children: /* @__PURE__ */ jsx("div", { className: "space-y-6", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [
|
|
6259
|
+
/* @__PURE__ */ jsx(
|
|
6260
|
+
FormInput,
|
|
6261
|
+
{
|
|
6262
|
+
name: "bankDetails.gatewayRoutingNumber",
|
|
6263
|
+
label: "Gateway Routing Number",
|
|
6264
|
+
placeholder: "Enter gateway routing number",
|
|
6265
|
+
pattern: "[0-9]{9}",
|
|
6266
|
+
maxLength: 9,
|
|
6267
|
+
hint: "9-digit gateway routing number",
|
|
6268
|
+
required: true
|
|
6269
|
+
}
|
|
6270
|
+
),
|
|
6271
|
+
/* @__PURE__ */ jsx(
|
|
6272
|
+
FormInput,
|
|
6273
|
+
{
|
|
6274
|
+
name: "bankDetails.rdfiNumberQualifier",
|
|
6275
|
+
label: "RDFI Number Qualifier",
|
|
6276
|
+
placeholder: "Enter RDFI qualifier",
|
|
6277
|
+
maxLength: 2,
|
|
6278
|
+
hint: "2-digit RDFI number qualifier",
|
|
6279
|
+
required: true
|
|
6280
|
+
}
|
|
6281
|
+
)
|
|
6282
|
+
] }) }) });
|
|
6283
|
+
const viewContent = /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [
|
|
6284
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Gateway Routing Number", value: form.getValues("bankDetails.gatewayRoutingNumber"), layout: "horizontal" }),
|
|
6285
|
+
/* @__PURE__ */ jsx(InfoField, { label: "RDFI Number Qualifier", value: form.getValues("bankDetails.rdfiNumberQualifier"), layout: "horizontal" })
|
|
6286
|
+
] });
|
|
6287
|
+
return /* @__PURE__ */ jsx(
|
|
6288
|
+
EditableFormCard,
|
|
6289
|
+
{
|
|
6290
|
+
title: "ACH Bank Details",
|
|
6291
|
+
description: "ACH-specific routing and qualification information",
|
|
6292
|
+
variant: "subtle",
|
|
6293
|
+
className,
|
|
6294
|
+
isEditing: form.isEditing,
|
|
6295
|
+
onToggleEdit: form.handleToggleEdit,
|
|
6296
|
+
onSave: form.handleSave,
|
|
6297
|
+
onCancel: form.handleCancel,
|
|
6298
|
+
hideActions,
|
|
6299
|
+
isFormValid: form.isFormValid,
|
|
6300
|
+
isDirty: form.isDirty,
|
|
6301
|
+
editContent,
|
|
6302
|
+
viewContent
|
|
6303
|
+
}
|
|
6304
|
+
);
|
|
6305
|
+
};
|
|
6306
|
+
var ACHBasicInfoCard = ({
|
|
6307
|
+
data,
|
|
6308
|
+
onDataChange,
|
|
6309
|
+
isEditing,
|
|
6310
|
+
onToggleEdit,
|
|
6311
|
+
className,
|
|
6312
|
+
hideActions
|
|
6313
|
+
}) => {
|
|
6314
|
+
const form = useFormWithEditState({
|
|
6315
|
+
schema: achTransferSchema,
|
|
6316
|
+
defaultValues: { ...defaultACHTransfer, ...data },
|
|
6317
|
+
initialEditing: isEditing,
|
|
6318
|
+
onToggleEdit,
|
|
6319
|
+
onSave: onDataChange
|
|
6320
|
+
});
|
|
6321
|
+
const editContent = /* @__PURE__ */ jsx(FormProvider, { form, children: /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
6322
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [
|
|
6323
|
+
/* @__PURE__ */ jsx(
|
|
6324
|
+
FormInput,
|
|
6325
|
+
{
|
|
6326
|
+
name: "basicInfo.counterpartyName",
|
|
6327
|
+
label: "Counterparty Name",
|
|
6328
|
+
placeholder: "Enter counterparty name",
|
|
6329
|
+
required: true
|
|
6330
|
+
}
|
|
6331
|
+
),
|
|
6332
|
+
/* @__PURE__ */ jsx(
|
|
6333
|
+
FormInput,
|
|
6334
|
+
{
|
|
6335
|
+
name: "basicInfo.shortName",
|
|
6336
|
+
label: "Short Name",
|
|
6337
|
+
placeholder: "Enter short name",
|
|
6338
|
+
required: true
|
|
6339
|
+
}
|
|
6340
|
+
)
|
|
6341
|
+
] }),
|
|
6342
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [
|
|
6343
|
+
/* @__PURE__ */ jsx(
|
|
6344
|
+
FormSelect,
|
|
6345
|
+
{
|
|
6346
|
+
name: "basicInfo.type",
|
|
6347
|
+
label: "Type",
|
|
6348
|
+
placeholder: "Select type",
|
|
6349
|
+
options: [
|
|
6350
|
+
{ value: "business", label: "Business" },
|
|
6351
|
+
{ value: "individual", label: "Individual" }
|
|
6352
|
+
]
|
|
6353
|
+
}
|
|
6354
|
+
),
|
|
6355
|
+
/* @__PURE__ */ jsx(
|
|
6356
|
+
FormInput,
|
|
6357
|
+
{
|
|
6358
|
+
name: "basicInfo.description",
|
|
6359
|
+
label: "Description",
|
|
6360
|
+
placeholder: "Enter description"
|
|
6361
|
+
}
|
|
6362
|
+
)
|
|
6363
|
+
] })
|
|
6364
|
+
] }) });
|
|
6365
|
+
const viewContent = /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
|
|
6366
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Counterparty Name", value: form.getValues("basicInfo.counterpartyName"), layout: "horizontal" }),
|
|
6367
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Short Name", value: form.getValues("basicInfo.shortName"), layout: "horizontal" }),
|
|
6368
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Type", value: form.getValues("basicInfo.type"), layout: "horizontal" }),
|
|
6369
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Description", value: form.getValues("basicInfo.description") || "N/A", layout: "horizontal" })
|
|
6370
|
+
] });
|
|
6371
|
+
return /* @__PURE__ */ jsx(
|
|
6372
|
+
EditableFormCard,
|
|
6373
|
+
{
|
|
6374
|
+
title: "Basic Information",
|
|
6375
|
+
variant: "subtle",
|
|
6376
|
+
className,
|
|
6377
|
+
isEditing: form.isEditing,
|
|
6378
|
+
onToggleEdit: form.handleToggleEdit,
|
|
6379
|
+
onSave: form.handleSave,
|
|
6380
|
+
onCancel: form.handleCancel,
|
|
6381
|
+
hideActions,
|
|
6382
|
+
isFormValid: form.isFormValid,
|
|
6383
|
+
isDirty: form.isDirty,
|
|
6384
|
+
editContent,
|
|
6385
|
+
viewContent
|
|
6386
|
+
}
|
|
6387
|
+
);
|
|
6388
|
+
};
|
|
5945
6389
|
var BankAddressCard = ({
|
|
5946
6390
|
data,
|
|
5947
6391
|
onDataChange,
|
|
@@ -6145,44 +6589,18 @@ var BankingDetailsCard = ({ isEditing, onToggleEdit, className }) => {
|
|
|
6145
6589
|
{
|
|
6146
6590
|
title: "Banking Details",
|
|
6147
6591
|
className,
|
|
6148
|
-
headerActions: /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2", children: isEditing ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
6149
|
-
/* @__PURE__ */ jsx(Button, { variant: "outline", size: "sm", onClick: onToggleEdit, children: "Cancel" }),
|
|
6150
|
-
/* @__PURE__ */ jsx(Button, { size: "sm", onClick: onToggleEdit, children: "Save" })
|
|
6151
|
-
] }) : /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "icon", onClick: onToggleEdit, className: "text-primary hover:text-primary/80 hover:bg-primary/10", children: /* @__PURE__ */ jsx(Edit, { className: "h-4 w-4" }) }) }),
|
|
6152
|
-
children: /* @__PURE__ */ jsx("div", { className: "space-y-3", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 gap-2", children: [
|
|
6153
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Primary Bank", value: "JPMorgan Chase", layout: "horizontal" }),
|
|
6154
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Account Number", value: "****-****-****-1234", layout: "horizontal" }),
|
|
6155
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Routing Number", value: "021000021", layout: "horizontal" }),
|
|
6156
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Account Type", value: "Business Checking", layout: "horizontal" })
|
|
6157
|
-
] }) })
|
|
6158
|
-
}
|
|
6159
|
-
);
|
|
6160
|
-
};
|
|
6161
|
-
var typeConfig2 = {
|
|
6162
|
-
BUSINESS: {
|
|
6163
|
-
variant: "business",
|
|
6164
|
-
label: "Business",
|
|
6165
|
-
icon: Building2
|
|
6166
|
-
},
|
|
6167
|
-
INDIVIDUAL: {
|
|
6168
|
-
variant: "individual",
|
|
6169
|
-
label: "Individual",
|
|
6170
|
-
icon: User
|
|
6171
|
-
}
|
|
6172
|
-
};
|
|
6173
|
-
var CounterpartyTypeBadge = ({ type, className }) => {
|
|
6174
|
-
const config = typeConfig2[type];
|
|
6175
|
-
if (!config) {
|
|
6176
|
-
return /* @__PURE__ */ jsxs(Badge, { variant: "secondary", className, children: [
|
|
6177
|
-
/* @__PURE__ */ jsx(Building2, { className: "w-3 h-3 mr-1" }),
|
|
6178
|
-
type || "Unknown"
|
|
6179
|
-
] });
|
|
6180
|
-
}
|
|
6181
|
-
const Icon2 = config.icon;
|
|
6182
|
-
return /* @__PURE__ */ jsxs(Badge, { variant: config.variant, className, children: [
|
|
6183
|
-
/* @__PURE__ */ jsx(Icon2, { className: "w-3 h-3 mr-1" }),
|
|
6184
|
-
config.label
|
|
6185
|
-
] });
|
|
6592
|
+
headerActions: /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2", children: isEditing ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
6593
|
+
/* @__PURE__ */ jsx(Button, { variant: "outline", size: "sm", onClick: onToggleEdit, children: "Cancel" }),
|
|
6594
|
+
/* @__PURE__ */ jsx(Button, { size: "sm", onClick: onToggleEdit, children: "Save" })
|
|
6595
|
+
] }) : /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "icon", onClick: onToggleEdit, className: "text-primary hover:text-primary/80 hover:bg-primary/10", children: /* @__PURE__ */ jsx(Edit, { className: "h-4 w-4" }) }) }),
|
|
6596
|
+
children: /* @__PURE__ */ jsx("div", { className: "space-y-3", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 gap-2", children: [
|
|
6597
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Primary Bank", value: "JPMorgan Chase", layout: "horizontal" }),
|
|
6598
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Account Number", value: "****-****-****-1234", layout: "horizontal" }),
|
|
6599
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Routing Number", value: "021000021", layout: "horizontal" }),
|
|
6600
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Account Type", value: "Business Checking", layout: "horizontal" })
|
|
6601
|
+
] }) })
|
|
6602
|
+
}
|
|
6603
|
+
);
|
|
6186
6604
|
};
|
|
6187
6605
|
var BasicInfoCard = ({ isEditing, onToggleEdit, className, hideActions }) => {
|
|
6188
6606
|
const [name, setName] = useState("John wire hot");
|
|
@@ -6214,273 +6632,54 @@ var BasicInfoCard = ({ isEditing, onToggleEdit, className, hideActions }) => {
|
|
|
6214
6632
|
}
|
|
6215
6633
|
)
|
|
6216
6634
|
] }),
|
|
6217
|
-
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4 pt-4 border-t border-border", children: [
|
|
6218
|
-
/* @__PURE__ */ jsx(InfoField, { label: "ID", value: "5000541", layout: "horizontal" }),
|
|
6219
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Counterparty Type", value: /* @__PURE__ */ jsx(CounterpartyTypeBadge, { type: "BUSINESS" }), layout: "horizontal" }),
|
|
6220
|
-
/* @__PURE__ */ jsx(InfoField, { label: "ID Number", value: "\u2022\u2022\u2022\u2022\u2022\u2022\u2022", layout: "horizontal" }),
|
|
6221
|
-
/* @__PURE__ */ jsx(InfoField, { label: "ID Type", value: "SSN", layout: "horizontal" }),
|
|
6222
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Date of Birth", value: "1985-8-20", layout: "horizontal" }),
|
|
6223
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Created By", value: "admin", layout: "horizontal" }),
|
|
6224
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Created At", value: "2025-07-14", layout: "horizontal" }),
|
|
6225
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Updated By", value: "admin", layout: "horizontal" }),
|
|
6226
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Updated At", value: "2025-07-14", layout: "horizontal" })
|
|
6227
|
-
] }),
|
|
6228
|
-
/* @__PURE__ */ jsxs("div", { className: "pt-3 border-t border-border", children: [
|
|
6229
|
-
/* @__PURE__ */ jsx("h4", { className: "text-sm font-medium text-foreground mb-2", children: "OFAC Details" }),
|
|
6230
|
-
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
6231
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Last OFAC date", value: "2025-07-14", layout: "horizontal" }),
|
|
6232
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Last OFAC status", value: "Verified", layout: "horizontal" })
|
|
6233
|
-
] })
|
|
6234
|
-
] })
|
|
6235
|
-
] });
|
|
6236
|
-
const viewContent = /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
6237
|
-
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
6238
|
-
/* @__PURE__ */ jsx(InfoField, { label: "ID", value: "5000541", layout: "horizontal" }),
|
|
6239
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Name", value: name, layout: "horizontal" }),
|
|
6240
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Counterparty Type", value: /* @__PURE__ */ jsx(CounterpartyTypeBadge, { type: "BUSINESS" }), layout: "horizontal" }),
|
|
6241
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Status", value: /* @__PURE__ */ jsx(StatusBadge, { status }), layout: "horizontal" }),
|
|
6242
|
-
/* @__PURE__ */ jsx(InfoField, { label: "ID Number", value: "\u2022\u2022\u2022\u2022\u2022\u2022\u2022", layout: "horizontal" }),
|
|
6243
|
-
/* @__PURE__ */ jsx(InfoField, { label: "ID Type", value: "SSN", layout: "horizontal" }),
|
|
6244
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Date of Birth", value: "1985-8-20", layout: "horizontal" }),
|
|
6245
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Created By", value: "admin", layout: "horizontal" }),
|
|
6246
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Created At", value: "2025-07-14", layout: "horizontal" }),
|
|
6247
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Updated By", value: "admin", layout: "horizontal" }),
|
|
6248
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Updated At", value: "2025-07-14", layout: "horizontal" })
|
|
6249
|
-
] }),
|
|
6250
|
-
/* @__PURE__ */ jsxs("div", { className: "pt-3 border-t border-border", children: [
|
|
6251
|
-
/* @__PURE__ */ jsx("h4", { className: "text-sm font-medium text-foreground mb-2", children: "OFAC Details" }),
|
|
6252
|
-
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
6253
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Last OFAC date", value: "2025-07-14", layout: "horizontal" }),
|
|
6254
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Last OFAC status", value: "Verified", layout: "horizontal" })
|
|
6255
|
-
] })
|
|
6256
|
-
] })
|
|
6257
|
-
] });
|
|
6258
|
-
return /* @__PURE__ */ jsx(
|
|
6259
|
-
EditableFormCard,
|
|
6260
|
-
{
|
|
6261
|
-
title: "Basic Info",
|
|
6262
|
-
className,
|
|
6263
|
-
isEditing,
|
|
6264
|
-
onToggleEdit,
|
|
6265
|
-
hideActions,
|
|
6266
|
-
editContent,
|
|
6267
|
-
viewContent
|
|
6268
|
-
}
|
|
6269
|
-
);
|
|
6270
|
-
};
|
|
6271
|
-
|
|
6272
|
-
// src/lib/mock-data/counterparty-data.ts
|
|
6273
|
-
var defaultCounterpartyDetail = {
|
|
6274
|
-
email: "contact@acme.com",
|
|
6275
|
-
phone: "+1 (555) 123-4567",
|
|
6276
|
-
dateOfBirth: "1985-03-15",
|
|
6277
|
-
idNumber: "ID-123456789",
|
|
6278
|
-
idType: "product_id",
|
|
6279
|
-
idValue: "PROD-001",
|
|
6280
|
-
address: {
|
|
6281
|
-
line1: "123 Business Ave",
|
|
6282
|
-
line2: "Suite 100",
|
|
6283
|
-
city: "New York",
|
|
6284
|
-
state: "NY",
|
|
6285
|
-
postalCode: "10001",
|
|
6286
|
-
countryCode: "US",
|
|
6287
|
-
type: "MAILING"
|
|
6288
|
-
}
|
|
6289
|
-
};
|
|
6290
|
-
var CounterpartyProfileCard = ({
|
|
6291
|
-
data,
|
|
6292
|
-
onDataChange,
|
|
6293
|
-
isEditing = false,
|
|
6294
|
-
onToggleEdit,
|
|
6295
|
-
hideActions = false,
|
|
6296
|
-
className
|
|
6297
|
-
}) => {
|
|
6298
|
-
const navigate = useNavigate();
|
|
6299
|
-
const form = useFormWithEditState({
|
|
6300
|
-
schema: counterpartyDetailSchema,
|
|
6301
|
-
defaultValues: { ...defaultCounterpartyDetail, ...data },
|
|
6302
|
-
initialEditing: isEditing,
|
|
6303
|
-
onToggleEdit,
|
|
6304
|
-
onSave: onDataChange
|
|
6305
|
-
});
|
|
6306
|
-
const editContent = /* @__PURE__ */ jsx(FormProvider, { form, children: /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
6307
|
-
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [
|
|
6308
|
-
/* @__PURE__ */ jsx(
|
|
6309
|
-
FormSelect,
|
|
6310
|
-
{
|
|
6311
|
-
name: "idType",
|
|
6312
|
-
label: "Associated with",
|
|
6313
|
-
placeholder: "Select association type",
|
|
6314
|
-
options: [
|
|
6315
|
-
{ value: "product_id", label: "Product ID" },
|
|
6316
|
-
{ value: "business_id", label: "Business ID" },
|
|
6317
|
-
{ value: "individual_id", label: "Individual ID" },
|
|
6318
|
-
{ value: "account_number", label: "Account Number" }
|
|
6319
|
-
]
|
|
6320
|
-
}
|
|
6321
|
-
),
|
|
6322
|
-
/* @__PURE__ */ jsx(
|
|
6323
|
-
FormInput,
|
|
6324
|
-
{
|
|
6325
|
-
name: "idValue",
|
|
6326
|
-
label: form.watch("idType") === "product_id" ? "Product ID" : form.watch("idType") === "business_id" ? "Business ID" : form.watch("idType") === "individual_id" ? "Individual ID" : "Account Number",
|
|
6327
|
-
placeholder: "Enter ID value"
|
|
6328
|
-
}
|
|
6329
|
-
),
|
|
6330
|
-
/* @__PURE__ */ jsx(
|
|
6331
|
-
FormInput,
|
|
6332
|
-
{
|
|
6333
|
-
name: "email",
|
|
6334
|
-
label: "Email",
|
|
6335
|
-
type: "email",
|
|
6336
|
-
placeholder: "Enter email address"
|
|
6337
|
-
}
|
|
6338
|
-
),
|
|
6339
|
-
/* @__PURE__ */ jsx(
|
|
6340
|
-
FormInput,
|
|
6341
|
-
{
|
|
6342
|
-
name: "phone",
|
|
6343
|
-
label: "Phone Number",
|
|
6344
|
-
type: "tel",
|
|
6345
|
-
placeholder: "Enter phone number"
|
|
6346
|
-
}
|
|
6347
|
-
),
|
|
6348
|
-
/* @__PURE__ */ jsx(
|
|
6349
|
-
FormInput,
|
|
6350
|
-
{
|
|
6351
|
-
name: "dateOfBirth",
|
|
6352
|
-
label: "Date of Birth",
|
|
6353
|
-
type: "date",
|
|
6354
|
-
placeholder: "Select date of birth"
|
|
6355
|
-
}
|
|
6356
|
-
),
|
|
6357
|
-
/* @__PURE__ */ jsx(
|
|
6358
|
-
FormInput,
|
|
6359
|
-
{
|
|
6360
|
-
name: "idNumber",
|
|
6361
|
-
label: "ID Number",
|
|
6362
|
-
placeholder: "Enter ID number"
|
|
6363
|
-
}
|
|
6364
|
-
)
|
|
6365
|
-
] }),
|
|
6366
|
-
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 gap-4", children: [
|
|
6367
|
-
/* @__PURE__ */ jsx(
|
|
6368
|
-
FormInput,
|
|
6369
|
-
{
|
|
6370
|
-
name: "address.line1",
|
|
6371
|
-
label: "Street Address",
|
|
6372
|
-
placeholder: "Enter street address"
|
|
6373
|
-
}
|
|
6374
|
-
),
|
|
6375
|
-
/* @__PURE__ */ jsx(
|
|
6376
|
-
FormInput,
|
|
6377
|
-
{
|
|
6378
|
-
name: "address.line2",
|
|
6379
|
-
label: "Apartment, suite, or floor",
|
|
6380
|
-
placeholder: "Enter apartment, suite, or floor"
|
|
6381
|
-
}
|
|
6382
|
-
)
|
|
6383
|
-
] }),
|
|
6384
|
-
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [
|
|
6385
|
-
/* @__PURE__ */ jsx(
|
|
6386
|
-
FormInput,
|
|
6387
|
-
{
|
|
6388
|
-
name: "address.city",
|
|
6389
|
-
label: "City",
|
|
6390
|
-
placeholder: "Enter city"
|
|
6391
|
-
}
|
|
6392
|
-
),
|
|
6393
|
-
/* @__PURE__ */ jsx(
|
|
6394
|
-
FormInput,
|
|
6395
|
-
{
|
|
6396
|
-
name: "address.state",
|
|
6397
|
-
label: "State",
|
|
6398
|
-
placeholder: "Enter state"
|
|
6399
|
-
}
|
|
6400
|
-
),
|
|
6401
|
-
/* @__PURE__ */ jsx(
|
|
6402
|
-
FormInput,
|
|
6403
|
-
{
|
|
6404
|
-
name: "address.postalCode",
|
|
6405
|
-
label: "Postal Code",
|
|
6406
|
-
placeholder: "Enter postal code"
|
|
6407
|
-
}
|
|
6408
|
-
),
|
|
6409
|
-
/* @__PURE__ */ jsx(
|
|
6410
|
-
FormInput,
|
|
6411
|
-
{
|
|
6412
|
-
name: "address.countryCode",
|
|
6413
|
-
label: "Country Code",
|
|
6414
|
-
placeholder: "e.g., US"
|
|
6415
|
-
}
|
|
6416
|
-
)
|
|
6417
|
-
] })
|
|
6418
|
-
] }) });
|
|
6419
|
-
const formValues = form.watch();
|
|
6420
|
-
const idTypeLabel = formValues?.idType === "product_id" ? "Product ID" : formValues?.idType === "business_id" ? "Business ID" : formValues?.idType === "individual_id" ? "Individual ID" : "Account Number";
|
|
6421
|
-
const getEntityLink = () => {
|
|
6422
|
-
if (!formValues?.idValue) return null;
|
|
6423
|
-
switch (formValues?.idType) {
|
|
6424
|
-
case "business_id":
|
|
6425
|
-
return `/business/${formValues.idValue}`;
|
|
6426
|
-
case "individual_id":
|
|
6427
|
-
return `/individual/${formValues.idValue}`;
|
|
6428
|
-
case "account_number":
|
|
6429
|
-
return `/account/${formValues.idValue}`;
|
|
6430
|
-
default:
|
|
6431
|
-
return null;
|
|
6432
|
-
}
|
|
6433
|
-
};
|
|
6434
|
-
const entityLink = getEntityLink();
|
|
6435
|
-
const viewContent = /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
|
|
6436
|
-
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
6437
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Associated with", value: formValues?.idType === "product_id" ? "Product ID" : formValues?.idType === "business_id" ? "Business ID" : formValues?.idType === "individual_id" ? "Individual ID" : "Account Number", layout: "horizontal" }),
|
|
6438
|
-
/* @__PURE__ */ jsx(
|
|
6439
|
-
InfoField,
|
|
6440
|
-
{
|
|
6441
|
-
label: idTypeLabel,
|
|
6442
|
-
value: entityLink ? /* @__PURE__ */ jsx(
|
|
6443
|
-
"button",
|
|
6444
|
-
{
|
|
6445
|
-
onClick: (e) => {
|
|
6446
|
-
e.preventDefault();
|
|
6447
|
-
navigate(entityLink);
|
|
6448
|
-
},
|
|
6449
|
-
className: "text-primary hover:underline font-medium text-left cursor-pointer",
|
|
6450
|
-
children: formValues?.idValue || "-"
|
|
6451
|
-
}
|
|
6452
|
-
) : formValues?.idValue || "-",
|
|
6453
|
-
layout: "horizontal"
|
|
6454
|
-
}
|
|
6455
|
-
)
|
|
6456
|
-
] }),
|
|
6457
|
-
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
6458
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Email", value: formValues?.email || "-", layout: "horizontal" }),
|
|
6459
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Phone Number", value: formValues?.phone || "-", layout: "horizontal" })
|
|
6460
|
-
] }),
|
|
6635
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4 pt-4 border-t border-border", children: [
|
|
6636
|
+
/* @__PURE__ */ jsx(InfoField, { label: "ID", value: "5000541", layout: "horizontal" }),
|
|
6637
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Counterparty Type", value: /* @__PURE__ */ jsx(CounterpartyTypeBadge, { type: "BUSINESS" }), layout: "horizontal" }),
|
|
6638
|
+
/* @__PURE__ */ jsx(InfoField, { label: "ID Number", value: "\u2022\u2022\u2022\u2022\u2022\u2022\u2022", layout: "horizontal" }),
|
|
6639
|
+
/* @__PURE__ */ jsx(InfoField, { label: "ID Type", value: "SSN", layout: "horizontal" }),
|
|
6640
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Date of Birth", value: "1985-8-20", layout: "horizontal" }),
|
|
6641
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Created By", value: "admin", layout: "horizontal" }),
|
|
6642
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Created At", value: "2025-07-14", layout: "horizontal" }),
|
|
6643
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Updated By", value: "admin", layout: "horizontal" }),
|
|
6644
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Updated At", value: "2025-07-14", layout: "horizontal" })
|
|
6645
|
+
] }),
|
|
6646
|
+
/* @__PURE__ */ jsxs("div", { className: "pt-3 border-t border-border", children: [
|
|
6647
|
+
/* @__PURE__ */ jsx("h4", { className: "text-sm font-medium text-foreground mb-2", children: "OFAC Details" }),
|
|
6648
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
6649
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Last OFAC date", value: "2025-07-14", layout: "horizontal" }),
|
|
6650
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Last OFAC status", value: "Verified", layout: "horizontal" })
|
|
6651
|
+
] })
|
|
6652
|
+
] })
|
|
6653
|
+
] });
|
|
6654
|
+
const viewContent = /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
6461
6655
|
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
6462
|
-
/* @__PURE__ */ jsx(InfoField, { label: "
|
|
6463
|
-
/* @__PURE__ */ jsx(InfoField, { label: "
|
|
6656
|
+
/* @__PURE__ */ jsx(InfoField, { label: "ID", value: "5000541", layout: "horizontal" }),
|
|
6657
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Name", value: name, layout: "horizontal" }),
|
|
6658
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Counterparty Type", value: /* @__PURE__ */ jsx(CounterpartyTypeBadge, { type: "BUSINESS" }), layout: "horizontal" }),
|
|
6659
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Status", value: /* @__PURE__ */ jsx(StatusBadge, { status }), layout: "horizontal" }),
|
|
6660
|
+
/* @__PURE__ */ jsx(InfoField, { label: "ID Number", value: "\u2022\u2022\u2022\u2022\u2022\u2022\u2022", layout: "horizontal" }),
|
|
6661
|
+
/* @__PURE__ */ jsx(InfoField, { label: "ID Type", value: "SSN", layout: "horizontal" }),
|
|
6662
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Date of Birth", value: "1985-8-20", layout: "horizontal" }),
|
|
6663
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Created By", value: "admin", layout: "horizontal" }),
|
|
6664
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Created At", value: "2025-07-14", layout: "horizontal" }),
|
|
6665
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Updated By", value: "admin", layout: "horizontal" }),
|
|
6666
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Updated At", value: "2025-07-14", layout: "horizontal" })
|
|
6464
6667
|
] }),
|
|
6465
|
-
/* @__PURE__ */
|
|
6466
|
-
|
|
6467
|
-
{
|
|
6468
|
-
label: "
|
|
6469
|
-
|
|
6470
|
-
|
|
6471
|
-
|
|
6472
|
-
)
|
|
6668
|
+
/* @__PURE__ */ jsxs("div", { className: "pt-3 border-t border-border", children: [
|
|
6669
|
+
/* @__PURE__ */ jsx("h4", { className: "text-sm font-medium text-foreground mb-2", children: "OFAC Details" }),
|
|
6670
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
6671
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Last OFAC date", value: "2025-07-14", layout: "horizontal" }),
|
|
6672
|
+
/* @__PURE__ */ jsx(InfoField, { label: "Last OFAC status", value: "Verified", layout: "horizontal" })
|
|
6673
|
+
] })
|
|
6674
|
+
] })
|
|
6473
6675
|
] });
|
|
6474
6676
|
return /* @__PURE__ */ jsx(
|
|
6475
6677
|
EditableFormCard,
|
|
6476
6678
|
{
|
|
6477
|
-
title: "
|
|
6478
|
-
variant: "subtle",
|
|
6679
|
+
title: "Basic Info",
|
|
6479
6680
|
className,
|
|
6480
|
-
isEditing
|
|
6481
|
-
onToggleEdit
|
|
6482
|
-
onSave: form.handleSave,
|
|
6483
|
-
onCancel: form.handleCancel,
|
|
6681
|
+
isEditing,
|
|
6682
|
+
onToggleEdit,
|
|
6484
6683
|
hideActions,
|
|
6485
6684
|
editContent,
|
|
6486
6685
|
viewContent
|
|
@@ -11285,205 +11484,6 @@ var Counterparties = () => {
|
|
|
11285
11484
|
);
|
|
11286
11485
|
};
|
|
11287
11486
|
var Counterparties_default = Counterparties;
|
|
11288
|
-
var mockCounterpartyTimeline = [
|
|
11289
|
-
{
|
|
11290
|
-
id: "1",
|
|
11291
|
-
action: "Counterparty Created",
|
|
11292
|
-
user: "admin",
|
|
11293
|
-
details: "Initial counterparty setup",
|
|
11294
|
-
status: "Active",
|
|
11295
|
-
timestamp: "2024-01-15 10:30:00"
|
|
11296
|
-
},
|
|
11297
|
-
{
|
|
11298
|
-
id: "2",
|
|
11299
|
-
action: "Profile Updated",
|
|
11300
|
-
user: "admin",
|
|
11301
|
-
details: "Updated counterparty information",
|
|
11302
|
-
timestamp: "2024-01-20 14:22:00"
|
|
11303
|
-
},
|
|
11304
|
-
{
|
|
11305
|
-
id: "3",
|
|
11306
|
-
action: "OFAC Check Completed",
|
|
11307
|
-
user: "System",
|
|
11308
|
-
details: "Automated compliance check",
|
|
11309
|
-
status: "Verified",
|
|
11310
|
-
timestamp: "2024-01-20 14:30:00"
|
|
11311
|
-
}
|
|
11312
|
-
];
|
|
11313
|
-
var CounterpartyStatusCard = ({ isEditing, onToggleEdit, className }) => {
|
|
11314
|
-
const getIcon = (action) => {
|
|
11315
|
-
if (action.includes("Created")) return /* @__PURE__ */ jsx(Circle, { className: "h-4 w-4" });
|
|
11316
|
-
if (action.includes("Assigned")) return /* @__PURE__ */ jsx(UserPlus, { className: "h-4 w-4" });
|
|
11317
|
-
if (action.includes("Updated") || action.includes("Modified") || action.includes("Check")) return /* @__PURE__ */ jsx(Edit, { className: "h-4 w-4" });
|
|
11318
|
-
if (action.includes("Completed") || action.includes("Verified")) return /* @__PURE__ */ jsx(CheckCircle, { className: "h-4 w-4" });
|
|
11319
|
-
return /* @__PURE__ */ jsx(Circle, { className: "h-4 w-4" });
|
|
11320
|
-
};
|
|
11321
|
-
const getStatusColor2 = (status) => {
|
|
11322
|
-
switch (status) {
|
|
11323
|
-
case "Active":
|
|
11324
|
-
case "Verified":
|
|
11325
|
-
return "text-success";
|
|
11326
|
-
case "Pending":
|
|
11327
|
-
return "text-warning";
|
|
11328
|
-
default:
|
|
11329
|
-
return "text-muted-foreground";
|
|
11330
|
-
}
|
|
11331
|
-
};
|
|
11332
|
-
return /* @__PURE__ */ jsx(
|
|
11333
|
-
FormCard,
|
|
11334
|
-
{
|
|
11335
|
-
title: "Timeline",
|
|
11336
|
-
className,
|
|
11337
|
-
children: /* @__PURE__ */ jsx("div", { className: "space-y-3", children: mockCounterpartyTimeline.map((event, index) => /* @__PURE__ */ jsxs("div", { className: "relative pl-6 pb-3", children: [
|
|
11338
|
-
index !== mockCounterpartyTimeline.length - 1 && /* @__PURE__ */ jsx("div", { className: "absolute left-[7px] top-5 bottom-0 w-[2px] bg-border" }),
|
|
11339
|
-
/* @__PURE__ */ jsx("div", { className: cn(
|
|
11340
|
-
"absolute left-0 top-0 flex-none",
|
|
11341
|
-
getStatusColor2(event.status)
|
|
11342
|
-
), children: /* @__PURE__ */ jsx("div", { className: "h-4 w-4", children: getIcon(event.action) }) }),
|
|
11343
|
-
/* @__PURE__ */ jsxs("div", { className: "space-y-0.5", children: [
|
|
11344
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs font-medium text-foreground", children: event.action }),
|
|
11345
|
-
/* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground", children: [
|
|
11346
|
-
"by ",
|
|
11347
|
-
event.user
|
|
11348
|
-
] }),
|
|
11349
|
-
event.details && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: event.details }),
|
|
11350
|
-
event.status && /* @__PURE__ */ jsxs("p", { className: cn("text-xs font-medium", getStatusColor2(event.status)), children: [
|
|
11351
|
-
"Status: ",
|
|
11352
|
-
event.status
|
|
11353
|
-
] }),
|
|
11354
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground/70 pt-0.5", children: event.timestamp })
|
|
11355
|
-
] })
|
|
11356
|
-
] }, event.id)) })
|
|
11357
|
-
}
|
|
11358
|
-
);
|
|
11359
|
-
};
|
|
11360
|
-
var PaymentMethodCard = ({
|
|
11361
|
-
type,
|
|
11362
|
-
fiId,
|
|
11363
|
-
accountNumber,
|
|
11364
|
-
bankName,
|
|
11365
|
-
accountType,
|
|
11366
|
-
beneficiaryBankName,
|
|
11367
|
-
correspondentBankId,
|
|
11368
|
-
intermediaryBankId,
|
|
11369
|
-
className
|
|
11370
|
-
}) => {
|
|
11371
|
-
const getIcon = () => {
|
|
11372
|
-
switch (type) {
|
|
11373
|
-
case "ACH":
|
|
11374
|
-
return Building2;
|
|
11375
|
-
case "Domestic Wire":
|
|
11376
|
-
return Landmark;
|
|
11377
|
-
case "International Wire":
|
|
11378
|
-
return Globe;
|
|
11379
|
-
default:
|
|
11380
|
-
return Building2;
|
|
11381
|
-
}
|
|
11382
|
-
};
|
|
11383
|
-
const Icon2 = getIcon();
|
|
11384
|
-
return /* @__PURE__ */ jsxs(Card, { className: cn("hover:bg-muted/50 transition-colors", className), children: [
|
|
11385
|
-
/* @__PURE__ */ jsxs(CardHeader, { className: "flex flex-row items-start justify-between space-y-0 pb-3", children: [
|
|
11386
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
11387
|
-
/* @__PURE__ */ jsx(Icon2, { className: "h-4 w-4 text-muted-foreground" }),
|
|
11388
|
-
/* @__PURE__ */ jsx("span", { className: "font-medium text-sm", children: type })
|
|
11389
|
-
] }),
|
|
11390
|
-
/* @__PURE__ */ jsx(Button, { variant: "ghost", size: "sm", className: "h-8 w-8 p-0", children: /* @__PURE__ */ jsx(MoreVertical, { className: "h-4 w-4" }) })
|
|
11391
|
-
] }),
|
|
11392
|
-
/* @__PURE__ */ jsxs(CardContent, { className: "space-y-3", children: [
|
|
11393
|
-
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-3", children: [
|
|
11394
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Beneficiary FI ID", value: fiId }),
|
|
11395
|
-
/* @__PURE__ */ jsx(InfoField, { label: "Account Number", value: accountNumber })
|
|
11396
|
-
] }),
|
|
11397
|
-
type === "ACH" && /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-3", children: [
|
|
11398
|
-
bankName && /* @__PURE__ */ jsx(InfoField, { label: "Bank Name", value: bankName }),
|
|
11399
|
-
accountType && /* @__PURE__ */ jsx(InfoField, { label: "Account Type", value: accountType })
|
|
11400
|
-
] }),
|
|
11401
|
-
type === "Domestic Wire" && bankName && /* @__PURE__ */ jsx(InfoField, { label: "Bank Name", value: bankName }),
|
|
11402
|
-
type === "International Wire" && /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
|
|
11403
|
-
beneficiaryBankName && /* @__PURE__ */ jsx(InfoField, { label: "Beneficiary Bank Name", value: beneficiaryBankName }),
|
|
11404
|
-
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-3", children: [
|
|
11405
|
-
correspondentBankId && /* @__PURE__ */ jsx(InfoField, { label: "Correspondent Bank ID", value: correspondentBankId }),
|
|
11406
|
-
intermediaryBankId && /* @__PURE__ */ jsx(InfoField, { label: "Intermediary Bank ID", value: intermediaryBankId })
|
|
11407
|
-
] })
|
|
11408
|
-
] })
|
|
11409
|
-
] })
|
|
11410
|
-
] });
|
|
11411
|
-
};
|
|
11412
|
-
var CounterpartyDetailView = ({
|
|
11413
|
-
counterpartyName,
|
|
11414
|
-
counterpartyType,
|
|
11415
|
-
currentStatus,
|
|
11416
|
-
isEditingProfile,
|
|
11417
|
-
mockPaymentMethods: mockPaymentMethods2,
|
|
11418
|
-
documentsTable,
|
|
11419
|
-
onStatusChange,
|
|
11420
|
-
onToggleProfileEdit,
|
|
11421
|
-
onAddPaymentMethod,
|
|
11422
|
-
onAddDocument
|
|
11423
|
-
}) => {
|
|
11424
|
-
return /* @__PURE__ */ jsx(
|
|
11425
|
-
PageLayout,
|
|
11426
|
-
{
|
|
11427
|
-
title: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
11428
|
-
/* @__PURE__ */ jsx("span", { children: counterpartyName }),
|
|
11429
|
-
/* @__PURE__ */ jsx(
|
|
11430
|
-
EditableInfoField,
|
|
11431
|
-
{
|
|
11432
|
-
label: "",
|
|
11433
|
-
value: currentStatus,
|
|
11434
|
-
options: [
|
|
11435
|
-
{ value: "ACTIVE", label: "Active" },
|
|
11436
|
-
{ value: "INACTIVE", label: "Inactive" },
|
|
11437
|
-
{ value: "PENDING", label: "Pending" },
|
|
11438
|
-
{ value: "SUSPENDED", label: "Suspended" }
|
|
11439
|
-
],
|
|
11440
|
-
onChange: onStatusChange,
|
|
11441
|
-
renderValue: (value) => /* @__PURE__ */ jsx(StatusBadge, { status: value }),
|
|
11442
|
-
className: "inline-block"
|
|
11443
|
-
}
|
|
11444
|
-
),
|
|
11445
|
-
/* @__PURE__ */ jsx(CounterpartyTypeBadge, { type: counterpartyType })
|
|
11446
|
-
] }),
|
|
11447
|
-
maxWidth: "full",
|
|
11448
|
-
children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col lg:flex-row items-start gap-4", children: [
|
|
11449
|
-
/* @__PURE__ */ jsxs("div", { className: "flex-1 space-y-4", children: [
|
|
11450
|
-
/* @__PURE__ */ jsx(
|
|
11451
|
-
CounterpartyProfileCard,
|
|
11452
|
-
{
|
|
11453
|
-
isEditing: isEditingProfile,
|
|
11454
|
-
onToggleEdit: onToggleProfileEdit
|
|
11455
|
-
}
|
|
11456
|
-
),
|
|
11457
|
-
/* @__PURE__ */ jsxs(Card, { children: [
|
|
11458
|
-
/* @__PURE__ */ jsxs(CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-4", children: [
|
|
11459
|
-
/* @__PURE__ */ jsx(CardTitle, { children: "Payment Methods" }),
|
|
11460
|
-
/* @__PURE__ */ jsxs(Button, { size: "sm", variant: "ghost", onClick: onAddPaymentMethod, children: [
|
|
11461
|
-
/* @__PURE__ */ jsx(Plus, { className: "h-4 w-4 mr-1" }),
|
|
11462
|
-
"Method"
|
|
11463
|
-
] })
|
|
11464
|
-
] }),
|
|
11465
|
-
/* @__PURE__ */ jsx(CardContent, { children: mockPaymentMethods2.length === 0 ? /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-center gap-2 py-4 text-sm text-muted-foreground", children: [
|
|
11466
|
-
/* @__PURE__ */ jsx(Wallet, { className: "h-5 w-5 opacity-50" }),
|
|
11467
|
-
/* @__PURE__ */ jsx("p", { children: "No payment methods configured" })
|
|
11468
|
-
] }) : /* @__PURE__ */ jsx(ResponsiveGrid, { type: "forms", gap: "md", children: mockPaymentMethods2.map((method, index) => /* @__PURE__ */ jsx(PaymentMethodCard, { ...method }, index)) }) })
|
|
11469
|
-
] }),
|
|
11470
|
-
/* @__PURE__ */ jsxs(Card, { children: [
|
|
11471
|
-
/* @__PURE__ */ jsxs(CardHeader, { className: "flex flex-row items-center justify-between space-y-0 pb-4", children: [
|
|
11472
|
-
/* @__PURE__ */ jsx(CardTitle, { children: "Documents" }),
|
|
11473
|
-
/* @__PURE__ */ jsxs(Button, { size: "sm", variant: "ghost", onClick: onAddDocument, children: [
|
|
11474
|
-
/* @__PURE__ */ jsx(Plus, { className: "h-4 w-4 mr-1" }),
|
|
11475
|
-
"Document"
|
|
11476
|
-
] })
|
|
11477
|
-
] }),
|
|
11478
|
-
/* @__PURE__ */ jsx(CardContent, { children: documentsTable })
|
|
11479
|
-
] })
|
|
11480
|
-
] }),
|
|
11481
|
-
/* @__PURE__ */ jsx("div", { className: "lg:w-64", children: /* @__PURE__ */ jsx(CounterpartyStatusCard, { isEditing: false, onToggleEdit: () => {
|
|
11482
|
-
} }) })
|
|
11483
|
-
] })
|
|
11484
|
-
}
|
|
11485
|
-
);
|
|
11486
|
-
};
|
|
11487
11487
|
var mockPaymentMethods = [
|
|
11488
11488
|
{
|
|
11489
11489
|
type: "ACH",
|
|
@@ -14716,6 +14716,6 @@ function OFAC() {
|
|
|
14716
14716
|
] });
|
|
14717
14717
|
}
|
|
14718
14718
|
|
|
14719
|
-
export { ACHBankCard, ACHBasicInfoCard, ACHDetailsSection, ACHTransferSection, AccountCard, AccountDetail_default as AccountDetail, Accounts_default as Accounts, AddressForm, AlertDetail_default as AlertDetail, AlertDetailRouter, AlertDocuments, AlertHeaderControls, AlertNotes, AlertTimeline, Alerts_default as Alerts, AppSidebar, Badge, BankAddressCard, BankingDetailsCard, BasicInfoCard, BasicInfoSection, BeneficiaryAddress, BeneficiaryCard, BeneficiaryDomesticWire, Breadcrumb, BusinessDetail_default as BusinessDetail, BusinessDetailView, BusinessFiltersSheet, BusinessProfileCard, BusinessStatusCard, BusinessTypeBadge, Businesses_default as Businesses, Button, CIPStatusBadge, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Cases_default as Cases, Checkbox, ContactInfoCard, Container, ContextSection, Counterparties_default as Counterparties, CounterpartiesView, CounterpartyBasicInfo, CounterpartyDetail_default as CounterpartyDetail, CounterpartyProfileCard, CounterpartyRecordsCard, CounterpartyTypeBadge, Create_default as CreateBusiness, CreateBusinessView, Create_default2 as CreateCounterparty, Create_default3 as CreateIndividual, Dashboard_default as Dashboard, DashboardDemo, DataGrid, DataTable, DetailPageLayout, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, EditableFormCard, EditableInfoField, EnhancedInput, EnhancedSelect, EnhancedTextarea, EntityCard, FormCard, FormField, FormInput, FormProvider, FormSection, FormSelect, IndividualDetail_default as IndividualDetail, Individuals_default as Individuals, InfoField, IntermediaryCard, IntermediaryFI, IntermediaryFIAddress, JsonViewer, Label, ListPage, MainLayout, MetricCard, NewTransaction, NotFound_default as NotFound, OFAC, OFACAlertView, OriginatorCard, OriginatorFI, OriginatorFIAddress, PageLayout, PatternLibrary, PaymentInformationSection, Popover, PopoverContent, PopoverTrigger, ReceiverCard, ResolveAlertDialog, ResponsiveGrid, ScrollArea, ScrollBar, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Stack, Statement, StatementHeader, StatementView, StatusBadge, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TransactionDetail_default as TransactionDetail, TransactionHistory_default as TransactionHistory, TransactionTypeBadge, UIKit, UIKitShowcase, WireDetailsSection, WireTransferSection, badgeVariants, buttonVariants, cardVariants, downloadCSV, generateStatementCSV, inputVariants, reducer, textareaVariants, toast, useAlertDetail, useCounterpartyEntity, useEditState, useFormWithEditState, useIsMobile, useSidebar, useToast };
|
|
14719
|
+
export { ACHBankCard, ACHBasicInfoCard, ACHDetailsSection, ACHTransferSection, AccountCard, AccountDetail_default as AccountDetail, Accounts_default as Accounts, AddressForm, AlertDetail_default as AlertDetail, AlertDetailRouter, AlertDocuments, AlertHeaderControls, AlertNotes, AlertTimeline, Alerts_default as Alerts, AppSidebar, Badge, BankAddressCard, BankingDetailsCard, BasicInfoCard, BasicInfoSection, BeneficiaryAddress, BeneficiaryCard, BeneficiaryDomesticWire, Breadcrumb, BusinessDetail_default as BusinessDetail, BusinessDetailView, BusinessFiltersSheet, BusinessProfileCard, BusinessStatusCard, BusinessTypeBadge, Businesses_default as Businesses, Button, CIPStatusBadge, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Cases_default as Cases, Checkbox, ContactInfoCard, Container, ContextSection, Counterparties_default as Counterparties, CounterpartiesView, CounterpartyBasicInfo, CounterpartyDetail_default as CounterpartyDetail, CounterpartyDetailView, CounterpartyProfileCard, CounterpartyRecordsCard, CounterpartyTypeBadge, Create_default as CreateBusiness, CreateBusinessView, Create_default2 as CreateCounterparty, Create_default3 as CreateIndividual, Dashboard_default as Dashboard, DashboardDemo, DataGrid, DataTable, DetailPageLayout, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, EditableFormCard, EditableInfoField, EnhancedInput, EnhancedSelect, EnhancedTextarea, EntityCard, FormCard, FormField, FormInput, FormProvider, FormSection, FormSelect, IndividualDetail_default as IndividualDetail, Individuals_default as Individuals, InfoField, IntermediaryCard, IntermediaryFI, IntermediaryFIAddress, JsonViewer, Label, ListPage, MainLayout, MetricCard, NewTransaction, NotFound_default as NotFound, OFAC, OFACAlertView, OriginatorCard, OriginatorFI, OriginatorFIAddress, PageLayout, PatternLibrary, PaymentInformationSection, Popover, PopoverContent, PopoverTrigger, ReceiverCard, ResolveAlertDialog, ResponsiveGrid, ScrollArea, ScrollBar, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Stack, Statement, StatementHeader, StatementView, StatusBadge, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TransactionDetail_default as TransactionDetail, TransactionHistory_default as TransactionHistory, TransactionTypeBadge, UIKit, UIKitShowcase, WireDetailsSection, WireTransferSection, badgeVariants, buttonVariants, cardVariants, downloadCSV, generateStatementCSV, inputVariants, reducer, textareaVariants, toast, useAlertDetail, useCounterpartyEntity, useEditState, useFormWithEditState, useIsMobile, useSidebar, useToast };
|
|
14720
14720
|
//# sourceMappingURL=index.js.map
|
|
14721
14721
|
//# sourceMappingURL=index.js.map
|