@servicetitan/navigation 12.0.2 → 13.0.0-canary.256.299dd08.0

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 (251) hide show
  1. package/dist/components/counter-tag.d.ts +1 -1
  2. package/dist/components/counter-tag.d.ts.map +1 -1
  3. package/dist/components/counter-tag.js.map +1 -1
  4. package/dist/components/profile-dropdown/interface.d.ts +55 -0
  5. package/dist/components/profile-dropdown/interface.d.ts.map +1 -0
  6. package/dist/components/profile-dropdown/interface.js.map +1 -0
  7. package/dist/components/profile-dropdown/profile-dropdown-legacy.stories.d.ts +13 -0
  8. package/dist/components/profile-dropdown/profile-dropdown-legacy.stories.d.ts.map +1 -0
  9. package/dist/components/profile-dropdown/profile-dropdown-stacked.stories.d.ts +5 -1
  10. package/dist/components/profile-dropdown/profile-dropdown-stacked.stories.d.ts.map +1 -1
  11. package/dist/components/profile-dropdown/profile-dropdown.d.ts +9 -79
  12. package/dist/components/profile-dropdown/profile-dropdown.d.ts.map +1 -1
  13. package/dist/components/profile-dropdown/profile-dropdown.js +22 -22
  14. package/dist/components/profile-dropdown/profile-dropdown.js.map +1 -1
  15. package/dist/components/profile-dropdown/profile-dropdown.stories.d.ts +5 -1
  16. package/dist/components/profile-dropdown/profile-dropdown.stories.d.ts.map +1 -1
  17. package/dist/components/titan-layout/interface-internal.d.ts +12 -0
  18. package/dist/components/titan-layout/interface-internal.d.ts.map +1 -1
  19. package/dist/components/titan-layout/interface-internal.js.map +1 -1
  20. package/dist/components/titan-layout/interface.d.ts +67 -14
  21. package/dist/components/titan-layout/interface.d.ts.map +1 -1
  22. package/dist/components/titan-layout/interface.js.map +1 -1
  23. package/dist/components/titan-layout/layout-header-dark.d.ts.map +1 -1
  24. package/dist/components/titan-layout/layout-header-dark.js +22 -12
  25. package/dist/components/titan-layout/layout-header-dark.js.map +1 -1
  26. package/dist/components/titan-layout/layout-header-links-internal.d.ts +22 -3
  27. package/dist/components/titan-layout/layout-header-links-internal.d.ts.map +1 -1
  28. package/dist/components/titan-layout/layout-header-links-internal.js +15 -18
  29. package/dist/components/titan-layout/layout-header-links-internal.js.map +1 -1
  30. package/dist/components/titan-layout/layout-header-links.d.ts +3 -4
  31. package/dist/components/titan-layout/layout-header-links.d.ts.map +1 -1
  32. package/dist/components/titan-layout/layout-header-links.js +25 -5
  33. package/dist/components/titan-layout/layout-header-links.js.map +1 -1
  34. package/dist/components/titan-layout/layout-header.d.ts +2 -2
  35. package/dist/components/titan-layout/layout-header.d.ts.map +1 -1
  36. package/dist/components/titan-layout/layout-header.js.map +1 -1
  37. package/dist/components/titan-layout/layout-header.module.less +36 -0
  38. package/dist/components/titan-layout/layout-header.module.less.d.ts +2 -0
  39. package/dist/components/titan-layout/layout-profile.d.ts +8 -5
  40. package/dist/components/titan-layout/layout-profile.d.ts.map +1 -1
  41. package/dist/components/titan-layout/layout-profile.js +30 -28
  42. package/dist/components/titan-layout/layout-profile.js.map +1 -1
  43. package/dist/components/titan-layout/layout-sidebar-links-internal.d.ts +48 -31
  44. package/dist/components/titan-layout/layout-sidebar-links-internal.d.ts.map +1 -1
  45. package/dist/components/titan-layout/layout-sidebar-links-internal.js +84 -83
  46. package/dist/components/titan-layout/layout-sidebar-links-internal.js.map +1 -1
  47. package/dist/components/titan-layout/layout-sidebar-links.d.ts +3 -3
  48. package/dist/components/titan-layout/layout-sidebar-links.d.ts.map +1 -1
  49. package/dist/components/titan-layout/layout-sidebar-links.js +32 -19
  50. package/dist/components/titan-layout/layout-sidebar-links.js.map +1 -1
  51. package/dist/components/titan-layout/layout-sidebar.d.ts +1 -1
  52. package/dist/components/titan-layout/layout-sidebar.d.ts.map +1 -1
  53. package/dist/components/titan-layout/layout-sidebar.js +51 -28
  54. package/dist/components/titan-layout/layout-sidebar.js.map +1 -1
  55. package/dist/components/titan-layout/layout-sidebar.module.less +74 -22
  56. package/dist/components/titan-layout/titan-layout-default.stories.d.ts +16 -0
  57. package/dist/components/titan-layout/titan-layout-default.stories.d.ts.map +1 -0
  58. package/dist/components/titan-layout/titan-layout-legacy.stories.d.ts +10 -0
  59. package/dist/components/titan-layout/titan-layout-legacy.stories.d.ts.map +1 -0
  60. package/dist/components/titan-layout/titan-layout-links.d.ts +5 -0
  61. package/dist/components/titan-layout/titan-layout-links.d.ts.map +1 -0
  62. package/dist/components/titan-layout/titan-layout-links.js +34 -0
  63. package/dist/components/titan-layout/titan-layout-links.js.map +1 -0
  64. package/dist/components/titan-layout/titan-layout-stacked.stories.d.ts +10 -0
  65. package/dist/components/titan-layout/titan-layout-stacked.stories.d.ts.map +1 -0
  66. package/dist/components/titan-layout/titan-layout.d.ts +5 -4
  67. package/dist/components/titan-layout/titan-layout.d.ts.map +1 -1
  68. package/dist/components/titan-layout/titan-layout.js +17 -11
  69. package/dist/components/titan-layout/titan-layout.js.map +1 -1
  70. package/dist/index.d.ts +1 -6
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +0 -4
  73. package/dist/index.js.map +1 -1
  74. package/dist/test/data.d.ts +26 -23
  75. package/dist/test/data.d.ts.map +1 -1
  76. package/dist/test/data.js +26 -69
  77. package/dist/test/data.js.map +1 -1
  78. package/dist/test/titan-layout.d.ts +16 -0
  79. package/dist/test/titan-layout.d.ts.map +1 -0
  80. package/dist/test/titan-layout.js +21 -0
  81. package/dist/test/titan-layout.js.map +1 -0
  82. package/dist/utils/navigation-context.d.ts +3 -22
  83. package/dist/utils/navigation-context.d.ts.map +1 -1
  84. package/dist/utils/navigation-context.js +2 -10
  85. package/dist/utils/navigation-context.js.map +1 -1
  86. package/dist/utils/navigation.d.ts +2 -7
  87. package/dist/utils/navigation.d.ts.map +1 -1
  88. package/dist/utils/navigation.js.map +1 -1
  89. package/package.json +2 -2
  90. package/src/components/counter-tag.tsx +1 -1
  91. package/src/components/profile-dropdown/interface.ts +47 -0
  92. package/src/components/profile-dropdown/profile-dropdown-legacy.stories.tsx +25 -0
  93. package/src/components/profile-dropdown/profile-dropdown-stacked.stories.tsx +15 -7
  94. package/src/components/profile-dropdown/profile-dropdown.stories.tsx +50 -43
  95. package/src/components/profile-dropdown/profile-dropdown.tsx +39 -115
  96. package/src/components/titan-layout/interface-internal.ts +13 -0
  97. package/src/components/titan-layout/interface.ts +73 -17
  98. package/src/components/titan-layout/layout-header-dark.tsx +18 -5
  99. package/src/components/titan-layout/layout-header-links-internal.tsx +41 -54
  100. package/src/components/titan-layout/layout-header-links.tsx +65 -12
  101. package/src/components/titan-layout/layout-header.module.less +36 -0
  102. package/src/components/titan-layout/layout-header.module.less.d.ts +2 -0
  103. package/src/components/titan-layout/layout-header.tsx +2 -2
  104. package/src/components/titan-layout/layout-profile.tsx +53 -34
  105. package/src/components/titan-layout/layout-sidebar-links-internal.tsx +183 -147
  106. package/src/components/titan-layout/layout-sidebar-links.tsx +73 -26
  107. package/src/components/titan-layout/layout-sidebar.module.less +74 -22
  108. package/src/components/titan-layout/layout-sidebar.tsx +55 -31
  109. package/src/components/titan-layout/{titan-layout.stories.tsx → titan-layout-default.stories.tsx} +131 -114
  110. package/src/components/titan-layout/titan-layout-legacy.stories.tsx +24 -0
  111. package/src/components/titan-layout/titan-layout-links.tsx +34 -0
  112. package/src/components/titan-layout/titan-layout-stacked.stories.tsx +30 -0
  113. package/src/components/titan-layout/titan-layout.tsx +16 -11
  114. package/src/index.ts +1 -12
  115. package/src/test/data.tsx +31 -83
  116. package/src/test/titan-layout.tsx +34 -0
  117. package/src/utils/navigation-context.tsx +9 -35
  118. package/src/utils/navigation.ts +3 -10
  119. package/dist/components/header-navigation/header-navigation-content.d.ts +0 -30
  120. package/dist/components/header-navigation/header-navigation-content.d.ts.map +0 -1
  121. package/dist/components/header-navigation/header-navigation-content.js +0 -58
  122. package/dist/components/header-navigation/header-navigation-content.js.map +0 -1
  123. package/dist/components/header-navigation/header-navigation-extra-stacked.stories.d.ts +0 -9
  124. package/dist/components/header-navigation/header-navigation-extra-stacked.stories.d.ts.map +0 -1
  125. package/dist/components/header-navigation/header-navigation-extra.stories.d.ts +0 -12
  126. package/dist/components/header-navigation/header-navigation-extra.stories.d.ts.map +0 -1
  127. package/dist/components/header-navigation/header-navigation-links.d.ts +0 -11
  128. package/dist/components/header-navigation/header-navigation-links.d.ts.map +0 -1
  129. package/dist/components/header-navigation/header-navigation-links.js +0 -62
  130. package/dist/components/header-navigation/header-navigation-links.js.map +0 -1
  131. package/dist/components/header-navigation/header-navigation-stacked.stories.d.ts +0 -12
  132. package/dist/components/header-navigation/header-navigation-stacked.stories.d.ts.map +0 -1
  133. package/dist/components/header-navigation/header-navigation-stories.module.less +0 -6
  134. package/dist/components/header-navigation/header-navigation-stories.module.less.d.ts +0 -3
  135. package/dist/components/header-navigation/header-navigation.d.ts +0 -59
  136. package/dist/components/header-navigation/header-navigation.d.ts.map +0 -1
  137. package/dist/components/header-navigation/header-navigation.js +0 -228
  138. package/dist/components/header-navigation/header-navigation.js.map +0 -1
  139. package/dist/components/header-navigation/header-navigation.module.less +0 -260
  140. package/dist/components/header-navigation/header-navigation.module.less.d.ts +0 -22
  141. package/dist/components/header-navigation/header-navigation.stories.d.ts +0 -12
  142. package/dist/components/header-navigation/header-navigation.stories.d.ts.map +0 -1
  143. package/dist/components/header-navigation/index.d.ts +0 -2
  144. package/dist/components/header-navigation/index.d.ts.map +0 -1
  145. package/dist/components/header-navigation/index.js +0 -3
  146. package/dist/components/header-navigation/index.js.map +0 -1
  147. package/dist/components/header-navigation/with-tooltip.d.ts +0 -4
  148. package/dist/components/header-navigation/with-tooltip.d.ts.map +0 -1
  149. package/dist/components/header-navigation/with-tooltip.js +0 -10
  150. package/dist/components/header-navigation/with-tooltip.js.map +0 -1
  151. package/dist/components/layout.stories.d.ts +0 -13
  152. package/dist/components/layout.stories.d.ts.map +0 -1
  153. package/dist/components/left-navigation/header-navigation-extra-tiny.stories.d.ts +0 -9
  154. package/dist/components/left-navigation/header-navigation-extra-tiny.stories.d.ts.map +0 -1
  155. package/dist/components/left-navigation/header-navigation-tiny-links.d.ts +0 -18
  156. package/dist/components/left-navigation/header-navigation-tiny-links.d.ts.map +0 -1
  157. package/dist/components/left-navigation/header-navigation-tiny-links.js +0 -79
  158. package/dist/components/left-navigation/header-navigation-tiny-links.js.map +0 -1
  159. package/dist/components/left-navigation/header-navigation-tiny.d.ts +0 -23
  160. package/dist/components/left-navigation/header-navigation-tiny.d.ts.map +0 -1
  161. package/dist/components/left-navigation/header-navigation-tiny.js +0 -32
  162. package/dist/components/left-navigation/header-navigation-tiny.js.map +0 -1
  163. package/dist/components/left-navigation/header-navigation-tiny.module.less +0 -117
  164. package/dist/components/left-navigation/header-navigation-tiny.module.less.d.ts +0 -15
  165. package/dist/components/left-navigation/header-navigation-tiny.stories.d.ts +0 -12
  166. package/dist/components/left-navigation/header-navigation-tiny.stories.d.ts.map +0 -1
  167. package/dist/components/left-navigation/index.d.ts +0 -5
  168. package/dist/components/left-navigation/index.d.ts.map +0 -1
  169. package/dist/components/left-navigation/index.js +0 -5
  170. package/dist/components/left-navigation/index.js.map +0 -1
  171. package/dist/components/left-navigation/interface-internal.d.ts +0 -10
  172. package/dist/components/left-navigation/interface-internal.d.ts.map +0 -1
  173. package/dist/components/left-navigation/interface-internal.js +0 -3
  174. package/dist/components/left-navigation/interface-internal.js.map +0 -1
  175. package/dist/components/left-navigation/interface.d.ts +0 -20
  176. package/dist/components/left-navigation/interface.d.ts.map +0 -1
  177. package/dist/components/left-navigation/interface.js.map +0 -1
  178. package/dist/components/left-navigation/side-navigation-context.d.ts +0 -8
  179. package/dist/components/left-navigation/side-navigation-context.d.ts.map +0 -1
  180. package/dist/components/left-navigation/side-navigation-context.js +0 -8
  181. package/dist/components/left-navigation/side-navigation-context.js.map +0 -1
  182. package/dist/components/left-navigation/side-navigation-links-internal.d.ts +0 -28
  183. package/dist/components/left-navigation/side-navigation-links-internal.d.ts.map +0 -1
  184. package/dist/components/left-navigation/side-navigation-links-internal.js +0 -89
  185. package/dist/components/left-navigation/side-navigation-links-internal.js.map +0 -1
  186. package/dist/components/left-navigation/side-navigation-links.d.ts +0 -6
  187. package/dist/components/left-navigation/side-navigation-links.d.ts.map +0 -1
  188. package/dist/components/left-navigation/side-navigation-links.js +0 -48
  189. package/dist/components/left-navigation/side-navigation-links.js.map +0 -1
  190. package/dist/components/left-navigation/side-navigation.d.ts +0 -29
  191. package/dist/components/left-navigation/side-navigation.d.ts.map +0 -1
  192. package/dist/components/left-navigation/side-navigation.js +0 -411
  193. package/dist/components/left-navigation/side-navigation.js.map +0 -1
  194. package/dist/components/left-navigation/side-navigation.module.less +0 -530
  195. package/dist/components/left-navigation/side-navigation.module.less.d.ts +0 -48
  196. package/dist/components/left-navigation/side-navigation.stories.d.ts +0 -17
  197. package/dist/components/left-navigation/side-navigation.stories.d.ts.map +0 -1
  198. package/dist/components/left-navigation/with-tooltip.d.ts +0 -4
  199. package/dist/components/left-navigation/with-tooltip.d.ts.map +0 -1
  200. package/dist/components/left-navigation/with-tooltip.js +0 -15
  201. package/dist/components/left-navigation/with-tooltip.js.map +0 -1
  202. package/dist/components/links.d.ts +0 -5
  203. package/dist/components/links.d.ts.map +0 -1
  204. package/dist/components/links.js +0 -35
  205. package/dist/components/links.js.map +0 -1
  206. package/dist/components/profile-dropdown/profile-dropdown-tiny.stories.d.ts +0 -9
  207. package/dist/components/profile-dropdown/profile-dropdown-tiny.stories.d.ts.map +0 -1
  208. package/dist/components/titan-layout/layout-profile.stories.d.ts +0 -13
  209. package/dist/components/titan-layout/layout-profile.stories.d.ts.map +0 -1
  210. package/dist/components/titan-layout/titan-layout.stories.d.ts +0 -29
  211. package/dist/components/titan-layout/titan-layout.stories.d.ts.map +0 -1
  212. package/dist/utils/navigation-legacy.d.ts +0 -88
  213. package/dist/utils/navigation-legacy.d.ts.map +0 -1
  214. package/dist/utils/navigation-legacy.js +0 -3
  215. package/dist/utils/navigation-legacy.js.map +0 -1
  216. package/src/components/header-navigation/header-navigation-content.tsx +0 -120
  217. package/src/components/header-navigation/header-navigation-extra-stacked.stories.tsx +0 -19
  218. package/src/components/header-navigation/header-navigation-extra.stories.tsx +0 -142
  219. package/src/components/header-navigation/header-navigation-links.tsx +0 -141
  220. package/src/components/header-navigation/header-navigation-stacked.stories.tsx +0 -146
  221. package/src/components/header-navigation/header-navigation-stories.module.less +0 -6
  222. package/src/components/header-navigation/header-navigation-stories.module.less.d.ts +0 -3
  223. package/src/components/header-navigation/header-navigation.module.less +0 -260
  224. package/src/components/header-navigation/header-navigation.module.less.d.ts +0 -22
  225. package/src/components/header-navigation/header-navigation.stories.tsx +0 -165
  226. package/src/components/header-navigation/header-navigation.tsx +0 -327
  227. package/src/components/header-navigation/index.ts +0 -1
  228. package/src/components/header-navigation/with-tooltip.tsx +0 -15
  229. package/src/components/layout.stories.tsx +0 -103
  230. package/src/components/left-navigation/header-navigation-extra-tiny.stories.tsx +0 -21
  231. package/src/components/left-navigation/header-navigation-tiny-links.tsx +0 -145
  232. package/src/components/left-navigation/header-navigation-tiny.module.less +0 -117
  233. package/src/components/left-navigation/header-navigation-tiny.module.less.d.ts +0 -15
  234. package/src/components/left-navigation/header-navigation-tiny.stories.tsx +0 -178
  235. package/src/components/left-navigation/header-navigation-tiny.tsx +0 -65
  236. package/src/components/left-navigation/index.ts +0 -4
  237. package/src/components/left-navigation/interface-internal.ts +0 -11
  238. package/src/components/left-navigation/interface.ts +0 -26
  239. package/src/components/left-navigation/side-navigation-context.tsx +0 -13
  240. package/src/components/left-navigation/side-navigation-links-internal.tsx +0 -151
  241. package/src/components/left-navigation/side-navigation-links.tsx +0 -57
  242. package/src/components/left-navigation/side-navigation.module.less +0 -530
  243. package/src/components/left-navigation/side-navigation.module.less.d.ts +0 -48
  244. package/src/components/left-navigation/side-navigation.stories.tsx +0 -226
  245. package/src/components/left-navigation/side-navigation.tsx +0 -543
  246. package/src/components/left-navigation/with-tooltip.tsx +0 -16
  247. package/src/components/links.tsx +0 -54
  248. package/src/components/profile-dropdown/profile-dropdown-tiny.stories.tsx +0 -25
  249. package/src/components/titan-layout/layout-profile.stories.tsx +0 -46
  250. package/src/utils/navigation-legacy.ts +0 -106
  251. /package/dist/components/{left-navigation → profile-dropdown}/interface.js +0 -0
