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

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 (208) 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/{dashboard → cards}/TipCard.js +0 -7
  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.map +1 -1
  10. package/dist/components/dashboard/ChatHistorySection.js +31 -29
  11. package/dist/components/dashboard/ChatHistorySection.js.map +1 -1
  12. package/dist/components/dashboard/CollapseToggleButton.d.ts +7 -0
  13. package/dist/components/dashboard/CollapseToggleButton.d.ts.map +1 -0
  14. package/dist/components/dashboard/CollapseToggleButton.js +7 -0
  15. package/dist/components/dashboard/CollapseToggleButton.js.map +1 -0
  16. package/dist/components/dashboard/DashboardBackground.d.ts.map +1 -1
  17. package/dist/components/dashboard/DashboardBackground.js +13 -9
  18. package/dist/components/dashboard/DashboardBackground.js.map +1 -1
  19. package/dist/components/dashboard/Header.d.ts.map +1 -1
  20. package/dist/components/dashboard/Header.js +62 -58
  21. package/dist/components/dashboard/Header.js.map +1 -1
  22. package/dist/components/dashboard/MetricsCard.d.ts.map +1 -1
  23. package/dist/components/dashboard/MetricsCard.js +12 -26
  24. package/dist/components/dashboard/MetricsCard.js.map +1 -1
  25. package/dist/components/dashboard/MobileSidebar.d.ts.map +1 -1
  26. package/dist/components/dashboard/MobileSidebar.js +8 -20
  27. package/dist/components/dashboard/MobileSidebar.js.map +1 -1
  28. package/dist/components/dashboard/NavMenu.d.ts +3 -1
  29. package/dist/components/dashboard/NavMenu.d.ts.map +1 -1
  30. package/dist/components/dashboard/NavMenu.js +44 -42
  31. package/dist/components/dashboard/NavMenu.js.map +1 -1
  32. package/dist/components/dashboard/NavTooltip.d.ts +10 -0
  33. package/dist/components/dashboard/NavTooltip.d.ts.map +1 -0
  34. package/dist/components/dashboard/NavTooltip.js +36 -0
  35. package/dist/components/dashboard/NavTooltip.js.map +1 -0
  36. package/dist/components/dashboard/PatternCard.d.ts +1 -1
  37. package/dist/components/dashboard/PatternCard.d.ts.map +1 -1
  38. package/dist/components/dashboard/PatternCard.js +22 -13
  39. package/dist/components/dashboard/PatternCard.js.map +1 -1
  40. package/dist/components/dashboard/SettingsDropup.d.ts +2 -1
  41. package/dist/components/dashboard/SettingsDropup.d.ts.map +1 -1
  42. package/dist/components/dashboard/SettingsDropup.js +9 -13
  43. package/dist/components/dashboard/SettingsDropup.js.map +1 -1
  44. package/dist/components/dashboard/SettingsModal.js +3 -3
  45. package/dist/components/dashboard/SettingsModal.js.map +1 -1
  46. package/dist/components/dashboard/SidePanel.d.ts.map +1 -1
  47. package/dist/components/dashboard/SidePanel.js +1 -1
  48. package/dist/components/dashboard/SidePanel.js.map +1 -1
  49. package/dist/components/dashboard/Sidebar.d.ts +1 -1
  50. package/dist/components/dashboard/Sidebar.d.ts.map +1 -1
  51. package/dist/components/dashboard/Sidebar.js +7 -20
  52. package/dist/components/dashboard/Sidebar.js.map +1 -1
  53. package/dist/components/dashboard/SidebarLogo.d.ts +3 -1
  54. package/dist/components/dashboard/SidebarLogo.d.ts.map +1 -1
  55. package/dist/components/dashboard/SidebarLogo.js +6 -2
  56. package/dist/components/dashboard/SidebarLogo.js.map +1 -1
  57. package/dist/components/dashboard/constants/accessibility.d.ts +24 -0
  58. package/dist/components/dashboard/constants/accessibility.d.ts.map +1 -0
  59. package/dist/components/dashboard/constants/accessibility.js +26 -0
  60. package/dist/components/dashboard/constants/accessibility.js.map +1 -0
  61. package/dist/components/dashboard/constants/animations.d.ts +73 -0
  62. package/dist/components/dashboard/constants/animations.d.ts.map +1 -0
  63. package/dist/components/dashboard/constants/animations.js +48 -0
  64. package/dist/components/dashboard/constants/animations.js.map +1 -0
  65. package/dist/components/dashboard/constants/colors.d.ts +55 -0
  66. package/dist/components/dashboard/constants/colors.d.ts.map +1 -0
  67. package/dist/components/dashboard/constants/colors.js +55 -0
  68. package/dist/components/dashboard/constants/colors.js.map +1 -0
  69. package/dist/components/dashboard/constants/gradients.d.ts +29 -0
  70. package/dist/components/dashboard/constants/gradients.d.ts.map +1 -0
  71. package/dist/components/dashboard/constants/gradients.js +29 -0
  72. package/dist/components/dashboard/constants/gradients.js.map +1 -0
  73. package/dist/components/dashboard/constants/icons.d.ts +4 -0
  74. package/dist/components/dashboard/constants/icons.d.ts.map +1 -0
  75. package/dist/components/dashboard/constants/icons.js +23 -0
  76. package/dist/components/dashboard/constants/icons.js.map +1 -0
  77. package/dist/components/dashboard/constants/navigation.d.ts +3 -0
  78. package/dist/components/dashboard/constants/navigation.d.ts.map +1 -0
  79. package/dist/components/dashboard/constants/navigation.js +35 -0
  80. package/dist/components/dashboard/constants/navigation.js.map +1 -0
  81. package/dist/components/dashboard/constants/sizing.d.ts +61 -0
  82. package/dist/components/dashboard/constants/sizing.d.ts.map +1 -0
  83. package/dist/components/dashboard/constants/sizing.js +49 -0
  84. package/dist/components/dashboard/constants/sizing.js.map +1 -0
  85. package/dist/components/dashboard/constants/styles.d.ts +44 -0
  86. package/dist/components/dashboard/constants/styles.d.ts.map +1 -0
  87. package/dist/components/dashboard/constants/styles.js +44 -0
  88. package/dist/components/dashboard/constants/styles.js.map +1 -0
  89. package/dist/components/dashboard/constants.d.ts +10 -6
  90. package/dist/components/dashboard/constants.d.ts.map +1 -1
  91. package/dist/components/dashboard/constants.js +8 -7
  92. package/dist/components/dashboard/constants.js.map +1 -1
  93. package/dist/components/dashboard/index.d.ts +23 -13
  94. package/dist/components/dashboard/index.d.ts.map +1 -1
  95. package/dist/components/dashboard/index.js +23 -13
  96. package/dist/components/dashboard/index.js.map +1 -1
  97. package/dist/components/dashboard/types.d.ts +2 -23
  98. package/dist/components/dashboard/types.d.ts.map +1 -1
  99. package/dist/components/dashboard/utils/accessibilityUtils.d.ts +9 -0
  100. package/dist/components/dashboard/utils/accessibilityUtils.d.ts.map +1 -0
  101. package/dist/components/dashboard/utils/accessibilityUtils.js +56 -0
  102. package/dist/components/dashboard/utils/accessibilityUtils.js.map +1 -0
  103. package/dist/components/dashboard/utils/pathUtils.d.ts +4 -0
  104. package/dist/components/dashboard/utils/pathUtils.d.ts.map +1 -0
  105. package/dist/components/dashboard/utils/pathUtils.js +16 -0
  106. package/dist/components/dashboard/utils/pathUtils.js.map +1 -0
  107. package/dist/components/display/IconBadge.d.ts +12 -0
  108. package/dist/components/display/IconBadge.d.ts.map +1 -0
  109. package/dist/components/display/IconBadge.js +26 -0
  110. package/dist/components/display/IconBadge.js.map +1 -0
  111. package/dist/components/display/SourceIcon.d.ts +7 -0
  112. package/dist/components/display/SourceIcon.d.ts.map +1 -0
  113. package/dist/components/display/SourceIcon.js +23 -0
  114. package/dist/components/display/SourceIcon.js.map +1 -0
  115. package/dist/components/display/StatusBadge.d.ts +14 -0
  116. package/dist/components/display/StatusBadge.d.ts.map +1 -0
  117. package/dist/components/{dashboard → display}/StatusBadge.js +0 -12
  118. package/dist/components/display/StatusBadge.js.map +1 -0
  119. package/dist/components/display/StatusIndicator.d.ts +7 -0
  120. package/dist/components/display/StatusIndicator.d.ts.map +1 -0
  121. package/dist/components/{dashboard → display}/StatusIndicator.js +0 -9
  122. package/dist/components/display/StatusIndicator.js.map +1 -0
  123. package/dist/components/display/Tag.d.ts +7 -0
  124. package/dist/components/display/Tag.d.ts.map +1 -0
  125. package/dist/components/display/Tag.js +12 -0
  126. package/dist/components/display/Tag.js.map +1 -0
  127. package/dist/components/feedback/GeneratingState.d.ts +12 -0
  128. package/dist/components/feedback/GeneratingState.d.ts.map +1 -0
  129. package/dist/components/feedback/GeneratingState.js +19 -0
  130. package/dist/components/feedback/GeneratingState.js.map +1 -0
  131. package/dist/components/index.d.ts +16 -0
  132. package/dist/components/index.d.ts.map +1 -1
  133. package/dist/components/index.js +16 -0
  134. package/dist/components/index.js.map +1 -1
  135. package/dist/components/inputs/FilterDropdown.d.ts.map +1 -0
  136. package/dist/components/{dashboard → inputs}/FilterDropdown.js +14 -16
  137. package/dist/components/inputs/FilterDropdown.js.map +1 -0
  138. package/dist/components/inputs/SearchInput.d.ts +14 -0
  139. package/dist/components/inputs/SearchInput.d.ts.map +1 -0
  140. package/dist/components/{dashboard → inputs}/SearchInput.js +11 -25
  141. package/dist/components/inputs/SearchInput.js.map +1 -0
  142. package/dist/components/inputs/SuggestionChip.d.ts +10 -0
  143. package/dist/components/inputs/SuggestionChip.d.ts.map +1 -0
  144. package/dist/components/inputs/SuggestionChip.js +12 -0
  145. package/dist/components/inputs/SuggestionChip.js.map +1 -0
  146. package/dist/components/inputs/ToggleSwitch.d.ts +8 -0
  147. package/dist/components/inputs/ToggleSwitch.d.ts.map +1 -0
  148. package/dist/components/inputs/ToggleSwitch.js +29 -0
  149. package/dist/components/inputs/ToggleSwitch.js.map +1 -0
  150. package/dist/components/layout/GlassPanel.d.ts +4 -0
  151. package/dist/components/layout/GlassPanel.d.ts.map +1 -0
  152. package/dist/components/layout/GlassPanel.js +11 -0
  153. package/dist/components/layout/GlassPanel.js.map +1 -0
  154. package/dist/components/layout/ListItem.d.ts +10 -0
  155. package/dist/components/layout/ListItem.d.ts.map +1 -0
  156. package/dist/components/layout/ListItem.js +14 -0
  157. package/dist/components/layout/ListItem.js.map +1 -0
  158. package/dist/components/layout/SectionHeader.d.ts.map +1 -0
  159. package/dist/components/{dashboard → layout}/SectionHeader.js +12 -9
  160. package/dist/components/layout/SectionHeader.js.map +1 -0
  161. package/dist/components/providers/LenisProvider.d.ts +22 -0
  162. package/dist/components/providers/LenisProvider.d.ts.map +1 -0
  163. package/dist/components/providers/LenisProvider.js +45 -0
  164. package/dist/components/providers/LenisProvider.js.map +1 -0
  165. package/dist/styles.css +1 -1
  166. package/package.json +4 -2
  167. package/dist/components/dashboard/FilterDropdown.d.ts.map +0 -1
  168. package/dist/components/dashboard/FilterDropdown.js.map +0 -1
  169. package/dist/components/dashboard/GlassPanel.d.ts +0 -13
  170. package/dist/components/dashboard/GlassPanel.d.ts.map +0 -1
  171. package/dist/components/dashboard/GlassPanel.js +0 -20
  172. package/dist/components/dashboard/GlassPanel.js.map +0 -1
  173. package/dist/components/dashboard/IconBadge.d.ts +0 -22
  174. package/dist/components/dashboard/IconBadge.d.ts.map +0 -1
  175. package/dist/components/dashboard/IconBadge.js +0 -44
  176. package/dist/components/dashboard/IconBadge.js.map +0 -1
  177. package/dist/components/dashboard/ListItem.d.ts +0 -22
  178. package/dist/components/dashboard/ListItem.d.ts.map +0 -1
  179. package/dist/components/dashboard/ListItem.js +0 -25
  180. package/dist/components/dashboard/ListItem.js.map +0 -1
  181. package/dist/components/dashboard/SearchInput.d.ts +0 -30
  182. package/dist/components/dashboard/SearchInput.d.ts.map +0 -1
  183. package/dist/components/dashboard/SearchInput.js.map +0 -1
  184. package/dist/components/dashboard/SectionHeader.d.ts.map +0 -1
  185. package/dist/components/dashboard/SectionHeader.js.map +0 -1
  186. package/dist/components/dashboard/SourceIcon.d.ts +0 -15
  187. package/dist/components/dashboard/SourceIcon.d.ts.map +0 -1
  188. package/dist/components/dashboard/SourceIcon.js +0 -28
  189. package/dist/components/dashboard/SourceIcon.js.map +0 -1
  190. package/dist/components/dashboard/StatusBadge.d.ts +0 -26
  191. package/dist/components/dashboard/StatusBadge.d.ts.map +0 -1
  192. package/dist/components/dashboard/StatusBadge.js.map +0 -1
  193. package/dist/components/dashboard/StatusIndicator.d.ts +0 -16
  194. package/dist/components/dashboard/StatusIndicator.d.ts.map +0 -1
  195. package/dist/components/dashboard/StatusIndicator.js.map +0 -1
  196. package/dist/components/dashboard/Tag.d.ts +0 -16
  197. package/dist/components/dashboard/Tag.d.ts.map +0 -1
  198. package/dist/components/dashboard/Tag.js +0 -18
  199. package/dist/components/dashboard/Tag.js.map +0 -1
  200. package/dist/components/dashboard/TipCard.d.ts +0 -12
  201. package/dist/components/dashboard/TipCard.d.ts.map +0 -1
  202. package/dist/components/dashboard/TipCard.js.map +0 -1
  203. package/dist/components/dashboard/ToggleSwitch.d.ts +0 -17
  204. package/dist/components/dashboard/ToggleSwitch.d.ts.map +0 -1
  205. package/dist/components/dashboard/ToggleSwitch.js +0 -27
  206. package/dist/components/dashboard/ToggleSwitch.js.map +0 -1
  207. /package/dist/components/{dashboard → inputs}/FilterDropdown.d.ts +0 -0
  208. /package/dist/components/{dashboard → layout}/SectionHeader.d.ts +0 -0
