hazo_chat 1.1.0 → 2.0.2

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 (135) hide show
  1. package/README.md +161 -152
  2. package/SETUP_CHECKLIST.md +191 -587
  3. package/package.json +17 -7
  4. package/dist/components/hazo_chat/hazo_chat.d.ts +0 -16
  5. package/dist/components/hazo_chat/hazo_chat.d.ts.map +0 -1
  6. package/dist/components/hazo_chat/hazo_chat.js +0 -155
  7. package/dist/components/hazo_chat/hazo_chat.js.map +0 -1
  8. package/dist/components/hazo_chat/hazo_chat_attachment_preview.d.ts +0 -17
  9. package/dist/components/hazo_chat/hazo_chat_attachment_preview.d.ts.map +0 -1
  10. package/dist/components/hazo_chat/hazo_chat_attachment_preview.js +0 -60
  11. package/dist/components/hazo_chat/hazo_chat_attachment_preview.js.map +0 -1
  12. package/dist/components/hazo_chat/hazo_chat_context.d.ts +0 -36
  13. package/dist/components/hazo_chat/hazo_chat_context.d.ts.map +0 -1
  14. package/dist/components/hazo_chat/hazo_chat_context.js +0 -249
  15. package/dist/components/hazo_chat/hazo_chat_context.js.map +0 -1
  16. package/dist/components/hazo_chat/hazo_chat_document_viewer.d.ts +0 -15
  17. package/dist/components/hazo_chat/hazo_chat_document_viewer.d.ts.map +0 -1
  18. package/dist/components/hazo_chat/hazo_chat_document_viewer.js +0 -111
  19. package/dist/components/hazo_chat/hazo_chat_document_viewer.js.map +0 -1
  20. package/dist/components/hazo_chat/hazo_chat_header.d.ts +0 -16
  21. package/dist/components/hazo_chat/hazo_chat_header.d.ts.map +0 -1
  22. package/dist/components/hazo_chat/hazo_chat_header.js +0 -24
  23. package/dist/components/hazo_chat/hazo_chat_header.js.map +0 -1
  24. package/dist/components/hazo_chat/hazo_chat_input.d.ts +0 -18
  25. package/dist/components/hazo_chat/hazo_chat_input.d.ts.map +0 -1
  26. package/dist/components/hazo_chat/hazo_chat_input.js +0 -134
  27. package/dist/components/hazo_chat/hazo_chat_input.js.map +0 -1
  28. package/dist/components/hazo_chat/hazo_chat_messages.d.ts +0 -17
  29. package/dist/components/hazo_chat/hazo_chat_messages.d.ts.map +0 -1
  30. package/dist/components/hazo_chat/hazo_chat_messages.js +0 -109
  31. package/dist/components/hazo_chat/hazo_chat_messages.js.map +0 -1
  32. package/dist/components/hazo_chat/hazo_chat_reference_list.d.ts +0 -16
  33. package/dist/components/hazo_chat/hazo_chat_reference_list.d.ts.map +0 -1
  34. package/dist/components/hazo_chat/hazo_chat_reference_list.js +0 -59
  35. package/dist/components/hazo_chat/hazo_chat_reference_list.js.map +0 -1
  36. package/dist/components/hazo_chat/hazo_chat_sidebar.d.ts +0 -18
  37. package/dist/components/hazo_chat/hazo_chat_sidebar.d.ts.map +0 -1
  38. package/dist/components/hazo_chat/hazo_chat_sidebar.js +0 -72
  39. package/dist/components/hazo_chat/hazo_chat_sidebar.js.map +0 -1
  40. package/dist/components/hazo_chat/index.d.ts +0 -16
  41. package/dist/components/hazo_chat/index.d.ts.map +0 -1
  42. package/dist/components/hazo_chat/index.js +0 -19
  43. package/dist/components/hazo_chat/index.js.map +0 -1
  44. package/dist/components/index.d.ts +0 -9
  45. package/dist/components/index.d.ts.map +0 -1
  46. package/dist/components/index.js +0 -11
  47. package/dist/components/index.js.map +0 -1
  48. package/dist/components/ui/avatar.d.ts +0 -13
  49. package/dist/components/ui/avatar.d.ts.map +0 -1
  50. package/dist/components/ui/avatar.js +0 -28
  51. package/dist/components/ui/avatar.js.map +0 -1
  52. package/dist/components/ui/badge.d.ts +0 -16
  53. package/dist/components/ui/badge.d.ts.map +0 -1
  54. package/dist/components/ui/badge.js +0 -36
  55. package/dist/components/ui/badge.js.map +0 -1
  56. package/dist/components/ui/button.d.ts +0 -18
  57. package/dist/components/ui/button.d.ts.map +0 -1
  58. package/dist/components/ui/button.js +0 -47
  59. package/dist/components/ui/button.js.map +0 -1
  60. package/dist/components/ui/chat_bubble.d.ts +0 -19
  61. package/dist/components/ui/chat_bubble.d.ts.map +0 -1
  62. package/dist/components/ui/chat_bubble.js +0 -101
  63. package/dist/components/ui/chat_bubble.js.map +0 -1
  64. package/dist/components/ui/index.d.ts +0 -18
  65. package/dist/components/ui/index.d.ts.map +0 -1
  66. package/dist/components/ui/index.js +0 -20
  67. package/dist/components/ui/index.js.map +0 -1
  68. package/dist/components/ui/input.d.ts +0 -11
  69. package/dist/components/ui/input.d.ts.map +0 -1
  70. package/dist/components/ui/input.js +0 -18
  71. package/dist/components/ui/input.js.map +0 -1
  72. package/dist/components/ui/loading_skeleton.d.ts +0 -19
  73. package/dist/components/ui/loading_skeleton.d.ts.map +0 -1
  74. package/dist/components/ui/loading_skeleton.js +0 -30
  75. package/dist/components/ui/loading_skeleton.js.map +0 -1
  76. package/dist/components/ui/scroll-area.d.ts +0 -12
  77. package/dist/components/ui/scroll-area.d.ts.map +0 -1
  78. package/dist/components/ui/scroll-area.js +0 -25
  79. package/dist/components/ui/scroll-area.js.map +0 -1
  80. package/dist/components/ui/separator.d.ts +0 -11
  81. package/dist/components/ui/separator.d.ts.map +0 -1
  82. package/dist/components/ui/separator.js +0 -18
  83. package/dist/components/ui/separator.js.map +0 -1
  84. package/dist/components/ui/skeleton.d.ts +0 -9
  85. package/dist/components/ui/skeleton.d.ts.map +0 -1
  86. package/dist/components/ui/skeleton.js +0 -16
  87. package/dist/components/ui/skeleton.js.map +0 -1
  88. package/dist/components/ui/textarea.d.ts +0 -11
  89. package/dist/components/ui/textarea.d.ts.map +0 -1
  90. package/dist/components/ui/textarea.js +0 -18
  91. package/dist/components/ui/textarea.js.map +0 -1
  92. package/dist/components/ui/tooltip.d.ts +0 -14
  93. package/dist/components/ui/tooltip.d.ts.map +0 -1
  94. package/dist/components/ui/tooltip.js +0 -30
  95. package/dist/components/ui/tooltip.js.map +0 -1
  96. package/dist/hooks/index.d.ts +0 -10
  97. package/dist/hooks/index.d.ts.map +0 -1
  98. package/dist/hooks/index.js +0 -10
  99. package/dist/hooks/index.js.map +0 -1
  100. package/dist/hooks/use_chat_messages.d.ts +0 -25
  101. package/dist/hooks/use_chat_messages.d.ts.map +0 -1
  102. package/dist/hooks/use_chat_messages.js +0 -430
  103. package/dist/hooks/use_chat_messages.js.map +0 -1
  104. package/dist/hooks/use_chat_references.d.ts +0 -17
  105. package/dist/hooks/use_chat_references.d.ts.map +0 -1
  106. package/dist/hooks/use_chat_references.js +0 -133
  107. package/dist/hooks/use_chat_references.js.map +0 -1
  108. package/dist/hooks/use_file_upload.d.ts +0 -23
  109. package/dist/hooks/use_file_upload.d.ts.map +0 -1
  110. package/dist/hooks/use_file_upload.js +0 -212
  111. package/dist/hooks/use_file_upload.js.map +0 -1
  112. package/dist/index.d.ts +0 -13
  113. package/dist/index.d.ts.map +0 -1
  114. package/dist/index.js +0 -17
  115. package/dist/index.js.map +0 -1
  116. package/dist/lib/config.d.ts +0 -41
  117. package/dist/lib/config.d.ts.map +0 -1
  118. package/dist/lib/config.js +0 -93
  119. package/dist/lib/config.js.map +0 -1
  120. package/dist/lib/constants.d.ts +0 -39
  121. package/dist/lib/constants.d.ts.map +0 -1
  122. package/dist/lib/constants.js +0 -70
  123. package/dist/lib/constants.js.map +0 -1
  124. package/dist/lib/index.d.ts +0 -9
  125. package/dist/lib/index.d.ts.map +0 -1
  126. package/dist/lib/index.js +0 -9
  127. package/dist/lib/index.js.map +0 -1
  128. package/dist/lib/utils.d.ts +0 -17
  129. package/dist/lib/utils.d.ts.map +0 -1
  130. package/dist/lib/utils.js +0 -20
  131. package/dist/lib/utils.js.map +0 -1
  132. package/dist/types/index.d.ts +0 -367
  133. package/dist/types/index.d.ts.map +0 -1
  134. package/dist/types/index.js +0 -8
  135. package/dist/types/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"hazo_chat_sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_chat/hazo_chat_sidebar.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAUjE,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,QAAQ,EACR,SAAS,EACT,QAAQ,EACT,EAAE,oBAAoB,2CAmGtB;yBAxGe,eAAe"}
