@alquimia-ai/ui 1.9.3 → 2.0.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 (78) hide show
  1. package/dist/components/atoms/index.d.mts +1 -1
  2. package/dist/components/atoms/index.d.ts +1 -1
  3. package/dist/components/atoms/index.js +1848 -1428
  4. package/dist/components/atoms/index.js.map +1 -1
  5. package/dist/components/atoms/index.mjs +1453 -1409
  6. package/dist/components/atoms/index.mjs.map +1 -1
  7. package/dist/components/hooks/index.d.mts +1 -0
  8. package/dist/components/hooks/index.d.ts +1 -0
  9. package/dist/components/hooks/index.js +572 -211
  10. package/dist/components/hooks/index.js.map +1 -1
  11. package/dist/components/hooks/index.mjs +505 -193
  12. package/dist/components/hooks/index.mjs.map +1 -1
  13. package/dist/components/molecules/documents/index.d.mts +1 -0
  14. package/dist/components/molecules/documents/index.d.ts +1 -0
  15. package/dist/components/molecules/documents/index.js +2366 -1884
  16. package/dist/components/molecules/documents/index.js.map +1 -1
  17. package/dist/components/molecules/documents/index.mjs +2207 -1764
  18. package/dist/components/molecules/documents/index.mjs.map +1 -1
  19. package/dist/components/molecules/index.js +2261 -2095
  20. package/dist/components/molecules/index.js.map +1 -1
  21. package/dist/components/molecules/index.mjs +2084 -2075
  22. package/dist/components/molecules/index.mjs.map +1 -1
  23. package/dist/components/molecules/viewers/index.js +1303 -1185
  24. package/dist/components/molecules/viewers/index.js.map +1 -1
  25. package/dist/components/molecules/viewers/index.mjs +1254 -1167
  26. package/dist/components/molecules/viewers/index.mjs.map +1 -1
  27. package/dist/components/organisms/index.d.mts +1 -0
  28. package/dist/components/organisms/index.d.ts +1 -0
  29. package/dist/components/organisms/index.js +3074 -2609
  30. package/dist/components/organisms/index.js.map +1 -1
  31. package/dist/components/organisms/index.mjs +2999 -2586
  32. package/dist/components/organisms/index.mjs.map +1 -1
  33. package/dist/components/templates/index.d.mts +25 -3
  34. package/dist/components/templates/index.d.ts +25 -3
  35. package/dist/components/templates/index.js +1490 -1300
  36. package/dist/components/templates/index.js.map +1 -1
  37. package/dist/components/templates/index.mjs +1413 -1281
  38. package/dist/components/templates/index.mjs.map +1 -1
  39. package/dist/index.d.mts +4 -3
  40. package/dist/index.d.ts +4 -3
  41. package/dist/index.js +3951 -2977
  42. package/dist/index.js.map +1 -1
  43. package/dist/index.mjs +3368 -2950
  44. package/dist/index.mjs.map +1 -1
  45. package/dist/lib/index.js +106 -54
  46. package/dist/lib/index.js.map +1 -1
  47. package/dist/lib/index.mjs +42 -43
  48. package/dist/lib/index.mjs.map +1 -1
  49. package/dist/providers/index.d.mts +17 -0
  50. package/dist/providers/index.d.ts +17 -0
  51. package/dist/providers/index.js +177 -0
  52. package/dist/providers/index.js.map +1 -0
  53. package/dist/providers/index.mjs +101 -0
  54. package/dist/providers/index.mjs.map +1 -0
  55. package/dist/styles.css +68 -0
  56. package/dist/styles.css.map +1 -0
  57. package/dist/styles.d.mts +2 -0
  58. package/dist/styles.d.ts +2 -0
  59. package/dist/tailwind.config.js +4 -10
  60. package/dist/types/index.d.mts +5 -5
  61. package/dist/types/index.d.ts +5 -5
  62. package/dist/types/index.js +52 -19
  63. package/dist/types/index.js.map +1 -1
  64. package/dist/types/index.mjs +6 -8
  65. package/dist/types/index.mjs.map +1 -1
  66. package/package.json +8 -7
  67. package/dist/components/index.d.mts +0 -23
  68. package/dist/components/index.d.ts +0 -23
  69. package/dist/components/index.js +0 -1734
  70. package/dist/components/index.js.map +0 -1
  71. package/dist/components/index.mjs +0 -1702
  72. package/dist/components/index.mjs.map +0 -1
  73. package/dist/components/templates/cards/index.d.mts +0 -26
  74. package/dist/components/templates/cards/index.d.ts +0 -26
  75. package/dist/components/templates/cards/index.js +0 -1536
  76. package/dist/components/templates/cards/index.js.map +0 -1
  77. package/dist/components/templates/cards/index.mjs +0 -1504
  78. package/dist/components/templates/cards/index.mjs.map +0 -1
