@b3-crow/ui-kit 0.0.31-pr25.10 → 0.0.31-pr30.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/components/cards/PricingCard.d.ts +35 -0
  2. package/dist/components/cards/PricingCard.d.ts.map +1 -0
  3. package/dist/components/cards/PricingCard.js +42 -0
  4. package/dist/components/cards/PricingCard.js.map +1 -0
  5. package/dist/components/dashboard/ChatHistorySection.d.ts.map +1 -1
  6. package/dist/components/dashboard/ChatHistorySection.js +25 -47
  7. package/dist/components/dashboard/ChatHistorySection.js.map +1 -1
  8. package/dist/components/dashboard/DashboardBackground.d.ts +1 -1
  9. package/dist/components/dashboard/DashboardBackground.d.ts.map +1 -1
  10. package/dist/components/dashboard/DashboardBackground.js +7 -79
  11. package/dist/components/dashboard/DashboardBackground.js.map +1 -1
  12. package/dist/components/dashboard/FilterDropdown.d.ts.map +1 -1
  13. package/dist/components/dashboard/FilterDropdown.js +54 -7
  14. package/dist/components/dashboard/FilterDropdown.js.map +1 -1
  15. package/dist/components/dashboard/GlassPanel.d.ts.map +1 -1
  16. package/dist/components/dashboard/GlassPanel.js.map +1 -1
  17. package/dist/components/dashboard/Header.d.ts.map +1 -1
  18. package/dist/components/dashboard/Header.js +83 -44
  19. package/dist/components/dashboard/Header.js.map +1 -1
  20. package/dist/components/dashboard/IconBadge.d.ts +1 -1
  21. package/dist/components/dashboard/IconBadge.d.ts.map +1 -1
  22. package/dist/components/dashboard/IconBadge.js +13 -1
  23. package/dist/components/dashboard/IconBadge.js.map +1 -1
  24. package/dist/components/dashboard/MetricsCard.js +4 -2
  25. package/dist/components/dashboard/MetricsCard.js.map +1 -1
  26. package/dist/components/dashboard/MobileSidebar.d.ts.map +1 -1
  27. package/dist/components/dashboard/MobileSidebar.js +3 -20
  28. package/dist/components/dashboard/MobileSidebar.js.map +1 -1
  29. package/dist/components/dashboard/NavMenu.d.ts.map +1 -1
  30. package/dist/components/dashboard/NavMenu.js +27 -106
  31. package/dist/components/dashboard/NavMenu.js.map +1 -1
  32. package/dist/components/dashboard/PatternCard.d.ts +1 -1
  33. package/dist/components/dashboard/PatternCard.d.ts.map +1 -1
  34. package/dist/components/dashboard/PatternCard.js +1 -1
  35. package/dist/components/dashboard/PatternCard.js.map +1 -1
  36. package/dist/components/dashboard/SearchInput.d.ts +0 -1
  37. package/dist/components/dashboard/SearchInput.d.ts.map +1 -1
  38. package/dist/components/dashboard/SearchInput.js +5 -10
  39. package/dist/components/dashboard/SearchInput.js.map +1 -1
  40. package/dist/components/dashboard/SectionHeader.d.ts.map +1 -1
  41. package/dist/components/dashboard/SectionHeader.js +3 -6
  42. package/dist/components/dashboard/SectionHeader.js.map +1 -1
  43. package/dist/components/dashboard/SettingsDropup.d.ts.map +1 -1
  44. package/dist/components/dashboard/SettingsDropup.js +6 -140
  45. package/dist/components/dashboard/SettingsDropup.js.map +1 -1
  46. package/dist/components/dashboard/SettingsModal.d.ts.map +1 -1
  47. package/dist/components/dashboard/SettingsModal.js +9 -184
  48. package/dist/components/dashboard/SettingsModal.js.map +1 -1
  49. package/dist/components/dashboard/SidePanel.d.ts.map +1 -1
  50. package/dist/components/dashboard/SidePanel.js +41 -7
  51. package/dist/components/dashboard/SidePanel.js.map +1 -1
  52. package/dist/components/dashboard/Sidebar.d.ts +1 -1
  53. package/dist/components/dashboard/Sidebar.d.ts.map +1 -1
  54. package/dist/components/dashboard/Sidebar.js +2 -30
  55. package/dist/components/dashboard/Sidebar.js.map +1 -1
  56. package/dist/components/dashboard/SidebarLogo.d.ts.map +1 -1
  57. package/dist/components/dashboard/SidebarLogo.js +1 -41
  58. package/dist/components/dashboard/SidebarLogo.js.map +1 -1
  59. package/dist/components/dashboard/SourceIcon.d.ts.map +1 -1
  60. package/dist/components/dashboard/SourceIcon.js +5 -1
  61. package/dist/components/dashboard/SourceIcon.js.map +1 -1
  62. package/dist/components/dashboard/StatusBadge.d.ts +2 -2
  63. package/dist/components/dashboard/StatusBadge.d.ts.map +1 -1
  64. package/dist/components/dashboard/StatusBadge.js.map +1 -1
  65. package/dist/components/dashboard/StatusIndicator.d.ts.map +1 -1
  66. package/dist/components/dashboard/StatusIndicator.js +1 -4
  67. package/dist/components/dashboard/StatusIndicator.js.map +1 -1
  68. package/dist/components/dashboard/ToggleSwitch.d.ts +1 -1
  69. package/dist/components/dashboard/ToggleSwitch.d.ts.map +1 -1
  70. package/dist/components/dashboard/ToggleSwitch.js +10 -26
  71. package/dist/components/dashboard/ToggleSwitch.js.map +1 -1
  72. package/dist/components/dashboard/index.d.ts +1 -1
  73. package/dist/components/dashboard/index.d.ts.map +1 -1
  74. package/dist/components/dashboard/index.js +1 -1
  75. package/dist/components/dashboard/index.js.map +1 -1
  76. package/dist/components/dashboard/types.d.ts +3 -0
  77. package/dist/components/dashboard/types.d.ts.map +1 -1
  78. package/dist/components/index.d.ts +2 -1
  79. package/dist/components/index.d.ts.map +1 -1
  80. package/dist/components/index.js +2 -1
  81. package/dist/components/index.js.map +1 -1
  82. package/dist/components/layout/Navbar.js +1 -1
  83. package/dist/components/layout/Navbar.js.map +1 -1
  84. package/dist/styles.css +1 -1
  85. package/package.json +1 -1
