@yourgpt/copilot-sdk 2.1.8 → 2.1.9-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/{chunk-ISOMZAYN.js → chunk-RBULQ6EJ.js} +207 -62
  2. package/dist/chunk-RBULQ6EJ.js.map +1 -0
  3. package/dist/chunk-RPR5GMWF.js +52 -0
  4. package/dist/chunk-RPR5GMWF.js.map +1 -0
  5. package/dist/{chunk-IDAQU3FP.cjs → chunk-TD7NF6OE.cjs} +207 -62
  6. package/dist/chunk-TD7NF6OE.cjs.map +1 -0
  7. package/dist/{chunk-JFVTY757.cjs → chunk-WYFJZNFT.cjs} +16 -16
  8. package/dist/{chunk-JFVTY757.cjs.map → chunk-WYFJZNFT.cjs.map} +1 -1
  9. package/dist/{chunk-H3LX6FTP.js → chunk-XVKKLLKW.js} +3 -3
  10. package/dist/{chunk-H3LX6FTP.js.map → chunk-XVKKLLKW.js.map} +1 -1
  11. package/dist/chunk-YBLAHX2Z.cjs +55 -0
  12. package/dist/chunk-YBLAHX2Z.cjs.map +1 -0
  13. package/dist/experimental/index.cjs +416 -536
  14. package/dist/experimental/index.cjs.map +1 -1
  15. package/dist/experimental/index.d.cts +189 -853
  16. package/dist/experimental/index.d.ts +189 -853
  17. package/dist/experimental/index.js +415 -530
  18. package/dist/experimental/index.js.map +1 -1
  19. package/dist/react/index.cjs +62 -62
  20. package/dist/react/index.d.cts +18 -0
  21. package/dist/react/index.d.ts +18 -0
  22. package/dist/react/index.js +2 -2
  23. package/dist/ui/index.cjs +521 -263
  24. package/dist/ui/index.cjs.map +1 -1
  25. package/dist/ui/index.js +352 -94
  26. package/dist/ui/index.js.map +1 -1
  27. package/package.json +2 -1
  28. package/dist/chunk-5EGBIQYS.cjs +0 -292
  29. package/dist/chunk-5EGBIQYS.cjs.map +0 -1
  30. package/dist/chunk-IDAQU3FP.cjs.map +0 -1
  31. package/dist/chunk-ISOMZAYN.js.map +0 -1
  32. package/dist/chunk-TXQ37MAO.js +0 -287
  33. package/dist/chunk-TXQ37MAO.js.map +0 -1
