@b3-crow/ui-kit 0.0.31-pr25.10 → 0.0.31
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/dist/components/index.d.ts +0 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +0 -1
- package/dist/components/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +2 -8
- package/dist/components/dashboard/ChatHistorySection.d.ts +0 -4
- package/dist/components/dashboard/ChatHistorySection.d.ts.map +0 -1
- package/dist/components/dashboard/ChatHistorySection.js +0 -138
- package/dist/components/dashboard/ChatHistorySection.js.map +0 -1
- package/dist/components/dashboard/DashboardBackground.d.ts +0 -4
- package/dist/components/dashboard/DashboardBackground.d.ts.map +0 -1
- package/dist/components/dashboard/DashboardBackground.js +0 -85
- package/dist/components/dashboard/DashboardBackground.js.map +0 -1
- package/dist/components/dashboard/FilterDropdown.d.ts +0 -14
- package/dist/components/dashboard/FilterDropdown.d.ts.map +0 -1
- package/dist/components/dashboard/FilterDropdown.js +0 -68
- package/dist/components/dashboard/FilterDropdown.js.map +0 -1
- package/dist/components/dashboard/GlassPanel.d.ts +0 -4
- package/dist/components/dashboard/GlassPanel.d.ts.map +0 -1
- package/dist/components/dashboard/GlassPanel.js +0 -11
- package/dist/components/dashboard/GlassPanel.js.map +0 -1
- package/dist/components/dashboard/Header.d.ts +0 -4
- package/dist/components/dashboard/Header.d.ts.map +0 -1
- package/dist/components/dashboard/Header.js +0 -87
- package/dist/components/dashboard/Header.js.map +0 -1
- package/dist/components/dashboard/IconBadge.d.ts +0 -12
- package/dist/components/dashboard/IconBadge.d.ts.map +0 -1
- package/dist/components/dashboard/IconBadge.js +0 -22
- package/dist/components/dashboard/IconBadge.js.map +0 -1
- package/dist/components/dashboard/ListItem.d.ts +0 -10
- package/dist/components/dashboard/ListItem.d.ts.map +0 -1
- package/dist/components/dashboard/ListItem.js +0 -13
- package/dist/components/dashboard/ListItem.js.map +0 -1
- package/dist/components/dashboard/MetricsCard.d.ts +0 -10
- package/dist/components/dashboard/MetricsCard.d.ts.map +0 -1
- package/dist/components/dashboard/MetricsCard.js +0 -39
- package/dist/components/dashboard/MetricsCard.js.map +0 -1
- package/dist/components/dashboard/MobileSidebar.d.ts +0 -4
- package/dist/components/dashboard/MobileSidebar.d.ts.map +0 -1
- package/dist/components/dashboard/MobileSidebar.js +0 -68
- package/dist/components/dashboard/MobileSidebar.js.map +0 -1
- package/dist/components/dashboard/NavMenu.d.ts +0 -8
- package/dist/components/dashboard/NavMenu.d.ts.map +0 -1
- package/dist/components/dashboard/NavMenu.js +0 -145
- package/dist/components/dashboard/NavMenu.js.map +0 -1
- package/dist/components/dashboard/PatternCard.d.ts +0 -16
- package/dist/components/dashboard/PatternCard.d.ts.map +0 -1
- package/dist/components/dashboard/PatternCard.js +0 -75
- package/dist/components/dashboard/PatternCard.js.map +0 -1
- package/dist/components/dashboard/SearchInput.d.ts +0 -15
- package/dist/components/dashboard/SearchInput.d.ts.map +0 -1
- package/dist/components/dashboard/SearchInput.js +0 -41
- package/dist/components/dashboard/SearchInput.js.map +0 -1
- package/dist/components/dashboard/SectionHeader.d.ts +0 -13
- package/dist/components/dashboard/SectionHeader.d.ts.map +0 -1
- package/dist/components/dashboard/SectionHeader.js +0 -22
- package/dist/components/dashboard/SectionHeader.js.map +0 -1
- package/dist/components/dashboard/SettingsDropup.d.ts +0 -11
- package/dist/components/dashboard/SettingsDropup.d.ts.map +0 -1
- package/dist/components/dashboard/SettingsDropup.js +0 -169
- package/dist/components/dashboard/SettingsDropup.js.map +0 -1
- package/dist/components/dashboard/SettingsModal.d.ts +0 -4
- package/dist/components/dashboard/SettingsModal.d.ts.map +0 -1
- package/dist/components/dashboard/SettingsModal.js +0 -240
- package/dist/components/dashboard/SettingsModal.js.map +0 -1
- package/dist/components/dashboard/SidePanel.d.ts +0 -12
- package/dist/components/dashboard/SidePanel.d.ts.map +0 -1
- package/dist/components/dashboard/SidePanel.js +0 -45
- package/dist/components/dashboard/SidePanel.js.map +0 -1
- package/dist/components/dashboard/Sidebar.d.ts +0 -4
- package/dist/components/dashboard/Sidebar.d.ts.map +0 -1
- package/dist/components/dashboard/Sidebar.js +0 -52
- package/dist/components/dashboard/Sidebar.js.map +0 -1
- package/dist/components/dashboard/SidebarLogo.d.ts +0 -7
- package/dist/components/dashboard/SidebarLogo.d.ts.map +0 -1
- package/dist/components/dashboard/SidebarLogo.js +0 -46
- package/dist/components/dashboard/SidebarLogo.js.map +0 -1
- package/dist/components/dashboard/SourceIcon.d.ts +0 -7
- package/dist/components/dashboard/SourceIcon.d.ts.map +0 -1
- package/dist/components/dashboard/SourceIcon.js +0 -16
- package/dist/components/dashboard/SourceIcon.js.map +0 -1
- package/dist/components/dashboard/StatusBadge.d.ts +0 -14
- package/dist/components/dashboard/StatusBadge.d.ts.map +0 -1
- package/dist/components/dashboard/StatusBadge.js +0 -30
- package/dist/components/dashboard/StatusBadge.js.map +0 -1
- package/dist/components/dashboard/StatusIndicator.d.ts +0 -7
- package/dist/components/dashboard/StatusIndicator.d.ts.map +0 -1
- package/dist/components/dashboard/StatusIndicator.js +0 -29
- package/dist/components/dashboard/StatusIndicator.js.map +0 -1
- package/dist/components/dashboard/Tag.d.ts +0 -7
- package/dist/components/dashboard/Tag.d.ts.map +0 -1
- package/dist/components/dashboard/Tag.js +0 -9
- package/dist/components/dashboard/Tag.js.map +0 -1
- package/dist/components/dashboard/TipCard.d.ts +0 -5
- package/dist/components/dashboard/TipCard.d.ts.map +0 -1
- package/dist/components/dashboard/TipCard.js +0 -10
- package/dist/components/dashboard/TipCard.js.map +0 -1
- package/dist/components/dashboard/ToggleSwitch.d.ts +0 -8
- package/dist/components/dashboard/ToggleSwitch.d.ts.map +0 -1
- package/dist/components/dashboard/ToggleSwitch.js +0 -31
- package/dist/components/dashboard/ToggleSwitch.js.map +0 -1
- package/dist/components/dashboard/index.d.ts +0 -26
- package/dist/components/dashboard/index.d.ts.map +0 -1
- package/dist/components/dashboard/index.js +0 -26
- package/dist/components/dashboard/index.js.map +0 -1
- package/dist/components/dashboard/types.d.ts +0 -108
- package/dist/components/dashboard/types.d.ts.map +0 -1
- package/dist/components/dashboard/types.js +0 -2
- package/dist/components/dashboard/types.js.map +0 -1
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
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, }) {
|
|
7
|
-
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' } }) }));
|
|
9
|
-
}
|
|
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
|
-
} })] }));
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=DashboardBackground.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,14 +0,0 @@
|
|
|
1
|
-
export interface FilterOption {
|
|
2
|
-
label: string;
|
|
3
|
-
value: string;
|
|
4
|
-
}
|
|
5
|
-
export interface FilterDropdownProps {
|
|
6
|
-
label: string;
|
|
7
|
-
options: FilterOption[];
|
|
8
|
-
value?: string;
|
|
9
|
-
onChange?: (value: string) => void;
|
|
10
|
-
className?: string;
|
|
11
|
-
showBorder?: boolean;
|
|
12
|
-
}
|
|
13
|
-
export declare function FilterDropdown({ label, options, value, onChange, className, showBorder, }: FilterDropdownProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
-
//# sourceMappingURL=FilterDropdown.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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,68 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { Check, ChevronDown } from 'lucide-react';
|
|
4
|
-
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
5
|
-
import { createPortal } from 'react-dom';
|
|
6
|
-
import { cn } from '../../lib/utils';
|
|
7
|
-
export function FilterDropdown({ label, options, value, onChange, className, showBorder = false, }) {
|
|
8
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
9
|
-
const [selectedValue, setSelectedValue] = useState(value || options[0]?.value);
|
|
10
|
-
const [dropdownPosition, setDropdownPosition] = useState({ top: 0, left: 0 });
|
|
11
|
-
const buttonRef = useRef(null);
|
|
12
|
-
const dropdownRef = useRef(null);
|
|
13
|
-
const selectedOption = options.find((opt) => opt.value === selectedValue);
|
|
14
|
-
const updatePosition = useCallback(() => {
|
|
15
|
-
if (buttonRef.current) {
|
|
16
|
-
const rect = buttonRef.current.getBoundingClientRect();
|
|
17
|
-
setDropdownPosition({
|
|
18
|
-
top: rect.bottom + 4,
|
|
19
|
-
left: rect.left,
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
}, []);
|
|
23
|
-
useEffect(() => {
|
|
24
|
-
function handleClickOutside(event) {
|
|
25
|
-
const target = event.target;
|
|
26
|
-
if (buttonRef.current &&
|
|
27
|
-
!buttonRef.current.contains(target) &&
|
|
28
|
-
dropdownRef.current &&
|
|
29
|
-
!dropdownRef.current.contains(target)) {
|
|
30
|
-
setIsOpen(false);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
34
|
-
return () => document.removeEventListener('mousedown', handleClickOutside);
|
|
35
|
-
}, []);
|
|
36
|
-
useEffect(() => {
|
|
37
|
-
if (isOpen) {
|
|
38
|
-
updatePosition();
|
|
39
|
-
window.addEventListener('scroll', updatePosition, true);
|
|
40
|
-
window.addEventListener('resize', updatePosition);
|
|
41
|
-
return () => {
|
|
42
|
-
window.removeEventListener('scroll', updatePosition, true);
|
|
43
|
-
window.removeEventListener('resize', updatePosition);
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
}, [isOpen, updatePosition]);
|
|
47
|
-
const handleSelect = (optionValue) => {
|
|
48
|
-
setSelectedValue(optionValue);
|
|
49
|
-
onChange?.(optionValue);
|
|
50
|
-
setIsOpen(false);
|
|
51
|
-
};
|
|
52
|
-
const handleToggle = () => {
|
|
53
|
-
if (!isOpen) {
|
|
54
|
-
updatePosition();
|
|
55
|
-
}
|
|
56
|
-
setIsOpen(!isOpen);
|
|
57
|
-
};
|
|
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 &&
|
|
59
|
-
typeof document !== 'undefined' &&
|
|
60
|
-
createPortal(_jsx("div", { ref: dropdownRef, className: "fixed min-w-[160px] py-1 rounded-lg z-[9999]", style: {
|
|
61
|
-
top: dropdownPosition.top,
|
|
62
|
-
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)] }));
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=FilterDropdown.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FilterDropdown.js","sourceRoot":"","sources":["../../../src/components/dashboard/FilterDropdown.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
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,11 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { cn } from '../../lib/utils';
|
|
4
|
-
export function GlassPanel({ children, variant = 'light', className = '', }) {
|
|
5
|
-
const baseClasses = 'rounded-xl border';
|
|
6
|
-
const variantClasses = variant === 'light'
|
|
7
|
-
? 'bg-white/[0.02] border-white/[0.06] backdrop-blur-sm'
|
|
8
|
-
: 'border-white/[0.06] bg-white/[0.01]';
|
|
9
|
-
return (_jsx("div", { className: cn(baseClasses, variantClasses, className), children: children }));
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=GlassPanel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,4 +0,0 @@
|
|
|
1
|
-
import type { DateRangeOption, HeaderProps } from './types';
|
|
2
|
-
export type { DateRangeOption, HeaderProps };
|
|
3
|
-
export declare function Header({ orgName, dateRange, onDateRangeChange, dateRangeOptions, userInitials, showNotification, onNotificationClick, onAvatarClick, minimal, onMenuClick, logoSrc, }: HeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
4
|
-
//# sourceMappingURL=Header.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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,87 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useState, useRef, useEffect } from 'react';
|
|
4
|
-
import { Calendar, ChevronDown, Bell, Check, Menu } from 'lucide-react';
|
|
5
|
-
const defaultDateRangeOptions = [
|
|
6
|
-
{ label: 'Today', value: 'today' },
|
|
7
|
-
{ label: 'Yesterday', value: 'yesterday' },
|
|
8
|
-
{ label: 'Last 7 days', value: 'last_7_days' },
|
|
9
|
-
{ label: 'Last 14 days', value: 'last_14_days' },
|
|
10
|
-
{ label: 'Last 30 days', value: 'last_30_days' },
|
|
11
|
-
{ label: 'This month', value: 'this_month' },
|
|
12
|
-
{ label: 'Last month', value: 'last_month' },
|
|
13
|
-
{ label: 'This quarter', value: 'this_quarter' },
|
|
14
|
-
];
|
|
15
|
-
export function Header({ orgName = 'Global Retail Ops', dateRange = 'Last 7 days', onDateRangeChange, dateRangeOptions = defaultDateRangeOptions, userInitials = 'SJ', showNotification = true, onNotificationClick, onAvatarClick, minimal = false, onMenuClick, logoSrc, }) {
|
|
16
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
17
|
-
const [selectedRange, setSelectedRange] = useState(dateRange);
|
|
18
|
-
const dropdownRef = useRef(null);
|
|
19
|
-
useEffect(() => {
|
|
20
|
-
const handleClickOutside = (event) => {
|
|
21
|
-
if (dropdownRef.current &&
|
|
22
|
-
!dropdownRef.current.contains(event.target)) {
|
|
23
|
-
setIsOpen(false);
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
document.addEventListener('mousedown', handleClickOutside);
|
|
27
|
-
return () => document.removeEventListener('mousedown', handleClickOutside);
|
|
28
|
-
}, []);
|
|
29
|
-
const handleSelect = (option) => {
|
|
30
|
-
setSelectedRange(option.label);
|
|
31
|
-
setIsOpen(false);
|
|
32
|
-
onDateRangeChange?.(option.value);
|
|
33
|
-
};
|
|
34
|
-
return (_jsxs("header", { className: `w-full h-16 sticky top-0 flex-shrink-0 z-50 flex items-center ${minimal ? 'justify-between' : 'justify-between'} px-4 sm:px-6 lg:px-8 border-b border-white/[0.06] bg-[rgba(3,0,5,0.85)] backdrop-blur-xl`, children: [_jsxs("div", { className: "flex items-center gap-3 md:hidden", children: [onMenuClick && (_jsx("button", { type: "button", onClick: onMenuClick, className: "w-8 h-8 flex items-center justify-center rounded-lg transition-colors hover:bg-white/[0.06]", "aria-label": "Toggle menu", children: _jsx(Menu, { size: 20, color: "#9CA3AF", strokeWidth: 2 }) })), logoSrc && (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("img", { src: logoSrc, alt: "Logo", className: "w-6 h-6" }), _jsxs("div", { className: "flex flex-col", children: [_jsx("span", { className: "text-sm font-bold text-white leading-none", children: "CROW" }), _jsx("span", { className: "text-[8px] font-medium text-gray-500 tracking-[0.15em] uppercase leading-none", children: "CLIENT" })] })] }))] }), !minimal && (_jsx(LeftSection, { orgName: orgName, selectedRange: selectedRange, isOpen: isOpen, setIsOpen: setIsOpen, dropdownRef: dropdownRef, dateRangeOptions: dateRangeOptions, handleSelect: handleSelect })), minimal && _jsx("div", { className: "hidden md:block flex-1" }), _jsx(RightSection, { showNotification: showNotification, onNotificationClick: onNotificationClick, onAvatarClick: onAvatarClick, userInitials: userInitials })] }));
|
|
35
|
-
}
|
|
36
|
-
function LeftSection({ orgName, selectedRange, isOpen, setIsOpen, dropdownRef, dateRangeOptions, handleSelect, }) {
|
|
37
|
-
return (_jsxs("div", { className: "hidden md:flex items-center gap-3 sm:gap-6 min-w-0", children: [_jsx("span", { className: "text-sm font-medium text-white tracking-wide hidden sm:block truncate max-w-[140px] lg:max-w-none", children: orgName }), _jsx("div", { className: "hidden sm:block w-px h-4 bg-white/10" }), _jsx(DatePickerDropdown, { selectedRange: selectedRange, isOpen: isOpen, setIsOpen: setIsOpen, dropdownRef: dropdownRef, dateRangeOptions: dateRangeOptions, handleSelect: handleSelect })] }));
|
|
38
|
-
}
|
|
39
|
-
function DatePickerDropdown({ selectedRange, isOpen, setIsOpen, dropdownRef, dateRangeOptions, handleSelect, }) {
|
|
40
|
-
return (_jsxs("div", { ref: dropdownRef, className: "relative", children: [_jsxs("button", { type: "button", onClick: () => setIsOpen(!isOpen), "aria-label": "Select date range", "aria-expanded": isOpen, "aria-haspopup": "listbox", className: "h-[30px] px-3 flex items-center gap-2 rounded-full transition-all", style: {
|
|
41
|
-
background: isOpen
|
|
42
|
-
? 'rgba(139, 92, 246, 0.15)'
|
|
43
|
-
: 'rgba(255, 255, 255, 0.03)',
|
|
44
|
-
outline: isOpen
|
|
45
|
-
? '1px rgba(139, 92, 246, 0.40) solid'
|
|
46
|
-
: '1px rgba(255, 255, 255, 0.10) solid',
|
|
47
|
-
outlineOffset: '-1px',
|
|
48
|
-
}, children: [_jsx(Calendar, { size: 12, color: isOpen ? '#A78BFA' : '#9CA3AF', strokeWidth: 2 }), _jsx("span", { className: "text-xs font-medium whitespace-nowrap", style: { color: isOpen ? '#E9D5FF' : '#D1D5DB' }, children: selectedRange }), _jsx(ChevronDown, { size: 10, color: isOpen ? '#A78BFA' : '#6B7280', strokeWidth: 2, className: "transition-transform", style: { transform: isOpen ? 'rotate(180deg)' : 'rotate(0deg)' } })] }), _jsx(DropdownMenu, { isOpen: isOpen, dateRangeOptions: dateRangeOptions, selectedRange: selectedRange, handleSelect: handleSelect })] }));
|
|
49
|
-
}
|
|
50
|
-
function DropdownMenu({ isOpen, dateRangeOptions, selectedRange, handleSelect, }) {
|
|
51
|
-
return (_jsxs("div", { className: "absolute top-[38px] left-0 w-[200px] rounded-xl overflow-hidden z-50", style: {
|
|
52
|
-
background: 'rgba(10, 5, 20, 0.98)',
|
|
53
|
-
backdropFilter: 'blur(20px)',
|
|
54
|
-
border: '1px solid rgba(255, 255, 255, 0.08)',
|
|
55
|
-
boxShadow: '0px 20px 40px rgba(0, 0, 0, 0.5), 0px 0px 1px rgba(139, 92, 246, 0.3)',
|
|
56
|
-
opacity: isOpen ? 1 : 0,
|
|
57
|
-
transform: isOpen
|
|
58
|
-
? 'translateY(0) scale(1)'
|
|
59
|
-
: 'translateY(-8px) scale(0.96)',
|
|
60
|
-
pointerEvents: isOpen ? 'auto' : 'none',
|
|
61
|
-
transition: 'all 0.2s cubic-bezier(0.16, 1, 0.3, 1)',
|
|
62
|
-
}, children: [_jsx("div", { className: "px-4 pt-3 pb-2 border-b border-white/[0.06]", children: _jsx("span", { className: "text-[10px] font-semibold uppercase tracking-wide text-gray-500", children: "Select time range" }) }), _jsx("div", { role: "listbox", "aria-label": "Date range options", className: "p-1.5", children: dateRangeOptions.map((option) => {
|
|
63
|
-
const isSelected = selectedRange === option.label;
|
|
64
|
-
return (_jsx(DropdownOption, { option: option, isSelected: isSelected, handleSelect: handleSelect }, option.value));
|
|
65
|
-
}) }), _jsx("div", { className: "px-4 py-2 border-t border-white/[0.06]", style: {
|
|
66
|
-
background: 'linear-gradient(180deg, transparent 0%, rgba(139, 92, 246, 0.03) 100%)',
|
|
67
|
-
}, children: _jsx("span", { className: "text-[10px] text-gray-600", children: "Data refreshes every 5 min" }) })] }));
|
|
68
|
-
}
|
|
69
|
-
function DropdownOption({ option, isSelected, handleSelect, }) {
|
|
70
|
-
return (_jsxs("button", { type: "button", role: "option", "aria-selected": isSelected, onClick: () => handleSelect(option), className: "w-full px-3 py-2.5 flex items-center justify-between rounded-lg transition-all hover:bg-white/[0.04]", style: {
|
|
71
|
-
background: isSelected ? 'rgba(139, 92, 246, 0.15)' : 'transparent',
|
|
72
|
-
}, children: [_jsx("span", { className: "text-[13px]", style: {
|
|
73
|
-
color: isSelected ? '#E9D5FF' : '#D1D5DB',
|
|
74
|
-
fontWeight: isSelected ? 500 : 400,
|
|
75
|
-
}, children: option.label }), isSelected && _jsx(Check, { size: 14, color: "#A78BFA", strokeWidth: 2.5 })] }));
|
|
76
|
-
}
|
|
77
|
-
function RightSection({ showNotification, onNotificationClick, onAvatarClick, userInitials, }) {
|
|
78
|
-
return (_jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("button", { type: "button", onClick: onNotificationClick, "aria-label": showNotification ? 'View notifications (new)' : 'View notifications', className: "w-8 h-8 flex items-center justify-center rounded-lg relative transition-colors hover:bg-white/[0.06]", children: [_jsx(Bell, { size: 16, color: "#6B7280", strokeWidth: 2 }), showNotification && (_jsx("div", { className: "absolute top-1.5 right-1.5 w-1.5 h-1.5 rounded-full", style: {
|
|
79
|
-
background: '#8B5CF6',
|
|
80
|
-
border: '1.5px solid rgba(3, 0, 5, 0.9)',
|
|
81
|
-
} }))] }), _jsx("button", { type: "button", onClick: onAvatarClick, "aria-label": "User menu", className: "w-8 h-8 rounded-full flex items-center justify-center transition-all hover:outline-violet-500/40", style: {
|
|
82
|
-
background: 'rgba(76, 29, 149, 0.40)',
|
|
83
|
-
outline: '1px rgba(255, 255, 255, 0.10) solid',
|
|
84
|
-
outlineOffset: '-1px',
|
|
85
|
-
}, children: _jsx("span", { className: "text-xs font-semibold text-white", children: userInitials }) })] }));
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=Header.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/components/dashboard/Header.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { type VariantProps } from 'class-variance-authority';
|
|
2
|
-
declare const iconBadgeVariants: (props?: ({
|
|
3
|
-
variant?: "blue" | "gray" | "violet" | "emerald" | "rose" | null | undefined;
|
|
4
|
-
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
5
|
-
export interface IconBadgeProps extends VariantProps<typeof iconBadgeVariants> {
|
|
6
|
-
icon: string;
|
|
7
|
-
className?: string;
|
|
8
|
-
iconClassName?: string;
|
|
9
|
-
}
|
|
10
|
-
export declare function IconBadge({ icon, variant, className, iconClassName, }: IconBadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=IconBadge.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IconBadge.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/IconBadge.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,QAAA,MAAM,iBAAiB;;mFAgBtB,CAAC;AAEF,MAAM,WAAW,cAAe,SAAQ,YAAY,CAAC,OAAO,iBAAiB,CAAC;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,OAAgB,EAChB,SAAc,EACd,aAAkB,GACnB,EAAE,cAAc,2CAchB"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { cva } from 'class-variance-authority';
|
|
4
|
-
import { cn } from '../../lib/utils';
|
|
5
|
-
const iconBadgeVariants = cva('w-8 h-8 rounded-lg flex items-center justify-center border', {
|
|
6
|
-
variants: {
|
|
7
|
-
variant: {
|
|
8
|
-
gray: 'bg-gray-800/50 border-white/5',
|
|
9
|
-
violet: 'bg-violet-600 border-violet-500/50 shadow-[0_0_15px_rgba(124,58,237,0.5)]',
|
|
10
|
-
blue: 'bg-blue-600/20 border-blue-500/20',
|
|
11
|
-
emerald: 'bg-emerald-600/20 border-emerald-500/20',
|
|
12
|
-
rose: 'bg-rose-600/20 border-rose-500/20',
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
defaultVariants: {
|
|
16
|
-
variant: 'gray',
|
|
17
|
-
},
|
|
18
|
-
});
|
|
19
|
-
export function IconBadge({ icon, variant = 'gray', className = '', iconClassName = '', }) {
|
|
20
|
-
return (_jsx("div", { className: cn(iconBadgeVariants({ variant }), className), children: _jsx("span", { className: cn('material-symbols-outlined text-[18px]', variant === 'gray' ? 'text-gray-400' : 'text-white', iconClassName), children: icon }) }));
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=IconBadge.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IconBadge.js","sourceRoot":"","sources":["../../../src/components/dashboard/IconBadge.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,iBAAiB,GAAG,GAAG,CAC3B,4DAA4D,EAC5D;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,IAAI,EAAE,+BAA+B;YACrC,MAAM,EAAE,2EAA2E;YACnF,IAAI,EAAE,mCAAmC;YACzC,OAAO,EAAE,yCAAyC;YAClD,IAAI,EAAE,mCAAmC;SAC1C;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,MAAM;KAChB;CACF,CACF,CAAC;AAQF,MAAM,UAAU,SAAS,CAAC,EACxB,IAAI,EACJ,OAAO,GAAG,MAAM,EAChB,SAAS,GAAG,EAAE,EACd,aAAa,GAAG,EAAE,GACH;IACf,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,YAC3D,eACE,SAAS,EAAE,EAAE,CACX,uCAAuC,EACvC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,EACnD,aAAa,CACd,YAEA,IAAI,GACA,GACH,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export interface ListItemProps {
|
|
2
|
-
children: React.ReactNode;
|
|
3
|
-
onClick?: () => void;
|
|
4
|
-
ariaLabel?: string;
|
|
5
|
-
showChevron?: boolean;
|
|
6
|
-
highlighted?: boolean;
|
|
7
|
-
className?: string;
|
|
8
|
-
}
|
|
9
|
-
export declare function ListItem({ children, onClick, ariaLabel, showChevron, highlighted, className, }: ListItemProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
//# sourceMappingURL=ListItem.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ListItem.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/ListItem.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,OAAO,EACP,SAAS,EACT,WAAmB,EACnB,WAAmB,EACnB,SAAS,GACV,EAAE,aAAa,2CAoBf"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { ChevronRight } from 'lucide-react';
|
|
4
|
-
import { cn } from '../../lib/utils';
|
|
5
|
-
export function ListItem({ children, onClick, ariaLabel, showChevron = false, highlighted = false, className, }) {
|
|
6
|
-
return (_jsx("button", { type: "button", onClick: onClick, "aria-label": ariaLabel, className: cn('w-full px-2.5 sm:px-3 py-2.5 sm:py-3 rounded-lg text-left transition-all group', highlighted
|
|
7
|
-
? 'border-l-2 border-l-violet-500 bg-violet-500/[0.02] pl-3 sm:pl-3.5'
|
|
8
|
-
: 'hover:bg-white/[0.02]', className), children: _jsxs("div", { className: "flex items-start justify-between", children: [_jsx("div", { className: "flex-1 min-w-0", children: children }), showChevron && _jsx(ChevronIndicator, {})] }) }));
|
|
9
|
-
}
|
|
10
|
-
function ChevronIndicator() {
|
|
11
|
-
return (_jsx("div", { className: "ml-2 opacity-0 group-hover:opacity-100 transition-opacity mt-1 flex-shrink-0", children: _jsx(ChevronRight, { size: 12, className: "text-gray-600 sm:w-3.5 sm:h-3.5", strokeWidth: 2 }) }));
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=ListItem.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ListItem.js","sourceRoot":"","sources":["../../../src/components/dashboard/ListItem.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAWrC,MAAM,UAAU,QAAQ,CAAC,EACvB,QAAQ,EACR,OAAO,EACP,SAAS,EACT,WAAW,GAAG,KAAK,EACnB,WAAW,GAAG,KAAK,EACnB,SAAS,GACK;IACd,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,gBACJ,SAAS,EACrB,SAAS,EAAE,EAAE,CACX,gFAAgF,EAChF,WAAW;YACT,CAAC,CAAC,oEAAoE;YACtE,CAAC,CAAC,uBAAuB,EAC3B,SAAS,CACV,YAED,eAAK,SAAS,EAAC,kCAAkC,aAC/C,cAAK,SAAS,EAAC,gBAAgB,YAAE,QAAQ,GAAO,EAC/C,WAAW,IAAI,KAAC,gBAAgB,KAAG,IAChC,GACC,CACV,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,CACL,cAAK,SAAS,EAAC,8EAA8E,YAC3F,KAAC,YAAY,IACX,IAAI,EAAE,EAAE,EACR,SAAS,EAAC,iCAAiC,EAC3C,WAAW,EAAE,CAAC,GACd,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export interface MetricsCardProps {
|
|
2
|
-
title: string;
|
|
3
|
-
value: string;
|
|
4
|
-
change: string;
|
|
5
|
-
changeType: 'positive' | 'negative' | 'neutral' | 'info';
|
|
6
|
-
chartData?: readonly number[];
|
|
7
|
-
chartColor?: 'violet' | 'rose' | 'gray';
|
|
8
|
-
}
|
|
9
|
-
export declare function MetricsCard({ title, value, change, changeType, chartData, chartColor, }: MetricsCardProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
//# sourceMappingURL=MetricsCard.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MetricsCard.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/MetricsCard.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;IACzD,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;CACzC;AAmBD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,KAAK,EACL,MAAM,EACN,UAAU,EACV,SAA8B,EAC9B,UAAqB,GACtB,EAAE,gBAAgB,2CA8BlB"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { GlassPanel } from './GlassPanel';
|
|
4
|
-
import { StatusBadge } from './StatusBadge';
|
|
5
|
-
const chartColors = {
|
|
6
|
-
violet: {
|
|
7
|
-
bg: '#8B5CF6',
|
|
8
|
-
shadow: '0px 0px 8px rgba(124, 58, 237, 0.50)',
|
|
9
|
-
},
|
|
10
|
-
rose: {
|
|
11
|
-
bg: '#F43F5E',
|
|
12
|
-
shadow: '0px 0px 8px rgba(244, 63, 94, 0.50)',
|
|
13
|
-
},
|
|
14
|
-
gray: {
|
|
15
|
-
bg: '#6B7280',
|
|
16
|
-
shadow: 'none',
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
const DEFAULT_CHART_DATA = [25, 50, 35, 70, 100];
|
|
20
|
-
export function MetricsCard({ title, value, change, changeType, chartData = DEFAULT_CHART_DATA, chartColor = 'violet', }) {
|
|
21
|
-
const maxValue = Math.max(...chartData);
|
|
22
|
-
const barColor = chartColors[chartColor];
|
|
23
|
-
return (_jsx(GlassPanel, { variant: "light", className: "relative overflow-hidden", children: _jsxs("div", { className: "p-4 sm:p-5 min-h-[100px] sm:min-h-[109px] flex flex-col", children: [_jsxs("div", { className: "flex items-start justify-between gap-2 mb-auto", children: [_jsx("span", { className: "text-[10px] sm:text-xs font-semibold uppercase tracking-wider text-gray-400", children: title }), _jsx(StatusBadge, { variant: changeType, children: change })] }), _jsxs("div", { className: "flex items-end justify-between mt-4", children: [_jsx("span", { className: "text-xl sm:text-2xl font-bold text-white", children: value }), _jsx(MiniChart, { chartData: chartData, maxValue: maxValue, barColor: barColor })] })] }) }));
|
|
24
|
-
}
|
|
25
|
-
function MiniChart({ chartData, maxValue, barColor }) {
|
|
26
|
-
return (_jsx("div", { className: "flex items-end gap-[2px]", children: chartData.map((val, index) => {
|
|
27
|
-
const isLast = index === chartData.length - 1;
|
|
28
|
-
const height = Math.max((val / maxValue) * 20, 3);
|
|
29
|
-
return (_jsx("div", { style: {
|
|
30
|
-
width: '12px',
|
|
31
|
-
height: `${height}px`,
|
|
32
|
-
borderRadius: '2px 2px 0 0',
|
|
33
|
-
background: isLast ? barColor.bg : '#374151',
|
|
34
|
-
boxShadow: isLast ? barColor.shadow : 'none',
|
|
35
|
-
opacity: isLast ? 1 : 0.5,
|
|
36
|
-
} }, `bar-${index}-${val}`));
|
|
37
|
-
}) }));
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=MetricsCard.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MetricsCard.js","sourceRoot":"","sources":["../../../src/components/dashboard/MetricsCard.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAW5C,MAAM,WAAW,GAAG;IAClB,MAAM,EAAE;QACN,EAAE,EAAE,SAAS;QACb,MAAM,EAAE,sCAAsC;KAC/C;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,SAAS;QACb,MAAM,EAAE,qCAAqC;KAC9C;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,SAAS;QACb,MAAM,EAAE,MAAM;KACf;CACF,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAU,CAAC;AAE1D,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,KAAK,EACL,MAAM,EACN,UAAU,EACV,SAAS,GAAG,kBAAkB,EAC9B,UAAU,GAAG,QAAQ,GACJ;IACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAEzC,OAAO,CACL,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,0BAA0B,YAC9D,eAAK,SAAS,EAAC,yDAAyD,aAEtE,eAAK,SAAS,EAAC,gDAAgD,aAC7D,eAAM,SAAS,EAAC,6EAA6E,YAC1F,KAAK,GACD,EACP,KAAC,WAAW,IAAC,OAAO,EAAE,UAAU,YAAG,MAAM,GAAe,IACpD,EAGN,eAAK,SAAS,EAAC,qCAAqC,aAClD,eAAM,SAAS,EAAC,0CAA0C,YACvD,KAAK,GACD,EAEP,KAAC,SAAS,IACR,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GAClB,IACE,IACF,GACK,CACd,CAAC;AACJ,CAAC;AAQD,SAAS,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAkB;IAClE,OAAO,CACL,cAAK,SAAS,EAAC,0BAA0B,YACtC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YAElD,OAAO,CACL,cAEE,KAAK,EAAE;oBACL,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,GAAG,MAAM,IAAI;oBACrB,YAAY,EAAE,aAAa;oBAC3B,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;oBAC5C,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;oBAC5C,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;iBAC1B,IARI,OAAO,KAAK,IAAI,GAAG,EAAE,CAS1B,CACH,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { MobileSidebarProps } from './types';
|
|
2
|
-
export type { MobileSidebarProps };
|
|
3
|
-
export declare function MobileSidebar({ isOpen, onClose, navItems, activeHref, onNavigate, showSettings, logoSrc, userName, userEmail, onLogout, onThemeChange, onNotificationsChange, initialTheme, initialNotifications, chatHistory, activeChatId, chatHistoryExpanded, onChatClick, onChatHistoryToggle, onChatRename, onChatDelete, }: MobileSidebarProps): import("react/jsx-runtime").JSX.Element;
|
|
4
|
-
//# sourceMappingURL=MobileSidebar.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MobileSidebar.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/MobileSidebar.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAW,MAAM,SAAS,CAAC;AAM3D,YAAY,EAAE,kBAAkB,EAAE,CAAC;AAiBnC,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,OAAO,EACP,QAA0B,EAC1B,UAAgB,EAChB,UAAU,EACV,YAAmB,EACnB,OAAwB,EACxB,QAAiB,EACjB,SAA8B,EAC9B,QAAQ,EACR,aAAa,EACb,qBAAqB,EACrB,YAAqB,EACrB,oBAA2B,EAC3B,WAAW,EACX,YAAY,EACZ,mBAA0B,EAC1B,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,YAAY,GACb,EAAE,kBAAkB,2CA6HpB"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
-
import { useEffect } from 'react';
|
|
4
|
-
import { AnimatePresence, motion } from 'framer-motion';
|
|
5
|
-
import { X } from 'lucide-react';
|
|
6
|
-
import { ChatHistorySection } from './ChatHistorySection';
|
|
7
|
-
import { NavMenu } from './NavMenu';
|
|
8
|
-
import { SettingsDropup } from './SettingsDropup';
|
|
9
|
-
import { SidebarLogo } from './SidebarLogo';
|
|
10
|
-
const defaultNavItems = [
|
|
11
|
-
{ icon: 'grid_view', label: 'Overview', href: '/' },
|
|
12
|
-
{ icon: 'chat_bubble', label: 'Ask CROW', href: '/ask-crow' },
|
|
13
|
-
{
|
|
14
|
-
icon: 'timeline',
|
|
15
|
-
label: 'Analysis',
|
|
16
|
-
href: '#',
|
|
17
|
-
submenu: [
|
|
18
|
-
{ icon: '', label: 'Interactions', href: '/analysis/interactions' },
|
|
19
|
-
{ icon: '', label: 'Patterns', href: '/analysis/patterns' },
|
|
20
|
-
],
|
|
21
|
-
},
|
|
22
|
-
{ icon: 'group', label: 'Team', href: '/team' },
|
|
23
|
-
];
|
|
24
|
-
export function MobileSidebar({ isOpen, onClose, navItems = defaultNavItems, activeHref = '/', onNavigate, showSettings = true, logoSrc = '/favicon.png', userName = 'User', userEmail = 'user@example.com', onLogout, onThemeChange, onNotificationsChange, initialTheme = 'dark', initialNotifications = true, chatHistory, activeChatId, chatHistoryExpanded = true, onChatClick, onChatHistoryToggle, onChatRename, onChatDelete, }) {
|
|
25
|
-
// Show chat history only on Ask CROW page
|
|
26
|
-
const normalizedHref = activeHref?.replace(/\/$/, '') || '';
|
|
27
|
-
const showChatHistory = normalizedHref === '/ask-crow';
|
|
28
|
-
// Lock body scroll when sidebar is open
|
|
29
|
-
useEffect(() => {
|
|
30
|
-
if (isOpen) {
|
|
31
|
-
document.body.style.overflow = 'hidden';
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
document.body.style.overflow = '';
|
|
35
|
-
}
|
|
36
|
-
return () => {
|
|
37
|
-
document.body.style.overflow = '';
|
|
38
|
-
};
|
|
39
|
-
}, [isOpen]);
|
|
40
|
-
// Handle navigation - close sidebar after navigating
|
|
41
|
-
const handleNavigate = (href) => {
|
|
42
|
-
onNavigate?.(href);
|
|
43
|
-
onClose();
|
|
44
|
-
};
|
|
45
|
-
return (_jsx(AnimatePresence, { children: isOpen && (_jsxs(_Fragment, { children: [_jsx(motion.div, { initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, transition: { duration: 0.2 }, className: "fixed inset-0 bg-black/60 z-[100] md:hidden", onClick: onClose, "aria-hidden": "true" }), _jsxs(motion.aside, { initial: { x: '-100%' }, animate: { x: 0 }, exit: { x: '-100%' }, transition: { type: 'spring', damping: 25, stiffness: 300 }, className: "fixed left-0 top-0 h-full z-[101] md:hidden", style: {
|
|
46
|
-
width: 280,
|
|
47
|
-
background: 'black',
|
|
48
|
-
borderRight: '1px rgba(255, 255, 255, 0.08) solid',
|
|
49
|
-
}, children: [_jsx("div", { style: {
|
|
50
|
-
width: 279,
|
|
51
|
-
height: '100%',
|
|
52
|
-
left: 0,
|
|
53
|
-
top: 0,
|
|
54
|
-
position: 'absolute',
|
|
55
|
-
background: 'linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, rgba(255, 255, 255, 0) 100%)',
|
|
56
|
-
pointerEvents: 'none',
|
|
57
|
-
} }), _jsx("div", { style: {
|
|
58
|
-
width: 279,
|
|
59
|
-
height: 128,
|
|
60
|
-
left: 0,
|
|
61
|
-
top: 0,
|
|
62
|
-
position: 'absolute',
|
|
63
|
-
opacity: 0.50,
|
|
64
|
-
background: 'linear-gradient(180deg, #100B1A 0%, rgba(16, 11, 26, 0) 100%)',
|
|
65
|
-
pointerEvents: 'none',
|
|
66
|
-
} }), _jsx("button", { type: "button", onClick: onClose, className: "absolute top-4 right-4 w-8 h-8 flex items-center justify-center rounded-lg z-10 transition-colors hover:bg-white/[0.06]", "aria-label": "Close menu", children: _jsx(X, { size: 20, color: "#9CA3AF", strokeWidth: 2 }) }), _jsxs("div", { className: "flex flex-col h-full", children: [_jsx(SidebarLogo, { logoSrc: logoSrc }), _jsx(NavMenu, { items: navItems, activeHref: activeHref, onNavigate: handleNavigate }), _jsx(ChatHistorySection, { items: chatHistory, activeItemId: activeChatId, isExpanded: chatHistoryExpanded, isVisible: showChatHistory, onItemClick: onChatClick, onToggleExpanded: onChatHistoryToggle, onRename: onChatRename, onDelete: onChatDelete }), showSettings && (_jsx(SettingsDropup, { userName: userName, userEmail: userEmail, initialTheme: initialTheme, initialNotifications: initialNotifications, onThemeChange: onThemeChange, onNotificationsChange: onNotificationsChange, onLogout: onLogout }))] })] })] })) }));
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=MobileSidebar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MobileSidebar.js","sourceRoot":"","sources":["../../../src/components/dashboard/MobileSidebar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { NavItem } from './types';
|
|
2
|
-
export interface NavMenuProps {
|
|
3
|
-
items: NavItem[];
|
|
4
|
-
activeHref: string;
|
|
5
|
-
onNavigate?: (href: string) => void;
|
|
6
|
-
}
|
|
7
|
-
export declare function NavMenu({ items, activeHref, onNavigate }: NavMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
-
//# sourceMappingURL=NavMenu.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NavMenu.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/NavMenu.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAWD,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,YAAY,2CAwNtE"}
|