@b3-crow/ui-kit 0.0.34 → 0.0.35-pr30.6

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 (178) hide show
  1. package/dist/components/cards/TipCard.d.ts +5 -0
  2. package/dist/components/cards/TipCard.d.ts.map +1 -0
  3. package/dist/components/cards/TipCard.js +10 -0
  4. package/dist/components/cards/TipCard.js.map +1 -0
  5. package/dist/components/chat/MessageBubble.d.ts +13 -0
  6. package/dist/components/chat/MessageBubble.d.ts.map +1 -0
  7. package/dist/components/chat/MessageBubble.js +19 -0
  8. package/dist/components/chat/MessageBubble.js.map +1 -0
  9. package/dist/components/dashboard/ChatHistorySection.d.ts +4 -0
  10. package/dist/components/dashboard/ChatHistorySection.d.ts.map +1 -0
  11. package/dist/components/dashboard/ChatHistorySection.js +121 -0
  12. package/dist/components/dashboard/ChatHistorySection.js.map +1 -0
  13. package/dist/components/dashboard/CollapseToggleButton.d.ts +7 -0
  14. package/dist/components/dashboard/CollapseToggleButton.d.ts.map +1 -0
  15. package/dist/components/dashboard/CollapseToggleButton.js +7 -0
  16. package/dist/components/dashboard/CollapseToggleButton.js.map +1 -0
  17. package/dist/components/dashboard/DashboardBackground.d.ts +4 -0
  18. package/dist/components/dashboard/DashboardBackground.d.ts.map +1 -0
  19. package/dist/components/dashboard/DashboardBackground.js +20 -0
  20. package/dist/components/dashboard/DashboardBackground.js.map +1 -0
  21. package/dist/components/dashboard/Header.d.ts +4 -0
  22. package/dist/components/dashboard/Header.d.ts.map +1 -0
  23. package/dist/components/dashboard/Header.js +127 -0
  24. package/dist/components/dashboard/Header.js.map +1 -0
  25. package/dist/components/dashboard/MetricsCard.d.ts +10 -0
  26. package/dist/components/dashboard/MetricsCard.d.ts.map +1 -0
  27. package/dist/components/dashboard/MetricsCard.js +27 -0
  28. package/dist/components/dashboard/MetricsCard.js.map +1 -0
  29. package/dist/components/dashboard/MobileSidebar.d.ts +4 -0
  30. package/dist/components/dashboard/MobileSidebar.d.ts.map +1 -0
  31. package/dist/components/dashboard/MobileSidebar.js +45 -0
  32. package/dist/components/dashboard/MobileSidebar.js.map +1 -0
  33. package/dist/components/dashboard/NavMenu.d.ts +10 -0
  34. package/dist/components/dashboard/NavMenu.d.ts.map +1 -0
  35. package/dist/components/dashboard/NavMenu.js +68 -0
  36. package/dist/components/dashboard/NavMenu.js.map +1 -0
  37. package/dist/components/dashboard/NavTooltip.d.ts +10 -0
  38. package/dist/components/dashboard/NavTooltip.d.ts.map +1 -0
  39. package/dist/components/dashboard/NavTooltip.js +36 -0
  40. package/dist/components/dashboard/NavTooltip.js.map +1 -0
  41. package/dist/components/dashboard/PatternCard.d.ts +15 -0
  42. package/dist/components/dashboard/PatternCard.d.ts.map +1 -0
  43. package/dist/components/dashboard/PatternCard.js +45 -0
  44. package/dist/components/dashboard/PatternCard.js.map +1 -0
  45. package/dist/components/dashboard/SettingsDropup.d.ts +10 -0
  46. package/dist/components/dashboard/SettingsDropup.d.ts.map +1 -0
  47. package/dist/components/dashboard/SettingsDropup.js +94 -0
  48. package/dist/components/dashboard/SettingsDropup.js.map +1 -0
  49. package/dist/components/dashboard/SettingsModal.d.ts +4 -0
  50. package/dist/components/dashboard/SettingsModal.d.ts.map +1 -0
  51. package/dist/components/dashboard/SettingsModal.js +56 -0
  52. package/dist/components/dashboard/SettingsModal.js.map +1 -0
  53. package/dist/components/dashboard/SidePanel.d.ts +12 -0
  54. package/dist/components/dashboard/SidePanel.d.ts.map +1 -0
  55. package/dist/components/dashboard/SidePanel.js +79 -0
  56. package/dist/components/dashboard/SidePanel.js.map +1 -0
  57. package/dist/components/dashboard/Sidebar.d.ts +4 -0
  58. package/dist/components/dashboard/Sidebar.d.ts.map +1 -0
  59. package/dist/components/dashboard/Sidebar.js +15 -0
  60. package/dist/components/dashboard/Sidebar.js.map +1 -0
  61. package/dist/components/dashboard/SidebarLogo.d.ts +9 -0
  62. package/dist/components/dashboard/SidebarLogo.d.ts.map +1 -0
  63. package/dist/components/dashboard/SidebarLogo.js +10 -0
  64. package/dist/components/dashboard/SidebarLogo.js.map +1 -0
  65. package/dist/components/dashboard/constants/accessibility.d.ts +24 -0
  66. package/dist/components/dashboard/constants/accessibility.d.ts.map +1 -0
  67. package/dist/components/dashboard/constants/accessibility.js +26 -0
  68. package/dist/components/dashboard/constants/accessibility.js.map +1 -0
  69. package/dist/components/dashboard/constants/animations.d.ts +73 -0
  70. package/dist/components/dashboard/constants/animations.d.ts.map +1 -0
  71. package/dist/components/dashboard/constants/animations.js +48 -0
  72. package/dist/components/dashboard/constants/animations.js.map +1 -0
  73. package/dist/components/dashboard/constants/colors.d.ts +55 -0
  74. package/dist/components/dashboard/constants/colors.d.ts.map +1 -0
  75. package/dist/components/dashboard/constants/colors.js +55 -0
  76. package/dist/components/dashboard/constants/colors.js.map +1 -0
  77. package/dist/components/dashboard/constants/gradients.d.ts +29 -0
  78. package/dist/components/dashboard/constants/gradients.d.ts.map +1 -0
  79. package/dist/components/dashboard/constants/gradients.js +29 -0
  80. package/dist/components/dashboard/constants/gradients.js.map +1 -0
  81. package/dist/components/dashboard/constants/icons.d.ts +4 -0
  82. package/dist/components/dashboard/constants/icons.d.ts.map +1 -0
  83. package/dist/components/dashboard/constants/icons.js +23 -0
  84. package/dist/components/dashboard/constants/icons.js.map +1 -0
  85. package/dist/components/dashboard/constants/navigation.d.ts +3 -0
  86. package/dist/components/dashboard/constants/navigation.d.ts.map +1 -0
  87. package/dist/components/dashboard/constants/navigation.js +35 -0
  88. package/dist/components/dashboard/constants/navigation.js.map +1 -0
  89. package/dist/components/dashboard/constants/sizing.d.ts +61 -0
  90. package/dist/components/dashboard/constants/sizing.d.ts.map +1 -0
  91. package/dist/components/dashboard/constants/sizing.js +49 -0
  92. package/dist/components/dashboard/constants/sizing.js.map +1 -0
  93. package/dist/components/dashboard/constants/styles.d.ts +44 -0
  94. package/dist/components/dashboard/constants/styles.d.ts.map +1 -0
  95. package/dist/components/dashboard/constants/styles.js +44 -0
  96. package/dist/components/dashboard/constants/styles.js.map +1 -0
  97. package/dist/components/dashboard/constants.d.ts +32 -0
  98. package/dist/components/dashboard/constants.d.ts.map +1 -0
  99. package/dist/components/dashboard/constants.js +105 -0
  100. package/dist/components/dashboard/constants.js.map +1 -0
  101. package/dist/components/dashboard/index.d.ts +38 -0
  102. package/dist/components/dashboard/index.d.ts.map +1 -0
  103. package/dist/components/dashboard/index.js +38 -0
  104. package/dist/components/dashboard/index.js.map +1 -0
  105. package/dist/components/dashboard/types.d.ts +94 -0
  106. package/dist/components/dashboard/types.d.ts.map +1 -0
  107. package/dist/components/dashboard/types.js +2 -0
  108. package/dist/components/dashboard/types.js.map +1 -0
  109. package/dist/components/dashboard/utils/accessibilityUtils.d.ts +9 -0
  110. package/dist/components/dashboard/utils/accessibilityUtils.d.ts.map +1 -0
  111. package/dist/components/dashboard/utils/accessibilityUtils.js +56 -0
  112. package/dist/components/dashboard/utils/accessibilityUtils.js.map +1 -0
  113. package/dist/components/dashboard/utils/pathUtils.d.ts +4 -0
  114. package/dist/components/dashboard/utils/pathUtils.d.ts.map +1 -0
  115. package/dist/components/dashboard/utils/pathUtils.js +16 -0
  116. package/dist/components/dashboard/utils/pathUtils.js.map +1 -0
  117. package/dist/components/display/IconBadge.d.ts +12 -0
  118. package/dist/components/display/IconBadge.d.ts.map +1 -0
  119. package/dist/components/display/IconBadge.js +26 -0
  120. package/dist/components/display/IconBadge.js.map +1 -0
  121. package/dist/components/display/SourceIcon.d.ts +7 -0
  122. package/dist/components/display/SourceIcon.d.ts.map +1 -0
  123. package/dist/components/display/SourceIcon.js +23 -0
  124. package/dist/components/display/SourceIcon.js.map +1 -0
  125. package/dist/components/display/StatusBadge.d.ts +14 -0
  126. package/dist/components/display/StatusBadge.d.ts.map +1 -0
  127. package/dist/components/display/StatusBadge.js +30 -0
  128. package/dist/components/display/StatusBadge.js.map +1 -0
  129. package/dist/components/display/StatusIndicator.d.ts +7 -0
  130. package/dist/components/display/StatusIndicator.d.ts.map +1 -0
  131. package/dist/components/display/StatusIndicator.js +26 -0
  132. package/dist/components/display/StatusIndicator.js.map +1 -0
  133. package/dist/components/display/Tag.d.ts +7 -0
  134. package/dist/components/display/Tag.d.ts.map +1 -0
  135. package/dist/components/display/Tag.js +12 -0
  136. package/dist/components/display/Tag.js.map +1 -0
  137. package/dist/components/feedback/GeneratingState.d.ts +12 -0
  138. package/dist/components/feedback/GeneratingState.d.ts.map +1 -0
  139. package/dist/components/feedback/GeneratingState.js +19 -0
  140. package/dist/components/feedback/GeneratingState.js.map +1 -0
  141. package/dist/components/index.d.ts +17 -0
  142. package/dist/components/index.d.ts.map +1 -1
  143. package/dist/components/index.js +17 -0
  144. package/dist/components/index.js.map +1 -1
  145. package/dist/components/inputs/FilterDropdown.d.ts +14 -0
  146. package/dist/components/inputs/FilterDropdown.d.ts.map +1 -0
  147. package/dist/components/inputs/FilterDropdown.js +112 -0
  148. package/dist/components/inputs/FilterDropdown.js.map +1 -0
  149. package/dist/components/inputs/SearchInput.d.ts +14 -0
  150. package/dist/components/inputs/SearchInput.d.ts.map +1 -0
  151. package/dist/components/inputs/SearchInput.js +38 -0
  152. package/dist/components/inputs/SearchInput.js.map +1 -0
  153. package/dist/components/inputs/SuggestionChip.d.ts +10 -0
  154. package/dist/components/inputs/SuggestionChip.d.ts.map +1 -0
  155. package/dist/components/inputs/SuggestionChip.js +12 -0
  156. package/dist/components/inputs/SuggestionChip.js.map +1 -0
  157. package/dist/components/inputs/ToggleSwitch.d.ts +8 -0
  158. package/dist/components/inputs/ToggleSwitch.d.ts.map +1 -0
  159. package/dist/components/inputs/ToggleSwitch.js +29 -0
  160. package/dist/components/inputs/ToggleSwitch.js.map +1 -0
  161. package/dist/components/layout/GlassPanel.d.ts +4 -0
  162. package/dist/components/layout/GlassPanel.d.ts.map +1 -0
  163. package/dist/components/layout/GlassPanel.js +11 -0
  164. package/dist/components/layout/GlassPanel.js.map +1 -0
  165. package/dist/components/layout/ListItem.d.ts +10 -0
  166. package/dist/components/layout/ListItem.d.ts.map +1 -0
  167. package/dist/components/layout/ListItem.js +14 -0
  168. package/dist/components/layout/ListItem.js.map +1 -0
  169. package/dist/components/layout/SectionHeader.d.ts +13 -0
  170. package/dist/components/layout/SectionHeader.d.ts.map +1 -0
  171. package/dist/components/layout/SectionHeader.js +22 -0
  172. package/dist/components/layout/SectionHeader.js.map +1 -0
  173. package/dist/components/providers/LenisProvider.d.ts +22 -0
  174. package/dist/components/providers/LenisProvider.d.ts.map +1 -0
  175. package/dist/components/providers/LenisProvider.js +45 -0
  176. package/dist/components/providers/LenisProvider.js.map +1 -0
  177. package/dist/styles.css +1 -1
  178. package/package.json +23 -14
