chordia-ui 3.3.2 → 3.3.3
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/README.md +4 -0
- package/dist/SmallButton.cjs.js +1 -1
- package/dist/SmallButton.cjs.js.map +1 -1
- package/dist/SmallButton.es.js +170 -162
- package/dist/SmallButton.es.js.map +1 -1
- package/dist/components/chat.cjs.js +8 -8
- package/dist/components/chat.cjs.js.map +1 -1
- package/dist/components/chat.es.js +329 -335
- package/dist/components/chat.es.js.map +1 -1
- package/dist/components/data.cjs.js +1 -1
- package/dist/components/data.cjs.js.map +1 -1
- package/dist/components/data.es.js +83 -80
- package/dist/components/data.es.js.map +1 -1
- package/dist/components/layout.cjs.js +1 -1
- package/dist/components/layout.cjs.js.map +1 -1
- package/dist/components/layout.es.js +3 -1
- package/dist/components/layout.es.js.map +1 -1
- package/dist/index.cjs2.js +1 -1
- package/dist/index.cjs2.js.map +1 -1
- package/dist/index.es2.js +4 -4
- package/dist/index.es2.js.map +1 -1
- package/dist/pages/interactionDetails.cjs.js +2 -2
- package/dist/pages/interactionDetails.cjs.js.map +1 -1
- package/dist/pages/interactionDetails.es.js +117 -123
- package/dist/pages/interactionDetails.es.js.map +1 -1
- package/package.json +1 -1
- package/src/components/chat/ChatHistoryPanel.jsx +3 -3
- package/src/components/chat/ChatInterface.jsx +14 -14
- package/src/components/common/MessageThread.jsx +19 -19
- package/src/components/data/DataTable.jsx +18 -15
- package/src/components/layout/SplitPane.jsx +2 -0
- package/src/components/login/LoginPage.jsx +4 -4
- package/src/components/primitives/SmallButton.jsx +14 -6
package/package.json
CHANGED
|
@@ -101,15 +101,15 @@ export default function ChatHistoryPanel({
|
|
|
101
101
|
padding: "4px 10px",
|
|
102
102
|
fontSize: "11px",
|
|
103
103
|
fontWeight: 600,
|
|
104
|
-
color: "var(--
|
|
105
|
-
background: "
|
|
104
|
+
color: "var(--Base-Strong, #0B0B0B)",
|
|
105
|
+
background: "#ECEEF2",
|
|
106
106
|
border: "1px solid var(--border-subtle, rgba(52,58,64,0.08))",
|
|
107
107
|
borderRadius: "6px",
|
|
108
108
|
cursor: "pointer",
|
|
109
109
|
transition: "all 0.15s ease",
|
|
110
110
|
}}
|
|
111
111
|
onMouseEnter={(e) => {
|
|
112
|
-
e.currentTarget.style.background = "
|
|
112
|
+
e.currentTarget.style.background = "#ECEEF2";
|
|
113
113
|
}}
|
|
114
114
|
onMouseLeave={(e) => {
|
|
115
115
|
e.currentTarget.style.background = "rgba(94, 136, 176, 0.08)";
|
|
@@ -461,12 +461,12 @@ export default function ChatInterface({
|
|
|
461
461
|
padding: "10px 16px",
|
|
462
462
|
background:
|
|
463
463
|
inputValue.trim() && !isSending
|
|
464
|
-
? "var(--
|
|
465
|
-
: "
|
|
464
|
+
? "var(--Base-Strong, #0B0B0B)"
|
|
465
|
+
: "#ECEEF2",
|
|
466
466
|
color:
|
|
467
467
|
inputValue.trim() && !isSending
|
|
468
|
-
? "
|
|
469
|
-
: "var(--text-
|
|
468
|
+
? "white"
|
|
469
|
+
: "var(--text-base)",
|
|
470
470
|
border: "none",
|
|
471
471
|
borderRadius: "var(--radius-md, 8px)",
|
|
472
472
|
cursor:
|
|
@@ -479,16 +479,16 @@ export default function ChatInterface({
|
|
|
479
479
|
transition: "all 0.15s ease",
|
|
480
480
|
height: "42px",
|
|
481
481
|
}}
|
|
482
|
-
onMouseEnter={(e) => {
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
}}
|
|
487
|
-
onMouseLeave={(e) => {
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
}}
|
|
482
|
+
// onMouseEnter={(e) => {
|
|
483
|
+
// if (inputValue.trim() && !isSending) {
|
|
484
|
+
// e.currentTarget.style.background = "var(--Base-Strong, #0B0B0B)";
|
|
485
|
+
// }
|
|
486
|
+
// }}
|
|
487
|
+
// onMouseLeave={(e) => {
|
|
488
|
+
// if (inputValue.trim() && !isSending) {
|
|
489
|
+
// e.currentTarget.style.background = "#ECEEF2";
|
|
490
|
+
// }
|
|
491
|
+
// }}
|
|
492
492
|
>
|
|
493
493
|
{isSending ? (
|
|
494
494
|
<>
|
|
@@ -840,8 +840,8 @@ const renderMessageTree = (message, depth = 0) => {
|
|
|
840
840
|
? "white"
|
|
841
841
|
: "rgba(30, 33, 37, 0.45)",
|
|
842
842
|
background: editContent?.trim()
|
|
843
|
-
? "#
|
|
844
|
-
: "
|
|
843
|
+
? "var(--Base-Strong, #0B0B0B)"
|
|
844
|
+
: "#ECEEF2",
|
|
845
845
|
border: "none",
|
|
846
846
|
borderRadius: "6px",
|
|
847
847
|
cursor: editContent?.trim() ? "pointer" : "not-allowed",
|
|
@@ -850,18 +850,18 @@ const renderMessageTree = (message, depth = 0) => {
|
|
|
850
850
|
gap: "6px",
|
|
851
851
|
transition: "all 0.15s ease",
|
|
852
852
|
}}
|
|
853
|
-
onMouseEnter={(e) => {
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
}}
|
|
858
|
-
onMouseLeave={(e) => {
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
}}
|
|
853
|
+
// onMouseEnter={(e) => {
|
|
854
|
+
// if (editContent?.trim()) {
|
|
855
|
+
// e.currentTarget.style.background = "#4d7290";
|
|
856
|
+
// }
|
|
857
|
+
// }}
|
|
858
|
+
// onMouseLeave={(e) => {
|
|
859
|
+
// if (editContent?.trim()) {
|
|
860
|
+
// e.currentTarget.style.background = "#5e88b0";
|
|
861
|
+
// }
|
|
862
|
+
// }}
|
|
863
863
|
>
|
|
864
|
-
|
|
864
|
+
Edit
|
|
865
865
|
</button>
|
|
866
866
|
</div>
|
|
867
867
|
</div>
|
|
@@ -951,8 +951,8 @@ const renderMessageTree = (message, depth = 0) => {
|
|
|
951
951
|
: "rgba(30, 33, 37, 0.45)",
|
|
952
952
|
background:
|
|
953
953
|
replyDraft.trim() && !isSending
|
|
954
|
-
? "#
|
|
955
|
-
: "
|
|
954
|
+
? "var(--Base-Strong, #0B0B0B)"
|
|
955
|
+
: "#ECEEF2",
|
|
956
956
|
border: "none",
|
|
957
957
|
borderRadius: "6px",
|
|
958
958
|
cursor:
|
|
@@ -961,7 +961,7 @@ const renderMessageTree = (message, depth = 0) => {
|
|
|
961
961
|
: "not-allowed",
|
|
962
962
|
}}
|
|
963
963
|
>
|
|
964
|
-
|
|
964
|
+
Reply
|
|
965
965
|
</button>
|
|
966
966
|
</div>
|
|
967
967
|
</div>
|
|
@@ -1116,7 +1116,7 @@ const renderMessageTree = (message, depth = 0) => {
|
|
|
1116
1116
|
fontSize: "12px",
|
|
1117
1117
|
fontWeight: 600,
|
|
1118
1118
|
color: "white",
|
|
1119
|
-
background: "#
|
|
1119
|
+
background: "var(--Base-Strong, #0B0B0B)",
|
|
1120
1120
|
border: "none",
|
|
1121
1121
|
borderRadius: "6px",
|
|
1122
1122
|
cursor: "pointer",
|
|
@@ -2253,8 +2253,8 @@ const renderMessageTree = (message, depth = 0) => {
|
|
|
2253
2253
|
padding: "8px 16px",
|
|
2254
2254
|
background:
|
|
2255
2255
|
messageInput.trim() && !isSending
|
|
2256
|
-
? "#
|
|
2257
|
-
: "
|
|
2256
|
+
? "var(--Base-Strong, #0B0B0B)"
|
|
2257
|
+
: "#ECEEF2",
|
|
2258
2258
|
border: "none",
|
|
2259
2259
|
borderRadius: "6px",
|
|
2260
2260
|
color:
|
|
@@ -791,8 +791,9 @@ export default function DataTable({
|
|
|
791
791
|
style={{
|
|
792
792
|
width: column.width || "auto",
|
|
793
793
|
minWidth: column.width || "auto",
|
|
794
|
+
backgroundColor: "var(--primary-foreground)",
|
|
794
795
|
}}
|
|
795
|
-
className="sticky top-[57px] z-10
|
|
796
|
+
className="sticky top-[57px] z-10 border-b border-[var(--border-strong)] px-4 py-2 text-left"
|
|
796
797
|
>
|
|
797
798
|
{isFilterable ? (
|
|
798
799
|
<div className="relative">
|
|
@@ -810,8 +811,8 @@ export default function DataTable({
|
|
|
810
811
|
}}
|
|
811
812
|
onKeyDown={(e) => e.stopPropagation()}
|
|
812
813
|
onMouseDown={(e) => e.stopPropagation()}
|
|
813
|
-
className="w-full pl-7 pr-2 py-1.5 text-xs border border-[var(--border)] rounded
|
|
814
|
-
style={{ fontFamily: 'var(--font-sans)' }}
|
|
814
|
+
className="w-full pl-7 pr-2 py-1.5 text-xs border border-[var(--border)] rounded text-[var(--text-ink)] placeholder:text-[var(--text-faint)] focus:outline-none focus:border-[var(--border-hover)] focus:ring-1 focus:ring-[var(--focus)] transition-colors"
|
|
815
|
+
style={{ fontFamily: 'var(--font-sans)', backgroundColor: "var(--primary-foreground)" }}
|
|
815
816
|
autoComplete="off"
|
|
816
817
|
/>
|
|
817
818
|
</div>
|
|
@@ -839,7 +840,7 @@ export default function DataTable({
|
|
|
839
840
|
width: column.width || 'auto',
|
|
840
841
|
borderRight: '1px solid rgba(52, 58, 64, 0.06)',
|
|
841
842
|
userSelect: 'none',
|
|
842
|
-
background: '
|
|
843
|
+
background: 'var(--primary-foreground)',
|
|
843
844
|
borderBottom: '1px solid rgba(52, 58, 64, 0.12)',
|
|
844
845
|
position: 'sticky',
|
|
845
846
|
top: 0,
|
|
@@ -887,7 +888,7 @@ export default function DataTable({
|
|
|
887
888
|
const columnDropdownMenu = isColumnDropdownOpen ? (
|
|
888
889
|
<div
|
|
889
890
|
ref={columnDropdownMenuRef}
|
|
890
|
-
className="flex flex-col
|
|
891
|
+
className="flex flex-col overflow-auto z-[49] min-w-[220px]"
|
|
891
892
|
style={{
|
|
892
893
|
position: "fixed",
|
|
893
894
|
top: `${columnDropdownPosition.top}px`,
|
|
@@ -895,6 +896,7 @@ export default function DataTable({
|
|
|
895
896
|
width: columnDropdownPosition.width || 220,
|
|
896
897
|
maxHeight: `400px`,
|
|
897
898
|
fontFamily: 'var(--font-sans)',
|
|
899
|
+
backgroundColor: "var(--primary-foreground)",
|
|
898
900
|
borderRadius: '0 0 8px 8px', // Rounded corners only on bottom
|
|
899
901
|
boxShadow: '4px 4px 6px 0px #6D70681A, -4px 0px 6px 0px #6D70681A',
|
|
900
902
|
border: '1px solid rgba(52, 58, 64, 0.12)',
|
|
@@ -1046,7 +1048,7 @@ export default function DataTable({
|
|
|
1046
1048
|
) : null;
|
|
1047
1049
|
|
|
1048
1050
|
return (
|
|
1049
|
-
<div className="w-full" style={{top:'130px', position: 'sticky', zIndex: 35, backgroundColor: "
|
|
1051
|
+
<div className="w-full" style={{top:'130px', position: 'sticky', zIndex: 35, backgroundColor: "var(--primary-foreground)"}}>
|
|
1050
1052
|
{/* Column Visibility Dropdown and Filters */}
|
|
1051
1053
|
{columns.length > 0 && (
|
|
1052
1054
|
<div
|
|
@@ -1054,7 +1056,7 @@ export default function DataTable({
|
|
|
1054
1056
|
style={{
|
|
1055
1057
|
position: "sticky",
|
|
1056
1058
|
zIndex: 35,
|
|
1057
|
-
backgroundColor: "
|
|
1059
|
+
backgroundColor: "var(--primary-foreground)",
|
|
1058
1060
|
}}
|
|
1059
1061
|
>
|
|
1060
1062
|
<div className="flex items-center gap-3 flex-wrap">
|
|
@@ -1066,10 +1068,11 @@ export default function DataTable({
|
|
|
1066
1068
|
</div>
|
|
1067
1069
|
<div
|
|
1068
1070
|
ref={columnDropdownRef}
|
|
1069
|
-
className="inline-flex items-center justify-between gap-2 px-4 py-2.5
|
|
1071
|
+
className="inline-flex items-center justify-between gap-2 px-4 py-2.5 cursor-pointer transition-colors text-sm font-medium text-gray-900 border border-gray-300 min-w-[220px]"
|
|
1070
1072
|
onClick={() => setIsColumnDropdownOpen(!isColumnDropdownOpen)}
|
|
1071
1073
|
style={{
|
|
1072
1074
|
fontFamily: 'var(--font-sans)',
|
|
1075
|
+
backgroundColor: "var(--primary-foreground)",
|
|
1073
1076
|
borderRadius: isColumnDropdownOpen ? '8px 8px 0 0' : '8px', // Rounded top corners when open, all corners when closed
|
|
1074
1077
|
}}
|
|
1075
1078
|
>
|
|
@@ -1109,9 +1112,9 @@ export default function DataTable({
|
|
|
1109
1112
|
>
|
|
1110
1113
|
<div className="rounded-t-[14px]" style={{
|
|
1111
1114
|
border: '1px solid rgba(52, 58, 64, 0.12)',
|
|
1112
|
-
borderBottom: '
|
|
1115
|
+
borderBottom: '1px solid rgba(52, 58, 64, 0.12)',
|
|
1113
1116
|
overflow: 'hidden',
|
|
1114
|
-
background: '
|
|
1117
|
+
background: 'var(--primary-foreground)',
|
|
1115
1118
|
position: 'relative',
|
|
1116
1119
|
top:'0.5rem'
|
|
1117
1120
|
}}>
|
|
@@ -1181,7 +1184,7 @@ export default function DataTable({
|
|
|
1181
1184
|
key={`filter-${columnId}`}
|
|
1182
1185
|
style={{
|
|
1183
1186
|
padding: '8px 14px',
|
|
1184
|
-
background: '
|
|
1187
|
+
background: 'var(--primary-foreground)',
|
|
1185
1188
|
borderBottom: '1px solid rgba(52, 58, 64, 0.10)',
|
|
1186
1189
|
position: 'sticky',
|
|
1187
1190
|
top: '41px',
|
|
@@ -1208,18 +1211,18 @@ export default function DataTable({
|
|
|
1208
1211
|
fontSize: '11.5px',
|
|
1209
1212
|
border: '1px solid rgba(52, 58, 64, 0.16)',
|
|
1210
1213
|
borderRadius: '6px',
|
|
1211
|
-
background: '
|
|
1214
|
+
background: 'var(--primary-foreground)',
|
|
1212
1215
|
color: 'rgba(30, 33, 37, 0.78)',
|
|
1213
1216
|
outline: 'none',
|
|
1214
1217
|
fontFamily: 'var(--font-sans)',
|
|
1215
1218
|
}}
|
|
1216
1219
|
onFocus={(e) => {
|
|
1217
1220
|
e.target.style.borderColor = 'rgba(231, 212, 162, 0.65)';
|
|
1218
|
-
e.target.style.background = '
|
|
1221
|
+
e.target.style.background = 'var(--primary-foreground)';
|
|
1219
1222
|
}}
|
|
1220
1223
|
onBlur={(e) => {
|
|
1221
1224
|
e.target.style.borderColor = 'rgba(52, 58, 64, 0.16)';
|
|
1222
|
-
e.target.style.background = '
|
|
1225
|
+
e.target.style.background = 'var(--primary-foreground)';
|
|
1223
1226
|
}}
|
|
1224
1227
|
autoComplete="off"
|
|
1225
1228
|
/>
|
|
@@ -1340,7 +1343,7 @@ export default function DataTable({
|
|
|
1340
1343
|
) : null}
|
|
1341
1344
|
|
|
1342
1345
|
{(isServerSidePagination ? totalCount > 0 : sortedData.length > 0) && (
|
|
1343
|
-
<div className="border-t border-gray-200
|
|
1346
|
+
<div className="border-t border-gray-200 rounded-b-[14px]" style={{ backgroundColor: "var(--primary-foreground)" }}>
|
|
1344
1347
|
<Pagination
|
|
1345
1348
|
page={page}
|
|
1346
1349
|
pageSizeOptions={[5,10, 20, 50, 100]}
|
|
@@ -484,7 +484,7 @@ export default function LoginPage({
|
|
|
484
484
|
alignItems: 'center', padding: '32px 72px', position: 'relative', background: 'white',
|
|
485
485
|
overflowY: 'auto', minHeight: 0,
|
|
486
486
|
}}>
|
|
487
|
-
<div style={{ display: 'flex', flexDirection: 'column', alignItems: 'flex-start', width: '100%', maxWidth: 360, gap: 28 }}>
|
|
487
|
+
<div style={{ display: 'flex', flexDirection: 'column', alignItems: 'flex-start', width: '100%', maxWidth: 360, gap: 28, flex: 1 }}>
|
|
488
488
|
|
|
489
489
|
{view === 'signup' ? (
|
|
490
490
|
/* ── Sign Up ── */
|
|
@@ -534,8 +534,8 @@ export default function LoginPage({
|
|
|
534
534
|
</Field>
|
|
535
535
|
|
|
536
536
|
{signupError && (
|
|
537
|
-
<div style={{ display: 'flex', flexDirection: 'row', alignItems: 'center', padding: 8, gap: 6, width: '100%', boxSizing: 'border-box', background: 'var(--color-error-bg)', borderRadius: 5, fontSize:
|
|
538
|
-
<svg width="
|
|
537
|
+
<div style={{ display: 'flex', flexDirection: 'row', alignItems: 'center', padding: 8, gap: 6, width: '100%', boxSizing: 'border-box', background: 'var(--color-error-bg)', borderRadius: 5, fontSize: 14, fontWeight: 400, lineHeight: '22px', color: 'var(--color-text)', fontFamily: FF }}>
|
|
538
|
+
<svg width="16" height="16" viewBox="0 0 24 24" fill="var(--color-text)" style={{ flexShrink: 0 }}>
|
|
539
539
|
<path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"/>
|
|
540
540
|
</svg>
|
|
541
541
|
{signupError}
|
|
@@ -808,7 +808,7 @@ export default function LoginPage({
|
|
|
808
808
|
</div>
|
|
809
809
|
|
|
810
810
|
<NavRow text="Not a member yet?" linkText="Sign Up" onClick={() => { setView('signup'); onSignUp?.(); }} />
|
|
811
|
-
<TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={
|
|
811
|
+
<TermsFooter onTerms={onTerms} onPrivacyPolicy={onPrivacyPolicy} paddingTop={0} />
|
|
812
812
|
</div>
|
|
813
813
|
</div>
|
|
814
814
|
)}
|
|
@@ -10,24 +10,32 @@ export default function SmallButton({
|
|
|
10
10
|
}) {
|
|
11
11
|
const variantStyles = {
|
|
12
12
|
primary: {
|
|
13
|
-
backgroundColor: 'var(--
|
|
13
|
+
backgroundColor: 'var(--Base-Strong, #0B0B0B)',
|
|
14
14
|
color: 'white',
|
|
15
|
-
border: 'none'
|
|
15
|
+
border: 'none',
|
|
16
|
+
fontSize: '16px',
|
|
17
|
+
fontWeight: 600,
|
|
16
18
|
},
|
|
17
19
|
secondary: {
|
|
18
20
|
backgroundColor: 'transparent',
|
|
19
21
|
border: '1px solid var(--border)',
|
|
20
|
-
color: 'var(--text-base)'
|
|
22
|
+
color: 'var(--text-base)',
|
|
23
|
+
fontSize: '16px',
|
|
24
|
+
fontWeight: 600,
|
|
21
25
|
},
|
|
22
26
|
ghost: {
|
|
23
27
|
backgroundColor: 'transparent',
|
|
24
28
|
border: 'none',
|
|
25
|
-
color: 'var(--text-muted)'
|
|
29
|
+
color: 'var(--text-muted)',
|
|
30
|
+
fontSize: '16px',
|
|
31
|
+
fontWeight: 600,
|
|
26
32
|
},
|
|
27
33
|
danger: {
|
|
28
34
|
backgroundColor: 'var(--rail-signal-churn)',
|
|
29
35
|
color: 'white',
|
|
30
|
-
border: 'none'
|
|
36
|
+
border: 'none',
|
|
37
|
+
fontSize: '16px',
|
|
38
|
+
fontWeight: 600,
|
|
31
39
|
}
|
|
32
40
|
};
|
|
33
41
|
|
|
@@ -59,7 +67,7 @@ export default function SmallButton({
|
|
|
59
67
|
const handleMouseEnter = (e) => {
|
|
60
68
|
if (disabled) return;
|
|
61
69
|
if (variant === 'secondary' || variant === 'ghost') {
|
|
62
|
-
e.currentTarget.style.backgroundColor = '
|
|
70
|
+
e.currentTarget.style.backgroundColor = '#ECEEF2';
|
|
63
71
|
} else if (variant === 'danger') {
|
|
64
72
|
e.currentTarget.style.opacity = '0.85';
|
|
65
73
|
}
|