@cogentic-co/ds 0.5.5 → 0.6.0
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/animations/animation-ai-analysis.js +99 -4
- package/dist/animations/animation-ai-analysis.js.map +1 -1
- package/dist/animations/animation-audit-trail.js +194 -2
- package/dist/animations/animation-audit-trail.js.map +1 -1
- package/dist/animations/animation-compliance-reports.js +108 -3
- package/dist/animations/animation-compliance-reports.js.map +1 -1
- package/dist/animations/animation-custom-rules.js +107 -3
- package/dist/animations/animation-custom-rules.js.map +1 -1
- package/dist/animations/animation-jira-ticket.js +114 -3
- package/dist/animations/animation-jira-ticket.js.map +1 -1
- package/dist/animations/animation-jurisdiction-detection.js +122 -3
- package/dist/animations/animation-jurisdiction-detection.js.map +1 -1
- package/dist/animations/animation-multi-protocol.js +63 -2
- package/dist/animations/animation-multi-protocol.js.map +1 -1
- package/dist/animations/animation-pricing-preview.js +169 -3
- package/dist/animations/animation-pricing-preview.js.map +1 -1
- package/dist/animations/animation-realtime-updates.js +140 -4
- package/dist/animations/animation-realtime-updates.js.map +1 -1
- package/dist/animations/animation-rest-api.js +121 -2
- package/dist/animations/animation-rest-api.js.map +1 -1
- package/dist/animations/animation-risk-scoring.js +158 -4
- package/dist/animations/animation-risk-scoring.js.map +1 -1
- package/dist/animations/animation-sandbox.js +107 -2
- package/dist/animations/animation-sandbox.js.map +1 -1
- package/dist/animations/animation-scheduled-reports.js +107 -3
- package/dist/animations/animation-scheduled-reports.js.map +1 -1
- package/dist/animations/animation-secure-messaging.js +99 -3
- package/dist/animations/animation-secure-messaging.js.map +1 -1
- package/dist/animations/animation-slack-notification.js +90 -3
- package/dist/animations/animation-slack-notification.js.map +1 -1
- package/dist/animations/animation-sop-mapping.js +158 -2
- package/dist/animations/animation-sop-mapping.js.map +1 -1
- package/dist/animations/animation-team-routing.js +118 -4
- package/dist/animations/animation-team-routing.js.map +1 -1
- package/dist/animations/animation-teams-notification.js +89 -3
- package/dist/animations/animation-teams-notification.js.map +1 -1
- package/dist/animations/animation-vasp-identification.js +142 -3
- package/dist/animations/animation-vasp-identification.js.map +1 -1
- package/dist/animations/animation-webhooks.js +105 -3
- package/dist/animations/animation-webhooks.js.map +1 -1
- package/dist/blocks/auth-form.js +0 -1
- package/dist/blocks/feature-section.js +0 -1
- package/dist/blocks/hero-section.js +0 -1
- package/dist/blocks/pricing-table.js +0 -1
- package/dist/blocks/stat-card.js +0 -1
- package/dist/chart-DkwdRX-i.d.ts +50 -0
- package/dist/charts.d.ts +73 -3
- package/dist/charts.js +287 -2
- package/dist/charts.js.map +1 -1
- package/dist/chunk-6RWCZUAD.js +0 -1
- package/dist/chunk-GJAWCIGE.js +237 -0
- package/dist/chunk-GJAWCIGE.js.map +1 -0
- package/dist/chunk-GZNLQE3I.js +0 -1
- package/dist/chunk-TAPJEVUA.js +0 -1
- package/dist/index.d.ts +34 -52
- package/dist/index.js +109 -168
- package/dist/index.js.map +1 -1
- package/package.json +24 -34
- package/dist/chunk-4YD3YS4B.js +0 -110
- package/dist/chunk-4YD3YS4B.js.map +0 -1
- package/dist/chunk-5JLZ42JT.js +0 -125
- package/dist/chunk-5JLZ42JT.js.map +0 -1
- package/dist/chunk-5OOO6TRA.js +0 -111
- package/dist/chunk-5OOO6TRA.js.map +0 -1
- package/dist/chunk-65Z2VEKG.js +0 -161
- package/dist/chunk-65Z2VEKG.js.map +0 -1
- package/dist/chunk-BTFYV3TI.js +0 -102
- package/dist/chunk-BTFYV3TI.js.map +0 -1
- package/dist/chunk-BTZB4JRC.js +0 -117
- package/dist/chunk-BTZB4JRC.js.map +0 -1
- package/dist/chunk-BZSA47MS.js +0 -121
- package/dist/chunk-BZSA47MS.js.map +0 -1
- package/dist/chunk-EFLWU2JP.js +0 -145
- package/dist/chunk-EFLWU2JP.js.map +0 -1
- package/dist/chunk-F7REPQOA.js +0 -93
- package/dist/chunk-F7REPQOA.js.map +0 -1
- package/dist/chunk-FKPK3CB7.js +0 -143
- package/dist/chunk-FKPK3CB7.js.map +0 -1
- package/dist/chunk-H7VUIMEL.js +0 -172
- package/dist/chunk-H7VUIMEL.js.map +0 -1
- package/dist/chunk-HTYR73ON.js +0 -161
- package/dist/chunk-HTYR73ON.js.map +0 -1
- package/dist/chunk-I26ZXVSY.js +0 -124
- package/dist/chunk-I26ZXVSY.js.map +0 -1
- package/dist/chunk-IKATDPHG.js +0 -92
- package/dist/chunk-IKATDPHG.js.map +0 -1
- package/dist/chunk-KUOF3XRZ.js +0 -108
- package/dist/chunk-KUOF3XRZ.js.map +0 -1
- package/dist/chunk-N7PBUY7G.js +0 -110
- package/dist/chunk-N7PBUY7G.js.map +0 -1
- package/dist/chunk-NAPDFVBI.js +0 -102
- package/dist/chunk-NAPDFVBI.js.map +0 -1
- package/dist/chunk-RTK7R4KZ.js +0 -66
- package/dist/chunk-RTK7R4KZ.js.map +0 -1
- package/dist/chunk-RZZTDJHG.js +0 -110
- package/dist/chunk-RZZTDJHG.js.map +0 -1
- package/dist/chunk-SNOJLZP4.js +0 -197
- package/dist/chunk-SNOJLZP4.js.map +0 -1
- package/dist/chunk-U4EPKN7G.js +0 -518
- package/dist/chunk-U4EPKN7G.js.map +0 -1
- package/dist/index-CcPuHWa-.d.ts +0 -118
package/dist/chunk-65Z2VEKG.js
DELETED
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { cn } from './chunk-GZNLQE3I.js';
|
|
3
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
|
-
|
|
5
|
-
var ITEMS = [
|
|
6
|
-
{
|
|
7
|
-
code: "SOP-001",
|
|
8
|
-
regulation: "AML/CFT Policy",
|
|
9
|
-
jurisdiction: "AUSTRAC",
|
|
10
|
-
flag: "\u{1F1E6}\u{1F1FA}",
|
|
11
|
-
version: "v3.2",
|
|
12
|
-
coverage: "14 controls mapped",
|
|
13
|
-
lastReview: "Reviewed 3 days ago",
|
|
14
|
-
status: "mapped"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
code: "SOP-014",
|
|
18
|
-
regulation: "Travel Rule \u2014 IVMS101",
|
|
19
|
-
jurisdiction: "MAS",
|
|
20
|
-
flag: "\u{1F1F8}\u{1F1EC}",
|
|
21
|
-
version: "v2.1",
|
|
22
|
-
coverage: "8 controls mapped",
|
|
23
|
-
lastReview: "Updated 12 hours ago",
|
|
24
|
-
status: "updated"
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
code: "SOP-007",
|
|
28
|
-
regulation: "Enhanced Due Diligence",
|
|
29
|
-
jurisdiction: "FCA",
|
|
30
|
-
flag: "\u{1F1EC}\u{1F1E7}",
|
|
31
|
-
version: "v1.8",
|
|
32
|
-
coverage: "11 controls mapped",
|
|
33
|
-
lastReview: "Review due in 2 days",
|
|
34
|
-
status: "review"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
code: "SOP-023",
|
|
38
|
-
regulation: "Sanctions Screening",
|
|
39
|
-
jurisdiction: "OFAC",
|
|
40
|
-
flag: "\u{1F1FA}\u{1F1F8}",
|
|
41
|
-
version: "v4.0",
|
|
42
|
-
coverage: "6 controls mapped",
|
|
43
|
-
lastReview: "Reviewed 1 week ago",
|
|
44
|
-
status: "mapped"
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
code: "SOP-009",
|
|
48
|
-
regulation: "MiCA Compliance",
|
|
49
|
-
jurisdiction: "EU",
|
|
50
|
-
flag: "\u{1F1EA}\u{1F1FA}",
|
|
51
|
-
version: "v1.4",
|
|
52
|
-
coverage: "19 controls mapped",
|
|
53
|
-
lastReview: "Updated 2 days ago",
|
|
54
|
-
status: "updated"
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
code: "SOP-031",
|
|
58
|
-
regulation: "VA Licensing Framework",
|
|
59
|
-
jurisdiction: "SFC",
|
|
60
|
-
flag: "\u{1F1ED}\u{1F1F0}",
|
|
61
|
-
version: "v2.0",
|
|
62
|
-
coverage: "9 controls mapped",
|
|
63
|
-
lastReview: "Reviewed 5 days ago",
|
|
64
|
-
status: "mapped"
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
code: "SOP-018",
|
|
68
|
-
regulation: "Threshold Reporting",
|
|
69
|
-
jurisdiction: "FINTRAC",
|
|
70
|
-
flag: "\u{1F1E8}\u{1F1E6}",
|
|
71
|
-
version: "v3.1",
|
|
72
|
-
coverage: "7 controls mapped",
|
|
73
|
-
lastReview: "Review due tomorrow",
|
|
74
|
-
status: "review"
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
code: "SOP-042",
|
|
78
|
-
regulation: "VASP Obligations",
|
|
79
|
-
jurisdiction: "VARA",
|
|
80
|
-
flag: "\u{1F1E6}\u{1F1EA}",
|
|
81
|
-
version: "v1.1",
|
|
82
|
-
coverage: "12 controls mapped",
|
|
83
|
-
lastReview: "Reviewed 2 weeks ago",
|
|
84
|
-
status: "mapped"
|
|
85
|
-
}
|
|
86
|
-
];
|
|
87
|
-
var statusStyle = {
|
|
88
|
-
mapped: { dot: "bg-emerald-400", label: "Mapped", bg: "bg-emerald-50 text-emerald-700" },
|
|
89
|
-
review: { dot: "bg-amber-400", label: "Review", bg: "bg-amber-50 text-amber-700" },
|
|
90
|
-
updated: { dot: "bg-[#00D4FF]", label: "Updated", bg: "bg-sky-50 text-sky-700" }
|
|
91
|
-
};
|
|
92
|
-
function AnimationSopMapping({ className }) {
|
|
93
|
-
const doubled = [...ITEMS, ...ITEMS];
|
|
94
|
-
return /* @__PURE__ */ jsxs("div", { className: cn("relative flex items-center overflow-hidden", className), children: [
|
|
95
|
-
/* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-y-0 left-0 z-10 w-16 bg-gradient-to-r from-card/40 to-transparent" }),
|
|
96
|
-
/* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-y-0 right-0 z-10 w-16 bg-gradient-to-l from-card/40 to-transparent" }),
|
|
97
|
-
/* @__PURE__ */ jsx(
|
|
98
|
-
"div",
|
|
99
|
-
{
|
|
100
|
-
className: "flex w-max animate-marquee-left gap-4 px-4",
|
|
101
|
-
style: { animationDuration: "55s" },
|
|
102
|
-
children: doubled.map((item, i) => {
|
|
103
|
-
const st = statusStyle[item.status];
|
|
104
|
-
return /* @__PURE__ */ jsxs(
|
|
105
|
-
"div",
|
|
106
|
-
{
|
|
107
|
-
className: "flex shrink-0 flex-col rounded-xl border border-gray-200 bg-white shadow-sm",
|
|
108
|
-
style: { width: 260 },
|
|
109
|
-
children: [
|
|
110
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 border-gray-100 border-b px-4 py-3", children: [
|
|
111
|
-
/* @__PURE__ */ jsx("span", { className: "font-bold font-mono text-[11px] text-gray-400", children: item.code }),
|
|
112
|
-
/* @__PURE__ */ jsx("span", { className: "text-[10px] text-gray-300", children: item.version }),
|
|
113
|
-
/* @__PURE__ */ jsx(
|
|
114
|
-
"span",
|
|
115
|
-
{
|
|
116
|
-
className: cn(
|
|
117
|
-
"ml-auto rounded-full px-2 py-0.5 font-semibold text-[10px]",
|
|
118
|
-
st.bg
|
|
119
|
-
),
|
|
120
|
-
children: st.label
|
|
121
|
-
}
|
|
122
|
-
)
|
|
123
|
-
] }),
|
|
124
|
-
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2.5 px-4 py-3", children: [
|
|
125
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
126
|
-
/* @__PURE__ */ jsx("p", { className: "font-semibold text-[13px] text-gray-900 leading-snug", children: item.regulation }),
|
|
127
|
-
/* @__PURE__ */ jsxs("div", { className: "mt-1 flex items-center gap-1.5", children: [
|
|
128
|
-
/* @__PURE__ */ jsx("span", { className: "text-sm", children: item.flag }),
|
|
129
|
-
/* @__PURE__ */ jsx("span", { className: "text-[11px] text-gray-500", children: item.jurisdiction })
|
|
130
|
-
] })
|
|
131
|
-
] }),
|
|
132
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
133
|
-
/* @__PURE__ */ jsx("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ jsx("span", { className: "font-medium text-[10px] text-gray-500", children: item.coverage }) }),
|
|
134
|
-
/* @__PURE__ */ jsx("div", { className: "mt-1 h-1.5 overflow-hidden rounded-full bg-gray-100", children: /* @__PURE__ */ jsx(
|
|
135
|
-
"div",
|
|
136
|
-
{
|
|
137
|
-
className: cn(
|
|
138
|
-
"h-full rounded-full",
|
|
139
|
-
item.status === "mapped" ? "bg-emerald-400" : item.status === "updated" ? "bg-[#00D4FF]" : "bg-amber-400"
|
|
140
|
-
),
|
|
141
|
-
style: {
|
|
142
|
-
width: item.status === "mapped" ? "100%" : item.status === "updated" ? "85%" : "60%"
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
) })
|
|
146
|
-
] }),
|
|
147
|
-
/* @__PURE__ */ jsx("p", { className: "text-[10px] text-gray-400", children: item.lastReview })
|
|
148
|
-
] })
|
|
149
|
-
]
|
|
150
|
-
},
|
|
151
|
-
`${item.code}-${i}`
|
|
152
|
-
);
|
|
153
|
-
})
|
|
154
|
-
}
|
|
155
|
-
)
|
|
156
|
-
] });
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
export { AnimationSopMapping };
|
|
160
|
-
//# sourceMappingURL=chunk-65Z2VEKG.js.map
|
|
161
|
-
//# sourceMappingURL=chunk-65Z2VEKG.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/animations/animation-sop-mapping.tsx"],"names":[],"mappings":"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","file":"chunk-65Z2VEKG.js","sourcesContent":["\"use client\"\n\nimport { cn } from \"../lib/utils\"\n\ntype SopItem = {\n code: string\n regulation: string\n jurisdiction: string\n flag: string\n version: string\n coverage: string\n lastReview: string\n status: \"mapped\" | \"review\" | \"updated\"\n}\n\nconst ITEMS: SopItem[] = [\n {\n code: \"SOP-001\",\n regulation: \"AML/CFT Policy\",\n jurisdiction: \"AUSTRAC\",\n flag: \"\\u{1F1E6}\\u{1F1FA}\",\n version: \"v3.2\",\n coverage: \"14 controls mapped\",\n lastReview: \"Reviewed 3 days ago\",\n status: \"mapped\",\n },\n {\n code: \"SOP-014\",\n regulation: \"Travel Rule — IVMS101\",\n jurisdiction: \"MAS\",\n flag: \"\\u{1F1F8}\\u{1F1EC}\",\n version: \"v2.1\",\n coverage: \"8 controls mapped\",\n lastReview: \"Updated 12 hours ago\",\n status: \"updated\",\n },\n {\n code: \"SOP-007\",\n regulation: \"Enhanced Due Diligence\",\n jurisdiction: \"FCA\",\n flag: \"\\u{1F1EC}\\u{1F1E7}\",\n version: \"v1.8\",\n coverage: \"11 controls mapped\",\n lastReview: \"Review due in 2 days\",\n status: \"review\",\n },\n {\n code: \"SOP-023\",\n regulation: \"Sanctions Screening\",\n jurisdiction: \"OFAC\",\n flag: \"\\u{1F1FA}\\u{1F1F8}\",\n version: \"v4.0\",\n coverage: \"6 controls mapped\",\n lastReview: \"Reviewed 1 week ago\",\n status: \"mapped\",\n },\n {\n code: \"SOP-009\",\n regulation: \"MiCA Compliance\",\n jurisdiction: \"EU\",\n flag: \"\\u{1F1EA}\\u{1F1FA}\",\n version: \"v1.4\",\n coverage: \"19 controls mapped\",\n lastReview: \"Updated 2 days ago\",\n status: \"updated\",\n },\n {\n code: \"SOP-031\",\n regulation: \"VA Licensing Framework\",\n jurisdiction: \"SFC\",\n flag: \"\\u{1F1ED}\\u{1F1F0}\",\n version: \"v2.0\",\n coverage: \"9 controls mapped\",\n lastReview: \"Reviewed 5 days ago\",\n status: \"mapped\",\n },\n {\n code: \"SOP-018\",\n regulation: \"Threshold Reporting\",\n jurisdiction: \"FINTRAC\",\n flag: \"\\u{1F1E8}\\u{1F1E6}\",\n version: \"v3.1\",\n coverage: \"7 controls mapped\",\n lastReview: \"Review due tomorrow\",\n status: \"review\",\n },\n {\n code: \"SOP-042\",\n regulation: \"VASP Obligations\",\n jurisdiction: \"VARA\",\n flag: \"\\u{1F1E6}\\u{1F1EA}\",\n version: \"v1.1\",\n coverage: \"12 controls mapped\",\n lastReview: \"Reviewed 2 weeks ago\",\n status: \"mapped\",\n },\n]\n\nconst statusStyle: Record<SopItem[\"status\"], { dot: string; label: string; bg: string }> = {\n mapped: { dot: \"bg-emerald-400\", label: \"Mapped\", bg: \"bg-emerald-50 text-emerald-700\" },\n review: { dot: \"bg-amber-400\", label: \"Review\", bg: \"bg-amber-50 text-amber-700\" },\n updated: { dot: \"bg-[#00D4FF]\", label: \"Updated\", bg: \"bg-sky-50 text-sky-700\" },\n}\n\nexport default function AnimationSopMapping({ className }: { className?: string }) {\n const doubled = [...ITEMS, ...ITEMS]\n\n return (\n <div className={cn(\"relative flex items-center overflow-hidden\", className)}>\n {/* Fade edges */}\n <div className=\"pointer-events-none absolute inset-y-0 left-0 z-10 w-16 bg-gradient-to-r from-card/40 to-transparent\" />\n <div className=\"pointer-events-none absolute inset-y-0 right-0 z-10 w-16 bg-gradient-to-l from-card/40 to-transparent\" />\n\n {/* Scrolling row */}\n <div\n className=\"flex w-max animate-marquee-left gap-4 px-4\"\n style={{ animationDuration: \"55s\" }}\n >\n {doubled.map((item, i) => {\n const st = statusStyle[item.status]\n return (\n <div\n key={`${item.code}-${i}`}\n className=\"flex shrink-0 flex-col rounded-xl border border-gray-200 bg-white shadow-sm\"\n style={{ width: 260 }}\n >\n {/* Header */}\n <div className=\"flex items-center gap-2 border-gray-100 border-b px-4 py-3\">\n <span className=\"font-bold font-mono text-[11px] text-gray-400\">{item.code}</span>\n <span className=\"text-[10px] text-gray-300\">{item.version}</span>\n <span\n className={cn(\n \"ml-auto rounded-full px-2 py-0.5 font-semibold text-[10px]\",\n st.bg,\n )}\n >\n {st.label}\n </span>\n </div>\n\n {/* Body */}\n <div className=\"flex flex-col gap-2.5 px-4 py-3\">\n <div>\n <p className=\"font-semibold text-[13px] text-gray-900 leading-snug\">\n {item.regulation}\n </p>\n <div className=\"mt-1 flex items-center gap-1.5\">\n <span className=\"text-sm\">{item.flag}</span>\n <span className=\"text-[11px] text-gray-500\">{item.jurisdiction}</span>\n </div>\n </div>\n\n {/* Progress bar */}\n <div>\n <div className=\"flex items-center justify-between\">\n <span className=\"font-medium text-[10px] text-gray-500\">{item.coverage}</span>\n </div>\n <div className=\"mt-1 h-1.5 overflow-hidden rounded-full bg-gray-100\">\n <div\n className={cn(\n \"h-full rounded-full\",\n item.status === \"mapped\"\n ? \"bg-emerald-400\"\n : item.status === \"updated\"\n ? \"bg-[#00D4FF]\"\n : \"bg-amber-400\",\n )}\n style={{\n width:\n item.status === \"mapped\"\n ? \"100%\"\n : item.status === \"updated\"\n ? \"85%\"\n : \"60%\",\n }}\n />\n </div>\n </div>\n\n <p className=\"text-[10px] text-gray-400\">{item.lastReview}</p>\n </div>\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n"]}
|
package/dist/chunk-BTFYV3TI.js
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { EASE_OUT } from './chunk-TAPJEVUA.js';
|
|
3
|
-
import { useAnimationTimer } from './chunk-RXV2XUDZ.js';
|
|
4
|
-
import { cn } from './chunk-GZNLQE3I.js';
|
|
5
|
-
import { Sparkles } from 'lucide-react';
|
|
6
|
-
import { LazyMotion, domAnimation, AnimatePresence, m } from 'motion/react';
|
|
7
|
-
import { useRef, useEffect } from 'react';
|
|
8
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
9
|
-
|
|
10
|
-
var INSIGHTS = [
|
|
11
|
-
{
|
|
12
|
-
category: "Risk Assessment",
|
|
13
|
-
text: "Counterparty risk assessed as {low} based on VASP registration status and historical transaction patterns."
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
category: "Threshold Analysis",
|
|
17
|
-
text: "Transfer {exceeds SGD 20,000} reporting threshold \u2014 enhanced due diligence triggered under MAS Notice PSN01."
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
category: "Travel Rule",
|
|
21
|
-
text: "Beneficiary VASP {verified} against IVMS101 directory \u2014 originator and beneficiary data complete."
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
category: "Jurisdiction Mapping",
|
|
25
|
-
text: "Corridor {SG \u2192 US} mapped \u2014 both counterparties subject to Travel Rule data requirements."
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
category: "Sanctions Screening",
|
|
29
|
-
text: "Screening {cleared} \u2014 no matches found across OFAC SDN, EU consolidated, and UN sanctions lists."
|
|
30
|
-
}
|
|
31
|
-
];
|
|
32
|
-
function renderHighlightedText(text) {
|
|
33
|
-
const parts = text.split(/\{([^}]+)\}/g);
|
|
34
|
-
return parts.map(
|
|
35
|
-
(part, i) => i % 2 === 1 ? /* @__PURE__ */ jsx("span", { className: "rounded-sm bg-[#00D4FF]/10 px-1 font-medium text-[#0099BB]", children: part }, i) : /* @__PURE__ */ jsx("span", { children: part }, i)
|
|
36
|
-
);
|
|
37
|
-
}
|
|
38
|
-
function AnimationAIAnalysis({ className }) {
|
|
39
|
-
const [timerRef, tick] = useAnimationTimer(2800);
|
|
40
|
-
const count = Math.min(tick + 1, 3);
|
|
41
|
-
const startIdx = Math.max(0, tick + 1 - count);
|
|
42
|
-
const visibleCards = Array.from({ length: count }, (_, i) => (startIdx + i) % INSIGHTS.length);
|
|
43
|
-
const scrollRef = useRef(null);
|
|
44
|
-
useEffect(() => {
|
|
45
|
-
if (scrollRef.current) {
|
|
46
|
-
scrollRef.current.scrollTo({
|
|
47
|
-
top: scrollRef.current.scrollHeight,
|
|
48
|
-
behavior: "smooth"
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
}, []);
|
|
52
|
-
return /* @__PURE__ */ jsx(LazyMotion, { features: domAnimation, children: /* @__PURE__ */ jsx("div", { ref: timerRef, className: cn("flex flex-col overflow-hidden", className), children: /* @__PURE__ */ jsx(
|
|
53
|
-
"div",
|
|
54
|
-
{
|
|
55
|
-
ref: scrollRef,
|
|
56
|
-
className: "scrollbar-none flex flex-1 flex-col gap-2.5 overflow-y-auto px-4 py-4",
|
|
57
|
-
children: /* @__PURE__ */ jsx(AnimatePresence, { initial: false, children: visibleCards.map((insightIdx, i) => {
|
|
58
|
-
const insight = INSIGHTS[insightIdx];
|
|
59
|
-
const isLatest = i === visibleCards.length - 1;
|
|
60
|
-
return /* @__PURE__ */ jsxs(
|
|
61
|
-
m.div,
|
|
62
|
-
{
|
|
63
|
-
initial: { opacity: 0, y: 16 },
|
|
64
|
-
animate: { opacity: isLatest ? 1 : 0.5, y: 0 },
|
|
65
|
-
exit: { opacity: 0, y: -8 },
|
|
66
|
-
transition: { duration: 0.4, ease: EASE_OUT },
|
|
67
|
-
className: cn(
|
|
68
|
-
"shrink-0 rounded-xl border bg-white p-3.5 transition-shadow duration-300",
|
|
69
|
-
isLatest ? "border-gray-200 shadow-sm" : "border-gray-100"
|
|
70
|
-
),
|
|
71
|
-
children: [
|
|
72
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 font-medium text-[11px] text-gray-400", children: [
|
|
73
|
-
/* @__PURE__ */ jsx(
|
|
74
|
-
Sparkles,
|
|
75
|
-
{
|
|
76
|
-
className: cn("h-3 w-3", isLatest ? "text-[#00D4FF]" : "text-gray-300")
|
|
77
|
-
}
|
|
78
|
-
),
|
|
79
|
-
insight.category
|
|
80
|
-
] }),
|
|
81
|
-
/* @__PURE__ */ jsx(
|
|
82
|
-
"p",
|
|
83
|
-
{
|
|
84
|
-
className: cn(
|
|
85
|
-
"mt-1.5 text-[12px] leading-relaxed sm:text-[13px]",
|
|
86
|
-
isLatest ? "text-gray-700" : "text-gray-400"
|
|
87
|
-
),
|
|
88
|
-
children: renderHighlightedText(insight.text)
|
|
89
|
-
}
|
|
90
|
-
)
|
|
91
|
-
]
|
|
92
|
-
},
|
|
93
|
-
`${i}-${insightIdx}`
|
|
94
|
-
);
|
|
95
|
-
}) })
|
|
96
|
-
}
|
|
97
|
-
) }) });
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
export { AnimationAIAnalysis };
|
|
101
|
-
//# sourceMappingURL=chunk-BTFYV3TI.js.map
|
|
102
|
-
//# sourceMappingURL=chunk-BTFYV3TI.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/animations/animation-ai-analysis.tsx"],"names":[],"mappings":"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","file":"chunk-BTFYV3TI.js","sourcesContent":["\"use client\"\n\nimport { Sparkles } from \"lucide-react\"\nimport { AnimatePresence, domAnimation, LazyMotion, m } from \"motion/react\"\nimport { useEffect, useRef } from \"react\"\n\nimport { useAnimationTimer } from \"../hooks/use-animation-timer\"\n\nimport { EASE_OUT } from \"../lib/animation\"\nimport { cn } from \"../lib/utils\"\n\ntype Insight = {\n category: string\n text: string\n}\n\nconst INSIGHTS: Insight[] = [\n {\n category: \"Risk Assessment\",\n text: \"Counterparty risk assessed as {low} based on VASP registration status and historical transaction patterns.\",\n },\n {\n category: \"Threshold Analysis\",\n text: \"Transfer {exceeds SGD 20,000} reporting threshold — enhanced due diligence triggered under MAS Notice PSN01.\",\n },\n {\n category: \"Travel Rule\",\n text: \"Beneficiary VASP {verified} against IVMS101 directory — originator and beneficiary data complete.\",\n },\n {\n category: \"Jurisdiction Mapping\",\n text: \"Corridor {SG → US} mapped — both counterparties subject to Travel Rule data requirements.\",\n },\n {\n category: \"Sanctions Screening\",\n text: \"Screening {cleared} — no matches found across OFAC SDN, EU consolidated, and UN sanctions lists.\",\n },\n]\n\nfunction renderHighlightedText(text: string) {\n const parts = text.split(/\\{([^}]+)\\}/g)\n return parts.map((part, i) =>\n i % 2 === 1 ? (\n <span key={i} className=\"rounded-sm bg-[#00D4FF]/10 px-1 font-medium text-[#0099BB]\">\n {part}\n </span>\n ) : (\n <span key={i}>{part}</span>\n ),\n )\n}\n\nexport default function AnimationAIAnalysis({ className }: { className?: string }) {\n const [timerRef, tick] = useAnimationTimer(2800)\n const count = Math.min(tick + 1, 3)\n const startIdx = Math.max(0, tick + 1 - count)\n const visibleCards = Array.from({ length: count }, (_, i) => (startIdx + i) % INSIGHTS.length)\n const scrollRef = useRef<HTMLDivElement>(null)\n\n // Auto-scroll to bottom when new card appears\n useEffect(() => {\n if (scrollRef.current) {\n scrollRef.current.scrollTo({\n top: scrollRef.current.scrollHeight,\n behavior: \"smooth\",\n })\n }\n }, [])\n\n return (\n <LazyMotion features={domAnimation}>\n <div ref={timerRef} className={cn(\"flex flex-col overflow-hidden\", className)}>\n <div\n ref={scrollRef}\n className=\"scrollbar-none flex flex-1 flex-col gap-2.5 overflow-y-auto px-4 py-4\"\n >\n <AnimatePresence initial={false}>\n {visibleCards.map((insightIdx, i) => {\n const insight = INSIGHTS[insightIdx]\n const isLatest = i === visibleCards.length - 1\n return (\n <m.div\n key={`${i}-${insightIdx}`}\n initial={{ opacity: 0, y: 16 }}\n animate={{ opacity: isLatest ? 1 : 0.5, y: 0 }}\n exit={{ opacity: 0, y: -8 }}\n transition={{ duration: 0.4, ease: EASE_OUT }}\n className={cn(\n \"shrink-0 rounded-xl border bg-white p-3.5 transition-shadow duration-300\",\n isLatest ? \"border-gray-200 shadow-sm\" : \"border-gray-100\",\n )}\n >\n <div className=\"flex items-center gap-2 font-medium text-[11px] text-gray-400\">\n <Sparkles\n className={cn(\"h-3 w-3\", isLatest ? \"text-[#00D4FF]\" : \"text-gray-300\")}\n />\n {insight.category}\n </div>\n <p\n className={cn(\n \"mt-1.5 text-[12px] leading-relaxed sm:text-[13px]\",\n isLatest ? \"text-gray-700\" : \"text-gray-400\",\n )}\n >\n {renderHighlightedText(insight.text)}\n </p>\n </m.div>\n )\n })}\n </AnimatePresence>\n </div>\n </div>\n </LazyMotion>\n )\n}\n"]}
|
package/dist/chunk-BTZB4JRC.js
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { EASE_OUT } from './chunk-TAPJEVUA.js';
|
|
3
|
-
import { cn } from './chunk-GZNLQE3I.js';
|
|
4
|
-
import { motion } from 'motion/react';
|
|
5
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
6
|
-
|
|
7
|
-
function AnimationJiraTicket({ className }) {
|
|
8
|
-
return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col bg-white p-4", className), children: [
|
|
9
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 text-[10px] text-gray-400", children: [
|
|
10
|
-
/* @__PURE__ */ jsx("span", { children: "COGENTIC" }),
|
|
11
|
-
/* @__PURE__ */ jsx("span", { children: "/" }),
|
|
12
|
-
/* @__PURE__ */ jsx("span", { children: "Compliance Reviews" }),
|
|
13
|
-
/* @__PURE__ */ jsx("span", { children: "/" }),
|
|
14
|
-
/* @__PURE__ */ jsx("span", { className: "text-gray-600", children: "COG-847" })
|
|
15
|
-
] }),
|
|
16
|
-
/* @__PURE__ */ jsxs(
|
|
17
|
-
motion.div,
|
|
18
|
-
{
|
|
19
|
-
initial: { opacity: 0, y: 8 },
|
|
20
|
-
animate: { opacity: 1, y: 0 },
|
|
21
|
-
transition: { duration: 0.5, ease: EASE_OUT, delay: 0.2 },
|
|
22
|
-
children: [
|
|
23
|
-
/* @__PURE__ */ jsx("h4", { className: "mt-2 font-semibold text-[14px] text-gray-900 leading-snug", children: "Review: TXN-0847 \u2014 High risk corridor" }),
|
|
24
|
-
/* @__PURE__ */ jsxs(
|
|
25
|
-
motion.div,
|
|
26
|
-
{
|
|
27
|
-
initial: { opacity: 0 },
|
|
28
|
-
animate: { opacity: 1 },
|
|
29
|
-
transition: { duration: 0.3, delay: 0.5 },
|
|
30
|
-
className: "mt-2.5 flex flex-wrap items-center gap-2",
|
|
31
|
-
children: [
|
|
32
|
-
/* @__PURE__ */ jsx("span", { className: "rounded bg-blue-100 px-2 py-0.5 font-bold text-[10px] text-blue-700", children: "IN REVIEW" }),
|
|
33
|
-
/* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1 text-[10px] text-gray-500", children: [
|
|
34
|
-
/* @__PURE__ */ jsxs("svg", { width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", children: [
|
|
35
|
-
/* @__PURE__ */ jsx("path", { d: "M5 2V5L7 6.5", stroke: "currentColor", strokeWidth: "1", strokeLinecap: "round" }),
|
|
36
|
-
/* @__PURE__ */ jsx("circle", { cx: "5", cy: "5", r: "4", stroke: "currentColor", strokeWidth: "1" })
|
|
37
|
-
] }),
|
|
38
|
-
"Created 2 min ago"
|
|
39
|
-
] }),
|
|
40
|
-
/* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1 text-[10px] text-gray-500", children: [
|
|
41
|
-
/* @__PURE__ */ jsx("span", { className: "inline-flex size-4 items-center justify-center rounded-full bg-emerald-100 font-bold text-[7px] text-emerald-700", children: "JC" }),
|
|
42
|
-
"J. Chen"
|
|
43
|
-
] }),
|
|
44
|
-
/* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1 rounded bg-red-50 px-1.5 py-0.5 font-semibold text-[10px] text-red-600", children: [
|
|
45
|
-
/* @__PURE__ */ jsx("svg", { width: "8", height: "8", viewBox: "0 0 8 8", fill: "none", children: /* @__PURE__ */ jsx(
|
|
46
|
-
"path",
|
|
47
|
-
{
|
|
48
|
-
d: "M4 1V5M4 6.5V7",
|
|
49
|
-
stroke: "currentColor",
|
|
50
|
-
strokeWidth: "1.2",
|
|
51
|
-
strokeLinecap: "round"
|
|
52
|
-
}
|
|
53
|
-
) }),
|
|
54
|
-
"High"
|
|
55
|
-
] })
|
|
56
|
-
]
|
|
57
|
-
}
|
|
58
|
-
)
|
|
59
|
-
]
|
|
60
|
-
}
|
|
61
|
-
),
|
|
62
|
-
/* @__PURE__ */ jsxs(
|
|
63
|
-
motion.div,
|
|
64
|
-
{
|
|
65
|
-
initial: { opacity: 0, y: 6 },
|
|
66
|
-
animate: { opacity: 1, y: 0 },
|
|
67
|
-
transition: { duration: 0.4, ease: EASE_OUT, delay: 0.7 },
|
|
68
|
-
className: "mt-3 rounded border border-gray-100 bg-gray-50 p-3",
|
|
69
|
-
children: [
|
|
70
|
-
/* @__PURE__ */ jsx("p", { className: "font-semibold text-[10px] text-gray-400 uppercase tracking-wider", children: "Cogentic compliance brief" }),
|
|
71
|
-
/* @__PURE__ */ jsx("div", { className: "mt-2 space-y-1.5", children: [
|
|
72
|
-
{ label: "Corridor", value: "AU \u2192 SG" },
|
|
73
|
-
{ label: "Risk score", value: "72 / 100" },
|
|
74
|
-
{ label: "Trigger", value: "PEP screening match, threshold exceeded" },
|
|
75
|
-
{ label: "Recommendation", value: "Verify beneficiary identity before clearing" }
|
|
76
|
-
].map((row, i) => /* @__PURE__ */ jsxs(
|
|
77
|
-
motion.div,
|
|
78
|
-
{
|
|
79
|
-
initial: { opacity: 0, x: -4 },
|
|
80
|
-
animate: { opacity: 1, x: 0 },
|
|
81
|
-
transition: { duration: 0.25, delay: 0.9 + i * 0.1 },
|
|
82
|
-
className: "flex gap-2",
|
|
83
|
-
children: [
|
|
84
|
-
/* @__PURE__ */ jsx("span", { className: "w-[80px] shrink-0 font-medium text-[10px] text-gray-400", children: row.label }),
|
|
85
|
-
/* @__PURE__ */ jsx("span", { className: "font-medium text-[10px] text-gray-700", children: row.value })
|
|
86
|
-
]
|
|
87
|
-
},
|
|
88
|
-
row.label
|
|
89
|
-
)) })
|
|
90
|
-
]
|
|
91
|
-
}
|
|
92
|
-
),
|
|
93
|
-
/* @__PURE__ */ jsxs(
|
|
94
|
-
motion.div,
|
|
95
|
-
{
|
|
96
|
-
initial: { opacity: 0 },
|
|
97
|
-
animate: { opacity: 1 },
|
|
98
|
-
transition: { duration: 0.3, delay: 1.4 },
|
|
99
|
-
className: "mt-3",
|
|
100
|
-
children: [
|
|
101
|
-
/* @__PURE__ */ jsx("p", { className: "font-semibold text-[10px] text-gray-400 uppercase tracking-wider", children: "Activity" }),
|
|
102
|
-
/* @__PURE__ */ jsxs("div", { className: "mt-1.5 flex items-start gap-2", children: [
|
|
103
|
-
/* @__PURE__ */ jsx("div", { className: "mt-0.5 size-1.5 shrink-0 rounded-full bg-blue-400" }),
|
|
104
|
-
/* @__PURE__ */ jsxs("p", { className: "text-[10px] text-gray-500", children: [
|
|
105
|
-
/* @__PURE__ */ jsx("span", { className: "font-medium text-gray-700", children: "Cogentic" }),
|
|
106
|
-
" created this issue from flagged transfer TXN-0847"
|
|
107
|
-
] })
|
|
108
|
-
] })
|
|
109
|
-
]
|
|
110
|
-
}
|
|
111
|
-
)
|
|
112
|
-
] });
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
export { AnimationJiraTicket };
|
|
116
|
-
//# sourceMappingURL=chunk-BTZB4JRC.js.map
|
|
117
|
-
//# sourceMappingURL=chunk-BTZB4JRC.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/animations/animation-jira-ticket.tsx"],"names":[],"mappings":";;;;;AAOe,SAAR,mBAAA,CAAqC,EAAE,SAAA,EAAU,EAA2B;AACjF,EAAA,4BACG,KAAA,EAAA,EAAI,SAAA,EAAW,EAAA,CAAG,4BAAA,EAA8B,SAAS,CAAA,EAExD,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,qDAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,UAAK,QAAA,EAAA,UAAA,EAAQ,CAAA;AAAA,sBACd,GAAA,CAAC,UAAK,QAAA,EAAA,GAAA,EAAC,CAAA;AAAA,sBACP,GAAA,CAAC,UAAK,QAAA,EAAA,oBAAA,EAAkB,CAAA;AAAA,sBACxB,GAAA,CAAC,UAAK,QAAA,EAAA,GAAA,EAAC,CAAA;AAAA,sBACP,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,eAAA,EAAgB,QAAA,EAAA,SAAA,EAAO;AAAA,KAAA,EACzC,CAAA;AAAA,oBAGA,IAAA;AAAA,MAAC,MAAA,CAAO,GAAA;AAAA,MAAP;AAAA,QACC,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAG,GAAG,CAAA,EAAE;AAAA,QAC5B,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAG,GAAG,CAAA,EAAE;AAAA,QAC5B,YAAY,EAAE,QAAA,EAAU,KAAK,IAAA,EAAM,QAAA,EAAU,OAAO,GAAA,EAAI;AAAA,QAExD,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,2DAAA,EAA4D,QAAA,EAAA,4CAAA,EAE1E,CAAA;AAAA,0BAGA,IAAA;AAAA,YAAC,MAAA,CAAO,GAAA;AAAA,YAAP;AAAA,cACC,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAE;AAAA,cACtB,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAE;AAAA,cACtB,UAAA,EAAY,EAAE,QAAA,EAAU,GAAA,EAAK,OAAO,GAAA,EAAI;AAAA,cACxC,SAAA,EAAU,0CAAA;AAAA,cAEV,QAAA,EAAA;AAAA,gCAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,qEAAA,EAAsE,QAAA,EAAA,WAAA,EAEtF,CAAA;AAAA,gCACA,IAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,mDAAA,EACd,QAAA,EAAA;AAAA,kCAAA,IAAA,CAAC,KAAA,EAAA,EAAI,OAAM,IAAA,EAAK,MAAA,EAAO,MAAK,OAAA,EAAQ,WAAA,EAAY,MAAK,MAAA,EACnD,QAAA,EAAA;AAAA,oCAAA,GAAA,CAAC,MAAA,EAAA,EAAK,GAAE,cAAA,EAAe,MAAA,EAAO,gBAAe,WAAA,EAAY,GAAA,EAAI,eAAc,OAAA,EAAQ,CAAA;AAAA,oCACnF,GAAA,CAAC,QAAA,EAAA,EAAO,EAAA,EAAG,GAAA,EAAI,EAAA,EAAG,GAAA,EAAI,CAAA,EAAE,GAAA,EAAI,MAAA,EAAO,cAAA,EAAe,WAAA,EAAY,GAAA,EAAI;AAAA,mBAAA,EACpE,CAAA;AAAA,kBAAM;AAAA,iBAAA,EAER,CAAA;AAAA,gCACA,IAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,mDAAA,EACd,QAAA,EAAA;AAAA,kCAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,kHAAA,EAAmH,QAAA,EAAA,IAAA,EAEnI,CAAA;AAAA,kBAAO;AAAA,iBAAA,EAET,CAAA;AAAA,gCACA,IAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,gGAAA,EACd,QAAA,EAAA;AAAA,kCAAA,GAAA,CAAC,KAAA,EAAA,EAAI,OAAM,GAAA,EAAI,MAAA,EAAO,KAAI,OAAA,EAAQ,SAAA,EAAU,MAAK,MAAA,EAC/C,QAAA,kBAAA,GAAA;AAAA,oBAAC,MAAA;AAAA,oBAAA;AAAA,sBACC,CAAA,EAAE,gBAAA;AAAA,sBACF,MAAA,EAAO,cAAA;AAAA,sBACP,WAAA,EAAY,KAAA;AAAA,sBACZ,aAAA,EAAc;AAAA;AAAA,mBAChB,EACF,CAAA;AAAA,kBAAM;AAAA,iBAAA,EAER;AAAA;AAAA;AAAA;AACF;AAAA;AAAA,KACF;AAAA,oBAGA,IAAA;AAAA,MAAC,MAAA,CAAO,GAAA;AAAA,MAAP;AAAA,QACC,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAG,GAAG,CAAA,EAAE;AAAA,QAC5B,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAG,GAAG,CAAA,EAAE;AAAA,QAC5B,YAAY,EAAE,QAAA,EAAU,KAAK,IAAA,EAAM,QAAA,EAAU,OAAO,GAAA,EAAI;AAAA,QACxD,SAAA,EAAU,oDAAA;AAAA,QAEV,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,kEAAA,EAAmE,QAAA,EAAA,2BAAA,EAEhF,CAAA;AAAA,0BACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kBAAA,EACZ,QAAA,EAAA;AAAA,YACC,EAAE,KAAA,EAAO,UAAA,EAAY,KAAA,EAAO,cAAA,EAAe;AAAA,YAC3C,EAAE,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,UAAA,EAAW;AAAA,YACzC,EAAE,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO,yCAAA,EAA0C;AAAA,YACrE,EAAE,KAAA,EAAO,gBAAA,EAAkB,KAAA,EAAO,6CAAA;AAA8C,WAClF,CAAE,GAAA,CAAI,CAAC,GAAA,EAAK,CAAA,qBACV,IAAA;AAAA,YAAC,MAAA,CAAO,GAAA;AAAA,YAAP;AAAA,cAEC,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAG,GAAG,EAAA,EAAG;AAAA,cAC7B,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAG,GAAG,CAAA,EAAE;AAAA,cAC5B,YAAY,EAAE,QAAA,EAAU,MAAM,KAAA,EAAO,GAAA,GAAM,IAAI,GAAA,EAAI;AAAA,cACnD,SAAA,EAAU,YAAA;AAAA,cAEV,QAAA,EAAA;AAAA,gCAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,yDAAA,EACb,QAAA,EAAA,GAAA,CAAI,KAAA,EACP,CAAA;AAAA,gCACA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,uCAAA,EAAyC,cAAI,KAAA,EAAM;AAAA;AAAA,aAAA;AAAA,YAT9D,GAAA,CAAI;AAAA,WAWZ,CAAA,EACH;AAAA;AAAA;AAAA,KACF;AAAA,oBAGA,IAAA;AAAA,MAAC,MAAA,CAAO,GAAA;AAAA,MAAP;AAAA,QACC,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAE;AAAA,QACtB,OAAA,EAAS,EAAE,OAAA,EAAS,CAAA,EAAE;AAAA,QACtB,UAAA,EAAY,EAAE,QAAA,EAAU,GAAA,EAAK,OAAO,GAAA,EAAI;AAAA,QACxC,SAAA,EAAU,MAAA;AAAA,QAEV,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,kEAAA,EAAmE,QAAA,EAAA,UAAA,EAAQ,CAAA;AAAA,0BACxF,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,+BAAA,EACb,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,KAAA,EAAA,EAAI,WAAU,mDAAA,EAAoD,CAAA;AAAA,4BACnE,IAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,2BAAA,EACX,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,2BAAA,EAA4B,QAAA,EAAA,UAAA,EAAQ,CAAA;AAAA,cAAO;AAAA,aAAA,EAE7D;AAAA,WAAA,EACF;AAAA;AAAA;AAAA;AACF,GAAA,EACF,CAAA;AAEJ","file":"chunk-BTZB4JRC.js","sourcesContent":["\"use client\"\n\nimport { motion } from \"motion/react\"\n\nimport { EASE_OUT } from \"../lib/animation\"\nimport { cn } from \"../lib/utils\"\n\nexport default function AnimationJiraTicket({ className }: { className?: string }) {\n return (\n <div className={cn(\"flex flex-col bg-white p-4\", className)}>\n {/* Breadcrumb */}\n <div className=\"flex items-center gap-1.5 text-[10px] text-gray-400\">\n <span>COGENTIC</span>\n <span>/</span>\n <span>Compliance Reviews</span>\n <span>/</span>\n <span className=\"text-gray-600\">COG-847</span>\n </div>\n\n {/* Issue header */}\n <motion.div\n initial={{ opacity: 0, y: 8 }}\n animate={{ opacity: 1, y: 0 }}\n transition={{ duration: 0.5, ease: EASE_OUT, delay: 0.2 }}\n >\n <h4 className=\"mt-2 font-semibold text-[14px] text-gray-900 leading-snug\">\n Review: TXN-0847 — High risk corridor\n </h4>\n\n {/* Status & meta row */}\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.3, delay: 0.5 }}\n className=\"mt-2.5 flex flex-wrap items-center gap-2\"\n >\n <span className=\"rounded bg-blue-100 px-2 py-0.5 font-bold text-[10px] text-blue-700\">\n IN REVIEW\n </span>\n <span className=\"flex items-center gap-1 text-[10px] text-gray-500\">\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\">\n <path d=\"M5 2V5L7 6.5\" stroke=\"currentColor\" strokeWidth=\"1\" strokeLinecap=\"round\" />\n <circle cx=\"5\" cy=\"5\" r=\"4\" stroke=\"currentColor\" strokeWidth=\"1\" />\n </svg>\n Created 2 min ago\n </span>\n <span className=\"flex items-center gap-1 text-[10px] text-gray-500\">\n <span className=\"inline-flex size-4 items-center justify-center rounded-full bg-emerald-100 font-bold text-[7px] text-emerald-700\">\n JC\n </span>\n J. Chen\n </span>\n <span className=\"flex items-center gap-1 rounded bg-red-50 px-1.5 py-0.5 font-semibold text-[10px] text-red-600\">\n <svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\">\n <path\n d=\"M4 1V5M4 6.5V7\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n />\n </svg>\n High\n </span>\n </motion.div>\n </motion.div>\n\n {/* Description — Cogentic compliance brief */}\n <motion.div\n initial={{ opacity: 0, y: 6 }}\n animate={{ opacity: 1, y: 0 }}\n transition={{ duration: 0.4, ease: EASE_OUT, delay: 0.7 }}\n className=\"mt-3 rounded border border-gray-100 bg-gray-50 p-3\"\n >\n <p className=\"font-semibold text-[10px] text-gray-400 uppercase tracking-wider\">\n Cogentic compliance brief\n </p>\n <div className=\"mt-2 space-y-1.5\">\n {[\n { label: \"Corridor\", value: \"AU \\u2192 SG\" },\n { label: \"Risk score\", value: \"72 / 100\" },\n { label: \"Trigger\", value: \"PEP screening match, threshold exceeded\" },\n { label: \"Recommendation\", value: \"Verify beneficiary identity before clearing\" },\n ].map((row, i) => (\n <motion.div\n key={row.label}\n initial={{ opacity: 0, x: -4 }}\n animate={{ opacity: 1, x: 0 }}\n transition={{ duration: 0.25, delay: 0.9 + i * 0.1 }}\n className=\"flex gap-2\"\n >\n <span className=\"w-[80px] shrink-0 font-medium text-[10px] text-gray-400\">\n {row.label}\n </span>\n <span className=\"font-medium text-[10px] text-gray-700\">{row.value}</span>\n </motion.div>\n ))}\n </div>\n </motion.div>\n\n {/* Activity section */}\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.3, delay: 1.4 }}\n className=\"mt-3\"\n >\n <p className=\"font-semibold text-[10px] text-gray-400 uppercase tracking-wider\">Activity</p>\n <div className=\"mt-1.5 flex items-start gap-2\">\n <div className=\"mt-0.5 size-1.5 shrink-0 rounded-full bg-blue-400\" />\n <p className=\"text-[10px] text-gray-500\">\n <span className=\"font-medium text-gray-700\">Cogentic</span> created this issue from\n flagged transfer TXN-0847\n </p>\n </div>\n </motion.div>\n </div>\n )\n}\n"]}
|
package/dist/chunk-BZSA47MS.js
DELETED
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { EASE_OUT } from './chunk-TAPJEVUA.js';
|
|
3
|
-
import { useAnimationTimer } from './chunk-RXV2XUDZ.js';
|
|
4
|
-
import { cn } from './chunk-GZNLQE3I.js';
|
|
5
|
-
import { LazyMotion, domAnimation, m } from 'motion/react';
|
|
6
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
|
-
|
|
8
|
-
var TRANSFERS = [
|
|
9
|
-
{
|
|
10
|
-
txn: "TXN-0847",
|
|
11
|
-
corridor: "AU \u2192 SG",
|
|
12
|
-
risk: "High",
|
|
13
|
-
assignee: { name: "Sarah Chen", initials: "SC", colour: "bg-violet-100 text-violet-700" },
|
|
14
|
-
reason: "High risk \u2192 Senior analyst"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
txn: "TXN-0848",
|
|
18
|
-
corridor: "DE \u2192 US",
|
|
19
|
-
risk: "Low",
|
|
20
|
-
assignee: {
|
|
21
|
-
name: "Auto-approved",
|
|
22
|
-
initials: "\u2713",
|
|
23
|
-
colour: "bg-emerald-100 text-emerald-700"
|
|
24
|
-
},
|
|
25
|
-
reason: "Low risk \u2192 Auto-approval"
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
txn: "TXN-0849",
|
|
29
|
-
corridor: "JP \u2192 AE",
|
|
30
|
-
risk: "Medium",
|
|
31
|
-
assignee: { name: "Marcus Webb", initials: "MW", colour: "bg-blue-100 text-blue-700" },
|
|
32
|
-
reason: "MENA specialist"
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
txn: "TXN-0850",
|
|
36
|
-
corridor: "CA \u2192 HK",
|
|
37
|
-
risk: "High",
|
|
38
|
-
assignee: { name: "Li Wei", initials: "LW", colour: "bg-amber-100 text-amber-700" },
|
|
39
|
-
reason: "APAC jurisdiction"
|
|
40
|
-
}
|
|
41
|
-
];
|
|
42
|
-
var riskColour = {
|
|
43
|
-
Low: "bg-emerald-50 text-emerald-700",
|
|
44
|
-
Medium: "bg-amber-50 text-amber-700",
|
|
45
|
-
High: "bg-red-50 text-red-700"
|
|
46
|
-
};
|
|
47
|
-
function AnimationTeamRouting({ className }) {
|
|
48
|
-
const [timerRef, tick] = useAnimationTimer(2400);
|
|
49
|
-
const count = Math.min(tick + 1, 4);
|
|
50
|
-
const startIdx = Math.max(0, tick + 1 - count);
|
|
51
|
-
const visible = Array.from({ length: count }, (_, i) => (startIdx + i) % TRANSFERS.length);
|
|
52
|
-
return /* @__PURE__ */ jsx(LazyMotion, { features: domAnimation, children: /* @__PURE__ */ jsxs("div", { ref: timerRef, className: cn("flex flex-col p-5", className), children: [
|
|
53
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
54
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
55
|
-
/* @__PURE__ */ jsx("p", { className: "font-semibold text-[15px] text-foreground", children: "Team Routing" }),
|
|
56
|
-
/* @__PURE__ */ jsx("p", { className: "text-[12px] text-gray-400", children: "Automatic assignment" })
|
|
57
|
-
] }),
|
|
58
|
-
/* @__PURE__ */ jsxs("div", { className: "flex -space-x-1.5", children: [
|
|
59
|
-
["SC", "MW", "LW"].map((init) => /* @__PURE__ */ jsx(
|
|
60
|
-
"div",
|
|
61
|
-
{
|
|
62
|
-
className: "flex size-6 items-center justify-center rounded-full border-2 border-white bg-gray-100 font-bold text-[9px] text-gray-500",
|
|
63
|
-
children: init
|
|
64
|
-
},
|
|
65
|
-
init
|
|
66
|
-
)),
|
|
67
|
-
/* @__PURE__ */ jsx("div", { className: "flex size-6 items-center justify-center rounded-full border-2 border-white bg-gray-100 font-bold text-[9px] text-gray-400", children: "+4" })
|
|
68
|
-
] })
|
|
69
|
-
] }),
|
|
70
|
-
/* @__PURE__ */ jsx("div", { className: "mt-4 space-y-2", children: visible.map((tIdx, i) => {
|
|
71
|
-
const t = TRANSFERS[tIdx];
|
|
72
|
-
const isLatest = i === visible.length - 1;
|
|
73
|
-
return /* @__PURE__ */ jsxs(
|
|
74
|
-
m.div,
|
|
75
|
-
{
|
|
76
|
-
initial: { opacity: 0, x: -12 },
|
|
77
|
-
animate: { opacity: isLatest ? 1 : 0.5, x: 0 },
|
|
78
|
-
transition: { duration: 0.35, ease: EASE_OUT },
|
|
79
|
-
className: cn(
|
|
80
|
-
"flex items-center gap-3 rounded-lg border bg-white px-3 py-2.5",
|
|
81
|
-
isLatest ? "border-gray-200 shadow-sm" : "border-gray-100"
|
|
82
|
-
),
|
|
83
|
-
children: [
|
|
84
|
-
/* @__PURE__ */ jsx(
|
|
85
|
-
"div",
|
|
86
|
-
{
|
|
87
|
-
className: cn(
|
|
88
|
-
"flex size-8 shrink-0 items-center justify-center rounded-full font-bold text-[11px]",
|
|
89
|
-
t.assignee.colour
|
|
90
|
-
),
|
|
91
|
-
children: t.assignee.initials
|
|
92
|
-
}
|
|
93
|
-
),
|
|
94
|
-
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
95
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
96
|
-
/* @__PURE__ */ jsx("span", { className: "font-bold font-mono text-[11px] text-gray-400", children: t.txn }),
|
|
97
|
-
/* @__PURE__ */ jsx("span", { className: "text-[11px] text-gray-400", children: t.corridor })
|
|
98
|
-
] }),
|
|
99
|
-
/* @__PURE__ */ jsx("p", { className: "truncate text-[11px] text-gray-500", children: t.reason })
|
|
100
|
-
] }),
|
|
101
|
-
/* @__PURE__ */ jsx(
|
|
102
|
-
"span",
|
|
103
|
-
{
|
|
104
|
-
className: cn(
|
|
105
|
-
"shrink-0 rounded-full px-2 py-0.5 font-semibold text-[10px]",
|
|
106
|
-
riskColour[t.risk]
|
|
107
|
-
),
|
|
108
|
-
children: t.risk
|
|
109
|
-
}
|
|
110
|
-
)
|
|
111
|
-
]
|
|
112
|
-
},
|
|
113
|
-
`${i}-${tIdx}`
|
|
114
|
-
);
|
|
115
|
-
}) })
|
|
116
|
-
] }) });
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
export { AnimationTeamRouting };
|
|
120
|
-
//# sourceMappingURL=chunk-BZSA47MS.js.map
|
|
121
|
-
//# sourceMappingURL=chunk-BZSA47MS.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/animations/animation-team-routing.tsx"],"names":[],"mappings":"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","file":"chunk-BZSA47MS.js","sourcesContent":["\"use client\"\n\nimport { domAnimation, LazyMotion, m } from \"motion/react\"\n\nimport { useAnimationTimer } from \"../hooks/use-animation-timer\"\n\nimport { EASE_OUT } from \"../lib/animation\"\nimport { cn } from \"../lib/utils\"\n\ntype Transfer = {\n txn: string\n corridor: string\n risk: \"Low\" | \"Medium\" | \"High\"\n assignee: { name: string; initials: string; colour: string }\n reason: string\n}\n\nconst TRANSFERS: Transfer[] = [\n {\n txn: \"TXN-0847\",\n corridor: \"AU \\u2192 SG\",\n risk: \"High\",\n assignee: { name: \"Sarah Chen\", initials: \"SC\", colour: \"bg-violet-100 text-violet-700\" },\n reason: \"High risk \\u2192 Senior analyst\",\n },\n {\n txn: \"TXN-0848\",\n corridor: \"DE \\u2192 US\",\n risk: \"Low\",\n assignee: {\n name: \"Auto-approved\",\n initials: \"\\u2713\",\n colour: \"bg-emerald-100 text-emerald-700\",\n },\n reason: \"Low risk \\u2192 Auto-approval\",\n },\n {\n txn: \"TXN-0849\",\n corridor: \"JP \\u2192 AE\",\n risk: \"Medium\",\n assignee: { name: \"Marcus Webb\", initials: \"MW\", colour: \"bg-blue-100 text-blue-700\" },\n reason: \"MENA specialist\",\n },\n {\n txn: \"TXN-0850\",\n corridor: \"CA \\u2192 HK\",\n risk: \"High\",\n assignee: { name: \"Li Wei\", initials: \"LW\", colour: \"bg-amber-100 text-amber-700\" },\n reason: \"APAC jurisdiction\",\n },\n]\n\nconst riskColour: Record<string, string> = {\n Low: \"bg-emerald-50 text-emerald-700\",\n Medium: \"bg-amber-50 text-amber-700\",\n High: \"bg-red-50 text-red-700\",\n}\n\nexport default function AnimationTeamRouting({ className }: { className?: string }) {\n const [timerRef, tick] = useAnimationTimer(2400)\n const count = Math.min(tick + 1, 4)\n const startIdx = Math.max(0, tick + 1 - count)\n const visible = Array.from({ length: count }, (_, i) => (startIdx + i) % TRANSFERS.length)\n\n return (\n <LazyMotion features={domAnimation}>\n <div ref={timerRef} className={cn(\"flex flex-col p-5\", className)}>\n {/* Header */}\n <div className=\"flex items-center justify-between\">\n <div>\n <p className=\"font-semibold text-[15px] text-foreground\">Team Routing</p>\n <p className=\"text-[12px] text-gray-400\">Automatic assignment</p>\n </div>\n <div className=\"flex -space-x-1.5\">\n {[\"SC\", \"MW\", \"LW\"].map((init) => (\n <div\n key={init}\n className=\"flex size-6 items-center justify-center rounded-full border-2 border-white bg-gray-100 font-bold text-[9px] text-gray-500\"\n >\n {init}\n </div>\n ))}\n <div className=\"flex size-6 items-center justify-center rounded-full border-2 border-white bg-gray-100 font-bold text-[9px] text-gray-400\">\n +4\n </div>\n </div>\n </div>\n\n {/* Routing entries */}\n <div className=\"mt-4 space-y-2\">\n {visible.map((tIdx, i) => {\n const t = TRANSFERS[tIdx]\n const isLatest = i === visible.length - 1\n return (\n <m.div\n key={`${i}-${tIdx}`}\n initial={{ opacity: 0, x: -12 }}\n animate={{ opacity: isLatest ? 1 : 0.5, x: 0 }}\n transition={{ duration: 0.35, ease: EASE_OUT }}\n className={cn(\n \"flex items-center gap-3 rounded-lg border bg-white px-3 py-2.5\",\n isLatest ? \"border-gray-200 shadow-sm\" : \"border-gray-100\",\n )}\n >\n {/* Avatar */}\n <div\n className={cn(\n \"flex size-8 shrink-0 items-center justify-center rounded-full font-bold text-[11px]\",\n t.assignee.colour,\n )}\n >\n {t.assignee.initials}\n </div>\n\n {/* Info */}\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex items-center gap-2\">\n <span className=\"font-bold font-mono text-[11px] text-gray-400\">{t.txn}</span>\n <span className=\"text-[11px] text-gray-400\">{t.corridor}</span>\n </div>\n <p className=\"truncate text-[11px] text-gray-500\">{t.reason}</p>\n </div>\n\n {/* Risk badge */}\n <span\n className={cn(\n \"shrink-0 rounded-full px-2 py-0.5 font-semibold text-[10px]\",\n riskColour[t.risk],\n )}\n >\n {t.risk}\n </span>\n </m.div>\n )\n })}\n </div>\n </div>\n </LazyMotion>\n )\n}\n"]}
|