@natoe/colab 0.1.2 → 0.1.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/dist/index.js +242 -86
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +242 -86
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1159,7 +1159,7 @@ var styles = {
|
|
|
1159
1159
|
},
|
|
1160
1160
|
patientName: {
|
|
1161
1161
|
fontWeight: 600,
|
|
1162
|
-
fontSize: "
|
|
1162
|
+
fontSize: "17px",
|
|
1163
1163
|
color: "#111827"
|
|
1164
1164
|
},
|
|
1165
1165
|
secondaryRow: {
|
|
@@ -1169,8 +1169,8 @@ var styles = {
|
|
|
1169
1169
|
alignItems: "center"
|
|
1170
1170
|
},
|
|
1171
1171
|
secondary: {
|
|
1172
|
-
fontSize: "
|
|
1173
|
-
color: "#
|
|
1172
|
+
fontSize: "13px",
|
|
1173
|
+
color: "#4b5563"
|
|
1174
1174
|
},
|
|
1175
1175
|
actions: {
|
|
1176
1176
|
display: "flex",
|
|
@@ -1178,8 +1178,9 @@ var styles = {
|
|
|
1178
1178
|
marginTop: "8px"
|
|
1179
1179
|
},
|
|
1180
1180
|
dicomButton: {
|
|
1181
|
-
|
|
1182
|
-
|
|
1181
|
+
minHeight: "40px",
|
|
1182
|
+
padding: "8px 16px",
|
|
1183
|
+
fontSize: "14px",
|
|
1183
1184
|
fontWeight: 500,
|
|
1184
1185
|
color: "#ffffff",
|
|
1185
1186
|
backgroundColor: "#2563eb",
|
|
@@ -1188,8 +1189,9 @@ var styles = {
|
|
|
1188
1189
|
cursor: "pointer"
|
|
1189
1190
|
},
|
|
1190
1191
|
settingsButton: {
|
|
1191
|
-
|
|
1192
|
-
|
|
1192
|
+
minHeight: "40px",
|
|
1193
|
+
padding: "8px 16px",
|
|
1194
|
+
fontSize: "14px",
|
|
1193
1195
|
fontWeight: 500,
|
|
1194
1196
|
color: "#374151",
|
|
1195
1197
|
backgroundColor: "#ffffff",
|
|
@@ -1430,6 +1432,40 @@ var styles4 = {
|
|
|
1430
1432
|
cursor: "pointer"
|
|
1431
1433
|
}
|
|
1432
1434
|
};
|
|
1435
|
+
function FileIcon({ size = 18, color = "currentColor" }) {
|
|
1436
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1437
|
+
"svg",
|
|
1438
|
+
{
|
|
1439
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1440
|
+
width: size,
|
|
1441
|
+
height: size,
|
|
1442
|
+
viewBox: "0 0 24 24",
|
|
1443
|
+
fill: color,
|
|
1444
|
+
"aria-hidden": "true",
|
|
1445
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11z" })
|
|
1446
|
+
}
|
|
1447
|
+
);
|
|
1448
|
+
}
|
|
1449
|
+
function PinIcon({ size = 14, color = "currentColor" }) {
|
|
1450
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1451
|
+
"svg",
|
|
1452
|
+
{
|
|
1453
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1454
|
+
width: size,
|
|
1455
|
+
height: size,
|
|
1456
|
+
viewBox: "0 0 24 24",
|
|
1457
|
+
fill: color,
|
|
1458
|
+
"aria-hidden": "true",
|
|
1459
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16 9V4l1 0c.55 0 1-.45 1-1s-.45-1-1-1H7c-.55 0-1 .45-1 1s.45 1 1 1l1 0v5c0 1.66-1.34 3-3 3v2h5.97v7l1 1 1-1v-7H19v-2c-1.66 0-3-1.34-3-3z" })
|
|
1460
|
+
}
|
|
1461
|
+
);
|
|
1462
|
+
}
|
|
1463
|
+
var ROLE_LABELS = {
|
|
1464
|
+
radiologist: "Radiologist",
|
|
1465
|
+
lab: "Imaging Center",
|
|
1466
|
+
physician: "Physician",
|
|
1467
|
+
admin: "Admin"
|
|
1468
|
+
};
|
|
1433
1469
|
function MessageBubble({
|
|
1434
1470
|
message,
|
|
1435
1471
|
isOwn,
|
|
@@ -1469,7 +1505,10 @@ function MessageBubble({
|
|
|
1469
1505
|
...isOwn ? styles5.ownBubble : styles5.otherBubble
|
|
1470
1506
|
},
|
|
1471
1507
|
children: [
|
|
1472
|
-
message.isPinned && /* @__PURE__ */ jsxRuntime.
|
|
1508
|
+
message.isPinned && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: styles5.pinnedBadge, children: [
|
|
1509
|
+
/* @__PURE__ */ jsxRuntime.jsx(PinIcon, { size: 12 }),
|
|
1510
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "Pinned" })
|
|
1511
|
+
] }),
|
|
1473
1512
|
message.replyToSnapshot && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1474
1513
|
ReplyQuoteBlock,
|
|
1475
1514
|
{
|
|
@@ -1564,7 +1603,7 @@ function ImageContent({ mediaUrl, fileName }) {
|
|
|
1564
1603
|
function FileContent({ mediaUrl, fileName }) {
|
|
1565
1604
|
if (!mediaUrl) return null;
|
|
1566
1605
|
return /* @__PURE__ */ jsxRuntime.jsxs("a", { href: mediaUrl, target: "_blank", rel: "noopener noreferrer", style: styles5.fileLink, children: [
|
|
1567
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1606
|
+
/* @__PURE__ */ jsxRuntime.jsx(FileIcon, { size: 20 }),
|
|
1568
1607
|
/* @__PURE__ */ jsxRuntime.jsx("span", { style: styles5.fileName, children: fileName || "Download file" })
|
|
1569
1608
|
] });
|
|
1570
1609
|
}
|
|
@@ -1602,7 +1641,7 @@ function RoleBadge({ role }) {
|
|
|
1602
1641
|
physician: "#059669",
|
|
1603
1642
|
admin: "#dc2626"
|
|
1604
1643
|
};
|
|
1605
|
-
return /* @__PURE__ */ jsxRuntime.jsx("span", { style: { ...styles5.roleBadge, backgroundColor: `${colors[role]}15`, color: colors[role] }, children: role });
|
|
1644
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { style: { ...styles5.roleBadge, backgroundColor: `${colors[role]}15`, color: colors[role] }, children: ROLE_LABELS[role] ?? role });
|
|
1606
1645
|
}
|
|
1607
1646
|
function formatTime(iso) {
|
|
1608
1647
|
try {
|
|
@@ -1631,7 +1670,7 @@ var styles5 = {
|
|
|
1631
1670
|
maxWidth: "75%"
|
|
1632
1671
|
},
|
|
1633
1672
|
bubble: {
|
|
1634
|
-
padding: "
|
|
1673
|
+
padding: "10px 14px",
|
|
1635
1674
|
borderRadius: "12px",
|
|
1636
1675
|
wordBreak: "break-word"
|
|
1637
1676
|
},
|
|
@@ -1646,11 +1685,13 @@ var styles5 = {
|
|
|
1646
1685
|
borderBottomLeftRadius: "4px"
|
|
1647
1686
|
},
|
|
1648
1687
|
pinnedBadge: {
|
|
1649
|
-
display: "inline-
|
|
1650
|
-
|
|
1688
|
+
display: "inline-flex",
|
|
1689
|
+
alignItems: "center",
|
|
1690
|
+
gap: "4px",
|
|
1691
|
+
fontSize: "12px",
|
|
1651
1692
|
fontWeight: 600,
|
|
1652
1693
|
marginBottom: "4px",
|
|
1653
|
-
|
|
1694
|
+
color: "#6b7280"
|
|
1654
1695
|
},
|
|
1655
1696
|
senderRow: {
|
|
1656
1697
|
display: "flex",
|
|
@@ -1659,24 +1700,25 @@ var styles5 = {
|
|
|
1659
1700
|
marginBottom: "4px"
|
|
1660
1701
|
},
|
|
1661
1702
|
senderName: {
|
|
1662
|
-
fontSize: "
|
|
1703
|
+
fontSize: "13px",
|
|
1663
1704
|
fontWeight: 600,
|
|
1664
1705
|
color: "#374151"
|
|
1665
1706
|
},
|
|
1666
1707
|
roleBadge: {
|
|
1667
|
-
fontSize: "
|
|
1668
|
-
fontWeight:
|
|
1669
|
-
padding: "
|
|
1708
|
+
fontSize: "11px",
|
|
1709
|
+
fontWeight: 600,
|
|
1710
|
+
padding: "2px 8px",
|
|
1670
1711
|
borderRadius: "4px"
|
|
1671
1712
|
},
|
|
1672
1713
|
textBody: {
|
|
1673
1714
|
margin: 0,
|
|
1674
|
-
fontSize: "
|
|
1675
|
-
lineHeight: "1.
|
|
1715
|
+
fontSize: "15px",
|
|
1716
|
+
lineHeight: "1.45"
|
|
1676
1717
|
},
|
|
1677
1718
|
timestamp: {
|
|
1678
|
-
fontSize: "
|
|
1679
|
-
|
|
1719
|
+
fontSize: "12px",
|
|
1720
|
+
color: "inherit",
|
|
1721
|
+
opacity: 0.8,
|
|
1680
1722
|
marginTop: "4px",
|
|
1681
1723
|
textAlign: "right"
|
|
1682
1724
|
},
|
|
@@ -1715,9 +1757,6 @@ var styles5 = {
|
|
|
1715
1757
|
color: "inherit",
|
|
1716
1758
|
padding: "6px 0"
|
|
1717
1759
|
},
|
|
1718
|
-
fileIcon: {
|
|
1719
|
-
fontSize: "18px"
|
|
1720
|
-
},
|
|
1721
1760
|
fileName: {
|
|
1722
1761
|
fontSize: "13px",
|
|
1723
1762
|
textDecoration: "underline"
|
|
@@ -1752,13 +1791,13 @@ var styles5 = {
|
|
|
1752
1791
|
justifyContent: "center",
|
|
1753
1792
|
alignItems: "center",
|
|
1754
1793
|
gap: "8px",
|
|
1755
|
-
padding: "
|
|
1756
|
-
fontSize: "
|
|
1757
|
-
color: "#
|
|
1794
|
+
padding: "6px 16px",
|
|
1795
|
+
fontSize: "13px",
|
|
1796
|
+
color: "#6b7280"
|
|
1758
1797
|
},
|
|
1759
1798
|
systemTime: {
|
|
1760
|
-
fontSize: "
|
|
1761
|
-
color: "#
|
|
1799
|
+
fontSize: "12px",
|
|
1800
|
+
color: "#9ca3af"
|
|
1762
1801
|
}
|
|
1763
1802
|
};
|
|
1764
1803
|
|
|
@@ -1971,18 +2010,19 @@ var styles6 = {
|
|
|
1971
2010
|
loadingMore: {
|
|
1972
2011
|
textAlign: "center",
|
|
1973
2012
|
padding: "12px",
|
|
1974
|
-
fontSize: "
|
|
1975
|
-
color: "#
|
|
2013
|
+
fontSize: "14px",
|
|
2014
|
+
color: "#6b7280"
|
|
1976
2015
|
},
|
|
1977
2016
|
loadMoreButton: {
|
|
1978
2017
|
display: "block",
|
|
1979
2018
|
margin: "0 auto 12px",
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
2019
|
+
minHeight: "36px",
|
|
2020
|
+
padding: "8px 18px",
|
|
2021
|
+
fontSize: "13px",
|
|
2022
|
+
color: "#374151",
|
|
1983
2023
|
backgroundColor: "transparent",
|
|
1984
|
-
border: "1px solid #
|
|
1985
|
-
borderRadius: "
|
|
2024
|
+
border: "1px solid #d1d5db",
|
|
2025
|
+
borderRadius: "18px",
|
|
1986
2026
|
cursor: "pointer"
|
|
1987
2027
|
},
|
|
1988
2028
|
empty: {
|
|
@@ -1991,21 +2031,22 @@ var styles6 = {
|
|
|
1991
2031
|
alignItems: "center",
|
|
1992
2032
|
justifyContent: "center",
|
|
1993
2033
|
padding: "48px 16px",
|
|
1994
|
-
color: "#
|
|
2034
|
+
color: "#6b7280"
|
|
1995
2035
|
},
|
|
1996
2036
|
emptyTitle: {
|
|
1997
|
-
fontSize: "
|
|
1998
|
-
fontWeight:
|
|
2037
|
+
fontSize: "16px",
|
|
2038
|
+
fontWeight: 600,
|
|
2039
|
+
color: "#374151",
|
|
1999
2040
|
margin: "0 0 4px"
|
|
2000
2041
|
},
|
|
2001
2042
|
emptySubtitle: {
|
|
2002
|
-
fontSize: "
|
|
2043
|
+
fontSize: "14px",
|
|
2003
2044
|
margin: 0
|
|
2004
2045
|
},
|
|
2005
2046
|
typingIndicator: {
|
|
2006
2047
|
padding: "4px 16px 8px",
|
|
2007
|
-
fontSize: "
|
|
2008
|
-
color: "#
|
|
2048
|
+
fontSize: "13px",
|
|
2049
|
+
color: "#6b7280",
|
|
2009
2050
|
fontStyle: "italic"
|
|
2010
2051
|
},
|
|
2011
2052
|
dayDivider: {
|
|
@@ -2015,12 +2056,11 @@ var styles6 = {
|
|
|
2015
2056
|
},
|
|
2016
2057
|
dayDividerPill: {
|
|
2017
2058
|
display: "inline-block",
|
|
2018
|
-
padding: "
|
|
2019
|
-
fontSize: "
|
|
2059
|
+
padding: "5px 14px",
|
|
2060
|
+
fontSize: "13px",
|
|
2020
2061
|
fontWeight: 500,
|
|
2021
|
-
color: "#
|
|
2022
|
-
backgroundColor: "#
|
|
2023
|
-
border: "1px solid #e2e8f0",
|
|
2062
|
+
color: "#334155",
|
|
2063
|
+
backgroundColor: "#e2e8f0",
|
|
2024
2064
|
borderRadius: "12px",
|
|
2025
2065
|
letterSpacing: "0.2px"
|
|
2026
2066
|
}
|
|
@@ -2117,6 +2157,48 @@ var styles7 = {
|
|
|
2117
2157
|
flexShrink: 0
|
|
2118
2158
|
}
|
|
2119
2159
|
};
|
|
2160
|
+
function AttachIcon({ size = 20, color = "currentColor" }) {
|
|
2161
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2162
|
+
"svg",
|
|
2163
|
+
{
|
|
2164
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2165
|
+
width: size,
|
|
2166
|
+
height: size,
|
|
2167
|
+
viewBox: "0 0 24 24",
|
|
2168
|
+
fill: color,
|
|
2169
|
+
"aria-hidden": "true",
|
|
2170
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z" })
|
|
2171
|
+
}
|
|
2172
|
+
);
|
|
2173
|
+
}
|
|
2174
|
+
function SendIcon({ size = 20, color = "currentColor" }) {
|
|
2175
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2176
|
+
"svg",
|
|
2177
|
+
{
|
|
2178
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2179
|
+
width: size,
|
|
2180
|
+
height: size,
|
|
2181
|
+
viewBox: "0 0 24 24",
|
|
2182
|
+
fill: color,
|
|
2183
|
+
"aria-hidden": "true",
|
|
2184
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M2.01 21L23 12 2.01 3 2 10l15 2-15 2z" })
|
|
2185
|
+
}
|
|
2186
|
+
);
|
|
2187
|
+
}
|
|
2188
|
+
function CloseIcon({ size = 18, color = "currentColor" }) {
|
|
2189
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2190
|
+
"svg",
|
|
2191
|
+
{
|
|
2192
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2193
|
+
width: size,
|
|
2194
|
+
height: size,
|
|
2195
|
+
viewBox: "0 0 24 24",
|
|
2196
|
+
fill: color,
|
|
2197
|
+
"aria-hidden": "true",
|
|
2198
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" })
|
|
2199
|
+
}
|
|
2200
|
+
);
|
|
2201
|
+
}
|
|
2120
2202
|
function MessageInput({
|
|
2121
2203
|
onSendText,
|
|
2122
2204
|
// MIC DISABLED — onSendAudio still accepted but unused.
|
|
@@ -2205,7 +2287,19 @@ function MessageInput({
|
|
|
2205
2287
|
);
|
|
2206
2288
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className, style: styles8.container, children: [
|
|
2207
2289
|
replyTo && onCancelReply && /* @__PURE__ */ jsxRuntime.jsx(ReplyPreview, { message: replyTo, onCancel: onCancelReply }),
|
|
2208
|
-
fileError && /* @__PURE__ */ jsxRuntime.
|
|
2290
|
+
fileError && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: styles8.error, role: "alert", children: [
|
|
2291
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { style: styles8.errorText, children: fileError }),
|
|
2292
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2293
|
+
"button",
|
|
2294
|
+
{
|
|
2295
|
+
type: "button",
|
|
2296
|
+
onClick: () => setFileError(null),
|
|
2297
|
+
"aria-label": "Dismiss error",
|
|
2298
|
+
style: styles8.errorDismiss,
|
|
2299
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(CloseIcon, { size: 16 })
|
|
2300
|
+
}
|
|
2301
|
+
)
|
|
2302
|
+
] }),
|
|
2209
2303
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: styles8.inputBar, children: [
|
|
2210
2304
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2211
2305
|
"button",
|
|
@@ -2213,9 +2307,10 @@ function MessageInput({
|
|
|
2213
2307
|
onClick: () => fileInputRef.current?.click(),
|
|
2214
2308
|
disabled: disabled || isSending,
|
|
2215
2309
|
style: styles8.iconButton,
|
|
2310
|
+
"aria-label": "Attach file",
|
|
2216
2311
|
title: "Attach file",
|
|
2217
2312
|
type: "button",
|
|
2218
|
-
children: "
|
|
2313
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(AttachIcon, { size: 22, color: "#374151" })
|
|
2219
2314
|
}
|
|
2220
2315
|
),
|
|
2221
2316
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2248,12 +2343,14 @@ function MessageInput({
|
|
|
2248
2343
|
{
|
|
2249
2344
|
onClick: handleSendText,
|
|
2250
2345
|
disabled: disabled || isSending || !text.trim(),
|
|
2346
|
+
"aria-label": "Send message",
|
|
2347
|
+
title: "Send message",
|
|
2251
2348
|
style: {
|
|
2252
2349
|
...styles8.sendButton,
|
|
2253
2350
|
opacity: text.trim() ? 1 : 0.4
|
|
2254
2351
|
},
|
|
2255
2352
|
type: "button",
|
|
2256
|
-
children: "
|
|
2353
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(SendIcon, { size: 20, color: "#ffffff" })
|
|
2257
2354
|
}
|
|
2258
2355
|
)
|
|
2259
2356
|
] })
|
|
@@ -2265,24 +2362,45 @@ var styles8 = {
|
|
|
2265
2362
|
backgroundColor: "#ffffff"
|
|
2266
2363
|
},
|
|
2267
2364
|
error: {
|
|
2268
|
-
|
|
2269
|
-
|
|
2270
|
-
|
|
2271
|
-
|
|
2365
|
+
display: "flex",
|
|
2366
|
+
alignItems: "center",
|
|
2367
|
+
justifyContent: "space-between",
|
|
2368
|
+
gap: "8px",
|
|
2369
|
+
padding: "8px 12px 8px 16px",
|
|
2370
|
+
fontSize: "13px",
|
|
2371
|
+
color: "#b91c1c",
|
|
2372
|
+
backgroundColor: "#fef2f2",
|
|
2373
|
+
borderTop: "1px solid #fecaca"
|
|
2374
|
+
},
|
|
2375
|
+
errorText: {
|
|
2376
|
+
flex: 1,
|
|
2377
|
+
minWidth: 0
|
|
2378
|
+
},
|
|
2379
|
+
errorDismiss: {
|
|
2380
|
+
width: "28px",
|
|
2381
|
+
height: "28px",
|
|
2382
|
+
display: "flex",
|
|
2383
|
+
alignItems: "center",
|
|
2384
|
+
justifyContent: "center",
|
|
2385
|
+
backgroundColor: "transparent",
|
|
2386
|
+
border: "none",
|
|
2387
|
+
color: "#b91c1c",
|
|
2388
|
+
borderRadius: "4px",
|
|
2389
|
+
cursor: "pointer",
|
|
2390
|
+
flexShrink: 0
|
|
2272
2391
|
},
|
|
2273
2392
|
inputBar: {
|
|
2274
2393
|
display: "flex",
|
|
2275
2394
|
alignItems: "flex-end",
|
|
2276
|
-
gap: "
|
|
2277
|
-
padding: "
|
|
2395
|
+
gap: "6px",
|
|
2396
|
+
padding: "10px 12px"
|
|
2278
2397
|
},
|
|
2279
2398
|
iconButton: {
|
|
2280
|
-
width: "
|
|
2281
|
-
height: "
|
|
2399
|
+
width: "44px",
|
|
2400
|
+
height: "44px",
|
|
2282
2401
|
display: "flex",
|
|
2283
2402
|
alignItems: "center",
|
|
2284
2403
|
justifyContent: "center",
|
|
2285
|
-
fontSize: "18px",
|
|
2286
2404
|
backgroundColor: "transparent",
|
|
2287
2405
|
border: "none",
|
|
2288
2406
|
borderRadius: "50%",
|
|
@@ -2291,23 +2409,23 @@ var styles8 = {
|
|
|
2291
2409
|
},
|
|
2292
2410
|
textarea: {
|
|
2293
2411
|
flex: 1,
|
|
2294
|
-
padding: "
|
|
2295
|
-
fontSize: "
|
|
2296
|
-
lineHeight: "1.
|
|
2297
|
-
border: "1px solid #
|
|
2298
|
-
borderRadius: "
|
|
2412
|
+
padding: "10px 14px",
|
|
2413
|
+
fontSize: "15px",
|
|
2414
|
+
lineHeight: "1.45",
|
|
2415
|
+
border: "1px solid #d1d5db",
|
|
2416
|
+
borderRadius: "22px",
|
|
2299
2417
|
resize: "none",
|
|
2300
2418
|
outline: "none",
|
|
2301
2419
|
fontFamily: "inherit",
|
|
2302
|
-
maxHeight: "120px"
|
|
2420
|
+
maxHeight: "120px",
|
|
2421
|
+
minHeight: "44px"
|
|
2303
2422
|
},
|
|
2304
2423
|
sendButton: {
|
|
2305
|
-
width: "
|
|
2306
|
-
height: "
|
|
2424
|
+
width: "44px",
|
|
2425
|
+
height: "44px",
|
|
2307
2426
|
display: "flex",
|
|
2308
2427
|
alignItems: "center",
|
|
2309
2428
|
justifyContent: "center",
|
|
2310
|
-
fontSize: "18px",
|
|
2311
2429
|
backgroundColor: "#2563eb",
|
|
2312
2430
|
color: "#ffffff",
|
|
2313
2431
|
border: "none",
|
|
@@ -3098,6 +3216,34 @@ var panelStyles = {
|
|
|
3098
3216
|
margin: 0
|
|
3099
3217
|
}
|
|
3100
3218
|
};
|
|
3219
|
+
function MinimizeIcon({ size = 18, color = "currentColor" }) {
|
|
3220
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3221
|
+
"svg",
|
|
3222
|
+
{
|
|
3223
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3224
|
+
width: size,
|
|
3225
|
+
height: size,
|
|
3226
|
+
viewBox: "0 0 24 24",
|
|
3227
|
+
fill: color,
|
|
3228
|
+
"aria-hidden": "true",
|
|
3229
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 19h12v2H6z" })
|
|
3230
|
+
}
|
|
3231
|
+
);
|
|
3232
|
+
}
|
|
3233
|
+
function ExpandIcon({ size = 18, color = "currentColor" }) {
|
|
3234
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3235
|
+
"svg",
|
|
3236
|
+
{
|
|
3237
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3238
|
+
width: size,
|
|
3239
|
+
height: size,
|
|
3240
|
+
viewBox: "0 0 24 24",
|
|
3241
|
+
fill: color,
|
|
3242
|
+
"aria-hidden": "true",
|
|
3243
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 4h16v16H4V4zm2 4v10h12V8H6z" })
|
|
3244
|
+
}
|
|
3245
|
+
);
|
|
3246
|
+
}
|
|
3101
3247
|
function CollabPopup({
|
|
3102
3248
|
orderId,
|
|
3103
3249
|
patientData,
|
|
@@ -3146,7 +3292,7 @@ function CollabPopup({
|
|
|
3146
3292
|
const handleMouseMove = (e) => {
|
|
3147
3293
|
setPosition({
|
|
3148
3294
|
x: Math.max(0, Math.min(e.clientX - dragOffset.current.x, window.innerWidth - width)),
|
|
3149
|
-
y: Math.max(0, Math.min(e.clientY - dragOffset.current.y, window.innerHeight - (isMinimized ?
|
|
3295
|
+
y: Math.max(0, Math.min(e.clientY - dragOffset.current.y, window.innerHeight - (isMinimized ? 52 : height)))
|
|
3150
3296
|
});
|
|
3151
3297
|
};
|
|
3152
3298
|
const handleMouseUp = () => {
|
|
@@ -3170,7 +3316,7 @@ function CollabPopup({
|
|
|
3170
3316
|
left: position.x,
|
|
3171
3317
|
top: position.y,
|
|
3172
3318
|
width,
|
|
3173
|
-
height: isMinimized ?
|
|
3319
|
+
height: isMinimized ? 52 : height,
|
|
3174
3320
|
cursor: isDragging ? "grabbing" : "default"
|
|
3175
3321
|
},
|
|
3176
3322
|
onMouseDown: handleMouseDown,
|
|
@@ -3183,12 +3329,23 @@ function CollabPopup({
|
|
|
3183
3329
|
{
|
|
3184
3330
|
onClick: () => setIsMinimized(!isMinimized),
|
|
3185
3331
|
style: styles12.titleButton,
|
|
3332
|
+
"aria-label": isMinimized ? "Expand chat" : "Minimize chat",
|
|
3186
3333
|
title: isMinimized ? "Expand" : "Minimize",
|
|
3187
3334
|
type: "button",
|
|
3188
|
-
children: isMinimized ? "
|
|
3335
|
+
children: isMinimized ? /* @__PURE__ */ jsxRuntime.jsx(ExpandIcon, { size: 16, color: "#cbd5e1" }) : /* @__PURE__ */ jsxRuntime.jsx(MinimizeIcon, { size: 16, color: "#cbd5e1" })
|
|
3189
3336
|
}
|
|
3190
3337
|
),
|
|
3191
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3338
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3339
|
+
"button",
|
|
3340
|
+
{
|
|
3341
|
+
onClick: onClose,
|
|
3342
|
+
style: styles12.titleButton,
|
|
3343
|
+
"aria-label": "Close chat",
|
|
3344
|
+
title: "Close",
|
|
3345
|
+
type: "button",
|
|
3346
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(CloseIcon, { size: 16, color: "#cbd5e1" })
|
|
3347
|
+
}
|
|
3348
|
+
)
|
|
3192
3349
|
] })
|
|
3193
3350
|
] }),
|
|
3194
3351
|
!isMinimized && /* @__PURE__ */ jsxRuntime.jsx("div", { style: styles12.panelWrapper, children: /* @__PURE__ */ jsxRuntime.jsx(CollabPanel, { orderId, patientData, participantIds }) })
|
|
@@ -3213,15 +3370,15 @@ var styles12 = {
|
|
|
3213
3370
|
display: "flex",
|
|
3214
3371
|
justifyContent: "space-between",
|
|
3215
3372
|
alignItems: "center",
|
|
3216
|
-
padding: "0
|
|
3217
|
-
height: "
|
|
3373
|
+
padding: "0 8px 0 14px",
|
|
3374
|
+
height: "52px",
|
|
3218
3375
|
backgroundColor: "#1e293b",
|
|
3219
3376
|
cursor: "grab",
|
|
3220
3377
|
userSelect: "none",
|
|
3221
3378
|
flexShrink: 0
|
|
3222
3379
|
},
|
|
3223
3380
|
titleText: {
|
|
3224
|
-
fontSize: "
|
|
3381
|
+
fontSize: "15px",
|
|
3225
3382
|
fontWeight: 500,
|
|
3226
3383
|
color: "#ffffff",
|
|
3227
3384
|
overflow: "hidden",
|
|
@@ -3234,17 +3391,16 @@ var styles12 = {
|
|
|
3234
3391
|
flexShrink: 0
|
|
3235
3392
|
},
|
|
3236
3393
|
titleButton: {
|
|
3237
|
-
width: "
|
|
3238
|
-
height: "
|
|
3394
|
+
width: "40px",
|
|
3395
|
+
height: "40px",
|
|
3239
3396
|
display: "flex",
|
|
3240
3397
|
alignItems: "center",
|
|
3241
3398
|
justifyContent: "center",
|
|
3242
3399
|
backgroundColor: "transparent",
|
|
3243
3400
|
border: "none",
|
|
3244
|
-
borderRadius: "
|
|
3401
|
+
borderRadius: "6px",
|
|
3245
3402
|
cursor: "pointer",
|
|
3246
|
-
|
|
3247
|
-
color: "#94a3b8"
|
|
3403
|
+
color: "#cbd5e1"
|
|
3248
3404
|
},
|
|
3249
3405
|
panelWrapper: {
|
|
3250
3406
|
flex: 1,
|
|
@@ -4115,7 +4271,7 @@ var styles14 = {
|
|
|
4115
4271
|
gap: "8px"
|
|
4116
4272
|
},
|
|
4117
4273
|
name: {
|
|
4118
|
-
fontSize: "
|
|
4274
|
+
fontSize: "15px",
|
|
4119
4275
|
fontWeight: 500,
|
|
4120
4276
|
color: "#111827",
|
|
4121
4277
|
overflow: "hidden",
|
|
@@ -4128,8 +4284,8 @@ var styles14 = {
|
|
|
4128
4284
|
fontWeight: 700
|
|
4129
4285
|
},
|
|
4130
4286
|
time: {
|
|
4131
|
-
fontSize: "
|
|
4132
|
-
color: "#
|
|
4287
|
+
fontSize: "12px",
|
|
4288
|
+
color: "#6b7280",
|
|
4133
4289
|
flexShrink: 0
|
|
4134
4290
|
},
|
|
4135
4291
|
timeUnread: {
|
|
@@ -4143,8 +4299,8 @@ var styles14 = {
|
|
|
4143
4299
|
gap: "8px"
|
|
4144
4300
|
},
|
|
4145
4301
|
preview: {
|
|
4146
|
-
fontSize: "
|
|
4147
|
-
color: "#
|
|
4302
|
+
fontSize: "14px",
|
|
4303
|
+
color: "#4b5563",
|
|
4148
4304
|
overflow: "hidden",
|
|
4149
4305
|
textOverflow: "ellipsis",
|
|
4150
4306
|
whiteSpace: "nowrap",
|