@orion-ds/react 4.2.4 → 4.2.8

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.
Files changed (348) hide show
  1. package/dist/components/Alert/Alert.d.ts.map +1 -1
  2. package/dist/components/Alert/Alert.module.css +1 -1
  3. package/dist/components/Alert/Alert.stories.d.ts +2 -1
  4. package/dist/components/Alert/Alert.stories.d.ts.map +1 -1
  5. package/dist/components/Alert/Alert.types.d.ts +1 -1
  6. package/dist/components/Alert/Alert.types.d.ts.map +1 -1
  7. package/dist/components/Badge/Badge.module.css +1 -1
  8. package/dist/components/Badge/Badge.stories.d.ts +2 -2
  9. package/dist/components/Badge/Badge.stories.d.ts.map +1 -1
  10. package/dist/components/Badge/Badge.types.d.ts +2 -2
  11. package/dist/components/Badge/Badge.types.d.ts.map +1 -1
  12. package/dist/components/Button/Button.module.css +1 -1
  13. package/dist/components/Card/Card.module.css +1 -1
  14. package/dist/components/Card/Card.stories.d.ts +1 -1
  15. package/dist/components/Card/Card.stories.d.ts.map +1 -1
  16. package/dist/components/Card/Card.types.d.ts +1 -1
  17. package/dist/components/Card/Card.types.d.ts.map +1 -1
  18. package/dist/components/Chip/Chip.module.css +1 -1
  19. package/dist/components/Chip/Chip.stories.d.ts +1 -1
  20. package/dist/components/Chip/Chip.stories.d.ts.map +1 -1
  21. package/dist/components/Chip/Chip.types.d.ts +1 -1
  22. package/dist/components/Chip/Chip.types.d.ts.map +1 -1
  23. package/dist/components/Field/Field.module.css +1 -1
  24. package/dist/components/Field/Field.stories.d.ts +5 -0
  25. package/dist/components/Field/Field.stories.d.ts.map +1 -1
  26. package/dist/components/SearchInput/SearchInput.module.css +1 -1
  27. package/dist/components/Select/Select.module.css +1 -1
  28. package/dist/components/Textarea/Textarea.module.css +1 -1
  29. package/dist/index10.cjs +1 -1
  30. package/dist/index10.mjs +1 -1
  31. package/dist/index100.cjs +1 -1
  32. package/dist/index100.mjs +33 -30
  33. package/dist/index101.cjs +1 -1
  34. package/dist/index101.mjs +24 -40
  35. package/dist/index102.cjs +1 -1
  36. package/dist/index102.mjs +28 -46
  37. package/dist/index103.cjs +1 -1
  38. package/dist/index103.mjs +40 -24
  39. package/dist/index104.cjs +1 -1
  40. package/dist/index104.mjs +53 -12
  41. package/dist/index105.cjs +1 -1
  42. package/dist/index105.mjs +62 -44
  43. package/dist/index106.cjs +1 -1
  44. package/dist/index106.mjs +28 -20
  45. package/dist/index107.cjs +1 -1
  46. package/dist/index107.mjs +20 -38
  47. package/dist/index108.cjs +1 -1
  48. package/dist/index108.mjs +18 -14
  49. package/dist/index109.cjs +1 -1
  50. package/dist/index109.mjs +30 -18
  51. package/dist/index11.cjs +1 -1
  52. package/dist/index11.mjs +1 -1
  53. package/dist/index110.cjs +1 -1
  54. package/dist/index110.mjs +30 -28
  55. package/dist/index111.cjs +1 -1
  56. package/dist/index111.mjs +44 -28
  57. package/dist/index113.cjs +1 -1
  58. package/dist/index113.mjs +29 -37
  59. package/dist/index114.cjs +1 -1
  60. package/dist/index114.mjs +44 -28
  61. package/dist/index115.cjs +1 -1
  62. package/dist/index115.mjs +12 -40
  63. package/dist/index116.cjs +1 -1
  64. package/dist/index116.mjs +30 -46
  65. package/dist/index117.cjs +1 -1
  66. package/dist/index117.mjs +32 -28
  67. package/dist/index118.cjs +1 -1
  68. package/dist/index118.mjs +33 -22
  69. package/dist/index119.cjs +1 -1
  70. package/dist/index119.mjs +28 -26
  71. package/dist/index120.cjs +1 -1
  72. package/dist/index120.mjs +35 -62
  73. package/dist/index121.cjs +1 -1
  74. package/dist/index121.mjs +35 -31
  75. package/dist/index122.cjs +1 -1
  76. package/dist/index122.mjs +20 -45
  77. package/dist/index123.cjs +1 -1
  78. package/dist/index123.mjs +14 -28
  79. package/dist/index124.cjs +1 -1
  80. package/dist/index124.mjs +27 -33
  81. package/dist/index125.cjs +1 -1
  82. package/dist/index125.mjs +18 -38
  83. package/dist/index126.cjs +1 -1
  84. package/dist/index126.mjs +37 -33
  85. package/dist/index127.cjs +1 -1
  86. package/dist/index127.mjs +28 -42
  87. package/dist/index128.cjs +1 -1
  88. package/dist/index128.mjs +24 -40
  89. package/dist/index129.cjs +1 -1
  90. package/dist/index129.mjs +27 -29
  91. package/dist/index13.cjs +1 -1
  92. package/dist/index13.mjs +1 -1
  93. package/dist/index130.cjs +1 -1
  94. package/dist/index130.mjs +26 -60
  95. package/dist/index131.cjs +1 -1
  96. package/dist/index131.mjs +28 -106
  97. package/dist/index132.cjs +1 -1
  98. package/dist/index132.mjs +42 -57
  99. package/dist/index133.cjs +1 -1
  100. package/dist/index133.mjs +52 -24
  101. package/dist/index134.cjs +1 -1
  102. package/dist/index134.mjs +36 -30
  103. package/dist/index135.cjs +1 -1
  104. package/dist/index135.mjs +50 -18
  105. package/dist/index136.cjs +1 -1
  106. package/dist/index136.mjs +18 -52
  107. package/dist/index137.cjs +1 -1
  108. package/dist/index137.mjs +154 -30
  109. package/dist/index138.cjs +1 -1
  110. package/dist/index138.mjs +218 -28
  111. package/dist/index139.cjs +1 -1
  112. package/dist/index139.mjs +28 -42
  113. package/dist/index14.cjs +1 -1
  114. package/dist/index14.mjs +1 -1
  115. package/dist/index140.cjs +1 -1
  116. package/dist/index140.mjs +42 -18
  117. package/dist/index141.cjs +1 -1
  118. package/dist/index141.mjs +44 -44
  119. package/dist/index142.cjs +1 -1
  120. package/dist/index142.mjs +16 -65
  121. package/dist/index143.cjs +1 -1
  122. package/dist/index143.mjs +46 -20
  123. package/dist/index144.cjs +1 -1
  124. package/dist/index144.mjs +64 -33
  125. package/dist/index145.cjs +1 -1
  126. package/dist/index145.mjs +30 -76
  127. package/dist/index146.cjs +1 -1
  128. package/dist/index146.mjs +40 -64
  129. package/dist/index147.cjs +1 -1
  130. package/dist/index147.mjs +32 -64
  131. package/dist/index148.cjs +1 -1
  132. package/dist/index148.mjs +56 -18
  133. package/dist/index149.cjs +1 -1
  134. package/dist/index149.mjs +62 -20
  135. package/dist/index15.cjs +1 -1
  136. package/dist/index15.mjs +1 -1
  137. package/dist/index150.cjs +1 -1
  138. package/dist/index150.mjs +42 -56
  139. package/dist/index152.cjs +1 -1
  140. package/dist/index152.mjs +38 -51
  141. package/dist/index153.cjs +1 -1
  142. package/dist/index153.mjs +18 -24
  143. package/dist/index154.cjs +1 -1
  144. package/dist/index154.mjs +76 -27
  145. package/dist/index155.cjs +1 -1
  146. package/dist/index155.mjs +67 -46
  147. package/dist/index156.cjs +1 -1
  148. package/dist/index156.mjs +65 -42
  149. package/dist/index157.cjs +1 -1
  150. package/dist/index157.mjs +36 -26
  151. package/dist/index158.cjs +1 -1
  152. package/dist/index158.mjs +234 -55
  153. package/dist/index159.cjs +1 -1
  154. package/dist/index159.mjs +34 -17
  155. package/dist/index16.cjs +1 -1
  156. package/dist/index16.mjs +1 -1
  157. package/dist/index160.cjs +1 -1
  158. package/dist/index160.mjs +44 -13
  159. package/dist/index161.cjs +1 -1
  160. package/dist/index161.mjs +170 -50
  161. package/dist/index162.cjs +1 -1
  162. package/dist/index162.mjs +186 -21
  163. package/dist/index163.cjs +1 -1
  164. package/dist/index163.mjs +29 -34
  165. package/dist/index164.cjs +1 -1
  166. package/dist/index164.mjs +90 -36
  167. package/dist/index165.cjs +1 -1
  168. package/dist/index165.mjs +53 -68
  169. package/dist/index166.cjs +1 -1
  170. package/dist/index166.mjs +66 -28
  171. package/dist/index167.cjs +1 -1
  172. package/dist/index167.mjs +124 -18
  173. package/dist/index168.cjs +1 -1
  174. package/dist/index168.mjs +108 -234
  175. package/dist/index169.cjs +1 -1
  176. package/dist/index169.mjs +111 -33
  177. package/dist/index17.cjs +1 -1
  178. package/dist/index17.mjs +1 -1
  179. package/dist/index170.cjs +1 -1
  180. package/dist/index170.mjs +120 -41
  181. package/dist/index171.cjs +1 -1
  182. package/dist/index171.mjs +199 -155
  183. package/dist/index172.cjs +1 -1
  184. package/dist/index172.mjs +107 -186
  185. package/dist/index173.cjs +1 -1
  186. package/dist/index173.mjs +23 -29
  187. package/dist/index174.cjs +1 -1
  188. package/dist/index174.mjs +18 -90
  189. package/dist/index175.cjs +1 -1
  190. package/dist/index175.mjs +65 -53
  191. package/dist/index176.cjs +1 -1
  192. package/dist/index176.mjs +18 -66
  193. package/dist/index177.cjs +1 -1
  194. package/dist/index177.mjs +57 -124
  195. package/dist/index178.cjs +1 -1
  196. package/dist/index178.mjs +12 -108
  197. package/dist/index179.cjs +1 -1
  198. package/dist/index179.mjs +38 -111
  199. package/dist/index18.cjs +1 -1
  200. package/dist/index18.mjs +1 -1
  201. package/dist/index180.cjs +1 -1
  202. package/dist/index180.mjs +26 -122
  203. package/dist/index181.cjs +1 -1
  204. package/dist/index181.mjs +45 -214
  205. package/dist/index182.cjs +1 -1
  206. package/dist/index182.mjs +17 -17
  207. package/dist/index183.cjs +1 -1
  208. package/dist/index183.mjs +17 -17
  209. package/dist/index185.cjs +1 -1
  210. package/dist/index185.mjs +1 -1
  211. package/dist/index19.cjs +1 -1
  212. package/dist/index19.mjs +2 -2
  213. package/dist/index20.cjs +1 -1
  214. package/dist/index20.mjs +14 -14
  215. package/dist/index21.cjs +1 -1
  216. package/dist/index21.mjs +1 -1
  217. package/dist/index22.cjs +1 -1
  218. package/dist/index22.mjs +1 -1
  219. package/dist/index23.cjs +1 -1
  220. package/dist/index23.mjs +1 -1
  221. package/dist/index24.cjs +1 -1
  222. package/dist/index24.mjs +1 -1
  223. package/dist/index25.cjs +1 -1
  224. package/dist/index25.mjs +2 -2
  225. package/dist/index26.cjs +1 -1
  226. package/dist/index26.mjs +1 -1
  227. package/dist/index27.cjs +1 -1
  228. package/dist/index27.mjs +1 -1
  229. package/dist/index28.cjs +1 -1
  230. package/dist/index28.mjs +1 -1
  231. package/dist/index29.cjs +1 -1
  232. package/dist/index29.mjs +1 -1
  233. package/dist/index3.cjs +1 -1
  234. package/dist/index3.mjs +2 -2
  235. package/dist/index30.cjs +1 -1
  236. package/dist/index30.mjs +1 -1
  237. package/dist/index31.cjs +1 -1
  238. package/dist/index31.mjs +1 -1
  239. package/dist/index32.cjs +1 -1
  240. package/dist/index32.mjs +1 -1
  241. package/dist/index33.cjs +1 -1
  242. package/dist/index33.mjs +1 -1
  243. package/dist/index34.cjs +1 -1
  244. package/dist/index34.mjs +1 -1
  245. package/dist/index35.cjs +1 -1
  246. package/dist/index35.mjs +1 -1
  247. package/dist/index36.cjs +1 -1
  248. package/dist/index36.mjs +1 -1
  249. package/dist/index37.cjs +1 -1
  250. package/dist/index37.mjs +1 -1
  251. package/dist/index38.cjs +1 -1
  252. package/dist/index38.mjs +1 -1
  253. package/dist/index39.cjs +1 -1
  254. package/dist/index39.mjs +1 -1
  255. package/dist/index40.cjs +1 -1
  256. package/dist/index40.mjs +1 -1
  257. package/dist/index42.cjs +1 -1
  258. package/dist/index42.mjs +1 -1
  259. package/dist/index43.cjs +1 -1
  260. package/dist/index43.mjs +1 -1
  261. package/dist/index44.cjs +1 -1
  262. package/dist/index44.mjs +1 -1
  263. package/dist/index46.cjs +1 -1
  264. package/dist/index46.mjs +1 -1
  265. package/dist/index47.cjs +1 -1
  266. package/dist/index47.mjs +1 -1
  267. package/dist/index49.cjs +1 -1
  268. package/dist/index49.mjs +1 -1
  269. package/dist/index5.cjs +1 -1
  270. package/dist/index5.mjs +1 -1
  271. package/dist/index50.cjs +1 -1
  272. package/dist/index50.mjs +1 -1
  273. package/dist/index51.cjs +1 -1
  274. package/dist/index51.mjs +1 -1
  275. package/dist/index52.cjs +1 -1
  276. package/dist/index52.mjs +1 -1
  277. package/dist/index53.cjs +1 -1
  278. package/dist/index53.mjs +1 -1
  279. package/dist/index54.cjs +1 -1
  280. package/dist/index54.mjs +1 -1
  281. package/dist/index55.cjs +1 -1
  282. package/dist/index55.mjs +1 -1
  283. package/dist/index56.cjs +1 -1
  284. package/dist/index56.mjs +1 -1
  285. package/dist/index57.cjs +1 -1
  286. package/dist/index57.mjs +1 -1
  287. package/dist/index58.cjs +1 -1
  288. package/dist/index58.mjs +1 -1
  289. package/dist/index59.cjs +1 -1
  290. package/dist/index59.mjs +1 -1
  291. package/dist/index6.cjs +1 -1
  292. package/dist/index6.mjs +1 -1
  293. package/dist/index60.cjs +1 -1
  294. package/dist/index60.mjs +1 -1
  295. package/dist/index61.cjs +1 -1
  296. package/dist/index61.mjs +1 -1
  297. package/dist/index62.cjs +1 -1
  298. package/dist/index62.mjs +1 -1
  299. package/dist/index63.cjs +1 -1
  300. package/dist/index63.mjs +1 -1
  301. package/dist/index64.cjs +1 -1
  302. package/dist/index64.mjs +1 -1
  303. package/dist/index65.cjs +1 -1
  304. package/dist/index65.mjs +1 -1
  305. package/dist/index66.cjs +1 -1
  306. package/dist/index66.mjs +1 -1
  307. package/dist/index67.cjs +1 -1
  308. package/dist/index67.mjs +1 -1
  309. package/dist/index68.cjs +1 -1
  310. package/dist/index68.mjs +1 -1
  311. package/dist/index7.cjs +1 -1
  312. package/dist/index7.mjs +1 -1
  313. package/dist/index70.cjs +1 -1
  314. package/dist/index70.mjs +1 -1
  315. package/dist/index71.cjs +1 -1
  316. package/dist/index71.mjs +1 -1
  317. package/dist/index72.cjs +1 -1
  318. package/dist/index72.mjs +1 -1
  319. package/dist/index73.cjs +1 -1
  320. package/dist/index73.mjs +1 -1
  321. package/dist/index74.cjs +1 -1
  322. package/dist/index74.mjs +2 -2
  323. package/dist/index76.cjs +1 -1
  324. package/dist/index76.mjs +1 -1
  325. package/dist/index77.cjs +1 -1
  326. package/dist/index77.mjs +1 -1
  327. package/dist/index78.cjs +1 -1
  328. package/dist/index78.mjs +1 -1
  329. package/dist/index79.cjs +1 -1
  330. package/dist/index79.mjs +1 -1
  331. package/dist/index8.cjs +1 -1
  332. package/dist/index8.mjs +31 -30
  333. package/dist/index80.cjs +1 -1
  334. package/dist/index80.mjs +1 -1
  335. package/dist/index81.cjs +1 -1
  336. package/dist/index81.mjs +1 -1
  337. package/dist/index82.cjs +1 -1
  338. package/dist/index82.mjs +2 -2
  339. package/dist/index9.cjs +1 -1
  340. package/dist/index9.mjs +1 -1
  341. package/dist/index97.cjs +1 -1
  342. package/dist/index97.mjs +24 -154
  343. package/dist/index98.cjs +1 -1
  344. package/dist/index98.mjs +46 -218
  345. package/dist/index99.cjs +1 -1
  346. package/dist/index99.mjs +55 -36
  347. package/dist/styles.css +27 -9
  348. package/package.json +1 -1
