@servicetitan/navigation 10.7.0 → 11.0.0-canary.237.0a4df1d.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 (162) hide show
  1. package/dist/components/badge-tag.d.ts +1 -1
  2. package/dist/components/badge-tag.d.ts.map +1 -1
  3. package/dist/components/header-navigation/header-navigation-extra.stories.d.ts.map +1 -1
  4. package/dist/components/header-navigation/header-navigation-extra.stories.js +5 -5
  5. package/dist/components/header-navigation/header-navigation-extra.stories.js.map +1 -1
  6. package/dist/components/header-navigation/header-navigation-links.d.ts.map +1 -1
  7. package/dist/components/header-navigation/header-navigation-links.js +2 -2
  8. package/dist/components/header-navigation/header-navigation-links.js.map +1 -1
  9. package/dist/components/header-navigation/header-navigation-stacked.stories.d.ts.map +1 -1
  10. package/dist/components/header-navigation/header-navigation-stacked.stories.js +1 -1
  11. package/dist/components/header-navigation/header-navigation-stacked.stories.js.map +1 -1
  12. package/dist/components/header-navigation/header-navigation.stories.d.ts.map +1 -1
  13. package/dist/components/header-navigation/header-navigation.stories.js +2 -2
  14. package/dist/components/header-navigation/header-navigation.stories.js.map +1 -1
  15. package/dist/components/header-navigation/with-tooltip.d.ts +1 -1
  16. package/dist/components/header-navigation/with-tooltip.d.ts.map +1 -1
  17. package/dist/components/left-navigation/header-navigation-tiny.stories.d.ts.map +1 -1
  18. package/dist/components/left-navigation/header-navigation-tiny.stories.js +2 -2
  19. package/dist/components/left-navigation/header-navigation-tiny.stories.js.map +1 -1
  20. package/dist/components/links.d.ts.map +1 -1
  21. package/dist/components/links.js +7 -7
  22. package/dist/components/links.js.map +1 -1
  23. package/dist/components/logo/logo-company-title.d.ts +1 -0
  24. package/dist/components/logo/logo-company-title.d.ts.map +1 -1
  25. package/dist/components/logo/logo-company-title.js +2 -2
  26. package/dist/components/logo/logo-company-title.js.map +1 -1
  27. package/dist/components/logo/logo-titan-text.d.ts +1 -1
  28. package/dist/components/logo/logo-titan-text.d.ts.map +1 -1
  29. package/dist/components/profile-dropdown/profile-dropdown.d.ts +17 -9
  30. package/dist/components/profile-dropdown/profile-dropdown.d.ts.map +1 -1
  31. package/dist/components/profile-dropdown/profile-dropdown.js +11 -9
  32. package/dist/components/profile-dropdown/profile-dropdown.js.map +1 -1
  33. package/dist/components/profile-dropdown/profile-dropdown.module.less +24 -6
  34. package/dist/components/profile-dropdown/profile-dropdown.stories.js +2 -2
  35. package/dist/components/profile-dropdown/profile-dropdown.stories.js.map +1 -1
  36. package/dist/components/titan-layout/index.d.ts +6 -0
  37. package/dist/components/titan-layout/index.d.ts.map +1 -0
  38. package/dist/components/titan-layout/index.js +6 -0
  39. package/dist/components/titan-layout/index.js.map +1 -0
  40. package/dist/components/titan-layout/interface-internal.d.ts +6 -0
  41. package/dist/components/titan-layout/interface-internal.d.ts.map +1 -0
  42. package/dist/components/titan-layout/interface-internal.js +2 -0
  43. package/dist/components/titan-layout/interface-internal.js.map +1 -0
  44. package/dist/components/titan-layout/interface.d.ts +21 -0
  45. package/dist/components/titan-layout/interface.d.ts.map +1 -0
  46. package/dist/components/titan-layout/interface.js +2 -0
  47. package/dist/components/titan-layout/interface.js.map +1 -0
  48. package/dist/components/titan-layout/layout-context.d.ts +20 -0
  49. package/dist/components/titan-layout/layout-context.d.ts.map +1 -0
  50. package/dist/components/titan-layout/layout-context.js +12 -0
  51. package/dist/components/titan-layout/layout-context.js.map +1 -0
  52. package/dist/components/titan-layout/layout-header-links.d.ts +7 -0
  53. package/dist/components/titan-layout/layout-header-links.d.ts.map +1 -0
  54. package/dist/components/titan-layout/layout-header-links.js +32 -0
  55. package/dist/components/titan-layout/layout-header-links.js.map +1 -0
  56. package/dist/components/titan-layout/layout-header.d.ts +22 -0
  57. package/dist/components/titan-layout/layout-header.d.ts.map +1 -0
  58. package/dist/components/titan-layout/layout-header.js +10 -0
  59. package/dist/components/titan-layout/layout-header.js.map +1 -0
  60. package/dist/components/titan-layout/layout-header.module.less +193 -0
  61. package/dist/components/titan-layout/layout-logo.d.ts +12 -0
  62. package/dist/components/titan-layout/layout-logo.d.ts.map +1 -0
  63. package/dist/components/titan-layout/layout-logo.js +16 -0
  64. package/dist/components/titan-layout/layout-logo.js.map +1 -0
  65. package/dist/components/titan-layout/layout-logo.stories.d.ts +13 -0
  66. package/dist/components/titan-layout/layout-logo.stories.d.ts.map +1 -0
  67. package/dist/components/titan-layout/layout-logo.stories.js +17 -0
  68. package/dist/components/titan-layout/layout-logo.stories.js.map +1 -0
  69. package/dist/components/titan-layout/layout-profile.d.ts +9 -0
  70. package/dist/components/titan-layout/layout-profile.d.ts.map +1 -0
  71. package/dist/components/titan-layout/layout-profile.js +72 -0
  72. package/dist/components/titan-layout/layout-profile.js.map +1 -0
  73. package/dist/components/titan-layout/layout-profile.stories.d.ts +13 -0
  74. package/dist/components/titan-layout/layout-profile.stories.d.ts.map +1 -0
  75. package/dist/components/titan-layout/layout-profile.stories.js +13 -0
  76. package/dist/components/titan-layout/layout-profile.stories.js.map +1 -0
  77. package/dist/components/titan-layout/layout-sidebar-links-internal.d.ts +46 -0
  78. package/dist/components/titan-layout/layout-sidebar-links-internal.d.ts.map +1 -0
  79. package/dist/components/titan-layout/layout-sidebar-links-internal.js +61 -0
  80. package/dist/components/titan-layout/layout-sidebar-links-internal.js.map +1 -0
  81. package/dist/components/titan-layout/layout-sidebar-links.d.ts +6 -0
  82. package/dist/components/titan-layout/layout-sidebar-links.d.ts.map +1 -0
  83. package/dist/components/titan-layout/layout-sidebar-links.js +28 -0
  84. package/dist/components/titan-layout/layout-sidebar-links.js.map +1 -0
  85. package/dist/components/titan-layout/layout-sidebar.d.ts +19 -0
  86. package/dist/components/titan-layout/layout-sidebar.d.ts.map +1 -0
  87. package/dist/components/titan-layout/layout-sidebar.js +67 -0
  88. package/dist/components/titan-layout/layout-sidebar.js.map +1 -0
  89. package/dist/components/titan-layout/layout-sidebar.module.less +536 -0
  90. package/dist/components/titan-layout/notifications-context.d.ts +13 -0
  91. package/dist/components/titan-layout/notifications-context.d.ts.map +1 -0
  92. package/dist/components/titan-layout/notifications-context.js +23 -0
  93. package/dist/components/titan-layout/notifications-context.js.map +1 -0
  94. package/dist/components/titan-layout/titan-layout.d.ts +40 -0
  95. package/dist/components/titan-layout/titan-layout.d.ts.map +1 -0
  96. package/dist/components/titan-layout/titan-layout.js +192 -0
  97. package/dist/components/titan-layout/titan-layout.js.map +1 -0
  98. package/dist/components/titan-layout/titan-layout.module.less +106 -0
  99. package/dist/components/titan-layout/titan-layout.stories.d.ts +22 -0
  100. package/dist/components/titan-layout/titan-layout.stories.d.ts.map +1 -0
  101. package/dist/components/titan-layout/titan-layout.stories.js +83 -0
  102. package/dist/components/titan-layout/titan-layout.stories.js.map +1 -0
  103. package/dist/components/titan-layout/with-tooltip.d.ts +4 -0
  104. package/dist/components/titan-layout/with-tooltip.d.ts.map +1 -0
  105. package/dist/components/titan-layout/with-tooltip.js +4 -0
  106. package/dist/components/titan-layout/with-tooltip.js.map +1 -0
  107. package/dist/index.d.ts +2 -1
  108. package/dist/index.d.ts.map +1 -1
  109. package/dist/index.js +2 -1
  110. package/dist/index.js.map +1 -1
  111. package/dist/test/data.d.ts +4 -1
  112. package/dist/test/data.d.ts.map +1 -1
  113. package/dist/test/data.js +5 -6
  114. package/dist/test/data.js.map +1 -1
  115. package/dist/utils/navigation-legacy.d.ts +3 -1
  116. package/dist/utils/navigation-legacy.d.ts.map +1 -1
  117. package/dist/utils/use-breakpoint.d.ts +8 -0
  118. package/dist/utils/use-breakpoint.d.ts.map +1 -0
  119. package/dist/utils/use-breakpoint.js +14 -0
  120. package/dist/utils/use-breakpoint.js.map +1 -0
  121. package/package.json +5 -6
  122. package/src/components/badge-tag.tsx +1 -1
  123. package/src/components/header-navigation/header-navigation-extra.stories.tsx +7 -0
  124. package/src/components/header-navigation/header-navigation-links.tsx +2 -0
  125. package/src/components/header-navigation/header-navigation-stacked.stories.tsx +5 -1
  126. package/src/components/header-navigation/header-navigation.stories.tsx +6 -1
  127. package/src/components/left-navigation/header-navigation-tiny.stories.tsx +8 -2
  128. package/src/components/left-navigation/side-navigation-links.tsx +1 -1
  129. package/src/components/links.tsx +33 -13
  130. package/src/components/logo/logo-company-title.tsx +8 -6
  131. package/src/components/logo/logo-titan-text.tsx +1 -1
  132. package/src/components/profile-dropdown/profile-dropdown.module.less +24 -6
  133. package/src/components/profile-dropdown/profile-dropdown.module.less.d.ts +2 -0
  134. package/src/components/profile-dropdown/profile-dropdown.stories.tsx +4 -4
  135. package/src/components/profile-dropdown/profile-dropdown.tsx +87 -55
  136. package/src/components/titan-layout/index.ts +5 -0
  137. package/src/components/titan-layout/interface-internal.ts +6 -0
  138. package/src/components/titan-layout/interface.ts +26 -0
  139. package/src/components/titan-layout/layout-context.tsx +30 -0
  140. package/src/components/titan-layout/layout-header-links.tsx +145 -0
  141. package/src/components/titan-layout/layout-header.module.less +193 -0
  142. package/src/components/titan-layout/layout-header.module.less.d.ts +18 -0
  143. package/src/components/titan-layout/layout-header.tsx +97 -0
  144. package/src/components/titan-layout/layout-logo.stories.tsx +31 -0
  145. package/src/components/titan-layout/layout-logo.tsx +64 -0
  146. package/src/components/titan-layout/layout-profile.stories.tsx +46 -0
  147. package/src/components/titan-layout/layout-profile.tsx +180 -0
  148. package/src/components/titan-layout/layout-sidebar-links-internal.tsx +278 -0
  149. package/src/components/titan-layout/layout-sidebar-links.tsx +72 -0
  150. package/src/components/titan-layout/layout-sidebar.module.less +536 -0
  151. package/src/components/titan-layout/layout-sidebar.module.less.d.ts +49 -0
  152. package/src/components/titan-layout/layout-sidebar.tsx +304 -0
  153. package/src/components/titan-layout/notifications-context.tsx +44 -0
  154. package/src/components/titan-layout/titan-layout.module.less +106 -0
  155. package/src/components/titan-layout/titan-layout.module.less.d.ts +16 -0
  156. package/src/components/titan-layout/titan-layout.stories.tsx +346 -0
  157. package/src/components/titan-layout/titan-layout.tsx +457 -0
  158. package/src/components/titan-layout/with-tooltip.tsx +16 -0
  159. package/src/index.ts +2 -1
  160. package/src/test/data.tsx +5 -5
  161. package/src/utils/navigation-legacy.ts +3 -1
  162. package/src/utils/use-breakpoint.ts +21 -0
