braid-ui 1.0.64 → 1.0.66
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/css/braid-ui.css +22 -0
- package/dist/css/braid-ui.min.css +1 -1
- package/dist/index.cjs +215 -54
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +25 -3
- package/dist/index.d.ts +25 -3
- package/dist/index.js +217 -56
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -4428,7 +4428,7 @@ function Calendar({
|
|
|
4428
4428
|
Calendar.displayName = "Calendar";
|
|
4429
4429
|
var Popover = PopoverPrimitive__namespace.Root;
|
|
4430
4430
|
var PopoverTrigger = PopoverPrimitive__namespace.Trigger;
|
|
4431
|
-
var PopoverContent = React15__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4431
|
+
var PopoverContent = React15__namespace.forwardRef(({ className, align = "center", sideOffset = 4, container, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { container, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4432
4432
|
PopoverPrimitive__namespace.Content,
|
|
4433
4433
|
{
|
|
4434
4434
|
ref,
|
|
@@ -8323,10 +8323,94 @@ var ACHDetailsSection = ({ data }) => {
|
|
|
8323
8323
|
) })
|
|
8324
8324
|
] });
|
|
8325
8325
|
};
|
|
8326
|
-
var WireDetailsSection = ({ data }) => {
|
|
8326
|
+
var WireDetailsSection = ({ data, onIMADChange }) => {
|
|
8327
|
+
const [isEditingImad, setIsEditingImad] = React15.useState(false);
|
|
8328
|
+
const [imadValue, setImadValue] = React15.useState(data.imad || "");
|
|
8329
|
+
const inputRef = React15.useRef(null);
|
|
8330
|
+
React15.useEffect(() => {
|
|
8331
|
+
if (isEditingImad && inputRef.current) {
|
|
8332
|
+
inputRef.current.focus();
|
|
8333
|
+
}
|
|
8334
|
+
}, [isEditingImad]);
|
|
8335
|
+
const handleImadSave = () => {
|
|
8336
|
+
if (onIMADChange && imadValue !== data.imad) {
|
|
8337
|
+
onIMADChange(imadValue);
|
|
8338
|
+
}
|
|
8339
|
+
setIsEditingImad(false);
|
|
8340
|
+
};
|
|
8341
|
+
const handleImadCancel = () => {
|
|
8342
|
+
setImadValue(data.imad || "");
|
|
8343
|
+
setIsEditingImad(false);
|
|
8344
|
+
};
|
|
8345
|
+
const handleKeyDown = (e) => {
|
|
8346
|
+
if (e.key === "Enter") {
|
|
8347
|
+
handleImadSave();
|
|
8348
|
+
} else if (e.key === "Escape") {
|
|
8349
|
+
handleImadCancel();
|
|
8350
|
+
}
|
|
8351
|
+
};
|
|
8327
8352
|
return /* @__PURE__ */ jsxRuntime.jsxs(FormCard, { title: "Wire Transfer Details", children: [
|
|
8328
8353
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-x-8 gap-y-4", children: [
|
|
8329
8354
|
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Type", value: data.type, layout: "horizontal" }),
|
|
8355
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8356
|
+
InfoField,
|
|
8357
|
+
{
|
|
8358
|
+
label: "IMAD",
|
|
8359
|
+
value: isEditingImad ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
8360
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8361
|
+
"input",
|
|
8362
|
+
{
|
|
8363
|
+
ref: inputRef,
|
|
8364
|
+
value: imadValue,
|
|
8365
|
+
onChange: (e) => setImadValue(e.target.value),
|
|
8366
|
+
onKeyDown: handleKeyDown,
|
|
8367
|
+
className: "h-7 text-sm px-2 border border-border rounded-md bg-background focus:outline-none focus:ring-1 focus:ring-primary"
|
|
8368
|
+
}
|
|
8369
|
+
),
|
|
8370
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8371
|
+
Button,
|
|
8372
|
+
{
|
|
8373
|
+
variant: "ghost",
|
|
8374
|
+
size: "icon",
|
|
8375
|
+
className: "h-7 w-7",
|
|
8376
|
+
onClick: handleImadSave,
|
|
8377
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4 text-success" })
|
|
8378
|
+
}
|
|
8379
|
+
),
|
|
8380
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8381
|
+
Button,
|
|
8382
|
+
{
|
|
8383
|
+
variant: "ghost",
|
|
8384
|
+
size: "icon",
|
|
8385
|
+
className: "h-7 w-7",
|
|
8386
|
+
onClick: handleImadCancel,
|
|
8387
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4 text-muted-foreground" })
|
|
8388
|
+
}
|
|
8389
|
+
)
|
|
8390
|
+
] }) : data.imad ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
8391
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: data.imad }),
|
|
8392
|
+
onIMADChange && /* @__PURE__ */ jsxRuntime.jsx(
|
|
8393
|
+
Button,
|
|
8394
|
+
{
|
|
8395
|
+
variant: "ghost",
|
|
8396
|
+
size: "icon",
|
|
8397
|
+
className: "h-6 w-6",
|
|
8398
|
+
onClick: () => setIsEditingImad(true),
|
|
8399
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pencil, { className: "h-3 w-3 text-muted-foreground" })
|
|
8400
|
+
}
|
|
8401
|
+
)
|
|
8402
|
+
] }) : onIMADChange ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
8403
|
+
Button,
|
|
8404
|
+
{
|
|
8405
|
+
variant: "link",
|
|
8406
|
+
className: "h-auto p-0 text-sm",
|
|
8407
|
+
onClick: () => setIsEditingImad(true),
|
|
8408
|
+
children: "Add IMAD"
|
|
8409
|
+
}
|
|
8410
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: "-" }),
|
|
8411
|
+
layout: "horizontal"
|
|
8412
|
+
}
|
|
8413
|
+
),
|
|
8330
8414
|
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Originator Name", value: data.originatorName, layout: "horizontal" }),
|
|
8331
8415
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8332
8416
|
InfoField,
|
|
@@ -8366,7 +8450,9 @@ var WireDetailsSection = ({ data }) => {
|
|
|
8366
8450
|
layout: "horizontal"
|
|
8367
8451
|
}
|
|
8368
8452
|
),
|
|
8369
|
-
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Originator FI Address", value: data.originatorFIAddress, layout: "horizontal" }),
|
|
8453
|
+
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Originator FI Address", value: data.originatorFIAddress || "-", layout: "horizontal" }),
|
|
8454
|
+
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Originator to Beneficiary Info", value: data.originatorToBeneficiaryInfo || "-", layout: "horizontal" }),
|
|
8455
|
+
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "File Handle", value: data.fileHandle || "-", layout: "horizontal" }),
|
|
8370
8456
|
data.intermediaryFIName && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
8371
8457
|
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Intermediary FI Name", value: data.intermediaryFIName, layout: "horizontal" }),
|
|
8372
8458
|
data.intermediaryFIRoutingNumber && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -8958,6 +9044,14 @@ var EnhancedMultiSelect = ({
|
|
|
8958
9044
|
disabled = false
|
|
8959
9045
|
}) => {
|
|
8960
9046
|
const [open, setOpen] = React15__namespace.useState(false);
|
|
9047
|
+
const [popoverContainer, setPopoverContainer] = React15__namespace.useState(null);
|
|
9048
|
+
const triggerRef = React15__namespace.useRef(null);
|
|
9049
|
+
React15__namespace.useEffect(() => {
|
|
9050
|
+
if (triggerRef.current) {
|
|
9051
|
+
const sheetContent = triggerRef.current.closest("[data-radix-dialog-content]");
|
|
9052
|
+
setPopoverContainer(sheetContent);
|
|
9053
|
+
}
|
|
9054
|
+
}, []);
|
|
8961
9055
|
const handleSelect = (optionValue) => {
|
|
8962
9056
|
if (value.includes(optionValue)) {
|
|
8963
9057
|
onValueChange(value.filter((v) => v !== optionValue));
|
|
@@ -8966,16 +9060,18 @@ var EnhancedMultiSelect = ({
|
|
|
8966
9060
|
}
|
|
8967
9061
|
};
|
|
8968
9062
|
const handleRemove = (optionValue, e) => {
|
|
9063
|
+
e.preventDefault();
|
|
8969
9064
|
e.stopPropagation();
|
|
8970
9065
|
onValueChange(value.filter((v) => v !== optionValue));
|
|
8971
9066
|
};
|
|
8972
9067
|
const selectedLabels = value.map((v) => options.find((opt) => opt.value === v)?.label).filter(Boolean);
|
|
8973
9068
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("space-y-2", className), children: [
|
|
8974
9069
|
label && /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70", children: label }),
|
|
8975
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Popover, { open, onOpenChange: setOpen, children: [
|
|
9070
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Popover, { open, onOpenChange: setOpen, modal: false, children: [
|
|
8976
9071
|
/* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8977
9072
|
Button,
|
|
8978
9073
|
{
|
|
9074
|
+
ref: triggerRef,
|
|
8979
9075
|
variant: "outline",
|
|
8980
9076
|
role: "combobox",
|
|
8981
9077
|
"aria-expanded": open,
|
|
@@ -8990,10 +9086,16 @@ var EnhancedMultiSelect = ({
|
|
|
8990
9086
|
children: [
|
|
8991
9087
|
label2,
|
|
8992
9088
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8993
|
-
|
|
9089
|
+
"span",
|
|
8994
9090
|
{
|
|
8995
|
-
|
|
8996
|
-
|
|
9091
|
+
role: "button",
|
|
9092
|
+
className: "ml-1 rounded-sm hover:bg-secondary-foreground/20 inline-flex items-center justify-center",
|
|
9093
|
+
onMouseDown: (e) => {
|
|
9094
|
+
e.preventDefault();
|
|
9095
|
+
e.stopPropagation();
|
|
9096
|
+
},
|
|
9097
|
+
onClick: (e) => handleRemove(value[index], e),
|
|
9098
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-3 w-3 cursor-pointer" })
|
|
8997
9099
|
}
|
|
8998
9100
|
)
|
|
8999
9101
|
]
|
|
@@ -9004,30 +9106,59 @@ var EnhancedMultiSelect = ({
|
|
|
9004
9106
|
]
|
|
9005
9107
|
}
|
|
9006
9108
|
) }),
|
|
9007
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9008
|
-
|
|
9109
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9110
|
+
PopoverContent,
|
|
9009
9111
|
{
|
|
9010
|
-
|
|
9011
|
-
|
|
9012
|
-
|
|
9013
|
-
),
|
|
9014
|
-
|
|
9015
|
-
|
|
9016
|
-
|
|
9017
|
-
|
|
9018
|
-
|
|
9019
|
-
|
|
9020
|
-
|
|
9021
|
-
|
|
9022
|
-
|
|
9023
|
-
|
|
9024
|
-
|
|
9025
|
-
|
|
9026
|
-
|
|
9027
|
-
|
|
9028
|
-
|
|
9029
|
-
|
|
9030
|
-
|
|
9112
|
+
container: popoverContainer,
|
|
9113
|
+
className: "w-[var(--radix-popover-trigger-width)] min-w-[200px] p-0 bg-popover z-[100] pointer-events-auto",
|
|
9114
|
+
align: "start",
|
|
9115
|
+
onOpenAutoFocus: (e) => e.preventDefault(),
|
|
9116
|
+
onInteractOutside: (e) => {
|
|
9117
|
+
const target = e.target;
|
|
9118
|
+
if (target.closest('[role="option"]')) {
|
|
9119
|
+
e.preventDefault();
|
|
9120
|
+
}
|
|
9121
|
+
},
|
|
9122
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9123
|
+
"div",
|
|
9124
|
+
{
|
|
9125
|
+
className: "max-h-[240px] overflow-y-auto overscroll-contain p-1",
|
|
9126
|
+
onWheel: (e) => e.stopPropagation(),
|
|
9127
|
+
onTouchMove: (e) => e.stopPropagation(),
|
|
9128
|
+
children: options.map((option) => {
|
|
9129
|
+
const isSelected = value.includes(option.value);
|
|
9130
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
9131
|
+
"div",
|
|
9132
|
+
{
|
|
9133
|
+
role: "option",
|
|
9134
|
+
"aria-selected": isSelected,
|
|
9135
|
+
className: cn(
|
|
9136
|
+
"flex items-center gap-2 rounded-sm px-2 py-1.5 text-sm cursor-pointer hover:bg-accent hover:text-accent-foreground select-none",
|
|
9137
|
+
isSelected && "bg-accent"
|
|
9138
|
+
),
|
|
9139
|
+
onMouseDown: (e) => e.preventDefault(),
|
|
9140
|
+
onClick: () => handleSelect(option.value),
|
|
9141
|
+
children: [
|
|
9142
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9143
|
+
"div",
|
|
9144
|
+
{
|
|
9145
|
+
className: cn(
|
|
9146
|
+
"flex h-4 w-4 items-center justify-center rounded-sm border border-primary",
|
|
9147
|
+
isSelected ? "bg-primary text-primary-foreground" : "opacity-50"
|
|
9148
|
+
),
|
|
9149
|
+
children: isSelected && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-3 w-3" })
|
|
9150
|
+
}
|
|
9151
|
+
),
|
|
9152
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: option.label })
|
|
9153
|
+
]
|
|
9154
|
+
},
|
|
9155
|
+
option.value
|
|
9156
|
+
);
|
|
9157
|
+
})
|
|
9158
|
+
}
|
|
9159
|
+
)
|
|
9160
|
+
}
|
|
9161
|
+
)
|
|
9031
9162
|
] })
|
|
9032
9163
|
] });
|
|
9033
9164
|
};
|
|
@@ -9490,6 +9621,7 @@ var TransactionDetailView = ({
|
|
|
9490
9621
|
onCounterpartyClick,
|
|
9491
9622
|
onOFACClick,
|
|
9492
9623
|
onProductClick,
|
|
9624
|
+
onIMADChange,
|
|
9493
9625
|
isLoading,
|
|
9494
9626
|
error,
|
|
9495
9627
|
onRetry
|
|
@@ -9606,50 +9738,50 @@ var TransactionDetailView = ({
|
|
|
9606
9738
|
InfoField,
|
|
9607
9739
|
{
|
|
9608
9740
|
label: "OFAC ID",
|
|
9609
|
-
value: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9741
|
+
value: transaction.ofacId ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
9610
9742
|
Button,
|
|
9611
9743
|
{
|
|
9612
9744
|
variant: "link",
|
|
9613
9745
|
className: "h-auto p-0 text-sm",
|
|
9614
|
-
onClick: () => onOFACClick(
|
|
9615
|
-
children:
|
|
9746
|
+
onClick: () => onOFACClick(transaction.ofacId),
|
|
9747
|
+
children: transaction.ofacId
|
|
9616
9748
|
}
|
|
9617
|
-
),
|
|
9749
|
+
) : "-",
|
|
9618
9750
|
layout: "horizontal"
|
|
9619
9751
|
}
|
|
9620
9752
|
),
|
|
9621
|
-
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Original Filename", value: "-", layout: "horizontal" }),
|
|
9622
|
-
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Loaded From File", value:
|
|
9753
|
+
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Original Filename", value: transaction.originalFilename || "-", layout: "horizontal" }),
|
|
9754
|
+
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Loaded From File", value: transaction.loadedFromFile || "-", layout: "horizontal" }),
|
|
9623
9755
|
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Payment ID", value: transaction.id, layout: "horizontal" }),
|
|
9624
|
-
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Linked Payment ID", value: "-", layout: "horizontal" }),
|
|
9625
|
-
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Pending until Date", value: "-", layout: "horizontal" }),
|
|
9626
|
-
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Further Credit To", value: "-", layout: "horizontal" }),
|
|
9627
|
-
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Balance Available Date", value: "-", layout: "horizontal" }),
|
|
9628
|
-
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Requester Username", value: "-", layout: "horizontal" }),
|
|
9629
|
-
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Requester IP Address", value: "-", layout: "horizontal" }),
|
|
9630
|
-
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Settlement Filename", value: "-", layout: "horizontal" }),
|
|
9631
|
-
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Duplicate of Payment ID", value: "-", layout: "horizontal" }),
|
|
9756
|
+
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Linked Payment ID", value: transaction.linkedPaymentId || "-", layout: "horizontal" }),
|
|
9757
|
+
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Pending until Date", value: transaction.pendingUntilDate || "-", layout: "horizontal" }),
|
|
9758
|
+
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Further Credit To", value: transaction.furtherCreditTo || "-", layout: "horizontal" }),
|
|
9759
|
+
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Balance Available Date", value: transaction.balanceAvailableDate || "-", layout: "horizontal" }),
|
|
9760
|
+
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Requester Username", value: transaction.requesterUsername || "-", layout: "horizontal" }),
|
|
9761
|
+
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Requester IP Address", value: transaction.requesterIpAddress || "-", layout: "horizontal" }),
|
|
9762
|
+
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Settlement Filename", value: transaction.settlementFilename || "-", layout: "horizontal" }),
|
|
9763
|
+
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Duplicate of Payment ID", value: transaction.duplicateOfPaymentId || "-", layout: "horizontal" }),
|
|
9632
9764
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9633
9765
|
InfoField,
|
|
9634
9766
|
{
|
|
9635
9767
|
label: "Product ID",
|
|
9636
|
-
value: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9768
|
+
value: transaction.productId ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
9637
9769
|
Button,
|
|
9638
9770
|
{
|
|
9639
9771
|
variant: "link",
|
|
9640
9772
|
className: "h-auto p-0 text-sm",
|
|
9641
|
-
onClick: () => onProductClick(
|
|
9642
|
-
children:
|
|
9773
|
+
onClick: () => onProductClick(transaction.productId),
|
|
9774
|
+
children: transaction.productId
|
|
9643
9775
|
}
|
|
9644
|
-
),
|
|
9776
|
+
) : "-",
|
|
9645
9777
|
layout: "horizontal"
|
|
9646
9778
|
}
|
|
9647
9779
|
),
|
|
9648
|
-
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Returned In File", value: "-", layout: "horizontal" }),
|
|
9649
|
-
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Alerts", value: "-", layout: "horizontal" })
|
|
9780
|
+
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Returned In File", value: transaction.returnedInFile || "-", layout: "horizontal" }),
|
|
9781
|
+
/* @__PURE__ */ jsxRuntime.jsx(InfoField, { label: "Alerts", value: transaction.alerts?.join(", ") || "-", layout: "horizontal" })
|
|
9650
9782
|
] }) }),
|
|
9651
9783
|
isACHTransfer && transaction.achDetails && /* @__PURE__ */ jsxRuntime.jsx(ACHDetailsSection, { data: transaction.achDetails }),
|
|
9652
|
-
isWireTransfer && transaction.wireDetails && /* @__PURE__ */ jsxRuntime.jsx(WireDetailsSection, { data: transaction.wireDetails })
|
|
9784
|
+
isWireTransfer && transaction.wireDetails && /* @__PURE__ */ jsxRuntime.jsx(WireDetailsSection, { data: transaction.wireDetails, onIMADChange })
|
|
9653
9785
|
] }),
|
|
9654
9786
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "lg:w-64", children: /* @__PURE__ */ jsxRuntime.jsx(FormCard, { title: "Transaction Timeline", children: /* @__PURE__ */ jsxRuntime.jsx(AlertTimeline, { events: timelineEvents }) }) })
|
|
9655
9787
|
] })
|
|
@@ -14669,6 +14801,11 @@ var mockTransactions = [
|
|
|
14669
14801
|
processingStatus: "SENT",
|
|
14670
14802
|
updated: "2025-10-01 00:16",
|
|
14671
14803
|
isInbound: true,
|
|
14804
|
+
ofacId: "18323208",
|
|
14805
|
+
productId: "130",
|
|
14806
|
+
loadedFromFile: "iso21130757012764355B7.xml.126534273Q299",
|
|
14807
|
+
requesterUsername: "admin@riseworks.com",
|
|
14808
|
+
requesterIpAddress: "192.168.1.100",
|
|
14672
14809
|
achDetails: {
|
|
14673
14810
|
type: "ACH Credit",
|
|
14674
14811
|
originatorName: "Rise Works Inc",
|
|
@@ -14740,6 +14877,8 @@ var mockTransactions = [
|
|
|
14740
14877
|
processingStatus: "CONFIRMED",
|
|
14741
14878
|
updated: "2025-10-01 00:12",
|
|
14742
14879
|
isInbound: false,
|
|
14880
|
+
settlementFilename: "settlement_20250930.csv",
|
|
14881
|
+
alerts: ["OFAC Review Pending"],
|
|
14743
14882
|
wireDetails: {
|
|
14744
14883
|
type: "Domestic Wire",
|
|
14745
14884
|
originatorName: "Tech Solutions LLC",
|
|
@@ -14752,11 +14891,14 @@ var mockTransactions = [
|
|
|
14752
14891
|
beneficiaryFIRoutingNumber: "021000021",
|
|
14753
14892
|
beneficiaryFIAddress: "270 Park Avenue, New York, NY 10017",
|
|
14754
14893
|
originatorFIName: "Wells Fargo Bank",
|
|
14894
|
+
originatorToBeneficiaryInfo: "Invoice Payment for INV-2024-089 - Equipment Purchase",
|
|
14895
|
+
fileHandle: "WR20250930-0001234",
|
|
14755
14896
|
originatorFIRoutingNumber: "121000248",
|
|
14756
14897
|
originatorFIAddress: "420 Montgomery Street, San Francisco, CA 94104",
|
|
14757
14898
|
intermediaryFIName: "Bank of America",
|
|
14758
14899
|
intermediaryFIRoutingNumber: "026009593",
|
|
14759
14900
|
intermediaryFIAddress: "100 Federal Street, Boston, MA 02110",
|
|
14901
|
+
imad: "20250930MMQFMP030000123",
|
|
14760
14902
|
raw: {
|
|
14761
14903
|
messageType: "MT103",
|
|
14762
14904
|
sender: "WFBIUS6SXXX",
|
|
@@ -14864,10 +15006,25 @@ var mockTransactions = [
|
|
|
14864
15006
|
counterparty: "Property Management LLC",
|
|
14865
15007
|
description: "Monthly Rent Payment",
|
|
14866
15008
|
transactionType: "Wire Domestic Debit",
|
|
14867
|
-
status: "
|
|
14868
|
-
processingStatus: "
|
|
15009
|
+
status: "PENDING",
|
|
15010
|
+
processingStatus: "SENT",
|
|
14869
15011
|
updated: "2025-09-30 20:15",
|
|
14870
|
-
isInbound: false
|
|
15012
|
+
isInbound: false,
|
|
15013
|
+
wireDetails: {
|
|
15014
|
+
type: "Domestic Wire",
|
|
15015
|
+
originatorName: "Real Estate Holdings",
|
|
15016
|
+
originatorAccountNumber: "998877665544",
|
|
15017
|
+
originatorAddress: "789 Property Lane, Chicago, IL 60601",
|
|
15018
|
+
beneficiaryName: "Property Management LLC",
|
|
15019
|
+
beneficiaryAccountNumber: "112233445566",
|
|
15020
|
+
beneficiaryAddress: "321 Management Blvd, Chicago, IL 60602",
|
|
15021
|
+
beneficiaryFIName: "US Bank",
|
|
15022
|
+
beneficiaryFIRoutingNumber: "091000019",
|
|
15023
|
+
beneficiaryFIAddress: "800 Nicollet Mall, Minneapolis, MN 55402",
|
|
15024
|
+
originatorFIName: "Fifth Third Bank",
|
|
15025
|
+
originatorFIRoutingNumber: "042000314",
|
|
15026
|
+
originatorFIAddress: "38 Fountain Square Plaza, Cincinnati, OH 45263"
|
|
15027
|
+
}
|
|
14871
15028
|
},
|
|
14872
15029
|
{
|
|
14873
15030
|
id: "7",
|
|
@@ -15996,6 +16153,9 @@ var TransactionDetail = () => {
|
|
|
15996
16153
|
const handleProductClick = React15.useCallback((productId) => {
|
|
15997
16154
|
console.log("Navigate to product:", productId);
|
|
15998
16155
|
}, []);
|
|
16156
|
+
const handleIMADChange = React15.useCallback((newImad) => {
|
|
16157
|
+
console.log("IMAD changed to:", newImad);
|
|
16158
|
+
}, []);
|
|
15999
16159
|
if (!isLoading && !error && !transaction) {
|
|
16000
16160
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container mx-auto px-4 py-8", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
16001
16161
|
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-2xl font-bold mb-2", children: "Transaction Not Found" }),
|
|
@@ -16024,6 +16184,7 @@ var TransactionDetail = () => {
|
|
|
16024
16184
|
onCounterpartyClick: handleCounterpartyClick,
|
|
16025
16185
|
onOFACClick: handleOFACClick,
|
|
16026
16186
|
onProductClick: handleProductClick,
|
|
16187
|
+
onIMADChange: handleIMADChange,
|
|
16027
16188
|
isLoading,
|
|
16028
16189
|
error,
|
|
16029
16190
|
onRetry: handleRetry
|