@@ -2,6 +2,18 @@
2
2
  /* stylelint-disable no-duplicate-selectors */
3
3
  @import (reference) '@servicetitan/tokens/core/tokens.less';
4
4
 
5
+ @keyframes ExtraPulseAnimation {
6
+ 0% {
7
+ opacity: 0.7;
8
+ }
9
+ 50% {
10
+ opacity: 0.5;
11
+ }
12
+ 100% {
13
+ opacity: 0;
14
+ }
15
+ }
16
+
5
17
  @size-links-tiny: 24px;
6
18
  @bg-light: @color-white;
7
19
  @bg-dark: @color-neutral-300;
@@ -225,6 +237,11 @@
225
237
  }
226
238
 
227
239
  .header-dark.header-logo-custom {
240
+ &.header-desktop .logo-short-wrapper {
241
+ background-color: @color-white;
242
+ color: @c-light;
243
+ }
244
+
228
245
  .burger .navigation-link {
229
246
  color: inherit !important;
230
247
  }
@@ -347,6 +364,25 @@
347
364
  }
348
365
  }
349
366
 
367
+ .he-top-right .navigation-item-flashing {
368
+ &::before {
369
+ content: '';
370
+ position: absolute;
371
+ animation-name: ExtraPulseAnimation;
372
+ will-change: opacity;
373
+ background-color: var(--color-neutral-60, @color-neutral-60);
374
+ animation-iteration-count: infinite;
375
+ animation-duration: 500ms;
376
+ animation-direction: alternate;
377
+ border-radius: 12px;
378
+ inset: 0;
379
+ }
380
+
381
+ &.navigation-item-active::before {
382
+ background-color: var(--color-blue-200, @color-blue-200);
383
+ }
384
+ }
385
+
350
386
  // styles specific to main nav links