package/dist/index170.mjs CHANGED
@@ -1,46 +1,125 @@
1
- import { jsxs as p, jsx as s } from "react/jsx-runtime";
2
- import { forwardRef as f } from "react";
3
- import { ArrowDown as u } from "lucide-react";
4
- import { useAutoScroll as g } from "./index84.mjs";
5
- import e from "./index168.mjs";
6
- import { Button as h } from "./index14.mjs";
7
- const B = f(
8
- ({ children: r, autoScroll: a = !0, className: l, ...i }, o) => {
9
- const { scrollRef: m, isAtBottom: n, scrollToBottom: c } = g({
10
- enabled: a
11
- });
12
- return /* @__PURE__ */ p(
13
- "div",
14
- {
15
- ref: (t) => {
16
- m.current = t, typeof o == "function" ? o(t) : o && (o.current = t);
17
- },
18
- className: [e.messages, l].filter(Boolean).join(" "),
19
- role: "log",
20
- "aria-live": "polite",
21
- "aria-label": "Chat messages",
22
- "aria-relevant": "additions",
23
- ...i,
24
- children: [
25
- /* @__PURE__ */ s("div", { className: e.messagesInner, children: r }),
26
- !n && /* @__PURE__ */ s("div", { className: e.scrollToBottomWrapper, children: /* @__PURE__ */ s(
27
- h,
1
+ import { jsx as e, jsxs as o } from "react/jsx-runtime";
2
+ import { X as u, FileText as P, Code as w, Music as z, Image as y } from "lucide-react";
3
+ import { ChatImagePreview as C } from "./index166.mjs";
4
+ import { ChatAudioPlayer as N } from "./index167.mjs";
5
+ import { ChatCodeBlock as I } from "./index164.mjs";
6
+ import { formatFileSize as k } from "./index184.mjs";
7
+ import t from "./index158.mjs";
8
+ const x = (d) => {
9
+ switch (d) {
10
+ case "image":
11
+ return /* @__PURE__ */ e(y, { size: 18 });
12
+ case "audio":
13
+ return /* @__PURE__ */ e(z, { size: 18 });
14
+ case "code":
15
+ return /* @__PURE__ */ e(w, { size: 18 });
16
+ default:
17
+ return /* @__PURE__ */ e(P, { size: 18 });
18
+ }
19
+ }, $ = ({
20
+ attachment: d,
21
+ removable: h = !1,
22
+ onRemove: a,
23
+ onClick: n,
24
+ className: s,
25
+ ...c
26
+ }) => {
27
+ const { type: p, name: i, url: l, content: v, language: b, size: f, duration: m, thumbnail: g } = d;
28
+ switch (p) {
29
+ case "image":
30
+ if (l)
31
+ return /* @__PURE__ */ o("div", { className: s, style: { position: "relative" }, ...c, children: [
32
+ /* @__PURE__ */ e(
33
+ C,
34
+ {
35
+ src: l,
36
+ alt: i,
37
+ thumbnail: g,
38
+ onClick: n
39
+ }
40
+ ),
41
+ h && a && /* @__PURE__ */ e(
42
+ "button",
28
43
  {
29
- variant: "secondary",
30
- size: "sm",
31
- iconOnly: !0,
32
- icon: /* @__PURE__ */ s(u, { size: 18 }),
33
- onClick: c,
34
- "aria-label": "Scroll to latest messages",
35
- className: e.scrollToBottomButton
44
+ className: t.attachmentPreviewRemove,
45
+ onClick: (r) => {
46
+ r.stopPropagation(), a();
47
+ },
48
+ "aria-label": `Remove ${i}`,
49
+ style: {
50
+ position: "absolute",
51
+ top: 4,
52
+ right: 4,
53
+ background: "var(--surface-base)"
54
+ },
55
+ children: /* @__PURE__ */ e(u, { size: 14 })
36
56
  }
37
- ) })
38
- ]
39
- }
40
- );
57
+ )
58
+ ] });
59
+ break;
60
+ case "audio":
61
+ if (l)
62
+ return /* @__PURE__ */ o("div", { className: s, style: { position: "relative" }, ...c, children: [
63
+ /* @__PURE__ */ e(N, { src: l, duration: m, title: i }),
64
+ h && a && /* @__PURE__ */ e(
65
+ "button",
66
+ {
67
+ className: t.attachmentPreviewRemove,
68
+ onClick: (r) => {
69
+ r.stopPropagation(), a();
70
+ },
71
+ "aria-label": `Remove ${i}`,
72
+ children: /* @__PURE__ */ e(u, { size: 14 })
73
+ }
74
+ )
75
+ ] });
76
+ break;
77
+ case "code":
78
+ if (v)
79
+ return /* @__PURE__ */ e(
80
+ I,
81
+ {
82
+ code: v,
83
+ language: b,
84
+ className: s,
85
+ ...c
86
+ }
87
+ );
88
+ break;
41
89
  }
42
- );
43
- B.displayName = "ChatMessages";
90
+ return /* @__PURE__ */ o(
91
+ "div",
92
+ {
93
+ className: [t.attachmentPreview, s].filter(Boolean).join(" "),
94
+ onClick: n,
95
+ role: n ? "button" : void 0,
96
+ tabIndex: n ? 0 : void 0,
97
+ ...c,
98
+ children: [
99
+ /* @__PURE__ */ e("div", { className: t.attachmentPreviewIcon, children: x(p) }),
100
+ /* @__PURE__ */ o("div", { className: t.attachmentPreviewInfo, children: [
101
+ /* @__PURE__ */ e("span", { className: t.attachmentPreviewName, children: i }),
102
+ f && /* @__PURE__ */ o("span", { className: t.attachmentPreviewMeta, children: [
103
+ k(f),
104
+ m && ` · ${Math.floor(m / 60)}:${(m % 60).toString().padStart(2, "0")}`
105
+ ] })
106
+ ] }),
107
+ h && a && /* @__PURE__ */ e(
108
+ "button",
109
+ {
110
+ className: t.attachmentPreviewRemove,
111
+ onClick: (r) => {
112
+ r.stopPropagation(), a();
113
+ },
114
+ "aria-label": `Remove ${i}`,
115
+ children: /* @__PURE__ */ e(u, { size: 14 })
116
+ }
117
+ )
118
+ ]
119
+ }
120
+ );
121
+ };
122
+ $.displayName = "ChatAttachment";
44
123
  export {
45
- B as ChatMessages
124
+ $ as ChatAttachment
46
125
  };
package/dist/index171.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),t=require("lucide-react"),p=require("./index175.cjs"),y=require("./index180.cjs"),e=require("./index168.cjs"),R=a=>a?new Intl.DateTimeFormat("en-US",{hour:"numeric",minute:"2-digit",hour12:!0}).format(a):"",S=a=>{switch(a){case"sending":return s.jsx(t.Clock,{size:12});case"sent":return s.jsx(t.Check,{size:12});case"error":return s.jsx(t.AlertCircle,{size:12});default:return null}},b=({role:a,content:u,timestamp:m,status:i,attachments:d,avatar:C,showAvatar:N,actions:c,isStreaming:k,onImageClick:f,onRetry:g,reaction:l,onReaction:o,children:j,className:h,...x})=>{const r=a==="user",A=a==="system",v=a==="assistant",B=N??!1;return A?s.jsx("div",{className:[e.default.message,h].filter(Boolean).join(" "),role:"listitem",...x,children:s.jsx("div",{className:e.default.messageContent,children:s.jsx("div",{className:e.default.messageBubbleSystem,children:j||u})})}):s.jsxs("div",{className:[e.default.message,r&&e.default.messageUser,v&&e.default.messageAssistant,h].filter(Boolean).join(" "),role:"listitem",...x,children:[B&&s.jsx("div",{className:[e.default.messageAvatar,r?e.default.messageAvatarUser:e.default.messageAvatarAssistant].filter(Boolean).join(" "),"aria-hidden":"true",children:C||(r?s.jsx(t.User,{size:18}):s.jsx(t.Bot,{size:18}))}),s.jsxs("div",{className:e.default.messageContent,children:[s.jsxs("div",{className:[e.default.messageBubble,r?e.default.messageBubbleUser:e.default.messageBubbleAssistant].filter(Boolean).join(" "),children:[j||s.jsx(p.ChatMarkdown,{content:u,className:r?e.default.markdownUser:void 0}),k&&s.jsx("span",{className:e.default.streamingCursor})]}),d&&d.length>0&&s.jsx("div",{className:e.default.messageAttachments,children:d.map(n=>s.jsx(y.ChatAttachment,{attachment:n,onClick:n.type==="image"&&f?()=>f(n):void 0},n.id))}),s.jsxs("div",{className:e.default.messageFooter,children:[m&&s.jsx("span",{className:e.default.messageTimestamp,children:R(m)}),i&&s.jsxs("span",{className:[e.default.messageStatus,i==="error"&&e.default.messageStatusError].filter(Boolean).join(" "),children:[S(i),i==="error"&&"Failed to send"]}),i==="error"&&g&&s.jsxs("button",{className:e.default.messageRetry,onClick:g,"aria-label":"Retry sending message",children:[s.jsx(t.RotateCcw,{size:12}),"Retry"]}),c&&s.jsx("div",{className:e.default.messageActions,children:c}),v&&o&&s.jsxs("div",{className:[e.default.messageReactions,l&&e.default.messageReactionsVisible].filter(Boolean).join(" "),children:[s.jsx("button",{className:[e.default.messageReactionButton,l==="like"&&e.default.messageReactionActive].filter(Boolean).join(" "),onClick:()=>o("like"),"aria-label":"Like this response","aria-pressed":l==="like",children:s.jsx(t.ThumbsUp,{size:14})}),s.jsx("button",{className:[e.default.messageReactionButton,l==="dislike"&&e.default.messageReactionActive].filter(Boolean).join(" "),onClick:()=>o("dislike"),"aria-label":"Dislike this response","aria-pressed":l==="dislike",children:s.jsx(t.ThumbsDown,{size:14})})]})]})]})]})};b.displayName="ChatMessage";exports.ChatMessage=b;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("react"),c=require("lucide-react"),t=require("./index158.cjs"),O={today:"Today",yesterday:"Yesterday",previous7:"Previous 7 days",previous30:"Previous 30 days",older:"Older"},y=["today","yesterday","previous7","previous30","older"],C=a=>{const r=new Date,u=(new Date(r.getFullYear(),r.getMonth(),r.getDate()).getTime()-new Date(a.getFullYear(),a.getMonth(),a.getDate()).getTime())/(1e3*60*60*24);return u<1?"today":u<2?"yesterday":u<7?"previous7":u<30?"previous30":"older"},P=a=>{const r=C(a);return r==="today"?new Intl.DateTimeFormat("en-US",{hour:"numeric",minute:"2-digit"}).format(a):r==="yesterday"?"Yesterday":r==="previous7"?new Intl.DateTimeFormat("en-US",{weekday:"short"}).format(a):new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(a)},z=a=>{const r=new Map;return y.forEach(n=>r.set(n,[])),a.forEach(n=>{const b=C(n.updatedAt);r.get(b)?.push(n)}),r},S=({conversations:a=[],activeConversationId:r,onSelectConversation:n,onNewConversation:b,onDeleteConversation:u,onSearch:x,header:w,footer:N,collapsed:m=!1,onCollapsedChange:f,className:I,...D})=>{const[h,T]=d.useState(""),[p,j]=d.useState(null),o=d.useRef(void 0);d.useEffect(()=>()=>{o.current&&clearTimeout(o.current)},[]);const g=d.useMemo(()=>{if(!h.trim())return a;const s=h.toLowerCase();return a.filter(l=>l.title.toLowerCase().includes(s)||l.preview?.toLowerCase().includes(s))},[a,h]),v=d.useMemo(()=>z(g),[g]),B=d.useCallback(s=>{const l=s.target.value;T(l),x?.(l)},[x]),k=d.useCallback(s=>{n?.(s),m&&f&&f(!0)},[n,m,f]),F=d.useCallback((s,l)=>{s.stopPropagation(),p===l?(u?.(l),j(null),o.current&&clearTimeout(o.current)):(j(l),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{j(null)},3e3))},[p,u]),M=y.some(s=>(v.get(s)?.length??0)>0);return e.jsxs(e.Fragment,{children:[!m&&e.jsx("div",{className:t.default.sidebarOverlay,onClick:()=>f?.(!0),"aria-hidden":"true"}),e.jsxs("aside",{className:[t.default.sidebar,m&&t.default.sidebarCollapsed,!m&&t.default.sidebarOpen,I].filter(Boolean).join(" "),...D,children:[e.jsx("div",{className:t.default.sidebarHeader,children:w||e.jsxs(e.Fragment,{children:[e.jsx("button",{className:[t.default.inputButton,t.default.inputButtonPrimary,t.default.sidebarNewButton].filter(Boolean).join(" "),onClick:b,"aria-label":"New conversation",children:e.jsxs("span",{className:t.default.sidebarNewButtonInner,children:[e.jsx(c.Plus,{size:18}),e.jsx("span",{children:"New Chat"})]})}),e.jsx("button",{className:[t.default.inputButton,t.default.sidebarCloseButton].join(" "),onClick:()=>f?.(!0),"aria-label":"Close sidebar",children:e.jsx(c.X,{size:20})})]})}),e.jsx("div",{className:t.default.sidebarSearch,children:e.jsxs("div",{className:t.default.sidebarSearchWrapper,children:[e.jsx(c.Search,{size:16,className:t.default.sidebarSearchIcon}),e.jsx("input",{type:"search",className:[t.default.sidebarSearchInput,t.default.sidebarSearchInputWithIcon].join(" "),placeholder:"Search conversations...",value:h,onChange:B,"aria-label":"Search conversations"})]})}),e.jsx("div",{className:t.default.sidebarList,role:"list","aria-label":"Conversations",children:M?y.map(s=>{const l=v.get(s)??[];return l.length===0?null:e.jsxs("div",{children:[e.jsx("div",{className:t.default.sidebarGroupHeader,children:O[s]}),l.map(i=>e.jsxs("button",{className:[t.default.sidebarItem,i.id===r&&t.default.sidebarItemActive].filter(Boolean).join(" "),onClick:()=>k(i.id),role:"listitem","aria-selected":i.id===r,"aria-label":`Conversation: ${i.title}`,children:[e.jsx(c.MessageSquare,{size:18,className:t.default.sidebarItemIcon}),e.jsxs("div",{className:t.default.sidebarItemContent,children:[e.jsx("span",{className:t.default.sidebarItemTitle,children:i.title}),i.preview&&e.jsx("span",{className:t.default.sidebarItemPreview,children:i.preview})]}),e.jsx("span",{className:t.default.sidebarItemDate,children:P(i.updatedAt)}),u&&e.jsx("button",{className:t.default.sidebarItemDelete,onClick:q=>F(q,i.id),"aria-label":p===i.id?`Confirm delete ${i.title}`:`Delete ${i.title}`,children:p===i.id?e.jsx("span",{className:t.default.sidebarItemDeleteConfirm,children:"Delete?"}):e.jsx(c.Trash2,{size:16})})]},i.id))]},s)}):e.jsxs("div",{className:t.default.sidebarEmpty,children:[e.jsx(c.MessageSquare,{size:32,className:t.default.sidebarEmptyIcon}),e.jsx("p",{children:h?"No conversations found":"No conversations yet"})]})}),N&&e.jsx("div",{className:t.default.sidebarFooter,children:N})]})]})};S.displayName="ChatSidebar";exports.ChatSidebar=S;
package/dist/index171.mjs CHANGED
@@ -1,173 +1,217 @@
1
- import { jsx as s, jsxs as i } from "react/jsx-runtime";
2
- import { User as j, Bot as y, RotateCcw as z, ThumbsUp as U, ThumbsDown as w, AlertCircle as R, Check as S, Clock as T } from "lucide-react";
3
- import { ChatMarkdown as x } from "./index175.mjs";
4
- import { ChatAttachment as D } from "./index180.mjs";
5
- import e from "./index168.mjs";
6
- const F = (a) => a ? new Intl.DateTimeFormat("en-US", {
7
- hour: "numeric",
8
- minute: "2-digit",
9
- hour12: !0
10
- }).format(a) : "", M = (a) => {
11
- switch (a) {
12
- case "sending":
13
- return /* @__PURE__ */ s(T, { size: 12 });
14
- case "sent":
15
- return /* @__PURE__ */ s(S, { size: 12 });
16
- case "error":
17
- return /* @__PURE__ */ s(R, { size: 12 });
18
- default:
19
- return null;
20
- }
21
- }, E = ({
22
- role: a,
23
- content: c,
24
- timestamp: d,
25
- status: r,
26
- attachments: o,
27
- avatar: b,
28
- showAvatar: k,
29
- actions: g,
30
- isStreaming: B,
31
- onImageClick: u,
32
- onRetry: h,
33
- reaction: l,
34
- onReaction: m,
35
- children: f,
36
- className: v,
37
- ...p
1
+ import { jsxs as l, Fragment as C, jsx as r } from "react/jsx-runtime";
2
+ import { useState as D, useRef as Y, useEffect as x, useMemo as S, useCallback as y } from "react";
3
+ import { Plus as A, X as U, Search as $, MessageSquare as T, Trash2 as q } from "lucide-react";
4
+ import e from "./index158.mjs";
5
+ const G = {
6
+ today: "Today",
7
+ yesterday: "Yesterday",
8
+ previous7: "Previous 7 days",
9
+ previous30: "Previous 30 days",
10
+ older: "Older"
11
+ }, N = [
12
+ "today",
13
+ "yesterday",
14
+ "previous7",
15
+ "previous30",
16
+ "older"
17
+ ], B = (t) => {
18
+ const a = /* @__PURE__ */ new Date(), d = (new Date(
19
+ a.getFullYear(),
20
+ a.getMonth(),
21
+ a.getDate()
22
+ ).getTime() - new Date(t.getFullYear(), t.getMonth(), t.getDate()).getTime()) / (1e3 * 60 * 60 * 24);
23
+ return d < 1 ? "today" : d < 2 ? "yesterday" : d < 7 ? "previous7" : d < 30 ? "previous30" : "older";
24
+ }, H = (t) => {
25
+ const a = B(t);
26
+ return a === "today" ? new Intl.DateTimeFormat("en-US", {
27
+ hour: "numeric",
28
+ minute: "2-digit"
29
+ }).format(t) : a === "yesterday" ? "Yesterday" : a === "previous7" ? new Intl.DateTimeFormat("en-US", {
30
+ weekday: "short"
31
+ }).format(t) : new Intl.DateTimeFormat("en-US", {
32
+ month: "short",
33
+ day: "numeric"
34
+ }).format(t);
35
+ }, Q = (t) => {
36
+ const a = /* @__PURE__ */ new Map();
37
+ return N.forEach((o) => a.set(o, [])), t.forEach((o) => {
38
+ const f = B(o.updatedAt);
39
+ a.get(f)?.push(o);
40
+ }), a;
41
+ }, R = ({
42
+ conversations: t = [],
43
+ activeConversationId: a,
44
+ onSelectConversation: o,
45
+ onNewConversation: f,
46
+ onDeleteConversation: d,
47
+ onSearch: g,
48
+ header: j,
49
+ footer: v,
50
+ collapsed: u = !1,
51
+ onCollapsedChange: m,
52
+ className: k,
53
+ ...F
38
54
  }) => {
39
- const t = a === "user", A = a === "system", N = a === "assistant", C = k ?? !1;
40
- return A ? /* @__PURE__ */ s(
41
- "div",
42
- {
43
- className: [e.message, v].filter(Boolean).join(" "),
44
- role: "listitem",
45
- ...p,
46
- children: /* @__PURE__ */ s("div", { className: e.messageContent, children: /* @__PURE__ */ s("div", { className: e.messageBubbleSystem, children: f || c }) })
47
- }
48
- ) : /* @__PURE__ */ i(
49
- "div",
50
- {
51
- className: [
52
- e.message,
53
- t && e.messageUser,
54
- N && e.messageAssistant,
55
- v
56
- ].filter(Boolean).join(" "),
57
- role: "listitem",
58
- ...p,
59
- children: [
60
- C && /* @__PURE__ */ s(
61
- "div",
62
- {
63
- className: [
64
- e.messageAvatar,
65
- t ? e.messageAvatarUser : e.messageAvatarAssistant
66
- ].filter(Boolean).join(" "),
67
- "aria-hidden": "true",
68
- children: b || (t ? /* @__PURE__ */ s(j, { size: 18 }) : /* @__PURE__ */ s(y, { size: 18 }))
69
- }
70
- ),
71
- /* @__PURE__ */ i("div", { className: e.messageContent, children: [
72
- /* @__PURE__ */ i(
73
- "div",
74
- {
75
- className: [
76
- e.messageBubble,
77
- t ? e.messageBubbleUser : e.messageBubbleAssistant
78
- ].filter(Boolean).join(" "),
79
- children: [
80
- f || /* @__PURE__ */ s(
81
- x,
82
- {
83
- content: c,
84
- className: t ? e.markdownUser : void 0
85
- }
86
- ),
87
- B && /* @__PURE__ */ s("span", { className: e.streamingCursor })
88
- ]
89
- }
90
- ),
91
- o && o.length > 0 && /* @__PURE__ */ s("div", { className: e.messageAttachments, children: o.map((n) => /* @__PURE__ */ s(
92
- D,
93
- {
94
- attachment: n,
95
- onClick: n.type === "image" && u ? () => u(n) : void 0
96
- },
97
- n.id
98
- )) }),
99
- /* @__PURE__ */ i("div", { className: e.messageFooter, children: [
100
- d && /* @__PURE__ */ s("span", { className: e.messageTimestamp, children: F(d) }),
101
- r && /* @__PURE__ */ i(
102
- "span",
55
+ const [h, z] = D(""), [p, b] = D(null), c = Y(
56
+ void 0
57
+ );
58
+ x(() => () => {
59
+ c.current && clearTimeout(c.current);
60
+ }, []);
61
+ const w = S(() => {
62
+ if (!h.trim()) return t;
63
+ const s = h.toLowerCase();
64
+ return t.filter(
65
+ (n) => n.title.toLowerCase().includes(s) || n.preview?.toLowerCase().includes(s)
66
+ );
67
+ }, [t, h]), I = S(() => Q(w), [w]), O = y(
68
+ (s) => {
69
+ const n = s.target.value;
70
+ z(n), g?.(n);
71
+ },
72
+ [g]
73
+ ), P = y(
74
+ (s) => {
75
+ o?.(s), u && m && m(!0);
76
+ },
77
+ [o, u, m]
78
+ ), E = y(
79
+ (s, n) => {
80
+ s.stopPropagation(), p === n ? (d?.(n), b(null), c.current && clearTimeout(c.current)) : (b(n), c.current && clearTimeout(c.current), c.current = setTimeout(() => {
81
+ b(null);
82
+ }, 3e3));
83
+ },
84
+ [p, d]
85
+ ), L = N.some(
86
+ (s) => (I.get(s)?.length ?? 0) > 0
87
+ );
88
+ return /* @__PURE__ */ l(C, { children: [
89
+ !u && /* @__PURE__ */ r(
90
+ "div",
91
+ {
92
+ className: e.sidebarOverlay,
93
+ onClick: () => m?.(!0),
94
+ "aria-hidden": "true"
95
+ }
96
+ ),
97
+ /* @__PURE__ */ l(
98
+ "aside",
99
+ {
100
+ className: [
101
+ e.sidebar,
102
+ u && e.sidebarCollapsed,
103
+ !u && e.sidebarOpen,
104
+ k
105
+ ].filter(Boolean).join(" "),
106
+ ...F,
107
+ children: [
108
+ /* @__PURE__ */ r("div", { className: e.sidebarHeader, children: j || /* @__PURE__ */ l(C, { children: [
109
+ /* @__PURE__ */ r(
110
+ "button",
103
111
  {
104
112
  className: [
105
- e.messageStatus,
106
- r === "error" && e.messageStatusError
113
+ e.inputButton,
114
+ e.inputButtonPrimary,
115
+ e.sidebarNewButton
107
116
  ].filter(Boolean).join(" "),
108
- children: [
109
- M(r),
110
- r === "error" && "Failed to send"
111
- ]
117
+ onClick: f,
118
+ "aria-label": "New conversation",
119
+ children: /* @__PURE__ */ l("span", { className: e.sidebarNewButtonInner, children: [
120
+ /* @__PURE__ */ r(A, { size: 18 }),
121
+ /* @__PURE__ */ r("span", { children: "New Chat" })
122
+ ] })
112
123
  }
113
124
  ),
114
- r === "error" && h && /* @__PURE__ */ i(
125
+ /* @__PURE__ */ r(
115
126
  "button",
116
127
  {
117
- className: e.messageRetry,
118
- onClick: h,
119
- "aria-label": "Retry sending message",
120
- children: [
121
- /* @__PURE__ */ s(z, { size: 12 }),
122
- "Retry"
123
- ]
128
+ className: [e.inputButton, e.sidebarCloseButton].join(
129
+ " "
130
+ ),
131
+ onClick: () => m?.(!0),
132
+ "aria-label": "Close sidebar",
133
+ children: /* @__PURE__ */ r(U, { size: 20 })
124
134
  }
125
- ),
126
- g && /* @__PURE__ */ s("div", { className: e.messageActions, children: g }),
127
- N && m && /* @__PURE__ */ i(
128
- "div",
135
+ )
136
+ ] }) }),
137
+ /* @__PURE__ */ r("div", { className: e.sidebarSearch, children: /* @__PURE__ */ l("div", { className: e.sidebarSearchWrapper, children: [
138
+ /* @__PURE__ */ r($, { size: 16, className: e.sidebarSearchIcon }),
139
+ /* @__PURE__ */ r(
140
+ "input",
129
141
  {
142
+ type: "search",
130
143
  className: [
131
- e.messageReactions,
132
- l && e.messageReactionsVisible
133
- ].filter(Boolean).join(" "),
134
- children: [
135
- /* @__PURE__ */ s(
136
- "button",
137
- {
138
- className: [
139
- e.messageReactionButton,
140
- l === "like" && e.messageReactionActive
141
- ].filter(Boolean).join(" "),
142
- onClick: () => m("like"),
143
- "aria-label": "Like this response",
144
- "aria-pressed": l === "like",
145
- children: /* @__PURE__ */ s(U, { size: 14 })
146
- }
147
- ),
148
- /* @__PURE__ */ s(
144
+ e.sidebarSearchInput,
145
+ e.sidebarSearchInputWithIcon
146
+ ].join(" "),
147
+ placeholder: "Search conversations...",
148
+ value: h,
149
+ onChange: O,
150
+ "aria-label": "Search conversations"
151
+ }
152
+ )
153
+ ] }) }),
154
+ /* @__PURE__ */ r(
155
+ "div",
156
+ {
157
+ className: e.sidebarList,
158
+ role: "list",
159
+ "aria-label": "Conversations",
160
+ children: L ? N.map((s) => {
161
+ const n = I.get(s) ?? [];
162
+ return n.length === 0 ? null : /* @__PURE__ */ l("div", { children: [
163
+ /* @__PURE__ */ r("div", { className: e.sidebarGroupHeader, children: G[s] }),
164
+ n.map((i) => /* @__PURE__ */ l(
149
165
  "button",
150
166
  {
151
167
  className: [
152
- e.messageReactionButton,
153
- l === "dislike" && e.messageReactionActive
168
+ e.sidebarItem,
169
+ i.id === a && e.sidebarItemActive
154
170
  ].filter(Boolean).join(" "),
155
- onClick: () => m("dislike"),
156
- "aria-label": "Dislike this response",
157
- "aria-pressed": l === "dislike",
158
- children: /* @__PURE__ */ s(w, { size: 14 })
159
- }
160
- )
161
- ]
162
- }
163
- )
164
- ] })
165
- ] })
166
- ]
167
- }
168
- );
171
+ onClick: () => P(i.id),
172
+ role: "listitem",
173
+ "aria-selected": i.id === a,
174
+ "aria-label": `Conversation: ${i.title}`,
175
+ children: [
176
+ /* @__PURE__ */ r(
177
+ T,
178
+ {
179
+ size: 18,
180
+ className: e.sidebarItemIcon
181
+ }
182
+ ),
183
+ /* @__PURE__ */ l("div", { className: e.sidebarItemContent, children: [
184
+ /* @__PURE__ */ r("span", { className: e.sidebarItemTitle, children: i.title }),
185
+ i.preview && /* @__PURE__ */ r("span", { className: e.sidebarItemPreview, children: i.preview })
186
+ ] }),
187
+ /* @__PURE__ */ r("span", { className: e.sidebarItemDate, children: H(i.updatedAt) }),
188
+ d && /* @__PURE__ */ r(
189
+ "button",
190
+ {
191
+ className: e.sidebarItemDelete,
192
+ onClick: (M) => E(M, i.id),
193
+ "aria-label": p === i.id ? `Confirm delete ${i.title}` : `Delete ${i.title}`,
194
+ children: p === i.id ? /* @__PURE__ */ r("span", { className: e.sidebarItemDeleteConfirm, children: "Delete?" }) : /* @__PURE__ */ r(q, { size: 16 })
195
+ }
196
+ )
197
+ ]
198
+ },
199
+ i.id
200
+ ))
201
+ ] }, s);
202
+ }) : /* @__PURE__ */ l("div", { className: e.sidebarEmpty, children: [
203
+ /* @__PURE__ */ r(T, { size: 32, className: e.sidebarEmptyIcon }),
204
+ /* @__PURE__ */ r("p", { children: h ? "No conversations found" : "No conversations yet" })
205
+ ] })
206
+ }
207
+ ),
208
+ v && /* @__PURE__ */ r("div", { className: e.sidebarFooter, children: v })
209
+ ]
210
+ }
211
+ )
212
+ ] });
169
213
  };