@@ -0,0 +1,44 @@
1
+ export const GLASS_STYLES = {
2
+ light: {
3
+ className: 'bg-white/[0.02] border-white/[0.06] backdrop-blur-sm',
4
+ style: {
5
+ background: 'rgba(255, 255, 255, 0.02)',
6
+ border: '1px solid rgba(255, 255, 255, 0.06)',
7
+ },
8
+ },
9
+ heavy: {
10
+ className: 'bg-white/[0.02] border-white/[0.08] backdrop-blur-md',
11
+ style: {
12
+ background: 'rgba(255, 255, 255, 0.02)',
13
+ border: '1px solid rgba(255, 255, 255, 0.08)',
14
+ },
15
+ },
16
+ };
17
+ export const MODAL_STYLES = {
18
+ backdrop: {
19
+ className: 'fixed inset-0 bg-black/60 backdrop-blur-sm z-[100]',
20
+ style: {
21
+ background: 'rgba(0, 0, 0, 0.60)',
22
+ backdropFilter: 'blur(4px)',
23
+ },
24
+ },
25
+ container: {
26
+ className: 'bg-[rgba(10,5,20,0.98)] backdrop-blur-[20px] rounded-2xl border border-white/[0.08]',
27
+ style: {
28
+ background: 'rgba(10, 5, 20, 0.98)',
29
+ borderColor: 'rgba(255, 255, 255, 0.08)',
30
+ },
31
+ },
32
+ shadow: 'shadow-[0px_24px_48px_rgba(0,0,0,0.5),0px_0px_1px_rgba(139,92,246,0.3)]',
33
+ };
34
+ export const DROPDOWN_STYLES = {
35
+ container: 'fixed min-w-[160px] py-1 rounded-lg bg-[rgba(20,10,35,0.98)] border border-white/10 shadow-[0_10px_40px_rgba(0,0,0,0.5)]',
36
+ menuItem: 'w-full px-3 py-2 flex items-center justify-between text-left transition-colors',
37
+ menuItemHovered: 'bg-white/5',
38
+ };
39
+ export const BORDER_COLORS = {
40
+ light: 'border-white/[0.06]',
41
+ default: 'border-white/[0.08]',
42
+ heavy: 'border-white/[0.10]',
43
+ };
44
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/components/dashboard/constants/styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,KAAK,EAAE;QACL,SAAS,EAAE,sDAAsD;QACjE,KAAK,EAAE;YACL,UAAU,EAAE,2BAA2B;YACvC,MAAM,EAAE,qCAAqC;SAC9C;KACF;IACD,KAAK,EAAE;QACL,SAAS,EAAE,sDAAsD;QACjE,KAAK,EAAE;YACL,UAAU,EAAE,2BAA2B;YACvC,MAAM,EAAE,qCAAqC;SAC9C;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE;QACR,SAAS,EAAE,oDAAoD;QAC/D,KAAK,EAAE;YACL,UAAU,EAAE,qBAAqB;YACjC,cAAc,EAAE,WAAW;SAC5B;KACF;IACD,SAAS,EAAE;QACT,SAAS,EACP,qFAAqF;QACvF,KAAK,EAAE;YACL,UAAU,EAAE,uBAAuB;YACnC,WAAW,EAAE,2BAA2B;SACzC;KACF;IACD,MAAM,EACJ,yEAAyE;CAC5E,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,SAAS,EACP,0HAA0H;IAC5H,QAAQ,EACN,gFAAgF;IAClF,eAAe,EAAE,YAAY;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,qBAAqB;IAC5B,OAAO,EAAE,qBAAqB;IAC9B,KAAK,EAAE,qBAAqB;CAC7B,CAAC"}
@@ -0,0 +1,32 @@
1
+ import type { FilterOption } from '../inputs/FilterDropdown';
2
+ import type { ConfidenceLevel, SeverityLevel } from './types';
3
+ export { FOCUSABLE_ELEMENTS, KEYBOARD_KEYS, KEYBOARD_PATTERNS, } from './constants/accessibility';
4
+ export { ANIMATION_PRESETS, MOTION_VARIANTS } from './constants/animations';
5
+ export { COLOR_PALETTE } from './constants/colors';
6
+ export { CHART_COLORS, GRADIENT_CONFIG } from './constants/gradients';
7
+ export { getIcon, ICON_REGISTRY } from './constants/icons';
8
+ export { DEFAULT_NAV_ITEMS } from './constants/navigation';
9
+ export { SIZING, SPACING } from './constants/sizing';
10
+ export { BORDER_COLORS, DROPDOWN_STYLES, GLASS_STYLES, MODAL_STYLES, } from './constants/styles';
11
+ export declare const SEVERITY_CONFIG: Record<SeverityLevel, {
12
+ label: string;
13
+ color: string;
14
+ bg: string;
15
+ border: string;
16
+ }>;
17
+ export declare const CONFIDENCE_CONFIG: Record<ConfidenceLevel, {
18
+ label: string;
19
+ color: string;
20
+ bg: string;
21
+ border: string;
22
+ }>;
23
+ export declare const DEFAULT_DATE_RANGE_OPTIONS: FilterOption[];
24
+ export declare const DEFAULT_SEVERITY_OPTIONS: FilterOption[];
25
+ export declare const DEFAULT_SOURCE_OPTIONS: FilterOption[];
26
+ export declare const DEFAULT_STORE_OPTIONS: FilterOption[];
27
+ export declare const DEFAULT_TIME_OPTIONS: FilterOption[];
28
+ export declare const DEFAULT_SORT_OPTIONS: FilterOption[];
29
+ export declare const DEFAULT_SITE_OPTIONS: FilterOption[];
30
+ export declare const DEFAULT_ROLE_OPTIONS: FilterOption[];
31
+ export declare const DEFAULT_STATUS_OPTIONS: FilterOption[];
32
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,aAAa,EACb,eAAe,EACf,YAAY,EACZ,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,eAAe,EAAE,MAAM,CAClC,aAAa,EACb;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAoB7D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACpC,eAAe,EACf;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAoB7D,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,YAAY,EAMpD,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,YAAY,EAKlD,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,YAAY,EAKhD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,YAAY,EAM/C,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAAY,EAM9C,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAAY,EAK9C,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAAY,EAK9C,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAAY,EAK9C,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,YAAY,EAIhD,CAAC"}
@@ -0,0 +1,105 @@
1
+ export { FOCUSABLE_ELEMENTS, KEYBOARD_KEYS, KEYBOARD_PATTERNS, } from './constants/accessibility';
2
+ export { ANIMATION_PRESETS, MOTION_VARIANTS } from './constants/animations';
3
+ export { COLOR_PALETTE } from './constants/colors';
4
+ export { CHART_COLORS, GRADIENT_CONFIG } from './constants/gradients';
5
+ export { getIcon, ICON_REGISTRY } from './constants/icons';
6
+ export { DEFAULT_NAV_ITEMS } from './constants/navigation';
7
+ export { SIZING, SPACING } from './constants/sizing';
8
+ export { BORDER_COLORS, DROPDOWN_STYLES, GLASS_STYLES, MODAL_STYLES, } from './constants/styles';
9
+ export const SEVERITY_CONFIG = {
10
+ high: {
11
+ label: 'HIGH',
12
+ color: '#F87171',
13
+ bg: 'rgba(239, 68, 68, 0.10)',
14
+ border: 'rgba(239, 68, 68, 0.20)',
15
+ },
16
+ medium: {
17
+ label: 'MEDIUM',
18
+ color: '#FACC15',
19
+ bg: 'rgba(234, 179, 8, 0.10)',
20
+ border: 'rgba(234, 179, 8, 0.20)',
21
+ },
22
+ low: {
23
+ label: 'LOW',
24
+ color: '#60A5FA',
25
+ bg: 'rgba(59, 130, 246, 0.10)',
26
+ border: 'rgba(59, 130, 246, 0.20)',
27
+ },
28
+ };
29
+ export const CONFIDENCE_CONFIG = {
30
+ high: {
31
+ label: 'High',
32
+ color: '#4ADE80',
33
+ bg: 'rgba(74, 222, 128, 0.10)',
34
+ border: 'rgba(74, 222, 128, 0.20)',
35
+ },
36
+ medium: {
37
+ label: 'Medium',
38
+ color: '#FACC15',
39
+ bg: 'rgba(234, 179, 8, 0.10)',
40
+ border: 'rgba(234, 179, 8, 0.20)',
41
+ },
42
+ low: {
43
+ label: 'Low',
44
+ color: '#9CA3AF',
45
+ bg: 'rgba(156, 163, 175, 0.10)',
46
+ border: 'rgba(156, 163, 175, 0.20)',
47
+ },
48
+ };
49
+ export const DEFAULT_DATE_RANGE_OPTIONS = [
50
+ { label: 'Date range', value: 'all' },
51
+ { label: 'Today', value: 'today' },
52
+ { label: 'Yesterday', value: 'yesterday' },
53
+ { label: 'Last 7 days', value: 'last_7_days' },
54
+ { label: 'Last 30 days', value: 'last_30_days' },
55
+ ];
56
+ export const DEFAULT_SEVERITY_OPTIONS = [
57
+ { label: 'Severity: All', value: 'all' },
58
+ { label: 'High', value: 'high' },
59
+ { label: 'Medium', value: 'medium' },
60
+ { label: 'Low', value: 'low' },
61
+ ];
62
+ export const DEFAULT_SOURCE_OPTIONS = [
63
+ { label: 'Source: All', value: 'all' },
64
+ { label: 'Web', value: 'web' },
65
+ { label: 'CCTV', value: 'cctv' },
66
+ { label: 'Social', value: 'social' },
67
+ ];
68
+ export const DEFAULT_STORE_OPTIONS = [
69
+ { label: 'Store: All', value: 'all' },
70
+ { label: 'NY-04', value: 'ny-04' },
71
+ { label: 'LA-01', value: 'la-01' },
72
+ { label: 'CH-02', value: 'ch-02' },
73
+ { label: 'Global Web', value: 'global-web' },
74
+ ];
75
+ export const DEFAULT_TIME_OPTIONS = [
76
+ { label: 'Time: 7d', value: '7d' },
77
+ { label: 'Today', value: 'today' },
78
+ { label: 'Yesterday', value: 'yesterday' },
79
+ { label: 'Last 24h', value: '24h' },
80
+ { label: 'Last 30d', value: '30d' },
81
+ ];
82
+ export const DEFAULT_SORT_OPTIONS = [
83
+ { label: 'Sort: Most recent', value: 'recent' },
84
+ { label: 'Severity (High to Low)', value: 'severity-desc' },
85
+ { label: 'Severity (Low to High)', value: 'severity-asc' },
86
+ { label: 'Confidence', value: 'confidence' },
87
+ ];
88
+ export const DEFAULT_SITE_OPTIONS = [
89
+ { label: 'Site: Global', value: 'global' },
90
+ { label: 'Store NY-04', value: 'ny-04' },
91
+ { label: 'Store LA-02', value: 'la-02' },
92
+ { label: 'Store LDN-02', value: 'ldn-02' },
93
+ ];
94
+ export const DEFAULT_ROLE_OPTIONS = [
95
+ { label: 'Role: All', value: 'all' },
96
+ { label: 'Admin', value: 'admin' },
97
+ { label: 'Manager', value: 'manager' },
98
+ { label: 'Viewer', value: 'viewer' },
99
+ ];
100
+ export const DEFAULT_STATUS_OPTIONS = [
101
+ { label: 'Status: All', value: 'all' },
102
+ { label: 'Active', value: 'active' },
103
+ { label: 'Inactive', value: 'inactive' },
104
+ ];
105
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/components/dashboard/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ export * from '../cards/TipCard';
2
+ export * from '../display/IconBadge';
3
+ export * from '../display/SourceIcon';
4
+ export * from '../display/StatusBadge';
5
+ export * from '../display/StatusIndicator';
6
+ export * from '../display/Tag';
7
+ export * from '../inputs/FilterDropdown';
8
+ export * from '../inputs/SearchInput';
9
+ export * from '../inputs/ToggleSwitch';
10
+ export * from '../layout/GlassPanel';
11
+ export * from '../layout/ListItem';
12
+ export * from '../layout/SectionHeader';
13
+ export * from './ChatHistorySection';
14
+ export * from './CollapseToggleButton';
15
+ export * from './constants';
16
+ export * from './constants/accessibility';
17
+ export * from './constants/animations';
18
+ export * from './constants/colors';
19
+ export * from './constants/icons';
20
+ export * from './constants/navigation';
21
+ export * from './constants/sizing';
22
+ export * from './constants/styles';
23
+ export * from './DashboardBackground';
24
+ export * from './Header';
25
+ export * from './MetricsCard';
26
+ export * from './MobileSidebar';
27
+ export * from './NavMenu';
28
+ export * from './NavTooltip';
29
+ export * from './PatternCard';
30
+ export * from './SettingsDropup';
31
+ export * from './SettingsModal';
32
+ export * from './Sidebar';
33
+ export * from './SidebarLogo';
34
+ export * from './SidePanel';
35
+ export * from './types';
36
+ export * from './utils/accessibilityUtils';
37
+ export * from './utils/pathUtils';
38
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AAEzB,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,38 @@
1
+ export * from '../cards/TipCard';
2
+ export * from '../display/IconBadge';
3
+ export * from '../display/SourceIcon';
4
+ export * from '../display/StatusBadge';
5
+ export * from '../display/StatusIndicator';
6
+ export * from '../display/Tag';
7
+ export * from '../inputs/FilterDropdown';
8
+ export * from '../inputs/SearchInput';
9
+ export * from '../inputs/ToggleSwitch';
10
+ export * from '../layout/GlassPanel';
11
+ export * from '../layout/ListItem';
12
+ export * from '../layout/SectionHeader';
13
+ export * from './ChatHistorySection';
14
+ export * from './CollapseToggleButton';
15
+ export * from './constants';
16
+ export * from './constants/accessibility';
17
+ export * from './constants/animations';
18
+ export * from './constants/colors';
19
+ export * from './constants/icons';
20
+ export * from './constants/navigation';
21
+ export * from './constants/sizing';
22
+ export * from './constants/styles';
23
+ export * from './DashboardBackground';
24
+ export * from './Header';
25
+ export * from './MetricsCard';
26
+ export * from './MobileSidebar';
27
+ export * from './NavMenu';
28
+ export * from './NavTooltip';
29
+ export * from './PatternCard';
30
+ export * from './SettingsDropup';
31
+ export * from './SettingsModal';
32
+ export * from './Sidebar';
33
+ export * from './SidebarLogo';
34
+ export * from './SidePanel';
35
+ export * from './types';
36
+ export * from './utils/accessibilityUtils';
37
+ export * from './utils/pathUtils';
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/dashboard/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AAEzB,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,94 @@
1
+ import type { ReactNode } from 'react';
2
+ export type SeverityLevel = 'high' | 'medium' | 'low';
3
+ export type ConfidenceLevel = 'high' | 'medium' | 'low';
4
+ export interface DateRangeOption {
5
+ label: string;
6
+ value: string;
7
+ }
8
+ export interface MetricItem {
9
+ label: string;
10
+ value: string;
11
+ change?: string;
12
+ changeType?: 'positive' | 'negative' | 'neutral';
13
+ }
14
+ export interface HeaderProps {
15
+ orgName?: string;
16
+ dateRange?: string;
17
+ onDateRangeChange?: (value: string) => void;
18
+ dateRangeOptions?: DateRangeOption[];
19
+ userInitials?: string;
20
+ showNotification?: boolean;
21
+ onNotificationClick?: () => void;
22
+ onAvatarClick?: () => void;
23
+ minimal?: boolean;
24
+ onMenuClick?: () => void;
25
+ logoSrc?: string;
26
+ }
27
+ export interface NavItem {
28
+ icon: string;
29
+ label: string;
30
+ href: string;
31
+ submenu?: NavItem[];
32
+ }
33
+ export interface SidebarProps {
34
+ navItems?: NavItem[];
35
+ activeHref?: string;
36
+ onNavigate?: (href: string) => void;
37
+ showSettings?: boolean;
38
+ logoSrc?: string;
39
+ userName?: string;
40
+ userEmail?: string;
41
+ onLogout?: () => void;
42
+ onNotificationsChange?: (enabled: boolean) => void;
43
+ initialNotifications?: boolean;
44
+ showChatHistory?: boolean;
45
+ chatHistory?: ChatHistoryItem[];
46
+ activeChatId?: string | null;
47
+ chatHistoryExpanded?: boolean;
48
+ onChatClick?: (id: string) => void;
49
+ onChatHistoryToggle?: () => void;
50
+ onChatRename?: (id: string, newTitle: string) => void;
51
+ onChatDelete?: (id: string) => void;
52
+ isCollapsed?: boolean;
53
+ onToggleCollapse?: () => void;
54
+ }
55
+ export interface GlassPanelProps {
56
+ children: ReactNode;
57
+ className?: string;
58
+ variant?: 'light' | 'heavy';
59
+ }
60
+ export interface DashboardBackgroundProps {
61
+ variant?: 'default' | 'minimal';
62
+ noiseTextureSrc?: string;
63
+ sidebarWidth?: number;
64
+ }
65
+ export interface SettingsModalProps {
66
+ isOpen: boolean;
67
+ onClose: () => void;
68
+ userEmail?: string;
69
+ userName?: string;
70
+ onLogout?: () => void;
71
+ onNotificationsChange?: (enabled: boolean) => void;
72
+ initialNotifications?: boolean;
73
+ }
74
+ export interface ChatHistoryItem {
75
+ id: string;
76
+ title: string;
77
+ }
78
+ export interface ChatHistorySectionProps {
79
+ items?: ChatHistoryItem[];
80
+ activeItemId?: string | null;
81
+ isExpanded?: boolean;
82
+ isVisible?: boolean;
83
+ onItemClick?: (id: string) => void;
84
+ onToggleExpanded?: () => void;
85
+ onRename?: (id: string, newTitle: string) => void;
86
+ onDelete?: (id: string) => void;
87
+ title?: string;
88
+ emptyMessage?: string;
89
+ }
90
+ export interface MobileSidebarProps extends SidebarProps {
91
+ isOpen: boolean;
92
+ onClose: () => void;
93
+ }
94
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AACtD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;CAClD;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/dashboard/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export declare const focusFirstElement: (container: HTMLElement | null) => void;
2
+ export declare const focusLastElement: (container: HTMLElement | null) => void;
3
+ export declare const getAllFocusableElements: (container: HTMLElement | null) => HTMLElement[];
4
+ export declare const lockBodyScroll: () => (() => void);
5
+ export declare const isKeyboardEventOpen: (key: string) => boolean;
6
+ export declare const isKeyboardEventClose: (key: string) => boolean;
7
+ export declare const isKeyboardEventSelect: (key: string) => boolean;
8
+ export declare const calculateNavigationIndex: (currentIndex: number, key: string, totalItems: number, direction: "next" | "previous" | "home" | "end") => number;
9
+ //# sourceMappingURL=accessibilityUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessibilityUtils.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/utils/accessibilityUtils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,GAAI,WAAW,WAAW,GAAG,IAAI,KAAG,IAQjE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,WAAW,WAAW,GAAG,IAAI,KAAG,IAOhE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,WAAW,WAAW,GAAG,IAAI,KAC5B,WAAW,EAGb,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,CAAC,MAAM,IAAI,CAO5C,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,KAAK,MAAM,KAAG,OAMjD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,KAAK,MAAM,KAAG,OAElD,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,KAAK,MAAM,KAAG,OAEnD,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,cAAc,MAAM,EACpB,KAAK,MAAM,EACX,YAAY,MAAM,EAClB,WAAW,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,KAC9C,MAaF,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { FOCUSABLE_ELEMENTS, KEYBOARD_KEYS } from '../constants/accessibility';
2
+ export const focusFirstElement = (container) => {
3
+ if (!container)
4
+ return;
5
+ setTimeout(() => {
6
+ const focusable = container.querySelector(FOCUSABLE_ELEMENTS);
7
+ focusable?.focus();
8
+ }, 0);
9
+ };
10
+ export const focusLastElement = (container) => {
11
+ if (!container)
12
+ return;
13
+ setTimeout(() => {
14
+ const focusables = container.querySelectorAll(FOCUSABLE_ELEMENTS);
15
+ const lastFocusable = focusables[focusables.length - 1];
16
+ lastFocusable?.focus();
17
+ }, 0);
18
+ };
19
+ export const getAllFocusableElements = (container) => {
20
+ if (!container)
21
+ return [];
22
+ return Array.from(container.querySelectorAll(FOCUSABLE_ELEMENTS));
23
+ };
24
+ export const lockBodyScroll = () => {
25
+ const originalOverflow = document.body.style.overflow;
26
+ document.body.style.overflow = 'hidden';
27
+ return () => {
28
+ document.body.style.overflow = originalOverflow;
29
+ };
30
+ };
31
+ export const isKeyboardEventOpen = (key) => {
32
+ return (key === KEYBOARD_KEYS.ENTER ||
33
+ key === KEYBOARD_KEYS.SPACE ||
34
+ key === KEYBOARD_KEYS.ARROW_DOWN);
35
+ };
36
+ export const isKeyboardEventClose = (key) => {
37
+ return key === KEYBOARD_KEYS.ESCAPE;
38
+ };
39
+ export const isKeyboardEventSelect = (key) => {
40
+ return key === KEYBOARD_KEYS.ENTER || key === KEYBOARD_KEYS.SPACE;
41
+ };
42
+ export const calculateNavigationIndex = (currentIndex, key, totalItems, direction) => {
43
+ switch (direction) {
44
+ case 'next':
45
+ return currentIndex < totalItems - 1 ? currentIndex + 1 : 0;
46
+ case 'previous':
47
+ return currentIndex > 0 ? currentIndex - 1 : totalItems - 1;
48
+ case 'home':
49
+ return 0;
50
+ case 'end':
51
+ return totalItems - 1;
52
+ default:
53
+ return currentIndex;
54
+ }
55
+ };
56
+ //# sourceMappingURL=accessibilityUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessibilityUtils.js","sourceRoot":"","sources":["../../../../src/components/dashboard/utils/accessibilityUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAA6B,EAAQ,EAAE;IACvE,IAAI,CAAC,SAAS;QAAE,OAAO;IACvB,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,SAAS,GAAG,SAAS,CAAC,aAAa,CACvC,kBAAkB,CACJ,CAAC;QACjB,SAAS,EAAE,KAAK,EAAE,CAAC;IACrB,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAA6B,EAAQ,EAAE;IACtE,IAAI,CAAC,SAAS;QAAE,OAAO;IACvB,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,UAAU,GAAG,SAAS,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QAClE,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAgB,CAAC;QACvE,aAAa,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,SAA6B,EACd,EAAE;IACjB,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAiB,EAAE;IAC/C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IACtD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAExC,OAAO,GAAG,EAAE;QACV,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,gBAAgB,CAAC;IAClD,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAW,EAAE;IAC1D,OAAO,CACL,GAAG,KAAK,aAAa,CAAC,KAAK;QAC3B,GAAG,KAAK,aAAa,CAAC,KAAK;QAC3B,GAAG,KAAK,aAAa,CAAC,UAAU,CACjC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAW,EAAE;IAC3D,OAAO,GAAG,KAAK,aAAa,CAAC,MAAM,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAW,EAAW,EAAE;IAC5D,OAAO,GAAG,KAAK,aAAa,CAAC,KAAK,IAAI,GAAG,KAAK,aAAa,CAAC,KAAK,CAAC;AACpE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,YAAoB,EACpB,GAAW,EACX,UAAkB,EAClB,SAA+C,EACvC,EAAE;IACV,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,YAAY,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,KAAK,UAAU;YACb,OAAO,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;QAC9D,KAAK,MAAM;YACT,OAAO,CAAC,CAAC;QACX,KAAK,KAAK;YACR,OAAO,UAAU,GAAG,CAAC,CAAC;QACxB;YACE,OAAO,YAAY,CAAC;IACxB,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const normalizePath: (path: string) => string;
2
+ export declare const isActivePath: (currentPath: string, targetPath: string) => boolean;
3
+ export declare const isActivePathPrefix: (currentPath: string, prefix: string) => boolean;
4
+ //# sourceMappingURL=pathUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pathUtils.d.ts","sourceRoot":"","sources":["../../../../src/components/dashboard/utils/pathUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,MAG5C,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,aAAa,MAAM,EACnB,YAAY,MAAM,KACjB,OAIF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,aAAa,MAAM,EACnB,QAAQ,MAAM,KACb,OAIF,CAAC"}
@@ -0,0 +1,16 @@
1
+ export const normalizePath = (path) => {
2
+ if (!path)
3
+ return '/';
4
+ return path.replace(/\/$/, '') || '/';
5
+ };
6
+ export const isActivePath = (currentPath, targetPath) => {
7
+ const normalized = normalizePath(currentPath);
8
+ const target = normalizePath(targetPath);
9
+ return normalized === target;
10
+ };
11
+ export const isActivePathPrefix = (currentPath, prefix) => {
12
+ const normalized = normalizePath(currentPath);
13
+ const normalizedPrefix = normalizePath(prefix);
14
+ return normalized.startsWith(normalizedPrefix);
15
+ };
16
+ //# sourceMappingURL=pathUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pathUtils.js","sourceRoot":"","sources":["../../../../src/components/dashboard/utils/pathUtils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAU,EAAE;IACpD,IAAI,CAAC,IAAI;QAAE,OAAO,GAAG,CAAC;IACtB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,WAAmB,EACnB,UAAkB,EACT,EAAE;IACX,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC,OAAO,UAAU,KAAK,MAAM,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,WAAmB,EACnB,MAAc,EACL,EAAE;IACX,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;AACjD,CAAC,CAAC"}
@@ -0,0 +1,12 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconBadge.d.ts","sourceRoot":"","sources":["../../../src/components/display/IconBadge.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAK7D,QAAA,MAAM,iBAAiB;;mFAiBtB,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;AAKD,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,OAAgB,EAChB,SAAc,EACd,aAAkB,GACnB,EAAE,cAAc,2CAmBhB"}
@@ -0,0 +1,26 @@
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
+ import { ICON_REGISTRY } from '../dashboard/constants/icons';
6
+ const iconBadgeVariants = cva('w-8 h-8 rounded-lg flex items-center justify-center border', {
7
+ variants: {
8
+ variant: {
9
+ gray: 'bg-gray-800/50 border-white/5',
10
+ violet: 'bg-violet-600 border-violet-500/50 shadow-[0_0_15px_rgba(124,58,237,0.5)]',
11
+ blue: 'bg-blue-600/20 border-blue-500/20',
12
+ emerald: 'bg-emerald-600/20 border-emerald-500/20',
13
+ rose: 'bg-rose-600/20 border-rose-500/20',
14
+ },
15
+ },
16
+ defaultVariants: {
17
+ variant: 'gray',
18
+ },
19
+ });
20
+ const getIconColor = (variant) => variant === 'gray' ? 'text-gray-400' : 'text-white';
21
+ export function IconBadge({ icon, variant = 'gray', className = '', iconClassName = '', }) {
22
+ const IconComponent = ICON_REGISTRY[icon];
23
+ const iconColor = getIconColor(variant);
24
+ return (_jsx("div", { className: cn(iconBadgeVariants({ variant }), className), children: IconComponent ? (_jsx(IconComponent, { size: 18, className: cn(iconColor, iconClassName), strokeWidth: 2 })) : (_jsx("span", { className: cn('text-[18px]', iconColor, iconClassName), children: icon })) }));
25
+ }
26
+ //# sourceMappingURL=IconBadge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconBadge.js","sourceRoot":"","sources":["../../../src/components/display/IconBadge.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,MAAM,iBAAiB,GAAG,GAAG,CAC3B,4DAA4D,EAC5D;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,IAAI,EAAE,+BAA+B;YACrC,MAAM,EACJ,2EAA2E;YAC7E,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,YAAY,GAAG,CAAC,OAAsB,EAAE,EAAE,CAC9C,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC;AAEtD,MAAM,UAAU,SAAS,CAAC,EACxB,IAAI,EACJ,OAAO,GAAG,MAAM,EAChB,SAAS,GAAG,EAAE,EACd,aAAa,GAAG,EAAE,GACH;IACf,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAExC,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,YAC1D,aAAa,CAAC,CAAC,CAAC,CACf,KAAC,aAAa,IACZ,IAAI,EAAE,EAAE,EACR,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,EACvC,WAAW,EAAE,CAAC,GACd,CACH,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,aAAa,CAAC,YACzD,IAAI,GACA,CACR,GACG,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ export type SourceType = 'web' | 'cctv' | 'social';
2
+ export interface SourceIconProps {
3
+ source: SourceType;
4
+ size?: 'sm' | 'md';
5
+ }
6
+ export declare function SourceIcon({ source, size }: SourceIconProps): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=SourceIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceIcon.d.ts","sourceRoot":"","sources":["../../../src/components/display/SourceIcon.tsx"],"names":[],"mappings":"AAIA,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB;AAoBD,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,IAAW,EAAE,EAAE,eAAe,2CAalE"}
@@ -0,0 +1,23 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { Globe, MessageCircle, Video } from 'lucide-react';
4
+ const sourceConfig = {
5
+ web: { icon: Globe, color: '#60A5FA', bg: 'rgba(96, 165, 250, 0.15)' },
6
+ cctv: { icon: Video, color: '#F87171', bg: 'rgba(248, 113, 113, 0.15)' },
7
+ social: {
8
+ icon: MessageCircle,
9
+ color: '#A78BFA',
10
+ bg: 'rgba(167, 139, 250, 0.15)',
11
+ },
12
+ };
13
+ const sizeConfig = {
14
+ sm: { containerClass: 'w-8 h-8', iconSize: 16 },
15
+ md: { containerClass: 'w-10 h-10', iconSize: 20 },
16
+ };
17
+ export function SourceIcon({ source, size = 'sm' }) {
18
+ const sourceStyle = sourceConfig[source];
19
+ const IconComponent = sourceStyle.icon;
20
+ const { containerClass, iconSize } = sizeConfig[size];
21
+ return (_jsx("div", { className: `${containerClass} rounded-lg flex items-center justify-center`, style: { background: sourceStyle.bg }, children: _jsx(IconComponent, { size: iconSize, color: sourceStyle.color }) }));
22
+ }
23
+ //# sourceMappingURL=SourceIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceIcon.js","sourceRoot":"","sources":["../../../src/components/display/SourceIcon.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAS3D,MAAM,YAAY,GAGd;IACF,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,0BAA0B,EAAE;IACtE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,2BAA2B,EAAE;IACxE,MAAM,EAAE;QACN,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,SAAS;QAChB,EAAE,EAAE,2BAA2B;KAChC;CACF,CAAC;AAEF,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC/C,EAAE,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE;CACzC,CAAC;AAEX,MAAM,UAAU,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,EAAmB;IACjE,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC;IACvC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAEtD,OAAO,CACL,cACE,SAAS,EAAE,GAAG,cAAc,8CAA8C,EAC1E,KAAK,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,YAErC,KAAC,aAAa,IAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,GAAI,GACvD,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { VariantProps } from 'class-variance-authority';
2
+ declare const badgeVariants: (props?: ({
3
+ variant?: "medium" | "positive" | "negative" | "warning" | "neutral" | "info" | "high" | "low" | null | undefined;
4
+ size?: "default" | "sm" | null | undefined;
5
+ } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
6
+ export interface StatusBadgeProps extends VariantProps<typeof badgeVariants> {
7
+ children: React.ReactNode;
8
+ className?: string;
9
+ uppercase?: boolean;
10
+ tracking?: boolean;
11
+ }
12
+ export declare function StatusBadge({ children, variant, size, className, uppercase, tracking, }: StatusBadgeProps): import("react/jsx-runtime").JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=StatusBadge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusBadge.d.ts","sourceRoot":"","sources":["../../../src/components/display/StatusBadge.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAI7D,QAAA,MAAM,aAAa;;;mFAsBjB,CAAC;AAEH,MAAM,WAAW,gBAAiB,SAAQ,YAAY,CAAC,OAAO,aAAa,CAAC;IAC1E,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,OAAmB,EACnB,IAAgB,EAChB,SAAc,EACd,SAAiB,EACjB,QAAgB,GACjB,EAAE,gBAAgB,2CAalB"}