@@ -0,0 +1,72 @@
1
+ import { FC, ReactElement } from 'react';
2
+ import { getCounterTag } from '../../utils/side-nav';
3
+ import { TitanLayoutSidebarLinkProps, TitanLayoutSidebarTriggerProps } from './interface';
4
+ import { useTitanLayoutContext } from './layout-context';
5
+ import {
6
+ InternalSideNavigationLink,
7
+ InternalSideNavigationTrigger,
8
+ } from './layout-sidebar-links-internal';
9
+ import { useNotificationsContext } from './notifications-context';
10
+
11
+ const WrappedLink: FC<{
12
+ children: ReactElement<any>;
13
+ wrapper: NonNullable<TitanLayoutSidebarLinkProps['wrapper']>;
14
+ }> = ({ children, wrapper: WrapperComponent }) => {
15
+ const { sidebar } = useTitanLayoutContext();
16
+ return <WrapperComponent context={sidebar}>{children}</WrapperComponent>;
17
+ };
18
+
19
+ /** Side Navigation menu link */
20
+ export function TitanLayoutSidebarLink({ wrapper, ...props }: TitanLayoutSidebarLinkProps) {
21
+ const {
22
+ NavigationComponent,
23
+ breakpoint: { isMobile },
24
+ } = useTitanLayoutContext();
25
+ const { onNotificationsUpdate } = useNotificationsContext();
26
+ const tag = getCounterTag(props.counter, props.tag);
27
+
28
+ onNotificationsUpdate(props.id, !!tag);
29
+
30
+ const element = (
31
+ <InternalSideNavigationLink
32
+ {...props}
33
+ navigationComponent={NavigationComponent}
34
+ submenuExpanded={undefined}
35
+ dataPrefix="navigation-link"
36
+ tag={tag}
37
+ />
38
+ );
39
+
40
+ return wrapper && !isMobile ? <WrappedLink wrapper={wrapper}>{element}</WrappedLink> : element;
41
+ }
42
+
43
+ /** Side Navigation menu trigger */
44
+ export function TitanLayoutSidebarTrigger({
45
+ wrapper,
46
+ onMobileClick,
47
+ onClick,
48
+ ...props
49
+ }: TitanLayoutSidebarTriggerProps) {
50
+ const {
51
+ breakpoint: { isMobile },
52
+ } = useTitanLayoutContext();
53
+ const { onNotificationsUpdate } = useNotificationsContext();
54
+ const tag = getCounterTag(props.counter, props.tag);
55
+
56
+ onNotificationsUpdate(props.id, !!tag);
57
+
58
+ const element = (
59
+ <InternalSideNavigationTrigger
60
+ {...props}
61
+ submenuExpanded={undefined}
62
+ dataPrefix="navigation-trigger"
63
+ tag={tag}
64
+ onClick={isMobile && !!onMobileClick ? onMobileClick : onClick}
65
+ />
66
+ );
67
+ return wrapper && (!isMobile || !onMobileClick) ? (
68
+ <WrappedLink wrapper={wrapper}>{element}</WrappedLink>
69
+ ) : (
70
+ element
71
+ );
72
+ }
@@ -0,0 +1,536 @@
1
+ /* stylelint-disable no-descending-specificity */
2
+ @import (reference) '@servicetitan/tokens/core/tokens.less';
3
+
4
+ @text-color: var(--colorsTextInverted, @color-white);
5
+ @text-color-active: var(--colorsTextPrimarySubdued, @color-blue-300);
6
+ @border-color: var(--colorsTextOnGrey, @color-neutral-200);
7
+ @bg-color: #0f1d26;
8
+ @bg-color-hover: rgba(255, 255, 255, 0.08);
9
+ @bg-color-active: rgba(120, 187, 250, 0.2);
10
+
11
+ .nav {
12
+ background-color: @bg-color;
13
+ display: flex;
14
+ flex-direction: column;
15
+ align-items: stretch;
16
+ }
17
+
18
+ // mobile version
19
+ .nav-drawer {
20
+ // display: none;
21
+ position: fixed;
22
+ max-width: 400px;
23
+ width: 0;
24
+ height: 100vh;
25
+ top: 0;
26
+ left: -100vh;
27
+ z-index: 991;
28
+
29
+ -webkit-transition: width 200ms ease-in-out;
30
+ -moz-transition: width 200ms ease-in-out;
31
+ -o-transition: width 200ms ease-in-out;
32
+ transition: width 200ms ease-in-out;
33
+
34
+ .nav-main {
35
+ padding-left: @spacing-2;
36
+ padding-right: @spacing-2;
37
+ }
38
+ .nav-close-wrapper {
39
+ display: flex;
40
+ justify-content: flex-end;
41
+ margin-right: -@spacing-2;
42
+
43
+ .nav-close {
44
+ padding-top: @spacing-2;
45
+ padding-left: @spacing-2;
46
+ padding-right: @spacing-2;
47
+ cursor: pointer;
48
+ }
49
+ }
50
+
51
+ .nav-item {
52
+ margin-bottom: @spacing-half;
53
+ }
54
+ .nav-top {
55
+ margin-bottom: @spacing-half;
56
+ }
57
+ .nav-bottom {
58
+ .divider {
59
+ margin-bottom: @spacing-half;
60
+ }
61
+ }
62
+
63
+ .submenu {
64
+ .submenu-item {
65
+ margin-bottom: @spacing-half;
66
+ }
67
+ }
68
+ }
69
+
70
+ .nav-drawer-backdrop {
71
+ position: fixed;
72
+ height: 100vh;
73
+ width: 100vw;
74
+ top: 0;
75
+ left: 0;
76
+ z-index: 991;
77
+ background-color: rgba(0, 0, 0, 0.5);
78
+ }
79
+
80
+ // mobile version opened
81
+ .nav-drawer-opened {
82
+ display: flex;
83
+ width: 90vw;
84
+ left: 0;
85
+ }
86
+
87
+ @media only screen and (min-width: 361px) {
88
+ width: 85vw;
89
+ }
90
+ @media only screen and (min-width: 481px) {
91
+ width: 80vw;
92
+ }
93
+
94
+ // desktop version collapsed
95
+ .nav-slim {
96
+ width: 64px;
97
+
98
+ .toggle {
99
+ width: 64px;
100
+ margin-top: @spacing-1;
101
+ margin-bottom: 12px;
102
+ display: flex;
103
+ justify-content: center;
104
+
105
+ .toggle-icon-wrapper {
106
+ padding-left: @spacing-half;
107
+ padding-right: @spacing-half;
108
+ }
109
+ }
110
+
111
+ .nav-item {
112
+ flex-direction: column;
113
+ width: 64px;
114
+ overflow-x: hidden;
115
+ padding-top: @spacing-1;
116
+
117
+ &:not(:first-child) {
118
+ margin-top: @spacing-half;
119
+ }
120
+
121
+ .nav-item-counter[data-anv][data-anv] {
122
+ position: absolute;
123
+ right: 0;
124
+ top: 4px;
125
+ z-index: auto;
126
+
127
+ &.nav-item-counter-long {
128
+ right: 2px;
129
+ }
130
+ }
131
+
132
+ .nav-item-icon-wrapper {
133
+ flex: 1;
134
+ padding: @spacing-half;
135
+ }
136
+
137
+ .nav-item-text-expanded {
138
+ display: none;
139
+ }
140
+ .nav-item-text-collapsed {
141
+ font-family: @base-font-family;
142
+ font-size: 11px;
143
+ line-height: 11px;
144
+ margin: 2px @spacing-half @spacing-0;
145
+ text-align: center;
146
+ }
147
+
148
+ .nav-item-text-collapsed.nav-item-text-small {
149
+ font-size: 10.5px;
150
+ }
151
+ }
152
+
153
+ .nav-top .divider {
154
+ margin-top: @spacing-1;
155
+ }
156
+ }
157
+
158
+ // desktop version expanded
159
+ .nav-wide {
160
+ width: var(--nav-offset-left);
161
+
162
+ .nav-item {
163
+ margin-left: @spacing-1;
164
+ margin-right: @spacing-1;
165
+ }
166
+
167
+ .toggle {
168
+ .toggle-content {
169
+ margin: @spacing-2;
170
+
171
+ .toggle-icon-wrapper {
172
+ padding-left: @spacing-half;
173
+ padding-right: @spacing-half;
174
+ }
175
+
176
+ .toggle-text {
177
+ padding-left: @spacing-0 !important;
178
+ }
179
+ }
180
+ }
181
+
182
+ .nav-top .divider {
183
+ margin-top: @spacing-1;
184
+ margin-bottom: @spacing-1;
185
+ }
186
+
187
+ .nav-main {
188
+ padding-top: @spacing-1;
189
+ }
190
+ }
191
+
192
+ .nav-drawer,
193
+ .nav-wide {
194
+ .nav-item {
195
+ flex-direction: row;
196
+
197
+ .nav-item-icon-wrapper {
198
+ flex: 1;
199
+ padding: @spacing-1 @spacing-half;
200
+ }
201
+
202
+ .nav-item-text-expanded {
203
+ font-family: @base-font-family;
204
+ font-size: @typescale-3;
205
+ padding-left: @spacing-1;
206
+ flex: 1;
207
+ }
208
+
209
+ .nav-item-text-collapsed {
210
+ display: none;
211
+ }
212
+
213
+ .nav-item-counter[data-anv][data-anv] {
214
+ margin-right: @spacing-1;
215
+ position: relative;
216
+ transform: unset;
217
+ }
218
+ }
219
+ }
220
+ .divider {
221
+ border-top: 1px solid @border-color;
222
+ }
223
+
224
+ .nav-main {
225
+ position: relative;
226
+ overflow-y: auto;
227
+ padding-bottom: @spacing-1;
228
+ flex-grow: 1;
229
+ flex-basis: 0;
230
+
231
+ &::-webkit-scrollbar {
232
+ width: 0;
233
+ height: 0;
234
+ }
235
+ }
236
+
237
+ .nav-top {
238
+ display: flex;
239
+ flex-direction: column;
240
+ align-items: stretch;
241
+ }
242
+
243
+ .nav-bottom {
244
+ display: flex;
245
+ flex-direction: column;
246
+ }
247
+
248
+ .nav-footer {
249
+ display: flex;
250
+ flex-direction: column;
251
+ align-items: stretch;
252
+ background-color: @bg-color;
253
+
254
+ .toggle-wrapper {
255
+ display: block;
256
+
257
+ .toggle {
258
+ font-family: @base-font-family;
259
+ color: @text-color;
260
+ position: relative;
261
+ cursor: pointer;
262
+ outline: none;
263
+
264
+ &:hover {
265
+ .toggle-content {
266
+ background-color: @bg-color-hover;
267
+ }
268
+ }
269
+
270
+ .toggle-content {
271
+ display: flex;
272
+ justify-content: flex-start;
273
+ align-items: center;
274
+ flex-wrap: nowrap;
275
+ text-wrap: nowrap;
276
+ height: 32px;
277
+
278
+ border-radius: @border-radius-2;
279
+ }
280
+
281
+ .toggle-icon-wrapper {
282
+ height: 24px;
283
+ width: 24px;
284
+
285
+ .toggle-icon[data-anv][data-anv] > svg {
286
+ height: 24px;
287
+ width: 24px;
288
+ color: @text-color;
289
+ }
290
+ }
291
+
292
+ .toggle-text {
293
+ font-family: @base-font-family;
294
+ font-size: @typescale-3;
295
+ flex: 1;
296
+ }
297
+ }
298
+ }
299
+ }
300
+
301
+ .nav-item {
302
+ font-family: @base-font-family;
303
+ color: @text-color;
304
+ position: relative;
305
+ display: flex;
306
+ flex-direction: row;
307
+ justify-content: flex-start;
308
+ align-items: center;
309
+ outline: none;
310
+ overflow: hidden;
311
+
312
+ .nav-item-icon-wrapper {
313
+ border-radius: @border-radius-2;
314
+ display: flex;
315
+ justify-content: flex-start;
316
+ align-items: center;
317
+ flex-wrap: nowrap;
318
+ text-wrap: nowrap;
319
+ position: relative;
320
+ }
321
+
322
+ &.nav-item-active {
323
+ color: @text-color-active;
324
+
325
+ .nav-item-icon-wrapper {
326
+ background-color: @bg-color-active;
327
+ }
328
+ }
329
+
330
+ &.nav-item-icon-switch {
331
+ &.nav-item-active {
332
+ .nav-icon-inactive[data-anv][data-anv] {
333
+ display: none;
334
+ }
335
+ .nav-icon-active[data-anv][data-anv] {
336
+ display: block;
337
+ }
338
+ }
339
+ &:not(.nav-item-active) {
340
+ .nav-icon-inactive[data-anv][data-anv] {
341
+ display: block;
342
+ }
343
+ .nav-icon-active[data-anv][data-anv] {
344
+ display: none;
345
+ }
346
+ }
347
+ }
348
+
349
+ .nav-item-counter {
350
+ min-width: 12px !important;
351
+ min-height: 12px !important;
352
+ }
353
+
354
+ .nav-item-group-toggle-wrapper {
355
+ position: relative;
356
+ display: flex;
357
+ justify-content: center;
358
+ align-items: center;
359
+
360
+ .nav-item-group-toggle[data-anv][data-anv] {
361
+ color: inherit;
362
+ font-weight: @font-weight-semibold;
363
+ }
364
+
365
+ .nav-item-group-toggle-click {
366
+ position: absolute;
367
+ left: -@spacing-2;
368
+ right: -@spacing-half;
369
+ top: -@spacing-1;
370
+ bottom: -@spacing-1;
371
+ }
372
+ }
373
+
374
+ .nav-icon[data-anv][data-anv] {
375
+ height: 24px;
376
+ width: 24px;
377
+ color: inherit;
378
+
379
+ & > svg {
380
+ height: 24px;
381
+ width: 24px;
382
+ }
383
+ }
384
+ }
385
+
386
+ .nav-link {
387
+ cursor: pointer;
388
+
389
+ &:hover:not(.nav-item-active) .nav-item-icon-wrapper {
390
+ background-color: @bg-color-hover;
391
+ }
392
+ }
393
+ .nav-group-wrapper {
394
+ .nav-group-item {
395
+ position: relative;
396
+ }
397
+
398
+ .submenu-wrapper:not(.submenu-wrapper-collapsed) {
399
+ max-height: 2000px;
400
+ transition: max-height 0.7s ease-in-out;
401
+ }
402
+ }
403
+
404
+ .submenu-wrapper {
405
+ max-height: 0;
406
+ overflow: hidden;
407
+ transition: max-height unset;
408
+ }
409
+
410
+ .submenu {
411
+ margin-left: @spacing-3;
412
+
413
+ padding-left: @spacing-1;
414
+ padding-right: @spacing-1;
415
+ margin-bottom: @spacing-1;
416
+ position: relative;
417
+ font-family: @base-font-family;
418
+
419
+ .submenu-group-header[data-anv][data-anv] {
420
+ padding-top: @spacing-2;
421
+ padding-bottom: @spacing-half;
422
+ }
423
+ .submenu-group-header.submenu-group-header-empty[data-anv][data-anv] {
424
+ padding-top: @spacing-1;
425
+ }
426
+
427
+ .submenu-item {
428
+ padding: @spacing-1;
429
+ }
430
+
431
+ .submenu-link-active {
432
+ position: relative;
433
+ }
434
+
435
+ .submenu-link-active:before {
436
+ content: '';
437
+ position: absolute;
438
+ background-color: @text-color-active;
439
+ width: 3px;
440
+ top: @spacing-1;
441
+ bottom: @spacing-1;
442
+ left: -12px;
443
+ }
444
+
445
+ .submenu-item:before:not(.submenu-link-active) {
446
+ background-color: @bg-color-hover;
447
+ }
448
+
449
+ .divider + .divider {
450
+ display: none;
451
+ }
452
+
453
+ .divider:last-child {
454
+ display: none;
455
+ }
456
+
457
+ > *,
458
+ > *[data-anv][data-anv] {
459
+ border-left: 3px solid transparent;
460
+ padding-left: @spacing-1;
461
+ }
462
+
463
+ > *:last-child {
464
+ margin-bottom: @spacing-0;
465
+ }
466
+ }
467
+
468
+ .submenu-popover {
469
+ margin-left: -@spacing-1;
470
+ margin-right: -@spacing-1;
471
+ min-width: 240px;
472
+
473
+ .submenu-group-header[data-anv][data-anv] {
474
+ margin-top: @spacing-2;
475
+ padding-bottom: @spacing-half;
476
+ }
477
+
478
+ .submenu-group-header.submenu-group-header-empty[data-anv][data-anv] {
479
+ margin-top: @spacing-1;
480
+ }
481
+
482
+ .submenu-item {
483
+ padding-top: @spacing-1;
484
+ padding-bottom: @spacing-1;
485
+ }
486
+
487
+ .submenu-link-active {
488
+ background-color: @bg-color-active;
489
+ }
490
+ .submenu-link:hover:not(.submenu-link-active) {
491
+ background-color: @bg-color-hover;
492
+ }
493
+
494
+ > *,
495
+ > *[data-anv][data-anv] {
496
+ padding-left: @spacing-1;
497
+ padding-right: @spacing-1;
498
+ }
499
+ }
500
+
501
+ .submenu,
502
+ .submenu-popover {
503
+ display: flex;
504
+ flex-direction: column;
505
+
506
+ .submenu-group-header[data-anv][data-anv] {
507
+ color: @color-neutral-70;
508
+ }
509
+
510
+ .submenu-item {
511
+ color: @text-color;
512
+ font-size: @typescale-2;
513
+ border-radius: @border-radius-2;
514
+ display: flex;
515
+ flex-direction: row;
516
+ justify-content: space-between;
517
+ align-items: center;
518
+ }
519
+
520
+ .submenu-link {
521
+ cursor: pointer;
522
+ }
523
+
524
+ .submenu-link-active {
525
+ color: @text-color-active;
526
+ }
527
+
528
+ .submenu-link-counter {
529
+ position: relative !important;
530
+ transform: unset !important;
531
+ }
532
+
533
+ .submenu-link:hover:not(.submenu-link-active) {
534
+ background-color: @bg-color-hover;
535
+ }
536
+ }
@@ -0,0 +1,49 @@
1
+ export const __esModule: true;
2
+ export const divider: string;
3
+ export const nav: string;
4
+ export const navBottom: string;
5
+ export const navClose: string;
6
+ export const navCloseWrapper: string;
7
+ export const navDrawer: string;
8
+ export const navDrawerBackdrop: string;
9
+ export const navDrawerOpened: string;
10
+ export const navFooter: string;
11
+ export const navGroupItem: string;
12
+ export const navGroupWrapper: string;
13
+ export const navIcon: string;
14
+ export const navIconActive: string;
15
+ export const navIconInactive: string;
16
+ export const navItem: string;
17
+ export const navItemActive: string;
18
+ export const navItemCounter: string;
19
+ export const navItemCounterLong: string;
20
+ export const navItemGroupToggle: string;
21
+ export const navItemGroupToggleClick: string;
22
+ export const navItemGroupToggleWrapper: string;
23
+ export const navItemIconSwitch: string;
24
+ export const navItemIconWrapper: string;
25
+ export const navItemTextCollapsed: string;
26
+ export const navItemTextExpanded: string;
27
+ export const navItemTextSmall: string;
28
+ export const navLink: string;
29
+ export const navMain: string;
30
+ export const navSlim: string;
31
+ export const navTop: string;
32
+ export const navWide: string;
33
+ export const submenu: string;
34
+ export const submenuGroupHeader: string;
35
+ export const submenuGroupHeaderEmpty: string;
36
+ export const submenuItem: string;
37
+ export const submenuLink: string;
38
+ export const submenuLinkActive: string;
39
+ export const submenuLinkCounter: string;
40
+ export const submenuPopover: string;
41
+ export const submenuWrapper: string;
42
+ export const submenuWrapperCollapsed: string;
43
+ export const toggle: string;
44
+ export const toggleContent: string;
45
+ export const toggleIcon: string;
46
+ export const toggleIconWrapper: string;
47
+ export const toggleText: string;
48
+ export const toggleWrapper: string;
49
+