hazo_chat 2.0.8 → 2.0.10

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 CHANGED
@@ -20,6 +20,7 @@ A full-featured React chat component library for 1-1 communication with document
20
20
  ## Table of Contents
21
21
 
22
22
  - [Installation](#installation)
23
+ - [UI Requirements](#ui-requirements)
23
24
  - [Quick Start](#quick-start)
24
25
  - [API Routes Setup](#api-routes-setup)
25
26
  - [Props Reference](#props-reference)
@@ -37,6 +38,260 @@ A full-featured React chat component library for 1-1 communication with document
37
38
  npm install hazo_chat hazo_connect next
38
39
  ```
39
40
 
41
+ ## UI Requirements
42
+
43
+ hazo_chat requires the following UI setup to match the design standards:
44
+
45
+ ### Required UI Dependencies
46
+
47
+ Install these packages in your consuming project:
48
+
49
+ ```bash
50
+ npm install sonner @radix-ui/react-alert-dialog
51
+ ```
52
+
53
+ ### Required UI Components (shadcn/ui style)
54
+
55
+ The following components must be available in your project at `@/components/ui/`:
56
+
57
+ - `AlertDialog` - For user acknowledgment dialogs (must be created by consuming project)
58
+ - `Button` - Included in hazo_chat package
59
+ - `Input` - Included in hazo_chat package
60
+ - All other components are included in hazo_chat package
61
+
62
+ **Note:** The `AlertDialog` component is not included in the hazo_chat package. You must create it using shadcn/ui Alert Dialog component. See `test-app/src/components/ui/alert-dialog.tsx` for a reference implementation.
63
+
64
+ ### Required Global Providers
65
+
66
+ Add Sonner Toaster to your root layout:
67
+
68
+ ```tsx
69
+ // app/layout.tsx
70
+ import { Toaster } from 'sonner';
71
+
72
+ export default function RootLayout({ children }) {
73
+ return (
74
+ <html>
75
+ <body>
76
+ {children}
77
+ <Toaster position="top-right" richColors />
78
+ </body>
79
+ </html>
80
+ );
81
+ }
82
+ ```
83
+
84
+ ### Required Tailwind Configuration
85
+
86
+ Your `tailwind.config.ts` must include hazo_chat package paths in content:
87
+
88
+ ```typescript
89
+ export default {
90
+ content: [
91
+ // ... your existing paths
92
+ './node_modules/hazo_chat/dist/**/*.{js,ts,jsx,tsx}',
93
+ ],
94
+ // ... rest of config
95
+ };
96
+ ```
97
+
98
+ **Important:** Without this configuration, Tailwind classes used by hazo_chat components may not be compiled, causing styling issues.
99
+
100
+ ### Required CSS Variables
101
+
102
+ Your global CSS must define these CSS variables (shadcn/ui standard):
103
+
104
+ **Core Colors:**
105
+ - `--background`, `--foreground`
106
+ - `--primary`, `--primary-foreground`
107
+ - `--secondary`, `--secondary-foreground`
108
+ - `--muted`, `--muted-foreground`
109
+ - `--accent`, `--accent-foreground`
110
+ - `--destructive`, `--destructive-foreground`
111
+
112
+ **Border and Input:**
113
+ - `--border`, `--input`, `--ring`
114
+
115
+ **Card:**
116
+ - `--card`, `--card-foreground`
117
+
118
+ See `test-app/src/app/globals.css` for complete variable definitions with example values.
119
+
120
+ ### UI Design Standards
121
+
122
+ This section defines the visual design standards and component behavior specifications for hazo_chat. All consuming projects should follow these standards to ensure consistent UI appearance and behavior.
123
+
124
+ #### Visual Design Elements
125
+
126
+ **Document Preview Icon:**
127
+ - Location: Empty state in document viewer (`HazoChatDocumentViewer`)
128
+ - Icon: `IoDocumentOutline` (from `react-icons/io5`)
129
+ - Size: `w-12 h-12` (48px × 48px)
130
+ - Opacity: `opacity-50`
131
+ - Text: "Select a document to preview" in `text-sm`
132
+
133
+ **REFERENCES Section Font:**
134
+ - Location: References section header
135
+ - Font size: `text-[9px]` (9px)
136
+ - Font weight: `font-medium`
137
+ - Text transform: `uppercase`
138
+ - Letter spacing: `tracking-wider`
139
+ - Color: `text-muted-foreground`
140
+
141
+ **Input Area Padding:**
142
+ - Location: Chat input container (`HazoChatInput`)
143
+ - Padding: `p-4` (16px on all sides)
144
+ - Border: `border-t` (top border only)
145
+ - Background: `bg-background`
146
+
147
+ **Message Timestamp Display:**
148
+ - Location: Chat bubble footer (`ChatBubble`)
149
+ - Only timestamp is displayed (no status icons for sent/unread messages)
150
+ - Font size: `text-xs`
151
+ - Color: `text-muted-foreground`
152
+ - Format: 24-hour format (e.g., "10:37 AM", "15:51")
153
+ - Timezone: Respects `timezone` prop (default: "GMT+10")
154
+
155
+ **Read Receipt Indicator:**
156
+ - Location: Chat bubble footer, after timestamp
157
+ - Icon: `IoCheckmarkDoneSharp` (from `react-icons/io5`)
158
+ - Size: `h-4 w-4` (16px × 16px)
159
+ - Color: `text-green-500`
160
+ - Display condition: Only shown when `read_at` is not null AND message is from sender
161
+ - Position: After timestamp with `gap-1` spacing
162
+
163
+ #### Component Behavior
164
+
165
+ **Close Button:**
166
+ - Visibility: Always visible when `on_close` prop is provided to `HazoChat` component
167
+ - Icon: `IoClose` (from `react-icons/io5`)
168
+ - Size: `h-8 w-8` (32px × 32px)
169
+ - Variant: `ghost`
170
+ - Hover state: `hover:bg-destructive/10 hover:text-destructive`
171
+ - Position: Top-right of header, after refresh button
172
+
173
+ **Hamburger Menu Button:**
174
+ - Desktop behavior: Hidden (`md:hidden` class)
175
+ - Mobile behavior: Visible on screens < 768px
176
+ - Purpose: Toggle document viewer sidebar on mobile
177
+ - Icon: `IoMenuOutline` (from `react-icons/io5`)
178
+ - Size: `h-8 w-8` (32px × 32px)
179
+ - Position: Top-left of header, before title
180
+
181
+ **Important:** If hamburger button appears on desktop, check Tailwind CSS configuration and ensure `md:` breakpoint utilities are working correctly.
182
+
183
+ **Document Viewer Toggle Button:**
184
+ - Icon: Chevron (`IoChevronBack` when expanded, `IoChevronForward` when collapsed)
185
+ - Size: `h-8 w-6` (32px height × 24px width)
186
+ - Position: Absolute, vertically centered between columns
187
+ - Variant: `outline`
188
+ - Border: `rounded-r-md rounded-l-none border-l-0`
189
+ - Behavior: Smooth transitions with `transition-all duration-300`
190
+ - Desktop: Visible when document viewer column is present
191
+ - Mobile: Hidden when sidebar is closed
192
+
193
+ **References Section Collapse/Expand:**
194
+ - Collapsed height: `max-h-8`
195
+ - Expanded height: `max-h-96`
196
+ - Transition: `transition-all duration-300 ease-in-out`
197
+ - Indicator: Chevron icon (`IoChevronDown` when collapsed, `IoChevronUp` when expanded)
198
+ - Default state: Collapsed when no references, expanded when references exist
199
+
200
+ #### Layout Standards
201
+
202
+ **Chat Input Area:**
203
+ - Layout: Flex container with `flex items-center gap-2`
204
+ - Components: Single `Input` field and Send button (`Button` with `IoSend` icon)
205
+ - No attachment buttons: Attachment/image buttons removed for simplified design
206
+ - Input padding: `p-4` on container
207
+ - Button alignment: Aligned with input height using flex
208
+
209
+ **Button Alignment and Sizing:**
210
+ - Send button: Standard button size, aligned with input
211
+ - All interactive buttons: Consistent sizing for visual harmony
212
+ - Icon sizes within buttons: `w-4 h-4` (16px × 16px)
213
+
214
+ **Responsive Breakpoints:**
215
+ - Mobile: < 768px (default)
216
+ - Desktop: >= 768px (`md:` prefix)
217
+ - Standard Tailwind breakpoints used throughout
218
+
219
+ #### Container Requirements
220
+
221
+ **Important:** When wrapping HazoChat in containers (e.g., Card components):
222
+
223
+ 1. **Avoid nested `overflow-hidden`**: Nested overflow-hidden containers can clip rounded corners. Use overflow-hidden only on the HazoChat component itself.
224
+
225
+ 2. **Padding**: If wrapping in a Card, ensure proper padding is maintained. Avoid `p-0` on CardContent as it may affect internal spacing.
226
+
227
+ 3. **Tailwind Configuration**: Ensure `./node_modules/hazo_chat/dist/**/*.{js,ts,jsx,tsx}` is included in your Tailwind `content` array so all utility classes (including `rounded-*` classes) are compiled.
228
+
229
+ #### Typography
230
+
231
+ **Font Families:**
232
+ - Primary: System font stack or custom font via `--font-sans` CSS variable
233
+ - Monospace: System monospace or custom font via `--font-mono` CSS variable
234
+
235
+ **Font Sizes:**
236
+ - Header title: `text-sm` (14px)
237
+ - Header subtitle: `text-xs` (12px)
238
+ - Message text: `text-sm` (14px)
239
+ - Timestamp: `text-xs` (12px)
240
+ - References header: `text-[9px]` (9px)
241
+ - Empty state text: `text-sm` (14px)
242
+
243
+ #### Spacing and Padding
244
+
245
+ **Standard Padding Values:**
246
+ - Container padding: `p-4` (16px)
247
+ - Header padding: `px-4` (16px horizontal)
248
+ - Message bubble padding: `px-4 py-2` (16px horizontal, 8px vertical)
249
+ - Gap between elements: `gap-2` (8px) or `gap-1` (4px) for tight spacing
250
+
251
+ #### Animation and Transitions
252
+
253
+ **Standard Transitions:**
254
+ - Component state changes: `transition-all duration-300`
255
+ - Hover states: `transition-colors`
256
+ - Smooth animations for expand/collapse: `ease-in-out`
257
+
258
+ **Loading States:**
259
+ - Skeleton loaders for initial message load
260
+ - Spinner animation for refresh button when loading
261
+
262
+ #### Accessibility
263
+
264
+ **ARIA Labels:**
265
+ All interactive elements must have appropriate ARIA labels:
266
+ - Input fields: `aria-label="Message input"`
267
+ - Buttons: `aria-label` describing action (e.g., "Send message", "Refresh chat history")
268
+ - Close button: `aria-label="Close chat"`
269
+ - Toggle buttons: `aria-label` and `aria-expanded` attributes
270
+
271
+ **Keyboard Navigation:**
272
+ - Send message: Enter key
273
+ - Close dialogs: Escape key (handled by Alert Dialog component)
274
+
275
+ #### Component Dependencies
276
+
277
+ **Required External Components:**
278
+ The following components must be available in consuming projects:
279
+ 1. **AlertDialog** (shadcn/ui style) - Used for user acknowledgment dialogs, not included in hazo_chat package
280
+ 2. **Toaster** (from `sonner` package) - Used for toast notifications, must be added to root layout with `position="top-right"` and `richColors` prop
281
+
282
+ **Included Components:**
283
+ The following UI components are included in hazo_chat package:
284
+ - Button, Input, Textarea, Avatar, ScrollArea, Tooltip, Separator, Badge
285
+ - ChatBubble (chat-specific), LoadingSkeleton (chat-specific)
286
+
287
+ **Example References:**
288
+ For complete implementation examples, see:
289
+ - `test-app/src/app/page.tsx` - Usage example
290
+ - `test-app/src/app/layout.tsx` - Toaster setup
291
+ - `test-app/src/components/ui/alert-dialog.tsx` - Alert Dialog implementation
292
+ - `test-app/src/app/globals.css` - CSS variables example
293
+ - `test-app/tailwind.config.ts` - Tailwind configuration example
294
+
40
295
  ## Quick Start
41
296
 
42
297
  ### Step 1: Create API Routes
@@ -480,6 +735,22 @@ import { DEFAULT_POLLING_INTERVAL, MIME_TYPE_MAP } from 'hazo_chat/lib';
480
735
  4. **CORS errors**
481
736
  - API routes should be on the same domain as the frontend
482
737
 
738
+ 5. **UI components not styled correctly**
739
+ - Ensure Tailwind config includes hazo_chat package paths in `content` array
740
+ - Verify CSS variables are defined in `globals.css`
741
+ - Check that all UI dependencies are installed (see [UI Requirements](#ui-requirements))
742
+ - Rebuild CSS: `rm -rf .next` and restart dev server
743
+
744
+ 6. **Toast notifications not appearing**
745
+ - Ensure Sonner Toaster is added to root layout (see [UI Requirements](#ui-requirements))
746
+ - Check that `sonner` package is installed
747
+ - Verify `<Toaster position="top-right" richColors />` is in layout body
748
+
749
+ 7. **Alert Dialog not working**
750
+ - Create Alert Dialog component at `src/components/ui/alert-dialog.tsx`
751
+ - See `test-app/src/components/ui/alert-dialog.tsx` for reference implementation
752
+ - Ensure `@radix-ui/react-alert-dialog` is installed
753
+
483
754
  ## Related Packages
484
755
 
485
756
  - [hazo_connect](https://github.com/pub12/hazo_connect) - Database adapter
@@ -11,9 +11,11 @@ A comprehensive, step-by-step guide for setting up hazo_chat in a Next.js projec
11
11
  3. [Database Setup](#3-database-setup)
12
12
  4. [API Routes](#4-api-routes)
13
13
  5. [Component Integration](#5-component-integration)
14
- 6. [Configuration (Optional)](#6-configuration-optional)
15
- 7. [Verification Checklist](#7-verification-checklist)
16
- 8. [Troubleshooting](#8-troubleshooting)
14
+ 6. [UI Components and Styling Setup](#6-ui-components-and-styling-setup)
15
+ 7. [Configuration (Optional)](#7-configuration-optional)
16
+ 8. [UI Design Standards Compliance](#8-ui-design-standards-compliance)
17
+ 9. [Verification Checklist](#9-verification-checklist)
18
+ 10. [Troubleshooting](#10-troubleshooting)
17
19
 
18
20
  ---
19
21
 
@@ -306,7 +308,327 @@ export default function ChatPage() {
306
308
 
307
309
  ---
308
310
 
309
- ## 6. Configuration (Optional)
311
+ ## 6. UI Components and Styling Setup
312
+
313
+ ### Step 6.1: Install UI Dependencies
314
+
315
+ Install the required UI packages:
316
+
317
+ ```bash
318
+ npm install sonner @radix-ui/react-alert-dialog
319
+ ```
320
+
321
+ **Verification:**
322
+ - [ ] `sonner` package installed
323
+ - [ ] `@radix-ui/react-alert-dialog` installed
324
+ - [ ] `package.json` contains both dependencies
325
+
326
+ ### Step 6.2: Create Alert Dialog Component
327
+
328
+ **File:** `src/components/ui/alert-dialog.tsx`
329
+
330
+ Create the Alert Dialog component using shadcn/ui style. This component is used for messages requiring user acknowledgment.
331
+
332
+ **Reference Implementation:** See `test-app/src/components/ui/alert-dialog.tsx` for a complete example.
333
+
334
+ **Minimum Required Structure:**
335
+
336
+ ```typescript
337
+ "use client"
338
+
339
+ import * as React from "react"
340
+ import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog"
341
+ import { Button } from "@/components/ui/button"
342
+ import { cn } from "@/lib/utils"
343
+
344
+ const AlertDialog = AlertDialogPrimitive.Root
345
+ const AlertDialogTrigger = AlertDialogPrimitive.Trigger
346
+ const AlertDialogPortal = AlertDialogPrimitive.Portal
347
+
348
+ const AlertDialogOverlay = React.forwardRef<
349
+ React.ElementRef<typeof AlertDialogPrimitive.Overlay>,
350
+ React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>
351
+ >(({ className, ...props }, ref) => (
352
+ <AlertDialogPrimitive.Overlay
353
+ className={cn(
354
+ "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
355
+ className
356
+ )}
357
+ {...props}
358
+ ref={ref}
359
+ />
360
+ ))
361
+ AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName
362
+
363
+ const AlertDialogContent = React.forwardRef<
364
+ React.ElementRef<typeof AlertDialogPrimitive.Content>,
365
+ React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>
366
+ >(({ className, ...props }, ref) => (
367
+ <AlertDialogPortal>
368
+ <AlertDialogOverlay />
369
+ <AlertDialogPrimitive.Content
370
+ ref={ref}
371
+ className={cn(
372
+ "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
373
+ className
374
+ )}
375
+ {...props}
376
+ />
377
+ </AlertDialogPortal>
378
+ ))
379
+ AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName
380
+
381
+ const AlertDialogHeader = ({
382
+ className,
383
+ ...props
384
+ }: React.HTMLAttributes<HTMLDivElement>) => (
385
+ <div
386
+ className={cn(
387
+ "flex flex-col space-y-2 text-center sm:text-left",
388
+ className
389
+ )}
390
+ {...props}
391
+ />
392
+ )
393
+ AlertDialogHeader.displayName = "AlertDialogHeader"
394
+
395
+ const AlertDialogFooter = ({
396
+ className,
397
+ ...props
398
+ }: React.HTMLAttributes<HTMLDivElement>) => (
399
+ <div
400
+ className={cn(
401
+ "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
402
+ className
403
+ )}
404
+ {...props}
405
+ />
406
+ )
407
+ AlertDialogFooter.displayName = "AlertDialogFooter"
408
+
409
+ const AlertDialogTitle = React.forwardRef<
410
+ React.ElementRef<typeof AlertDialogPrimitive.Title>,
411
+ React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>
412
+ >(({ className, ...props }, ref) => (
413
+ <AlertDialogPrimitive.Title
414
+ ref={ref}
415
+ className={cn("text-lg font-semibold", className)}
416
+ {...props}
417
+ />
418
+ ))
419
+ AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName
420
+
421
+ const AlertDialogDescription = React.forwardRef<
422
+ React.ElementRef<typeof AlertDialogPrimitive.Description>,
423
+ React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>
424
+ >(({ className, ...props }, ref) => (
425
+ <AlertDialogPrimitive.Description
426
+ ref={ref}
427
+ className={cn("text-sm text-muted-foreground", className)}
428
+ {...props}
429
+ />
430
+ ))
431
+ AlertDialogDescription.displayName =
432
+ AlertDialogPrimitive.Description.displayName
433
+
434
+ const AlertDialogAction = React.forwardRef<
435
+ React.ElementRef<typeof AlertDialogPrimitive.Action>,
436
+ React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action>
437
+ >(({ className, ...props }, ref) => (
438
+ <AlertDialogPrimitive.Action
439
+ ref={ref}
440
+ className={cn(
441
+ "inline-flex h-10 items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-semibold text-primary-foreground ring-offset-background transition-colors hover:bg-primary/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
442
+ className
443
+ )}
444
+ {...props}
445
+ />
446
+ ))
447
+ AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName
448
+
449
+ const AlertDialogCancel = React.forwardRef<
450
+ React.ElementRef<typeof AlertDialogPrimitive.Cancel>,
451
+ React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel>
452
+ >(({ className, ...props }, ref) => (
453
+ <AlertDialogPrimitive.Cancel
454
+ ref={ref}
455
+ className={cn(
456
+ "mt-2 sm:mt-0",
457
+ className
458
+ )}
459
+ {...props}
460
+ />
461
+ ))
462
+ AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName
463
+
464
+ export {
465
+ AlertDialog,
466
+ AlertDialogPortal,
467
+ AlertDialogOverlay,
468
+ AlertDialogTrigger,
469
+ AlertDialogContent,
470
+ AlertDialogHeader,
471
+ AlertDialogFooter,
472
+ AlertDialogTitle,
473
+ AlertDialogDescription,
474
+ AlertDialogAction,
475
+ AlertDialogCancel,
476
+ }
477
+ ```
478
+
479
+ **Verification:**
480
+ - [ ] Alert Dialog component created at `src/components/ui/alert-dialog.tsx`
481
+ - [ ] Component exports all required sub-components
482
+ - [ ] No TypeScript errors
483
+
484
+ ### Step 6.3: Setup Sonner Toaster
485
+
486
+ **File:** `src/app/layout.tsx`
487
+
488
+ Add the Sonner Toaster component to your root layout for toast notifications:
489
+
490
+ ```tsx
491
+ import { Toaster } from 'sonner';
492
+
493
+ export default function RootLayout({ children }: { children: React.ReactNode }) {
494
+ return (
495
+ <html lang="en">
496
+ <body>
497
+ {children}
498
+ <Toaster position="top-right" richColors />
499
+ </body>
500
+ </html>
501
+ );
502
+ }
503
+ ```
504
+
505
+ **Verification:**
506
+ - [ ] `Toaster` imported from `sonner`
507
+ - [ ] Toaster added to root layout
508
+ - [ ] Position set to `top-right`
509
+ - [ ] `richColors` prop enabled
510
+
511
+ ### Step 6.4: Configure Tailwind CSS
512
+
513
+ **File:** `tailwind.config.ts`
514
+
515
+ Ensure hazo_chat package is included in Tailwind content paths:
516
+
517
+ ```typescript
518
+ import type { Config } from 'tailwindcss';
519
+
520
+ const config: Config = {
521
+ content: [
522
+ './src/pages/**/*.{js,ts,jsx,tsx,mdx}',
523
+ './src/components/**/*.{js,ts,jsx,tsx,mdx}',
524
+ './src/app/**/*.{js,ts,jsx,tsx,mdx}',
525
+ // Include hazo_chat package components
526
+ './node_modules/hazo_chat/dist/**/*.{js,ts,jsx,tsx}',
527
+ ],
528
+ // ... rest of your config
529
+ };
530
+
531
+ export default config;
532
+ ```
533
+
534
+ **Important:** Without this configuration, Tailwind classes used by hazo_chat components will not be compiled, causing styling issues.
535
+
536
+ **Verification:**
537
+ - [ ] `tailwind.config.ts` includes hazo_chat package path
538
+ - [ ] Path matches your `node_modules` location
539
+ - [ ] Config syntax is valid
540
+
541
+ ### Step 6.5: Setup CSS Variables
542
+
543
+ **File:** `src/app/globals.css`
544
+
545
+ Ensure all required CSS variables are defined. hazo_chat uses shadcn/ui standard CSS variables:
546
+
547
+ ```css
548
+ @tailwind base;
549
+ @tailwind components;
550
+ @tailwind utilities;
551
+
552
+ @layer base {
553
+ :root {
554
+ --radius: 0.5rem;
555
+ --background: 0 0% 100%;
556
+ --foreground: 0 0% 3.9%;
557
+ --card: 0 0% 100%;
558
+ --card-foreground: 0 0% 3.9%;
559
+ --popover: 0 0% 100%;
560
+ --popover-foreground: 0 0% 3.9%;
561
+ --primary: 0 0% 9%;
562
+ --primary-foreground: 0 0% 98%;
563
+ --secondary: 0 0% 96.1%;
564
+ --secondary-foreground: 0 0% 9%;
565
+ --muted: 0 0% 96.1%;
566
+ --muted-foreground: 0 0% 45.1%;
567
+ --accent: 0 0% 96.1%;
568
+ --accent-foreground: 0 0% 9%;
569
+ --destructive: 0 84.2% 60.2%;
570
+ --destructive-foreground: 0 0% 98%;
571
+ --border: 0 0% 89.8%;
572
+ --input: 0 0% 89.8%;
573
+ --ring: 0 0% 3.9%;
574
+ }
575
+
576
+ .dark {
577
+ --background: 0 0% 3.9%;
578
+ --foreground: 0 0% 98%;
579
+ --card: 0 0% 3.9%;
580
+ --card-foreground: 0 0% 98%;
581
+ --popover: 0 0% 3.9%;
582
+ --popover-foreground: 0 0% 98%;
583
+ --primary: 0 0% 98%;
584
+ --primary-foreground: 0 0% 9%;
585
+ --secondary: 0 0% 14.9%;
586
+ --secondary-foreground: 0 0% 98%;
587
+ --muted: 0 0% 14.9%;
588
+ --muted-foreground: 0 0% 63.9%;
589
+ --accent: 0 0% 14.9%;
590
+ --accent-foreground: 0 0% 98%;
591
+ --destructive: 0 62.8% 30.6%;
592
+ --destructive-foreground: 0 0% 98%;
593
+ --border: 0 0% 14.9%;
594
+ --input: 0 0% 14.9%;
595
+ --ring: 0 0% 83.1%;
596
+ }
597
+ }
598
+
599
+ @layer base {
600
+ * {
601
+ @apply border-border;
602
+ }
603
+
604
+ body {
605
+ @apply bg-background text-foreground;
606
+ }
607
+ }
608
+ ```
609
+
610
+ **Reference:** See `test-app/src/app/globals.css` for a complete example with oklch color format.
611
+
612
+ **Verification:**
613
+ - [ ] All required CSS variables defined in `:root`
614
+ - [ ] Dark mode variables defined (if supporting dark mode)
615
+ - [ ] Tailwind directives included (`@tailwind base`, etc.)
616
+ - [ ] Base layer styles applied
617
+
618
+ ### UI Setup Verification Checklist
619
+
620
+ - [ ] All UI dependencies installed
621
+ - [ ] Alert Dialog component created and working
622
+ - [ ] Sonner Toaster added to root layout
623
+ - [ ] Tailwind config includes hazo_chat paths
624
+ - [ ] CSS variables defined in globals.css
625
+ - [ ] No build errors related to UI components
626
+ - [ ] Toast notifications working
627
+ - [ ] Alert dialogs displaying correctly
628
+
629
+ ---
630
+
631
+ ## 7. Configuration (Optional)
310
632
 
311
633
  ### hazo_connect Configuration
312
634
 
@@ -350,7 +672,43 @@ module.exports = nextConfig;
350
672
 
351
673
  ---
352
674
 
353
- ## 7. Verification Checklist
675
+ ## 8. UI Design Standards Compliance
676
+
677
+ ### Visual Design Verification
678
+
679
+ **Document Preview:**
680
+ - [ ] Empty state shows `IoDocumentOutline` icon (not image icon)
681
+ - [ ] Icon size is 48px × 48px with 50% opacity
682
+
683
+ **REFERENCES Section:**
684
+ - [ ] Font size is 9px (`text-[9px]`)
685
+ - [ ] Text is uppercase with wide letter spacing
686
+ - [ ] Section is collapsible with chevron indicator
687
+
688
+ **Input Area:**
689
+ - [ ] Padding is 16px (`p-4`) on all sides
690
+ - [ ] Input field and send button are properly aligned
691
+
692
+ **Message Display:**
693
+ - [ ] Only timestamp shown under messages (no status icons)
694
+ - [ ] Double green checkmark (`IoCheckmarkDoneSharp`) appears when message is read
695
+ - [ ] Checkmark only shows for sender's messages with `read_at` not null
696
+
697
+ **Header:**
698
+ - [ ] Close button visible when `on_close` prop provided
699
+ - [ ] Hamburger menu hidden on desktop (screens >= 768px)
700
+ - [ ] Hamburger menu visible on mobile (screens < 768px)
701
+
702
+ **Document Viewer:**
703
+ - [ ] Toggle button visible between viewer and chat area
704
+ - [ ] Smooth expand/collapse transitions
705
+ - [ ] Button position adjusts correctly
706
+
707
+ For detailed specifications, see the [UI Design Standards](#ui-design-standards) section in README.md.
708
+
709
+ ---
710
+
711
+ ## 9. Verification Checklist
354
712
 
355
713
  ### Installation Verification
356
714
  - [ ] All packages installed without errors
@@ -423,7 +781,7 @@ curl "http://localhost:3000/api/hazo_chat/messages?receiver_user_id=user-id"
423
781
 
424
782
  ---
425
783
 
426
- ## 8. Troubleshooting
784
+ ## 10. Troubleshooting
427
785
 
428
786
  ### Error: "Module not found: Can't resolve 'fs'"
429
787
 
@@ -501,6 +859,49 @@ curl "http://localhost:3000/api/hazo_chat/messages?receiver_user_id=user-id"
501
859
  3. Check for JavaScript errors in console
502
860
  4. Verify API returns `{ success: true, messages: [] }` format
503
861
 
862
+ ### Issue: UI components not styled correctly
863
+
864
+ **Possible Causes:**
865
+ 1. Tailwind CSS not configured to include hazo_chat package paths
866
+ 2. CSS variables not defined in globals.css
867
+ 3. Missing UI dependencies
868
+
869
+ **Solution:**
870
+ 1. Ensure `tailwind.config.ts` includes: `'./node_modules/hazo_chat/dist/**/*.{js,ts,jsx,tsx}'` in content array
871
+ 2. Verify all required CSS variables are defined (see Step 6.5)
872
+ 3. Check that `@tailwind base`, `@tailwind components`, `@tailwind utilities` are in globals.css
873
+ 4. Rebuild: `rm -rf .next` and `npm run build`
874
+
875
+ ### Issue: Alert Dialog not working
876
+
877
+ **Cause:** Alert Dialog component not created or not properly imported.
878
+
879
+ **Solution:**
880
+ 1. Create Alert Dialog component at `src/components/ui/alert-dialog.tsx`
881
+ 2. See `test-app/src/components/ui/alert-dialog.tsx` for reference
882
+ 3. Ensure `@radix-ui/react-alert-dialog` is installed
883
+ 4. Verify component exports all required sub-components
884
+
885
+ ### Issue: Toast notifications not appearing
886
+
887
+ **Cause:** Sonner Toaster not added to root layout.
888
+
889
+ **Solution:**
890
+ 1. Import `Toaster` from `sonner` in root layout
891
+ 2. Add `<Toaster position="top-right" richColors />` to layout body
892
+ 3. Ensure `sonner` package is installed
893
+ 4. Check browser console for errors
894
+
895
+ ### Issue: CSS variables not applying
896
+
897
+ **Cause:** CSS variables not defined or Tailwind not processing them.
898
+
899
+ **Solution:**
900
+ 1. Verify CSS variables are in `globals.css` under `@layer base { :root { ... } }`
901
+ 2. Check that Tailwind config has correct content paths
902
+ 3. Ensure CSS file is imported in root layout
903
+ 4. Rebuild CSS: restart dev server or rebuild
904
+
504
905
  ---
505
906
 
506
907
  ## Quick Setup Summary
@@ -1 +1 @@
1
- {"version":3,"file":"hazo_chat.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_chat/hazo_chat.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,KAAK,EACV,aAAa,EAId,MAAM,sBAAsB,CAAC;AA2Y9B;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,2CAmD5C;yBAnDe,QAAQ"}
1
+ {"version":3,"file":"hazo_chat.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_chat/hazo_chat.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,KAAK,EACV,aAAa,EAId,MAAM,sBAAsB,CAAC;AA6Y9B;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,2CAmD5C;yBAnDe,QAAQ"}
@@ -157,13 +157,15 @@ function HazoChatInner({ receiver_user_id, reference_id = '', reference_type = '
157
157
  return (_jsxs("div", { className: cn('cls_hazo_chat', 'flex flex-col h-full w-full', 'bg-background rounded-lg border overflow-hidden', className), children: [_jsx(HazoChatHeader, { title: title, subtitle: subtitle, on_close: on_close, on_refresh: refresh_messages, is_refreshing: is_loading_messages,
158
158
  // Only show hamburger button on mobile for sidebar toggle
159
159
  // On desktop, document viewer is always visible, so no toggle needed
160
- on_toggle_sidebar: toggle_sidebar, is_sidebar_open: is_sidebar_open }), _jsx("div", { className: cn('cls_references_row border-b bg-muted/30 transition-all duration-300 ease-in-out overflow-hidden', is_references_expanded ? 'max-h-96' : 'max-h-8'), children: _jsxs("div", { className: "cls_references_container px-3 py-2", children: [_jsxs("button", { onClick: () => set_is_references_expanded(!is_references_expanded), className: "cls_references_header flex items-center justify-between w-full gap-2 mb-1.5 hover:bg-muted/50 rounded px-1 -mx-1 transition-colors", "aria-label": is_references_expanded ? 'Collapse references' : 'Expand references', "aria-expanded": is_references_expanded, children: [_jsx("h3", { className: "text-[9px] font-medium text-muted-foreground uppercase tracking-wider", children: "References" }), is_references_expanded ? (_jsx(IoChevronUp, { className: "w-3 h-3 text-muted-foreground flex-shrink-0" })) : (_jsx(IoChevronDown, { className: "w-3 h-3 text-muted-foreground flex-shrink-0" }))] }), is_references_expanded && (_jsx("div", { className: "cls_references_content", children: _jsx(HazoChatReferenceList, { references: references, selected_reference_id: selected_reference?.id, on_select: handle_reference_select, className: "flex-wrap" }) }))] }) }), _jsxs("div", { className: "cls_main_content flex flex-1 overflow-hidden relative", children: [_jsx("div", { className: cn('cls_doc_preview_column', 'border-r bg-muted/20', 'flex-shrink-0 flex flex-col', 'transition-all duration-300 ease-in-out overflow-hidden',
160
+ on_toggle_sidebar: toggle_sidebar, is_sidebar_open: is_sidebar_open }), _jsx("div", { className: cn('cls_references_row border-b bg-muted/30 transition-all duration-300 ease-in-out overflow-hidden', is_references_expanded ? 'max-h-96' : 'max-h-8'), children: _jsxs("div", { className: "cls_references_container px-3 py-2", children: [_jsxs("button", { onClick: () => set_is_references_expanded(!is_references_expanded), className: "cls_references_header flex items-center justify-between w-full gap-2 mb-1.5 hover:bg-muted/50 rounded px-1 -mx-1 transition-colors", "aria-label": is_references_expanded ? 'Collapse references' : 'Expand references', "aria-expanded": is_references_expanded, children: [_jsx("h3", { className: "text-[9px] font-medium text-muted-foreground uppercase tracking-wider", children: "References" }), is_references_expanded ? (_jsx(IoChevronUp, { className: "w-3 h-3 text-muted-foreground flex-shrink-0" })) : (_jsx(IoChevronDown, { className: "w-3 h-3 text-muted-foreground flex-shrink-0" }))] }), is_references_expanded && (_jsx("div", { className: "cls_references_content", children: _jsx(HazoChatReferenceList, { references: references, selected_reference_id: selected_reference?.id, on_select: handle_reference_select, className: "flex-wrap" }) }))] }) }), _jsxs("div", { className: "cls_main_content flex flex-1 overflow-hidden relative h-full min-h-0", children: [_jsx("div", { className: cn('cls_doc_preview_column', 'border-r bg-muted/20', 'flex-shrink-0 flex flex-col', 'transition-all duration-300 ease-in-out overflow-hidden',
161
161
  // Mobile: hidden by default, shown when sidebar is open
162
162
  is_sidebar_open ? 'flex' : 'hidden md:flex',
163
163
  // Collapse/expand based on state
164
164
  is_document_viewer_expanded
165
165
  ? 'w-[280px] md:w-[320px] lg:w-[380px]'
166
- : 'w-0 border-r-0'), children: is_document_viewer_expanded && (_jsx(HazoChatDocumentViewer, { reference: selected_reference || undefined })) }), _jsx(Button, { variant: "outline", size: "icon", onClick: () => set_is_document_viewer_expanded(!is_document_viewer_expanded), className: cn('cls_doc_viewer_toggle', 'absolute top-1/2 -translate-y-1/2 z-10', 'h-8 w-6 rounded-r-md rounded-l-none border-l-0', 'bg-background hover:bg-accent', 'transition-all duration-300',
166
+ : 'w-0 border-r-0'), children: is_document_viewer_expanded && (_jsx(HazoChatDocumentViewer, { reference: selected_reference || undefined })) }), _jsx(Button, { variant: "outline", size: "icon", onClick: () => set_is_document_viewer_expanded(!is_document_viewer_expanded), className: cn('cls_doc_viewer_toggle', 'absolute z-10', 'h-8 w-6 rounded-r-md rounded-l-none border-l-0', 'bg-background hover:bg-accent', 'transition-all duration-300',
167
+ // Center vertically using flex on parent or fixed positioning
168
+ 'top-[50%] -translate-y-1/2',
167
169
  // Hide on mobile when sidebar is closed
168
170
  (!is_sidebar_open ? 'hidden md:flex' : 'flex'), is_document_viewer_expanded
169
171
  ? 'left-[280px] md:left-[320px] lg:left-[380px]'
@@ -1 +1 @@
1
- {"version":3,"file":"hazo_chat.js","sourceRoot":"","sources":["../../../src/components/hazo_chat/hazo_chat.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hazo_chat.js","sourceRoot":"","sources":["../../../src/components/hazo_chat/hazo_chat.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat_bubble.d.ts","sourceRoot":"","sources":["../../../src/components/ui/chat_bubble.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAYH,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,sBAAsB,CAAC;AA4C/E,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,SAAS,EACT,cAAc,EACd,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,cAAsB,EACtB,SAAS,EACV,EAAE,eAAe,2CAyJjB;yBAlKe,UAAU"}
1
+ {"version":3,"file":"chat_bubble.d.ts","sourceRoot":"","sources":["../../../src/components/ui/chat_bubble.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,sBAAsB,CAAC;AA4C/E,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,SAAS,EACT,cAAc,EACd,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,cAAsB,EACtB,SAAS,EACV,EAAE,eAAe,2CAgKjB;yBAzKe,UAAU"}
@@ -15,7 +15,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
15
  import { useState, useCallback } from 'react';
16
16
  import { format } from 'date-fns';
17
17
  import { toZonedTime } from 'date-fns-tz';
18
- import { IoTrashOutline, IoDocumentAttachSharp } from 'react-icons/io5';
18
+ import { IoTrashOutline, IoDocumentAttachSharp, IoCheckmarkDoneSharp } from 'react-icons/io5';
19
19
  import { cn } from '../../lib/utils.js';
20
20
  import { DELETED_MESSAGE_PLACEHOLDER } from '../../lib/constants.js';
21
21
  import { Avatar, AvatarImage, AvatarFallback } from './avatar.js';
@@ -74,11 +74,15 @@ export function ChatBubble({ message, is_sender, sender_profile, timezone, on_de
74
74
  const handle_reference_click = useCallback((reference) => {
75
75
  on_reference_click?.(reference);
76
76
  }, [on_reference_click]);
77
- 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
78
- ? 'bg-primary text-primary-foreground rounded-br-md'
79
- : '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
77
+ 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 relative',
78
+ // Explicit rounded corners using Tailwind's arbitrary value syntax for better compatibility
79
+ // Top-left, Top-right, Bottom-right, Bottom-left
80
+ is_sender
81
+ ? 'bg-primary text-primary-foreground rounded-[16px_16px_6px_16px]'
82
+ : 'bg-muted text-foreground rounded-[16px_16px_16px_6px]', 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
80
83
  ? 'hover:bg-primary-foreground/20'
81
- : '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' })] }))] }), _jsx("div", { className: cn('cls_bubble_meta', 'flex items-center 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) }) })] }), 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) })] }))] }));
84
+ : '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 flex-row items-center gap-1 mt-1', // Explicitly set flex-row to prevent any reversal
85
+ is_sender ? 'justify-end mr-1' : 'ml-1'), children: [_jsx("span", { className: "cls_bubble_time text-xs text-muted-foreground order-1", children: format_timestamp(message.created_at, timezone) }), is_sender && message.read_at && (_jsx(IoCheckmarkDoneSharp, { className: "h-4 w-4 text-green-500 flex-shrink-0 order-2" }))] })] }), 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) })] }))] }));
82
86
  }
83
87
  ChatBubble.displayName = 'ChatBubble';
84
88
  //# sourceMappingURL=chat_bubble.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat_bubble.js","sourceRoot":"","sources":["../../../src/components/ui/chat_bubble.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat_bubble.js","sourceRoot":"","sources":["../../../src/components/ui/chat_bubble.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hazo_chat",
3
- "version": "2.0.8",
3
+ "version": "2.0.10",
4
4
  "description": "Chat interface for 1-1 communication with API-first architecture",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",