351
387
  .header-navigation .navigation-link {
352
388
  font-family: @base-font-family;
@@ -1,6 +1,7 @@
1
1
  export const __esModule: true;
2
2
  export const burger: string;
3
3
  export const calculating: string;
4
+ export const extraPulseAnimation: string;
4
5
  export const heTopCenter: string;
5
6
  export const heTopRight: string;
6
7
  export const heTopRightText: string;
@@ -29,6 +30,7 @@ export const navigationIconActive: string;
29
30
  export const navigationItemActive: string;
30
31
  export const navigationItemCounter: string;
31
32
  export const navigationItemCounterLong: string;
33
+ export const navigationItemFlashing: string;
32
34
  export const navigationItemIconState: string;
33
35
  export const navigationItemLabel: string;
34
36
  export const navigationLink: string;
@@ -1,6 +1,6 @@
1
1
  import SvgBurgerMenu from '@servicetitan/anvil2/assets/icons/material/round/menu.svg';
2
2
  import classNames from 'classnames';
3
- import { ComponentPropsWithoutRef, FC, ReactElement, ReactNode } from 'react';
3
+ import { ComponentPropsWithoutRef, FC, MouseEvent, ReactElement, ReactNode } from 'react';
4
4
  import { LayoutPlacementContext } from './layout-context';
5
5
  import { LayoutHeaderNavigationTrigger } from './layout-header-links';
6
6
  import * as Styles from './layout-header.module.less';
@@ -22,7 +22,7 @@ export type LayoutHeaderProps = Omit<ComponentPropsWithoutRef<'div'>, 'children'
22
22
  isMobile: boolean;
23
23
  variant: 'light' | 'dark';
24
24
  hasNotifications: boolean;
25
- onBurgerClick?: (e: MouseEvent) => void;
25
+ onBurgerClick?: (e: MouseEvent<never>) => void;
26
26
  };
