@orion-ds/react 4.2.13 → 4.2.14

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 (301) hide show
  1. package/dist/index10.cjs +1 -1
  2. package/dist/index10.mjs +1 -1
  3. package/dist/index100.cjs +1 -1
  4. package/dist/index100.mjs +46 -20
  5. package/dist/index101.cjs +1 -1
  6. package/dist/index101.mjs +14 -26
  7. package/dist/index102.cjs +1 -1
  8. package/dist/index102.mjs +28 -42
  9. package/dist/index103.cjs +1 -1
  10. package/dist/index103.mjs +30 -64
  11. package/dist/index104.cjs +1 -1
  12. package/dist/index104.mjs +40 -58
  13. package/dist/index105.cjs +1 -1
  14. package/dist/index105.mjs +54 -24
  15. package/dist/index106.cjs +1 -1
  16. package/dist/index106.mjs +42 -36
  17. package/dist/index107.cjs +1 -1
  18. package/dist/index107.mjs +18 -18
  19. package/dist/index108.cjs +1 -1
  20. package/dist/index108.mjs +50 -30
  21. package/dist/index109.cjs +1 -1
  22. package/dist/index109.mjs +21 -37
  23. package/dist/index11.cjs +1 -1
  24. package/dist/index11.mjs +1 -1
  25. package/dist/index110.cjs +1 -1
  26. package/dist/index110.mjs +36 -28
  27. package/dist/index111.cjs +1 -1
  28. package/dist/index111.mjs +20 -46
  29. package/dist/index112.cjs +1 -1
  30. package/dist/index112.mjs +28 -33
  31. package/dist/index113.cjs +1 -1
  32. package/dist/index113.mjs +18 -40
  33. package/dist/index114.cjs +1 -1
  34. package/dist/index114.mjs +62 -24
  35. package/dist/index115.cjs +1 -1
  36. package/dist/index115.mjs +28 -234
  37. package/dist/index116.cjs +1 -1
  38. package/dist/index116.mjs +13 -34
  39. package/dist/index117.cjs +1 -1
  40. package/dist/index117.mjs +36 -44
  41. package/dist/index118.cjs +1 -1
  42. package/dist/index118.mjs +52 -170
  43. package/dist/index119.cjs +1 -1
  44. package/dist/index119.mjs +41 -186
  45. package/dist/index120.cjs +1 -1
  46. package/dist/index120.mjs +33 -29
  47. package/dist/index121.cjs +1 -1
  48. package/dist/index121.mjs +27 -90
  49. package/dist/index122.cjs +1 -1
  50. package/dist/index122.mjs +13 -53
  51. package/dist/index123.cjs +1 -1
  52. package/dist/index123.mjs +40 -66
  53. package/dist/index124.cjs +1 -1
  54. package/dist/index124.mjs +62 -124
  55. package/dist/index125.cjs +1 -1
  56. package/dist/index125.mjs +42 -108
  57. package/dist/index126.cjs +1 -1
  58. package/dist/index126.mjs +30 -111
  59. package/dist/index127.cjs +1 -1
  60. package/dist/index127.mjs +36 -122
  61. package/dist/index128.cjs +1 -1
  62. package/dist/index128.mjs +28 -214
  63. package/dist/index129.cjs +1 -1
  64. package/dist/index129.mjs +57 -106
  65. package/dist/index13.cjs +1 -1
  66. package/dist/index13.mjs +1 -1
  67. package/dist/index130.cjs +1 -1
  68. package/dist/index130.mjs +20 -65
  69. package/dist/index131.cjs +1 -1
  70. package/dist/index131.mjs +26 -42
  71. package/dist/index132.cjs +1 -1
  72. package/dist/index132.mjs +52 -28
  73. package/dist/index133.cjs +1 -1
  74. package/dist/index133.mjs +106 -30
  75. package/dist/index134.cjs +1 -1
  76. package/dist/index134.mjs +55 -46
  77. package/dist/index135.cjs +1 -1
  78. package/dist/index135.mjs +18 -12
  79. package/dist/index136.cjs +1 -1
  80. package/dist/index136.mjs +65 -44
  81. package/dist/index137.cjs +1 -1
  82. package/dist/index137.mjs +64 -55
  83. package/dist/index138.cjs +1 -1
  84. package/dist/index138.mjs +28 -20
  85. package/dist/index139.cjs +1 -1
  86. package/dist/index139.mjs +24 -18
  87. package/dist/index14.cjs +1 -1
  88. package/dist/index14.mjs +1 -1
  89. package/dist/index140.cjs +1 -1
  90. package/dist/index140.mjs +18 -24
  91. package/dist/index142.cjs +1 -1
  92. package/dist/index142.mjs +40 -53
  93. package/dist/index143.cjs +1 -1
  94. package/dist/index143.mjs +21 -43
  95. package/dist/index144.cjs +1 -1
  96. package/dist/index144.mjs +46 -28
  97. package/dist/index145.cjs +1 -1
  98. package/dist/index145.mjs +20 -67
  99. package/dist/index147.cjs +1 -1
  100. package/dist/index147.mjs +24 -20
  101. package/dist/index148.cjs +1 -1
  102. package/dist/index148.mjs +67 -22
  103. package/dist/index149.cjs +1 -1
  104. package/dist/index149.mjs +46 -52
  105. package/dist/index15.cjs +1 -1
  106. package/dist/index15.mjs +1 -1
  107. package/dist/index150.cjs +1 -1
  108. package/dist/index150.mjs +24 -54
  109. package/dist/index151.cjs +1 -1
  110. package/dist/index151.mjs +45 -46
  111. package/dist/index152.cjs +1 -1
  112. package/dist/index152.mjs +42 -76
  113. package/dist/index153.cjs +1 -1
  114. package/dist/index153.mjs +30 -14
  115. package/dist/index154.cjs +1 -1
  116. package/dist/index154.mjs +64 -42
  117. package/dist/index155.cjs +1 -1
  118. package/dist/index155.mjs +53 -40
  119. package/dist/index156.cjs +1 -1
  120. package/dist/index156.mjs +76 -35
  121. package/dist/index157.cjs +1 -1
  122. package/dist/index157.mjs +38 -28
  123. package/dist/index158.cjs +1 -1
  124. package/dist/index158.mjs +234 -40
  125. package/dist/index159.cjs +1 -1
  126. package/dist/index159.mjs +34 -21
  127. package/dist/index16.cjs +1 -1
  128. package/dist/index16.mjs +1 -1
  129. package/dist/index160.cjs +1 -1
  130. package/dist/index160.mjs +44 -13
  131. package/dist/index161.cjs +1 -1
  132. package/dist/index161.mjs +170 -57
  133. package/dist/index162.cjs +1 -1
  134. package/dist/index162.mjs +186 -33
  135. package/dist/index163.cjs +1 -1
  136. package/dist/index163.mjs +29 -17
  137. package/dist/index164.cjs +1 -1
  138. package/dist/index164.mjs +90 -28
  139. package/dist/index165.cjs +1 -1
  140. package/dist/index165.mjs +53 -19
  141. package/dist/index166.cjs +1 -1
  142. package/dist/index166.mjs +66 -45
  143. package/dist/index167.cjs +1 -1
  144. package/dist/index167.mjs +124 -52
  145. package/dist/index168.cjs +1 -1
  146. package/dist/index168.mjs +108 -62
  147. package/dist/index169.cjs +1 -1
  148. package/dist/index169.mjs +111 -36
  149. package/dist/index17.cjs +1 -1
  150. package/dist/index17.mjs +1 -1
  151. package/dist/index170.cjs +1 -1
  152. package/dist/index170.mjs +122 -30
  153. package/dist/index171.cjs +1 -1
  154. package/dist/index171.mjs +214 -28
  155. package/dist/index172.cjs +1 -1
  156. package/dist/index172.mjs +44 -32
  157. package/dist/index173.cjs +1 -1
  158. package/dist/index173.mjs +30 -28
  159. package/dist/index174.cjs +1 -1
  160. package/dist/index174.mjs +36 -30
  161. package/dist/index175.cjs +1 -1
  162. package/dist/index175.mjs +56 -64
  163. package/dist/index176.cjs +1 -1
  164. package/dist/index176.mjs +30 -27
  165. package/dist/index177.cjs +1 -1
  166. package/dist/index177.mjs +32 -38
  167. package/dist/index178.cjs +1 -1
  168. package/dist/index178.mjs +28 -30
  169. package/dist/index179.cjs +1 -1
  170. package/dist/index179.mjs +27 -29
  171. package/dist/index18.cjs +1 -1
  172. package/dist/index18.mjs +1 -1
  173. package/dist/index180.cjs +1 -1
  174. package/dist/index180.mjs +16 -50
  175. package/dist/index181.cjs +1 -1
  176. package/dist/index181.mjs +33 -56
  177. package/dist/index185.cjs +1 -1
  178. package/dist/index185.mjs +1 -1
  179. package/dist/index19.cjs +1 -1
  180. package/dist/index19.mjs +2 -2
  181. package/dist/index20.cjs +1 -1
  182. package/dist/index20.mjs +14 -14
  183. package/dist/index21.cjs +1 -1
  184. package/dist/index21.mjs +1 -1
  185. package/dist/index22.cjs +1 -1
  186. package/dist/index22.mjs +1 -1
  187. package/dist/index23.cjs +1 -1
  188. package/dist/index23.mjs +1 -1
  189. package/dist/index24.cjs +1 -1
  190. package/dist/index24.mjs +1 -1
  191. package/dist/index25.cjs +1 -1
  192. package/dist/index25.mjs +1 -1
  193. package/dist/index26.cjs +1 -1
  194. package/dist/index26.mjs +1 -1
  195. package/dist/index27.cjs +1 -1
  196. package/dist/index27.mjs +1 -1
  197. package/dist/index28.cjs +1 -1
  198. package/dist/index28.mjs +1 -1
  199. package/dist/index30.cjs +1 -1
  200. package/dist/index30.mjs +1 -1
  201. package/dist/index31.cjs +1 -1
  202. package/dist/index31.mjs +1 -1
  203. package/dist/index32.cjs +1 -1
  204. package/dist/index32.mjs +1 -1
  205. package/dist/index33.cjs +1 -1
  206. package/dist/index33.mjs +1 -1
  207. package/dist/index35.cjs +1 -1
  208. package/dist/index35.mjs +1 -1
  209. package/dist/index36.cjs +1 -1
  210. package/dist/index36.mjs +1 -1
  211. package/dist/index37.cjs +1 -1
  212. package/dist/index37.mjs +1 -1
  213. package/dist/index38.cjs +1 -1
  214. package/dist/index38.mjs +1 -1
  215. package/dist/index39.cjs +1 -1
  216. package/dist/index39.mjs +1 -1
  217. package/dist/index40.cjs +1 -1
  218. package/dist/index40.mjs +1 -1
  219. package/dist/index42.cjs +1 -1
  220. package/dist/index42.mjs +1 -1
  221. package/dist/index43.cjs +1 -1
  222. package/dist/index43.mjs +1 -1
  223. package/dist/index44.cjs +1 -1
  224. package/dist/index44.mjs +1 -1
  225. package/dist/index46.cjs +1 -1
  226. package/dist/index46.mjs +1 -1
  227. package/dist/index47.cjs +1 -1
  228. package/dist/index47.mjs +1 -1
  229. package/dist/index49.cjs +1 -1
  230. package/dist/index49.mjs +1 -1
  231. package/dist/index5.cjs +1 -1
  232. package/dist/index5.mjs +1 -1
  233. package/dist/index50.cjs +1 -1
  234. package/dist/index50.mjs +1 -1
  235. package/dist/index51.cjs +1 -1
  236. package/dist/index51.mjs +1 -1
  237. package/dist/index52.cjs +1 -1
  238. package/dist/index52.mjs +1 -1
  239. package/dist/index53.cjs +1 -1
  240. package/dist/index53.mjs +1 -1
  241. package/dist/index54.cjs +1 -1
  242. package/dist/index54.mjs +1 -1
  243. package/dist/index55.cjs +1 -1
  244. package/dist/index55.mjs +1 -1
  245. package/dist/index56.cjs +1 -1
  246. package/dist/index56.mjs +1 -1
  247. package/dist/index57.cjs +1 -1
  248. package/dist/index57.mjs +1 -1
  249. package/dist/index58.cjs +1 -1
  250. package/dist/index58.mjs +1 -1
  251. package/dist/index59.cjs +1 -1
  252. package/dist/index59.mjs +1 -1
  253. package/dist/index6.cjs +1 -1
  254. package/dist/index6.mjs +1 -1
  255. package/dist/index60.cjs +1 -1
  256. package/dist/index60.mjs +1 -1
  257. package/dist/index61.cjs +1 -1
  258. package/dist/index61.mjs +1 -1
  259. package/dist/index62.cjs +1 -1
  260. package/dist/index62.mjs +1 -1
  261. package/dist/index64.cjs +1 -1
  262. package/dist/index64.mjs +1 -1
  263. package/dist/index65.cjs +1 -1
  264. package/dist/index65.mjs +1 -1
  265. package/dist/index66.cjs +1 -1
  266. package/dist/index66.mjs +1 -1
  267. package/dist/index67.cjs +1 -1
  268. package/dist/index67.mjs +1 -1
  269. package/dist/index68.cjs +1 -1
  270. package/dist/index68.mjs +1 -1
  271. package/dist/index69.cjs +1 -1
  272. package/dist/index69.mjs +1 -1
  273. package/dist/index7.cjs +1 -1
  274. package/dist/index7.mjs +1 -1
  275. package/dist/index70.cjs +1 -1
  276. package/dist/index70.mjs +1 -1
  277. package/dist/index71.cjs +1 -1
  278. package/dist/index71.mjs +1 -1
  279. package/dist/index72.cjs +1 -1
  280. package/dist/index72.mjs +1 -1
  281. package/dist/index73.cjs +1 -1
  282. package/dist/index73.mjs +1 -1
  283. package/dist/index76.cjs +1 -1
  284. package/dist/index76.mjs +1 -1
  285. package/dist/index77.cjs +1 -1
  286. package/dist/index77.mjs +1 -1
  287. package/dist/index78.cjs +1 -1
  288. package/dist/index78.mjs +1 -1
  289. package/dist/index79.cjs +1 -1
  290. package/dist/index79.mjs +1 -1
  291. package/dist/index8.cjs +1 -1
  292. package/dist/index8.mjs +1 -1
  293. package/dist/index80.cjs +1 -1
  294. package/dist/index80.mjs +1 -1
  295. package/dist/index81.cjs +1 -1
  296. package/dist/index81.mjs +1 -1
  297. package/dist/index9.cjs +1 -1
  298. package/dist/index9.mjs +1 -1
  299. package/dist/index99.cjs +1 -1
  300. package/dist/index99.mjs +28 -16
  301. package/package.json +1 -1