@@ -1,72 +0,0 @@
1
- /**
2
- * HazoChatSidebar Component
3
- *
4
- * Collapsible sidebar containing:
5
- * - Reference list
6
- * - Document viewer
7
- *
8
- * On mobile: slides in from left as overlay
9
- * On desktop: always visible as left column
10
- *
11
- * Uses shadcn/ui Button, ScrollArea, and Separator components.
12
- */
13
- 'use client';
14
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
15
- import { useEffect, useCallback } from 'react';
16
- import { IoClose } from 'react-icons/io5';
17
- import { cn } from '../../lib/utils.js';
18
- import { MOBILE_BREAKPOINT } from '../../lib/constants.js';
19
- import { Button } from '../ui/button.js';
20
- import { ScrollArea } from '../ui/scroll-area.js';
21
- import { Separator } from '../ui/separator.js';
22
- // ============================================================================
23
- // Component
24
- // ============================================================================
25
- export function HazoChatSidebar({ is_open, on_close, className, children }) {
26
- // Handle escape key to close sidebar
27
- const handle_escape = useCallback((event) => {
28
- if (event.key === 'Escape' && is_open) {
29
- on_close();
30
- }
31
- }, [is_open, on_close]);
32
- // Handle click outside to close (mobile)
33
- const handle_backdrop_click = useCallback(() => {
34
- on_close();
35
- }, [on_close]);
36
- // Add escape key listener
37
- useEffect(() => {
38
- document.addEventListener('keydown', handle_escape);
39
- return () => {
40
- document.removeEventListener('keydown', handle_escape);
41
- };
42
- }, [handle_escape]);
43
- // Prevent body scroll when sidebar is open on mobile
44
- useEffect(() => {
45
- if (typeof window === 'undefined')
46
- return;
47
- const is_mobile = window.innerWidth < MOBILE_BREAKPOINT;
48
- if (is_open && is_mobile) {
49
- document.body.style.overflow = 'hidden';
50
- }
51
- else {
52
- document.body.style.overflow = '';
53
- }
54
- return () => {
55
- document.body.style.overflow = '';
56
- };
57
- }, [is_open]);
58
- return (_jsxs(_Fragment, { children: [_jsx("div", { className: cn('cls_sidebar_backdrop', 'fixed inset-0 bg-black/50 z-40', 'md:hidden', // Only on mobile
59
- 'transition-opacity duration-200', is_open ? 'opacity-100' : 'opacity-0 pointer-events-none'), onClick: handle_backdrop_click, "aria-hidden": "true" }), _jsxs("aside", { className: cn('cls_hazo_chat_sidebar',
60
- // Mobile: fixed overlay
61
- 'fixed md:relative', 'top-0 left-0 h-full z-50',
62
- // Sizing
63
- 'w-[280px] md:w-full',
64
- // Background
65
- 'bg-background border-r',
66
- // Transition
67
- 'transition-transform duration-200 ease-in-out',
68
- // Mobile: slide in/out
69
- is_open ? 'translate-x-0' : '-translate-x-full md:translate-x-0', className), "aria-label": "Chat sidebar", "aria-hidden": !is_open, children: [_jsxs("div", { className: "cls_sidebar_header flex items-center justify-between p-3 md:hidden", children: [_jsx("span", { className: "text-sm font-medium", children: "Documents & References" }), _jsx(Button, { variant: "ghost", size: "icon", onClick: on_close, className: "h-8 w-8", "aria-label": "Close sidebar", children: _jsx(IoClose, { className: "w-4 h-4" }) })] }), _jsx(Separator, { className: "md:hidden" }), _jsx(ScrollArea, { className: "cls_sidebar_content h-full flex flex-col", children: children })] })] }));
70
- }
71
- HazoChatSidebar.displayName = 'HazoChatSidebar';
72
- //# sourceMappingURL=hazo_chat_sidebar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hazo_chat_sidebar.js","sourceRoot":"","sources":["../../../src/components/hazo_chat/hazo_chat_sidebar.tsx"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- /**
2
- * HazoChat components barrel export file
3
- *
4
- * Exports all HazoChat components from the hazo_chat package.
5
- * All export paths use explicit .js extensions for ES module compatibility.
6
- */
7
- export { HazoChat } from './hazo_chat.js';
8
- export { HazoChatProvider, useHazoChatContext } from './hazo_chat_context.js';
9
- export { HazoChatHeader } from './hazo_chat_header.js';
10
- export { HazoChatSidebar } from './hazo_chat_sidebar.js';
11
- export { HazoChatReferenceList } from './hazo_chat_reference_list.js';
12
- export { HazoChatDocumentViewer } from './hazo_chat_document_viewer.js';
13
- export { HazoChatMessages } from './hazo_chat_messages.js';
14
- export { HazoChatInput } from './hazo_chat_input.js';
15
- export { HazoChatAttachmentPreview } from './hazo_chat_attachment_preview.js';
16
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_chat/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG9E,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC"}
@@ -1,19 +0,0 @@
1
- /**
2
- * HazoChat components barrel export file
3
- *
4
- * Exports all HazoChat components from the hazo_chat package.
5
- * All export paths use explicit .js extensions for ES module compatibility.
6
- */
7
- // Main component
8
- export { HazoChat } from './hazo_chat.js';
9
- // Context
10
- export { HazoChatProvider, useHazoChatContext } from './hazo_chat_context.js';
11
- // Sub-components (for custom layouts)
12
- export { HazoChatHeader } from './hazo_chat_header.js';
13
- export { HazoChatSidebar } from './hazo_chat_sidebar.js';
14
- export { HazoChatReferenceList } from './hazo_chat_reference_list.js';
15
- export { HazoChatDocumentViewer } from './hazo_chat_document_viewer.js';
16
- export { HazoChatMessages } from './hazo_chat_messages.js';
17
- export { HazoChatInput } from './hazo_chat_input.js';
18
- export { HazoChatAttachmentPreview } from './hazo_chat_attachment_preview.js';
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/hazo_chat/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,iBAAiB;AACjB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,UAAU;AACV,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE9E,sCAAsC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Components barrel export file
3
- *
4
- * Exports all components from the hazo_chat package.
5
- * All export paths use explicit .js extensions for ES module compatibility.
6
- */
7
- export * from './hazo_chat/index.js';
8
- export * from './ui/index.js';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,sBAAsB,CAAC;AAGrC,cAAc,eAAe,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Components barrel export file
3
- *
4
- * Exports all components from the hazo_chat package.
5
- * All export paths use explicit .js extensions for ES module compatibility.
6
- */
7
- // HazoChat components
8
- export * from './hazo_chat/index.js';
9
- // UI components
10
- export * from './ui/index.js';
11
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,sBAAsB;AACtB,cAAc,sBAAsB,CAAC;AAErC,gBAAgB;AAChB,cAAc,eAAe,CAAC"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Avatar Component (shadcn/ui style)
3
- *
4
- * A user avatar component with image and fallback support.
5
- * Uses @radix-ui/react-avatar for accessibility.
6
- */
7
- import * as React from 'react';
8
- import * as AvatarPrimitive from '@radix-ui/react-avatar';
9
- declare const Avatar: React.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
10
- declare const AvatarImage: React.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarImageProps & React.RefAttributes<HTMLImageElement>, "ref"> & React.RefAttributes<HTMLImageElement>>;
11
- declare const AvatarFallback: React.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarFallbackProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
12
- export { Avatar, AvatarImage, AvatarFallback };
13
- //# sourceMappingURL=avatar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../src/components/ui/avatar.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAO1D,QAAA,MAAM,MAAM,yJAYV,CAAC;AAQH,QAAA,MAAM,WAAW,gKASf,CAAC;AAQH,QAAA,MAAM,cAAc,iKAYlB,CAAC;AAIH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Avatar Component (shadcn/ui style)
3
- *
4
- * A user avatar component with image and fallback support.
5
- * Uses @radix-ui/react-avatar for accessibility.
6
- */
7
- 'use client';
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- import * as React from 'react';
10
- import * as AvatarPrimitive from '@radix-ui/react-avatar';
11
- import { cn } from '../../lib/utils.js';
12
- // ============================================================================
13
- // Avatar Root
14
- // ============================================================================
15
- const Avatar = React.forwardRef(({ className, ...props }, ref) => (_jsx(AvatarPrimitive.Root, { ref: ref, className: cn('relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full', className), ...props })));
16
- Avatar.displayName = AvatarPrimitive.Root.displayName;
17
- // ============================================================================
18
- // Avatar Image
19
- // ============================================================================
20
- const AvatarImage = React.forwardRef(({ className, ...props }, ref) => (_jsx(AvatarPrimitive.Image, { ref: ref, className: cn('aspect-square h-full w-full', className), ...props })));
21
- AvatarImage.displayName = AvatarPrimitive.Image.displayName;
22
- // ============================================================================
23
- // Avatar Fallback
24
- // ============================================================================
25
- const AvatarFallback = React.forwardRef(({ className, ...props }, ref) => (_jsx(AvatarPrimitive.Fallback, { ref: ref, className: cn('flex h-full w-full items-center justify-center rounded-full bg-muted', className), ...props })));
26
- AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
27
- export { Avatar, AvatarImage, AvatarFallback };
28
- //# sourceMappingURL=avatar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/components/ui/avatar.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAG7B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,eAAe,CAAC,IAAI,IACnB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,+DAA+D,EAC/D,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC,CAAC;AAEH,MAAM,CAAC,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;AAEtD,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAGlC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,eAAe,CAAC,KAAK,IACpB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,SAAS,CAAC,KACnD,KAAK,GACT,CACH,CAAC,CAAC;AAEH,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC;AAE5D,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAGrC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,eAAe,CAAC,QAAQ,IACvB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,sEAAsE,EACtE,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC,CAAC;AAEH,cAAc,CAAC,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC;AAElE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC"}
@@ -1,16 +0,0 @@
1
- /**
2
- * Badge Component (shadcn/ui style)
3
- *
4
- * A badge component for status indicators and labels.
5
- * Uses class-variance-authority for variant management.
6
- */
7
- import * as React from 'react';
8
- import { type VariantProps } from 'class-variance-authority';
9
- declare const badge_variants: (props?: ({
10
- variant?: "default" | "destructive" | "outline" | "secondary" | "success" | "warning" | null | undefined;
11
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
- export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badge_variants> {
13
- }
14
- declare function Badge({ className, variant, ...props }: BadgeProps): import("react/jsx-runtime").JSX.Element;
15
- export { Badge, badge_variants };
16
- //# sourceMappingURL=badge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../../src/components/ui/badge.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAOlE,QAAA,MAAM,cAAc;;8EAsBnB,CAAC;AAMF,MAAM,WAAW,UACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAC1C,YAAY,CAAC,OAAO,cAAc,CAAC;CAAG;AAM1C,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAI1D;AAED,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC"}
@@ -1,36 +0,0 @@
1
- /**
2
- * Badge Component (shadcn/ui style)
3
- *
4
- * A badge component for status indicators and labels.
5
- * Uses class-variance-authority for variant management.
6
- */
7
- 'use client';
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- import { cva } from 'class-variance-authority';
10
- import { cn } from '../../lib/utils.js';
11
- // ============================================================================
12
- // Badge Variants
13
- // ============================================================================
14
- const badge_variants = cva('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', {
15
- variants: {
16
- variant: {
17
- default: 'border-transparent bg-primary text-primary-foreground hover:bg-primary/80',
18
- secondary: 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',
19
- destructive: 'border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80',
20
- outline: 'text-foreground',
21
- success: 'border-transparent bg-green-500 text-white hover:bg-green-600',
22
- warning: 'border-transparent bg-yellow-500 text-white hover:bg-yellow-600',
23
- },
24
- },
25
- defaultVariants: {
26
- variant: 'default',
27
- },
28
- });
29
- // ============================================================================
30
- // Component
31
- // ============================================================================
32
- function Badge({ className, variant, ...props }) {
33
- return (_jsx("div", { className: cn(badge_variants({ variant }), className), ...props }));
34
- }
35
- export { Badge, badge_variants };
36
- //# sourceMappingURL=badge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../src/components/ui/badge.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,CAAC;;AAGb,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,MAAM,cAAc,GAAG,GAAG,CACxB,wKAAwK,EACxK;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EACL,2EAA2E;YAC7E,SAAS,EACP,iFAAiF;YACnF,WAAW,EACT,uFAAuF;YACzF,OAAO,EAAE,iBAAiB;YAC1B,OAAO,EACL,+DAA+D;YACjE,OAAO,EACL,iEAAiE;SACpE;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;KACnB;CACF,CACF,CAAC;AAUF,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,SAAS,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAc;IACzD,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAC1E,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Button Component (shadcn/ui style)
3
- *
4
- * A versatile button component with multiple variants and sizes.
5
- * Uses class-variance-authority for variant management.
6
- */
7
- import * as React from 'react';
8
- import { type VariantProps } from 'class-variance-authority';
9
- declare const button_variants: (props?: ({
10
- variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
11
- size?: "default" | "sm" | "lg" | "icon" | null | undefined;
12
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
13
- export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof button_variants> {
14
- as_child?: boolean;
15
- }
16
- declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
17
- export { Button, button_variants };
18
- //# sourceMappingURL=button.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/components/ui/button.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAOlE,QAAA,MAAM,eAAe;;;8EAwBpB,CAAC;AAMF,MAAM,WAAW,WACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EACnD,YAAY,CAAC,OAAO,eAAe,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAMD,QAAA,MAAM,MAAM,uFAWX,CAAC;AAIF,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC"}
@@ -1,47 +0,0 @@
1
- /**
2
- * Button Component (shadcn/ui style)
3
- *
4
- * A versatile button component with multiple variants and sizes.
5
- * Uses class-variance-authority for variant management.
6
- */
7
- 'use client';
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- import * as React from 'react';
10
- import { Slot } from '@radix-ui/react-slot';
11
- import { cva } from 'class-variance-authority';
12
- import { cn } from '../../lib/utils.js';
13
- // ============================================================================
14
- // Button Variants
15
- // ============================================================================
16
- const button_variants = cva('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', {
17
- variants: {
18
- variant: {
19
- default: 'bg-primary text-primary-foreground hover:bg-primary/90',
20
- destructive: 'bg-destructive text-destructive-foreground hover:bg-destructive/90',
21
- outline: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',
22
- secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80',
23
- ghost: 'hover:bg-accent hover:text-accent-foreground',
24
- link: 'text-primary underline-offset-4 hover:underline',
25
- },
26
- size: {
27
- default: 'h-10 px-4 py-2',
28
- sm: 'h-9 rounded-md px-3',
29
- lg: 'h-11 rounded-md px-8',
30
- icon: 'h-10 w-10',
31
- },
32
- },
33
- defaultVariants: {
34
- variant: 'default',
35
- size: 'default',
36
- },
37
- });
38
- // ============================================================================
39
- // Component
40
- // ============================================================================
41
- const Button = React.forwardRef(({ className, variant, size, as_child = false, ...props }, ref) => {
42
- const Comp = as_child ? Slot : 'button';
43
- return (_jsx(Comp, { className: cn(button_variants({ variant, size, className })), ref: ref, ...props }));
44
- });
45
- Button.displayName = 'Button';
46
- export { Button, button_variants };
47
- //# sourceMappingURL=button.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/ui/button.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,MAAM,eAAe,GAAG,GAAG,CACzB,0VAA0V,EAC1V;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,wDAAwD;YACjE,WAAW,EAAE,oEAAoE;YACjF,OAAO,EAAE,gFAAgF;YACzF,SAAS,EAAE,8DAA8D;YACzE,KAAK,EAAE,8CAA8C;YACrD,IAAI,EAAE,iDAAiD;SACxD;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,gBAAgB;YACzB,EAAE,EAAE,qBAAqB;YACzB,EAAE,EAAE,sBAAsB;YAC1B,IAAI,EAAE,WAAW;SAClB;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAC;AAYF,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAC7B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAChE,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxC,OAAO,CACL,KAAC,IAAI,IACH,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAC5D,GAAG,EAAE,GAAG,KACJ,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC"}
@@ -1,19 +0,0 @@
1
- /**
2
- * ChatBubble Component
3
- *
4
- * Renders a single chat message bubble with:
5
- * - Profile picture (using Avatar)
6
- * - Message text (or deleted placeholder)
7
- * - Timestamp with timezone formatting
8
- * - Read status indicator (using Badge)
9
- * - Delete option for sender's messages (using Button)
10
- * - Reference/attachment icons
11
- *
12
- * Uses shadcn/ui Avatar, Button, Badge, and Tooltip components.
13
- */
14
- import type { ChatBubbleProps } from '../../types/index.js';
15
- export declare function ChatBubble({ message, is_sender, sender_profile, timezone, on_delete, on_reference_click, is_highlighted, className }: ChatBubbleProps): import("react/jsx-runtime").JSX.Element;
16
- export declare namespace ChatBubble {
17
- var displayName: string;
18
- }
19
- //# sourceMappingURL=chat_bubble.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat_bubble.d.ts","sourceRoot":"","sources":["../../../src/components/ui/chat_bubble.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAcH,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,sBAAsB,CAAC;AA6C/E,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,SAAS,EACT,cAAc,EACd,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,cAAsB,EACtB,SAAS,EACV,EAAE,eAAe,2CA4MjB;yBArNe,UAAU"}
@@ -1,101 +0,0 @@
1
- /**
2
- * ChatBubble Component
3
- *
4
- * Renders a single chat message bubble with:
5
- * - Profile picture (using Avatar)
6
- * - Message text (or deleted placeholder)
7
- * - Timestamp with timezone formatting
8
- * - Read status indicator (using Badge)
9
- * - Delete option for sender's messages (using Button)
10
- * - Reference/attachment icons
11
- *
12
- * Uses shadcn/ui Avatar, Button, Badge, and Tooltip components.
13
- */
14
- 'use client';
15
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
- import { useState, useCallback } from 'react';
17
- import { format } from 'date-fns';
18
- import { toZonedTime } from 'date-fns-tz';
19
- import { IoCheckmarkOutline, IoCheckmarkDoneSharp, IoTrashOutline, IoDocumentAttachSharp } from 'react-icons/io5';
20
- import { cn } from '../../lib/utils.js';
21
- import { DELETED_MESSAGE_PLACEHOLDER } from '../../lib/constants.js';
22
- import { Avatar, AvatarImage, AvatarFallback } from './avatar.js';
23
- import { Button } from './button.js';
24
- import { Badge } from './badge.js';
25
- import { Tooltip, TooltipContent, TooltipTrigger } from './tooltip.js';
26
- // ============================================================================
27
- // Helper Functions
28
- // ============================================================================
29
- /**
30
- * Format timestamp with timezone
31
- */
32
- function format_timestamp(timestamp, timezone) {
33
- try {
34
- const date = new Date(timestamp);
35
- const zoned_date = toZonedTime(date, timezone);
36
- return format(zoned_date, 'HH:mm');
37
- }
38
- catch {
39
- return format(new Date(timestamp), 'HH:mm');
40
- }
41
- }
42
- /**
43
- * Get initials from name
44
- */
45
- function get_initials(name) {
46
- if (!name)
47
- return '?';
48
- return name
49
- .split(' ')
50
- .map((part) => part[0])
51
- .join('')
52
- .substring(0, 2)
53
- .toUpperCase();
54
- }
55
- // ============================================================================
56
- // Component
57
- // ============================================================================
58
- export function ChatBubble({ message, is_sender, sender_profile, timezone, on_delete, on_reference_click, is_highlighted = false, className }) {
59
- const [show_delete_confirm, set_show_delete_confirm] = useState(false);
60
- const is_deleted = message.deleted_at !== null;
61
- const display_text = is_deleted ? DELETED_MESSAGE_PLACEHOLDER : message.message_text;
62
- const has_references = message.reference_list && message.reference_list.length > 0;
63
- // Handle delete click
64
- const handle_delete_click = useCallback(() => {
65
- if (show_delete_confirm) {
66
- on_delete?.();
67
- set_show_delete_confirm(false);
68
- }
69
- else {
70
- set_show_delete_confirm(true);
71
- // Auto-hide after 3 seconds
72
- setTimeout(() => set_show_delete_confirm(false), 3000);
73
- }
74
- }, [show_delete_confirm, on_delete]);
75
- // Handle reference click
76
- const handle_reference_click = useCallback((reference) => {
77
- on_reference_click?.(reference);
78
- }, [on_reference_click]);
79
- // Render status icon
80
- const render_status_icon = () => {
81
- if (!is_sender)
82
- return null;
83
- if (message.send_status === 'sending') {
84
- return (_jsx(Badge, { variant: "secondary", className: "cls_message_status px-1 py-0 h-4 animate-pulse", children: _jsx(IoCheckmarkOutline, { className: "w-3 h-3" }) }));
85
- }
86
- if (message.send_status === 'failed') {
87
- return (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Badge, { variant: "destructive", className: "cls_message_status px-1 py-0 h-4", children: "!" }) }), _jsx(TooltipContent, { children: "Failed to send" })] }));
88
- }
89
- if (message.read_at) {
90
- return (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Badge, { variant: "success", className: "cls_message_status px-1 py-0 h-4", children: _jsx(IoCheckmarkDoneSharp, { className: "w-3 h-3" }) }) }), _jsx(TooltipContent, { children: "Read" })] }));
91
- }
92
- return (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Badge, { variant: "secondary", className: "cls_message_status px-1 py-0 h-4", children: _jsx(IoCheckmarkOutline, { className: "w-3 h-3" }) }) }), _jsx(TooltipContent, { children: "Sent" })] }));
93
- };
94
- return (_jsxs("div", { className: cn('cls_chat_bubble_wrapper', 'flex w-full mb-4 group', is_sender ? 'justify-end' : 'justify-start', is_highlighted && 'animate-pulse bg-primary/5 -mx-2 px-2 py-1 rounded-lg', className), id: `message-${message.id}`, children: [!is_sender && (_jsxs(Avatar, { className: "cls_bubble_avatar h-8 w-8 mr-2 flex-shrink-0", children: [_jsx(AvatarImage, { src: sender_profile?.avatar_url, alt: `${sender_profile?.name || 'User'} avatar` }), _jsx(AvatarFallback, { className: "text-xs", children: get_initials(sender_profile?.name) })] })), _jsxs("div", { className: "cls_bubble_content flex flex-col max-w-[70%]", children: [!is_sender && sender_profile?.name && (_jsx("span", { className: "cls_bubble_sender text-xs text-muted-foreground mb-1 ml-1", children: sender_profile.name })), _jsxs("div", { className: cn('cls_bubble', 'px-4 py-2 rounded-2xl relative', is_sender
95
- ? 'bg-primary text-primary-foreground rounded-br-md'
96
- : 'bg-muted text-foreground rounded-bl-md', is_deleted && 'opacity-60 italic'), children: [_jsx("p", { className: "cls_bubble_text text-sm whitespace-pre-wrap break-words", children: display_text }), has_references && !is_deleted && (_jsx("div", { className: "cls_bubble_references flex flex-wrap gap-1 mt-2 pt-2 border-t border-current/10", children: message.reference_list?.map((ref) => (_jsxs(Button, { variant: "ghost", size: "sm", onClick: () => handle_reference_click(ref), className: cn('cls_bubble_reference_btn', 'h-6 px-2 text-xs', is_sender
97
- ? 'hover:bg-primary-foreground/20'
98
- : 'hover:bg-background/50'), children: [_jsx(IoDocumentAttachSharp, { className: "w-3 h-3 mr-1" }), _jsx("span", { className: "truncate max-w-[100px]", children: ref.name })] }, ref.id))) })), is_sender && !is_deleted && on_delete && (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { variant: show_delete_confirm ? 'destructive' : 'ghost', size: "icon", onClick: handle_delete_click, className: cn('cls_bubble_delete_btn', 'absolute -left-8 top-1/2 -translate-y-1/2', 'w-6 h-6', 'opacity-0 group-hover:opacity-100 transition-opacity'), children: _jsx(IoTrashOutline, { className: "w-3.5 h-3.5" }) }) }), _jsx(TooltipContent, { children: show_delete_confirm ? 'Click again to confirm' : 'Delete message' })] }))] }), _jsxs("div", { className: cn('cls_bubble_meta', 'flex items-center gap-1.5 mt-1', is_sender ? 'justify-end mr-1' : 'ml-1'), children: [_jsx("span", { className: "cls_bubble_time text-xs text-muted-foreground", children: format_timestamp(message.created_at, timezone) }), render_status_icon()] })] }), is_sender && (_jsxs(Avatar, { className: "cls_bubble_avatar h-8 w-8 ml-2 flex-shrink-0", children: [_jsx(AvatarImage, { src: sender_profile?.avatar_url, alt: "Your avatar" }), _jsx(AvatarFallback, { className: "text-xs bg-primary/20 text-primary", children: get_initials(sender_profile?.name) })] }))] }));
99
- }
100
- ChatBubble.displayName = 'ChatBubble';
101
- //# sourceMappingURL=chat_bubble.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat_bubble.js","sourceRoot":"","sources":["../../../src/components/ui/chat_bubble.tsx"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- /**
2
- * UI components barrel export file
3
- *
4
- * Exports reusable UI components from the hazo_chat package.
5
- * All export paths use explicit .js extensions for ES module compatibility.
6
- */
7
- export { Button, button_variants, type ButtonProps } from './button.js';
8
- export { Input, type InputProps } from './input.js';
9
- export { Textarea, type TextareaProps } from './textarea.js';
10
- export { Avatar, AvatarImage, AvatarFallback } from './avatar.js';
11
- export { Skeleton } from './skeleton.js';
12
- export { ScrollArea, ScrollBar } from './scroll-area.js';
13
- export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from './tooltip.js';
14
- export { Separator } from './separator.js';
15
- export { Badge, badge_variants, type BadgeProps } from './badge.js';
16
- export { ChatBubble } from './chat_bubble.js';
17
- export { LoadingSkeleton } from './loading_skeleton.js';
18
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAGpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,20 +0,0 @@
1
- /**
2
- * UI components barrel export file
3
- *
4
- * Exports reusable UI components from the hazo_chat package.
5
- * All export paths use explicit .js extensions for ES module compatibility.
6
- */
7
- // Shadcn-style components
8
- export { Button, button_variants } from './button.js';
9
- export { Input } from './input.js';
10
- export { Textarea } from './textarea.js';
11
- export { Avatar, AvatarImage, AvatarFallback } from './avatar.js';
12
- export { Skeleton } from './skeleton.js';
13
- export { ScrollArea, ScrollBar } from './scroll-area.js';
14
- export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from './tooltip.js';
15
- export { Separator } from './separator.js';
16
- export { Badge, badge_variants } from './badge.js';
17
- // Chat-specific components
18
- export { ChatBubble } from './chat_bubble.js';
19
- export { LoadingSkeleton } from './loading_skeleton.js';
20
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,0BAA0B;AAC1B,OAAO,EAAE,MAAM,EAAE,eAAe,EAAoB,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,KAAK,EAAmB,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAsB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,cAAc,EAAmB,MAAM,YAAY,CAAC;AAEpE,2BAA2B;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Input Component (shadcn/ui style)
3
- *
4
- * A styled text input component with consistent styling.
5
- */
6
- import * as React from 'react';
7
- export interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
8
- }
9
- declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
10
- export { Input };
11
- //# sourceMappingURL=input.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/components/ui/input.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,WAAW,UACf,SAAQ,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;CAAG;AAMxD,QAAA,MAAM,KAAK,qFAcV,CAAC;AAIF,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Input Component (shadcn/ui style)
3
- *
4
- * A styled text input component with consistent styling.
5
- */
6
- 'use client';
7
- import { jsx as _jsx } from "react/jsx-runtime";
8
- import * as React from 'react';
9
- import { cn } from '../../lib/utils.js';
10
- // ============================================================================
11
- // Component
12
- // ============================================================================
13
- const Input = React.forwardRef(({ className, type, ...props }, ref) => {
14
- return (_jsx("input", { type: type, className: cn('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 file:text-foreground 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', className), ref: ref, ...props }));
15
- });
16
- Input.displayName = 'Input';
17
- export { Input };
18
- //# sourceMappingURL=input.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/components/ui/input.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AASxC,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAC5B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACrC,OAAO,CACL,gBACE,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CACX,mXAAmX,EACnX,SAAS,CACV,EACD,GAAG,EAAE,GAAG,KACJ,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;AAE5B,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -1,19 +0,0 @@
1
- /**
2
- * LoadingSkeleton Component
3
- *
4
- * Pre-built loading skeleton layouts for the chat interface.
5
- * Uses the shadcn-style Skeleton component.
6
- */
7
- export interface LoadingSkeletonProps {
8
- /** Number of skeleton rows to display */
9
- count?: number;
10
- /** Additional CSS classes */
11
- className?: string;
12
- /** Type of skeleton layout */
13
- variant?: 'message' | 'reference' | 'profile';
14
- }
15
- export declare function LoadingSkeleton({ count, className, variant }: LoadingSkeletonProps): import("react/jsx-runtime").JSX.Element;
16
- export declare namespace LoadingSkeleton {
17
- var displayName: string;
18
- }
19
- //# sourceMappingURL=loading_skeleton.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loading_skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/ui/loading_skeleton.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;CAC/C;AAMD,wBAAgB,eAAe,CAAC,EAC9B,KAAS,EACT,SAAS,EACT,OAAmB,EACpB,EAAE,oBAAoB,2CA8DtB;yBAlEe,eAAe"}