@@ -1,287 +0,0 @@
1
- import { clsx } from 'clsx';
2
- import { twMerge } from 'tailwind-merge';
3
- import { jsxs, jsx } from 'react/jsx-runtime';
4
-
5
- // src/ui/lib/utils.ts
6
- function cn(...inputs) {
7
- return twMerge(clsx(inputs));
8
- }
9
- function DotsLoader({
10
- className,
11
- size = "md"
12
- }) {
13
- const dotSizes = {
14
- sm: "h-1 w-1",
15
- md: "h-1.5 w-1.5",
16
- lg: "h-2 w-2"
17
- };
18
- const containerSizes = {
19
- sm: "h-4",
20
- md: "h-5",
21
- lg: "h-6"
22
- };
23
- return /* @__PURE__ */ jsxs(
24
- "div",
25
- {
26
- className: cn(
27
- "flex items-center translate-y-[-2px] space-x-1",
28
- containerSizes[size],
29
- className
30
- ),
31
- children: [
32
- [...Array(3)].map((_, i) => /* @__PURE__ */ jsx(
33
- "div",
34
- {
35
- className: cn(
36
- "bg-primary csdk-loader-bounce-dots rounded-full",
37
- dotSizes[size]
38
- ),
39
- style: {
40
- animationDelay: `${i * 160}ms`
41
- }
42
- },
43
- i
44
- )),
45
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Loading" })
46
- ]
47
- }
48
- );
49
- }
50
- function TypingLoader({
51
- className,
52
- size = "md"
53
- }) {
54
- const dotSizes = {
55
- sm: "h-1 w-1",
56
- md: "h-1.5 w-1.5",
57
- lg: "h-2 w-2"
58
- };
59
- const containerSizes = {
60
- sm: "h-4",
61
- md: "h-5",
62
- lg: "h-6"
63
- };
64
- return /* @__PURE__ */ jsxs(
65
- "div",
66
- {
67
- className: cn(
68
- "flex items-center space-x-1",
69
- containerSizes[size],
70
- className
71
- ),
72
- children: [
73
- [...Array(3)].map((_, i) => /* @__PURE__ */ jsx(
74
- "div",
75
- {
76
- className: cn(
77
- "bg-primary csdk-loader-typing rounded-full",
78
- dotSizes[size]
79
- ),
80
- style: {
81
- animationDelay: `${i * 250}ms`
82
- }
83
- },
84
- i
85
- )),
86
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Loading" })
87
- ]
88
- }
89
- );
90
- }
91
- function WaveLoader({
92
- className,
93
- size = "md"
94
- }) {
95
- const barWidths = {
96
- sm: "w-0.5",
97
- md: "w-0.5",
98
- lg: "w-1"
99
- };
100
- const containerSizes = {
101
- sm: "h-4",
102
- md: "h-5",
103
- lg: "h-6"
104
- };
105
- const heights = {
106
- sm: ["6px", "9px", "12px", "9px", "6px"],
107
- md: ["8px", "12px", "16px", "12px", "8px"],
108
- lg: ["10px", "15px", "20px", "15px", "10px"]
109
- };
110
- return /* @__PURE__ */ jsxs(
111
- "div",
112
- {
113
- className: cn(
114
- "flex items-center gap-0.5",
115
- containerSizes[size],
116
- className
117
- ),
118
- children: [
119
- [...Array(5)].map((_, i) => /* @__PURE__ */ jsx(
120
- "div",
121
- {
122
- className: cn(
123
- "bg-primary csdk-loader-wave rounded-full",
124
- barWidths[size]
125
- ),
126
- style: {
127
- animationDelay: `${i * 100}ms`,
128
- height: heights[size][i]
129
- }
130
- },
131
- i
132
- )),
133
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Loading" })
134
- ]
135
- }
136
- );
137
- }
138
- function TerminalLoader({
139
- className,
140
- size = "md"
141
- }) {
142
- const cursorSizes = {
143
- sm: "h-3 w-1.5",
144
- md: "h-4 w-2",
145
- lg: "h-5 w-2.5"
146
- };
147
- const textSizes = {
148
- sm: "text-xs",
149
- md: "text-sm",
150
- lg: "text-base"
151
- };
152
- const containerSizes = {
153
- sm: "h-4",
154
- md: "h-5",
155
- lg: "h-6"
156
- };
157
- return /* @__PURE__ */ jsxs(
158
- "div",
159
- {
160
- className: cn(
161
- "flex items-center space-x-1",
162
- containerSizes[size],
163
- className
164
- ),
165
- children: [
166
- /* @__PURE__ */ jsx("span", { className: cn("text-primary font-mono", textSizes[size]), children: ">" }),
167
- /* @__PURE__ */ jsx("div", { className: cn("bg-primary csdk-loader-blink", cursorSizes[size]) }),
168
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Loading" })
169
- ]
170
- }
171
- );
172
- }
173
- function TextBlinkLoader({
174
- text = "Thinking",
175
- className,
176
- size = "md"
177
- }) {
178
- const textSizes = {
179
- sm: "text-xs",
180
- md: "text-sm",
181
- lg: "text-base"
182
- };
183
- return /* @__PURE__ */ jsx(
184
- "div",
185
- {
186
- className: cn(
187
- "csdk-loader-text-blink font-medium",
188
- textSizes[size],
189
- className
190
- ),
191
- children: text
192
- }
193
- );
194
- }
195
- function TextShimmerLoader({
196
- text = "Thinking",
197
- className,
198
- size = "md"
199
- }) {
200
- const textSizes = {
201
- sm: "text-xs",
202
- md: "text-sm",
203
- lg: "text-base"
204
- };
205
- return /* @__PURE__ */ jsx(
206
- "div",
207
- {
208
- className: cn(
209
- "bg-[linear-gradient(to_right,var(--muted-foreground)_40%,var(--foreground)_60%,var(--muted-foreground)_80%)]",
210
- "bg-[length:200%_auto] bg-clip-text font-medium text-transparent",
211
- "csdk-loader-shimmer",
212
- textSizes[size],
213
- className
214
- ),
215
- children: text
216
- }
217
- );
218
- }
219
- function TextDotsLoader({
220
- className,
221
- text = "Thinking",
222
- size = "md"
223
- }) {
224
- const textSizes = {
225
- sm: "text-xs",
226
- md: "text-sm",
227
- lg: "text-base"
228
- };
229
- return /* @__PURE__ */ jsxs("div", { className: cn("inline-flex items-center", className), children: [
230
- /* @__PURE__ */ jsx("span", { className: cn("text-primary font-medium", textSizes[size]), children: text }),
231
- /* @__PURE__ */ jsxs("span", { className: "inline-flex", children: [
232
- /* @__PURE__ */ jsx(
233
- "span",
234
- {
235
- className: "text-primary csdk-loader-loading-dots",
236
- style: { animationDelay: "0.2s" },
237
- children: "."
238
- }
239
- ),
240
- /* @__PURE__ */ jsx(
241
- "span",
242
- {
243
- className: "text-primary csdk-loader-loading-dots",
244
- style: { animationDelay: "0.4s" },
245
- children: "."
246
- }
247
- ),
248
- /* @__PURE__ */ jsx(
249
- "span",
250
- {
251
- className: "text-primary csdk-loader-loading-dots",
252
- style: { animationDelay: "0.6s" },
253
- children: "."
254
- }
255
- )
256
- ] })
257
- ] });
258
- }
259
- function Loader({
260
- variant = "typing",
261
- size = "md",
262
- text,
263
- className
264
- }) {
265
- switch (variant) {
266
- case "dots":
267
- return /* @__PURE__ */ jsx(DotsLoader, { size, className });
268
- case "typing":
269
- return /* @__PURE__ */ jsx(TypingLoader, { size, className });
270
- case "wave":
271
- return /* @__PURE__ */ jsx(WaveLoader, { size, className });
272
- case "terminal":
273
- return /* @__PURE__ */ jsx(TerminalLoader, { size, className });
274
- case "text-blink":
275
- return /* @__PURE__ */ jsx(TextBlinkLoader, { text, size, className });
276
- case "text-shimmer":
277
- return /* @__PURE__ */ jsx(TextShimmerLoader, { text, size, className });
278
- case "loading-dots":
279
- return /* @__PURE__ */ jsx(TextDotsLoader, { text, size, className });
280
- default:
281
- return /* @__PURE__ */ jsx(TypingLoader, { size, className });
282
- }
283
- }
284
-
285
- export { DotsLoader, Loader, TextShimmerLoader, cn };
286
- //# sourceMappingURL=chunk-TXQ37MAO.js.map
287
- //# sourceMappingURL=chunk-TXQ37MAO.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ui/lib/utils.ts","../src/ui/components/ui/loader.tsx"],"names":[],"mappings":";;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACWO,SAAS,UAAA,CAAW;AAAA,EACzB,SAAA;AAAA,EACA,IAAA,GAAO;AACT,CAAA,EAGG;AACD,EAAA,MAAM,QAAA,GAAW;AAAA,IACf,EAAA,EAAI,SAAA;AAAA,IACJ,EAAA,EAAI,aAAA;AAAA,IACJ,EAAA,EAAI;AAAA,GACN;AAEA,EAAA,MAAM,cAAA,GAAiB;AAAA,IACrB,EAAA,EAAI,KAAA;AAAA,IACJ,EAAA,EAAI,KAAA;AAAA,IACJ,EAAA,EAAI;AAAA,GACN;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,gDAAA;AAAA,QACA,eAAe,IAAI,CAAA;AAAA,QACnB;AAAA,OACF;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,GAAA,CAAI,CAAC,GAAG,CAAA,qBACrB,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YAEC,SAAA,EAAW,EAAA;AAAA,cACT,iDAAA;AAAA,cACA,SAAS,IAAI;AAAA,aACf;AAAA,YACA,KAAA,EAAO;AAAA,cACL,cAAA,EAAgB,CAAA,EAAG,CAAA,GAAI,GAAG,CAAA,EAAA;AAAA;AAC5B,WAAA;AAAA,UAPK;AAAA,SASR,CAAA;AAAA,wBACD,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,QAAA,EAAA,SAAA,EAAO;AAAA;AAAA;AAAA,GACnC;AAEJ;AAEO,SAAS,YAAA,CAAa;AAAA,EAC3B,SAAA;AAAA,EACA,IAAA,GAAO;AACT,CAAA,EAGG;AACD,EAAA,MAAM,QAAA,GAAW;AAAA,IACf,EAAA,EAAI,SAAA;AAAA,IACJ,EAAA,EAAI,aAAA;AAAA,IACJ,EAAA,EAAI;AAAA,GACN;AAEA,EAAA,MAAM,cAAA,GAAiB;AAAA,IACrB,EAAA,EAAI,KAAA;AAAA,IACJ,EAAA,EAAI,KAAA;AAAA,IACJ,EAAA,EAAI;AAAA,GACN;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,6BAAA;AAAA,QACA,eAAe,IAAI,CAAA;AAAA,QACnB;AAAA,OACF;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,GAAA,CAAI,CAAC,GAAG,CAAA,qBACrB,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YAEC,SAAA,EAAW,EAAA;AAAA,cACT,4CAAA;AAAA,cACA,SAAS,IAAI;AAAA,aACf;AAAA,YACA,KAAA,EAAO;AAAA,cACL,cAAA,EAAgB,CAAA,EAAG,CAAA,GAAI,GAAG,CAAA,EAAA;AAAA;AAC5B,WAAA;AAAA,UAPK;AAAA,SASR,CAAA;AAAA,wBACD,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,QAAA,EAAA,SAAA,EAAO;AAAA;AAAA;AAAA,GACnC;AAEJ;AAEO,SAAS,UAAA,CAAW;AAAA,EACzB,SAAA;AAAA,EACA,IAAA,GAAO;AACT,CAAA,EAGG;AACD,EAAA,MAAM,SAAA,GAAY;AAAA,IAChB,EAAA,EAAI,OAAA;AAAA,IACJ,EAAA,EAAI,OAAA;AAAA,IACJ,EAAA,EAAI;AAAA,GACN;AAEA,EAAA,MAAM,cAAA,GAAiB;AAAA,IACrB,EAAA,EAAI,KAAA;AAAA,IACJ,EAAA,EAAI,KAAA;AAAA,IACJ,EAAA,EAAI;AAAA,GACN;AAEA,EAAA,MAAM,OAAA,GAAU;AAAA,IACd,IAAI,CAAC,KAAA,EAAO,KAAA,EAAO,MAAA,EAAQ,OAAO,KAAK,CAAA;AAAA,IACvC,IAAI,CAAC,KAAA,EAAO,MAAA,EAAQ,MAAA,EAAQ,QAAQ,KAAK,CAAA;AAAA,IACzC,IAAI,CAAC,MAAA,EAAQ,MAAA,EAAQ,MAAA,EAAQ,QAAQ,MAAM;AAAA,GAC7C;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,2BAAA;AAAA,QACA,eAAe,IAAI,CAAA;AAAA,QACnB;AAAA,OACF;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,GAAA,CAAI,CAAC,GAAG,CAAA,qBACrB,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YAEC,SAAA,EAAW,EAAA;AAAA,cACT,0CAAA;AAAA,cACA,UAAU,IAAI;AAAA,aAChB;AAAA,YACA,KAAA,EAAO;AAAA,cACL,cAAA,EAAgB,CAAA,EAAG,CAAA,GAAI,GAAG,CAAA,EAAA,CAAA;AAAA,cAC1B,MAAA,EAAQ,OAAA,CAAQ,IAAI,CAAA,CAAE,CAAC;AAAA;AACzB,WAAA;AAAA,UARK;AAAA,SAUR,CAAA;AAAA,wBACD,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,QAAA,EAAA,SAAA,EAAO;AAAA;AAAA;AAAA,GACnC;AAEJ;AAEO,SAAS,cAAA,CAAe;AAAA,EAC7B,SAAA;AAAA,EACA,IAAA,GAAO;AACT,CAAA,EAGG;AACD,EAAA,MAAM,WAAA,GAAc;AAAA,IAClB,EAAA,EAAI,WAAA;AAAA,IACJ,EAAA,EAAI,SAAA;AAAA,IACJ,EAAA,EAAI;AAAA,GACN;AAEA,EAAA,MAAM,SAAA,GAAY;AAAA,IAChB,EAAA,EAAI,SAAA;AAAA,IACJ,EAAA,EAAI,SAAA;AAAA,IACJ,EAAA,EAAI;AAAA,GACN;AAEA,EAAA,MAAM,cAAA,GAAiB;AAAA,IACrB,EAAA,EAAI,KAAA;AAAA,IACJ,EAAA,EAAI,KAAA;AAAA,IACJ,EAAA,EAAI;AAAA,GACN;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,6BAAA;AAAA,QACA,eAAe,IAAI,CAAA;AAAA,QACnB;AAAA,OACF;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,WAAW,EAAA,CAAG,wBAAA,EAA0B,UAAU,IAAI,CAAC,GAC1D,QAAA,EAAA,GAAA,EACH,CAAA;AAAA,wBACA,GAAA,CAAC,SAAI,SAAA,EAAW,EAAA,CAAG,gCAAgC,WAAA,CAAY,IAAI,CAAC,CAAA,EAAG,CAAA;AAAA,wBACvE,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,QAAA,EAAA,SAAA,EAAO;AAAA;AAAA;AAAA,GACnC;AAEJ;AAEO,SAAS,eAAA,CAAgB;AAAA,EAC9B,IAAA,GAAO,UAAA;AAAA,EACP,SAAA;AAAA,EACA,IAAA,GAAO;AACT,CAAA,EAIG;AACD,EAAA,MAAM,SAAA,GAAY;AAAA,IAChB,EAAA,EAAI,SAAA;AAAA,IACJ,EAAA,EAAI,SAAA;AAAA,IACJ,EAAA,EAAI;AAAA,GACN;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,oCAAA;AAAA,QACA,UAAU,IAAI,CAAA;AAAA,QACd;AAAA,OACF;AAAA,MAEC,QAAA,EAAA;AAAA;AAAA,GACH;AAEJ;AAEO,SAAS,iBAAA,CAAkB;AAAA,EAChC,IAAA,GAAO,UAAA;AAAA,EACP,SAAA;AAAA,EACA,IAAA,GAAO;AACT,CAAA,EAIG;AACD,EAAA,MAAM,SAAA,GAAY;AAAA,IAChB,EAAA,EAAI,SAAA;AAAA,IACJ,EAAA,EAAI,SAAA;AAAA,IACJ,EAAA,EAAI;AAAA,GACN;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,8GAAA;AAAA,QACA,iEAAA;AAAA,QACA,qBAAA;AAAA,QACA,UAAU,IAAI,CAAA;AAAA,QACd;AAAA,OACF;AAAA,MAEC,QAAA,EAAA;AAAA;AAAA,GACH;AAEJ;AAEO,SAAS,cAAA,CAAe;AAAA,EAC7B,SAAA;AAAA,EACA,IAAA,GAAO,UAAA;AAAA,EACP,IAAA,GAAO;AACT,CAAA,EAIG;AACD,EAAA,MAAM,SAAA,GAAY;AAAA,IAChB,EAAA,EAAI,SAAA;AAAA,IACJ,EAAA,EAAI,SAAA;AAAA,IACJ,EAAA,EAAI;AAAA,GACN;AAEA,EAAA,4BACG,KAAA,EAAA,EAAI,SAAA,EAAW,EAAA,CAAG,0BAAA,EAA4B,SAAS,CAAA,EACtD,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,WAAW,EAAA,CAAG,0BAAA,EAA4B,UAAU,IAAI,CAAC,GAC5D,QAAA,EAAA,IAAA,EACH,CAAA;AAAA,oBACA,IAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,aAAA,EACd,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,uCAAA;AAAA,UACV,KAAA,EAAO,EAAE,cAAA,EAAgB,MAAA,EAAO;AAAA,UACjC,QAAA,EAAA;AAAA;AAAA,OAED;AAAA,sBACA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,uCAAA;AAAA,UACV,KAAA,EAAO,EAAE,cAAA,EAAgB,MAAA,EAAO;AAAA,UACjC,QAAA,EAAA;AAAA;AAAA,OAED;AAAA,sBACA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,uCAAA;AAAA,UACV,KAAA,EAAO,EAAE,cAAA,EAAgB,MAAA,EAAO;AAAA,UACjC,QAAA,EAAA;AAAA;AAAA;AAED,KAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;AAEA,SAAS,MAAA,CAAO;AAAA,EACd,OAAA,GAAU,QAAA;AAAA,EACV,IAAA,GAAO,IAAA;AAAA,EACP,IAAA;AAAA,EACA;AACF,CAAA,EAAgB;AACd,EAAA,QAAQ,OAAA;AAAS,IACf,KAAK,MAAA;AACH,MAAA,uBAAO,GAAA,CAAC,UAAA,EAAA,EAAW,IAAA,EAAY,SAAA,EAAsB,CAAA;AAAA,IACvD,KAAK,QAAA;AACH,MAAA,uBAAO,GAAA,CAAC,YAAA,EAAA,EAAa,IAAA,EAAY,SAAA,EAAsB,CAAA;AAAA,IACzD,KAAK,MAAA;AACH,MAAA,uBAAO,GAAA,CAAC,UAAA,EAAA,EAAW,IAAA,EAAY,SAAA,EAAsB,CAAA;AAAA,IACvD,KAAK,UAAA;AACH,MAAA,uBAAO,GAAA,CAAC,cAAA,EAAA,EAAe,IAAA,EAAY,SAAA,EAAsB,CAAA;AAAA,IAC3D,KAAK,YAAA;AACH,MAAA,uBAAO,GAAA,CAAC,eAAA,EAAA,EAAgB,IAAA,EAAY,IAAA,EAAY,SAAA,EAAsB,CAAA;AAAA,IACxE,KAAK,cAAA;AACH,MAAA,uBACE,GAAA,CAAC,iBAAA,EAAA,EAAkB,IAAA,EAAY,IAAA,EAAY,SAAA,EAAsB,CAAA;AAAA,IAErE,KAAK,cAAA;AACH,MAAA,uBAAO,GAAA,CAAC,cAAA,EAAA,EAAe,IAAA,EAAY,IAAA,EAAY,SAAA,EAAsB,CAAA;AAAA,IACvE;AACE,MAAA,uBAAO,GAAA,CAAC,YAAA,EAAA,EAAa,IAAA,EAAY,SAAA,EAAsB,CAAA;AAAA;AAE7D","file":"chunk-TXQ37MAO.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import { cn } from \"../../lib/utils\";\n\nexport interface LoaderProps {\n variant?:\n | \"dots\"\n | \"typing\"\n | \"wave\"\n | \"terminal\"\n | \"text-blink\"\n | \"text-shimmer\"\n | \"loading-dots\";\n size?: \"sm\" | \"md\" | \"lg\";\n text?: string;\n className?: string;\n}\n\nexport function DotsLoader({\n className,\n size = \"md\",\n}: {\n className?: string;\n size?: \"sm\" | \"md\" | \"lg\";\n}) {\n const dotSizes = {\n sm: \"h-1 w-1\",\n md: \"h-1.5 w-1.5\",\n lg: \"h-2 w-2\",\n };\n\n const containerSizes = {\n sm: \"h-4\",\n md: \"h-5\",\n lg: \"h-6\",\n };\n\n return (\n <div\n className={cn(\n \"flex items-center translate-y-[-2px] space-x-1\",\n containerSizes[size],\n className,\n )}\n >\n {[...Array(3)].map((_, i) => (\n <div\n key={i}\n className={cn(\n \"bg-primary csdk-loader-bounce-dots rounded-full\",\n dotSizes[size],\n )}\n style={{\n animationDelay: `${i * 160}ms`,\n }}\n />\n ))}\n <span className=\"sr-only\">Loading</span>\n </div>\n );\n}\n\nexport function TypingLoader({\n className,\n size = \"md\",\n}: {\n className?: string;\n size?: \"sm\" | \"md\" | \"lg\";\n}) {\n const dotSizes = {\n sm: \"h-1 w-1\",\n md: \"h-1.5 w-1.5\",\n lg: \"h-2 w-2\",\n };\n\n const containerSizes = {\n sm: \"h-4\",\n md: \"h-5\",\n lg: \"h-6\",\n };\n\n return (\n <div\n className={cn(\n \"flex items-center space-x-1\",\n containerSizes[size],\n className,\n )}\n >\n {[...Array(3)].map((_, i) => (\n <div\n key={i}\n className={cn(\n \"bg-primary csdk-loader-typing rounded-full\",\n dotSizes[size],\n )}\n style={{\n animationDelay: `${i * 250}ms`,\n }}\n />\n ))}\n <span className=\"sr-only\">Loading</span>\n </div>\n );\n}\n\nexport function WaveLoader({\n className,\n size = \"md\",\n}: {\n className?: string;\n size?: \"sm\" | \"md\" | \"lg\";\n}) {\n const barWidths = {\n sm: \"w-0.5\",\n md: \"w-0.5\",\n lg: \"w-1\",\n };\n\n const containerSizes = {\n sm: \"h-4\",\n md: \"h-5\",\n lg: \"h-6\",\n };\n\n const heights = {\n sm: [\"6px\", \"9px\", \"12px\", \"9px\", \"6px\"],\n md: [\"8px\", \"12px\", \"16px\", \"12px\", \"8px\"],\n lg: [\"10px\", \"15px\", \"20px\", \"15px\", \"10px\"],\n };\n\n return (\n <div\n className={cn(\n \"flex items-center gap-0.5\",\n containerSizes[size],\n className,\n )}\n >\n {[...Array(5)].map((_, i) => (\n <div\n key={i}\n className={cn(\n \"bg-primary csdk-loader-wave rounded-full\",\n barWidths[size],\n )}\n style={{\n animationDelay: `${i * 100}ms`,\n height: heights[size][i],\n }}\n />\n ))}\n <span className=\"sr-only\">Loading</span>\n </div>\n );\n}\n\nexport function TerminalLoader({\n className,\n size = \"md\",\n}: {\n className?: string;\n size?: \"sm\" | \"md\" | \"lg\";\n}) {\n const cursorSizes = {\n sm: \"h-3 w-1.5\",\n md: \"h-4 w-2\",\n lg: \"h-5 w-2.5\",\n };\n\n const textSizes = {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n };\n\n const containerSizes = {\n sm: \"h-4\",\n md: \"h-5\",\n lg: \"h-6\",\n };\n\n return (\n <div\n className={cn(\n \"flex items-center space-x-1\",\n containerSizes[size],\n className,\n )}\n >\n <span className={cn(\"text-primary font-mono\", textSizes[size])}>\n {\">\"}\n </span>\n <div className={cn(\"bg-primary csdk-loader-blink\", cursorSizes[size])} />\n <span className=\"sr-only\">Loading</span>\n </div>\n );\n}\n\nexport function TextBlinkLoader({\n text = \"Thinking\",\n className,\n size = \"md\",\n}: {\n text?: string;\n className?: string;\n size?: \"sm\" | \"md\" | \"lg\";\n}) {\n const textSizes = {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n };\n\n return (\n <div\n className={cn(\n \"csdk-loader-text-blink font-medium\",\n textSizes[size],\n className,\n )}\n >\n {text}\n </div>\n );\n}\n\nexport function TextShimmerLoader({\n text = \"Thinking\",\n className,\n size = \"md\",\n}: {\n text?: string;\n className?: string;\n size?: \"sm\" | \"md\" | \"lg\";\n}) {\n const textSizes = {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n };\n\n return (\n <div\n className={cn(\n \"bg-[linear-gradient(to_right,var(--muted-foreground)_40%,var(--foreground)_60%,var(--muted-foreground)_80%)]\",\n \"bg-[length:200%_auto] bg-clip-text font-medium text-transparent\",\n \"csdk-loader-shimmer\",\n textSizes[size],\n className,\n )}\n >\n {text}\n </div>\n );\n}\n\nexport function TextDotsLoader({\n className,\n text = \"Thinking\",\n size = \"md\",\n}: {\n className?: string;\n text?: string;\n size?: \"sm\" | \"md\" | \"lg\";\n}) {\n const textSizes = {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n };\n\n return (\n <div className={cn(\"inline-flex items-center\", className)}>\n <span className={cn(\"text-primary font-medium\", textSizes[size])}>\n {text}\n </span>\n <span className=\"inline-flex\">\n <span\n className=\"text-primary csdk-loader-loading-dots\"\n style={{ animationDelay: \"0.2s\" }}\n >\n .\n </span>\n <span\n className=\"text-primary csdk-loader-loading-dots\"\n style={{ animationDelay: \"0.4s\" }}\n >\n .\n </span>\n <span\n className=\"text-primary csdk-loader-loading-dots\"\n style={{ animationDelay: \"0.6s\" }}\n >\n .\n </span>\n </span>\n </div>\n );\n}\n\nfunction Loader({\n variant = \"typing\",\n size = \"md\",\n text,\n className,\n}: LoaderProps) {\n switch (variant) {\n case \"dots\":\n return <DotsLoader size={size} className={className} />;\n case \"typing\":\n return <TypingLoader size={size} className={className} />;\n case \"wave\":\n return <WaveLoader size={size} className={className} />;\n case \"terminal\":\n return <TerminalLoader size={size} className={className} />;\n case \"text-blink\":\n return <TextBlinkLoader text={text} size={size} className={className} />;\n case \"text-shimmer\":\n return (\n <TextShimmerLoader text={text} size={size} className={className} />\n );\n case \"loading-dots\":\n return <TextDotsLoader text={text} size={size} className={className} />;\n default:\n return <TypingLoader size={size} className={className} />;\n }\n}\n\nexport { Loader };\n"]}