package/dist/index169.mjs CHANGED
@@ -1,39 +1,114 @@
1
- const e = "_gallery_nbesj_7", n = "_header_nbesj_14", s = "_searchContainer_nbesj_33", o = "_searchIcon_nbesj_39", c = "_searchInput_nbesj_48", t = "_resultCount_nbesj_69", _ = "_categories_nbesj_80", a = "_categoryBtn_nbesj_88", r = "_active_nbesj_106", i = "_iconGrid_nbesj_113", l = "_iconItem_nbesj_121", b = "_iconDisplay_nbesj_149", j = "_iconName_nbesj_158", d = "_copiedBadge_nbesj_172", u = "_noResults_nbesj_208", g = "_usageInfo_nbesj_220", h = "_codeBlock_nbesj_235", I = {
2
- gallery: e,
3
- header: n,
4
- searchContainer: s,
5
- searchIcon: o,
6
- searchInput: c,
7
- resultCount: t,
8
- categories: _,
9
- categoryBtn: a,
10
- active: r,
11
- iconGrid: i,
12
- iconItem: l,
13
- iconDisplay: b,
14
- iconName: j,
15
- copiedBadge: d,
16
- noResults: u,
17
- usageInfo: g,
18
- codeBlock: h
1
+ import { jsxs as d, jsx as p, Fragment as A } from "react/jsx-runtime";
2
+ import { useState as I, useRef as W, useCallback as a } from "react";
3
+ import { Upload as $ } from "lucide-react";
4
+ import { formatFileSize as g } from "./index184.mjs";
5
+ import l from "./index158.mjs";
6
+ const P = ({
7
+ onFilesSelected: h,
8
+ accept: s = ["*/*"],
9
+ multiple: m = !0,
10
+ maxSize: r = 10 * 1024 * 1024,
11
+ // 10MB default
12
+ children: D,
13
+ className: v,
14
+ ...y
15
+ }) => {
16
+ const [U, f] = I(!1), i = W(null), c = a(
17
+ (e) => {
18
+ if (!e || e.length === 0) return;
19
+ const o = [];
20
+ Array.from(e).forEach((t) => {
21
+ if (r && t.size > r) {
22
+ console.warn(
23
+ `File ${t.name} exceeds max size of ${g(r)}`
24
+ );
25
+ return;
26
+ }
27
+ const j = s.includes("*/*"), w = s.flatMap((n) => (n.endsWith("/*"), n));
28
+ if (!(j || w.some((n) => {
29
+ if (n.endsWith("/*")) {
30
+ const x = n.split("/")[0];
31
+ return t.type.startsWith(`${x}/`);
32
+ }
33
+ return t.type === n || t.name.endsWith(n);
34
+ }))) {
35
+ console.warn(`File ${t.name} type not accepted`);
36
+ return;
37
+ }
38
+ o.push(t);
39
+ }), o.length > 0 && h?.(o);
40
+ },
41
+ [s, r, h]
42
+ ), C = a((e) => {
43
+ e.preventDefault(), e.stopPropagation(), f(!0);
44
+ }, []), k = a((e) => {
45
+ e.preventDefault(), e.stopPropagation(), f(!1);
46
+ }, []), F = a(
47
+ (e) => {
48
+ e.preventDefault(), e.stopPropagation(), f(!1);
49
+ const { files: o } = e.dataTransfer;
50
+ c(o);
51
+ },
52
+ [c]
53
+ ), N = a(
54
+ (e) => {
55
+ c(e.target.files), i.current && (i.current.value = "");
56
+ },
57
+ [c]
58
+ ), u = a(() => {
59
+ i.current?.click();
60
+ }, []), b = a(
61
+ (e) => {
62
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), u());
63
+ },
64
+ [u]
65
+ );
66
+ return /* @__PURE__ */ d(
67
+ "div",
68
+ {
69
+ className: [
70
+ l.fileUpload,
71
+ U && l.fileUploadDragging,
72
+ v
73
+ ].filter(Boolean).join(" "),
74
+ onDragOver: C,
75
+ onDragLeave: k,
76
+ onDrop: F,
77
+ onClick: u,
78
+ onKeyDown: b,
79
+ role: "button",
80
+ tabIndex: 0,
81
+ "aria-label": "Upload files",
82
+ ...y,
83
+ children: [
84
+ /* @__PURE__ */ p(
85
+ "input",
86
+ {
87
+ ref: i,
88
+ type: "file",
89
+ accept: s.join(","),
90
+ multiple: m,
91
+ onChange: N,
92
+ style: { display: "none" },
93
+ "aria-hidden": "true"
94
+ }
95
+ ),
96
+ D || /* @__PURE__ */ d(A, { children: [
97
+ /* @__PURE__ */ p("div", { className: l.fileUploadIcon, children: /* @__PURE__ */ p($, { size: 32 }) }),
98
+ /* @__PURE__ */ d("div", { className: l.fileUploadText, children: [
99
+ /* @__PURE__ */ p("strong", { children: "Click to upload" }),
100
+ " or drag and drop"
101
+ ] }),
102
+ /* @__PURE__ */ d("div", { className: l.fileUploadHint, children: [
103
+ "Max file size: ",
104
+ g(r)
105
+ ] })
106
+ ] })
107
+ ]
108
+ }
109
+ );
19
110
  };