27
27
 
28
28
  export const LayoutHeader: FC<LayoutHeaderProps> = ({
@@ -2,13 +2,14 @@ import SvgAccountActive from '@servicetitan/anvil2/assets/icons/st/gnav_account_
2
2
  import SvgAccountInactive from '@servicetitan/anvil2/assets/icons/st/gnav_account_inactive.svg';
3
3
 
4
4
  import { FC, MouseEvent, useEffect, useState } from 'react';
5
- import { NavLinkComponentProps, NavigationComponentContext } from '../../utils/navigation-context';
5
+ import { NavLinkComponentProps } from '../../utils/navigation-context';
6
+ import { getCounterTag } from '../../utils/side-nav';
6
7
  import {
7
- ProfileDropdown as DesktopProfileDropdown,
8
8
  ProfileDropdownLinkProps,
9
9
  ProfileDropdownProps,
10
10
  ProfileDropdownSectionProps,
11
- } from '../profile-dropdown/profile-dropdown';
11
+ } from '../profile-dropdown/interface';
12
+ import { DesktopProfileDropdown } from '../profile-dropdown/profile-dropdown';
12
13
  import { NavigationComponentProps } from './interface-internal';
13
14
  import { useTitanLayoutContext } from './layout-context';
14
15
  import {
@@ -23,7 +24,7 @@ export type {
23
24
  ProfileDropdownProps,
24
25
  ProfileDropdownSectionProps,
25
26
  ProfileDropdownLinkProps,
26
- } from '../profile-dropdown/profile-dropdown';
27
+ } from '../profile-dropdown/interface';
27
28
 
28
29
  const ExternalNavComponent: FC<NavLinkComponentProps> = ({
29
30
  children,
@@ -37,24 +38,27 @@ const ExternalNavComponent: FC<NavLinkComponentProps> = ({
37
38
  </a>
38
39
  );
39
40
 
40
- const ProfileDropdownContent: FC<ProfileDropdownProps> = props => {
41
- const { isTitanLayout, breakpoint, NavigationComponent } = useTitanLayoutContext();
41
+ function ProfileDropdownComponent(props: ProfileDropdownProps) {
42
+ const { breakpoint, NavigationComponent } = useTitanLayoutContext();
42
43
  return breakpoint.isMobile ? (
43
44
  <MobileProfileDropdown {...props} navigationComponent={NavigationComponent} />
44
- ) : isTitanLayout ? (
45
- <NavigationComponentContext.Provider value={NavigationComponent}>
46
- <DesktopProfileDropdown {...props} />
47
- </NavigationComponentContext.Provider>
48
45
  ) : (
49
46
  <DesktopProfileDropdown {...props} />
50
47
  );
51
- };
52
- ProfileDropdownContent.displayName = 'ProfileDropdown';
48
+ }
53
49
  const profileId = '--profile';
54
50
 
55
51
  const MobileProfileDropdown: FC<ProfileDropdownProps & NavigationComponentProps> = ({
52
+ direction,
53
+ trigger,
54
+ hintPopup,
55
+ portal,
56
+ width,
57
+ onClose,
58
+ onOpen,
59
+ className,
56
60
  children,
57
- ...props
61
+ ...rest
58
62
  }) => {
59
63
  const [expanded, setExpanded] = useState(false);
60
64
  const { hasNotifications, NotificationsContextProvider } = useNotificationsState();
@@ -77,7 +81,8 @@ const MobileProfileDropdown: FC<ProfileDropdownProps & NavigationComponentProps>
77
81
  icon={SvgAccountInactive}
78
82
  iconActive={SvgAccountActive}
79
83
  isActive={expanded}
80
- {...props}
84
+ className={className}
85
+ {...rest}
81
86
  submenuExpanded={expanded}
82
87
  onExpandToggle={onExpandToggle}
83
88
  onClick={onExpandToggle}
@@ -110,71 +115,85 @@ const getText = (children: any, text: any): string | undefined => {
110
115
  return undefined;
111
116
  };
112
117
 
113
- const getTag = (
114
- tag: ProfileDropdownLinkProps['tag'],
115
- counter: ProfileDropdownLinkProps['counter']
116
- ): boolean => {
117
- return !!tag?.value || !!counter;
118
- };
119
-
120
- const ProfileDropdownSection: FC<ProfileDropdownSectionProps> = props => {
118
+ function ProfileDropdownSection(props: ProfileDropdownSectionProps) {
121
119
  const { breakpoint } = useTitanLayoutContext();
122
120
  return breakpoint.isMobile ? (
123
121
  <MobileProfileDropdownSection {...props} />
124
122
  ) : (
125
123
  <DesktopProfileDropdown.Section {...props} />
126
124
  );
127
- };
125
+ }
128
126
  const MobileProfileDropdownSection: FC<ProfileDropdownSectionProps> = ({
127
+ id,
128
+ tooltip,
129
+ tag,
130
+ counter,
131
+
132
+ className,
129
133
  children,
130
134
  text,
131
- tooltip,
132
- title,
133
- ...props
135
+ ...rest
134
136
  }) => {
135
137
  const sectionText = getText(children, text);
136
138
  const { onNotificationsUpdate } = useNotificationsContext();
137
- onNotificationsUpdate(props.id, getTag(props.tag, props.counter));
139
+ const tagData = getCounterTag(counter, tag);
140
+ onNotificationsUpdate(id, !!tagData);
138
141
 
139
142
  return sectionText ? (
140
- <InternalSideNavigationGroupTrigger {...props} title={sectionText} />
143
+ <InternalSideNavigationGroupTrigger
144
+ {...rest}
145
+ id={id}
146
+ title={sectionText}
147
+ isActive={undefined}
148
+ tag={tagData}
149
+ className={className}
150
+ />
141
151
  ) : null;
142
152
  };
143
153
 
144
- const ProfileDropdownLink: FC<ProfileDropdownLinkProps> = props => {
154
+ function ProfileDropdownLink(props: ProfileDropdownLinkProps) {
145
155
  const { breakpoint, NavigationComponent } = useTitanLayoutContext();
146
156
  return breakpoint.isMobile ? (
147
157
  <MobileProfileDropdownLink {...props} navigationComponent={NavigationComponent} />
148
158
  ) : (
149
159
  <DesktopProfileDropdown.Link {...props} />
150
160
  );
151
- };
161
+ }
152
162
  const MobileProfileDropdownLink: FC<ProfileDropdownLinkProps & NavigationComponentProps> = ({
163
+ id,
153
164
  external,
154
165
  to,
155
166
  tooltip,
156
167
  text,
157
168
  children,
169
+ className,
158
170
  navigationComponent,
159
- ...props
171
+ tag,
172
+ counter,
173
+ ...rest
160
174
  }) => {
161
175
  const { onNotificationsUpdate } = useNotificationsContext();
162
176
  const linkText = getText(children, text);
163
177
  const isExternalLink = external ?? to?.startsWith('http');
164
- onNotificationsUpdate(props.id, getTag(props.tag, props.counter));
178
+ const tagData = getCounterTag(counter, tag);
179
+ onNotificationsUpdate(id, !!tagData);
165
180
 
166
181
  return linkText ? (
167
182
  <InternalSideNavigationGroupLink
168
- {...props}
183
+ {...rest}
184
+ id={id}
169
185
  to={to}
170
186
  title={linkText}
187
+ isActive={undefined}
188
+ className={className}
189
+ tag={tagData}
171
190
  parentId={profileId}
172
191
  navigationComponent={isExternalLink ? ExternalNavComponent : navigationComponent}
173
192
  />
174
193
  ) : null;
175
194
  };
176
195
 
177
- export const ProfileDropdown = Object.assign(ProfileDropdownContent, {
196
+ export const ProfileDropdown = Object.assign(ProfileDropdownComponent, {
178
197
  Divider: ProfileDropdownDivider,
179
198
  Link: ProfileDropdownLink,
180
199
  Section: ProfileDropdownSection,