@@ -0,0 +1,35 @@
1
+ import { ReactNode } from 'react';
2
+ export interface PricingFeature {
3
+ label: string;
4
+ included: boolean;
5
+ }
6
+ export interface PricingInfoItem {
7
+ icon: ReactNode;
8
+ text: string;
9
+ }
10
+ export interface PricingCardProps {
11
+ icon: ReactNode;
12
+ category: string;
13
+ title: string;
14
+ description: string;
15
+ price: number | string;
16
+ period?: string;
17
+ interactions?: string;
18
+ patterns?: string;
19
+ infoItems?: PricingInfoItem[];
20
+ features: PricingFeature[];
21
+ isPopular?: boolean;
22
+ popularBadgeText?: string;
23
+ accentColor?: string;
24
+ borderColor?: string;
25
+ hoverBorderColor?: string;
26
+ backgroundColor?: string;
27
+ className?: string;
28
+ buttonText?: string;
29
+ onButtonClick?: () => void;
30
+ checkIcon?: ReactNode;
31
+ animated?: boolean;
32
+ animationDelay?: number;
33
+ }
34
+ export declare function PricingCard({ icon, category, title, description, price, period, interactions, patterns, infoItems, features, isPopular, popularBadgeText, accentColor, borderColor, hoverBorderColor, backgroundColor, className, buttonText, onButtonClick, checkIcon, animated, animationDelay, }: PricingCardProps): import("react/jsx-runtime").JSX.Element;
35
+ //# sourceMappingURL=PricingCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PricingCard.d.ts","sourceRoot":"","sources":["../../../src/components/cards/PricingCard.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMlC,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,WAAW,EACX,KAAK,EACL,MAAa,EACb,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAiB,EACjB,gBAAiC,EACjC,WAAuB,EACvB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,SAAc,EACd,UAAU,EACV,aAAa,EACb,SAAS,EACT,QAAe,EACf,cAAkB,GACnB,EAAE,gBAAgB,2CAsIlB"}
@@ -0,0 +1,42 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { motion } from 'framer-motion';
4
+ import { IoCheckmarkCircleOutline } from 'react-icons/io5';
5
+ import { PiHeadCircuit } from 'react-icons/pi';
6
+ import { MdOutlineTouchApp } from 'react-icons/md';
7
+ export function PricingCard({ icon, category, title, description, price, period = 'mo', interactions, patterns, infoItems, features, isPopular = false, popularBadgeText = 'MOST POPULAR', accentColor = '#8B5CF6', borderColor, hoverBorderColor, backgroundColor, className = '', buttonText, onButtonClick, checkIcon, animated = true, animationDelay = 0, }) {
8
+ const defaultBorderColor = borderColor || (isPopular ? '#7C3AED80' : 'rgba(255, 255, 255, 0.1)');
9
+ const defaultHoverBorderColor = hoverBorderColor || 'rgba(255, 255, 255, 0.2)';
10
+ const defaultBackgroundColor = backgroundColor || 'bg-gradient-to-b from-white/5 to-transparent';
11
+ const displayInfoItems = infoItems || [
12
+ ...(interactions
13
+ ? [
14
+ {
15
+ icon: _jsx(MdOutlineTouchApp, { className: "h-4 w-4 text-gray-400" }),
16
+ text: interactions,
17
+ },
18
+ ]
19
+ : []),
20
+ ...(patterns
21
+ ? [
22
+ {
23
+ icon: _jsx(PiHeadCircuit, { className: "h-4 w-4 text-gray-400" }),
24
+ text: patterns,
25
+ },
26
+ ]
27
+ : []),
28
+ ];
29
+ const CardContent = (_jsxs("div", { className: `relative flex h-full flex-col rounded-2xl border ${defaultBackgroundColor} p-5 backdrop-blur-sm transition-all ${className}`, style: {
30
+ borderColor: defaultBorderColor,
31
+ '--hover-border-color': defaultHoverBorderColor,
32
+ }, onMouseEnter: e => {
33
+ e.currentTarget.style.borderColor = defaultHoverBorderColor;
34
+ }, onMouseLeave: e => {
35
+ e.currentTarget.style.borderColor = defaultBorderColor;
36
+ }, children: [isPopular && (_jsx("div", { className: "absolute -top-3 left-1/2 -translate-x-1/2", children: _jsx("span", { className: "rounded-full bg-purple-500 px-4 py-1 text-xs font-semibold text-white", children: popularBadgeText }) })), _jsxs("div", { className: "flex-grow", children: [_jsxs("div", { className: "flex items-center justify-between mb-5", children: [_jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-lg border border-white/10", style: { backgroundColor: `${accentColor}15` }, children: icon }), _jsx("span", { className: "text-xs font-medium uppercase tracking-wider text-gray-400", children: category })] }), _jsx("h3", { className: "mb-1.5 text-xl font-bold", style: { color: accentColor }, children: title }), _jsx("p", { className: "mb-5 text-sm text-gray-400", children: description })] }), _jsx("div", { className: "mb-5 border-t border-white/10 pt-5", children: _jsxs("div", { className: "flex items-baseline gap-1", children: [_jsx("span", { className: "text-3xl font-bold text-white", children: typeof price === 'number' ? `$${price}` : price }), period && _jsxs("span", { className: "text-gray-400", children: ["/", period] })] }) }), displayInfoItems.length > 0 && (_jsx("div", { className: "mb-5 space-y-2.5 text-sm", children: displayInfoItems.map((item, index) => (_jsxs("div", { className: "flex items-center gap-2 text-gray-300", children: [item.icon, _jsx("span", { children: item.text })] }, index))) })), _jsx("div", { className: "space-y-2.5", children: features.map((feature, index) => (_jsxs("div", { className: "flex items-center gap-2.5", children: [checkIcon || (_jsx(IoCheckmarkCircleOutline, { className: `h-4 w-4 ${feature.included ? 'opacity-100' : 'opacity-30'}`, style: { color: feature.included ? accentColor : '#666' } })), _jsx("span", { className: `text-sm ${feature.included ? 'text-gray-200' : 'text-gray-500'}`, children: feature.label })] }, index))) }), buttonText && (_jsx("button", { onClick: onButtonClick, className: "mt-5 w-full rounded-lg py-2.5 text-sm font-semibold text-white transition-all hover:opacity-90", style: { backgroundColor: accentColor }, children: buttonText }))] }));
37
+ if (animated) {
38
+ return (_jsx(motion.div, { className: "h-full", initial: { opacity: 0, y: 20 }, animate: { opacity: 1, y: 0 }, transition: { duration: 0.5, delay: animationDelay }, children: CardContent }));
39
+ }
40
+ return CardContent;
41
+ }
42
+ //# sourceMappingURL=PricingCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PricingCard.js","sourceRoot":"","sources":["../../../src/components/cards/PricingCard.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatHistorySection.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/ChatHistorySection.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAExE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,CAAC;AAEzD,wBAAgB,kBAAkB,CAAC,EACjC,KAAU,EACV,YAAY,EACZ,UAAiB,EACjB,SAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,KAAsB,EACtB,YAAoD,GACrD,EAAE,uBAAuB,kDAkQzB"}
1
+ {"version":3,"file":"ChatHistorySection.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/ChatHistorySection.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAKxE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,CAAC;AAEzD,wBAAgB,kBAAkB,CAAC,EACjC,KAAU,EACV,YAAY,EACZ,UAAiB,EACjB,SAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,KAAsB,EACtB,YAAoD,GACrD,EAAE,uBAAuB,kDA4OzB"}
@@ -1,9 +1,9 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useEffect, useRef, useState } from 'react';
4
3
  import { ChevronDown, MoreHorizontal, Pencil, Trash2 } from 'lucide-react';
4
+ import { useEffect, useRef, useState } from 'react';
5
+ import { cn } from '../../lib/utils';
5
6
  export function ChatHistorySection({ items = [], activeItemId, isExpanded = true, isVisible = true, onItemClick, onToggleExpanded, onRename, onDelete, title = 'Chat History', emptyMessage = 'No chats yet. Start a conversation!', }) {
6
- // Track newly added item for animation
7
7
  const [newItemId, setNewItemId] = useState(null);
8
8
  const [canAnimate, setCanAnimate] = useState(false);
9
9
  const [openMenuId, setOpenMenuId] = useState(null);
@@ -11,24 +11,18 @@ export function ChatHistorySection({ items = [], activeItemId, isExpanded = true
11
11
  const [editValue, setEditValue] = useState('');
12
12
  const menuRef = useRef(null);
13
13
  const inputRef = useRef(null);
14
- // Track all seen item IDs to avoid re-animating
15
14
  const seenItemsRef = useRef(new Set());
16
- // Enable animations only after initial load settles (prevents animation on refresh)
17
15
  useEffect(() => {
18
- // Mark all current items as seen immediately
19
16
  for (const item of items) {
20
17
  seenItemsRef.current.add(item.id);
21
18
  }
22
- // Wait before enabling animations for new items
23
19
  const timer = setTimeout(() => {
24
20
  setCanAnimate(true);
25
21
  }, 600);
26
22
  return () => clearTimeout(timer);
27
- }, []); // Only run once on mount
28
- // Detect truly new items only after animation is enabled
23
+ }, []);
29
24
  useEffect(() => {
30
25
  if (!canAnimate) {
31
- // Still track items as seen even before animation is enabled
32
26
  for (const item of items) {
33
27
  seenItemsRef.current.add(item.id);
34
28
  }
@@ -36,19 +30,19 @@ export function ChatHistorySection({ items = [], activeItemId, isExpanded = true
36
30
  }
37
31
  const seenItems = seenItemsRef.current;
38
32
  const firstItem = items[0];
39
- // Check if the first item is new (not seen before)
40
33
  if (firstItem && !seenItems.has(firstItem.id)) {
41
- setNewItemId(firstItem.id);
42
34
  seenItems.add(firstItem.id);
43
- const timer = setTimeout(() => setNewItemId(null), 350);
44
- return () => clearTimeout(timer);
35
+ const timer = setTimeout(() => setNewItemId(firstItem.id), 0);
36
+ const resetTimer = setTimeout(() => setNewItemId(null), 350);
37
+ return () => {
38
+ clearTimeout(timer);
39
+ clearTimeout(resetTimer);
40
+ };
45
41
  }
46
- // Add any other new items to seen set (without animating)
47
42
  for (const item of items) {
48
43
  seenItems.add(item.id);
49
44
  }
50
45
  }, [items, canAnimate]);
51
- // Close menu when clicking outside
52
46
  useEffect(() => {
53
47
  if (!openMenuId)
54
48
  return;
@@ -60,7 +54,6 @@ export function ChatHistorySection({ items = [], activeItemId, isExpanded = true
60
54
  document.addEventListener('mousedown', handleClickOutside);
61
55
  return () => document.removeEventListener('mousedown', handleClickOutside);
62
56
  }, [openMenuId]);
63
- // Focus input when entering edit mode
64
57
  useEffect(() => {
65
58
  if (editingId && inputRef.current) {
66
59
  inputRef.current.focus();
@@ -71,6 +64,13 @@ export function ChatHistorySection({ items = [], activeItemId, isExpanded = true
71
64
  e.stopPropagation();
72
65
  setOpenMenuId(openMenuId === itemId ? null : itemId);
73
66
  };
67
+ const handleMenuKeyDown = (e, itemId) => {
68
+ if (e.key === 'Enter' || e.key === ' ') {
69
+ e.preventDefault();
70
+ e.stopPropagation();
71
+ setOpenMenuId(openMenuId === itemId ? null : itemId);
72
+ }
73
+ };
74
74
  const handleRenameStart = (item) => {
75
75
  setEditingId(item.id);
76
76
  setEditValue(item.title);
@@ -98,41 +98,19 @@ export function ChatHistorySection({ items = [], activeItemId, isExpanded = true
98
98
  };
99
99
  if (!isVisible)
100
100
  return null;
101
- return (_jsxs("div", { className: "px-4 mt-4 transition-opacity duration-300 ease-in-out", style: { opacity: isVisible ? 1 : 0 }, children: [_jsxs("button", { type: "button", onClick: onToggleExpanded, className: "flex items-center justify-between w-full group", children: [_jsx("span", { className: "text-[13px] font-normal", style: { color: '#9CA3AF', lineHeight: '21px' }, children: title }), _jsx(ChevronDown, { size: 16, className: "text-[#4B5563] transition-transform duration-200", style: {
102
- transform: isExpanded ? 'rotate(0deg)' : 'rotate(-90deg)',
103
- } })] }), _jsx("div", { className: "overflow-hidden transition-all duration-300 ease-in-out", style: {
104
- maxHeight: isExpanded ? `${Math.max(items.length * 42 + 16, 60)}px` : '0px',
101
+ return (_jsxs("div", { className: cn('px-4 mt-4 transition-opacity duration-300 ease-in-out', isVisible ? 'opacity-100' : 'opacity-0'), children: [_jsxs("button", { type: "button", onClick: onToggleExpanded, className: "flex items-center justify-between w-full group", children: [_jsx("span", { className: "text-[13px] font-normal text-gray-400 leading-[21px]", children: title }), _jsx(ChevronDown, { size: 16, className: cn('text-gray-600 transition-transform duration-200', !isExpanded && '-rotate-90') })] }), _jsx("div", { className: "overflow-hidden transition-all duration-300 ease-in-out", style: {
102
+ maxHeight: isExpanded
103
+ ? `${Math.max(items.length * 42 + 16, 60)}px`
104
+ : '0px',
105
105
  opacity: isExpanded ? 1 : 0,
106
- }, children: _jsx("div", { className: "mt-2 flex flex-col gap-1", children: items.length === 0 ? (_jsx("p", { className: "text-[12px] italic py-2", style: { color: '#6B7280' }, children: emptyMessage })) : (items.map((item) => {
106
+ }, children: _jsx("div", { className: "mt-2 flex flex-col gap-1", children: items.length === 0 ? (_jsx("p", { className: "text-xs italic py-2 text-gray-500", children: emptyMessage })) : (items.map(item => {
107
107
  const isActive = item.id === activeItemId;
108
108
  const isNew = item.id === newItemId;
109
109
  const isEditing = editingId === item.id;
110
110
  const isMenuOpen = openMenuId === item.id;
111
- return (_jsxs("div", { className: "relative", ref: isMenuOpen ? menuRef : undefined, children: [_jsxs("button", { type: "button", onClick: () => !isEditing && onItemClick?.(item.id), className: "group relative flex items-center justify-between w-full rounded-lg transition-all duration-200 hover:bg-white/5", style: {
112
- height: 37,
113
- background: isActive ? 'rgba(255, 255, 255, 0.08)' : 'transparent',
114
- boxShadow: isActive
115
- ? '0px 1px 0px 1px rgba(255, 255, 255, 0.05) inset'
116
- : 'none',
117
- outline: isActive ? '1px rgba(255, 255, 255, 0.05) solid' : 'none',
118
- outlineOffset: '-1px',
119
- animation: isNew ? 'chatHistorySlideIn 0.3s ease-out forwards' : 'none',
120
- }, children: [isEditing ? (_jsx("input", { ref: inputRef, type: "text", value: editValue, onChange: (e) => setEditValue(e.target.value), onBlur: handleRenameSubmit, onKeyDown: handleRenameKeyDown, className: "text-[13px] font-bold bg-transparent border-none outline-none pl-3 pr-8 w-full", style: { color: '#E6E6E6', lineHeight: '21px' }, onClick: (e) => e.stopPropagation() })) : (_jsx("span", { className: "text-[13px] font-bold truncate pl-3 pr-8 text-left", style: { color: '#E6E6E6', lineHeight: '21px', maxWidth: 198 }, children: item.title })), isActive && !isEditing && (_jsx("div", { className: "absolute right-2 flex items-center justify-center w-[19px] h-[19px] cursor-pointer hover:bg-white/10 rounded", onClick: (e) => handleMenuClick(e, item.id), children: _jsx(MoreHorizontal, { size: 14, className: "text-white" }) }))] }), isMenuOpen && (_jsxs("div", { className: "absolute right-0 top-full mt-1 z-50 min-w-[140px] rounded-lg overflow-hidden", style: {
121
- background: 'rgba(30, 30, 30, 0.95)',
122
- border: '1px solid rgba(255, 255, 255, 0.1)',
123
- boxShadow: '0 4px 12px rgba(0, 0, 0, 0.5)',
124
- }, children: [_jsxs("button", { type: "button", onClick: () => handleRenameStart(item), className: "flex items-center gap-2 w-full px-3 py-2 text-left hover:bg-white/10 transition-colors", children: [_jsx(Pencil, { size: 14, className: "text-gray-400" }), _jsx("span", { className: "text-[13px] text-gray-200", children: "Rename" })] }), _jsxs("button", { type: "button", onClick: () => handleDelete(item.id), className: "flex items-center gap-2 w-full px-3 py-2 text-left hover:bg-red-500/20 transition-colors", children: [_jsx(Trash2, { size: 14, className: "text-red-400" }), _jsx("span", { className: "text-[13px] text-red-400", children: "Delete" })] })] }))] }, item.id));
125
- })) }) }), _jsx("style", { children: `
126
- @keyframes chatHistorySlideIn {
127
- from {
128
- opacity: 0;
129
- transform: translateX(-20px);
130
- }
131
- to {
132
- opacity: 1;
133
- transform: translateX(0);
134
- }
135
- }
136
- ` })] }));
111
+ return (_jsxs("div", { className: "relative", ref: isMenuOpen ? menuRef : undefined, children: [_jsxs("button", { type: "button", onClick: () => !isEditing && onItemClick?.(item.id), className: cn('group relative flex items-center justify-between w-full rounded-lg transition-all duration-200', 'h-[37px] hover:bg-white/5', isActive &&
112
+ 'bg-white/[0.08] shadow-[inset_0px_1px_0px_1px_rgba(255,255,255,0.05)] outline outline-1 outline-white/[0.05] -outline-offset-1', isNew &&
113
+ 'animate-[chatHistorySlideIn_0.3s_ease-out_forwards]'), children: [isEditing ? (_jsx("input", { ref: inputRef, type: "text", value: editValue, onChange: e => setEditValue(e.target.value), onBlur: handleRenameSubmit, onKeyDown: handleRenameKeyDown, className: "text-[13px] font-bold bg-transparent border-none outline-none pl-3 pr-8 w-full text-gray-200 leading-[21px]", onClick: e => e.stopPropagation() })) : (_jsx("span", { className: "text-[13px] font-bold truncate pl-3 pr-8 text-left text-gray-200 leading-[21px] max-w-[198px]", children: item.title })), isActive && !isEditing && (_jsx("button", { type: "button", className: "absolute right-2 flex items-center justify-center w-[19px] h-[19px] cursor-pointer hover:bg-white/10 rounded", onClick: e => handleMenuClick(e, item.id), onKeyDown: e => handleMenuKeyDown(e, item.id), "aria-label": "Chat options", "aria-haspopup": "menu", "aria-expanded": isMenuOpen, children: _jsx(MoreHorizontal, { size: 14, className: "text-white" }) }))] }), isMenuOpen && (_jsxs("div", { role: "menu", className: "absolute right-0 top-full mt-1 z-50 min-w-[140px] rounded-lg overflow-hidden bg-[rgba(30,30,30,0.95)] border border-white/10 shadow-[0_4px_12px_rgba(0,0,0,0.5)]", children: [_jsxs("button", { type: "button", role: "menuitem", onClick: () => handleRenameStart(item), className: "flex items-center gap-2 w-full px-3 py-2 text-left hover:bg-white/10 transition-colors", children: [_jsx(Pencil, { size: 14, className: "text-gray-400" }), _jsx("span", { className: "text-[13px] text-gray-200", children: "Rename" })] }), _jsxs("button", { type: "button", role: "menuitem", onClick: () => handleDelete(item.id), className: "flex items-center gap-2 w-full px-3 py-2 text-left hover:bg-red-500/20 transition-colors", children: [_jsx(Trash2, { size: 14, className: "text-red-400" }), _jsx("span", { className: "text-[13px] text-red-400", children: "Delete" })] })] }))] }, item.id));
114
+ })) }) })] }));
137
115
  }
138
116
  //# sourceMappingURL=ChatHistorySection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatHistorySection.js","sourceRoot":"","sources":["../../../src/components/dashboard/ChatHistorySection.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAK3E,MAAM,UAAU,kBAAkB,CAAC,EACjC,KAAK,GAAG,EAAE,EACV,YAAY,EACZ,UAAU,GAAG,IAAI,EACjB,SAAS,GAAG,IAAI,EAChB,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,KAAK,GAAG,cAAc,EACtB,YAAY,GAAG,qCAAqC,GAC5B;IACxB,uCAAuC;IACvC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAClE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAChD,gDAAgD;IAChD,MAAM,YAAY,GAAG,MAAM,CAAc,IAAI,GAAG,EAAE,CAAC,CAAC;IAEpD,oFAAoF;IACpF,SAAS,CAAC,GAAG,EAAE;QACb,6CAA6C;QAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,gDAAgD;QAChD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,aAAa,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,yBAAyB;IAEjC,yDAAyD;IACzD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,6DAA6D;YAC7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpC,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC;QACvC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAE3B,mDAAmD;QACnD,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9C,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC3B,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC5B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACxD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,0DAA0D;QAC1D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAExB,mCAAmC;IACnC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,MAAM,kBAAkB,GAAG,CAAC,CAAa,EAAE,EAAE;YAC3C,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,EAAE,CAAC;gBACnE,aAAa,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAC3D,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAC7E,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,sCAAsC;IACtC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YAClC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACzB,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,eAAe,GAAG,CAAC,CAAmB,EAAE,MAAc,EAAE,EAAE;QAC9D,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,aAAa,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,IAAqB,EAAE,EAAE;QAClD,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,aAAa,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,YAAY,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,CAAsB,EAAE,EAAE;QACrD,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACtB,kBAAkB,EAAE,CAAC;QACvB,CAAC;aAAM,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC9B,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,YAAY,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE;QAClC,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC,CAAC;IAEF,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,OAAO,CACL,eACE,SAAS,EAAC,uDAAuD,EACjE,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAGrC,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAC,gDAAgD,aAE1D,eACE,SAAS,EAAC,yBAAyB,EACnC,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,YAE9C,KAAK,GACD,EACP,KAAC,WAAW,IACV,IAAI,EAAE,EAAE,EACR,SAAS,EAAC,kDAAkD,EAC5D,KAAK,EAAE;4BACL,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB;yBAC1D,GACD,IACK,EAGT,cACE,SAAS,EAAC,yDAAyD,EACnE,KAAK,EAAE;oBACL,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;oBAC3E,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC5B,YAED,cAAK,SAAS,EAAC,0BAA0B,YACtC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACpB,YACE,SAAS,EAAC,yBAAyB,EACnC,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YAE1B,YAAY,GACX,CACL,CAAC,CAAC,CAAC,CACF,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,KAAK,YAAY,CAAC;wBAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC;wBACpC,MAAM,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC,EAAE,CAAC;wBACxC,MAAM,UAAU,GAAG,UAAU,KAAK,IAAI,CAAC,EAAE,CAAC;wBAE1C,OAAO,CACL,eAEE,SAAS,EAAC,UAAU,EACpB,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,aAErC,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,IAAI,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EACnD,SAAS,EAAC,iHAAiH,EAC3H,KAAK,EAAE;wCACL,MAAM,EAAE,EAAE;wCACV,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,aAAa;wCAClE,SAAS,EAAE,QAAQ;4CACjB,CAAC,CAAC,iDAAiD;4CACnD,CAAC,CAAC,MAAM;wCACV,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,MAAM;wCAClE,aAAa,EAAE,MAAM;wCACrB,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAC,MAAM;qCACxE,aAEA,SAAS,CAAC,CAAC,CAAC,CACX,gBACE,GAAG,EAAE,QAAQ,EACb,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC7C,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,mBAAmB,EAC9B,SAAS,EAAC,gFAAgF,EAC1F,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,EAC/C,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,GACnC,CACH,CAAC,CAAC,CAAC,CACF,eACE,SAAS,EAAC,oDAAoD,EAC9D,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,YAE7D,IAAI,CAAC,KAAK,GACN,CACR,EACA,QAAQ,IAAI,CAAC,SAAS,IAAI,CACzB,cACE,SAAS,EAAC,8GAA8G,EACxH,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,YAE3C,KAAC,cAAc,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,YAAY,GAAG,GAC/C,CACP,IACM,EAGR,UAAU,IAAI,CACb,eACE,SAAS,EAAC,8EAA8E,EACxF,KAAK,EAAE;wCACL,UAAU,EAAE,wBAAwB;wCACpC,MAAM,EAAE,oCAAoC;wCAC5C,SAAS,EAAE,+BAA+B;qCAC3C,aAED,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,EACtC,SAAS,EAAC,wFAAwF,aAElG,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,eAAe,GAAG,EAC9C,eAAM,SAAS,EAAC,2BAA2B,uBAAc,IAClD,EACT,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EACpC,SAAS,EAAC,0FAA0F,aAEpG,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,cAAc,GAAG,EAC7C,eAAM,SAAS,EAAC,0BAA0B,uBAAc,IACjD,IACL,CACP,KA5EI,IAAI,CAAC,EAAE,CA6ER,CACP,CAAC;oBACJ,CAAC,CAAC,CACH,GACG,GACF,EAEN,0BAAQ;;;;;;;;;;;OAWP,GAAS,IACN,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ChatHistorySection.js","sourceRoot":"","sources":["../../../src/components/dashboard/ChatHistorySection.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import type { DashboardBackgroundProps } from './types';
2
2
  export type { DashboardBackgroundProps };
3
- export declare function DashboardBackground({ variant, noiseTextureSrc, }: DashboardBackgroundProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare function DashboardBackground({ variant, noiseTextureSrc, sidebarWidth, }: DashboardBackgroundProps): import("react/jsx-runtime").JSX.Element;
4
4
  //# sourceMappingURL=DashboardBackground.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardBackground.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/DashboardBackground.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAExD,YAAY,EAAE,wBAAwB,EAAE,CAAC;AAOzC,wBAAgB,mBAAmB,CAAC,EAClC,OAAmB,EACnB,eAAuC,GACxC,EAAE,wBAAwB,2CA0H1B"}
1
+ {"version":3,"file":"DashboardBackground.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/DashboardBackground.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAGxD,YAAY,EAAE,wBAAwB,EAAE,CAAC;AAIzC,wBAAgB,mBAAmB,CAAC,EAClC,OAAmB,EACnB,eAAuC,EACvC,YAAkB,GACnB,EAAE,wBAAwB,2CAqD1B"}
@@ -1,85 +1,13 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- const DEFAULT_NOISE_TEXTURE = 'https://api.builder.io/api/v1/image/assets/TEMP/01cf5743ccbc8becbbc870a231ecce44d240df94?width=3840';
4
- // Sidebar width for centering calculations
5
- const SIDEBAR_WIDTH = 280;
6
- export function DashboardBackground({ variant = 'default', noiseTextureSrc = DEFAULT_NOISE_TEXTURE, }) {
3
+ import { cn } from '../../lib/utils';
4
+ const DEFAULT_NOISE_TEXTURE = '/textures/noise.png';
5
+ export function DashboardBackground({ variant = 'default', noiseTextureSrc = DEFAULT_NOISE_TEXTURE, sidebarWidth = 280, }) {
7
6
  if (variant === 'minimal') {
8
- return (_jsx("div", { style: { position: 'fixed', inset: 0, pointerEvents: 'none', zIndex: 0 }, children: _jsx("div", { style: { position: 'absolute', inset: 0, background: '#030005' } }) }));
7
+ return (_jsx("div", { className: "fixed inset-0 pointer-events-none z-0", children: _jsx("div", { className: "absolute inset-0 bg-[#030005]" }) }));
9
8
  }
10
- return (_jsxs("div", { style: { position: 'fixed', inset: 0, pointerEvents: 'none', zIndex: 0, overflow: 'hidden' }, children: [_jsx("style", { children: `
11
- @keyframes riseFromBelow {
12
- 0% {
13
- opacity: 0;
14
- transform: translate(-50%, 100%);
15
- }
16
- 100% {
17
- opacity: 1;
18
- transform: translate(-50%, 85%);
19
- }
20
- }
21
-
22
- @keyframes fadeInHalf {
23
- 0% { opacity: 0; }
24
- 100% { opacity: 0.5; }
25
- }
26
-
27
- @keyframes fadeIn {
28
- 0% { opacity: 0; }
29
- 100% { opacity: 1; }
30
- }
31
-
32
- .dashboard-bg-blob {
33
- left: 50%;
34
- transform: translate(-50%, 85%);
35
- animation: riseFromBelow 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
36
- }
37
-
38
- .dashboard-bg-gradient {
39
- animation: fadeInHalf 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
40
- opacity: 0;
41
- }
42
-
43
- .dashboard-bg-vignette {
44
- animation: fadeIn 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
45
- opacity: 0;
46
- }
47
-
48
- @media (min-width: 768px) {
49
- .dashboard-bg-blob {
50
- left: calc(50% + ${SIDEBAR_WIDTH / 2}px);
51
- }
52
- }
53
- ` }), _jsx("div", { style: {
54
- position: 'absolute',
55
- inset: 0,
56
- background: '#030005',
57
- } }), _jsx("div", { className: "dashboard-bg-gradient", style: {
58
- position: 'absolute',
59
- top: 0,
60
- bottom: 0,
61
- right: 0,
62
- left: `calc(${SIDEBAR_WIDTH}px + 25%)`,
63
- background: 'linear-gradient(270deg, #1E1035 0%, #0A0515 50%, rgba(10, 5, 21, 0) 100%)',
64
- } }), _jsx("img", { src: noiseTextureSrc, alt: "", role: "presentation", style: {
65
- position: 'absolute',
66
- inset: 0,
67
- width: '100%',
68
- height: '100%',
69
- opacity: 0.07,
70
- mixBlendMode: 'overlay',
71
- objectFit: 'cover',
72
- } }), _jsx("div", { className: "dashboard-bg-vignette", style: {
73
- position: 'absolute',
74
- inset: 0,
75
- background: `radial-gradient(ellipse 55% 90% at calc(50% + ${SIDEBAR_WIDTH / 2}px) 50%, rgba(3, 0, 5, 0) 0%, rgba(3, 0, 5, 0.50) 100%)`,
76
- } }), _jsx("div", { className: "dashboard-bg-blob", style: {
77
- position: 'absolute',
78
- width: 950,
79
- height: 450,
80
- bottom: 0,
81
- background: 'rgba(133, 78, 210, 0.45)',
82
- filter: 'blur(150px)',
83
- } })] }));
9
+ return (_jsxs("div", { className: "fixed inset-0 pointer-events-none z-0 overflow-hidden", style: { '--sidebar-width': `${sidebarWidth}px` }, children: [_jsx("div", { className: "absolute inset-0 bg-[#030005]" }), _jsx("div", { className: cn('absolute top-0 bottom-0 right-0', 'bg-gradient-to-l from-[#1E1035] via-[#0A0515] to-transparent', 'animate-[fadeInHalf_0.6s_cubic-bezier(0.22,1,0.36,1)_forwards] opacity-0'), style: { left: `calc(var(--sidebar-width) + 25%)` } }), _jsx("img", { src: noiseTextureSrc, alt: "", role: "presentation", className: "absolute inset-0 w-full h-full opacity-[0.07] mix-blend-overlay object-cover" }), _jsx("div", { className: cn('absolute inset-0', 'animate-[fadeIn_0.6s_cubic-bezier(0.22,1,0.36,1)_forwards] opacity-0'), style: {
10
+ background: `radial-gradient(ellipse 55% 90% at calc(50% + calc(var(--sidebar-width) / 2)) 50%, rgba(3, 0, 5, 0) 0%, rgba(3, 0, 5, 0.50) 100%)`,
11
+ } }), _jsx("div", { className: cn('absolute w-[950px] h-[450px] bottom-0', 'bg-[rgba(133,78,210,0.45)] blur-[150px]', 'left-1/2 -translate-x-1/2 translate-y-[85%]', 'animate-[riseFromBelow_0.7s_cubic-bezier(0.22,1,0.36,1)_forwards]', 'md:left-[calc(50%+calc(var(--sidebar-width)/2))]') })] }));
84
12
  }
85
13
  //# sourceMappingURL=DashboardBackground.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardBackground.js","sourceRoot":"","sources":["../../../src/components/dashboard/DashboardBackground.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAMb,MAAM,qBAAqB,GAAG,qGAAqG,CAAC;AAEpI,2CAA2C;AAC3C,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B,MAAM,UAAU,mBAAmB,CAAC,EAClC,OAAO,GAAG,SAAS,EACnB,eAAe,GAAG,qBAAqB,GACd;IACzB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CACL,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,YAC3E,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,GAAI,GACrE,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAG/F,0BACG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAwCwB,aAAa,GAAG,CAAC;;;SAGzC,GACK,EAGR,cACE,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,CAAC;oBACR,UAAU,EAAE,SAAS;iBACtB,GACD,EAGF,cACE,SAAS,EAAC,uBAAuB,EACjC,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,CAAC;oBACR,IAAI,EAAE,QAAQ,aAAa,WAAW;oBACtC,UAAU,EAAE,2EAA2E;iBACxF,GACD,EAGF,cACE,GAAG,EAAE,eAAe,EACpB,GAAG,EAAC,EAAE,EACN,IAAI,EAAC,cAAc,EACnB,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,SAAS;oBACvB,SAAS,EAAE,OAAO;iBACnB,GACD,EAGF,cACE,SAAS,EAAC,uBAAuB,EACjC,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,CAAC;oBACR,UAAU,EAAE,iDAAiD,aAAa,GAAG,CAAC,yDAAyD;iBACxI,GACD,EAGF,cACE,SAAS,EAAC,mBAAmB,EAC7B,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,MAAM,EAAE,CAAC;oBACT,UAAU,EAAE,0BAA0B;oBACtC,MAAM,EAAE,aAAa;iBACtB,GACD,IACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"DashboardBackground.js","sourceRoot":"","sources":["../../../src/components/dashboard/DashboardBackground.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAIrC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC;AAEpD,MAAM,UAAU,mBAAmB,CAAC,EAClC,OAAO,GAAG,SAAS,EACnB,eAAe,GAAG,qBAAqB,EACvC,YAAY,GAAG,GAAG,GACO;IACzB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CACL,cAAK,SAAS,EAAC,uCAAuC,YACpD,cAAK,SAAS,EAAC,+BAA+B,GAAG,GAC7C,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eACE,SAAS,EAAC,uDAAuD,EACjE,KAAK,EAAE,EAAE,iBAAiB,EAAE,GAAG,YAAY,IAAI,EAAyB,aAExE,cAAK,SAAS,EAAC,+BAA+B,GAAG,EAEjD,cACE,SAAS,EAAE,EAAE,CACX,iCAAiC,EACjC,8DAA8D,EAC9D,0EAA0E,CAC3E,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,kCAAkC,EAAE,GACnD,EAEF,cACE,GAAG,EAAE,eAAe,EACpB,GAAG,EAAC,EAAE,EACN,IAAI,EAAC,cAAc,EACnB,SAAS,EAAC,8EAA8E,GACxF,EAEF,cACE,SAAS,EAAE,EAAE,CACX,kBAAkB,EAClB,sEAAsE,CACvE,EACD,KAAK,EAAE;oBACL,UAAU,EAAE,mIAAmI;iBAChJ,GACD,EAEF,cACE,SAAS,EAAE,EAAE,CACX,uCAAuC,EACvC,yCAAyC,EACzC,6CAA6C,EAC7C,mEAAmE,EACnE,kDAAkD,CACnD,GACD,IACE,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterDropdown.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/FilterDropdown.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,OAAO,EACP,KAAK,EACL,QAAQ,EACR,SAAS,EACT,UAAkB,GACnB,EAAE,mBAAmB,2CAsHrB"}
1
+ {"version":3,"file":"FilterDropdown.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/FilterDropdown.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,OAAO,EACP,KAAK,EACL,QAAQ,EACR,SAAS,EACT,UAAkB,GACnB,EAAE,mBAAmB,2CA4LrB"}
@@ -7,10 +7,17 @@ import { cn } from '../../lib/utils';
7
7
  export function FilterDropdown({ label, options, value, onChange, className, showBorder = false, }) {
8
8
  const [isOpen, setIsOpen] = useState(false);
9
9
  const [selectedValue, setSelectedValue] = useState(value || options[0]?.value);
10
+ const [focusedIndex, setFocusedIndex] = useState(-1);
10
11
  const [dropdownPosition, setDropdownPosition] = useState({ top: 0, left: 0 });
11
12
  const buttonRef = useRef(null);
12
13
  const dropdownRef = useRef(null);
13
- const selectedOption = options.find((opt) => opt.value === selectedValue);
14
+ useEffect(() => {
15
+ if (value !== undefined && value !== selectedValue) {
16
+ const timer = setTimeout(() => setSelectedValue(value), 0);
17
+ return () => clearTimeout(timer);
18
+ }
19
+ }, [value, selectedValue]);
20
+ const selectedOption = options.find(opt => opt.value === selectedValue);
14
21
  const updatePosition = useCallback(() => {
15
22
  if (buttonRef.current) {
16
23
  const rect = buttonRef.current.getBoundingClientRect();
@@ -28,6 +35,7 @@ export function FilterDropdown({ label, options, value, onChange, className, sho
28
35
  dropdownRef.current &&
29
36
  !dropdownRef.current.contains(target)) {
30
37
  setIsOpen(false);
38
+ setFocusedIndex(-1);
31
39
  }
32
40
  }
33
41
  document.addEventListener('mousedown', handleClickOutside);
@@ -48,21 +56,60 @@ export function FilterDropdown({ label, options, value, onChange, className, sho
48
56
  setSelectedValue(optionValue);
49
57
  onChange?.(optionValue);
50
58
  setIsOpen(false);
59
+ setFocusedIndex(-1);
51
60
  };
52
61
  const handleToggle = () => {
53
62
  if (!isOpen) {
54
63
  updatePosition();
64
+ setFocusedIndex(0);
55
65
  }
56
66
  setIsOpen(!isOpen);
57
67
  };
58
- return (_jsxs("div", { className: cn('relative', className), children: [_jsxs("button", { ref: buttonRef, type: "button", onClick: handleToggle, className: cn('h-[34px] px-3 flex items-center gap-2 rounded-lg transition-colors hover:bg-white/5', showBorder && 'border-r border-white/10 rounded-r-none pr-4'), style: { background: isOpen ? 'rgba(255, 255, 255, 0.05)' : 'transparent' }, children: [_jsx("span", { className: "text-xs font-medium text-gray-300", children: selectedOption?.label || label }), _jsx(ChevronDown, { size: 12, className: cn('text-gray-500 transition-transform', isOpen && 'rotate-180') })] }), isOpen &&
68
+ const handleKeyDown = (e) => {
69
+ if (!isOpen) {
70
+ if (e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown') {
71
+ e.preventDefault();
72
+ updatePosition();
73
+ setIsOpen(true);
74
+ setFocusedIndex(0);
75
+ }
76
+ return;
77
+ }
78
+ switch (e.key) {
79
+ case 'Escape':
80
+ e.preventDefault();
81
+ setIsOpen(false);
82
+ setFocusedIndex(-1);
83
+ buttonRef.current?.focus();
84
+ break;
85
+ case 'ArrowDown':
86
+ e.preventDefault();
87
+ setFocusedIndex(prev => (prev < options.length - 1 ? prev + 1 : 0));
88
+ break;
89
+ case 'ArrowUp':
90
+ e.preventDefault();
91
+ setFocusedIndex(prev => (prev > 0 ? prev - 1 : options.length - 1));
92
+ break;
93
+ case 'Enter':
94
+ case ' ':
95
+ e.preventDefault();
96
+ if (focusedIndex >= 0 && focusedIndex < options.length) {
97
+ handleSelect(options[focusedIndex].value);
98
+ }
99
+ break;
100
+ case 'Tab':
101
+ setIsOpen(false);
102
+ setFocusedIndex(-1);
103
+ break;
104
+ }
105
+ };
106
+ return (_jsxs("div", { className: cn('relative', className), children: [_jsxs("button", { ref: buttonRef, type: "button", onClick: handleToggle, onKeyDown: handleKeyDown, "aria-expanded": isOpen, "aria-haspopup": "listbox", "aria-label": `${label} filter`, className: cn('h-[34px] px-3 flex items-center gap-2 rounded-lg transition-colors hover:bg-white/5', showBorder && 'border-r border-white/10 rounded-r-none pr-4', isOpen ? 'bg-white/5' : 'bg-transparent'), children: [_jsx("span", { className: "text-xs font-medium text-gray-300", children: selectedOption?.label || label }), _jsx(ChevronDown, { size: 12, className: cn('text-gray-500 transition-transform', isOpen && 'rotate-180') })] }), isOpen &&
59
107
  typeof document !== 'undefined' &&
60
- createPortal(_jsx("div", { ref: dropdownRef, className: "fixed min-w-[160px] py-1 rounded-lg z-[9999]", style: {
108
+ createPortal(_jsx("div", { ref: dropdownRef, role: "listbox", "aria-label": `${label} options`, onKeyDown: handleKeyDown, className: "fixed min-w-[160px] py-1 rounded-lg z-[9999] bg-[rgba(20,10,35,0.98)] border border-white/10 shadow-[0_10px_40px_rgba(0,0,0,0.5)]", style: {
61
109
  top: dropdownPosition.top,
62
110
  left: dropdownPosition.left,
63
- background: 'rgba(20, 10, 35, 0.98)',
64
- border: '1px solid rgba(255, 255, 255, 0.10)',
65
- boxShadow: '0 10px 40px rgba(0, 0, 0, 0.5)',
66
- }, children: options.map((option) => (_jsxs("button", { type: "button", onClick: () => handleSelect(option.value), className: "w-full px-3 py-2 flex items-center justify-between text-left hover:bg-white/5 transition-colors", children: [_jsx("span", { className: cn('text-xs', selectedValue === option.value ? 'text-white' : 'text-gray-400'), children: option.label }), selectedValue === option.value && _jsx(Check, { size: 12, className: "text-purple-400" })] }, option.value))) }), document.body)] }));
111
+ }, children: options.map((option, index) => (_jsxs("button", { type: "button", role: "option", "aria-selected": selectedValue === option.value, onClick: () => handleSelect(option.value), className: cn('w-full px-3 py-2 flex items-center justify-between text-left transition-colors', focusedIndex === index && 'bg-white/5', focusedIndex !== index && 'hover:bg-white/5'), children: [_jsx("span", { className: cn('text-xs', selectedValue === option.value
112
+ ? 'text-white'
113
+ : 'text-gray-400'), children: option.label }), selectedValue === option.value && (_jsx(Check, { size: 12, className: "text-purple-400" }))] }, option.value))) }), document.body)] }));
67
114
  }
68
115
  //# sourceMappingURL=FilterDropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterDropdown.js","sourceRoot":"","sources":["../../../src/components/dashboard/FilterDropdown.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FilterDropdown.js","sourceRoot":"","sources":["../../../src/components/dashboard/FilterDropdown.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GlassPanel.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/GlassPanel.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,OAAiB,EACjB,SAAc,GACf,EAAE,eAAe,2CAUjB"}
1
+ {"version":3,"file":"GlassPanel.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/GlassPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG/C,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,OAAiB,EACjB,SAAc,GACf,EAAE,eAAe,2CAUjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"GlassPanel.js","sourceRoot":"","sources":["../../../src/components/dashboard/GlassPanel.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAKrC,MAAM,UAAU,UAAU,CAAC,EACzB,QAAQ,EACR,OAAO,GAAG,OAAO,EACjB,SAAS,GAAG,EAAE,GACE;IAChB,MAAM,WAAW,GAAG,mBAAmB,CAAC;IACxC,MAAM,cAAc,GAClB,OAAO,KAAK,OAAO;QACjB,CAAC,CAAC,sDAAsD;QACxD,CAAC,CAAC,qCAAqC,CAAC;IAE5C,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,SAAS,CAAC,YAAG,QAAQ,GAAO,CAC7E,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"GlassPanel.js","sourceRoot":"","sources":["../../../src/components/dashboard/GlassPanel.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAIrC,MAAM,UAAU,UAAU,CAAC,EACzB,QAAQ,EACR,OAAO,GAAG,OAAO,EACjB,SAAS,GAAG,EAAE,GACE;IAChB,MAAM,WAAW,GAAG,mBAAmB,CAAC;IACxC,MAAM,cAAc,GAClB,OAAO,KAAK,OAAO;QACjB,CAAC,CAAC,sDAAsD;QACxD,CAAC,CAAC,qCAAqC,CAAC;IAE5C,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,SAAS,CAAC,YAAG,QAAQ,GAAO,CAC7E,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/Header.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE5D,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;AAa7C,wBAAgB,MAAM,CAAC,EACrB,OAA6B,EAC7B,SAAyB,EACzB,iBAAiB,EACjB,gBAA0C,EAC1C,YAAmB,EACnB,gBAAuB,EACvB,mBAAmB,EACnB,aAAa,EACb,OAAe,EACf,WAAW,EACX,OAAO,GACR,EAAE,WAAW,2CAyEb"}
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/Header.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAK5D,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;AAwD7C,wBAAgB,MAAM,CAAC,EACrB,OAA6B,EAC7B,SAAyB,EACzB,iBAAiB,EACjB,gBAA0C,EAC1C,YAAmB,EACnB,gBAAuB,EACvB,mBAAmB,EACnB,aAAa,EACb,OAAe,EACf,WAAW,EACX,OAAO,GACR,EAAE,WAAW,2CA+Eb"}