@@ -1 +1 @@
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,gCAAgC;IAChC,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;IAC5C,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,aACtE,eAAK,SAAS,EAAC,gDAAgD,aAC7D,eAAM,SAAS,EAAC,6EAA6E,YAC1F,KAAK,GACD,EACP,KAAC,WAAW,IAAC,OAAO,EAAE,UAAU,YAAG,MAAM,GAAe,IACpD,EAEN,eAAK,SAAS,EAAC,qCAAqC,aAClD,eAAM,SAAS,EAAC,0CAA0C,YACvD,KAAK,GACD,EAEP,KAAC,SAAS,IACR,SAAS,EAAE,aAAa,EACxB,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
+ {"version":3,"file":"MetricsCard.js","sourceRoot":"","sources":["../../../src/components/dashboard/MetricsCard.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAWrD,MAAM,kBAAkB,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAU,CAAC;AAQ1D,SAAS,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAkB;IAClE,OAAO,CACL,cAAK,SAAS,EAAC,0BAA0B,YACtC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YAEpD,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,KAAK,EAAE,CAS5B,CACH,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,KAAK,EACL,MAAM,EACN,UAAU,EACV,SAAS,GAAG,kBAAkB,EAC9B,UAAU,GAAG,QAAQ,GACJ;IACjB,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAE1C,OAAO,CACL,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,0BAA0B,YAC9D,eAAK,SAAS,EAAC,yDAAyD,aACtE,eAAK,SAAS,EAAC,gDAAgD,aAC7D,eAAM,SAAS,EAAC,6EAA6E,YAC1F,KAAK,GACD,EACP,KAAC,WAAW,IAAC,OAAO,EAAE,UAAU,YAAG,MAAM,GAAe,IACpD,EAEN,eAAK,SAAS,EAAC,qCAAqC,aAClD,eAAM,SAAS,EAAC,0CAA0C,YACvD,KAAK,GACD,EACP,KAAC,SAAS,IACR,SAAS,EAAE,aAAa,EACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GAClB,IACE,IACF,GACK,CACd,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MobileSidebar.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/MobileSidebar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAW,MAAM,SAAS,CAAC;AAS3D,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,qBAAqB,EACrB,oBAA2B,EAC3B,WAAW,EACX,YAAY,EACZ,mBAA0B,EAC1B,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,YAAY,GACb,EAAE,kBAAkB,2CAmHpB"}
1
+ {"version":3,"file":"MobileSidebar.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/MobileSidebar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAWlD,YAAY,EAAE,kBAAkB,EAAE,CAAC;AAwBnC,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,OAAO,EACP,QAA4B,EAC5B,UAAgB,EAChB,UAAU,EACV,YAAmB,EACnB,OAAwB,EACxB,QAAiB,EACjB,SAA8B,EAC9B,QAAQ,EACR,qBAAqB,EACrB,oBAA2B,EAC3B,WAAW,EACX,YAAY,EACZ,mBAA0B,EAC1B,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,YAAY,GACb,EAAE,kBAAkB,2CA8FpB"}
@@ -4,28 +4,12 @@ import { AnimatePresence, motion } from 'framer-motion';
4
4
  import { X } from 'lucide-react';
5
5
  import { useEffect } from 'react';
6
6
  import { ChatHistorySection } from './ChatHistorySection';
7
+ import { DEFAULT_NAV_ITEMS } from './constants/navigation';
7
8
  import { NavMenu } from './NavMenu';
8
9
  import { SettingsDropup } from './SettingsDropup';
9
10
  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, onNotificationsChange, initialNotifications = true, chatHistory, activeChatId, chatHistoryExpanded = true, onChatClick, onChatHistoryToggle, onChatRename, onChatDelete, }) {
25
- // Show chat history when on Ask CROW page
26
- const normalizedHref = activeHref?.replace(/\/$/, '') || '';
27
- const showChatHistory = normalizedHref === '/ask-crow';
28
- // Lock body scroll and handle Escape key when sidebar is open
11
+ import { normalizePath } from './utils/pathUtils';
12
+ const useBodyScrollLock = (isOpen, onClose) => {
29
13
  useEffect(() => {
30
14
  if (!isOpen) {
31
15
  document.body.style.overflow = '';
@@ -43,7 +27,11 @@ export function MobileSidebar({ isOpen, onClose, navItems = defaultNavItems, act
43
27
  document.body.style.overflow = '';
44
28
  };
45
29
  }, [isOpen, onClose]);
46
- // Handle navigation - close sidebar after navigating
30
+ };
31
+ export function MobileSidebar({ isOpen, onClose, navItems = DEFAULT_NAV_ITEMS, activeHref = '/', onNavigate, showSettings = true, logoSrc = '/favicon.png', userName = 'User', userEmail = 'user@example.com', onLogout, onNotificationsChange, initialNotifications = true, chatHistory, activeChatId, chatHistoryExpanded = true, onChatClick, onChatHistoryToggle, onChatRename, onChatDelete, }) {
32
+ useBodyScrollLock(isOpen, onClose);
33
+ const normalizedHref = normalizePath(activeHref);
34
+ const showChatHistory = normalizedHref === '/ask-crow';
47
35
  const handleNavigate = (href) => {
48
36
  onNavigate?.(href);
49
37
  onClose();
@@ -1 +1 @@
1
- {"version":3,"file":"MobileSidebar.js","sourceRoot":"","sources":["../../../src/components/dashboard/MobileSidebar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MobileSidebar.js","sourceRoot":"","sources":["../../../src/components/dashboard/MobileSidebar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIlD,MAAM,iBAAiB,GAAG,CAAC,MAAe,EAAE,OAAmB,EAAE,EAAE;IACjE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACxC,MAAM,eAAe,GAAG,CAAC,CAAgB,EAAE,EAAE;YAC3C,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACvB,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAEtD,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YACzD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QACpC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,EAC5B,MAAM,EACN,OAAO,EACP,QAAQ,GAAG,iBAAiB,EAC5B,UAAU,GAAG,GAAG,EAChB,UAAU,EACV,YAAY,GAAG,IAAI,EACnB,OAAO,GAAG,cAAc,EACxB,QAAQ,GAAG,MAAM,EACjB,SAAS,GAAG,kBAAkB,EAC9B,QAAQ,EACR,qBAAqB,EACrB,oBAAoB,GAAG,IAAI,EAC3B,WAAW,EACX,YAAY,EACZ,mBAAmB,GAAG,IAAI,EAC1B,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,YAAY,GACO;IACnB,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC,MAAM,cAAc,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,cAAc,KAAK,WAAW,CAAC;IAEvD,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE;QACtC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,eAAe,cACb,MAAM,IAAI,CACT,8BACE,KAAC,MAAM,CAAC,GAAG,IACT,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EACvB,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EACvB,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EACpB,UAAU,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAC7B,SAAS,EAAC,6CAA6C,EACvD,OAAO,EAAE,OAAO,iBACJ,MAAM,GAClB,EAEF,MAAC,MAAM,CAAC,KAAK,IACX,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,EACvB,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EACjB,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,EACpB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAC3D,SAAS,EAAC,6FAA6F,EACvG,IAAI,EAAC,QAAQ,gBACF,MAAM,gBACN,iBAAiB,aAE5B,cACE,SAAS,EAAC,uDAAuD,EACjE,KAAK,EAAE;gCACL,UAAU,EACR,oFAAoF;6BACvF,GACD,EACF,cACE,SAAS,EAAC,qEAAqE,EAC/E,KAAK,EAAE;gCACL,UAAU,EACR,+DAA+D;6BAClE,GACD,EAEF,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,yHAAyH,gBACxH,YAAY,YAEvB,KAAC,CAAC,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,SAAS,EAAC,WAAW,EAAE,CAAC,GAAI,GACxC,EAET,eAAK,SAAS,EAAC,sBAAsB,aACnC,KAAC,WAAW,IAAC,OAAO,EAAE,OAAO,GAAI,EAEjC,KAAC,OAAO,IACN,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,cAAc,GAC1B,EAEF,KAAC,kBAAkB,IACjB,KAAK,EAAE,WAAW,EAClB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,mBAAmB,EAC/B,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,mBAAmB,EACrC,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,YAAY,GACtB,EAED,YAAY,IAAI,CACf,KAAC,cAAc,IACb,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,QAAQ,EAAE,QAAQ,GAClB,CACH,IACG,IACO,IACd,CACJ,GACe,CACnB,CAAC;AACJ,CAAC"}
@@ -3,6 +3,8 @@ export interface NavMenuProps {
3
3
  items: NavItem[];
4
4
  activeHref: string;
5
5
  onNavigate?: (href: string) => void;
6
+ isCollapsed?: boolean;
7
+ onRequestExpand?: (menuLabel: string) => void;
6
8
  }
7
- export declare function NavMenu({ items, activeHref, onNavigate }: NavMenuProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function NavMenu({ items, activeHref, onNavigate, isCollapsed, onRequestExpand }: NavMenuProps): import("react/jsx-runtime").JSX.Element;
8
10
  //# sourceMappingURL=NavMenu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavMenu.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/NavMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAWvC,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,2CAmKtE"}
1
+ {"version":3,"file":"NavMenu.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/NavMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAOvC,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;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAoBD,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAmB,EAAE,eAAe,EAAE,EAAE,YAAY,2CA2K5G"}
@@ -1,32 +1,40 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { ChevronDown, LayoutGrid, MessageSquare, TrendingUp, Users, } from 'lucide-react';
4
- import { useState } from 'react';
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { ChevronDown } from 'lucide-react';
4
+ import { useEffect, useRef, useState } from 'react';
5
5
  import { cn } from '../../lib/utils';
6
- const iconComponents = {
7
- grid_view: LayoutGrid,
8
- chat_bubble: MessageSquare,
9
- timeline: TrendingUp,
10
- group: Users,
11
- };
12
- export function NavMenu({ items, activeHref, onNavigate }) {
13
- const [expandedMenus, setExpandedMenus] = useState([]);
14
- const normalizePath = (path) => path.replace(/\/$/, '') || '/';
15
- const isActive = (href) => {
16
- const normalizedActive = normalizePath(activeHref);
17
- const normalizedHref = normalizePath(href);
18
- return normalizedActive === normalizedHref;
19
- };
20
- const isSubmenuActive = (subItems) => subItems?.some(item => isActive(item.href));
21
- const isExpanded = (label) => expandedMenus.includes(label);
6
+ import { ICON_REGISTRY } from './constants/icons';
7
+ import { isActivePath } from './utils/pathUtils';
8
+ const isSubmenuActive = (subItems, activeHref) => subItems?.some(item => isActivePath(activeHref, item.href));
9
+ function renderIcon(iconName, active) {
10
+ const IconComponent = ICON_REGISTRY[iconName];
11
+ if (!IconComponent)
12
+ return null;
13
+ return (_jsx(IconComponent, { size: 15, className: cn('transition-colors', active ? 'text-violet-300' : 'text-gray-500'), strokeWidth: 2 }));
14
+ }
15
+ export function NavMenu({ items, activeHref, onNavigate, isCollapsed = false, onRequestExpand }) {
16
+ const [expandedMenus, setExpandedMenus] = useState(() => items
17
+ .filter(item => item.submenu && isSubmenuActive(item.submenu, activeHref))
18
+ .map(item => item.label));
19
+ const prevCollapsedRef = useRef(isCollapsed);
20
+ // eslint-disable-next-line react-hooks/set-state-in-effect
21
+ useEffect(() => {
22
+ if (isCollapsed && !prevCollapsedRef.current) {
23
+ setExpandedMenus([]);
24
+ }
25
+ prevCollapsedRef.current = isCollapsed;
26
+ }, [isCollapsed]);
22
27
  const toggleMenu = (label) => {
28
+ if (isCollapsed) {
29
+ setExpandedMenus([label]);
30
+ onRequestExpand?.(label);
31
+ return;
32
+ }
23
33
  setExpandedMenus(prev => prev.includes(label) ? prev.filter(l => l !== label) : [...prev, label]);
24
34
  };
25
35
  const handleNavigate = (href, e) => {
26
- if (onNavigate) {
27
- e.preventDefault();
28
- onNavigate(href);
29
- }
36
+ e.preventDefault();
37
+ onNavigate?.(href);
30
38
  };
31
39
  const handleKeyDown = (label, e) => {
32
40
  if (e.key === 'Enter' || e.key === ' ') {
@@ -34,33 +42,27 @@ export function NavMenu({ items, activeHref, onNavigate }) {
34
42
  toggleMenu(label);
35
43
  }
36
44
  };
37
- const renderIcon = (iconName, active) => {
38
- const IconComponent = iconComponents[iconName];
39
- if (!IconComponent)
40
- return null;
41
- return (_jsx(IconComponent, { size: 15, className: cn('transition-colors', active ? 'text-violet-300' : 'text-gray-500'), strokeWidth: 2 }));
42
- };
43
- return (_jsx("nav", { className: "w-[247px] ml-4 mt-[99.5px] flex flex-col gap-1", children: items.map(item => {
45
+ return (_jsx("nav", { className: cn('mt-2 flex flex-col gap-1 transition-[width,margin] duration-300', isCollapsed ? 'w-[56px] ml-3' : 'w-[247px] ml-4'), children: items.map(item => {
44
46
  const itemIsActive = item.submenu
45
- ? isSubmenuActive(item.submenu)
46
- : isActive(item.href);
47
- const expanded = item.submenu && isExpanded(item.label);
47
+ ? isSubmenuActive(item.submenu, activeHref)
48
+ : isActivePath(activeHref, item.href);
49
+ const expanded = item.submenu && expandedMenus.includes(item.label);
48
50
  const submenuHeight = item.submenu ? item.submenu.length * 35.5 : 0;
49
- return item.submenu ? (_jsxs("div", { children: [_jsxs("button", { type: "button", onClick: () => toggleMenu(item.label), onKeyDown: e => handleKeyDown(item.label, e), "aria-label": `${item.label} menu`, "aria-expanded": expanded, className: cn('w-[247px] h-[41px] relative rounded-lg border-none cursor-pointer', 'flex items-center pl-3 gap-3 transition-colors duration-150', expanded
51
+ return item.submenu ? (_jsxs("div", { children: [_jsxs("button", { type: "button", onClick: () => toggleMenu(item.label), onKeyDown: e => handleKeyDown(item.label, e), "aria-label": `${item.label} menu`, "aria-expanded": expanded, className: cn('h-[41px] relative rounded-lg border-none cursor-pointer', 'flex items-center gap-3 transition-all duration-300', isCollapsed ? 'w-[56px] justify-center pl-0' : 'w-[247px] pl-3', expanded && !isCollapsed
50
52
  ? 'bg-white/[0.03]'
51
- : 'bg-transparent hover:bg-white/[0.04]'), children: [_jsx("div", { className: "w-5 h-6 flex items-center justify-center shrink-0", children: renderIcon(item.icon, !!itemIsActive) }), _jsx("span", { className: cn('text-sm font-normal leading-[21px] flex-1 text-left font-[Sora,sans-serif]', itemIsActive ? 'text-white' : 'text-gray-400'), children: item.label }), _jsx("div", { className: "w-[18px] h-[22px] flex items-center justify-center mr-3", children: _jsx(ChevronDown, { size: 12, className: cn('text-gray-600 transition-transform duration-200', expanded && 'rotate-180'), strokeWidth: 2 }) })] }), _jsx("div", { className: "ml-11 overflow-hidden transition-all duration-250", style: {
53
+ : 'bg-transparent hover:bg-white/[0.04]'), children: [_jsx("div", { className: "w-5 h-6 flex items-center justify-center shrink-0", children: renderIcon(item.icon, !!itemIsActive) }), !isCollapsed && (_jsxs(_Fragment, { children: [_jsx("span", { className: cn('text-sm font-normal leading-[21px] flex-1 text-left font-[Sora,sans-serif]', 'transition-opacity duration-200', itemIsActive ? 'text-white' : 'text-gray-400'), children: item.label }), _jsx("div", { className: "w-[18px] h-[22px] flex items-center justify-center mr-3", children: _jsx(ChevronDown, { size: 12, className: cn('text-gray-600 transition-transform duration-200', expanded && 'rotate-180'), strokeWidth: 2 }) })] }))] }), !isCollapsed && (_jsx("div", { className: "ml-11 overflow-hidden transition-all duration-250", style: {
52
54
  maxHeight: expanded ? submenuHeight : 0,
53
55
  opacity: expanded ? 1 : 0,
54
56
  }, children: item.submenu.map(subitem => {
55
- const subActive = isActive(subitem.href);
56
- return (_jsx("a", { href: subitem.href, onClick: e => handleNavigate(subitem.href, e), className: cn('w-[203px] h-[35.5px] rounded-lg flex items-center pl-3', 'no-underline cursor-pointer transition-colors duration-150', subActive
57
+ const subActive = isActivePath(subitem.href, activeHref);
58
+ return (_jsxs("a", { href: subitem.href, onClick: e => handleNavigate(subitem.href, e), className: cn('w-[203px] h-[35.5px] rounded-lg flex items-center pl-3 gap-2', 'no-underline cursor-pointer transition-colors duration-150', subActive
57
59
  ? 'bg-violet-500/10'
58
- : 'bg-transparent hover:bg-white/[0.04]'), children: _jsx("span", { className: cn('text-[13px] leading-[19.5px] font-[Sora,sans-serif] transition-colors duration-150', subActive
59
- ? 'text-violet-300 font-medium'
60
- : 'text-gray-500 font-normal'), children: subitem.label }) }, subitem.label));
61
- }) })] }, item.label)) : (_jsxs("a", { href: item.href, onClick: e => handleNavigate(item.href, e), className: cn('w-[247px] h-[41px] rounded-lg flex items-center pl-3 gap-3', 'no-underline cursor-pointer transition-all duration-150', itemIsActive
60
+ : 'bg-transparent hover:bg-white/[0.04]'), children: [subActive && (_jsx("div", { className: "w-1.5 h-1.5 rounded-full bg-gradient-to-br from-violet-400 to-violet-600 shrink-0" })), _jsx("span", { className: cn('text-[13px] leading-[19.5px] font-[Sora,sans-serif] transition-colors duration-150', subActive
61
+ ? 'text-violet-300 font-medium'
62
+ : 'text-gray-500 font-normal'), children: subitem.label })] }, subitem.label));
63
+ }) }))] }, item.label)) : (_jsxs("a", { href: item.href, onClick: e => handleNavigate(item.href, e), className: cn('h-[41px] rounded-lg flex items-center gap-3', 'no-underline cursor-pointer transition-all duration-300', isCollapsed ? 'w-[56px] justify-center pl-0' : 'w-[247px] pl-3', itemIsActive
62
64
  ? 'bg-white/[0.08] shadow-[inset_0px_1px_0px_1px_rgba(255,255,255,0.05)] outline outline-1 outline-white/[0.05] -outline-offset-1'
63
- : 'bg-transparent hover:bg-white/[0.04]'), children: [_jsx("div", { className: "w-5 h-6 flex items-center justify-center shrink-0", children: renderIcon(item.icon, !!itemIsActive) }), _jsx("span", { className: cn('text-sm font-normal leading-[21px] font-[Sora,sans-serif]', itemIsActive ? 'text-white' : 'text-gray-400'), children: item.label })] }, item.label));
65
+ : 'bg-transparent hover:bg-white/[0.04]'), children: [_jsx("div", { className: "w-5 h-6 flex items-center justify-center shrink-0", children: renderIcon(item.icon, !!itemIsActive) }), !isCollapsed && (_jsx("span", { className: cn('text-sm font-normal leading-[21px] font-[Sora,sans-serif] transition-opacity duration-200', itemIsActive ? 'text-white' : 'text-gray-400'), children: item.label }))] }, item.label));
64
66
  }) }));
65
67
  }
66
68
  //# sourceMappingURL=NavMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavMenu.js","sourceRoot":"","sources":["../../../src/components/dashboard/NavMenu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NavMenu.js","sourceRoot":"","sources":["../../../src/components/dashboard/NavMenu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { ReactNode } from 'react';
2
+ interface NavTooltipProps {
3
+ children: ReactNode;
4
+ content: string;
5
+ enabled?: boolean;
6
+ side?: 'right' | 'left' | 'top' | 'bottom';
7
+ }
8
+ export declare function NavTooltip({ children, content, enabled, side }: NavTooltipProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=NavTooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavTooltip.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/NavTooltip.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AAGnD,UAAU,eAAe;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;CAC5C;AAED,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAc,EAAE,IAAc,EAAE,EAAE,eAAe,2CAmDhG"}
@@ -0,0 +1,36 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import React, { useState } from 'react';
4
+ import { cn } from '../../lib/utils';
5
+ export function NavTooltip({ children, content, enabled = true, side = 'right' }) {
6
+ const [isVisible, setIsVisible] = useState(false);
7
+ const timeoutRef = React.useRef(null);
8
+ const handleMouseEnter = () => {
9
+ if (!enabled)
10
+ return;
11
+ timeoutRef.current = setTimeout(() => {
12
+ setIsVisible(true);
13
+ }, 300);
14
+ };
15
+ const handleMouseLeave = () => {
16
+ if (timeoutRef.current) {
17
+ clearTimeout(timeoutRef.current);
18
+ }
19
+ setIsVisible(false);
20
+ };
21
+ React.useEffect(() => {
22
+ return () => {
23
+ if (timeoutRef.current) {
24
+ clearTimeout(timeoutRef.current);
25
+ }
26
+ };
27
+ }, []);
28
+ const positionClasses = {
29
+ right: 'left-[88px] top-1/2 -translate-y-1/2',
30
+ left: 'right-[88px] top-1/2 -translate-y-1/2',
31
+ top: 'bottom-[calc(100%+8px)] left-1/2 -translate-x-1/2',
32
+ bottom: 'top-[calc(100%+8px)] left-1/2 -translate-x-1/2',
33
+ };
34
+ return (_jsxs("div", { className: "relative", onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, children: [children, enabled && isVisible && (_jsx("div", { className: cn('absolute z-100 px-2 py-1.5 whitespace-nowrap', 'bg-[rgba(30,30,30,0.95)] border border-white/10 rounded-md', 'text-xs text-gray-200 font-medium', 'animate-tooltipFadeIn pointer-events-none', positionClasses[side]), children: content }))] }));
35
+ }
36
+ //# sourceMappingURL=NavTooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavTooltip.js","sourceRoot":"","sources":["../../../src/components/dashboard/NavTooltip.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,EAAE,EAAa,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AASrC,MAAM,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,IAAI,GAAG,OAAO,EAAmB;IAC/F,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAuC,IAAI,CAAC,CAAC;IAE5E,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YACnC,YAAY,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,GAAG,EAAE;YACV,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,eAAe,GAAG;QACtB,KAAK,EAAE,sCAAsC;QAC7C,IAAI,EAAE,uCAAuC;QAC7C,GAAG,EAAE,mDAAmD;QACxD,MAAM,EAAE,gDAAgD;KACzD,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,UAAU,EAAC,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,aACrF,QAAQ,EACR,OAAO,IAAI,SAAS,IAAI,CACvB,cACE,SAAS,EAAE,EAAE,CACX,8CAA8C,EAC9C,4DAA4D,EAC5D,mCAAmC,EACnC,2CAA2C,EAC3C,eAAe,CAAC,IAAI,CAAC,CACtB,YAEA,OAAO,GACJ,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { SeverityLevel, ConfidenceLevel } from './types';
1
+ import type { ConfidenceLevel, SeverityLevel } from './types';
2
2
  export interface PatternCardProps {
3
3
  id?: string;
4
4
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"PatternCard.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/PatternCard.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,eAAe,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,UAAU,EACV,aAAa,EACb,cAAc,EACd,aAAa,EACb,SAAS,GACV,EAAE,gBAAgB,2CAgHlB"}
1
+ {"version":3,"file":"PatternCard.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/PatternCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAK9D,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,eAAe,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA8DD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,UAAU,EACV,aAAa,EACb,cAAc,EACd,aAAa,EACb,SAAS,GACV,EAAE,gBAAgB,2CA4ElB"}
@@ -2,7 +2,25 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Bell, Clock, MapPin } from 'lucide-react';
4
4
  import { cn } from '../../lib/utils';
5
- import { SEVERITY_CONFIG, CONFIDENCE_CONFIG } from './constants';
5
+ import { CONFIDENCE_CONFIG, SEVERITY_CONFIG } from './constants';
6
+ function DetailItem({ icon: Icon, label, value }) {
7
+ return (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Icon, { size: 16, color: "#6B7280" }), _jsxs("span", { className: "text-sm leading-5", style: { color: '#9CA3AF' }, children: [label, ": ", value] })] }));
8
+ }
9
+ function ActionButton({ onClick, isSecondary = false, showIcon = false, children, }) {
10
+ return (_jsx("button", { type: "button", onClick: onClick, className: cn('flex items-center justify-center rounded-lg text-xs font-medium transition-colors', isSecondary ? 'h-[30px] px-3.5 hover:bg-white/5' : 'h-[30px] px-3.5', !isSecondary && showIcon && 'gap-1.5 h-7 px-3'), style: !isSecondary
11
+ ? {
12
+ background: '#7C3AED',
13
+ boxShadow: '0px 0px 10px rgba(124, 58, 237, 0.30)',
14
+ outline: '1px #8B5CF6 solid',
15
+ outlineOffset: '-1px',
16
+ color: 'white',
17
+ }
18
+ : {
19
+ color: '#D1D5DB',
20
+ outline: '1px rgba(255, 255, 255, 0.10) solid',
21
+ outlineOffset: '-1px',
22
+ }, children: children }));
23
+ }
6
24
  export function PatternCard({ title, severity, affectedStores, lastSeen, confidence, onViewDetails, onViewEvidence, onCreateAlert, className, }) {
7
25
  const severityStyle = SEVERITY_CONFIG[severity];
8
26
  const confidenceStyle = CONFIDENCE_CONFIG[confidence];
@@ -12,25 +30,16 @@ export function PatternCard({ title, severity, affectedStores, lastSeen, confide
12
30
  outline: '1px rgba(255, 255, 255, 0.08) solid',
13
31
  outlineOffset: '-1px',
14
32
  backdropFilter: 'blur(8px)',
15
- }, children: _jsxs("div", { className: "p-6", children: [_jsxs("div", { className: "flex items-start justify-between gap-4 mb-4", children: [_jsx("h3", { className: "text-base font-semibold leading-6 flex-1", style: { color: 'white' }, children: title }), _jsx("span", { className: "shrink-0 px-2.5 py-1 rounded-lg text-[10px] font-bold uppercase tracking-wide", style: {
33
+ }, children: _jsxs("div", { className: "p-6", children: [_jsxs("div", { className: "flex items-start justify-between gap-4 mb-4", children: [_jsx("h3", { className: "text-base font-semibold leading-6 flex-1 text-white", children: title }), _jsx("span", { className: "shrink-0 px-2.5 py-1 rounded-lg text-[10px] font-bold uppercase tracking-wide", style: {
16
34
  color: severityStyle.color,
17
35
  background: severityStyle.bg,
18
36
  outline: `1px ${severityStyle.border} solid`,
19
37
  outlineOffset: '-1px',
20
- }, children: severityStyle.label })] }), _jsxs("div", { className: "space-y-2 mb-4", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(MapPin, { size: 16, color: "#6B7280" }), _jsxs("span", { className: "text-sm leading-5", style: { color: '#9CA3AF' }, children: ["Affected stores: ", affectedStores] })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Clock, { size: 16, color: "#6B7280" }), _jsxs("span", { className: "text-sm leading-5", style: { color: '#9CA3AF' }, children: ["Last seen: ", lastSeen] })] })] }), _jsxs("div", { className: "flex items-center gap-2 mb-6", children: [_jsx("span", { className: "text-xs font-medium", style: { color: '#6B7280' }, children: "Confidence:" }), _jsx("span", { className: "px-2.5 py-1 rounded-full text-[10px] font-medium", style: {
38
+ }, children: severityStyle.label })] }), _jsxs("div", { className: "space-y-2 mb-4", children: [_jsx(DetailItem, { icon: MapPin, label: "Affected stores", value: affectedStores }), _jsx(DetailItem, { icon: Clock, label: "Last seen", value: lastSeen })] }), _jsxs("div", { className: "flex items-center gap-2 mb-6", children: [_jsx("span", { className: "text-xs font-medium", style: { color: '#6B7280' }, children: "Confidence:" }), _jsx("span", { className: "px-2.5 py-1 rounded-full text-[10px] font-medium", style: {
21
39
  color: confidenceStyle.color,
22
40
  background: confidenceStyle.bg,
23
41
  outline: `1px ${confidenceStyle.border} solid`,
24
42
  outlineOffset: '-1px',
25
- }, children: confidenceStyle.label })] }), _jsxs("div", { className: "pt-4 flex items-center gap-3", style: { borderTop: '1px solid rgba(255, 255, 255, 0.05)' }, children: [_jsx("button", { type: "button", onClick: onViewDetails, className: "h-[30px] px-3.5 flex items-center justify-center rounded-lg text-xs font-medium text-white transition-colors", style: {
26
- background: '#7C3AED',
27
- boxShadow: '0px 0px 10px rgba(124, 58, 237, 0.30)',
28
- outline: '1px #8B5CF6 solid',
29
- outlineOffset: '-1px',
30
- }, children: "View details" }), _jsx("button", { type: "button", onClick: onViewEvidence, className: "h-[30px] px-3.5 flex items-center justify-center rounded-lg text-xs font-medium transition-colors hover:bg-white/5", style: {
31
- color: '#D1D5DB',
32
- outline: '1px rgba(255, 255, 255, 0.10) solid',
33
- outlineOffset: '-1px',
34
- }, children: "View evidence" }), _jsx("div", { className: "flex-1" }), _jsxs("button", { type: "button", onClick: onCreateAlert, className: "h-7 px-3 flex items-center gap-1.5 rounded-lg text-xs font-medium transition-colors hover:bg-white/5", style: { color: '#9CA3AF' }, children: [_jsx(Bell, { size: 14, color: "#9CA3AF" }), "Create alert"] })] })] }) }));
43
+ }, children: confidenceStyle.label })] }), _jsxs("div", { className: "pt-4 flex items-center gap-3", style: { borderTop: '1px solid rgba(255, 255, 255, 0.05)' }, children: [_jsx(ActionButton, { onClick: onViewDetails, children: "View details" }), _jsx(ActionButton, { onClick: onViewEvidence, isSecondary: true, children: "View evidence" }), _jsx("div", { className: "flex-1" }), _jsxs(ActionButton, { onClick: onCreateAlert, isSecondary: true, showIcon: true, children: [_jsx(Bell, { size: 14, color: "#9CA3AF" }), "Create alert"] })] })] }) }));
35
44
  }