170
- E.displayName = "ChatMessage";
214
+ R.displayName = "ChatSidebar";
171
215
  export {
172
- E as ChatMessage
216
+ R as ChatSidebar
173
217
  };
package/dist/index172.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),l=require("react"),o=require("lucide-react"),_=require("./index85.cjs"),$=require("./index178.cjs"),E=require("./index184.cjs"),a=require("./index168.cjs"),X=m=>m.type.startsWith("image/")?e.jsx(o.Image,{size:14}):e.jsx(o.File,{size:14}),y=l.forwardRef(({onSend:m,placeholder:R="Type a message...",allowAttachments:N=!0,allowVoiceRecording:S=!0,allowAudioUpload:G=!0,disabled:i=!1,maxLength:f,acceptedFileTypes:k=["image/*","audio/*",".pdf",".doc",".docx",".txt"],isLoading:s=!1,pendingAttachments:z,onRemoveAttachment:I,className:q,...w},r)=>{const[j,h]=l.useState(!1),u=l.useRef(null),{value:x,setValue:B,attachments:D,addAttachments:c,removeAttachment:F,handleSubmit:g,handleKeyDown:V,textareaRef:C,isEmpty:P}=_.useChatInput({maxLength:f,onSend:m,disabled:i||s}),d=z||D,M=I||F,T=l.useCallback(t=>{C.current=t,typeof r=="function"?r(t):r&&(r.current=t)},[r,C]),W=l.useCallback(t=>{const n=t.target.files;n&&n.length>0&&c(Array.from(n)),u.current&&(u.current.value="")},[c]),K=l.useCallback(t=>{const n=t.clipboardData.items,p=[];for(const v of n)if(v.type.startsWith("image/")){const A=v.getAsFile();A&&p.push(A)}p.length>0&&(t.preventDefault(),c(p))},[c]),O=l.useCallback(t=>{const n=Object.assign(t,{name:`voice-${Date.now()}.webm`,lastModified:Date.now()});c([n]),h(!1)},[c]),U=l.useCallback(()=>{i||s||g()},[i,s,g]),b=!P||d.length>0;return e.jsx("div",{className:[a.default.inputContainer,q].filter(Boolean).join(" "),children:e.jsxs("div",{className:a.default.inputWrapper,children:[d.length>0&&e.jsx("div",{className:a.default.pendingAttachments,children:d.map((t,n)=>e.jsxs("div",{className:a.default.pendingAttachment,children:[X(t),e.jsx("span",{children:t.name}),e.jsxs("span",{className:a.default.pendingAttachmentSize,children:["(",E.formatFileSize(t.size),")"]}),e.jsx("button",{className:a.default.pendingAttachmentRemove,onClick:()=>M(n),"aria-label":`Remove ${t.name}`,children:e.jsx(o.X,{size:14})})]},n))}),j&&e.jsx($.ChatVoiceRecorder,{onRecordingComplete:O,onCancel:()=>h(!1)}),!j&&e.jsxs("div",{className:a.default.inputBox,children:[N&&e.jsxs("div",{className:a.default.inputActions,children:[e.jsx("input",{ref:u,type:"file",accept:k.join(","),multiple:!0,onChange:W,style:{display:"none"},"aria-hidden":"true"}),e.jsx("button",{className:a.default.inputButton,onClick:()=>u.current?.click(),disabled:i||s,"aria-label":"Attach file",title:"Attach file",children:e.jsx(o.Paperclip,{size:20})})]}),e.jsx("textarea",{ref:T,className:a.default.inputTextarea,value:x,onChange:t=>B(t.target.value),onKeyDown:V,onPaste:K,placeholder:R,disabled:i||s,maxLength:f,rows:1,"aria-label":"Message input",...w}),e.jsxs("div",{className:a.default.inputActions,children:[S&&!x&&d.length===0&&e.jsx("button",{className:a.default.inputButton,onClick:()=>h(!0),disabled:i||s,"aria-label":"Record voice message",title:"Record voice message",children:e.jsx(o.Mic,{size:20})}),e.jsx("button",{className:[a.default.inputButton,b&&a.default.inputButtonPrimary].filter(Boolean).join(" "),onClick:U,disabled:i||s||!b,"aria-label":"Send message",title:"Send message",children:s?e.jsx("span",{className:a.default.inputSpinner}):e.jsx(o.Send,{size:20})})]})]})]})})});y.displayName="ChatInput";exports.ChatInput=y;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n="_dataTable_ncnxg_8",t="_toolbar_ncnxg_21",o="_toolbarLeft_ncnxg_31",e="_toolbarRight_ncnxg_38",c="_searchWrapper_ncnxg_46",a="_searchIcon_ncnxg_52",_="_searchInput_ncnxg_59",i="_bulkActions_ncnxg_84",s="_selectedCount_ncnxg_90",g="_bulkAction_ncnxg_84",r="_bulkActionDanger_ncnxg_123",l="_tableContainer_ncnxg_132",p="_table_ncnxg_132",x="_thead_ncnxg_149",b="_stickyHeader_ncnxg_153",u="_th_ncnxg_149",d="_thContent_ncnxg_172",h="_sortable_ncnxg_178",y="_sortIcon_ncnxg_188",I="_sortIconInactive_ncnxg_192",m="_tbody_ncnxg_197",k="_tr_ncnxg_201",M="_hoverable_ncnxg_210",C="_trSelected_ncnxg_214",S="_striped_ncnxg_222",T="_td_ncnxg_226",A="_checkboxCell_ncnxg_233",D="_checkbox_ncnxg_233",v="_actionsCell_ncnxg_248",f="_actionMenu_ncnxg_273",O="_actionMenuTrigger_ncnxg_277",P="_actionMenuDropdown_ncnxg_298",w="_actionMenuItem_ncnxg_311",z="_actionMenuItemDanger_ncnxg_332",B="_pagination_ncnxg_344",H="_paginationInfo_ncnxg_354",L="_paginationText_ncnxg_360",R="_pageSizeSelect_ncnxg_366",W="_paginationControls_ncnxg_377",j="_paginationButton_ncnxg_383",q="_paginationPages_ncnxg_409",E="_emptyState_ncnxg_421",F="_emptyIcon_ncnxg_430",G="_emptyTitle_ncnxg_435",J="_emptyDescription_ncnxg_443",K="_emptyAction_ncnxg_451",N="_loadingOverlay_ncnxg_459",Q="_spinner_ncnxg_466",U="_spin_ncnxg_466",V="_compact_ncnxg_485",X="_hideOnMobile_ncnxg_503",Y={dataTable:n,toolbar:t,toolbarLeft:o,toolbarRight:e,searchWrapper:c,searchIcon:a,searchInput:_,bulkActions:i,selectedCount:s,bulkAction:g,bulkActionDanger:r,tableContainer:l,table:p,thead:x,stickyHeader:b,th:u,thContent:d,sortable:h,sortIcon:y,sortIconInactive:I,tbody:m,tr:k,hoverable:M,trSelected:C,striped:S,td:T,checkboxCell:A,checkbox:D,actionsCell:v,"sticky-left":"_sticky-left_ncnxg_255","sticky-right":"_sticky-right_ncnxg_262",actionMenu:f,actionMenuTrigger:O,actionMenuDropdown:P,actionMenuItem:w,actionMenuItemDanger:z,pagination:B,paginationInfo:H,paginationText:L,pageSizeSelect:R,paginationControls:W,paginationButton:j,paginationPages:q,emptyState:E,emptyIcon:F,emptyTitle:G,emptyDescription:J,emptyAction:K,loadingOverlay:N,spinner:Q,spin:U,compact:V,hideOnMobile:X};exports.actionMenu=f;exports.actionMenuDropdown=P;exports.actionMenuItem=w;exports.actionMenuItemDanger=z;exports.actionMenuTrigger=O;exports.actionsCell=v;exports.bulkAction=g;exports.bulkActionDanger=r;exports.bulkActions=i;exports.checkbox=D;exports.checkboxCell=A;exports.compact=V;exports.dataTable=n;exports.default=Y;exports.emptyAction=K;exports.emptyDescription=J;exports.emptyIcon=F;exports.emptyState=E;exports.emptyTitle=G;exports.hideOnMobile=X;exports.hoverable=M;exports.loadingOverlay=N;exports.pageSizeSelect=R;exports.pagination=B;exports.paginationButton=j;exports.paginationControls=W;exports.paginationInfo=H;exports.paginationPages=q;exports.paginationText=L;exports.searchIcon=a;exports.searchInput=_;exports.searchWrapper=c;exports.selectedCount=s;exports.sortIcon=y;exports.sortIconInactive=I;exports.sortable=h;exports.spin=U;exports.spinner=Q;exports.stickyHeader=b;exports.striped=S;exports.table=p;exports.tableContainer=l;exports.tbody=m;exports.td=T;exports.th=u;exports.thContent=d;exports.thead=x;exports.toolbar=t;exports.toolbarLeft=o;exports.toolbarRight=e;exports.tr=k;exports.trSelected=C;