hazo_chat 4.0.1 → 4.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.
- package/README.md +3 -1
- package/SETUP_CHECKLIST.md +4 -2
- package/package.json +1 -1
- package/dist/api/index.d.ts +0 -41
- package/dist/api/index.d.ts.map +0 -1
- package/dist/api/index.js +0 -40
- package/dist/api/index.js.map +0 -1
- package/dist/api/messages.d.ts +0 -85
- package/dist/api/messages.d.ts.map +0 -1
- package/dist/api/messages.js +0 -626
- package/dist/api/messages.js.map +0 -1
- package/dist/api/types.d.ts +0 -134
- package/dist/api/types.d.ts.map +0 -1
- package/dist/api/types.js +0 -8
- package/dist/api/types.js.map +0 -1
- package/dist/api/unread_count.d.ts +0 -82
- package/dist/api/unread_count.d.ts.map +0 -1
- package/dist/api/unread_count.js +0 -111
- package/dist/api/unread_count.js.map +0 -1
- package/dist/components/hazo_chat/hazo_chat.d.ts +0 -28
- package/dist/components/hazo_chat/hazo_chat.d.ts.map +0 -1
- package/dist/components/hazo_chat/hazo_chat.js +0 -230
- package/dist/components/hazo_chat/hazo_chat.js.map +0 -1
- package/dist/components/hazo_chat/hazo_chat_attachment_preview.d.ts +0 -17
- package/dist/components/hazo_chat/hazo_chat_attachment_preview.d.ts.map +0 -1
- package/dist/components/hazo_chat/hazo_chat_attachment_preview.js +0 -60
- package/dist/components/hazo_chat/hazo_chat_attachment_preview.js.map +0 -1
- package/dist/components/hazo_chat/hazo_chat_context.d.ts +0 -46
- package/dist/components/hazo_chat/hazo_chat_context.d.ts.map +0 -1
- package/dist/components/hazo_chat/hazo_chat_context.js +0 -277
- package/dist/components/hazo_chat/hazo_chat_context.js.map +0 -1
- package/dist/components/hazo_chat/hazo_chat_document_viewer.d.ts +0 -15
- package/dist/components/hazo_chat/hazo_chat_document_viewer.d.ts.map +0 -1
- package/dist/components/hazo_chat/hazo_chat_document_viewer.js +0 -140
- package/dist/components/hazo_chat/hazo_chat_document_viewer.js.map +0 -1
- package/dist/components/hazo_chat/hazo_chat_header.d.ts +0 -16
- package/dist/components/hazo_chat/hazo_chat_header.d.ts.map +0 -1
- package/dist/components/hazo_chat/hazo_chat_header.js +0 -45
- package/dist/components/hazo_chat/hazo_chat_header.js.map +0 -1
- package/dist/components/hazo_chat/hazo_chat_input.d.ts +0 -16
- package/dist/components/hazo_chat/hazo_chat_input.d.ts.map +0 -1
- package/dist/components/hazo_chat/hazo_chat_input.js +0 -75
- package/dist/components/hazo_chat/hazo_chat_input.js.map +0 -1
- package/dist/components/hazo_chat/hazo_chat_messages.d.ts +0 -18
- package/dist/components/hazo_chat/hazo_chat_messages.d.ts.map +0 -1
- package/dist/components/hazo_chat/hazo_chat_messages.js +0 -255
- package/dist/components/hazo_chat/hazo_chat_messages.js.map +0 -1
- package/dist/components/hazo_chat/hazo_chat_reference_list.d.ts +0 -16
- package/dist/components/hazo_chat/hazo_chat_reference_list.d.ts.map +0 -1
- package/dist/components/hazo_chat/hazo_chat_reference_list.js +0 -59
- package/dist/components/hazo_chat/hazo_chat_reference_list.js.map +0 -1
- package/dist/components/hazo_chat/hazo_chat_sidebar.d.ts +0 -18
- package/dist/components/hazo_chat/hazo_chat_sidebar.d.ts.map +0 -1
- package/dist/components/hazo_chat/hazo_chat_sidebar.js +0 -72
- package/dist/components/hazo_chat/hazo_chat_sidebar.js.map +0 -1
- package/dist/components/hazo_chat/index.d.ts +0 -16
- package/dist/components/hazo_chat/index.d.ts.map +0 -1
- package/dist/components/hazo_chat/index.js +0 -19
- package/dist/components/hazo_chat/index.js.map +0 -1
- package/dist/components/index.d.ts +0 -9
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/index.js +0 -11
- package/dist/components/index.js.map +0 -1
- package/dist/components/ui/avatar.d.ts +0 -13
- package/dist/components/ui/avatar.d.ts.map +0 -1
- package/dist/components/ui/avatar.js +0 -28
- package/dist/components/ui/avatar.js.map +0 -1
- package/dist/components/ui/badge.d.ts +0 -16
- package/dist/components/ui/badge.d.ts.map +0 -1
- package/dist/components/ui/badge.js +0 -36
- package/dist/components/ui/badge.js.map +0 -1
- package/dist/components/ui/button.d.ts +0 -18
- package/dist/components/ui/button.d.ts.map +0 -1
- package/dist/components/ui/button.js +0 -47
- package/dist/components/ui/button.js.map +0 -1
- package/dist/components/ui/chat_bubble.d.ts +0 -18
- package/dist/components/ui/chat_bubble.d.ts.map +0 -1
- package/dist/components/ui/chat_bubble.js +0 -130
- package/dist/components/ui/chat_bubble.js.map +0 -1
- package/dist/components/ui/hover-card.d.ts +0 -13
- package/dist/components/ui/hover-card.d.ts.map +0 -1
- package/dist/components/ui/hover-card.js +0 -17
- package/dist/components/ui/hover-card.js.map +0 -1
- package/dist/components/ui/index.d.ts +0 -19
- package/dist/components/ui/index.d.ts.map +0 -1
- package/dist/components/ui/index.js +0 -21
- package/dist/components/ui/index.js.map +0 -1
- package/dist/components/ui/input.d.ts +0 -11
- package/dist/components/ui/input.d.ts.map +0 -1
- package/dist/components/ui/input.js +0 -18
- package/dist/components/ui/input.js.map +0 -1
- package/dist/components/ui/loading_skeleton.d.ts +0 -19
- package/dist/components/ui/loading_skeleton.d.ts.map +0 -1
- package/dist/components/ui/loading_skeleton.js +0 -30
- package/dist/components/ui/loading_skeleton.js.map +0 -1
- package/dist/components/ui/scroll-area.d.ts +0 -12
- package/dist/components/ui/scroll-area.d.ts.map +0 -1
- package/dist/components/ui/scroll-area.js +0 -25
- package/dist/components/ui/scroll-area.js.map +0 -1
- package/dist/components/ui/separator.d.ts +0 -11
- package/dist/components/ui/separator.d.ts.map +0 -1
- package/dist/components/ui/separator.js +0 -18
- package/dist/components/ui/separator.js.map +0 -1
- package/dist/components/ui/skeleton.d.ts +0 -9
- package/dist/components/ui/skeleton.d.ts.map +0 -1
- package/dist/components/ui/skeleton.js +0 -16
- package/dist/components/ui/skeleton.js.map +0 -1
- package/dist/components/ui/textarea.d.ts +0 -11
- package/dist/components/ui/textarea.d.ts.map +0 -1
- package/dist/components/ui/textarea.js +0 -18
- package/dist/components/ui/textarea.js.map +0 -1
- package/dist/components/ui/tooltip.d.ts +0 -14
- package/dist/components/ui/tooltip.d.ts.map +0 -1
- package/dist/components/ui/tooltip.js +0 -30
- package/dist/components/ui/tooltip.js.map +0 -1
- package/dist/hooks/index.d.ts +0 -10
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/index.js +0 -10
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/use_chat_messages.d.ts +0 -38
- package/dist/hooks/use_chat_messages.d.ts.map +0 -1
- package/dist/hooks/use_chat_messages.js +0 -584
- package/dist/hooks/use_chat_messages.js.map +0 -1
- package/dist/hooks/use_chat_references.d.ts +0 -17
- package/dist/hooks/use_chat_references.d.ts.map +0 -1
- package/dist/hooks/use_chat_references.js +0 -133
- package/dist/hooks/use_chat_references.js.map +0 -1
- package/dist/hooks/use_file_upload.d.ts +0 -26
- package/dist/hooks/use_file_upload.d.ts.map +0 -1
- package/dist/hooks/use_file_upload.js +0 -216
- package/dist/hooks/use_file_upload.js.map +0 -1
- package/dist/index.d.ts +0 -13
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -17
- package/dist/index.js.map +0 -1
- package/dist/lib/config.d.ts +0 -41
- package/dist/lib/config.d.ts.map +0 -1
- package/dist/lib/config.js +0 -93
- package/dist/lib/config.js.map +0 -1
- package/dist/lib/constants.d.ts +0 -41
- package/dist/lib/constants.d.ts.map +0 -1
- package/dist/lib/constants.js +0 -72
- package/dist/lib/constants.js.map +0 -1
- package/dist/lib/index.d.ts +0 -9
- package/dist/lib/index.d.ts.map +0 -1
- package/dist/lib/index.js +0 -9
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/utils.d.ts +0 -17
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/lib/utils.js +0 -20
- package/dist/lib/utils.js.map +0 -1
- package/dist/types/index.d.ts +0 -570
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -11
- package/dist/types/index.js.map +0 -1
|
@@ -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"}
|
package/dist/components/index.js
DELETED
|
@@ -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?: "default" | "link" | "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,18 +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
|
-
* - Delete option for sender's messages (using Button)
|
|
9
|
-
* - Reference/attachment icons
|
|
10
|
-
*
|
|
11
|
-
* Uses shadcn/ui Avatar, Button, Tooltip, and HoverCard components.
|
|
12
|
-
*/
|
|
13
|
-
import type { ChatBubbleProps } from '../../types/index.js';
|
|
14
|
-
export declare function ChatBubble({ message, is_sender, sender_profile, timezone, on_delete, on_reference_click, is_highlighted, show_delete_button, bubble_radius, className }: ChatBubbleProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
-
export declare namespace ChatBubble {
|
|
16
|
-
var displayName: string;
|
|
17
|
-
}
|
|
18
|
-
//# 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;;;;;;;;;;;GAWG;AAcH,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,sBAAsB,CAAC;AAuF/E,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,SAAS,EACT,cAAc,EACd,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,cAAsB,EACtB,kBAAyB,EACzB,aAAyB,EACzB,SAAS,EACV,EAAE,eAAe,2CAmSjB;yBA9Se,UAAU"}
|
|
@@ -1,130 +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
|
-
* - Delete option for sender's messages (using Button)
|
|
9
|
-
* - Reference/attachment icons
|
|
10
|
-
*
|
|
11
|
-
* Uses shadcn/ui Avatar, Button, Tooltip, and HoverCard components.
|
|
12
|
-
*/
|
|
13
|
-
'use client';
|
|
14
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
15
|
-
import { useState, useCallback } from 'react';
|
|
16
|
-
import { format } from 'date-fns';
|
|
17
|
-
import { toZonedTime } from 'date-fns-tz';
|
|
18
|
-
import { IoTrashOutline, IoDocumentAttachSharp, IoCheckmarkDoneSharp, IoCheckmark } from 'react-icons/io5';
|
|
19
|
-
import { cn } from '../../lib/utils.js';
|
|
20
|
-
import { DELETED_MESSAGE_PLACEHOLDER } from '../../lib/constants.js';
|
|
21
|
-
import { Avatar, AvatarImage, AvatarFallback } from './avatar.js';
|
|
22
|
-
import { Button } from './button.js';
|
|
23
|
-
import { Tooltip, TooltipContent, TooltipTrigger } from './tooltip.js';
|
|
24
|
-
import { HoverCard, HoverCardContent, HoverCardTrigger } from './hover-card.js';
|
|
25
|
-
// ============================================================================
|
|
26
|
-
// Helper Functions
|
|
27
|
-
// ============================================================================
|
|
28
|
-
/**
|
|
29
|
-
* Check if a date is today
|
|
30
|
-
*/
|
|
31
|
-
function is_today(date) {
|
|
32
|
-
const today = new Date();
|
|
33
|
-
return (date.getDate() === today.getDate() &&
|
|
34
|
-
date.getMonth() === today.getMonth() &&
|
|
35
|
-
date.getFullYear() === today.getFullYear());
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Format timestamp with timezone (short format for display)
|
|
39
|
-
* Includes date prefix in dd/MMM format if message is from a previous day
|
|
40
|
-
*/
|
|
41
|
-
function format_timestamp(timestamp, timezone) {
|
|
42
|
-
try {
|
|
43
|
-
const date = new Date(timestamp);
|
|
44
|
-
const zoned_date = toZonedTime(date, timezone);
|
|
45
|
-
// Check if message is from today
|
|
46
|
-
if (is_today(zoned_date)) {
|
|
47
|
-
return format(zoned_date, 'HH:mm');
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
// Include date prefix for messages before today
|
|
51
|
-
return format(zoned_date, 'dd/MMM HH:mm');
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
catch {
|
|
55
|
-
const date = new Date(timestamp);
|
|
56
|
-
if (is_today(date)) {
|
|
57
|
-
return format(date, 'HH:mm');
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
return format(date, 'dd/MMM HH:mm');
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Format full timestamp with timezone (for hovercard display)
|
|
66
|
-
*/
|
|
67
|
-
function format_full_timestamp(timestamp, timezone) {
|
|
68
|
-
try {
|
|
69
|
-
const date = new Date(timestamp);
|
|
70
|
-
const zoned_date = toZonedTime(date, timezone);
|
|
71
|
-
return format(zoned_date, 'PPpp'); // Full date and time format
|
|
72
|
-
}
|
|
73
|
-
catch {
|
|
74
|
-
return format(new Date(timestamp), 'PPpp');
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Get initials from name
|
|
79
|
-
*/
|
|
80
|
-
function get_initials(name) {
|
|
81
|
-
if (!name)
|
|
82
|
-
return '?';
|
|
83
|
-
return name
|
|
84
|
-
.split(' ')
|
|
85
|
-
.map((part) => part[0])
|
|
86
|
-
.join('')
|
|
87
|
-
.substring(0, 2)
|
|
88
|
-
.toUpperCase();
|
|
89
|
-
}
|
|
90
|
-
// ============================================================================
|
|
91
|
-
// Component
|
|
92
|
-
// ============================================================================
|
|
93
|
-
export function ChatBubble({ message, is_sender, sender_profile, timezone, on_delete, on_reference_click, is_highlighted = false, show_delete_button = true, bubble_radius = 'default', className }) {
|
|
94
|
-
const [show_delete_confirm, set_show_delete_confirm] = useState(false);
|
|
95
|
-
const is_deleted = message.deleted_at !== null;
|
|
96
|
-
const display_text = is_deleted ? DELETED_MESSAGE_PLACEHOLDER : message.message_text;
|
|
97
|
-
const has_references = message.reference_list && message.reference_list.length > 0;
|
|
98
|
-
// Handle delete click
|
|
99
|
-
const handle_delete_click = useCallback(() => {
|
|
100
|
-
if (show_delete_confirm) {
|
|
101
|
-
on_delete?.();
|
|
102
|
-
set_show_delete_confirm(false);
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
set_show_delete_confirm(true);
|
|
106
|
-
// Auto-hide after 3 seconds
|
|
107
|
-
setTimeout(() => set_show_delete_confirm(false), 3000);
|
|
108
|
-
}
|
|
109
|
-
}, [show_delete_confirm, on_delete]);
|
|
110
|
-
// Handle reference click
|
|
111
|
-
const handle_reference_click = useCallback((reference) => {
|
|
112
|
-
on_reference_click?.(reference);
|
|
113
|
-
}, [on_reference_click]);
|
|
114
|
-
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(HoverCard, { children: [_jsx(HoverCardTrigger, { asChild: true, children: _jsxs(Avatar, { className: "cls_bubble_avatar h-8 w-8 mr-2 flex-shrink-0 cursor-pointer", 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) })] }) }), _jsx(HoverCardContent, { className: "w-80", side: "right", align: "start", children: _jsxs("div", { className: "cls_hovercard_content flex flex-col gap-4", children: [sender_profile && (_jsxs("div", { className: "cls_profile_info flex items-center gap-3", children: [_jsxs(Avatar, { className: "cls_hovercard_avatar h-12 w-12", children: [_jsx(AvatarImage, { src: sender_profile.avatar_url, alt: `${sender_profile.name} avatar` }), _jsx(AvatarFallback, { children: get_initials(sender_profile.name) })] }), _jsxs("div", { className: "cls_profile_details flex flex-col gap-1", children: [_jsx("span", { className: "text-sm font-semibold", children: sender_profile.name }), sender_profile.email && (_jsx("span", { className: "text-xs text-muted-foreground", children: sender_profile.email }))] })] })), _jsx("div", { className: "cls_divider border-t border-border" }), _jsxs("div", { className: "cls_sent_info flex flex-col gap-1", children: [_jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Sent" }), _jsx("span", { className: "text-sm font-semibold", children: format_full_timestamp(message.created_at, timezone) })] }), message.read_at && (_jsxs("div", { className: "cls_read_info flex flex-col gap-1", children: [_jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Read" }), _jsx("span", { className: "text-sm font-semibold text-green-600 dark:text-green-400", children: format_full_timestamp(message.read_at, timezone) })] })), !message.read_at && (_jsxs("div", { className: "cls_read_info flex flex-col gap-1", children: [_jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Read" }), _jsx("span", { className: "text-sm font-medium text-muted-foreground italic", children: "Not read yet" })] }))] }) })] })), _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 relative',
|
|
115
|
-
// Background colors
|
|
116
|
-
is_sender
|
|
117
|
-
? 'bg-primary text-primary-foreground'
|
|
118
|
-
: 'bg-muted text-foreground',
|
|
119
|
-
// Bubble radius styling
|
|
120
|
-
bubble_radius === 'full'
|
|
121
|
-
? 'rounded-2xl' // Fully round all corners (1rem = 16px)
|
|
122
|
-
: is_sender
|
|
123
|
-
? 'rounded-[16px_16px_6px_16px]' // Default sender style
|
|
124
|
-
: 'rounded-[16px_16px_16px_6px]', // Default receiver style
|
|
125
|
-
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
|
|
126
|
-
? 'hover:bg-primary-foreground/20'
|
|
127
|
-
: '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))) })), show_delete_button && 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 mt-1', is_sender ? 'justify-end mr-1' : 'ml-1'), style: { flexDirection: 'row' }, children: [_jsx("span", { className: "cls_bubble_time text-xs text-muted-foreground", children: format_timestamp(message.created_at, timezone) }), is_sender && (_jsxs(_Fragment, { children: [message.read_at && (_jsx(IoCheckmarkDoneSharp, { className: "h-4 w-4 text-green-500 flex-shrink-0" })), !message.read_at && (_jsx(IoCheckmark, { className: "h-4 w-4 text-muted-foreground flex-shrink-0" }))] }))] })] }), is_sender && (_jsxs(HoverCard, { children: [_jsx(HoverCardTrigger, { asChild: true, children: _jsxs(Avatar, { className: "cls_bubble_avatar h-8 w-8 ml-2 flex-shrink-0 cursor-pointer", 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) })] }) }), _jsx(HoverCardContent, { className: "w-80", side: "left", align: "start", children: _jsxs("div", { className: "cls_hovercard_content flex flex-col gap-4", children: [sender_profile && (_jsxs("div", { className: "cls_profile_info flex items-center gap-3", children: [_jsxs(Avatar, { className: "cls_hovercard_avatar h-12 w-12", children: [_jsx(AvatarImage, { src: sender_profile.avatar_url, alt: `${sender_profile.name} avatar` }), _jsx(AvatarFallback, { children: get_initials(sender_profile.name) })] }), _jsxs("div", { className: "cls_profile_details flex flex-col gap-1", children: [_jsx("span", { className: "text-sm font-semibold", children: sender_profile.name }), sender_profile.email && (_jsx("span", { className: "text-xs text-muted-foreground", children: sender_profile.email }))] })] })), _jsx("div", { className: "cls_divider border-t border-border" }), _jsxs("div", { className: "cls_sent_info flex flex-col gap-1", children: [_jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Sent" }), _jsx("span", { className: "text-sm font-semibold", children: format_full_timestamp(message.created_at, timezone) })] }), message.read_at && (_jsxs("div", { className: "cls_read_info flex flex-col gap-1", children: [_jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Read" }), _jsx("span", { className: "text-sm font-semibold text-green-600 dark:text-green-400", children: format_full_timestamp(message.read_at, timezone) })] })), !message.read_at && (_jsxs("div", { className: "cls_read_info flex flex-col gap-1", children: [_jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Read" }), _jsx("span", { className: "text-sm font-medium text-muted-foreground italic", children: "Not read yet" })] }))] }) })] }))] }));
|
|
128
|
-
}
|
|
129
|
-
ChatBubble.displayName = 'ChatBubble';
|
|
130
|
-
//# 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":"AAAA;;;;;;;;;;;GAWG;AAEH,YAAY,CAAC;;AAEb,OAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAEzB,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;GAEG;AACH,SAAS,QAAQ,CAAC,IAAU;IAC1B,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;IACzB,OAAO,CACL,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE;QAClC,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE;QACpC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAC3C,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,SAAiB,EAAE,QAAgB;IAC3D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE/C,iCAAiC;QACjC,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,gDAAgD;YAChD,OAAO,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,SAAiB,EAAE,QAAgB;IAChE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,4BAA4B;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,IAAa;IACjC,IAAI,CAAC,IAAI;QAAE,OAAO,GAAG,CAAC;IACtB,OAAO,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACtB,IAAI,CAAC,EAAE,CAAC;SACR,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;SACf,WAAW,EAAE,CAAC;AACnB,CAAC;AAED,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,MAAM,UAAU,UAAU,CAAC,EACzB,OAAO,EACP,SAAS,EACT,cAAc,EACd,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,cAAc,GAAG,KAAK,EACtB,kBAAkB,GAAG,IAAI,EACzB,aAAa,GAAG,SAAS,EACzB,SAAS,EACO;IAChB,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEvE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC;IAC/C,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IACrF,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IAEnF,sBAAsB;IACtB,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,IAAI,mBAAmB,EAAE,CAAC;YACxB,SAAS,EAAE,EAAE,CAAC;YACd,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC9B,4BAA4B;YAC5B,UAAU,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,EAAE,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC;IAErC,yBAAyB;IACzB,MAAM,sBAAsB,GAAG,WAAW,CACxC,CAAC,SAA4B,EAAE,EAAE;QAC/B,kBAAkB,EAAE,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC,EACD,CAAC,kBAAkB,CAAC,CACrB,CAAC;IAEF,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,yBAAyB,EACzB,wBAAwB,EACxB,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,EAC3C,cAAc,IAAI,uDAAuD,EACzE,SAAS,CACV,EACD,EAAE,EAAE,WAAW,OAAO,CAAC,EAAE,EAAE,aAG1B,CAAC,SAAS,IAAI,CACb,MAAC,SAAS,eACR,KAAC,gBAAgB,IAAC,OAAO,kBACvB,MAAC,MAAM,IAAC,SAAS,EAAC,6DAA6D,aAC7E,KAAC,WAAW,IACV,GAAG,EAAE,cAAc,EAAE,UAAU,EAC/B,GAAG,EAAE,GAAG,cAAc,EAAE,IAAI,IAAI,MAAM,SAAS,GAC/C,EACF,KAAC,cAAc,IAAC,SAAS,EAAC,SAAS,YAChC,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,GACpB,IACV,GACQ,EACnB,KAAC,gBAAgB,IAAC,SAAS,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,YAC3D,eAAK,SAAS,EAAC,2CAA2C,aAEvD,cAAc,IAAI,CACjB,eAAK,SAAS,EAAC,0CAA0C,aACvD,MAAC,MAAM,IAAC,SAAS,EAAC,gCAAgC,aAChD,KAAC,WAAW,IACV,GAAG,EAAE,cAAc,CAAC,UAAU,EAC9B,GAAG,EAAE,GAAG,cAAc,CAAC,IAAI,SAAS,GACpC,EACF,KAAC,cAAc,cACZ,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,GACnB,IACV,EACT,eAAK,SAAS,EAAC,yCAAyC,aACtD,eAAM,SAAS,EAAC,uBAAuB,YAAE,cAAc,CAAC,IAAI,GAAQ,EACnE,cAAc,CAAC,KAAK,IAAI,CACvB,eAAM,SAAS,EAAC,+BAA+B,YAC5C,cAAc,CAAC,KAAK,GAChB,CACR,IACG,IACF,CACP,EAGD,cAAK,SAAS,EAAC,oCAAoC,GAAG,EAGtD,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAM,SAAS,EAAC,2CAA2C,qBAAY,EACvE,eAAM,SAAS,EAAC,uBAAuB,YACpC,qBAAqB,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,GAC/C,IACH,EAEL,OAAO,CAAC,OAAO,IAAI,CAClB,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAM,SAAS,EAAC,2CAA2C,qBAAY,EACvE,eAAM,SAAS,EAAC,0DAA0D,YACvE,qBAAqB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,GAC5C,IACH,CACP,EACA,CAAC,OAAO,CAAC,OAAO,IAAI,CACnB,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAM,SAAS,EAAC,2CAA2C,qBAAY,EACvE,eAAM,SAAS,EAAC,kDAAkD,6BAE3D,IACH,CACP,IACG,GACW,IACT,CACb,EAGD,eAAK,SAAS,EAAC,8CAA8C,aAE1D,CAAC,SAAS,IAAI,cAAc,EAAE,IAAI,IAAI,CACrC,eAAM,SAAS,EAAC,2DAA2D,YACxE,cAAc,CAAC,IAAI,GACf,CACR,EAGD,eACE,SAAS,EAAE,EAAE,CACX,YAAY,EACZ,oBAAoB;wBACpB,oBAAoB;wBACpB,SAAS;4BACP,CAAC,CAAC,oCAAoC;4BACtC,CAAC,CAAC,0BAA0B;wBAC9B,wBAAwB;wBACxB,aAAa,KAAK,MAAM;4BACtB,CAAC,CAAC,aAAa,CAAC,wCAAwC;4BACxD,CAAC,CAAC,SAAS;gCACT,CAAC,CAAC,8BAA8B,CAAC,uBAAuB;gCACxD,CAAC,CAAC,8BAA8B,EAAE,yBAAyB;wBAC/D,UAAU,IAAI,mBAAmB,CAClC,aAGD,YAAG,SAAS,EAAC,yDAAyD,YACnE,YAAY,GACX,EAGH,cAAc,IAAI,CAAC,UAAU,IAAI,CAChC,cAAK,SAAS,EAAC,iFAAiF,YAC7F,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACpC,MAAC,MAAM,IAEL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAC1C,SAAS,EAAE,EAAE,CACX,0BAA0B,EAC1B,kBAAkB,EAClB,SAAS;wCACP,CAAC,CAAC,gCAAgC;wCAClC,CAAC,CAAC,wBAAwB,CAC7B,aAED,KAAC,qBAAqB,IAAC,SAAS,EAAC,cAAc,GAAG,EAClD,eAAM,SAAS,EAAC,wBAAwB,YAAE,GAAG,CAAC,IAAI,GAAQ,KAbrD,GAAG,CAAC,EAAE,CAcJ,CACV,CAAC,GACE,CACP,EAGA,kBAAkB,IAAI,SAAS,IAAI,CAAC,UAAU,IAAI,SAAS,IAAI,CAC9D,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBACrB,KAAC,MAAM,IACL,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,EACtD,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,mBAAmB,EAC5B,SAAS,EAAE,EAAE,CACX,uBAAuB,EACvB,2CAA2C,EAC3C,SAAS,EACT,sDAAsD,CACvD,YAED,KAAC,cAAc,IAAC,SAAS,EAAC,aAAa,GAAG,GACnC,GACM,EACjB,KAAC,cAAc,cACZ,mBAAmB,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,gBAAgB,GACnD,IACT,CACX,IACG,EAGN,eACE,SAAS,EAAE,EAAE,CACX,iBAAiB,EACjB,8BAA8B,EAC9B,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CACxC,EACD,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAG/B,eAAM,SAAS,EAAC,+CAA+C,YAC5D,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,GAC1C,EAEN,SAAS,IAAI,CACZ,8BAEG,OAAO,CAAC,OAAO,IAAI,CAClB,KAAC,oBAAoB,IAAC,SAAS,EAAC,sCAAsC,GAAG,CAC1E,EAEA,CAAC,OAAO,CAAC,OAAO,IAAI,CACnB,KAAC,WAAW,IAAC,SAAS,EAAC,6CAA6C,GAAG,CACxE,IACA,CACJ,IACG,IACF,EAGL,SAAS,IAAI,CACZ,MAAC,SAAS,eACR,KAAC,gBAAgB,IAAC,OAAO,kBACvB,MAAC,MAAM,IAAC,SAAS,EAAC,6DAA6D,aAC7E,KAAC,WAAW,IACV,GAAG,EAAE,cAAc,EAAE,UAAU,EAC/B,GAAG,EAAC,aAAa,GACjB,EACF,KAAC,cAAc,IAAC,SAAS,EAAC,oCAAoC,YAC3D,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,GACpB,IACV,GACQ,EACnB,KAAC,gBAAgB,IAAC,SAAS,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,OAAO,YAC1D,eAAK,SAAS,EAAC,2CAA2C,aAEvD,cAAc,IAAI,CACjB,eAAK,SAAS,EAAC,0CAA0C,aACvD,MAAC,MAAM,IAAC,SAAS,EAAC,gCAAgC,aAChD,KAAC,WAAW,IACV,GAAG,EAAE,cAAc,CAAC,UAAU,EAC9B,GAAG,EAAE,GAAG,cAAc,CAAC,IAAI,SAAS,GACpC,EACF,KAAC,cAAc,cACZ,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,GACnB,IACV,EACT,eAAK,SAAS,EAAC,yCAAyC,aACtD,eAAM,SAAS,EAAC,uBAAuB,YAAE,cAAc,CAAC,IAAI,GAAQ,EACnE,cAAc,CAAC,KAAK,IAAI,CACvB,eAAM,SAAS,EAAC,+BAA+B,YAC5C,cAAc,CAAC,KAAK,GAChB,CACR,IACG,IACF,CACP,EAGD,cAAK,SAAS,EAAC,oCAAoC,GAAG,EAGtD,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAM,SAAS,EAAC,2CAA2C,qBAAY,EACvE,eAAM,SAAS,EAAC,uBAAuB,YACpC,qBAAqB,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,GAC/C,IACH,EAEL,OAAO,CAAC,OAAO,IAAI,CAClB,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAM,SAAS,EAAC,2CAA2C,qBAAY,EACvE,eAAM,SAAS,EAAC,0DAA0D,YACvE,qBAAqB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,GAC5C,IACH,CACP,EACA,CAAC,OAAO,CAAC,OAAO,IAAI,CACnB,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAM,SAAS,EAAC,2CAA2C,qBAAY,EACvE,eAAM,SAAS,EAAC,kDAAkD,6BAE3D,IACH,CACP,IACG,GACW,IACT,CACb,IACG,CACP,CAAC;AACJ,CAAC;AAED,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HoverCard Component
|
|
3
|
-
*
|
|
4
|
-
* A popup card that appears when hovering over a trigger element.
|
|
5
|
-
* Used to show additional information like user profiles on hover.
|
|
6
|
-
*/
|
|
7
|
-
import * as React from 'react';
|
|
8
|
-
import * as HoverCardPrimitive from '@radix-ui/react-hover-card';
|
|
9
|
-
declare const HoverCard: React.FC<HoverCardPrimitive.HoverCardProps>;
|
|
10
|
-
declare const HoverCardTrigger: React.ForwardRefExoticComponent<HoverCardPrimitive.HoverCardTriggerProps & React.RefAttributes<HTMLAnchorElement>>;
|
|
11
|
-
declare const HoverCardContent: React.ForwardRefExoticComponent<Omit<HoverCardPrimitive.HoverCardContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
12
|
-
export { HoverCard, HoverCardTrigger, HoverCardContent };
|
|
13
|
-
//# sourceMappingURL=hover-card.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hover-card.d.ts","sourceRoot":"","sources":["../../../src/components/ui/hover-card.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,kBAAkB,MAAM,4BAA4B,CAAC;AAGjE,QAAA,MAAM,SAAS,6CAA0B,CAAC;AAE1C,QAAA,MAAM,gBAAgB,oHAA6B,CAAC;AAEpD,QAAA,MAAM,gBAAgB,oKAcpB,CAAC;AAGH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HoverCard Component
|
|
3
|
-
*
|
|
4
|
-
* A popup card that appears when hovering over a trigger element.
|
|
5
|
-
* Used to show additional information like user profiles on hover.
|
|
6
|
-
*/
|
|
7
|
-
'use client';
|
|
8
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
-
import * as React from 'react';
|
|
10
|
-
import * as HoverCardPrimitive from '@radix-ui/react-hover-card';
|
|
11
|
-
import { cn } from '../../lib/utils.js';
|
|
12
|
-
const HoverCard = HoverCardPrimitive.Root;
|
|
13
|
-
const HoverCardTrigger = HoverCardPrimitive.Trigger;
|
|
14
|
-
const HoverCardContent = React.forwardRef(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (_jsx(HoverCardPrimitive.Content, { ref: ref, align: align, sideOffset: sideOffset, className: cn('z-50 w-64 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', className), ...props })));
|
|
15
|
-
HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
|
|
16
|
-
export { HoverCard, HoverCardTrigger, HoverCardContent };
|
|
17
|
-
//# sourceMappingURL=hover-card.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hover-card.js","sourceRoot":"","sources":["../../../src/components/ui/hover-card.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,kBAAkB,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC;AAE1C,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,OAAO,CAAC;AAEpD,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAGvC,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,QAAQ,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACpE,KAAC,kBAAkB,CAAC,OAAO,IACzB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,EAAE,CACX,4aAA4a,EAC5a,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC,CAAC;AACH,gBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC;AAEtE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1,19 +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 { HoverCard, HoverCardTrigger, HoverCardContent } from './hover-card.js';
|
|
15
|
-
export { Separator } from './separator.js';
|
|
16
|
-
export { Badge, badge_variants, type BadgeProps } from './badge.js';
|
|
17
|
-
export { ChatBubble } from './chat_bubble.js';
|
|
18
|
-
export { LoadingSkeleton } from './loading_skeleton.js';
|
|
19
|
-
//# 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,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAChF,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"}
|