111
+ P.displayName = "ChatFileUpload";
20
112
  export {
21
- r as active,
22
- _ as categories,
23
- a as categoryBtn,
24
- h as codeBlock,
25
- d as copiedBadge,
26
- I as default,
27
- e as gallery,
28
- n as header,
29
- b as iconDisplay,
30
- i as iconGrid,
31
- l as iconItem,
32
- j as iconName,
33
- u as noResults,
34
- t as resultCount,
35
- s as searchContainer,
36
- o as searchIcon,
37
- c as searchInput,
38
- g as usageInfo
113
+ P as ChatFileUpload
39
114
  };
package/dist/index17.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),l=require("react"),tt=require("./index18.cjs"),q=require("lucide-react"),p=require("./index83.cjs"),r=require("./index161.cjs"),et=parseInt(p.spacing[6],10),rt=parseInt(p.spacing[4],10),st=parseInt(p.spacing[6],10),lt=parseInt(p.spacing[8],10),T=l.forwardRef(({items:n,variant:_="editorial",aspectRatio:B="16/9",peek:D=!0,autoScroll:R=!1,autoScrollInterval:j=5e3,gap:i="md",align:I="edge",alignOffset:S,showNavigation:$=!0,showPagination:w=!1,onSlideChange:W,renderNavigation:N,highlightActive:y=!1,loop:x=!1,className:z,...H},F)=>{const s=l.useRef(null),[K,J]=l.useState(!1),[Q,U]=l.useState(!0),[f,V]=l.useState(0),M=l.useRef(0),u=l.useCallback(()=>i==="sm"?rt:i==="lg"?lt:st,[i]),d=l.useCallback(t=>{const e=t.children[0];return e?e.offsetWidth:0},[]),v=l.useCallback(()=>{if(!s.current)return;const{scrollLeft:t,scrollWidth:e,clientWidth:c}=s.current,h=d(s.current),g=u(),b=t>=e-c-1,m=t<=1;J(!m),U(!b);let o;if(b)o=n.length-1;else{const L=Math.round(t/(h+g));o=Math.min(Math.max(0,L),n.length-1)}o!==M.current&&(M.current=o,V(o),W?.(o))},[i,n.length,W,u,d]),C=l.useCallback(t=>{if(!s.current)return;const{scrollLeft:e,scrollWidth:c,clientWidth:h}=s.current,g=d(s.current),b=u(),m=g+b,o=e<=1,L=e>=c-h-1;if(x){if(t==="right"&&L){s.current.scrollTo({left:0,behavior:"smooth"});return}if(t==="left"&&o){s.current.scrollTo({left:c-h,behavior:"smooth"});return}}s.current.scrollBy({left:t==="left"?-m:m,behavior:"smooth"})},[i,x,u,d]),k=l.useCallback(t=>{if(!s.current)return;const e=d(s.current),c=u();s.current.scrollTo({left:t*(e+c),behavior:"smooth"})},[u,d]);l.useEffect(()=>{const t=s.current;if(t)return v(),t.addEventListener("scroll",v),()=>{t.removeEventListener("scroll",v)}},[v]),l.useEffect(()=>{if(!R||n.length<=1)return;const t=setInterval(()=>{const e=(f+1)%n.length;k(e)},j);return()=>clearInterval(t)},[R,j,f,n.length,k]);const P=I==="container"&&S!==void 0,E=P?Math.max(0,S-et):0,X=i==="sm"?r.default.gapSm:i==="lg"?r.default.gapLg:r.default.gapMd,Y=I==="container"?r.default.trackContainer:r.default.trackEdge,Z=[r.default.carousel,D&&r.default.peek,y&&r.default.highlightActive,X,z].filter(Boolean).join(" "),O=[r.default.track,Y].filter(Boolean).join(" "),G=x&&n.length>1,A={canScrollLeft:G||K,canScrollRight:G||Q,scrollLeft:()=>C("left"),scrollRight:()=>C("right"),activeIndex:f,totalItems:n.length};return a.jsxs("div",{ref:F,className:Z,...H,children:[a.jsx("div",{ref:s,className:O,style:P?{scrollPaddingInlineStart:S}:void 0,role:"region","aria-label":"Carousel",children:n.map((t,e)=>{const c=e===0,g=e===f&&y;return a.jsx(tt.CarouselCard,{item:t,aspectRatio:B,variant:_,className:g?r.default.cardHighlighted:void 0,style:c&&E>0?{marginLeft:E}:void 0},t.title||e)})}),$&&n.length>1&&(N?N(A):a.jsxs("div",{className:r.default.navigation,children:[a.jsx("button",{type:"button",className:r.default.navButton,onClick:()=>C("left"),disabled:!A.canScrollLeft,"aria-label":"Previous",children:a.jsx(q.ChevronLeft,{size:24})}),a.jsx("button",{type:"button",className:r.default.navButton,onClick:()=>C("right"),disabled:!A.canScrollRight,"aria-label":"Next",children:a.jsx(q.ChevronRight,{size:24})})]})),w&&n.length>1&&a.jsx("div",{className:r.default.pagination,children:n.map((t,e)=>a.jsx("button",{type:"button",className:`${r.default.dot} ${e===f?r.default.dotActive:""}`,onClick:()=>k(e),"aria-label":`Go to slide ${e+1}`},e))})]})});T.displayName="Carousel";exports.Carousel=T;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),l=require("react"),tt=require("./index18.cjs"),q=require("lucide-react"),p=require("./index83.cjs"),r=require("./index129.cjs"),et=parseInt(p.spacing[6],10),rt=parseInt(p.spacing[4],10),st=parseInt(p.spacing[6],10),lt=parseInt(p.spacing[8],10),T=l.forwardRef(({items:n,variant:_="editorial",aspectRatio:B="16/9",peek:D=!0,autoScroll:R=!1,autoScrollInterval:j=5e3,gap:i="md",align:I="edge",alignOffset:S,showNavigation:$=!0,showPagination:w=!1,onSlideChange:W,renderNavigation:N,highlightActive:y=!1,loop:x=!1,className:z,...H},F)=>{const s=l.useRef(null),[K,J]=l.useState(!1),[Q,U]=l.useState(!0),[f,V]=l.useState(0),M=l.useRef(0),u=l.useCallback(()=>i==="sm"?rt:i==="lg"?lt:st,[i]),d=l.useCallback(t=>{const e=t.children[0];return e?e.offsetWidth:0},[]),v=l.useCallback(()=>{if(!s.current)return;const{scrollLeft:t,scrollWidth:e,clientWidth:c}=s.current,h=d(s.current),g=u(),b=t>=e-c-1,m=t<=1;J(!m),U(!b);let o;if(b)o=n.length-1;else{const L=Math.round(t/(h+g));o=Math.min(Math.max(0,L),n.length-1)}o!==M.current&&(M.current=o,V(o),W?.(o))},[i,n.length,W,u,d]),C=l.useCallback(t=>{if(!s.current)return;const{scrollLeft:e,scrollWidth:c,clientWidth:h}=s.current,g=d(s.current),b=u(),m=g+b,o=e<=1,L=e>=c-h-1;if(x){if(t==="right"&&L){s.current.scrollTo({left:0,behavior:"smooth"});return}if(t==="left"&&o){s.current.scrollTo({left:c-h,behavior:"smooth"});return}}s.current.scrollBy({left:t==="left"?-m:m,behavior:"smooth"})},[i,x,u,d]),k=l.useCallback(t=>{if(!s.current)return;const e=d(s.current),c=u();s.current.scrollTo({left:t*(e+c),behavior:"smooth"})},[u,d]);l.useEffect(()=>{const t=s.current;if(t)return v(),t.addEventListener("scroll",v),()=>{t.removeEventListener("scroll",v)}},[v]),l.useEffect(()=>{if(!R||n.length<=1)return;const t=setInterval(()=>{const e=(f+1)%n.length;k(e)},j);return()=>clearInterval(t)},[R,j,f,n.length,k]);const P=I==="container"&&S!==void 0,E=P?Math.max(0,S-et):0,X=i==="sm"?r.default.gapSm:i==="lg"?r.default.gapLg:r.default.gapMd,Y=I==="container"?r.default.trackContainer:r.default.trackEdge,Z=[r.default.carousel,D&&r.default.peek,y&&r.default.highlightActive,X,z].filter(Boolean).join(" "),O=[r.default.track,Y].filter(Boolean).join(" "),G=x&&n.length>1,A={canScrollLeft:G||K,canScrollRight:G||Q,scrollLeft:()=>C("left"),scrollRight:()=>C("right"),activeIndex:f,totalItems:n.length};return a.jsxs("div",{ref:F,className:Z,...H,children:[a.jsx("div",{ref:s,className:O,style:P?{scrollPaddingInlineStart:S}:void 0,role:"region","aria-label":"Carousel",children:n.map((t,e)=>{const c=e===0,g=e===f&&y;return a.jsx(tt.CarouselCard,{item:t,aspectRatio:B,variant:_,className:g?r.default.cardHighlighted:void 0,style:c&&E>0?{marginLeft:E}:void 0},t.title||e)})}),$&&n.length>1&&(N?N(A):a.jsxs("div",{className:r.default.navigation,children:[a.jsx("button",{type:"button",className:r.default.navButton,onClick:()=>C("left"),disabled:!A.canScrollLeft,"aria-label":"Previous",children:a.jsx(q.ChevronLeft,{size:24})}),a.jsx("button",{type:"button",className:r.default.navButton,onClick:()=>C("right"),disabled:!A.canScrollRight,"aria-label":"Next",children:a.jsx(q.ChevronRight,{size:24})})]})),w&&n.length>1&&a.jsx("div",{className:r.default.pagination,children:n.map((t,e)=>a.jsx("button",{type:"button",className:`${r.default.dot} ${e===f?r.default.dotActive:""}`,onClick:()=>k(e),"aria-label":`Go to slide ${e+1}`},e))})]})});T.displayName="Carousel";exports.Carousel=T;
package/dist/index17.mjs CHANGED
@@ -3,7 +3,7 @@ import { forwardRef as et, useRef as j, useState as k, useCallback as f, useEffe
3
3
  import { CarouselCard as nt } from "./index18.mjs";
4
4
  import { ChevronLeft as ot, ChevronRight as st } from "lucide-react";
5
5
  import { spacing as b } from "./index83.mjs";
6
- import e from "./index161.mjs";
6
+ import e from "./index129.mjs";
7
7
  const lt = parseInt(b[6], 10), ct = parseInt(b[4], 10), at = parseInt(b[6], 10), it = parseInt(b[8], 10), dt = et(
8
8
  ({
9
9
  items: o,
package/dist/index170.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="_container_1e3cp_8",r="_labelWrapper_1e3cp_16",c="_percentage_1e3cp_25",n="_track_1e3cp_31",t="_bar_1e3cp_40",_="_sm_1e3cp_50",a="_md_1e3cp_54",s="_lg_1e3cp_58",o="_primary_1e3cp_66",p="_success_1e3cp_70",i="_warning_1e3cp_74",l="_error_1e3cp_78",m="_info_1e3cp_82",g="_indeterminate_1e3cp_90",d={container:e,labelWrapper:r,percentage:c,track:n,bar:t,sm:_,md:a,lg:s,primary:o,success:p,warning:i,error:l,info:m,indeterminate:g};exports.bar=t;exports.container=e;exports.default=d;exports.error=l;exports.indeterminate=g;exports.info=m;exports.labelWrapper=r;exports.lg=s;exports.md=a;exports.percentage=c;exports.primary=o;exports.sm=_;exports.success=p;exports.track=n;exports.warning=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),a=require("lucide-react"),p=require("./index166.cjs"),P=require("./index167.cjs"),b=require("./index164.cjs"),C=require("./index184.cjs"),t=require("./index158.cjs"),w=d=>{switch(d){case"image":return e.jsx(a.Image,{size:18});case"audio":return e.jsx(a.Music,{size:18});case"code":return e.jsx(a.Code,{size:18});default:return e.jsx(a.FileText,{size:18})}},v=({attachment:d,removable:h=!1,onRemove:i,onClick:n,className:c,...o})=>{const{type:m,name:s,url:l,content:j,language:f,size:x,duration:u,thumbnail:g}=d;switch(m){case"image":if(l)return e.jsxs("div",{className:c,style:{position:"relative"},...o,children:[e.jsx(p.ChatImagePreview,{src:l,alt:s,thumbnail:g,onClick:n}),h&&i&&e.jsx("button",{className:t.default.attachmentPreviewRemove,onClick:r=>{r.stopPropagation(),i()},"aria-label":`Remove ${s}`,style:{position:"absolute",top:4,right:4,background:"var(--surface-base)"},children:e.jsx(a.X,{size:14})})]});break;case"audio":if(l)return e.jsxs("div",{className:c,style:{position:"relative"},...o,children:[e.jsx(P.ChatAudioPlayer,{src:l,duration:u,title:s}),h&&i&&e.jsx("button",{className:t.default.attachmentPreviewRemove,onClick:r=>{r.stopPropagation(),i()},"aria-label":`Remove ${s}`,children:e.jsx(a.X,{size:14})})]});break;case"code":if(j)return e.jsx(b.ChatCodeBlock,{code:j,language:f,className:c,...o});break}return e.jsxs("div",{className:[t.default.attachmentPreview,c].filter(Boolean).join(" "),onClick:n,role:n?"button":void 0,tabIndex:n?0:void 0,...o,children:[e.jsx("div",{className:t.default.attachmentPreviewIcon,children:w(m)}),e.jsxs("div",{className:t.default.attachmentPreviewInfo,children:[e.jsx("span",{className:t.default.attachmentPreviewName,children:s}),x&&e.jsxs("span",{className:t.default.attachmentPreviewMeta,children:[C.formatFileSize(x),u&&` · ${Math.floor(u/60)}:${(u%60).toString().padStart(2,"0")}`]})]}),h&&i&&e.jsx("button",{className:t.default.attachmentPreviewRemove,onClick:r=>{r.stopPropagation(),i()},"aria-label":`Remove ${s}`,children:e.jsx(a.X,{size:14})})]})};v.displayName="ChatAttachment";exports.ChatAttachment=v;
package/dist/index170.mjs CHANGED
@@ -1,33 +1,125 @@
1
- const e = "_container_1e3cp_8", c = "_labelWrapper_1e3cp_16", _ = "_percentage_1e3cp_25", r = "_track_1e3cp_31", n = "_bar_1e3cp_40", t = "_sm_1e3cp_50", s = "_md_1e3cp_54", a = "_lg_1e3cp_58", p = "_primary_1e3cp_66", o = "_success_1e3cp_70", i = "_warning_1e3cp_74", m = "_error_1e3cp_78", l = "_info_1e3cp_82", g = "_indeterminate_1e3cp_90", d = {
2
- container: e,
3
- labelWrapper: c,
4
- percentage: _,
5
- track: r,
6
- bar: n,
7
- sm: t,
8
- md: s,
9
- lg: a,
10
- primary: p,
11
- success: o,
12
- warning: i,
13
- error: m,
14
- info: l,
15
- indeterminate: g
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",
43
+ {
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 })
56
+ }
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;
89
+ }
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
+ );
16
121
  };