@@ -1,1702 +0,0 @@
1
- "use client";
2
- // src/components/atoms/ui/button.tsx
3
- import * as React from "react";
4
- import { Slot } from "@radix-ui/react-slot";
5
- import { cva } from "class-variance-authority";
6
-
7
- // src/lib/utils.ts
8
- import { clsx } from "clsx";
9
- import { twMerge } from "tailwind-merge";
10
- function cn(...inputs) {
11
- return twMerge(clsx(inputs));
12
- }
13
-
14
- // src/components/atoms/ui/button.tsx
15
- import { jsx } from "react/jsx-runtime";
16
- var buttonVariants = cva(
17
- "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
18
- {
19
- variants: {
20
- variant: {
21
- default: "bg-primary text-primary-foreground hover:bg-primary/90",
22
- destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
23
- outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
24
- secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
25
- ghost: "hover:bg-accent hover:text-accent-foreground",
26
- link: "text-primary underline-offset-4 hover:underline"
27
- },
28
- size: {
29
- default: "h-10 px-4 py-2",
30
- sm: "h-9 rounded-md px-3",
31
- lg: "h-11 rounded-md px-8",
32
- icon: "h-10 w-10"
33
- }
34
- },
35
- defaultVariants: {
36
- variant: "default",
37
- size: "default"
38
- }
39
- }
40
- );
41
- var Button = React.forwardRef(
42
- ({ className, variant, size, asChild = false, ...props }, ref) => {
43
- const Comp = asChild ? Slot : "button";
44
- return /* @__PURE__ */ jsx(
45
- Comp,
46
- {
47
- className: cn(buttonVariants({ variant, size, className })),
48
- ref,
49
- ...props
50
- }
51
- );
52
- }
53
- );
54
- Button.displayName = "Button";
55
-
56
- // src/components/atoms/ui/textarea.tsx
57
- import * as React2 from "react";
58
- import { jsx as jsx2 } from "react/jsx-runtime";
59
- var Textarea = React2.forwardRef(
60
- ({ className, ...props }, ref) => {
61
- return /* @__PURE__ */ jsx2(
62
- "textarea",
63
- {
64
- className: cn(
65
- "flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
66
- className,
67
- "alq--textarea"
68
- ),
69
- ref,
70
- ...props
71
- }
72
- );
73
- }
74
- );
75
- Textarea.displayName = "Textarea";
76
-
77
- // src/components/atoms/ui/input.tsx
78
- import { forwardRef as forwardRef3 } from "react";
79
- import { jsx as jsx3 } from "react/jsx-runtime";
80
- var Input = forwardRef3(
81
- ({ className, type, ...props }, ref) => {
82
- return /* @__PURE__ */ jsx3(
83
- "input",
84
- {
85
- type,
86
- className: cn(
87
- "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
88
- className,
89
- "alq--input"
90
- ),
91
- ref,
92
- ...props
93
- }
94
- );
95
- }
96
- );
97
- Input.displayName = "Input";
98
-
99
- // src/components/atoms/ui/select.tsx
100
- import * as React3 from "react";
101
- import * as SelectPrimitive from "@radix-ui/react-select";
102
- import { Check, ChevronDown, ChevronUp } from "lucide-react";
103
- import { jsx as jsx4, jsxs } from "react/jsx-runtime";
104
- var Select = SelectPrimitive.Root;
105
- var SelectGroup = SelectPrimitive.Group;
106
- var SelectValue = SelectPrimitive.Value;
107
- var SelectTrigger = React3.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
108
- SelectPrimitive.Trigger,
109
- {
110
- ref,
111
- className: cn(
112
- "flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
113
- className,
114
- "alq--select"
115
- ),
116
- ...props,
117
- children: [
118
- children,
119
- /* @__PURE__ */ jsx4(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx4(ChevronDown, { className: "h-4 w-4 opacity-50" }) })
120
- ]
121
- }
122
- ));
123
- SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
124
- var SelectScrollUpButton = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
125
- SelectPrimitive.ScrollUpButton,
126
- {
127
- ref,
128
- className: cn(
129
- "flex cursor-default items-center justify-center py-1",
130
- className
131
- ),
132
- ...props,
133
- children: /* @__PURE__ */ jsx4(ChevronUp, { className: "h-4 w-4" })
134
- }
135
- ));
136
- SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
137
- var SelectScrollDownButton = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
138
- SelectPrimitive.ScrollDownButton,
139
- {
140
- ref,
141
- className: cn(
142
- "flex cursor-default items-center justify-center py-1",
143
- className
144
- ),
145
- ...props,
146
- children: /* @__PURE__ */ jsx4(ChevronDown, { className: "h-4 w-4" })
147
- }
148
- ));
149
- SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
150
- var SelectContent = React3.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx4(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
151
- SelectPrimitive.Content,
152
- {
153
- ref,
154
- className: cn(
155
- "relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
156
- position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
157
- className
158
- ),
159
- position,
160
- ...props,
161
- children: [
162
- /* @__PURE__ */ jsx4(SelectScrollUpButton, {}),
163
- /* @__PURE__ */ jsx4(
164
- SelectPrimitive.Viewport,
165
- {
166
- className: cn(
167
- "p-1",
168
- position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
169
- ),
170
- children
171
- }
172
- ),
173
- /* @__PURE__ */ jsx4(SelectScrollDownButton, {})
174
- ]
175
- }
176
- ) }));
177
- SelectContent.displayName = SelectPrimitive.Content.displayName;
178
- var SelectLabel = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
179
- SelectPrimitive.Label,
180
- {
181
- ref,
182
- className: cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className),
183
- ...props
184
- }
185
- ));
186
- SelectLabel.displayName = SelectPrimitive.Label.displayName;
187
- var SelectItem = React3.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
188
- SelectPrimitive.Item,
189
- {
190
- ref,
191
- className: cn(
192
- "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
193
- className
194
- ),
195
- ...props,
196
- children: [
197
- /* @__PURE__ */ jsx4("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx4(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx4(Check, { className: "h-4 w-4" }) }) }),
198
- /* @__PURE__ */ jsx4(SelectPrimitive.ItemText, { children })
199
- ]
200
- }
201
- ));
202
- SelectItem.displayName = SelectPrimitive.Item.displayName;
203
- var SelectSeparator = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx4(
204
- SelectPrimitive.Separator,
205
- {
206
- ref,
207
- className: cn("-mx-1 my-1 h-px bg-muted", className),
208
- ...props
209
- }
210
- ));
211
- SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
212
-
213
- // src/components/atoms/ui/avatar.tsx
214
- import * as React4 from "react";
215
- import * as AvatarPrimitive from "@radix-ui/react-avatar";
216
- import { jsx as jsx5 } from "react/jsx-runtime";
217
- var Avatar = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
218
- AvatarPrimitive.Root,
219
- {
220
- ref,
221
- className: cn(
222
- "relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",
223
- className
224
- ),
225
- ...props
226
- }
227
- ));
228
- Avatar.displayName = AvatarPrimitive.Root.displayName;
229
- var AvatarImage = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
230
- AvatarPrimitive.Image,
231
- {
232
- ref,
233
- className: cn("aspect-square h-full w-full", className),
234
- ...props
235
- }
236
- ));
237
- AvatarImage.displayName = AvatarPrimitive.Image.displayName;
238
- var AvatarFallback = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
239
- AvatarPrimitive.Fallback,
240
- {
241
- ref,
242
- className: cn(
243
- "flex h-full w-full items-center justify-center rounded-full bg-muted",
244
- className
245
- ),
246
- ...props
247
- }
248
- ));
249
- AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
250
-
251
- // src/components/atoms/ui/scroll-area.tsx
252
- import * as React5 from "react";
253
- import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
254
- import { jsx as jsx6, jsxs as jsxs2 } from "react/jsx-runtime";
255
- var ScrollArea = React5.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs2(
256
- ScrollAreaPrimitive.Root,
257
- {
258
- ref,
259
- className: cn("relative overflow-hidden", className),
260
- ...props,
261
- children: [
262
- /* @__PURE__ */ jsx6(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
263
- /* @__PURE__ */ jsx6(ScrollBar, {}),
264
- /* @__PURE__ */ jsx6(ScrollAreaPrimitive.Corner, {})
265
- ]
266
- }
267
- ));
268
- ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
269
- var ScrollBar = React5.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx6(
270
- ScrollAreaPrimitive.ScrollAreaScrollbar,
271
- {
272
- ref,
273
- orientation,
274
- className: cn(
275
- "flex touch-none select-none transition-colors",
276
- orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent p-[1px]",
277
- orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent p-[1px]",
278
- className
279
- ),
280
- ...props,
281
- children: /* @__PURE__ */ jsx6(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
282
- }
283
- ));
284
- ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
285
-
286
- // src/components/atoms/ui/rich-text.tsx
287
- import ReactMarkdown from "react-markdown";
288
- import remarkGfm from "remark-gfm";
289
- import { jsx as jsx7 } from "react/jsx-runtime";
290
- function RichText({ content, className }) {
291
- return /* @__PURE__ */ jsx7(ReactMarkdown, { className: cn(className), remarkPlugins: [remarkGfm], children: content });
292
- }
293
-
294
- // src/components/atoms/ui/skeleton.tsx
295
- import { jsx as jsx8 } from "react/jsx-runtime";
296
- function Skeleton({
297
- className,
298
- ...props
299
- }) {
300
- return /* @__PURE__ */ jsx8(
301
- "div",
302
- {
303
- className: cn("animate-pulse rounded-md bg-muted text-muted-foreground", className, "alq--skeleton"),
304
- ...props
305
- }
306
- );
307
- }
308
-
309
- // src/components/atoms/ui/card.tsx
310
- import * as React6 from "react";
311
- import { jsx as jsx9 } from "react/jsx-runtime";
312
- var Card = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
313
- "div",
314
- {
315
- ref,
316
- className: cn(
317
- "rounded-lg",
318
- " border",
319
- "bg-card",
320
- "text-card-foreground",
321
- "shadow-raised",
322
- className
323
- ),
324
- ...props
325
- }
326
- ));
327
- Card.displayName = "Card";
328
- var CardHeader = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
329
- "div",
330
- {
331
- ref,
332
- className: cn("flex flex-col space-y-1.5 p-6", className),
333
- ...props
334
- }
335
- ));
336
- CardHeader.displayName = "CardHeader";
337
- var CardTitle = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
338
- "h3",
339
- {
340
- ref,
341
- className: cn("alq--typography-heading4", className),
342
- ...props
343
- }
344
- ));
345
- CardTitle.displayName = "CardTitle";
346
- var CardDescription = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
347
- "p",
348
- {
349
- ref,
350
- className: cn("text-sm text-muted-foreground", className),
351
- ...props
352
- }
353
- ));
354
- CardDescription.displayName = "CardDescription";
355
- var CardContent = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9("div", { ref, className: cn("p-6 pt-0", className), ...props }));
356
- CardContent.displayName = "CardContent";
357
- var CardFooter = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
358
- "div",
359
- {
360
- ref,
361
- className: cn("flex items-center p-6 pt-0", className),
362
- ...props
363
- }
364
- ));
365
- CardFooter.displayName = "CardFooter";
366
-
367
- // src/components/atoms/ui/drawer.tsx
368
- import * as React7 from "react";
369
- import { Drawer as DrawerPrimitive } from "vaul";
370
- import { jsx as jsx10, jsxs as jsxs3 } from "react/jsx-runtime";
371
- var Drawer = ({
372
- shouldScaleBackground = true,
373
- ...props
374
- }) => /* @__PURE__ */ jsx10(
375
- DrawerPrimitive.Root,
376
- {
377
- shouldScaleBackground,
378
- ...props
379
- }
380
- );
381
- Drawer.displayName = "Drawer";
382
- var DrawerTrigger = DrawerPrimitive.Trigger;
383
- var DrawerPortal = DrawerPrimitive.Portal;
384
- var DrawerClose = DrawerPrimitive.Close;
385
- var DrawerOverlay = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
386
- DrawerPrimitive.Overlay,
387
- {
388
- ref,
389
- className: cn("fixed inset-0 z-50 bg-black/80", className),
390
- ...props
391
- }
392
- ));
393
- DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;
394
- var DrawerContent = React7.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs3(DrawerPortal, { children: [
395
- /* @__PURE__ */ jsx10(DrawerOverlay, {}),
396
- /* @__PURE__ */ jsxs3(
397
- DrawerPrimitive.Content,
398
- {
399
- ref,
400
- className: cn(
401
- "fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border border-border bg-background text-foreground alq--drawer-content",
402
- className
403
- ),
404
- ...props,
405
- children: [
406
- /* @__PURE__ */ jsx10("div", { className: "mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted" }),
407
- children
408
- ]
409
- }
410
- )
411
- ] }));
412
- DrawerContent.displayName = "DrawerContent";
413
- var DrawerHeader = ({
414
- className,
415
- ...props
416
- }) => /* @__PURE__ */ jsx10(
417
- "div",
418
- {
419
- className: cn("grid gap-1.5 p-4 text-center sm:text-left", className, "alq--drawer-header"),
420
- ...props
421
- }
422
- );
423
- DrawerHeader.displayName = "DrawerHeader";
424
- var DrawerFooter = ({
425
- className,
426
- ...props
427
- }) => /* @__PURE__ */ jsx10(
428
- "div",
429
- {
430
- className: cn("mt-auto flex flex-col gap-2 p-4", className, "alq--drawer-footer"),
431
- ...props
432
- }
433
- );
434
- DrawerFooter.displayName = "DrawerFooter";
435
- var DrawerTitle = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
436
- DrawerPrimitive.Title,
437
- {
438
- ref,
439
- className: cn(
440
- "text-lg font-semibold leading-none tracking-tight",
441
- className,
442
- "alq--drawer-title"
443
- ),
444
- ...props
445
- }
446
- ));
447
- DrawerTitle.displayName = DrawerPrimitive.Title.displayName;
448
- var DrawerDescription = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
449
- DrawerPrimitive.Description,
450
- {
451
- ref,
452
- className: cn("text-sm text-muted-foreground", className, "alq--drawer-description"),
453
- ...props
454
- }
455
- ));
456
- DrawerDescription.displayName = DrawerPrimitive.Description.displayName;
457
-
458
- // src/components/atoms/ui/typography/index.tsx
459
- import { forwardRef as forwardRef9 } from "react";
460
- import { jsx as jsx11 } from "react/jsx-runtime";
461
- var Typography = forwardRef9(
462
- ({ as: Component = "p", typeStyle, ...props }, ref) => {
463
- return /* @__PURE__ */ jsx11(
464
- Component,
465
- {
466
- ...props,
467
- className: cn(props.className, `alq--typography-${typeStyle}`),
468
- ref
469
- }
470
- );
471
- }
472
- );
473
- Typography.displayName = "Typography";
474
-
475
- // src/components/atoms/ui/badge.tsx
476
- import { cva as cva2 } from "class-variance-authority";
477
- import { jsx as jsx12 } from "react/jsx-runtime";
478
- var badgeVariants = cva2(
479
- "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
480
- {
481
- variants: {
482
- variant: {
483
- default: "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
484
- secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
485
- destructive: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
486
- outline: "text-foreground"
487
- }
488
- },
489
- defaultVariants: {
490
- variant: "default"
491
- }
492
- }
493
- );
494
- function Badge({ className, variant, ...props }) {
495
- return /* @__PURE__ */ jsx12("div", { className: cn(badgeVariants({ variant }), className, "alq--badge"), ...props });
496
- }
497
-
498
- // src/components/atoms/ui/alert.tsx
499
- import * as React8 from "react";
500
- import { cva as cva3 } from "class-variance-authority";
501
- import { jsx as jsx13 } from "react/jsx-runtime";
502
- var alertVariants = cva3(
503
- "relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",
504
- {
505
- variants: {
506
- variant: {
507
- default: "bg-background text-foreground",
508
- destructive: "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"
509
- }
510
- },
511
- defaultVariants: {
512
- variant: "default"
513
- }
514
- }
515
- );
516
- var Alert = React8.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx13(
517
- "div",
518
- {
519
- ref,
520
- role: "alert",
521
- className: cn(alertVariants({ variant }), className),
522
- ...props
523
- }
524
- ));
525
- Alert.displayName = "Alert";
526
- var AlertTitle = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
527
- "h5",
528
- {
529
- ref,
530
- className: cn("mb-1 font-medium leading-none tracking-tight", className),
531
- ...props
532
- }
533
- ));
534
- AlertTitle.displayName = "AlertTitle";
535
- var AlertDescription = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
536
- "div",
537
- {
538
- ref,
539
- className: cn("text-sm [&_p]:leading-relaxed", className),
540
- ...props
541
- }
542
- ));
543
- AlertDescription.displayName = "AlertDescription";
544
-
545
- // src/components/atoms/ui/label.tsx
546
- import * as React9 from "react";
547
- import * as LabelPrimitive from "@radix-ui/react-label";
548
- import { cva as cva4 } from "class-variance-authority";
549
- import { jsx as jsx14 } from "react/jsx-runtime";
550
- var labelVariants = cva4(
551
- "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
552
- );
553
- var Label2 = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
554
- LabelPrimitive.Root,
555
- {
556
- ref,
557
- className: cn(labelVariants(), className, "alq--label"),
558
- ...props
559
- }
560
- ));
561
- Label2.displayName = LabelPrimitive.Root.displayName;
562
-
563
- // src/components/atoms/ui/checkbox.tsx
564
- import * as React10 from "react";
565
- import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
566
- import { Check as Check2 } from "lucide-react";
567
- import { jsx as jsx15 } from "react/jsx-runtime";
568
- var Checkbox = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(
569
- CheckboxPrimitive.Root,
570
- {
571
- ref,
572
- className: cn(
573
- "peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",
574
- className,
575
- "alq--checkbox"
576
- ),
577
- ...props,
578
- children: /* @__PURE__ */ jsx15(
579
- CheckboxPrimitive.Indicator,
580
- {
581
- className: cn("flex items-center justify-center text-current"),
582
- children: /* @__PURE__ */ jsx15(Check2, { className: "h-4 w-4" })
583
- }
584
- )
585
- }
586
- ));
587
- Checkbox.displayName = CheckboxPrimitive.Root.displayName;
588
-
589
- // src/components/atoms/ui/toggle.tsx
590
- import * as React11 from "react";
591
- import * as TogglePrimitive from "@radix-ui/react-toggle";
592
- import { cva as cva5 } from "class-variance-authority";
593
- import { jsx as jsx16 } from "react/jsx-runtime";
594
- var toggleVariants = cva5(
595
- "inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",
596
- {
597
- variants: {
598
- variant: {
599
- default: "bg-transparent",
600
- outline: "border border-input bg-transparent hover:bg-accent hover:text-accent-foreground"
601
- },
602
- size: {
603
- default: "h-10 px-3",
604
- sm: "h-9 px-2.5",
605
- lg: "h-11 px-5"
606
- }
607
- },
608
- defaultVariants: {
609
- variant: "default",
610
- size: "default"
611
- }
612
- }
613
- );
614
- var Toggle = React11.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx16(
615
- TogglePrimitive.Root,
616
- {
617
- ref,
618
- className: cn(toggleVariants({ variant, size, className }), "alq--toggle"),
619
- ...props
620
- }
621
- ));
622
- Toggle.displayName = TogglePrimitive.Root.displayName;
623
-
624
- // src/components/atoms/ui/slider.tsx
625
- import * as React12 from "react";
626
- import * as SliderPrimitive from "@radix-ui/react-slider";
627
- import { jsx as jsx17, jsxs as jsxs4 } from "react/jsx-runtime";
628
- var Slider = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs4(
629
- SliderPrimitive.Root,
630
- {
631
- ref,
632
- className: cn(
633
- "relative flex w-44 touch-none select-none items-center",
634
- className,
635
- "alq--slider"
636
- ),
637
- ...props,
638
- children: [
639
- /* @__PURE__ */ jsx17(SliderPrimitive.Track, { className: "relative h-2 w-44 grow overflow-hidden rounded-full bg-primary", children: /* @__PURE__ */ jsx17(SliderPrimitive.Range, { className: "absolute h-full bg-secondary" }) }),
640
- /* @__PURE__ */ jsx17(SliderPrimitive.Thumb, { className: "block h-5 w-5 rounded-full border-2 border-gray bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50" })
641
- ]
642
- }
643
- ));
644
- Slider.displayName = SliderPrimitive.Root.displayName;
645
-
646
- // src/components/atoms/ui/switch.tsx
647
- import * as React13 from "react";
648
- import * as SwitchPrimitives from "@radix-ui/react-switch";
649
- import { jsx as jsx18 } from "react/jsx-runtime";
650
- var Switch = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
651
- SwitchPrimitives.Root,
652
- {
653
- className: cn(
654
- "peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
655
- className,
656
- "alq--switch"
657
- ),
658
- ...props,
659
- ref,
660
- children: /* @__PURE__ */ jsx18(
661
- SwitchPrimitives.Thumb,
662
- {
663
- className: cn(
664
- "pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0"
665
- )
666
- }
667
- )
668
- }
669
- ));
670
- Switch.displayName = SwitchPrimitives.Root.displayName;
671
-
672
- // src/components/atoms/ui/tabs.tsx
673
- import * as React14 from "react";
674
- import * as TabsPrimitive from "@radix-ui/react-tabs";
675
- import { jsx as jsx19 } from "react/jsx-runtime";
676
- var Tabs = TabsPrimitive.Root;
677
- var TabsList = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
678
- TabsPrimitive.List,
679
- {
680
- ref,
681
- className: cn(
682
- "inline-flex h-10 items-center justify-center rounded-md p-1 text-muted-foreground",
683
- className,
684
- "alq--tabs"
685
- ),
686
- ...props
687
- }
688
- ));
689
- TabsList.displayName = TabsPrimitive.List.displayName;
690
- var TabsTrigger = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
691
- TabsPrimitive.Trigger,
692
- {
693
- ref,
694
- className: cn(
695
- "inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:border-b-2 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:border-b-2 data-[state=active]:text-foreground data-[state=active]:shadow-sm",
696
- className
697
- ),
698
- ...props
699
- }
700
- ));
701
- TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
702
- var TabsContent = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(
703
- TabsPrimitive.Content,
704
- {
705
- ref,
706
- className: cn(
707
- "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
708
- className
709
- ),
710
- ...props
711
- }
712
- ));
713
- TabsContent.displayName = TabsPrimitive.Content.displayName;
714
-
715
- // src/components/atoms/ui/aspect-ratio.tsx
716
- import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
717
- var AspectRatio = AspectRatioPrimitive.Root;
718
-
719
- // src/components/atoms/ui/table.tsx
720
- import * as React15 from "react";
721
- import { jsx as jsx20 } from "react/jsx-runtime";
722
- var Table = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx20(
723
- "table",
724
- {
725
- ref,
726
- className: cn("w-full caption-bottom text-sm text-foreground bg-background", className, "alq--table"),
727
- ...props
728
- }
729
- ) }));
730
- Table.displayName = "Table";
731
- var TableHeader = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20("thead", { ref, className: cn("[&_tr]:border-b border-border bg-muted", className, "alq--table-header"), ...props }));
732
- TableHeader.displayName = "TableHeader";
733
- var TableBody = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
734
- "tbody",
735
- {
736
- ref,
737
- className: cn("[&_tr:last-child]:border-0 [&_tr]:border-b border-border", className, "alq--table-body"),
738
- ...props
739
- }
740
- ));
741
- TableBody.displayName = "TableBody";
742
- var TableFooter = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
743
- "tfoot",
744
- {
745
- ref,
746
- className: cn(
747
- "border-t border-border bg-muted/50 font-medium [&>tr]:last:border-b-0",
748
- className,
749
- "alq--table-footer"
750
- ),
751
- ...props
752
- }
753
- ));
754
- TableFooter.displayName = "TableFooter";
755
- var TableRow = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
756
- "tr",
757
- {
758
- ref,
759
- className: cn(
760
- "border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
761
- className
762
- ),
763
- ...props
764
- }
765
- ));
766
- TableRow.displayName = "TableRow";
767
- var TableHead = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
768
- "th",
769
- {
770
- ref,
771
- className: cn(
772
- "h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",
773
- className
774
- ),
775
- ...props
776
- }
777
- ));
778
- TableHead.displayName = "TableHead";
779
- var TableCell = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
780
- "td",
781
- {
782
- ref,
783
- className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className),
784
- ...props
785
- }
786
- ));
787
- TableCell.displayName = "TableCell";
788
- var TableCaption = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
789
- "caption",
790
- {
791
- ref,
792
- className: cn("mt-4 text-sm text-muted-foreground", className),
793
- ...props
794
- }
795
- ));
796
- TableCaption.displayName = "TableCaption";
797
-
798
- // src/components/atoms/ui/breadcrumb.tsx
799
- import * as React16 from "react";
800
- import { Slot as Slot2 } from "@radix-ui/react-slot";
801
- import { ChevronRight, MoreHorizontal } from "lucide-react";
802
- import { jsx as jsx21, jsxs as jsxs5 } from "react/jsx-runtime";
803
- var Breadcrumb = React16.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx21("nav", { ref, "aria-label": "breadcrumb", ...props }));
804
- Breadcrumb.displayName = "Breadcrumb";
805
- var BreadcrumbList = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
806
- "ol",
807
- {
808
- ref,
809
- className: cn(
810
- "flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",
811
- className
812
- ),
813
- ...props
814
- }
815
- ));
816
- BreadcrumbList.displayName = "BreadcrumbList";
817
- var BreadcrumbItem = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
818
- "li",
819
- {
820
- ref,
821
- className: cn("inline-flex items-center gap-1.5", className),
822
- ...props
823
- }
824
- ));
825
- BreadcrumbItem.displayName = "BreadcrumbItem";
826
- var BreadcrumbLink = React16.forwardRef(({ asChild, className, ...props }, ref) => {
827
- const Comp = asChild ? Slot2 : "a";
828
- return /* @__PURE__ */ jsx21(
829
- Comp,
830
- {
831
- ref,
832
- className: cn("transition-colors hover:text-foreground", className),
833
- ...props
834
- }
835
- );
836
- });
837
- BreadcrumbLink.displayName = "BreadcrumbLink";
838
- var BreadcrumbPage = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
839
- "span",
840
- {
841
- ref,
842
- role: "link",
843
- "aria-disabled": "true",
844
- "aria-current": "page",
845
- className: cn("font-normal text-foreground", className),
846
- ...props
847
- }
848
- ));
849
- BreadcrumbPage.displayName = "BreadcrumbPage";
850
- var BreadcrumbSeparator = ({
851
- children,
852
- className,
853
- ...props
854
- }) => /* @__PURE__ */ jsx21(
855
- "li",
856
- {
857
- role: "presentation",
858
- "aria-hidden": "true",
859
- className: cn("[&>svg]:w-3.5 [&>svg]:h-3.5", className),
860
- ...props,
861
- children: children ?? /* @__PURE__ */ jsx21(ChevronRight, {})
862
- }
863
- );
864
- BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
865
- var BreadcrumbEllipsis = ({
866
- className,
867
- ...props
868
- }) => /* @__PURE__ */ jsxs5(
869
- "span",
870
- {
871
- role: "presentation",
872
- "aria-hidden": "true",
873
- className: cn("flex h-9 w-9 items-center justify-center", className),
874
- ...props,
875
- children: [
876
- /* @__PURE__ */ jsx21(MoreHorizontal, { className: "h-4 w-4" }),
877
- /* @__PURE__ */ jsx21("span", { className: "sr-only", children: "More" })
878
- ]
879
- }
880
- );
881
- BreadcrumbEllipsis.displayName = "BreadcrumbElipssis";
882
-
883
- // src/components/molecules/alert-dialog.tsx
884
- import * as React17 from "react";
885
- import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
886
- import { jsx as jsx22, jsxs as jsxs6 } from "react/jsx-runtime";
887
- var AlertDialog = AlertDialogPrimitive.Root;
888
- var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
889
- var AlertDialogPortal = AlertDialogPrimitive.Portal;
890
- var AlertDialogOverlay = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
891
- AlertDialogPrimitive.Overlay,
892
- {
893
- className: cn(
894
- "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
895
- className
896
- ),
897
- ...props,
898
- ref
899
- }
900
- ));
901
- AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
902
- var AlertDialogContent = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs6(AlertDialogPortal, { children: [
903
- /* @__PURE__ */ jsx22(AlertDialogOverlay, {}),
904
- /* @__PURE__ */ jsx22(
905
- AlertDialogPrimitive.Content,
906
- {
907
- ref,
908
- className: cn(
909
- "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
910
- className
911
- ),
912
- ...props
913
- }
914
- )
915
- ] }));
916
- AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
917
- var AlertDialogHeader = ({
918
- className,
919
- ...props
920
- }) => /* @__PURE__ */ jsx22(
921
- "div",
922
- {
923
- className: cn(
924
- "flex flex-col space-y-2 text-center sm:text-left",
925
- className
926
- ),
927
- ...props
928
- }
929
- );
930
- AlertDialogHeader.displayName = "AlertDialogHeader";
931
- var AlertDialogFooter = ({
932
- className,
933
- ...props
934
- }) => /* @__PURE__ */ jsx22(
935
- "div",
936
- {
937
- className: cn(
938
- "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
939
- className
940
- ),
941
- ...props
942
- }
943
- );
944
- AlertDialogFooter.displayName = "AlertDialogFooter";
945
- var AlertDialogTitle = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
946
- AlertDialogPrimitive.Title,
947
- {
948
- ref,
949
- className: cn("text-lg font-semibold", className),
950
- ...props
951
- }
952
- ));
953
- AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
954
- var AlertDialogDescription = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
955
- AlertDialogPrimitive.Description,
956
- {
957
- ref,
958
- className: cn("text-sm text-muted-foreground", className),
959
- ...props
960
- }
961
- ));
962
- AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
963
- var AlertDialogAction = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
964
- AlertDialogPrimitive.Action,
965
- {
966
- ref,
967
- className: cn(buttonVariants(), className),
968
- ...props
969
- }
970
- ));
971
- AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
972
- var AlertDialogCancel = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
973
- AlertDialogPrimitive.Cancel,
974
- {
975
- ref,
976
- className: cn(
977
- buttonVariants({ variant: "outline" }),
978
- "mt-2 sm:mt-0",
979
- className
980
- ),
981
- ...props
982
- }
983
- ));
984
- AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
985
-
986
- // src/components/atoms/ui/popover.tsx
987
- import * as React18 from "react";
988
- import * as PopoverPrimitive from "@radix-ui/react-popover";
989
- import { jsx as jsx23 } from "react/jsx-runtime";
990
- var Popover = PopoverPrimitive.Root;
991
- var PopoverTrigger = PopoverPrimitive.Trigger;
992
- var PopoverContent = React18.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx23(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx23(
993
- PopoverPrimitive.Content,
994
- {
995
- ref,
996
- align,
997
- sideOffset,
998
- className: cn(
999
- "z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
1000
- className
1001
- ),
1002
- ...props
1003
- }
1004
- ) }));
1005
- PopoverContent.displayName = PopoverPrimitive.Content.displayName;
1006
-
1007
- // src/components/atoms/ui/command.tsx
1008
- import * as React20 from "react";
1009
- import { Command as CommandPrimitive } from "cmdk";
1010
- import { Search } from "lucide-react";
1011
-
1012
- // src/components/atoms/ui/dialog.tsx
1013
- import * as React19 from "react";
1014
- import * as DialogPrimitive from "@radix-ui/react-dialog";
1015
- import { X } from "lucide-react";
1016
- import { jsx as jsx24, jsxs as jsxs7 } from "react/jsx-runtime";
1017
- var Dialog = DialogPrimitive.Root;
1018
- var DialogTrigger = DialogPrimitive.Trigger;
1019
- var DialogPortal = DialogPrimitive.Portal;
1020
- var DialogClose = DialogPrimitive.Close;
1021
- var DialogOverlay = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(
1022
- DialogPrimitive.Overlay,
1023
- {
1024
- ref,
1025
- className: cn(
1026
- "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
1027
- className
1028
- ),
1029
- ...props
1030
- }
1031
- ));
1032
- DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
1033
- var DialogContent = React19.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs7(DialogPortal, { children: [
1034
- /* @__PURE__ */ jsx24(DialogOverlay, {}),
1035
- /* @__PURE__ */ jsxs7(
1036
- DialogPrimitive.Content,
1037
- {
1038
- ref,
1039
- className: cn(
1040
- "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
1041
- className,
1042
- "alq--dialog-content"
1043
- ),
1044
- ...props,
1045
- children: [
1046
- children,
1047
- /* @__PURE__ */ jsxs7(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
1048
- /* @__PURE__ */ jsx24(X, { className: "h-4 w-4" }),
1049
- /* @__PURE__ */ jsx24("span", { className: "sr-only", children: "Close" })
1050
- ] })
1051
- ]
1052
- }
1053
- )
1054
- ] }));
1055
- DialogContent.displayName = DialogPrimitive.Content.displayName;
1056
- var DialogHeader = ({
1057
- className,
1058
- ...props
1059
- }) => /* @__PURE__ */ jsx24(
1060
- "div",
1061
- {
1062
- className: cn(
1063
- "flex flex-col space-y-1.5 text-center sm:text-left text-foreground",
1064
- className,
1065
- "alq--dialog-header"
1066
- ),
1067
- ...props
1068
- }
1069
- );
1070
- DialogHeader.displayName = "DialogHeader";
1071
- var DialogFooter = ({
1072
- className,
1073
- ...props
1074
- }) => /* @__PURE__ */ jsx24(
1075
- "div",
1076
- {
1077
- className: cn(
1078
- "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
1079
- className
1080
- ),
1081
- ...props
1082
- }
1083
- );
1084
- DialogFooter.displayName = "DialogFooter";
1085
- var DialogTitle = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(
1086
- DialogPrimitive.Title,
1087
- {
1088
- ref,
1089
- className: cn(
1090
- "text-lg font-semibold leading-none tracking-tight text-foreground",
1091
- className,
1092
- "alq--dialog-title"
1093
- ),
1094
- ...props
1095
- }
1096
- ));
1097
- DialogTitle.displayName = DialogPrimitive.Title.displayName;
1098
- var DialogDescription = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(
1099
- DialogPrimitive.Description,
1100
- {
1101
- ref,
1102
- className: cn("text-sm text-muted-foreground", className),
1103
- ...props
1104
- }
1105
- ));
1106
- DialogDescription.displayName = DialogPrimitive.Description.displayName;
1107
-
1108
- // src/components/atoms/ui/command.tsx
1109
- import { jsx as jsx25, jsxs as jsxs8 } from "react/jsx-runtime";
1110
- var Command = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(
1111
- CommandPrimitive,
1112
- {
1113
- ref,
1114
- className: cn(
1115
- "flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",
1116
- className
1117
- ),
1118
- ...props
1119
- }
1120
- ));
1121
- Command.displayName = CommandPrimitive.displayName;
1122
- var CommandDialog = ({ children, ...props }) => {
1123
- return /* @__PURE__ */ jsx25(Dialog, { ...props, children: /* @__PURE__ */ jsx25(DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ jsx25(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) }) });
1124
- };
1125
- var CommandInput = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs8("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
1126
- /* @__PURE__ */ jsx25(Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
1127
- /* @__PURE__ */ jsx25(
1128
- CommandPrimitive.Input,
1129
- {
1130
- ref,
1131
- className: cn(
1132
- "flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
1133
- className
1134
- ),
1135
- ...props
1136
- }
1137
- )
1138
- ] }));
1139
- CommandInput.displayName = CommandPrimitive.Input.displayName;
1140
- var CommandList = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(
1141
- CommandPrimitive.List,
1142
- {
1143
- ref,
1144
- className: cn("max-h-[300px] overflow-y-auto overflow-x-hidden", className),
1145
- ...props
1146
- }
1147
- ));
1148
- CommandList.displayName = CommandPrimitive.List.displayName;
1149
- var CommandEmpty = React20.forwardRef((props, ref) => /* @__PURE__ */ jsx25(
1150
- CommandPrimitive.Empty,
1151
- {
1152
- ref,
1153
- className: "py-6 text-center text-sm",
1154
- ...props
1155
- }
1156
- ));
1157
- CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
1158
- var CommandGroup = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(
1159
- CommandPrimitive.Group,
1160
- {
1161
- ref,
1162
- className: cn(
1163
- "overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",
1164
- className
1165
- ),
1166
- ...props
1167
- }
1168
- ));
1169
- CommandGroup.displayName = CommandPrimitive.Group.displayName;
1170
- var CommandSeparator = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(
1171
- CommandPrimitive.Separator,
1172
- {
1173
- ref,
1174
- className: cn("-mx-1 h-px bg-border", className),
1175
- ...props
1176
- }
1177
- ));
1178
- CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
1179
- var CommandItem = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(
1180
- CommandPrimitive.Item,
1181
- {
1182
- ref,
1183
- className: cn(
1184
- "relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
1185
- className
1186
- ),
1187
- ...props
1188
- }
1189
- ));
1190
- CommandItem.displayName = CommandPrimitive.Item.displayName;
1191
- var CommandShortcut = ({
1192
- className,
1193
- ...props
1194
- }) => {
1195
- return /* @__PURE__ */ jsx25(
1196
- "span",
1197
- {
1198
- className: cn(
1199
- "ml-auto text-xs tracking-widest text-muted-foreground",
1200
- className
1201
- ),
1202
- ...props
1203
- }
1204
- );
1205
- };
1206
- CommandShortcut.displayName = "CommandShortcut";
1207
-
1208
- // src/components/atoms/ui/toast.tsx
1209
- import * as React21 from "react";
1210
- import * as ToastPrimitives from "@radix-ui/react-toast";
1211
- import { cva as cva6 } from "class-variance-authority";
1212
- import { X as X2 } from "lucide-react";
1213
- import { jsx as jsx26 } from "react/jsx-runtime";
1214
- var ToastProvider = ToastPrimitives.Provider;
1215
- var ToastViewport = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
1216
- ToastPrimitives.Viewport,
1217
- {
1218
- ref,
1219
- className: cn(
1220
- "fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",
1221
- className
1222
- ),
1223
- ...props
1224
- }
1225
- ));
1226
- ToastViewport.displayName = ToastPrimitives.Viewport.displayName;
1227
- var toastVariants = cva6(
1228
- "group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",
1229
- {
1230
- variants: {
1231
- variant: {
1232
- default: "border bg-background text-foreground",
1233
- destructive: "destructive group border-destructive bg-destructive text-destructive-foreground"
1234
- }
1235
- },
1236
- defaultVariants: {
1237
- variant: "default"
1238
- }
1239
- }
1240
- );
1241
- var Toast = React21.forwardRef(({ className, variant, ...props }, ref) => {
1242
- return /* @__PURE__ */ jsx26(
1243
- ToastPrimitives.Root,
1244
- {
1245
- ref,
1246
- className: cn(toastVariants({ variant }), className),
1247
- ...props
1248
- }
1249
- );
1250
- });
1251
- Toast.displayName = ToastPrimitives.Root.displayName;
1252
- var ToastAction = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
1253
- ToastPrimitives.Action,
1254
- {
1255
- ref,
1256
- className: cn(
1257
- "inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",
1258
- className
1259
- ),
1260
- ...props
1261
- }
1262
- ));
1263
- ToastAction.displayName = ToastPrimitives.Action.displayName;
1264
- var ToastClose = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
1265
- ToastPrimitives.Close,
1266
- {
1267
- ref,
1268
- className: cn(
1269
- "absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",
1270
- className
1271
- ),
1272
- "toast-close": "",
1273
- ...props,
1274
- children: /* @__PURE__ */ jsx26(X2, { className: "h-4 w-4" })
1275
- }
1276
- ));
1277
- ToastClose.displayName = ToastPrimitives.Close.displayName;
1278
- var ToastTitle = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
1279
- ToastPrimitives.Title,
1280
- {
1281
- ref,
1282
- className: cn("text-sm font-semibold", className),
1283
- ...props
1284
- }
1285
- ));
1286
- ToastTitle.displayName = ToastPrimitives.Title.displayName;
1287
- var ToastDescription = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(
1288
- ToastPrimitives.Description,
1289
- {
1290
- ref,
1291
- className: cn("text-sm opacity-90", className),
1292
- ...props
1293
- }
1294
- ));
1295
- ToastDescription.displayName = ToastPrimitives.Description.displayName;
1296
-
1297
- // src/components/atoms/ui/loader.tsx
1298
- import * as React22 from "react";
1299
- import { cva as cva7 } from "class-variance-authority";
1300
- import { Loader2 } from "lucide-react";
1301
- import { jsx as jsx27 } from "react/jsx-runtime";
1302
- var loaderVariants = cva7(
1303
- "flex justify-center items-center w-full",
1304
- {
1305
- variants: {
1306
- size: {
1307
- small: "h-6 w-6",
1308
- medium: "h-8 w-8",
1309
- large: "h-12 w-12",
1310
- xl: "h-24 w-24"
1311
- },
1312
- colorVariant: {
1313
- default: "text-primary",
1314
- primary: "text-primary",
1315
- secondary: "text-secondary",
1316
- destructive: "text-destructive"
1317
- }
1318
- },
1319
- defaultVariants: {
1320
- size: "medium",
1321
- colorVariant: "default"
1322
- }
1323
- }
1324
- );
1325
- var Loader = React22.forwardRef(
1326
- ({ className, size, colorVariant, ...props }, ref) => /* @__PURE__ */ jsx27(
1327
- "div",
1328
- {
1329
- ref,
1330
- className: cn(loaderVariants({ size, colorVariant }), "flex justify-center items-center h-full w-full", className),
1331
- ...props,
1332
- children: /* @__PURE__ */ jsx27(Loader2, { className: "animate-spin" })
1333
- }
1334
- )
1335
- );
1336
- Loader.displayName = "Loader";
1337
-
1338
- // src/components/atoms/ui/separator.tsx
1339
- import * as React23 from "react";
1340
- import * as SeparatorPrimitive from "@radix-ui/react-separator";
1341
- import { jsx as jsx28 } from "react/jsx-runtime";
1342
- var Separator2 = React23.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx28(
1343
- SeparatorPrimitive.Root,
1344
- {
1345
- ref,
1346
- decorative,
1347
- orientation,
1348
- className: cn(
1349
- "shrink-0 bg-border",
1350
- orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
1351
- className,
1352
- "alq--separator"
1353
- ),
1354
- ...props
1355
- }
1356
- ));
1357
- Separator2.displayName = SeparatorPrimitive.Root.displayName;
1358
-
1359
- // src/components/hooks/use-toast.ts
1360
- import * as React24 from "react";
1361
- var TOAST_LIMIT = 1;
1362
- var TOAST_REMOVE_DELAY = 1e6;
1363
- var count = 0;
1364
- function genId() {
1365
- count = (count + 1) % Number.MAX_SAFE_INTEGER;
1366
- return count.toString();
1367
- }
1368
- var toastTimeouts = /* @__PURE__ */ new Map();
1369
- var addToRemoveQueue = (toastId) => {
1370
- if (toastTimeouts.has(toastId)) {
1371
- return;
1372
- }
1373
- const timeout = setTimeout(() => {
1374
- toastTimeouts.delete(toastId);
1375
- dispatch({
1376
- type: "REMOVE_TOAST",
1377
- toastId
1378
- });
1379
- }, TOAST_REMOVE_DELAY);
1380
- toastTimeouts.set(toastId, timeout);
1381
- };
1382
- var reducer = (state, action) => {
1383
- switch (action.type) {
1384
- case "ADD_TOAST":
1385
- return {
1386
- ...state,
1387
- toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT)
1388
- };
1389
- case "UPDATE_TOAST":
1390
- return {
1391
- ...state,
1392
- toasts: state.toasts.map(
1393
- (t) => t.id === action.toast.id ? { ...t, ...action.toast } : t
1394
- )
1395
- };
1396
- case "DISMISS_TOAST": {
1397
- const { toastId } = action;
1398
- if (toastId) {
1399
- addToRemoveQueue(toastId);
1400
- } else {
1401
- state.toasts.forEach((toast2) => {
1402
- addToRemoveQueue(toast2.id);
1403
- });
1404
- }
1405
- return {
1406
- ...state,
1407
- toasts: state.toasts.map(
1408
- (t) => t.id === toastId || toastId === void 0 ? {
1409
- ...t,
1410
- open: false
1411
- } : t
1412
- )
1413
- };
1414
- }
1415
- case "REMOVE_TOAST":
1416
- if (action.toastId === void 0) {
1417
- return {
1418
- ...state,
1419
- toasts: []
1420
- };
1421
- }
1422
- return {
1423
- ...state,
1424
- toasts: state.toasts.filter((t) => t.id !== action.toastId)
1425
- };
1426
- }
1427
- };
1428
- var listeners = [];
1429
- var memoryState = { toasts: [] };
1430
- function dispatch(action) {
1431
- memoryState = reducer(memoryState, action);
1432
- listeners.forEach((listener) => {
1433
- listener(memoryState);
1434
- });
1435
- }
1436
- function toast({ ...props }) {
1437
- const id = genId();
1438
- const update = (props2) => dispatch({
1439
- type: "UPDATE_TOAST",
1440
- toast: { ...props2, id }
1441
- });
1442
- const dismiss = () => dispatch({ type: "DISMISS_TOAST", toastId: id });
1443
- dispatch({
1444
- type: "ADD_TOAST",
1445
- toast: {
1446
- ...props,
1447
- id,
1448
- open: true,
1449
- onOpenChange: (open) => {
1450
- if (!open) dismiss();
1451
- }
1452
- }
1453
- });
1454
- return {
1455
- id,
1456
- dismiss,
1457
- update
1458
- };
1459
- }
1460
- function useToast() {
1461
- const [state, setState] = React24.useState(memoryState);
1462
- React24.useEffect(() => {
1463
- listeners.push(setState);
1464
- return () => {
1465
- const index = listeners.indexOf(setState);
1466
- if (index > -1) {
1467
- listeners.splice(index, 1);
1468
- }
1469
- };
1470
- }, [state]);
1471
- return {
1472
- ...state,
1473
- toast,
1474
- dismiss: (toastId) => dispatch({ type: "DISMISS_TOAST", toastId })
1475
- };
1476
- }
1477
-
1478
- // src/components/atoms/ui/toaster.tsx
1479
- import { jsx as jsx29, jsxs as jsxs9 } from "react/jsx-runtime";
1480
- function Toaster() {
1481
- const { toasts } = useToast();
1482
- return /* @__PURE__ */ jsxs9(ToastProvider, { children: [
1483
- toasts.map(function({ id, title, description, action, ...props }) {
1484
- return /* @__PURE__ */ jsxs9(Toast, { ...props, children: [
1485
- /* @__PURE__ */ jsxs9("div", { className: "grid gap-1", children: [
1486
- title && /* @__PURE__ */ jsx29(ToastTitle, { children: title }),
1487
- description && /* @__PURE__ */ jsx29(ToastDescription, { children: description })
1488
- ] }),
1489
- action,
1490
- /* @__PURE__ */ jsx29(ToastClose, {})
1491
- ] }, id);
1492
- }),
1493
- /* @__PURE__ */ jsx29(ToastViewport, {})
1494
- ] });
1495
- }
1496
-
1497
- // src/components/atoms/ui/think-indicator.tsx
1498
- import * as React25 from "react";
1499
- import { useState as useState2, useEffect as useEffect2 } from "react";
1500
- import { cva as cva8 } from "class-variance-authority";
1501
- import { jsx as jsx30, jsxs as jsxs10 } from "react/jsx-runtime";
1502
- var thinkIndicatorVariants = cva8(
1503
- "flex items-center gap-3",
1504
- {
1505
- variants: {
1506
- variant: {
1507
- default: "text-muted-foreground",
1508
- primary: "text-primary",
1509
- secondary: "text-secondary"
1510
- },
1511
- size: {
1512
- default: "gap-3",
1513
- sm: "gap-2",
1514
- lg: "gap-4"
1515
- }
1516
- },
1517
- defaultVariants: {
1518
- variant: "default",
1519
- size: "default"
1520
- }
1521
- }
1522
- );
1523
- var ThinkIndicator = React25.forwardRef(
1524
- ({
1525
- className,
1526
- variant,
1527
- size,
1528
- thoughts = [
1529
- "Analyzing your request...",
1530
- "Processing information...",
1531
- "Formulating response..."
1532
- ],
1533
- interval = 5e3,
1534
- loader,
1535
- ...props
1536
- }, ref) => {
1537
- const [currentThoughtIndex, setCurrentThoughtIndex] = useState2(0);
1538
- const [isAnimating, setIsAnimating] = useState2(false);
1539
- useEffect2(() => {
1540
- const timer = setInterval(() => {
1541
- setIsAnimating(true);
1542
- setTimeout(() => {
1543
- setCurrentThoughtIndex((prev) => {
1544
- return prev < thoughts.length - 1 ? prev + 1 : prev;
1545
- });
1546
- setIsAnimating(false);
1547
- }, 300);
1548
- }, interval);
1549
- if (currentThoughtIndex === thoughts.length - 1) {
1550
- clearInterval(timer);
1551
- }
1552
- return () => clearInterval(timer);
1553
- }, [thoughts, interval, currentThoughtIndex]);
1554
- return /* @__PURE__ */ jsxs10(
1555
- "div",
1556
- {
1557
- ref,
1558
- className: cn(thinkIndicatorVariants({ variant, size }), className, "alq--think-indicator"),
1559
- ...props,
1560
- children: [
1561
- loader || /* @__PURE__ */ jsx30(
1562
- Loader,
1563
- {
1564
- className: cn(
1565
- size === "sm" ? "h-3 w-3" : size === "lg" ? "h-5 w-5" : "h-4 w-4"
1566
- )
1567
- }
1568
- ),
1569
- /* @__PURE__ */ jsx30(
1570
- "div",
1571
- {
1572
- className: cn(
1573
- "alq--think-indicator-text",
1574
- "transition-all duration-300",
1575
- isAnimating ? "opacity-0 -translate-y-2" : "opacity-100 translate-y-0"
1576
- ),
1577
- children: thoughts[currentThoughtIndex]
1578
- }
1579
- )
1580
- ]
1581
- }
1582
- );
1583
- }
1584
- );
1585
- ThinkIndicator.displayName = "ThinkIndicator";
1586
- export {
1587
- Alert,
1588
- AlertDescription,
1589
- AlertDialog,
1590
- AlertDialogAction,
1591
- AlertDialogCancel,
1592
- AlertDialogContent,
1593
- AlertDialogDescription,
1594
- AlertDialogFooter,
1595
- AlertDialogHeader,
1596
- AlertDialogOverlay,
1597
- AlertDialogPortal,
1598
- AlertDialogTitle,
1599
- AlertDialogTrigger,
1600
- AlertTitle,
1601
- AspectRatio,
1602
- Avatar,
1603
- AvatarFallback,
1604
- AvatarImage,
1605
- Badge,
1606
- Breadcrumb,
1607
- BreadcrumbEllipsis,
1608
- BreadcrumbItem,
1609
- BreadcrumbLink,
1610
- BreadcrumbList,
1611
- BreadcrumbPage,
1612
- BreadcrumbSeparator,
1613
- Button,
1614
- Card,
1615
- CardContent,
1616
- CardDescription,
1617
- CardFooter,
1618
- CardHeader,
1619
- CardTitle,
1620
- Checkbox,
1621
- Command,
1622
- CommandDialog,
1623
- CommandEmpty,
1624
- CommandGroup,
1625
- CommandInput,
1626
- CommandItem,
1627
- CommandList,
1628
- CommandSeparator,
1629
- CommandShortcut,
1630
- Dialog,
1631
- DialogClose,
1632
- DialogContent,
1633
- DialogDescription,
1634
- DialogFooter,
1635
- DialogHeader,
1636
- DialogOverlay,
1637
- DialogPortal,
1638
- DialogTitle,
1639
- DialogTrigger,
1640
- Drawer,
1641
- DrawerClose,
1642
- DrawerContent,
1643
- DrawerDescription,
1644
- DrawerFooter,
1645
- DrawerHeader,
1646
- DrawerOverlay,
1647
- DrawerPortal,
1648
- DrawerTitle,
1649
- DrawerTrigger,
1650
- Input,
1651
- Label2 as Label,
1652
- Loader,
1653
- Popover,
1654
- PopoverContent,
1655
- PopoverTrigger,
1656
- RichText,
1657
- ScrollArea,
1658
- ScrollBar,
1659
- Select,
1660
- SelectContent,
1661
- SelectGroup,
1662
- SelectItem,
1663
- SelectLabel,
1664
- SelectScrollDownButton,
1665
- SelectScrollUpButton,
1666
- SelectSeparator,
1667
- SelectTrigger,
1668
- SelectValue,
1669
- Separator2 as Separator,
1670
- Skeleton,
1671
- Slider,
1672
- Switch,
1673
- Table,
1674
- TableBody,
1675
- TableCaption,
1676
- TableCell,
1677
- TableFooter,
1678
- TableHead,
1679
- TableHeader,
1680
- TableRow,
1681
- Tabs,
1682
- TabsContent,
1683
- TabsList,
1684
- TabsTrigger,
1685
- Textarea,
1686
- ThinkIndicator,
1687
- Toast,
1688
- ToastAction,
1689
- ToastClose,
1690
- ToastDescription,
1691
- ToastProvider,
1692
- ToastTitle,
1693
- ToastViewport,
1694
- Toaster,
1695
- Toggle,
1696
- Typography,
1697
- badgeVariants,
1698
- buttonVariants,
1699
- thinkIndicatorVariants,
1700
- toggleVariants
1701
- };
1702
- //# sourceMappingURL=index.mjs.map