36
45
  //# sourceMappingURL=PatternCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PatternCard.js","sourceRoot":"","sources":["../../../src/components/dashboard/PatternCard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PatternCard.js","sourceRoot":"","sources":["../../../src/components/dashboard/PatternCard.tsx"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export interface SettingsDropupProps {
4
4
  initialNotifications?: boolean;
5
5
  onNotificationsChange?: (enabled: boolean) => void;
6
6
  onLogout?: () => void;
7
+ isCollapsed?: boolean;
7
8
  }
8
- export declare function SettingsDropup({ userName, userEmail, initialNotifications, onNotificationsChange, onLogout, }: SettingsDropupProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function SettingsDropup({ userName, userEmail, initialNotifications, onNotificationsChange, onLogout, isCollapsed, }: SettingsDropupProps): import("react/jsx-runtime").JSX.Element;
9
10
  //# sourceMappingURL=SettingsDropup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsDropup.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/SettingsDropup.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAiB,EACjB,SAA8B,EAC9B,oBAA2B,EAC3B,qBAAqB,EACrB,QAAQ,GACT,EAAE,mBAAmB,2CA0NrB"}
1
+ {"version":3,"file":"SettingsDropup.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/SettingsDropup.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAiB,EACjB,SAA8B,EAC9B,oBAA2B,EAC3B,qBAAqB,EACrB,QAAQ,EACR,WAAmB,GACpB,EAAE,mBAAmB,2CA2NrB"}
@@ -1,10 +1,10 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import { Bell, BellOff, ChevronUp, LogOut, Settings, User } from 'lucide-react';
4
4
  import { useEffect, useRef, useState } from 'react';
5
5
  import { cn } from '../../lib/utils';
6
- import { ToggleSwitch } from './ToggleSwitch';
7
- export function SettingsDropup({ userName = 'User', userEmail = 'user@example.com', initialNotifications = true, onNotificationsChange, onLogout, }) {
6
+ import { ToggleSwitch } from '../inputs/ToggleSwitch';
7
+ export function SettingsDropup({ userName = 'User', userEmail = 'user@example.com', initialNotifications = true, onNotificationsChange, onLogout, isCollapsed = false, }) {
8
8
  const [isOpen, setIsOpen] = useState(false);
9
9
  const [notifications, setNotifications] = useState(initialNotifications);
10
10
  const [focusedIndex, setFocusedIndex] = useState(-1);
@@ -16,18 +16,14 @@ export function SettingsDropup({ userName = 'User', userEmail = 'user@example.co
16
16
  const handleClickOutside = (event) => {
17
17
  if (ref.current && !ref.current.contains(event.target)) {
18
18
  setIsOpen(false);
19
+ setFocusedIndex(-1);
19
20
  }
20
21
  };
21
22
  document.addEventListener('mousedown', handleClickOutside);
22
23
  return () => document.removeEventListener('mousedown', handleClickOutside);
23
24
  }, []);
24
- // Calculate focusable item count
25
25
  const focusableItemCount = 1 + (onLogout ? 1 : 0);
26
- useEffect(() => {
27
- // eslint-disable-next-line react-hooks/set-state-in-effect
28
- setFocusedIndex(isOpen ? 0 : -1);
29
- }, [isOpen]);
30
- const handleKeyDown = (e) => {
26
+ const handleSettingsKeyDown = (e) => {
31
27
  if (!isOpen) {
32
28
  if (e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown') {
33
29
  e.preventDefault();
@@ -79,7 +75,7 @@ export function SettingsDropup({ userName = 'User', userEmail = 'user@example.co
79
75
  setNotifications(newValue);
80
76
  onNotificationsChange?.(newValue);
81
77
  };
82
- return (_jsxs("div", { ref: ref, className: "w-[247px] absolute left-4 bottom-6", children: [_jsxs("div", { role: "menu", className: cn('absolute bottom-[52px] left-0 w-[247px]', 'bg-[rgba(10,5,20,0.98)] backdrop-blur-[20px] rounded-xl', 'border border-white/[0.08] shadow-[0px_-8px_32px_rgba(0,0,0,0.4)]', 'overflow-hidden z-50 transition-all duration-200 ease-[cubic-bezier(0.16,1,0.3,1)]', isOpen
78
+ return (_jsxs("div", { ref: ref, className: cn('absolute bottom-6 transition-all duration-300', isCollapsed ? 'w-[56px] left-3' : 'w-[247px] left-4'), children: [_jsxs("div", { role: "menu", className: cn('absolute bottom-[52px] w-[247px]', 'bg-[rgba(10,5,20,0.98)] backdrop-blur-[20px] rounded-xl', 'border border-white/[0.08] shadow-[0px_-8px_32px_rgba(0,0,0,0.4)]', 'overflow-hidden z-50 transition-all duration-200 ease-[cubic-bezier(0.16,1,0.3,1)]', isCollapsed ? 'left-[-95px]' : 'left-0', isOpen
83
79
  ? 'opacity-100 translate-y-0 scale-100 pointer-events-auto'
84
80
  : 'opacity-0 translate-y-2 scale-[0.96] pointer-events-none'), children: [_jsxs("div", { className: "p-3 px-3 border-b border-white/[0.06] flex items-center gap-2.5", children: [_jsx("div", { className: "w-9 h-9 rounded-full bg-violet-500/20 flex items-center justify-center border border-violet-500/30 shrink-0", children: _jsx(User, { size: 18, className: "text-violet-400", strokeWidth: 1.5 }) }), _jsxs("div", { className: "overflow-hidden", children: [_jsx("div", { className: "text-white text-[13px] font-medium font-[Sora,sans-serif] truncate", children: userName }), _jsx("div", { className: "text-gray-500 text-[11px] font-[Sora,sans-serif] truncate", children: userEmail })] })] }), _jsx("div", { className: "p-1.5", children: _jsxs("div", { ref: notificationsItemRef, role: "menuitem", tabIndex: focusedIndex === 0 && isOpen ? 0 : -1, onClick: handleNotificationsToggle, onKeyDown: e => {
85
81
  if (e.key === 'Enter' || e.key === ' ') {
@@ -87,12 +83,12 @@ export function SettingsDropup({ userName = 'User', userEmail = 'user@example.co
87
83
  handleNotificationsToggle();
88
84
  }
89
85
  else {
90
- handleKeyDown(e);
86
+ handleSettingsKeyDown(e);
91
87
  }
92
88
  }, className: cn('w-full py-2.5 px-2 flex items-center justify-between rounded-lg transition-colors cursor-pointer', focusedIndex === 0 && isOpen
93
89
  ? 'bg-white/[0.06]'
94
- : 'hover:bg-white/[0.04]'), children: [_jsxs("div", { className: "flex items-center gap-2.5", children: [notifications ? (_jsx(Bell, { size: 15, className: "text-emerald-500", strokeWidth: 2 })) : (_jsx(BellOff, { size: 15, className: "text-gray-500", strokeWidth: 2 })), _jsx("span", { className: "text-gray-300 text-[13px] font-[Sora,sans-serif]", children: "Notifications" })] }), _jsx(ToggleSwitch, { enabled: notifications, size: "sm", "aria-label": "Toggle notifications" })] }) }), onLogout && (_jsx("div", { className: "p-1.5 border-t border-white/[0.06]", children: _jsxs("button", { ref: logoutItemRef, type: "button", role: "menuitem", tabIndex: focusedIndex === 1 && isOpen ? 0 : -1, onClick: onLogout, onKeyDown: handleKeyDown, className: cn('w-full py-2.5 px-2 flex items-center gap-2.5 bg-transparent border-none rounded-lg cursor-pointer transition-colors', focusedIndex === 1 && isOpen
90
+ : 'hover:bg-white/[0.04]'), children: [_jsxs("div", { className: "flex items-center gap-2.5", children: [notifications ? (_jsx(Bell, { size: 15, className: "text-emerald-500", strokeWidth: 2 })) : (_jsx(BellOff, { size: 15, className: "text-gray-500", strokeWidth: 2 })), _jsx("span", { className: "text-gray-300 text-[13px] font-[Sora,sans-serif]", children: "Notifications" })] }), _jsx(ToggleSwitch, { enabled: notifications, size: "sm", "aria-label": "Toggle notifications" })] }) }), onLogout && (_jsx("div", { className: "p-1.5 border-t border-white/[0.06]", children: _jsxs("button", { ref: logoutItemRef, type: "button", role: "menuitem", tabIndex: focusedIndex === 1 && isOpen ? 0 : -1, onClick: onLogout, onKeyDown: handleSettingsKeyDown, className: cn('w-full py-2.5 px-2 flex items-center gap-2.5 bg-transparent border-none rounded-lg cursor-pointer transition-colors', focusedIndex === 1 && isOpen
95
91
  ? 'bg-red-500/10'
96
- : 'hover:bg-red-500/10'), children: [_jsx(LogOut, { size: 15, className: "text-red-500", strokeWidth: 2 }), _jsx("span", { className: "text-red-500 text-[13px] font-[Sora,sans-serif]", children: "Sign out" })] }) }))] }), _jsx("div", { className: "border-t border-white/[0.08] pt-3", children: _jsxs("button", { ref: triggerRef, type: "button", onClick: () => setIsOpen(!isOpen), onKeyDown: handleKeyDown, "aria-label": "Open settings", "aria-expanded": isOpen, "aria-haspopup": "menu", className: cn('w-[247px] h-[41px] rounded-lg border-none cursor-pointer transition-colors', 'flex items-center pl-3 gap-3', isOpen ? 'bg-white/[0.06]' : 'bg-transparent hover:bg-white/[0.04]'), children: [_jsx("div", { className: "w-5 h-6 flex items-center justify-center", children: _jsx(Settings, { size: 15, className: cn(isOpen ? 'text-violet-400' : 'text-gray-500'), strokeWidth: 2 }) }), _jsx("span", { className: cn('text-sm font-normal leading-[21px] font-[Sora,sans-serif] flex-1 text-left', isOpen ? 'text-white' : 'text-gray-400'), children: "Settings" }), _jsx("div", { className: "w-[18px] h-[22px] flex items-center justify-center mr-3", children: _jsx(ChevronUp, { size: 12, className: cn('transition-transform duration-200', isOpen ? 'text-violet-400 rotate-180' : 'text-gray-600'), strokeWidth: 2 }) })] }) })] }));
92
+ : 'hover:bg-red-500/10'), children: [_jsx(LogOut, { size: 15, className: "text-red-500", strokeWidth: 2 }), _jsx("span", { className: "text-red-500 text-[13px] font-[Sora,sans-serif]", children: "Sign out" })] }) }))] }), _jsx("div", { className: cn('border-t border-white/[0.08] transition-all duration-300', isCollapsed ? 'pt-2' : 'pt-3'), children: _jsxs("button", { ref: triggerRef, type: "button", onClick: () => setIsOpen(!isOpen), onKeyDown: handleSettingsKeyDown, "aria-label": "Open settings", "aria-expanded": isOpen, "aria-haspopup": "menu", className: cn('h-[41px] rounded-lg border-none cursor-pointer transition-all duration-300', 'flex items-center gap-3', isCollapsed ? 'w-[56px] justify-center pl-0' : 'w-[247px] pl-3', isOpen ? 'bg-white/[0.06]' : 'bg-transparent hover:bg-white/[0.04]'), children: [_jsx("div", { className: "w-5 h-6 flex items-center justify-center", children: _jsx(Settings, { size: 15, className: cn(isOpen ? 'text-violet-400' : 'text-gray-500'), strokeWidth: 2 }) }), !isCollapsed && (_jsxs(_Fragment, { children: [_jsx("span", { className: cn('text-sm font-normal leading-[21px] font-[Sora,sans-serif] flex-1 text-left transition-opacity duration-200', isOpen ? 'text-white' : 'text-gray-400'), children: "Settings" }), _jsx("div", { className: "w-[18px] h-[22px] flex items-center justify-center mr-3", children: _jsx(ChevronUp, { size: 12, className: cn('transition-transform duration-200', isOpen ? 'text-violet-400 rotate-180' : 'text-gray-600'), strokeWidth: 2 }) })] }))] }) })] }));
97
93
  }
98
94
  //# sourceMappingURL=SettingsDropup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsDropup.js","sourceRoot":"","sources":["../../../src/components/dashboard/SettingsDropup.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SettingsDropup.js","sourceRoot":"","sources":["../../../src/components/dashboard/SettingsDropup.tsx"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
3
3
  import { Bell, BellOff, Globe, LogOut, User, X } from 'lucide-react';
4
4
  import { useCallback, useEffect, useRef, useState } from 'react';
5
5
  import { cn } from '../../lib/utils';
6
- import { ToggleSwitch } from './ToggleSwitch';
6
+ import { ToggleSwitch } from '../inputs/ToggleSwitch';
7
7
  export function SettingsModal({ isOpen, onClose, userEmail = 'user@example.com', userName = 'User', onLogout, onNotificationsChange, initialNotifications = true, }) {
8
8
  const [notifications, setNotifications] = useState(initialNotifications);
9
9
  const [isClosing, setIsClosing] = useState(false);
@@ -42,7 +42,7 @@ export function SettingsModal({ isOpen, onClose, userEmail = 'user@example.com',
42
42
  document.addEventListener('keydown', handleKeyDown);
43
43
  return () => document.removeEventListener('keydown', handleKeyDown);
44
44
  }, [isOpen, handleClose]);
45
- const handleNotificationsToggle = () => {
45
+ const toggleNotifications = () => {
46
46
  const newValue = !notifications;
47
47
  setNotifications(newValue);
48
48
  onNotificationsChange?.(newValue);
@@ -51,6 +51,6 @@ export function SettingsModal({ isOpen, onClose, userEmail = 'user@example.com',
51
51
  return null;
52
52
  return (_jsxs(_Fragment, { children: [_jsx("div", { role: "presentation", "aria-hidden": "true", onClick: handleClose, className: cn('fixed inset-0 bg-black/60 backdrop-blur-sm z-[100] transition-opacity duration-200', isClosing ? 'opacity-0' : 'opacity-100') }), _jsxs("div", { ref: modalRef, role: "dialog", "aria-modal": "true", "aria-labelledby": "settings-modal-title", tabIndex: -1, className: cn('fixed top-1/2 left-1/2 w-[400px] max-w-[90vw] z-[101]', 'bg-[rgba(10,5,20,0.98)] backdrop-blur-[20px] rounded-2xl', 'border border-white/[0.08]', 'shadow-[0px_24px_48px_rgba(0,0,0,0.5),0px_0px_1px_rgba(139,92,246,0.3)]', 'transition-all duration-200 ease-[cubic-bezier(0.16,1,0.3,1)]', isClosing
53
53
  ? 'opacity-0 -translate-x-1/2 -translate-y-1/2 scale-95'
54
- : 'opacity-100 -translate-x-1/2 -translate-y-1/2 scale-100'), children: [_jsxs("div", { className: "flex items-center justify-between px-6 py-5 border-b border-white/[0.06]", children: [_jsx("h2", { id: "settings-modal-title", className: "text-white text-lg font-semibold font-[Sora,sans-serif] m-0", children: "Settings" }), _jsx("button", { type: "button", onClick: handleClose, "aria-label": "Close settings", className: "w-8 h-8 flex items-center justify-center bg-transparent border-none rounded-lg cursor-pointer transition-colors hover:bg-white/[0.06]", children: _jsx(X, { size: 18, className: "text-gray-500", strokeWidth: 2 }) })] }), _jsx("div", { className: "px-6 py-5 border-b border-white/[0.06]", children: _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "w-12 h-12 rounded-full bg-violet-500/20 flex items-center justify-center border border-violet-500/30", children: _jsx(User, { size: 24, className: "text-violet-400", strokeWidth: 1.5 }) }), _jsxs("div", { children: [_jsx("div", { className: "text-white text-sm font-medium font-[Sora,sans-serif]", children: userName }), _jsx("div", { className: "text-gray-500 text-xs font-[Sora,sans-serif] mt-0.5", children: userEmail })] })] }) }), _jsxs("div", { className: "p-3 px-4", children: [_jsxs("button", { type: "button", onClick: handleNotificationsToggle, className: "w-full px-3 py-3.5 flex items-center justify-between bg-transparent border-none rounded-[10px] cursor-pointer transition-colors hover:bg-white/[0.04]", children: [_jsxs("div", { className: "flex items-center gap-3", children: [notifications ? (_jsx(Bell, { size: 18, className: "text-emerald-500", strokeWidth: 2 })) : (_jsx(BellOff, { size: 18, className: "text-gray-500", strokeWidth: 2 })), _jsx("span", { className: "text-gray-300 text-sm font-[Sora,sans-serif]", children: "Notifications" })] }), _jsx(ToggleSwitch, { enabled: notifications, onChange: handleNotificationsToggle, "aria-label": "Toggle notifications" })] }), _jsxs("button", { type: "button", disabled: true, "aria-disabled": "true", className: "w-full px-3 py-3.5 flex items-center justify-between bg-transparent border-none rounded-[10px] cursor-not-allowed opacity-60", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(Globe, { size: 18, className: "text-gray-500", strokeWidth: 2 }), _jsx("span", { className: "text-gray-300 text-sm font-[Sora,sans-serif]", children: "Language" })] }), _jsx("div", { className: "text-gray-500 text-[13px] font-[Sora,sans-serif]", children: "English" })] })] }), onLogout && (_jsx("div", { className: "px-4 pt-3 pb-5 border-t border-white/[0.06]", children: _jsxs("button", { type: "button", onClick: onLogout, className: "w-full p-3 flex items-center justify-center gap-2 bg-red-500/10 border border-red-500/20 rounded-[10px] cursor-pointer transition-all hover:bg-red-500/15 hover:border-red-500/30", children: [_jsx(LogOut, { size: 16, className: "text-red-500", strokeWidth: 2 }), _jsx("span", { className: "text-red-500 text-sm font-medium font-[Sora,sans-serif]", children: "Sign out" })] }) }))] })] }));
54
+ : 'opacity-100 -translate-x-1/2 -translate-y-1/2 scale-100'), children: [_jsxs("div", { className: "flex items-center justify-between px-6 py-5 border-b border-white/[0.06]", children: [_jsx("h2", { id: "settings-modal-title", className: "text-white text-lg font-semibold font-[Sora,sans-serif] m-0", children: "Settings" }), _jsx("button", { type: "button", onClick: handleClose, "aria-label": "Close settings", className: "w-8 h-8 flex items-center justify-center bg-transparent border-none rounded-lg cursor-pointer transition-colors hover:bg-white/[0.06]", children: _jsx(X, { size: 18, className: "text-gray-500", strokeWidth: 2 }) })] }), _jsx("div", { className: "px-6 py-5 border-b border-white/[0.06]", children: _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "w-12 h-12 rounded-full bg-violet-500/20 flex items-center justify-center border border-violet-500/30", children: _jsx(User, { size: 24, className: "text-violet-400", strokeWidth: 1.5 }) }), _jsxs("div", { children: [_jsx("div", { className: "text-white text-sm font-medium font-[Sora,sans-serif]", children: userName }), _jsx("div", { className: "text-gray-500 text-xs font-[Sora,sans-serif] mt-0.5", children: userEmail })] })] }) }), _jsxs("div", { className: "p-3 px-4", children: [_jsxs("button", { type: "button", onClick: toggleNotifications, className: "w-full px-3 py-3.5 flex items-center justify-between bg-transparent border-none rounded-[10px] cursor-pointer transition-colors hover:bg-white/[0.04]", children: [_jsxs("div", { className: "flex items-center gap-3", children: [notifications ? (_jsx(Bell, { size: 18, className: "text-emerald-500", strokeWidth: 2 })) : (_jsx(BellOff, { size: 18, className: "text-gray-500", strokeWidth: 2 })), _jsx("span", { className: "text-gray-300 text-sm font-[Sora,sans-serif]", children: "Notifications" })] }), _jsx(ToggleSwitch, { enabled: notifications, onChange: toggleNotifications, "aria-label": "Toggle notifications" })] }), _jsxs("button", { type: "button", disabled: true, "aria-disabled": "true", className: "w-full px-3 py-3.5 flex items-center justify-between bg-transparent border-none rounded-[10px] cursor-not-allowed opacity-60", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(Globe, { size: 18, className: "text-gray-500", strokeWidth: 2 }), _jsx("span", { className: "text-gray-300 text-sm font-[Sora,sans-serif]", children: "Language" })] }), _jsx("div", { className: "text-gray-500 text-[13px] font-[Sora,sans-serif]", children: "English" })] })] }), onLogout && (_jsx("div", { className: "px-4 pt-3 pb-5 border-t border-white/[0.06]", children: _jsxs("button", { type: "button", onClick: onLogout, className: "w-full p-3 flex items-center justify-center gap-2 bg-red-500/10 border border-red-500/20 rounded-[10px] cursor-pointer transition-all hover:bg-red-500/15 hover:border-red-500/30", children: [_jsx(LogOut, { size: 16, className: "text-red-500", strokeWidth: 2 }), _jsx("span", { className: "text-red-500 text-sm font-medium font-[Sora,sans-serif]", children: "Sign out" })] }) }))] })] }));
55
55
  }
56
56
  //# sourceMappingURL=SettingsModal.js.map