122
+ $.displayName = "ChatAttachment";
17
123
  export {
18
- n as bar,
19
- e as container,
20
- d as default,
21
- m as error,
22
- g as indeterminate,
23
- l as info,
24
- c as labelWrapper,
25
- a as lg,
26
- s as md,
27
- _ as percentage,
28
- p as primary,
29
- t as sm,
30
- o as success,
31
- r as track,
32
- i as warning
124
+ $ as ChatAttachment
33
125
  };
package/dist/index171.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s="_root_10v6s_3",t="_hiddenInput_10v6s_11",o="_group_10v6s_19",l="_slot_10v6s_26",_="_slotDisabled_10v6s_42",e="_slotActive_10v6s_47",n="_slotFilled_10v6s_53",r="_caret_10v6s_65",c="_blink_10v6s_1",d="_sm_10v6s_77",i="_md_10v6s_84",a="_lg_10v6s_91",v="_separator_10v6s_99",u={root:s,hiddenInput:t,group:o,slot:l,slotDisabled:_,slotActive:e,slotFilled:n,caret:r,blink:c,sm:d,md:i,lg:a,separator:v};exports.blink=c;exports.caret=r;exports.default=u;exports.group=o;exports.hiddenInput=t;exports.lg=a;exports.md=i;exports.root=s;exports.separator=v;exports.slot=l;exports.slotActive=e;exports.slotDisabled=_;exports.slotFilled=n;exports.sm=d;
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,31 +1,217 @@
1
- const s = "_root_10v6s_3", t = "_hiddenInput_10v6s_11", o = "_group_10v6s_19", _ = "_slot_10v6s_26", l = "_slotDisabled_10v6s_42", n = "_slotActive_10v6s_47", e = "_slotFilled_10v6s_53", c = "_caret_10v6s_65", d = "_blink_10v6s_1", r = "_sm_10v6s_77", v = "_md_10v6s_84", i = "_lg_10v6s_91", a = "_separator_10v6s_99", p = {
2
- root: s,
3
- hiddenInput: t,
4
- group: o,
5
- slot: _,
6
- slotDisabled: l,
7
- slotActive: n,
8
- slotFilled: e,
9
- caret: c,
10
- blink: d,
11
- sm: r,
12
- md: v,
13
- lg: i,
14
- separator: a
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
54
+ }) => {
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",
111
+ {
112
+ className: [
113
+ e.inputButton,
114
+ e.inputButtonPrimary,
115
+ e.sidebarNewButton
116
+ ].filter(Boolean).join(" "),
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
+ ] })
123
+ }
124
+ ),
125
+ /* @__PURE__ */ r(
126
+ "button",
127
+ {
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 })
134
+ }
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",
141
+ {
142
+ type: "search",
143
+ className: [
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(
165
+ "button",
166
+ {
167
+ className: [
168
+ e.sidebarItem,
169
+ i.id === a && e.sidebarItemActive
170
+ ].filter(Boolean).join(" "),
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
+ ] });
15
213
  };
214
+ R.displayName = "ChatSidebar";
16
215
  export {
17
- d as blink,
18
- c as caret,
19
- p as default,
20
- o as group,
21
- t as hiddenInput,
22
- i as lg,
23
- v as md,
24
- s as root,
25
- a as separator,
26
- _ as slot,
27
- n as slotActive,
28
- l as slotDisabled,
29
- e as slotFilled,
30
- r as sm
216
+ R as ChatSidebar
31
217
  };
package/dist/index172.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o="_command_ou903_8",t="_inputWrapper_ou903_23",e="_searchIcon_ou903_31",n="_input_ou903_23",i="_list_ou903_55",_="_empty_ou903_66",a="_group_ou903_79",s="_groupHeading_ou903_83",u="_item_ou903_96",r="_itemDisabled_ou903_110",c="_itemHidden_ou903_129",p="_separator_ou903_138",d="_shortcut_ou903_146",m="_dialogBackdrop_ou903_159",l="_dialogContent_ou903_172",g={command:o,inputWrapper:t,searchIcon:e,input:n,list:i,empty:_,group:a,groupHeading:s,item:u,itemDisabled:r,itemHidden:c,separator:p,shortcut:d,dialogBackdrop:m,dialogContent:l};exports.command=o;exports.default=g;exports.dialogBackdrop=m;exports.dialogContent=l;exports.empty=_;exports.group=a;exports.groupHeading=s;exports.input=n;exports.inputWrapper=t;exports.item=u;exports.itemDisabled=r;exports.itemHidden=c;exports.list=i;exports.searchIcon=e;exports.separator=p;exports.shortcut=d;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="_metricCards_19r8j_8",r="_card_19r8j_33",a="_interactive_19r8j_49",c="_loading_19r8j_63",_="_cardHeader_19r8j_71",t="_cardIcon_19r8j_77",o="_label_19r8j_88",n="_cardBody_19r8j_100",s="_value_19r8j_107",i="_skeleton_19r8j_116",l="_pulse_19r8j_1",d="_sparkline_19r8j_134",j="_cardFooter_19r8j_143",v="_change_19r8j_150",p="_positive_19r8j_159",g="_negative_19r8j_163",u="_changeLabel_19r8j_167",b="_description_19r8j_173",h={metricCards:e,"cols-2":"_cols-2_19r8j_13","cols-3":"_cols-3_19r8j_17","cols-4":"_cols-4_19r8j_21","cols-5":"_cols-5_19r8j_25",card:r,interactive:a,loading:c,cardHeader:_,cardIcon:t,label:o,cardBody:n,value:s,skeleton:i,pulse:l,sparkline:d,cardFooter:j,change:v,positive:p,negative:g,changeLabel:u,description:b,"variant-compact":"_variant-compact_19r8j_184","variant-detailed":"_variant-detailed_19r8j_214"};exports.card=r;exports.cardBody=n;exports.cardFooter=j;exports.cardHeader=_;exports.cardIcon=t;exports.change=v;exports.changeLabel=u;exports.default=h;exports.description=b;exports.interactive=a;exports.label=o;exports.loading=c;exports.metricCards=e;exports.negative=g;exports.positive=p;exports.pulse=l;exports.skeleton=i;exports.sparkline=d;exports.value=s;